Hacker News new | past | comments | ask | show | jobs | submit login
Deconstructing Kitty (josh.com)
320 points by mkj on May 22, 2018 | hide | past | favorite | 41 comments



This is a great example of how much information there is in the design of even simple things, the way in which one design decision constrains others (why not an iron core? Because the magnet would tend to stick to it. But why a magnet? So we can push it. But why push it? Because it is easier to tell when the bob has just passed bottom then when it is about to get there) synergy (with a magnet, we can use the induced voltage in the coil to measure the movement) and KISS (a simple knife-edge bearing.)

Another reminder to make my code as simple as possible.


This reminds me of rice cookers, which seem to work like magic yet are actually crazy simple devices - just a simple thermocouple that shuts the pot off when the temperature reaches above boiling point (meaning there's no more water left to be absorbed/turned into steam).

It's the sort of thing that means that even super cheap rice cookers from the supermarket work great - that's all I've ever used.


This is brilliant--way simpler than my mental model of how my Zojirushi makes perfect rice every time.

Link for the lazy: https://www.quora.com/How-does-a-rice-cooker-know-when-the-r...


yes! this is the quora link that finally explained to me how it worked


yes, thanks for the explanation!

i was just saying to a friend that the simple rice cookers (seem to) cook faster and make rice just as well as the fancy models but did not have this explanation in mind to back that up.


Why do they have separate settings for white and brown rice?


Cheap ones don't. More expensive ones do and it cooks at a lower temp for a longer time with a better end result.


Brown rice setting just turns off one heating element, otherwise it works exactly the same.


I don't know any cooker with a brown rice setting, but this setting should probably first turn the heat on, then turn it down and let the rice sit below boiling point for a while, then turn the heat back on (though not as much as with white rice).

It could still wait for the heat to suddenly rise in order to know when to stop.


For standard long grain white rice, 1 part rice to 1.2 parts water. (Rinse rice until mostly clear water comes out), put on the heat(no lid/cover) until it just starts simmering(and I actually mean the preboil simmering). Heat to extremely low and lid/cover on. Timer for 10 minutes. After the timer goes off, heat off and timer for 12 minutes. Don't open the lid/cover at any stage.

That's how your rice cooker makes absorption style rice, and how you do it in a pot. (Also a ton better than boiled)

Source: 18 year experience chef ;-)


What about shaking the pot from time to time to keep the rice from adhering? I've read that frequently but not seem it do anything in practice.


Don't need to, if you follow what I said, it will come out perfectly fluffy.

Also note I have made a mixture of multiple types of rice, same way, with no issue.

Honestly I only actually learnt the Asian method about 5 years ago and was kicking myself for not researching it earlier. It's so much better and insanely reliable across different types of rice.

Edit: after it is done I tend to take the lid off, stir it and let sit for a bit to let it air out. That helps a lot.


My method is similar, except that once it boils, I stir the rice once and then simmer on medium high heat until the water level gets down to the surface of the rice and steam pockets (“rice eyes”) appear. Then reduce heat to lowest and cover for 20 min.

I’m going to try your fluffing method.


Do, I'll give yours a go as well. Always looking to learn new methods!


> I don't know any cooker with a brown rice setting

Zojirushi's, depending on the model. Mine has settings for white rice, brown rice, sushi rice, porridge and quick cooking.


> below boiling point

Could also be "at boiling point but at a lower power setting".

When at boiling point, each ml of evaporated water takes some amount of energy, it is not just a matter of time. Power at boiling point is basically "boiling rate".


Yes, but brown rice needs to sit in warm water for a while before being cooked. If the water is at boiling point during this time, it will have boiled away before the rice is finished cooking.

The reduced power setting during boiling (relative to white rice) is for the second phase of cooking.


Possibly bowl temperature or some form of cycling? Maybe send an email to zoj's support to ask them? (not all rice cookers have different white/brown settings, but I know they do)


Brown rice usually takes longer.

Source: cooks rice


Time isn't a factor here though - it takes longer to cook 10 cups of rice than 5, but it still uses the same setting. As I mentioned, these rice cookers don't use a timer.


