Wednesday, January 27, 2010

Mint.com's CEO Aaron Patzer gives presentation on building startups

Aaron Patzer, the founder and CEO of personal finance site Mint.com gave a presentation last October describing his journey taking Mint from startup to big-time; they were recently acquired by Intuit to the tune of $170 million.

This is a very insightful and humbling lecture, and just because I'm an engineer and therefore biased doesn't make it any less invaluable.

Check it out:
http://www.techcrunch.com/2009/10/08/startups-101-the-complete-mint-presentation/

Wednesday, December 30, 2009

Part II of the Gervais Principle

I discussed the first part of Venkatesh Rao's essay on the Gervais Principle here. He has since released part II, entitled "Posturetalk, Powertalk, Babytalk and Gametalk." Just as insightful as his first part, I highly recommend reading it over.

Tuesday, December 29, 2009

FOSS drivers for Broadcom Crystal HD creates a lot of potential for low-cost HTPCs

Broadcom's Crystal HD is a new technology that for most of us AV nerds that is as revolutionary as is evolutionary. Usually those are mutually exclusive, but bear with me. Anand argues that the available platforms don't make sense for what most people are trying to do. Intel's graphics platforms, while reasonable for the real-time decoding of most content, are simply too underpowered to handle 1080p. NVIDIA's ION platform, on the other hand, is just too expensive; I believe the phrase he used was "not retrofittable." This allows you to take an existing system that may just not have to juice to stream 1080p content and imbue it with that magical power, in the form of a mini-PCIE card. In the future, it should also be available in ExpressCard and 1x PCI-E form factors.

What makes this release revolutionary is a result of both Broadcom's strategy and the software ecosystem into which it will inevitably end up. First, Broadcom has released the driver under the (L)GPL for both Linux and OS X, and if you know me at all you should know how warm that makes me feel inside. This obviously has its own inherent benefits, such as a rapid update cycle, quick bugfixing, greater compatibility, etc. In combination with existing software for Mac/Linux, though, this is a no brainer. He uses XBMC as an example of one such media center because it has already incorporated the userspace support for the Crystal HD libraries, but I can easily see this being taken up by other projects such as ffmpeg, vlc, mplayer, and MythTV -- just look at how quick those projects were to adopt NVIDIA's VDPAU library!

I don't have any 1080p content currently, but that was based on my hardware limitations. Once I was able to move up from SD to 720p streaming my video library quickly upgraded. I don't think this is something I'll tinker with in the coming months, but certainly something I will follow as it combines three of my favorite things: media streaming, open source, and HD!

[via AnandTech]

Thursday, December 24, 2009

Full text search indexing in sqlite3

I guess I'm a little behind the curve, but I just discovered that sqlite3 has full text search capabilities (appropriately dubbed "FTS3") a la Google. FTS3-enabled tables are actually built atop virtual tables, about which I also just found out.

Anyway, there's a great write-up about it and how to use it here.

Wednesday, December 23, 2009

Using ext4 when compiling your own kernel

My parents finally upgraded to a new computer this past weekend so I took their old one (PIII, 384MB SDRAM) and turned it into a file server. I used gentoo to build it and was surprised how little time it took to actually configure (compiling was a different story...). I had an old 120 GB PATA hard drive lying around so I partitioned it as follows:
  • /dev/sda1 | ext2 | 100MB (/boot)
  • /dev/sda2 | ext4 | 15GB (root)
  • /dev/sda3 | swap | 1GB
  • /dev/sda4 | ext4 | 104GB (/mnt/whatever)
It was all pretty standard: upgrade to sys-devel/gcc-4.4.2 and sys-libs/glibc-2.11-r1, `make menuconfig`'d sys-kernel/hardened-sources-2.6.28-r9, made sure I included baked-in support for ext4, and compiled. After waiting half an hour (literally -- `time make` took ~32 mins!), I rebooted and was welcomed by an unfamiliar message in my system log:
EXT4-fs: dm-5: Filesystem with huge files cannot be mounted read-write without CONFIG_LSF.
Fortunately, my root partition mounted cleanly and the error only applied to /dev/sda4. Googling around*, I discovered that the "huge_file" feature is implicit when running mkfs.ext4. I saw 'CONFIG_LSF' in the kernel config and the documentation said it was only necessary for files 2TB or larger -- clearly nothing I'd need to worry about -- so I didn't include it in the kernel.

Instead of recompiling my kernel, I figured I'd just reformat the partition without huge_file support. Yes, recompiling the kernel would've been a pain, but reformatting seemed like the more ideal/elegant solution -- especially considering this partition was barely 100GB. The default behavior for mke2fs.ext* can be found in /etc/mke2fs.conf (on gentoo, at least), and the culprit looks like this under the ext4 block:
features = has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize

* http://old.nabble.com/Bug-509893:-e2fsprogs:-mkfs.ext4-produces-unusable-filesystem-td21193293.html