10.05.2011

Ted Dziuba knows how to troll


Ted Dziuba is quite possibly the most brilliant troll. With one post he has gone into the current Church of EventLoop and pissed on the cross.

Ryan Dahl responded with this defense which is a good "Hey, I didn't mean you should do everything in node," but misses the point about the community's craziness.

Node has a clear purpose: provide an easy way to build scalable network programs. It is not a tool for every problem. Do not write a ray tracer with Node. Do not write a web browser with Node. Do however reach for Node if tasked with writing a DNS server, DHCP server, or even a video encoding server.

No. If you are tasked with "writing a DNS server", you tell your CTO/scrum master/lead developer that they're an idiot and that they should install Bind or djbdns. Every time a programming language gets hot in the way node.js has, people try to rewrite the whole world using it. It happened with twisted python, it happened with ruby...

Yes it's appealing that you won't have to learn zone file syntax and you'll be able to do all sorts of cool dynamic shit (twisted-python had/has their own DNS implementation, which was also a bad idea). However, you're going to have security holes, you're not going to get AXFR right, and the next guy that has to maintain your pile of shit is going to curse your name for 3 months and then that guy is gonna go install BIND.

Node.js is a cool project. It has its usefulness for developing applications. It is seriously hyped now which is why people are taking the piss out of it.

Dzubia's line "Have you accepted epoll into your heart?" is brilliant. Developers get so excited by their shiny new hammer that they go and hit every goddamn thing with it.

Calm down. Think for a minute. "Is this really the correct tool for the job?"

Ask someone who hasn't got religion for a second opinion.

Do the world a favor.

4.18.2010

Fixing helvetica in Firefox - Ubuntu "karmic"

One of the things that always bugged me about linux as a desktop OS was its really ugly fonts in Firefox. I was always ashamed to admit it, I thought it was a really cheap kind of complaint. With my latest go-round with ubuntu, though, it really struck me how tiring it gets to read really bad anti-aliased fonts.

Here's what I did to get a decent experience:

First: install msttcorefonts. You gotta (begrudgingly) give it up to redmond, they make really nice fonts.

Firefox config


  • Under "Content" -> "Fonts & Colors" -> "Advanced"
    • Serif: DejaVu Serif
    • Sans-serif: DejaVu Sans
    • Monospace: Menlo (copied over from my Snow-Leopard install)
    • Uncheck the "Allow pages to choose their own fonts..."

Fontconfig stuff


One thing that didn't seem to be affected by the above was when a webpage specified "helvetica" as the font family, the ugliest anti-aliased helvetica would get picked. Following the advice here I added some xml to /etc/fonts/local.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

<fontconfig>
  <match target="pattern">
    <test qual="any" name="family">
      <string>Helvetica</string>
    </test>
    <edit name="family" mode="assign" binding="strong">
      <string>Arial</string>
    </edit>
  </match>
</fontconfig>

Then from the command-line (not sure if this was totally necessary), I ran sudo dpkg-reconfigure fontconfig and voila! firefox is no longer stabing me in the eyes with jaggies. (hooray!)

4.17.2010

Debian maintainers need to take it easy

Recently, I started using Ubuntu again (there was a spare Thinkpad-T61 in the office), and I've found that once again, debian's psychotic need to break things into micro-sized packages has bitten me in the ass.

For the longest time I've used mrxvt as my primary terminal emulator. It's got 256 colors, tabs, a cool little feature that lets you edit the scrollback in Vim, and most importantly, it renders the jmk-neep-8 font that I have an unnatural obsession with. The problem has always been that on debian, the terminfo entries for mrxvt (and quite a number of other terminals) were never present. Now I've found the answer: the "ncurses-term" package. Why debian doesn't install the rxvt-256color termcap is a mystery to me. Basically I do this to get 256 color vim by default:

if [[ "$(uname -s)" == "Linux" ]]; then
  if [[ -e /usr/share/terminfo/r/rxvt-256color && \
             "$COLORTERM" == "rxvt-xpm" ]]; then
    export TERM="rxvt-256color"
  fi
fi

Then in .vimrc:

if $TERM =~ '\(rxvt\|xterm\)-256color\|screen-bce'
  set t_Co=256
  colorscheme desert256
endif

And magic! A wonderful 256 color experience in the terminal, using bitmapped fonts on the best linux distro (as God intended).

</rant>

9.26.2009

I don't have the attention span for pkgsrc

Pretty deadbeat day. Yesterday finally got the end-to-end testing done on the location service, using the small curl-ffi library in confusion to download source, and encode the video.

Did some work on the standalone curl-ffi library, but was stymied by the callback particulars for the CURLOPT_WRITEFUNCTION, also dealing with FFI::Buffer was kind of confusing. My C skills are sorely lacking, and I'll have to wind up asking Wason for help again.

Got clearance to move forward with CouchDB, which made Nathan really happy. Seems like things are actually "improving" at Motionbox, which is a welcome change from the Bad Old Days.