Daniel was interviewed by Juneday over mobile phone in September 14, 2017
Name: Daniel Stenberg
Age: I'm 46 years old.
Education: Totally uneducated - well, lack of formal education. I only did twelve years of school (ie I never attended university). After I got a my first job (at IBM) things just took off and I never looked back again.
My computer education started out with Basic and assembly on the C64 and subsequently C on the Amiga. Of course I've never stopped being interested in computers, technology and software development so I've kept reading, trying, learning, programming on spare time and at work ever since.
Funniest moment in your carrier: I've had many really good moments in my carrier. Some of the most recent ones include:
- When I was hired to work for Mozilla in 2014, turning my spare time programming and hobby into my full time work.
- When I was awarded "second best developer" in Sweden last year: https://daniel.haxx.se/blog/2016/12/01/2nd-best-in-sweden/
- When I recently realized my code (curl) runs in virtually every Mercedes car model. (and BMW, Audi, Nissan, VW, ...)
Main programming language:
I would say C. That's the language I've written the most code in and the one I still use most. C++ is a contender since that's what the core parts of Firefox is written in that I work with at my day job, but I often find myself fighting the ++ parts than I really like them so I prefer to stick to C...
Favorite editor: Emacs! I learned my first baby steps with emacs back around 1991 on my first unix-related work and it has been with me since. I feel at home and I consider myself fairly productive using it. I don't try out new editors and I don't see myself ever switching away to something else.
Favorite datatype: I think I would have to say 'unsigned char' purely based on its simplicity and the fact that it is always 8 bits on all currently existing platforms and compilers. Also a type that is small enough that things like integer overflows are immediately visible and impactful so we need to deal with them, while they tend to be forgotten or ignored much easier on the larger data types (that then also have the bad style of changing sizes for different targets).
Favorite annoyance: When people who have a question or an issue with an open source that I am involved with, email me privately to ask about it or request some action from me. Things related to public open source projects should be kept on the mailing lists or the bug trackers as far as possible!
This happens almost daily these days and I almost always reply to ask the user to instead use a mailing list or a bug tracker...
Wish I knew how to...:
Oh, I basically wish I would be better at everything I do. Perhaps in particular some of the "softer" areas like dealing with humans and why not my English writing skills and vocabulary. But I also think I actually do improve in several areas over time, so if I'll just live long enough...
OO, functional, imperative... or?: The right tool for the right job, I think. But for me personally, I tend to pick the jobs that goes wells with the tools I like... I'm conservative when it comes to languages etc so I basically stick to the languages I've used for a long time and practically do not try out new ones. So, imperative without too much OO for me please. Stirred gently on a unix stove. =)
- Rikard and Henrik mentioned a paper by Ken Thompson during the interview (they simply wanted to brag about knowing stuff) and here's a link Reflections on Trusting Trust written in 1984.