So, I asked the Internet how to shop for tablets. The internet told me, “Get a Wacom tablet. Get the cheapest Wacom tablet you can find.” So I did. I hunted around for a while and then ordered a Wacom Bamboo CTL460 pen tablet for around $50.
Wacom is notable not just for being, essentially, the name in graphics tablets, but also for the fact that they're the only major graphics tablet producer that supports Linux-based operating systems. I happen to run a Linux-based OS (namely Ubuntu) on my computer, so that's a necessary feature. There are existing free and open source Linux drivers for Wacom tablets1. All other companies that produce tablets, by not having such drivers, have voluntarily rejected my money, which made my choice as a consumer very easy!
(You can tell I'm an expert on the tablet market because I spent a few hours researching it on Google!)
The tablet is supposed to arrive between June 16 and June 21. Since most of the work of this project is in experimentation once I actually receive the tablet, I might be a bit stalled for the next 5-8 days. I guess that gives me plenty of time to learn about file formats – maybe I should write a program that can load, make simple edits, and save a .png file, as an exercise to make sure I know my stuff.
But that means I need to decide what programming language to write it in! I'd love to write it in Haskell, which is a truly wonderful language, but I haven't written much Haskell code before, and there are a lot fewer existing libraries2 for it than there are for C/C++, which is/are the language/s I have the most experience in. I don't really want to stack the extra effort of learning Haskell on top of the effort of learning how to deal with the image formats. I'll come up with a different project to use as my “Eli Dupree learns Haskell!” project, I guess.
- Maybe at some point I should also write about why the freedom to dissect and modify the software you use is important, but that's a bit of a daunting task for this post. back
- A “library” is a bunch of general-purpose code that can be used in a lot of different projects. For instance, libpng is a library of C code that loads and saves .png files, and it can be used in any project that needs to deal with .png files. As long as the project is written in C, anyway. back