VIM: USE !MAKE: TO AVOID AUTO JUMPING TO FILES
I get annoyed when vim jumps to another file when using :make. To disable it, just add ! to the end, :make!
WEIRD DISUTILS ERROR WHEN RUNNING PYTHON SCRIPTS WITHIN MACVIM
I saw this today when trying to run a nosetest in MacVim: DistutilsPlatformError: $MACOSX_DEPLOYMENT_TARGET mismatch: now "10.4" but "10.7" during configure Add this to your .vimrc to fix this weird message. let $MACOSX_DEPLOYMENT_TARGET = "10.7"
INSTALLING VIM-IPYTHON WITH MACVIM
I got really excited at the notion of having IPython built into MacVim (vim-ipython), so over the last few days I’ve spent some time mucking around trying to get this whole thing to work. Unfortunately there’s not a lot of documentation on how to fix the issues that might pop up, so hopefully this will help some people. (spoiler - MacVim download is 32 bit zeromq is 64) First, your prerequisites.
APPLESCRIPTING A REMOTE X-WINDOWS SESSION FOR VIRT-MANAGER
This isn’t just for virt-manager, but any X-Windows app you’d want to tightly integrate into your daily routine. Instead of firing up X11, then SSH’ing to your VM box and typing out virt-manager (insane!) you can script X11 to do everything with 1 mouse click. I have it in my Dock, and Launchbar also recognizes it as an app. tell application "Finder" launch application "X11" end tell set results to do shell script “ssh -X haddad-vmserver ‘virt-manager’”
DRIZZLE DIFFERENCES FROM MYSQL
I decided to take a look at Drizzle today and was encouraged by what I saw. Here’s my favorite part: There is no UNSIGNED (as per the standard). * There are no spatial data types GEOMETRY, POINT, LINESTRING & POLYGON (go use Postgres). * No YEAR field type. * There are no FULLTEXT indexes for the MyISAM storage engine (the only engine FULLTEXT was supported in). Look at either Lucene, Sphinx, or Solr.
GREAT ARTICLE BY THE VARNISH ARCHITECT
It’s been a while since I wrote any C, but I still appreciate reading posts about it. 6 years ago the architect of Varnish wrote an excellent post on how people are still managing their memory incorrectly. It reminds me of a post I wrote 5 years ago called Stop Trying to be Clever. Original post by Poul-Henning Kamp
MAKING BETTER USE OF YOUR .ACKRC FILE
Many command line utils have a . file that people rarely use. Ack is one of them. For a project I’m working on, there’s a var folder (ignored in git) where all the logs go. When I perform an ack search, I have no interest in ack looking through the var folder every single time. By default, ack only checks your ~/.ackrc file for it’s default switches. You can have per directory ack settings if you add this to your .
NGINX PUB/SUB MODULE
A coworker pointed me to this Nginx module today. You can write a chat server without actually writing a server. The message thread below indicates incredible performance. If you’ve got more than 50K users and 9000 messages / second you might be able to upgrade your hardware, or at least load balance your channels between 2 servers. When I open 10,000 connections, it seems to behave quite nicely. Sending half a million messages, I am able to get a throughput of around 9,000 message per second.
COFFEESCRIPT, BOOTSTRAP, AND LESS ARE AMAZING
I’ve been doing backend development exclusively for a long time now. When I decided to build splitmytab.net, I had sourced the front end development to HTML burger. I got the design through 99designs. Both were fine, but I really didn’t require anything past a basic utility site. When I decided to add new functionality to the site, I realized I’d either pay someone to do front end, or do it myself.
SPLITMYTAB READY FOR THE PUBLIC!
Splitmytab.net is finally for the public to check out. Splitmytab is a bill splitting and IOU system for friends. It uses facebook’s login, so you won’t need to put in anyone’s emails, names, or get people to sign up for an account. It’ll automatically keep balances of who owes who, so you can keep a running tab with friends and always know who’s buying the next case of beer. Please note: I’m not a designer, so there’s a few rough corners, but what’s there is simple and it works.