Hacker News new | past | comments | ask | show | jobs | submit login

What a nice job this person did.

Coincidentially I'm working on something similar at the moment only with an order of complexity that is several magnitudes larger than the one on display here (39000 different shapes, several 10's of possible colors). But my contraption doesn't nearly look as nice as this one and definitely is not ready for any kind of production.

I've been working on this for the last two years or so, it has just about every bit of my skills exercised (optical, mechanical, software, electronics) and every time there is a minor breakthrough I feel like throwing a party.

Likely this piece of gear will never see the light of day in a commercial setting but it's the most fun I've had in a long long time.

Disillusioned with web programming (security really spoiled the fun I used to have making web stuff) I figured I should do something that will make programming fun again and at least on that count I have succeeded.

And on another note, I've gained a lot of respect for the visual cortex and it's preprocessing capabilities.




> [...] and every time there is a minor breakthrough I feel like throwing a party

Yes!

It's become a deliberate strategy of mine to set the subgoal complexity in my personal projects such that I get a small "yes! it works!"-rush about once per week or so. It's what keeps me going on larger projects, even if occasionally some part takes longer to do.


Just remember that the moment you stick an Ethernet port or WiFi connection on it, security becomes just as important again.


Networking this particular device is useless so not planning on that, but yes, you're 100% right. Many producers of SCADA stuff and industrial controllers that worked just fine as long as they were isolated have found this out the hard way over the last couple of years. And I don't doubt that there are many still to come, insecure protocols, world-open ports whose only protection is that probably nobody knows what sits behind that port.


If you can share: what are you working on, out of interest?


Sorting large volumes of Lego ... call me crazy :) (several metric tons worth)


I was hoping it was Lego sorting! Every kid's dream machine. I got to talk with Nathan Sawaya at an event where he brought boxes of mixed Lego for us to play with. (including some of the giant Lego boulder from the Mythbusters episode) He said paying his assistants to sort bulk used Lego was more expensive than ordering new bricks en masse. (In the context of his sculpture projects at least)


> He said paying his assistants to sort bulk used Lego was more expensive than ordering new bricks en masse.

That's roughly the economics of it. There is a cottage industry where people will sort lego in bulk by hand, effectively it's probably better to flip burgers on a $/hr base.


I thought it was Lego at first, but 39000 shapes seemed a bit much. I thought there were only 8-10k shapes?


  mysql> select count(*) from parts;
  +----------+
  | count(*) |
  +----------+
  |    38516 |
  +----------+
  1 row in set (0.00 sec)
Though I'm sure there is some overlap it's definitely not 70%.


That's really shapes and not counting colors/prints multiple times? (Not that it really matters to the scope of the problem ;))


No, if you multiply by colors it gets much worse. 100's of thousands of possibilities...

Of course not all parts exist in all colors so that helps (a bit), but it is quite an interesting problem to work on. Every assumption you make will be challenged.

Prints and stickers are counted separately but that's not a really huge number and they should be correctly identified (so the surface decoration matters as well in the classification).


Do you also plan to detect counterfeit pieces ?


That's a really hard problem. In many cases there are subtle hints (color, the writing on the studs).

Spectrography might give a hint here due to the different formulation of the plastics but some of the knock-offs are now so good it can be very hard to tell them from the real thing.

I'm not really sure if 'counterfeit' is the right term, the companies selling these are not making pieces labeled 'lego', and in fact the Lego brand started out by copying an English product.

https://en.wikipedia.org/wiki/Kiddicraft

Damaged pieces and discolored pieces are also of interest and a very hard category to detect.


I didn't know about Kiddicraft, thanks TIL.

It might not be true at the piece level, but some sets on some websites(ali, etc.) are exact replicas of lego sets, bar the brand. Down to the manual. Hence the use of "counterfeit".


Ouch, that's bad. I wasn't aware of those, and yes, I agree, that's a good use of the word counterfeit.


Nice project idea. After you do that have a go at sorting out the Lego Mindstorms bits and pieces!


Already part of it. It's all lego pieces, not just the bricks, basically any part lego ever produced (hence the approximately 39k shapes).

The problem is anything but trivial but I'm making good headway, proof of concept took a few months and for the last year or so I've been slowly making progress with a more robust and capable version.

It's a superficially trivial idea, any toddler could do it but to have a machine that does this with any degree of reliability is fairly complex.

If anybody is ever going to try something like this I'd give you just one piece of advice: control your inputs.

Anything you have to deal with in software can eat up capacity very fast so by conditioning your inputs the software can get simpler in ways that really matter.


cool! So why are you doing this? to sell them? and where did you get metric tons of lego?


> So why are you doing this?

Excellent question :) Because I'm mad ;)

> and where did you get metric tons of lego?

Auctions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: