Sol — a sunny little homemade virtual machine
rsms.me
rsms.me
<edits to correct grammar>
/edit: link to blog post: http://rsms.me/2012/10/07/mylang-tutorial1.html
There's a weird mismatch of navigation features from hidden drop down lists, dialogue boxes and content that redirects to whole other pages; I'm never quite sure what onclick event will return what result. Plus the general layout of the site seems cluttered and counter-intuitive too.
Now this might just be me. I don't know what level of user testing Facebook performs before pushing features live, but I might be one of those small few who are just beyond help. However being a developer of similar age to yourself - I've spent my whole working life with badly designed developer tools and usually manage fine. Where as Facebook -a tool for the masses- seems to be one of the few exceptions that genuinely stumps me.
In many ways, that site's design is an "anti-rsms"; it seems to be the polar opposite of the design principles you adopt in your own projects (eg a clean methodical layout with clear separation between content and navigation tools). And while I'm discussing your own talents, I just was to commend you for what you've achieved despite choosing a non-traditional path into IT (ie straight to work rather than studying at Uni). Having trod a similar route as yourself, I know from experience that it can be significantly harder. So I can only imagine how much hard work and dedication you would have needed to be where you are now. Kudos.
There was a "spotify" or music service thing leaked from facebook js code a while back. So what you are saying facebookers will integrate even more closely with spotify. Listen to music in the browser with friends? Yey.
I have a friend who can code and bake excellent pie. Amazing!!
The new Threads curriculum doesn't (or didn't when I last paid attention to it) require anything nearly this complicated. I have a friend who graduated under Threads without having taken CS2200 (Systems and Networks) or ECE2030 (Intro ECE). He's a talented computer scientist, but he's had to learn a lot of the bits of systems that are relevant to his day-to-day work on his own.
That said, I feel like this goes beyond anything that was ever strictly "required". The most complicated VM or language related work I had that was in a core class was Olin Shivers's[0] CS3240 (Languages and Computation). That concluded with us building a basic Scheme interpreter in Java. The other work I did on the subject was in specialization or elective classes (or grad school).
[0]: To folks who might happen to be at Northeastern, do take any class you can with Olin. He is a fantastic professor, and I can't recommend his classes enough. Favorite class I took at tech, hands down.
The most tedious part was implementing a garbage collector on top of the VM (GC was not part of the VM spec) We grumbled a lot about this task :)
I talk to my other friends at CS schools and lately some of them don't nearly go into as much depth.
Instead of doing something like this, they just made us memorize the x86 instructions and their nuances. I shudder every time I think about it.
How does he have time for this stuff?
I would like to work on foundational projects too, but there are too many practical things that need go get done.
It is good to see that somebody has time for this.
(It was described in one of the Lua papers, but Google for "lua language predecessor sol")
SOL (meaning Sun in Portuguese) was a VM built a PUC-Rio. It was the predecessor to Lua (meaning Moon in Portuguese).