"Simplicity is prerequisite for reliability." - Edsger W. Dijkstra.
As our experience grows, we learn from past mistakes and discover what's truely important in reliable systems.
When designing systems, simplicity is an often heard mantra, but it isn't getting applied nearly as much as spoken off. I'm guilty of this too. I think it's mainly because engineers love to, well, engineer : ) and will naturally try to outsmart problems by throwing more tech at it.
This article in 50 words: I used to prefer spaces vs tabs, now I don't care so much, think it's
more important that you can easily switch on a per-project basis. Have some thoughts on how conventions
should be established, and I'll demonstrate bash code that can convert your codebase to a new standard.
I recently bought a NAS so my data is safe & available, with the benefit of being low
power / noise / heat.
I've considered Netgear, QNAP, but decided to go for a Synology
as it was affordable, still had a big community, decent reviews & Time Machine support.
The Synology ships with a Download Station but it's not remotely as
advanced as SABnzbd. What I mostly miss is automatic
par & unpacking of it's downloads. Here's how to fix that.
As a Vim newbie, I'd like my Vim plugins & configuration
to stay in sync between machines at home, office, my servers & a laptop.
If found that a (free)
Dropbox
account works like a charm.
In an attempt to familiarize myself with the unfamiliar, I decided to build
a fun side-project in Ruby and Vim.
Effectively learning a new language, framework, and editor.
Coming from Nano, Quanta,
Eclipse PDT,
TextMate,
Netbeans; I found (Mac/g)Vim is big a step, and
first two weeks you should not expect to be productive.
.svg/200px-Coat_of_Arms_of_Switzerland_(Pantone).svg.png)
When I started this techblog in 2007 and got my first 500 visitors, I was in
the clouds. If you told me then I'd hit the 5,000,000 visitor milestone 3 years later,
I would have probably slapped some sense into you.
Not in my wildest dreams did I imagine my little side-project would take off like this.
Yet here we are.
To celebrate I wanted to give a prize to the exact 5th milion visitor, but all I know
is that he/she is from Swit...
If you want to set up Ruby on Rails on Ubuntu Lucid from scratch, there are
quite
some
articles
online to choose from. I found most of them involve compiling,
only highlight 1 aspect, or are a bit outdated.
On top of that, getting it right can be hard as there are a number of
issues related to
Ruby and Debian/Ubuntu.
This is an attempt to put all the sweet info in 1 place.
At transloadit we use
HAProxy "The Reliable, High Performance TCP/HTTP Load Balancer"
so that we can offer different services on 1 port.
For instance, depending on the hostname, a requests to port 80 can be routed to either
nodejs (in case of api.transloadit.com), or
nginx (in case of www.transloadit.com).
HAProxy has been good to us and setting it up was a breeze. But getting HAProxy to log on
Ubuntu Lucid was harder than I thought.
All of the tutorials I found either didn't cover logging, or had deprecated information on it.
Google suddenly stopped being my friend.
Today we are very happy to announce the commercial availability of
transloadit.com.
Here the notes I took during the Dutch PHP conference 2010 (#dpc10). They're not a representative
summary of the event's highlights cause I could only attend 1 of 4 talks at any given time.
I also filtered out things that didn't interest me personally.
When you're debugging a tough problem you sometimes need to analyze the
HTTP traffic flowing between your machine and a webserver or proxy.
Sometimes you can use firebug or chrome inspector for that. But here's a
lowlevel alternative that I'm pretty excited about. Meet Tshark.
Some time ago I was in the situation where I was looking at 200 MyISAM tables
screaming to get converted to InnoDB for performance reasons.
You probably know that MyISAM is better at fulltext searches and such,
but what I needed was this database stop locking entire tables when I was
just doing row-level interactions. Here's how I did in one go.
Don't know Redis? Think Memcache, with support for
for lists, and disk-based storage.
You can use Redis as a database, queue, cache server or all of those combined.
Let's see how you can use this power in your PHP apps.
If you want to do command-line MySQL administration like restoring databases
or dumping statistics, you need the root account and it's password. Or do you?
I still got sites running Apache, but all new projects are launched with
Nginx. I don't need many of the features that Apache offers, and the speed
gain of Nginx is just tremendous. Once you've experienced it, I doubt you'll
want to go back.
At our company we have a lot of uses for a solid API. We can use it to
distribute config files, have servers report in, let customers edit DNS
records using their own interface, etc.
The core of our new project runs on Node.js. With Node you can write
very fast JavaScript programs serverside. It's pretty easy to install Node,
code your program, and run it. But how do you make it run nicely in the
background like a true server?
When migrating projects over to GitHub, I found there were still some
passwords inside my SVN repositories. Obviously it's not good practice to
store your passwords in a code repository - let alone at a remote location, so
I wanted to replace all passwords. Not only in the current version, but in all
commits that have been made over the past 3 years. Luckily with Git - you can.
Hi. Have you met KvzHTML? It's a standalone PHP Class for generating HTML. It's been hiding deep inside the caverns of my secret GitHub repo: kvzlib - a collection of code snippets too small or unfinished to deserve their own repository. But I find working with this class so pleasant, I thought I'd share the fun.