Articles

The best batteries in the world...

ian – Tue, 2006 – 05 – 16 15:14

... are NiMH AA cells.

It's quite simple:

  • They store a lot of energy. Decent quality cells are rated at 2.4Ah nowadays. I remember a few years back, when a rechargeable AA cell could only store 500mAh, and a C cell was 2Ah. And we had to walk fifty miles in the snow to... oh, wait.
  • They're rechargeable. This is a no-brainer. I go through far too many batteries to be buying new ones regularly.
  • They're cheap. The price of quality rechargeable AA cells has remained roughly constant for the last 15 years - $5/cell. That used to be a lot of money for me 15 years ago - but now, I have dozens of the things.

How to build a web empire in your spare time

ian – Sat, 2006 – 06 – 03 15:16

A viable strategy for ongoing income is to create a number websites in your spare time that earn small amounts of revenue. Even if none of these websites manages to 'hit it big', a number of them combined can earn a reasonable ongoing income that requires little or no effort to maintain.

Due to its low risk and low initial time investment, this plan is particularly suitable for people already working full-time. They can gradually add an additional income source or transition away from full-time work. This is designed to earn consistent passive income - not get rich fast.



The virtues of small development teams

ian – Sat, 2006 – 06 – 03 22:55

For the most types of development, small teams of skilled developers - between two and four people - can be vastly more efficient than traditional, larger teams. Especially in the case of new product development, a small team can be significantly more agile and effective. Productivity can be improved again with the addition of assistants, or 'monkeys', that help with tedious jobs such as hand testing, graphic design, machine administration or simple coding jobs.

My vision of the ideal 'ninja' development team is three guys sitting around a round table. They're all passionate about their work. They're all experienced in the technologies they work with. They probably won't agree on everything (and will delight in arguing a case, even if it's silly), but they know when enough is enough and can make a good decision quickly. They know each other's strengths and weaknesses well. There's a certain 'vibe' to the team; the idea that their work is fun, it's a challenge, it's what they live for. Give them a seemingly impossible task, and they'll not only achieve it, but exceed all expectations.

Using CPLDs and FPGAs in hobby electronics

ian – Sun, 2006 – 07 – 09 06:38

Maybe I've just been asleep, but the price and difficulty of using CPLDs and FPGAs in hobby electronics projects has gone through the floor in recent months.

CPLDs and FPGAs are types of PLDs - programmable logic devices. They let you implement digital logic without the expense of fabricating a new IC. As a simple example, you could buy one FPGA device and program it to act like a large collection of AND gates. Then you could reprogram it to act like a CPU, or a JPEG encoder. One physical device can implement the functionality of any device.

This is similar to what a microcontroller does; indeed, for many projects, microcontrollers are preferable because they're easier to use. As soon as you need high performance, specialist hardware or flexible I/O, CPLDs and FPGAs are superior.

Market segments and tactility: the new Apple iPhone

ian – Thu, 2007 – 01 – 11 21:07

One Percent

During his keynote, Jobs asserted that they have a first-year target of 1% of the mobile phone market, or 10 million units.

To anyone who's dealt with startup companies or has researched starting one themselves, this should sound awfully familiar. This is one of the oldest bogus assertions in an entrepreneur's pitch: "We only have to get 1% of the market to be successful". Guy Kawasaki's "The Art of the Start" calls this the Chinese Soda Lie: "If just 1 percent of the people in China drink our soda, we will be more successful than any company in the history of mankind."

A quick guide to using MySQL in Python

ian – Sun, 2007 – 02 – 04 13:34

Need to access some MySQL databases in Python right now? As in now, really, I don't have time to read stuff, and please stop rambling because you're wasting my time now? Read on!

Getting started

Access to MySQL databases is through the MySQLdb module. It's available in the python-mysqldb package for Debian/Ubuntu users.

Your first step in any Python code is:

import MySQLdb

Python database access modules all have similar interfaces, described by the Python DB-API. Most database modules use the same interface, thus maintaining the illusion that you can substitute your database at any time without changing your code. I suspect that anyone doing this in reality has failed with hilarious consequences, but nonetheless...

Extending battery life on the Dell XPS M1210

ian – Sun, 2007 – 02 – 25 11:11

This is a post-in-progress. It's not nearly finished. If you have any ideas of your own, please post a comment below!

Introduction

I own a Dell XPS M1210. I bought it because it was powerful and small and kinda lightweight. I didn't buy it because I wanted to sit on an aeroplane and work.

Nonetheless, it'd be nice to get a bit more battery life out of it. There are a lot of reviews out there raving about the battery life, but that's the review models sing the 9-cell battery. It's an 80 watt-hour pack that sticks an inch out the back of the machine, ruining advantage number two: small size. So I bought the 53Whr 6-cell battery and only get two and a half hours of battery life. This laptop is a power hog.

Aoyue 906 Hot Air Rework Station review

ian – Wed, 2007 – 08 – 08 23:04

I've been lucky enough to use a Hakko 852 at work. It heats up quickly and accurately, gives you fine control over the air flow rate and has all sorts of temperature profiling magic. It's an elegant weapon for a more civilised time.

The Aoyue 906 is not an elegant weapon. Where the Hakko 852 is a perfect lightsaber, the Aoyue 906 is a wooden club in flourescent paint.


ZFS: the final straw