Some fancy rice cookers do more than just use a thermocouple. You'll see them advertised as using "fuzzy logic". The brown rice setting uses a lower temperature and takes quite a bit more time than the same amount of white rice. There is also a timer, you can it to have the rice done at a certain time.

See this popular model for an example:

https://www.amazon.com/Zojirushi-NS-TSC10-Uncooked-Cooker-1-...


The Amazon gods seem to be playing pranks on me at the moment: I use your link to look at the product on Amazon US "Zojirushi NS-TSC18 Micom Rice Cooker and Warmer – 1.8 Liters"

Clicking the link on the page to view the product on Amazon Canada gets me to "Zojirushi NS-TSC18 Micom Rice Cooker and Warmer, 10 cups"

Strange, The US site lists the Liters held while the Canadian site switches to telling me how many cups it can handle.

Ergh. I'm Canadian. I can handle the litres.


Fuzzy Logic is actually quite nice when doing heating and balancing using a fuzzy control system. Lotfi A. Zadeh invented it, and I learned it from several books by Earl Cox. Fuzzy Logic is well worth studying.


> it takes longer to cook 10 cups of rice than 5

Aside from a short time to heat a larger volume of water, it doesn't. (and your really not talking that much time difference lol).


"Aside from the part where it takes longer, it doesn't take longer"?


You're talking such a slight variable the point isn't worth belaboring.


The complementary lesson I take from it is that I have to seek simplicity while iterating in real-world conditions. This isn't a from-first-principles kind of simple; you can see that perspective in a number of those questions. It's the kind of simplicity that respects the complexity of the real world instead of denying it.


For those that don't know, this is Josh Levine's blog. He started Island ECN and is prominently featured in Scott Patterson's Dark Pools https://www.amazon.com/Dark-Pools-Machine-Traders-Rigging/dp....

You can see the old homepage here http://josh.com/oldindex.htm

Some of his code (through acquisitions) lives on at the Nasdaq exchange. He's a fascinating person in the history of electronic markets.


One of my favorite books. Highly recommend


Anyone one else want to weigh in on that? Sounds intriguing, but Amazon reviews suggest it's ruined by technical inaccuracy.


These cats are called Maneki-neko https://en.wikipedia.org/wiki/Maneki-neko


They're also in the logo of https://media.ccc.de - At CCC events, the podiums always have a maneki-neko, whose constant movement is used by the video technicians to verify that the feed has not frozen.


Fun fact: Back in the early 00's, josh.com simply had a message saying "josh.com is better than chris.com"


Nice and elegant. Boss is a hardware dude with a compatible rule of thumb: Don't use a micro until it has to do more than three things.


Unless the three things cost more than the micro :-/


This was a beautifully clear explanation — almost art. Often in question-and-answer teaching the questions devolve into topic headings, but here he anticipated and answered the questions I had and should have had. Excellent and fascinating article.


An interesting tidbit talking about the coil used to push the magnet at the end of the bob (the internal mechanism of the kitty hand):

    Why does the coil use air core rather than something
    like iron that would concentrate the magnetic field?

    Because then the magnet would want to stick to it.
Is there a nonmagnetic material that could be used to concentrate the magnetic field? Aluminum?


I'm only going by what I just read on https://en.wikipedia.org/wiki/Magnetic_core , but it seems like a core only works by being magnetic itself. Note that "air core" is a term of art; if there's a nonmagnetic (e.g. plastic or ceramic) core it's still called "air core".


Copper being diamagnetic has a very low magnetic permeability, basically the same as air, but now you have an eddy current brake.


These are sometimes called pulse motors, ez-spin or bedinimotors

https://hackaday.com/2016/01/01/ez-spin-motor-spins-forever/ http://bedinimotors.blogspot.co.uk/


I thought the section heading "Why is the coil the secret sauce?" seemed very dubious (as is acknowledged), but it's been long enough since I've done electronics that I can't contradict it in any way.

But an analysis that focuses on the very low resistance of the wire and ignores the back EMF from moving the pendulum seems wrong.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: