12 ms·
Fabrice Bellard: Portrait of a super-productive programmer (2011)
- xentronium 14y agoHe also authored jslinux[1] in 2011. This guy is amazing and I am truly envious. [1] http://bellard.org/jslinux/ http://bellard.org/jslinux/
- atamyrat 14y agoAlso not to forget the LTE/4G base station implementation running on PC. http://bellard.org/lte/ http://bellard.org/lte/
- timtadh 14y agoWow that is really amazing. It actually works. It has wget installed and gcc, tcc a workable vi and screen! You could actually be productive in this enviroment!!! EDIT: Looks like there is no iface though. I guess that shouldn't be a surprise. I didn't catch that until I tried to wget bash and see how long it would take to compile.
- X-Istence 14y agoJust paste the binary into the clipboard using base64 or something along those lines, then base64 decode it, and go ahead and compile it =)
- jerf 14y agoBear in mind there's no network because the environment it is running it doesn't have a network available to it. Especially at the time that came out, all you could count on was XMLHTTPRequest, and that would require some sort of server proxy, etc. etc., not really the point. I'm sure that if a network was reasonably available, jsLinux would have it.
- JonnieCache 14y agoSomeone wrote a virtual modem device for it that talks over websockets. https://github.com/ewiger/jsmodem https://github.com/ewiger/jsmodem Yeah, that was my reaction as well.
- reginaldo 14y agoI was inspired by jslinux and decided to write one such emulator myself. Of course, the architecture I'm emulating (Lattice Mico32) is much much simpler than X86. It is open source, available at http://www.ubercomp.com/jslm32/src/ http://www.ubercomp.com/jslm32/src/ I did both an interpreter and a (much faster) dynamic code generator that generates blocks of code in Javascript so it doesn't have to decode every instruction over and over again. Oh, and before doing the project, I sent Bellard an email, and he was very polite and helpful. Even sent me some compliments after I was able to optimize it to run at a decent speed. A true master!!!
- limmeau 14y agoPrevious discussion: http://news.ycombinator.com/item?id=2555867 http://news.ycombinator.com/item?id=2555867
- Baustin 14y agoSorry about that. I didn't realize it had already been posted on here.
- Bootvis 14y agoDon't be sorry, great links such as these never bore. If the readers were bored we wouldn't upvote it agian. Plus, the fact that HN allows reposting URL's after a while seems to be design.
- biot 14y agoAlso, previous non-discussion: https://news.ycombinator.com/item?id=4470917 https://news.ycombinator.com/item?id=4470917 :)
- hobbyist 14y agoOld article resurfacing again on HN, neverthless he is everyone's idol
- demallien 14y agoHeh. Be jealous - I'll be working in the same team as Fab, starting next month :D
- pilgrim689 14y agoMay I ask where?
- hobbyist 14y agoShit. Yes I am Jealous. That is fucking awesome. I would leave any highest paid job with google, fb blah blah to work with Fabrice :)
- yorak 14y agoThe question from previous discussion remains unanswered. How does he finance his production of top notch open source software? At least for me, the day to day churn of my day job leaves me too mentally exhausted to chase the crazy ideas I get from time to time, let alone finish them. Imagine a world where hackers, artists and artisans could follow their passions and could chase crazy ideas without a risk of losing the roof on top of their heads and butter over their bread. How many Bellards, we as a humanity, would have running around flinging great code, solving great problems and giving away the fruits of their hard work? I think we could afford it if we really wanted. If the world just accepted that because of automation fewer and fewer people are needed to work in production (food, items etc.) a huge untapped innovative potential is waiting to be unleashed. In playing Civilization this would be easy, just a click and your society has changed the emphasis of it's production to sciences and art. But how to do this in real life? I guess I just have to wait and see if the government of Finland gets around and issues citizen’s income as propagated by the Green party. That would be a start and the consequences would be really interesting to see.
- fijal 14y agoI'm essentially doing it. It's hard. You have to quit your job and organize income. For me it's a combination of open source donations and consulting with living in a relatively low income (and low cost) country, so consulting can pay for a lot more, if you do it on a global scale.
- DigitalSea 14y agoMy theory is that Fabrice is not human and most likely a creature not of this world. Seriously, how the hell can someone be so talented and amazing and above all remain such a nice guy? Fabrice is a down to Earth and amazingly talented individual who will go down in history; text books will reference him, heck he'll have a movie one day (maybe not). I don't care if this is an old article, Bellard deserves to be on the frontpage of HN multiple times, he's earned it. For me, the LTE/4G base station running on a PC that he did is mindblowingly amazing: http://bellard.org/lte/ http://bellard.org/lte/
- perlpimp 14y agothere are these kinds of people for one ilya grigorik http://igvita.com http://igvita.com
- limmeau 14y agoYou mean, like Nicolas Bourbaki?
- deleted 14y ago[deleted]
- omaranto 14y agoAre you really suggesting Bellard is the collective pseudonym of a group of people and not a single person?
- SatvikBeri 14y agoYou know Bourbaki was a group, not an individual, right?
- tangue 14y agoReading his accomplishment is humbling for any programmer. The fact that he doesn't act like an asshole should serve as an example for the rest of us.
- 16s 14y ago
- aninteger 14y agoFabrice is awesome. I am also extremely impressed with the code written by a guy that goes by the name of Bisqwit. He has multiple videos speed coding here: http://www.youtube.com/user/Bisqwit http://www.youtube.com/user/Bisqwit
- thejasper 14y agoDo anyone know how these coding videos are created?
- flaie 14y agoI don't know about the video, but there is a tool named Homura[1] that snapshots a file in Vim every so and often, and is able to generate a HTML file with interactive playback. Maybe it can be of some help. I found a sample online too[2] [1]: http://uguu-archive.appspot.com/homura/manual.html http://uguu-archive.appspot.com/homura/manual.html [2]: http://uguu-archive.appspot.com/nyaruko/edit.html http://uguu-archive.appspot.com/nyaruko/edit.html
- Pwnguinz 14y agoThere is also another tool called http://www.showterm.io http://www.showterm.io which will record your entire terminal session, not just VIM. So if you have to exit VIM to do something else in bash, it's also recorded ;). Very nifty tool!
- xentronium 14y agohttp://bisqwit.iki.fi/jutut/kuvat/programming_examples/nesemu1/FAQ.txt http://bisqwit.iki.fi/jutut/kuvat/programming_examples/nesem...
- AlexDanger 14y agoPlease tell me that NES emulator video is sped up. His typing speed (and accuracy) alone are phenomenal.
- 14y ago
- supervillain 14y agoFabrice Bellard is the man!
- ishansharma 14y ago"If there’s a secret to this superhero-level productivity, it appears to have less to do with comic-book mutation and radioactivity, and far more with discipline, confidence, rigor, and many years of practice." This is one line that you should take away from the article. Most of us think that highly productive programmers are magicians but we forget that they are just like us, just hard working and disciplined.
- _phred 14y agoFlip side: don't feel tiny in comparison to this guy's achievements. Did he bang out LZEXE the first time he sat down at a terminal? Probably not. But over time, through pursuit of a passion and hard work, his skill has progressed incredibly. We can get there too, with persistence. And we can have fun on the way. This is as much a reminder for me as anyone, I have a tendency to compare myself to amazingly talented and productive people and get discouraged with where I am now. But you know what? I'm farther along than I was a few years ago, and that ain't nothing. :-) One of my favorite quotes on the subject: "Never compare your beginning to someone else's middle."
- deleted 14y ago[deleted]
- ishansharma 14y ago"If there’s a secret to this superhero-level productivity, it appears to have less to do with comic-book mutation and radioactivity, and far more with discipline, confidence, rigor, and many years of practice." This is one line that you should take away from the article. Most of us think that highly productive programmers are magicians but we forget that they are just like us, just hard working and disciplined.
- carlob 14y agoThe link to his website goes to bellard.og instead of .org
- barefoot 14y agoLooks like the first link to his personal website in the article is broken: http://bellard.og http://bellard.og I was going to report it on their main website so I looked for a good way to get in touch with them and found a contact form which seemed to be geared towards sales and had a number of (unrelated to my task) required fields. I'm too lazy to fill out something that is going to get routed to the wrong place and requires me to enter my phone number, position, country, and area of interest on top of my email address and name. So, I thought I'll just call them. I called the main phone number and had no way to speak to someone there. The phone prompt simply diverted me to email sales. Heh. There was a brief period of time where I wondered how a link could remain broken in an otherwise good quality article for over a year. That mystery has been solved.
- jgrahamc 14y agoI too think that Bellard has produced a ton of cool stuff, but bear in mind that the list given on that site spans 20 years of work. You can do a lot in 20 years. That's not to put him down in any way, but if you find yourself comparing your output to his make sure you consider the time span.
- lifeisstillgood 14y agoSome might see this as a bit negative - I take that in a positive way - I have maybe another 20 years of brain power left. Since the last 20 years were not nearly as productive as Bellard's I shall endeavour to calm down, and make the next 20 count.
- DigitalJack 14y agoI have to ask, what is your age that you think you only have 20 years of brain power left? For sure, there are ages for which this is true, but given the age distribution of HN readers, seeing this post makes me curious. Perhaps the plasticity of our brains is reduced, but that alone doesn't mean you have no brain power. If you think of learning as "leveling up", you may stop increasing in level at some point, but you are still very powerful and productive. I do agree with the sentiment of your last sentence however. We should endeavor to make our "leveling up" years count, and who knows, maybe you level up for the rest of your years.
- archagon 14y agoMany famous composers and writers produced their finest works in their later years. Surely we can do the same!
- discreteevent 14y agoYup, also true of architects.
- lifeisstillgood 14y agoI am 41, and am assuming I will (be able to !) want to retire at 60.. I know Ghandi, Linus Pauling etc. But I suspect I shall be a tiny bit tired by 60. Who knows. Maybe I have 40 years to go. Whatever, I am fed up with looking back and thinking "if only" - so I shall try and minimise those by 60.
- steeve 14y agoTo think that 99% of video on the web today is possible because of FFmpeg is mind blowing.
- notdrunkatall 14y agoHow so?
- steeve 14y agoPretty much any video site your can think of (Youtube, Vimeo, DailyMotion...) is possible via FFmpeg (which re-encodes the videos).
- jcampbell1 14y agoChrome also bundles FFmpeg.
- MojoJolo 14y agoI'm not sure about that 99%. But I agree, for conservatives, FFmpeg is mind blowing. For me, it's magical!
- n3rdy 14y agoSo.. many.. cats!
- fexl 14y agoI downloaded his pi computer from http://bellard.org/pi/pi2700e9/tpi.html http://bellard.org/pi/pi2700e9/tpi.html and I don't see the source code for the "tpi" program there. Is that source code available anywhere?
- logn 14y agoAwesome article. I like the bulleted conclusions at the end, but this nugget in the middle is my favorite: "While he moves every few years into new and fertile unconquered territory, he exercises patterns that have served him well over and over: cleanly-styled C, data compression, numerical methods, signal processing, pertinent abstractions, media formats, open-source licensing, and “by-hand parsing.”" I think sometimes for me I tend to wander from one technology and field to the next, but there's definitely something to be said for focusing a bit more on certain languages/technologies and what you're interested in.
- gwern 14y agoReminds me of http://alumni.media.mit.edu/~cahn/life/gian-carlo-rota-10-lessons.html#feynmann http://alumni.media.mit.edu/~cahn/life/gian-carlo-rota-10-le... > "Richard Feynman was fond of giving the following advice on how to be a genius. You have to keep a dozen of your favorite problems constantly present in your mind, although by and large they will lay in a dormant state. Every time you hear or read a new trick or a new result, test it against each of your twelve problems to see whether it helps. Every once in a while there will be a hit, and people will say: 'How did he do it? He must be a genius!'"
- hallowtech 14y ago> Bellard, born in 1972, began practicing his own coding techniques first on a TI-59 scientific calculator, at the beginning of the ‘80s. I wonder how many people have started their programming experience on a TI calculator. I had the same way in with a TI-85.
- dhimes 14y agodoes HP count? 41-CV (there's an iphone app for it!)
- jerf 14y agoWhile I first fiddled with a Commodore 64, my first program that I could reasonably call non-trivial was on an HP-48G. Well, I'd call it trivial to me today, but it wasn't trivial to me then. I can't speak to the TI series, but one nifty thing about RPN is that where 80s-style microcomputer BASIC tends to afford spaghetti code, the RPN afforded breaking your program down into functions. If you didn't break it down properly, your program turned into a series of hundreds of DUP DUP + SWAP3 DRAWLN 73 SWAP DUP - DRAWLN 0x838AFE7E8A9E 3 4 108 93 BLITPIX etc etc in an undifferentiated mass. (Those aren't the real opcodes, I've long since forgotten them and won't look them up, but that's sort of trying to compute where to draw two lines then dumping a pixmap to the screen.)
- RegEx 14y agoTI-82 here. I made small applications to do my 7th grade algebra homework. They took longer to make than just doing the homework, but I enjoyed automation.
- mahmud 14y agoTI-82 here, my first programmable computer.
- jcdavis 14y agoI started on my TI-83+ and then later moved up to a TI-89, which was great for wannabe programmers because you could easily write programs in C (using TIGCC) instead of having to deal with the limitations of TI-BASIC.
- 14y ago
- stiff 14y agoOne thing I miss is more very productive people like this sharing the way they work with the world. There are some nice screencasts at destroy-all-software[1], and there was a great screencast some time ago about writing a ray tracer in Common Lisp[2], but for the most time it is really hard to get a chance to learn from great programmers by directly watching them work at something, and that's a pity because it's one of the best ways to learn. If anyone has any more similar resources, please share. I am aware of PeepCode's PlayByPlay [3], but found it so-so so far. [1] https://www.destroyallsoftware.com/ https://www.destroyallsoftware.com/ [2] http://rudairandamacha.blogspot.com/2012/09/writing-simple-raytracer-in-common-lisp.html http://rudairandamacha.blogspot.com/2012/09/writing-simple-r... [3] https://peepcode.com/screencasts/play-by-play https://peepcode.com/screencasts/play-by-play
- incision 14y agoOn my shortlist of people who I read/think about any time I might feel complacent about my own development.
- rayiner 14y agoFor the sake of discussion, I'm going to throw some fuel on the "should you go to college?" fire. One of the things that's evident in Bellard's achievements is that he has a tremendous depth of domain specific knowledge, especially in signal processing. This is unsurprising, because he studied at Ecole Polytechnique, France's premier engineering school, specializing in telecommunications. See page 4-6 of this PDF: http://www.freearchive.org/o/55dfc9935a719fc36ab1d16567972732c2db1fd7d7e3826fd73ee07e4c3c7d0b http://www.freearchive.org/o/55dfc9935a719fc36ab1d1656797273....
- schmrz 14y agoNo meaningful disussion can come from this. Other students went to the same school I'm sure. Why are we not seing the same results from all of them or at least from the majority of them? The question whether you should get university education is not an easy one. I'm strugling with it all the time and I am going to an university.
- rayiner 14y ago> Why are we not seing the same results from all of them or at least from the majority of them? The point isn't that Fabrice Bellard isn't special. It's that even a special (clearly brilliant and self-directed) guy like him can arguably benefit from the systematic learning of domain specific information that happens at a university. It could be the case that had Bellard not gone to university, he would have gone to the library and learned all those things on his own, and still built all the things he did. Or, it could be the case that the university exposed him to a ton of readily digestible theoretical knowledge that he wouldn't necessarily have stumbled upon on his own. He's a counter point to guys like Zuck. You don't really need any theoretical knowledge to build something like Facebook. You need a lot of theoretical knowledge to build something like FFMpeg. A university education not only provides a way to learn the necessary theory, but exposes you to a lot of domains of theory which can inspire you to solve problems you might not have thought to tackle, because you find out that there are theoretical tools to help you tackle those problems.
- 14y ago
- notdrunkatall 14y agoDoes anyone have a link to or know how he came up with his formula for the computation of pi in base-2? I look at that and... I just want to know: how?
- iso-8859-1 14y agolearn number theory?
- malkia 14y agoMy personal programming heroes: - Edi Weitz - http://weitz.de/ http://weitz.de/ - Lots of Common Lisp libraries (cl-ppcre) - Mike Pall - http://luajit.org/ http://luajit.org/ - luajit off course
- rossjudson 14y agoMike Pall impresses the hell out of me. Jason Garret-Glazer too (x264). Cliff Click. Jeff Dean. Tony Morris. Martin Odersky.
- malkia 14y agoRich Hickey there too.
- wazoox 14y agoThe guy is also incredibly nice. I started using QEMU in 2003 and it was a huge relief in my work; so one of my colleague decided to send a "thank you" email to Bellard. Bellard replied very nicely on how happy he was that we found QEMU useful, and even gave us his phone number.
- kragen 14y agoAgreed. Other programmers who seem super-productive to me include Julian Seward (bzip2 and valgrind), Larry Wall (patch, rn, and perl), Ken Thompson (Unix and substantial parts of Plan9 and Golang), Aaron Swartz (web.py, Open Library, Demand Progress), Steve Wozniak before his accident (Apple I, Apple II, Integer BASIC, a hardware video game, SWEET-16), of course Bill Gates (BASIC-80 and various other early Microsoft products), Niklaus Wirth (Pascal, Modula-2, Modula-3, Oberon), and maybe Darius Bacon, although none of his free-software projects are widely used. None of them approach Bellard's level. I think Bellard has another important thing going for him, beyond discipline and followup: he tackles important and difficult problems, things that are barely within anybody's reach. He's mostly not working on another text editor, another online chat system, or another casual game. Who are your candidates?
- aerique 14y agoJohn Carmack.
- kragen 14y agoOh, yes, obviously. He might even be Bellard's equal.
- nnethercote 14y agoLinus Torvalds: Linux and git.
- lukego 14y agoI'd add Dan Ingalls (Smalltalk) and Mitch Bradley (Openfirmware) to your excellent list.
- bthomas 14y agoI'd love to see a list of projects he started that didn't work out. Amazing list, but he must've had some duds at some point.
- gbog 14y agoGenuine question: all those comments focusing on Bellard's humble character, do they refer in negative to some hype developers, brogrammers, those who use only the latest fashionable tools, write blogs and rants and books?
- saosebastiao 14y agoBut it doesn't say ninja anywhere on his resume...
- thewarrior 14y agoLets not just beat up on ourselves for being so inferior to someone like him . Its a hard fact to swallow but some people are just way better than can be explained away by any simple reasoning . Lets be thankful that we can live along side them ,reap the fruits of their labor and awaken ourselves to the heights of human potential .
- rehack 14y ago> "Bellard doesn’t appear to promote himself—he politely declined to be interviewed for this profile" In my opinion, that's the key. Getting famous, comes in the way of a lot of people, whether they are a scientist or a programmer. Read at some place, that many popular scientists, once they do something great and get popular, just have to interact with other people so much, that they don't get the time for doing something great. Recently, on HN, there was a 'letter of note' by some famous author of why he was going to stop replying to reader letters. As that left him no time to write another novel/story[1]. Of course, for mere mortals (who don't taste that level of famousness) there are mundane hindrances like Facebook ;-) [1] Discussion on 'The morning mail is my enemy' http://news.ycombinator.com/item?id=4409363 http://news.ycombinator.com/item?id=4409363 Update: Added reference