ian – Thu, 2008 – 02 – 21 11:45

It's official. I am finally pronouncing ZFS 'buggy'.

I do not trust the integrity of my data with this filesystem, and I suggest that you do not use it for any purpose.

I've tried three platforms so far, trying to find a stable ZFS system. They are:

OpenSolaris

Didn't support any common SATA controllers. Crashed if you looked at it the wrong way. Actively user-hostile. Tiny user community, most of it hostile to Linux users and noobs.

Linux ZFS-FUSE

Leaks memory and crashes about once a week, more if you use it. I can't complete a scrub or a complete copy of my storage pool (800GB) in one pass: the machine must be rebooted in the middle. Sometimes claims that the pools are fully intact but contain no data, which is somewhat disconcerting. Little hope for future updates as Sun has 'purchased' the developer that was working on the project.

Finding value in work

ian – Sun, 2008 – 04 – 13 10:21

I'm struggling with the idea of value in work that is performed.

I think this is related to my general dissatisfaction at web development. Sure, there's a lot of stuff going on. Sure, there's even a little money to be made. But why is it valuable? Why does anyone care?

Ultimately, we're just presenting and shuffling textual information. This is valuable to a point. Certainly, I love to be able to punch in any old company's name, get info on their offerings, contact numbers, buy their stuff, etc. That's great.

Sidebar: I'm trying to find some good Bluetooth chips. There are a half-dozen manufacturers that make them. Philips/NXP make some very promising-looking products but don't provide a datasheet on the web, so I can't decide whether they're suitable. I find the number for the local sales office and it turns out to be a poor woman in Accounts who doesn't know why she's getting so many technical calls. She forwards me to reception. Reception says that no, NXP doesn't exist any more, it's some other company. This other company doesn't have a website, but here's the mobile number of a guy that can help me. I call the mobile. Guy doesn't call back. It's like, I will give you money if you answer a few simple questions, and I can't even find the right person to talk to.

Robotic locomotion

ian – Sun, 2008 – 04 – 13 10:23

Introduction

Robotics is an area that I'm interested in for the long term. It's similar to software development twenty years ago: it's immature, there's no general consensus on what the 'best' way to do things is, and there are a lot of unsolved problems. The development cost is starting to come down to the point where ordinary individuals can tinker and learn without external sponsorship.

I think the 'unsolved problems' element is important. In software, 20 years ago, we were contrained by technology and immaturity. We didn't have cheap multi-GHz CPU's. We didn't have cheaply accessible worldwide communications networks. We didn't have stable, reliable, cheap operating systems. In 1988, we had the 8086, DOS and maybe a megabyte of RAM.

Sipura SPA-841 teardown

ian – Thu, 2008 – 05 – 08 06:45

Today, we have a special guest: a Linksys-branded Sipura SPA-841 VoIP phone.

Sipura/Linksys SPA-841Sipura/Linksys SPA-841

Let's see what's inside.

Opened SPA-841Opened SPA-841

Overall, this device looks like it was built to be low cost, while acknowledging that volumes also won't be very high. This is usually a bad combination as a manufacturer - you end up having to use a lot of (expensive) manual labor, since it's too expensive to tool up machines. Rather than integrate the LCD into the mainboard, they've soldered an adaptor cable to a header on the mainboard. The same is true of the off-board connections; most of them are soldered rather than using dedicated connectors, saving a few cents per connection. Most of them are covered in hot glue to provide a little mechanical stability.

What I learned from setting up ZFS on my fileserver

ian – Fri, 2007 – 07 – 06 04:30

I've been using Linux with a software RAID5 array for my fileserver for a few years now. It's pretty good. I've had one drive failure in about five years. But, of course, I filled it up (again). I decided to switch to ZFS for the most recent array for a few reasons:

  • I believed that I could add drives to the RAID array whenever I wanted to
  • I liked the idea of end-to-end checksums
  • It's supposed to be more robust against power failures than RAID5

In particular, I liked the idea of having two parity drives (RAID6 or raidz2).

This is what I learned.


Running AbstractSpoon ToDoList under Wine

ian – Thu, 2007 – 08 – 16 21:31

I'm using Ubuntu Feisty with the Wine that's installed with it - version 0.9.41. I'm still using a relatively old ToDoList 4.10.2. I also tried version 5.3 - it started up fine, but would page fault while loading some of my task lists.

Copy these dll's from a Windows installation into the ToDoList directory:

  • mfc42.dll
  • mfc42u.dll
  • msxml2.dll
  • msxml2r.dll
  • msxml3.dll
  • msxml3r.dll
  • msxml.dll
  • msxmlr.dll

FIre up winecfg. Under the Libraries tab, add overrides for msxml and msxml3. Their load order should be (native, builtin).

Optimizing your Start menu for fast program access

ian – Tue, 2006 – 05 – 16 15:19

Everyone is looking for a better way to launch programs in Windows. Most of these revolve around clicking little tiny icons in the Quick Launch bar or LiteStep. There are a few programs around to extend the Run dialog so that you can type a quick snippet to launch a program - but I've never been able to stick to that for more than a week at a time. You can also program extra buttons on your keyboard to launch programs - but I have far more programs than buttons, and every computer I use has a different keyboard.

My scheme involves using the existing Start menu - so it works without additional software - and simply organising the items so that each item can be accessed with a single keystroke.