For 8 years I worked at a hosting company where I learned about code, servers, networks. Halfway I became their lead in research & development and among things, designed their cloud offering.
In evening hours I cofounded Transloadit, a startup that handles file uploading and processing.
Occasionally I do consultancy, helping people deploy (to) clouds, infrastructure as code, or Node.js in production.
I enjoy unix, open source, family life, all kinds of independent music, sunshine, (watching, practicing, teaching) kickboxing, Amsterdam, craft beer, retro games, cryptocurrency, sci-fi.
On this blog I share what I just learned, hoping to help others and enhance my own understanding through your feedback.
Infrastructure mistakes are common and incredibly expensive. Having
- worked at a hosting company for 8 years, seeing hundreds of different linux setups and what works
- designed their cloud platform and automated virtually every business/tech process in the company
- launched the first commercial Node.js company Transloadit, deployed onto Amazon EC2, scaling up to 1500 machines
- launched apps and infra for many different companies such as news paper NRC.
..Gives me experience that not many companies have in-house. Experience that can help avoid these costly mistakes.
I have limited time for consultancy, but I really enjoy offering advice on
- automated infrastructure / infra as code
- running Node.js in production
I do consultancy under the roof of my company Bracebit. Here are its details:
Commercial Register (KvK): 56496346
Director: Kevin van Zonneveld
Here are a few things I've been up to over the past years
Learned about RethinkDB, NixOS, React Native and created prototypes using these technologies.
Started reading up on Kubernetes and Machine Learning.
Focussed on growing Transloadit's back-end and business. Writing blog posts, sponsoring conferences, and automating the hell out of our infra so we can sustain growth without linearly ramping up costs.
Tried to raise awareness for tus and got it to 1.0.
Open sourced node-depurar, environmental, jekyll-fix-titlecase, ratestate, riak-formation, sledge, tosip, and contributed to docker compose, flat, ruby_route_53, lipsync, terraform, terraform, packer and vagrant.
Launched tus.io with Tim Koschützki and Felix Geisendörfer. It's an effort to write an open protocol & implementations for resumable file uploads across all platforms (HTML5, iOS, Android, Go, Node.js, Ruby, etc) so that all components will in the future be able to send big files following the same basic principles.
Founded Bracebit, my own company to do freelance consultancy after having been employed for 8 years.
Open sourced many CakePHP plugins. Most known are EventCache and a plugin for creating REST services.
Gave a few talks on them.
I co-founded Transloadit with Tim Koschützki and Felix Geisendörfer. The world's first commercial Node.js company. We handle file uploading, converting and storing. We're bootstrapped and ramen profitable as of March 1st, 2012, and are still growing.
I made a modest contribution to Node.js.
Open sourced System_Daemon that let's you turn PHP scripts into Linux daemons, effectively allowing you to write networked servers in PHP. We were able to get this to run without memory leaks or garbage collection issues, although that proved quite a challenge. It was adopted by PEAR which meant dealing with rigid coding standards, documentation requirements, a CVS(!) server, and peer-critique. Many things a first for me.
Of course nowadays there are better ways to achieve this, if you really have to anyway.
I started working for true.nl, a hosting provider based in Amsterdam. Specializing in hosting big web sites, True needed to nail things like: scalability, performance, security and always be on the lookout for cool new technology.
In the 8 years I worked for True I have:
- Had the lead in research & development, introducing many cool open source projects into the company and streamlining the development process by use of Git, frameworks, tests, CI, rolling deploys, etc.
- Consulted clients in building large scale fault-tolerant hosting solutions
- Architected & implemented countless high-availability Linux clusters
- Designed their cloud offering
- Been trying to automate virtually every business/tech process within the company
At college they were running their first year of computer science and there weren't enough teachers. I was given the opportunity to give classes on what I had learned at Ineas, and we built a college community online together - in return I got my grades. This was extremely exciting initially but after completion, it appeared to me I should have picked a more mature college, and was left with the feeling that I still had much to learn, but it wasn't going to be at that particular place. I put my energy elsewhere and enjoyed the fraternity life way too much to do anything interesting with computers beyond building a website or two for them.
Got my hands on Visual Basic 6 and many games such as a Pacman reincarnation. My biggest project was networked software to control school PCs (student login, track/charge prints, limit web & machine access) so they would not have to license Novell. I got to skip computer-class but the project was never deployed at full scale, which was a big disappointment, but in hindsight, probably for the best
Started working for Ineas. The first online insurer in Europe. This is where I first learned how to create real world value with programming. I made an online version of the European Car Accident Insurance Claim Form. Inease being a pioneer we faced many technical (no php, ruby, or node), legal (signatures?) and marketing (how do we get people to trust online insurances) challenges.
Joined one of the first Dutch e-mail groups with developers that would mentor me into building slightly more advanced programs than what I had been up to.
Devoured a QBasic book with my father, and wrote my first computer program: an assistant in buying the best kind of fireworks.
I was born in a small village in The Netherlands
Since I'm not a native English speaker I apologize for mistakes and would appreciate it if you let me know when you find them!