Inkscape for Open-Source Vector Graphics

Inkscape is a free, open-source program for drawing vector graphics. What is “vector graphics?” Instead of representing images as a grid of pixels with different colors, vector images are composed of shapes with lines and curves. This allows it to be scaled indefinitely without losing quality.

Inkscape compares with other vector graphics software such as Adobe Illustrator. Some of Inkscape’s advantages are that it’s completely free and open-source, as well as cross-platform. It’s strongest point to me, though, is its usability. It’s controls are very well thought-out.

  • Simplifying the toolbox without losing functionality. It may seem like less tools mean less flexibility, but do you really need a scissors, knife, pen, and node edit tool when all the functions can be accomplished with a single tool? Having used Adobe Illustrator before, I was frustrated by the 13×2 entire palette of tools, many of which could “expand” in a menu and become other tools! It was a constant hunt in the toolbox.
  • Great keyboard shortcuts. The toolbox, for example, is mapped intuitively to the F1, F2, etc. function keys. Boolean operations, such as union, subtraction, and intersection are mapped to Ctrl-+, -, *. Duplicate an object by Ctrl-D. It saves you from constantly moving the mouse between the toolbars, menus and the work.

Here are some examples of its ease of use:

  • Usable handles. When you click on an object, the standard handles appear on it for resizing it. But click on it again, and controls appear for skewing and rotating the object! No need to click through menus for “free transform” and the like.
  • Selecting obscured elements. If there’s an object behind another one, simply Alt-click where it is to select it. Eliminates the need for constantly changing the Z-order of elements or hiding layers.
  • Gradient editor. To fill an element with a gradient, you simply click the “gradient” icon for its fill and it automatically create a sensible default gradient–fading from the current color to transparent. The gradient fill gets handles in the artwork that can be dragged.

It has all the features necessary to easily to create “Web 2.0-style graphics,” with glossy highlights and drop shadows.

  • Gradients
  • Transparency
  • Gaussian blur

After only playing with it a little, I used it to create the header graphic for this site.

New desktop computer

I recently set up a desktop computer to be my development and gaming machine. A few months ago my dad had purchased a barebones 2.8GHz Pentium 4 computer for a project he was working on. Eventually it was abandoned, and so we had a spare case, CPU, and motherboard. I realized it would be perfect for a desktop, so I added a few components and now it’s sitting under my desk happily. :-)

  • Processor: Intel Pentium 4 2.8GHz: $100 (Fry’s)
  • Motherboard: Elitegroup 848P-A P4 motherboard with built-in 800Mhz front side bus, SATA support, hyperthreading support, USB2.0, AC’97 5.1ch audio, and gigabit LAN: $50 (Fry’s)
  • Chassis: ATX with case fan, 2 front USB ports and front mic/speaker, and 300W (albeit a low quality) power supply: $9 (Fry’s)
  • Power supply: replaced the one in the case with the Ultra X-Connect 500W PSU: $25 (Fry’s)
    Continue reading

Building PHP with MySQL–bug!

What kind of bug is this? When trying to build PHP on Linux using the option --with-mysql=/usr, I kept getting an error during make. Specifically, this was:

ext/mysql/php_mysql.c:1158: undefined reference to 'mysql_create_db' ext/mysql/php_mysql.c:1200: undefined reference to 'mysql_drop_db'

It appears that if you touch ext/mysql/php_mysql.c, updating the file’s modification time, the problems magically disappear. Crazy, huh? It must be forcing make to recompile this file. Silly? Very. But it works.

Read.