Hacker Newsnew | past | comments | ask | show | jobs | submit | nikital's commentslogin

I made a WebGL mechanical clock simulation if anyone wants to look at it in motion: https://clock.leshenko.net/


This is very cool. Thanks for making it.


Superb, thanks for sharing!


Super cool - thanks!


> 8051s love talking to each other after all, otherwise USB would not exist.

Can anyone explain what the author meant by that? I thought 8051 is just an ISA, is there something special there for cross IC communication compared to other ISAs? And what the the connection to USB?


Due to its historical influences, 8051-based microcontrollers and cores are still widely used in a huge number of embedded devices and ASICs everywhere - motherboard EC, Ethernet, Wi-Fi controllers, this also includes the peripheral devices that plug into USB ports, like a mouse, a keyboard, a sensor, or industrial controllers, or whatever, so the first part of the joke is most communications via USB are just 8051s talking to each others. The second part of the joke is that even USB ASICs themselves, like USB hubs or host controllers, are often powered by 8051 cores.


I think the author's simply referencing the fact that it's a common chip used in many usb controllers and make it easy to build peripherals that work with USB standards.


In my experience, most USB controllers use an 8051 to implement the USB protocol at the level in between the link and URBs.


Just look at the beauty that is EZ-USB FX2LP for one example.


Great presentation! I created something similar — a step-by-step Git implementation that is designed for teaching Git internals:

https://www.leshenko.net/p/ugit/


Awesome post! I'm confused about the schematics of the keyboard and I wonder if anybody here might point me in the right direction: The HWB pin is pulled permanently low, so the MCU runs the default USB DFU bootloader on startup/reset. Then the application firmware can be programmed using dfu-programmer.

But what happens after programming, when you unplug the keyboard and plug it back in? Since HWB is still pulled low, doesn't the MCU go back into the DFU bootloader instead of running the application? How does the keyboard run the actual application firmware rather than the bootloader?


Good eyes! That’s a handy feature of this MCU: power-on boots start the application, not the bootloader. External resets switch to the bootloader if HWB is pulled low.


> Git is one of those technologies where it's super important to get a good grasp of how to internals work.

I fully agree, that's why I built a tutorial where you learn about Git internals by implementing Git yourself in Python: https://www.leshenko.net/p/ugit/


Looks nice, I wanted to submit a project and I spent time to fill the forms but I was greeted with a login wall after I filled all the details. There was no indication anywhere in the process that it would be required. It made me feel somewhat deceived.

I think it would be more honest towards your users to be upfront that you require login to submit a project.


Noted, thanks for the feedback.

I guess it makes sense that signing up is required for obvious spam-prevention reasons, but it could be more clear when you fill the form. I’ll fix that ASAP.


> ...for obvious spam-prevention reasons

If that is your goal, you also can just code up a moderation queue - sign up to have your content posted immediately, or submit anonymously and it will be moderated before it is visible.


Its the actual act of moderating that would be hard


> but I was greeted with a login wall after I filled all the details.

and? that sort of user-hostility is the signature of the modern web. for example: posting on imgur.com does the same thing with the added bonus that you lose your context and your comment after logging/signing in.

reddit does the same thing so that you spent time crafting the perfect comment only to get told you have to wait an arbitrary amount of minutes before you can post.

the whole point is to get the user to invest as much as possible and then make them pay the price as a mechanism to force them to reconcile with the sunk cost fallacy. the web is built upon such an outwardly hostile environment, and it will only get worse.

and i hate it.


I've seen people's Git skills improve after I taught them Git internals, but I taught them in a standard lecture format.

I didn't try teaching Git internals using code before, but I hypothesized it would be a good idea, and here is the result :) I'm curious about its effectiveness as well.


Then kudos on the effort for the experiment: not sure how I can best track the success of this initiative of yours, but best of luck regardless!


> stripped of factors that obscure the lesson

Yes! I'm going to adopt that wording. Originally I tried to do a screencast about guided Git source code exploration but it didn't work because of that reason.


It was custom made for the tutorial. I didn't release it yet because I mostly focused on polishing the tutorial itself and not the code for the interface. Do you think people would be interested in the interface by itself?


Yes, 100%.

The tutorial on git is super cool, but for me the thought of constructing my own tutorials using a framework that got you here is even cooler.


Definitely! It is so well done at first I though I was on a MOOC site and navigated to the home to figure out if there were more tutorials :)


I would certainly take a look. It would be amusing if you released it using the interface itself.


Literal programming from Knuth's WEB adapted to modern web ;)


I'm happy to hear that! You can clone the tutorial content using the link in the "Download" section. The interface isn't available yet on Github.


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

Search: