MindlessCode.net http://www.wildgardenseed.com/Taj/blog Life, The Universe, and Everything through an ADSL connection. Mon, 24 Nov 2008 21:10:56 +0000 http://wordpress.org/?v=2.1.3 en Fixed Point Decimal Class for C++ http://www.wildgardenseed.com/Taj/blog/2007/06/17/fixed-point-decimal-class-for-c/ http://www.wildgardenseed.com/Taj/blog/2007/06/17/fixed-point-decimal-class-for-c/#comments Mon, 18 Jun 2007 05:13:55 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/06/17/fixed-point-decimal-class-for-c/ .newl {display:none}
I recently needed a fixed point decimal support in C++ for an inventory program I’m writing. Why doesn’t one already exist? I don’t know. There’s one for boost, but since I’m already using Qt, I don’t really see a need to pull in yet another (big) dependency. It’s public domain, and appears to work (for me, [...]]]>
I recently needed a fixed point decimal support in C++ for an inventory program I’m writing. Why doesn’t one already exist? I don’t know. There’s one for boost, but since I’m already using Qt, I don’t really see a need to pull in yet another (big) dependency.

It’s public domain, and appears to work (for me, anyway). It’s all standard C++ with no extra dependencies, and should work on all operating systems (although I’ve only tested it on Linux/g++-3.4). Please shoot me a mail (tajmorton@gmail.com) or leave a comment if you find a problem. See this page for it if you’re interested (hello Google bot):

Fixed Point Decimal Class for C++

abilify vs
acai
buy accutane without a prescription
aciphex overnight no rx
acomplia online
actonel online
generic actos
aleve pills
purchase allegra
alli withdrawl
altace information
purchase antibiotics online
cost of aricept
buy arimidex online
ashwagandha cost
astelin pills
atacand vs
atarax with no prescription
generic augmentin
avandia online pharmacy
avapro cost
order avodart online
bactrim
benadryl product
price of benicar
biaxin drugs
buspar mg
cardizem product
prices celebrex
celadrin
buy cephalexin without prescription
purchase cialis
cipro online
cla medication
cost of clarinex
claritin delivery
clomid mg
cheapest clonidine
colchicine vs
buy coreg without a prescription
coumadin withdrawl
price of cozaar
creatine
discount crestor
cymbalta no prescription
price of cytotec
depakote tablets
diclofenac with no prescription
differin order online shipping
diflucan overnight no rx
diovan overnight no rx
doxycycline information
effexor tablet
flagyl
flomax pills
glucophage drugs
hair loss
hangover
cheapest hoodia
keppra
generic lamictal
lamisil delivery
buying lasix
purchase levaquin
levitra discounted
lexapro online pharmacy
cheap lipitor no prescription
lisinopril online
melatonin medication
metformin
methotrexate
micardis canada
no prescription mobic
motrin order online shipping
msm
neurontin rx
nexium mg
nizoral rx
nolvadex pills
omnicef tablet
paxil
penis extender information
phentermine
phosphatidylserine
plan b medication
buying plavix
pravachol online pharmacy
prednisone pills
buy premarin without a prescription
prevacid drugs
cheap prometrium no prescription
propecia medication
cheap provera
prozac overnight no rx
reglan tablet
reminyl
price of rimonabant
purchase risperdal
rogaine delivery
seroquel order online shipping
singulair coupon
skelaxin reviews
prices stop smoking
strattera product
stress relief discounted
synthroid
tetracycline
topamax canada
toprol
generic toradol
cheap tramadol no prescription
trazodone
tricor online pharmacy
trileptal online pharmacy
buy ultracet without a prescription
price of valtrex
viagra mg
order voltaren
vytorin
prices weight loss
wellbutrin
yohimbe
zantac canada
buy zetia without a prescription
zestoretic withdrawl
zithromax rx
zoloft delivery
order zovirax online
buy zyban without prescription
zyprexa medication
zyrtec online pharmacy
zyvox with no prescription

]]>
http://www.wildgardenseed.com/Taj/blog/2007/06/17/fixed-point-decimal-class-for-c/feed/
Thoughts on Usability http://www.wildgardenseed.com/Taj/blog/2007/05/28/thoughts-on-usability/ http://www.wildgardenseed.com/Taj/blog/2007/05/28/thoughts-on-usability/#comments Tue, 29 May 2007 02:55:59 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/05/28/thoughts-on-usability/ General ramblings written when I really should have been doing other things:

  1. Applications should keep track of the data they create:
    In other words, don’t make the user save data and remember where they put it. Use the email application model where you start the program and your data (email) is right there, stored “in the application.” When people lose files, it’s because they don’t remember where they put them. Usually they remember which program they used to create them (e.g., “I’m looking for a text document but I don’t remember what I called it (or where I put it)…”).
  2. Tags over Folders:
    Folders seem to me to be an archaic way of sorting data. Tags are much more flexible because each file/piece of data can have multiple tags assigned to it. This applies to email apps too.
  3. Use Fitts’ Law!
    Very generally translated to computers, Fitts’ Law says that the corners and edges of the computer screen are the easiest to find with the mouse. Current operating systems don’t use this as much could. Mac OS X has the menu bar at the top of the screen. XP/KDE have the start button at the bottom left. openSUSE has a cool thing where the “Slab” (start menu) will automatically come up when you move the mouse all the way to the bottom-left of the screen.

    It would help to see a lot more of this. I’d like to see window switching in 2 corners and possibly quick access to applications along one edge.

  4. Quick Application and Document Access
    I spend a lot of time searching through my K Menu or browsing through folders in Konqueror to find a document. In fact, a lot of the time it’s much faster just to type the program’s name into the Run Command box and hit enter. Use one of the edges of your screen (see above) to bring up the most recently used apps and documents and allow the user to search for apps/docs (ala Beagle and openSUSE 10.2’s slab, but improved). For keyboard monkeys like me, let people type in the name of the app and just hit enter.

    The thing on the right is a rough approximation of what I’d like. It’s searchable (just type in konsole, Konsole is automatically selected and hit enter), it makes your most used accessible from the keyboard (activate menu and use keys to navigate). Make it pop up when I hit the right-hand edge of my screen and I’d be fairly happy.

    Most importantly: don’t make the user browse through the file system to find anything (this applies to attaching files to email too)! Use tags, full content searches, and “this app created it” for finding files.

And a lot more too. I really like what the OLPC team did with the Sugar interface–it’s a very cool reinvention of computer interfaces. Personally, I find the current state of usability of all computer environments (Linux DEs/Distros, Windows, and OS X) all equally appalling–and I suffer daily seeing people struggle with the basic concepts that “make sense” to nerds like you and me (because we think like computers), but not to normal people.

]]>
http://www.wildgardenseed.com/Taj/blog/2007/05/28/thoughts-on-usability/feed/
Kubuntu 7.04 VMware Image http://www.wildgardenseed.com/Taj/blog/2007/05/24/kubuntu-704-vmware-image/ http://www.wildgardenseed.com/Taj/blog/2007/05/24/kubuntu-704-vmware-image/#comments Thu, 24 May 2007 20:18:59 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/05/24/kubuntu-704-vmware-image/ I couldn’t find a VMware virtual machine of Kubuntu 7.04 (Feisty Fawn) anywhere (I needed one for testing Autopackage). So, I created one:

VMware tools are installed. The username and password for the user are “user” (w/o quotes). Security Updates are not installed.

Any of you smart people who know how to use Bittorrent are welcome to setup a tracker.

Note: The directory inside the tarball is called Kubuntu-7.05 (which doesn’t exist). Everything really is Kubuntu 7.04.

NOTE :: I had to remove the file because it burned too much bandwidth (1.4TB!?). If someone can host it, or setup a bittorrent tracker, send me an email (tajmorton@gmail.com).

]]>
http://www.wildgardenseed.com/Taj/blog/2007/05/24/kubuntu-704-vmware-image/feed/
Will Linux Ever Make it to the Desktop? http://www.wildgardenseed.com/Taj/blog/2007/04/15/will-linux-ever-make-it-to-the-desktop/ http://www.wildgardenseed.com/Taj/blog/2007/04/15/will-linux-ever-make-it-to-the-desktop/#comments Mon, 16 Apr 2007 01:44:50 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/04/15/will-linux-ever-make-it-to-the-desktop/ NB: When this article says “Linux,” it refers the whole gig, not just the kernel. Also, this is about Linux on the Desktop. Severs are a completely different thing. OK?

Almost every year someone declares it to be “The Year of the Linux Desktop.” Yet, these pundits are wrong–every year. Definitely, Linux has made a lot of progress since the days of Red Hat 6.0, but it still has major architectural problems that have existed since the beginning (and actually, in the pre-Linux days as well).

Will Linux ever make it to the desktop? For a long time, I was optimistic about this. Linux has a terrific community of smart people and companies built around it. With this community, we’ve built a pretty amazing free operating system that does work. Maybe not for everyone, but it works for you and me. I like Linux because it makes my computer think like I think. I like Linux because I can easily tell my computer to resize all my photos into thumbnails, to create a list of all the postal abbreviations in the US, and to replace a line in a bunch of PHP files.

However, as it is, Linux is never going to replace Windows as Joe Average’s computer. It doesn’t matter how cool AIGLX/XGL look, how pretty Ubuntu’s Gnome is, or how it doesn’t get infected with Windows malware. As I see it, Linux has 6 fundamental problems that hold it back from being up to par with Windows or Mac OS X:

  1. The Linux kernel has no way for hardware manufacturers to distribute drivers with their hardware.
  2. Namespace Conflicts: Installing everything under one prefix just doesn’t work.
  3. No Platform: Linux has no list of standard libraries/versions of libraries that all distros are guaranteed have. (ISVs need this).
  4. A lot of important projects and libraries don’t seem to understand the importance of stable APIs/ABIs (and the pain breaking them causes).
  5. ELF needs some work.
  6. Centralized repositories for installation just don’t work.

Hardware Drivers

Hardware manufacturers face two (closely) related problems:

  1. Drivers (modules) must be distributed with the kernel.
  2. The kernel has an unstable interface.

Drivers must be distributed with the kernel

While not technically true (out-of-tree modules can and do work), for hardware to work “out of the box,” the driver needs to be part of the Linux tree. As the kernel is currently, there is no way for hardware manufacturers to ship a CD with a wizard and drivers that the user can simply pop in their drive–all drivers need to be compiled against the kernel they will be loaded by.

Even the optimal hardware manufacturer who releases their drivers under the GPL and sends them upstream for inclusion in the official kernel tree still face a major problem; they must wait for their users to upgrade to the new version of the kernel. Until that happens, their hardware doesn’t work out of the box. However, the manufacturer and the user don’t want to wait, they want their stuff to work “right now.” Which brings us to number 2…

The kernel’s unstable interface

The kernel has a fairly unstable interface. The most obvious example was the 2.4 -> 2.5 change which had a large number of changes. I don’t have a huge problem with this kind of “major version” breakage. Architectures changes happen (and usually for the better). You see similar things in the Windows and Mac OS X world, with different drivers for Windows 2000, Server 2003, XP, and Vista, etc. While not these kinds of changes are not optimal, often cause upgrade pain, and add to maintenance costs, sometimes they’re unavoidable.

However, the kind of breakage I’m talking about doesn’t happen between these large releases. The “bad” breakage happens in the minor releases (2.6.8 -> 2.6.9, 2.6.17 -> 2.6.18). This causes 2 problems:

  1. HW Manufacturers need to constantly update their drivers (if they’re not maintained by the Linux community).
  2. Drivers usually can’t be backported easily.

I’m going to use a software example first, because it’s something that bit me recently:
The VMware Workstation needs to install some kernel modules on the host system (and on the guest system if you want improved performance). The VMware folks provide a nice script that tries to automatically build and install the modules. It worked fine on my Slackware 11.0 with the fairly recent 2.6.19 kernel. However, I ran into trouble trying to get the guest system modules working on Fedora Core 6 (kernel 2.6.18) and openSUSE 10.1 (2.6.17, IIRC). On both these systems, the build failed rather spectacularly with lots of compile errors flying by.

It turned out that there were a few changes in some kernel functions and structs that the kernel provided. After a few hours of Google and nano and I had the drivers working, but it was a tremendous hassle. On Windows, the guest drivers (binaries) installed with just a click of the mouse, thanks to the fairly stable Windows API.

The VMware issue is an example of how the kernel’s interface isn’t stable and how hardware manufacturers need to deal with the hassle of maintaining up to date drivers (and the users need to find and apply the patches that the manufacturers provide).

Conclusion: The kernel needs to provide a stable interface for hardware manufacturers to use.

Namespace Conflicts

Traditionally, UNIX systems have followed the philosophy of dumping all programs under one roof, namely in /usr. This inevitably leads to conflicts where two applications have the same name. The FHS tells ISVs to install into /opt/appname. This works in theory, but not in practice, because distros don’t support anything outside of /usr (and sometimes /usr/local), but certainly don’t support adding new paths.

Conclusion: Fixing this (correctly) requires a new directory layout. GoboLinux provides one option. I personally favour something more unique than just the application name–a rootname (like is used in Autopackage) is probably the safest way to namespace something: @domainname.com/project/version.

No Platform

A platform is a set of libraries and applications that are guaranteed to be available for ISVs to use. These libraries must be very, very stable with few API additions and no ABI breaks (unless dealt with properly).

The LSB’s goal is for a standard platform. However, their platform was way too small to be of any use whatsoever. Statically linking kdelibs, aspell, gecko, python, whatever, will not work. It will simply create many bloated, memory hogging applications. A useful platform should provide the majority of libraries that desktop applications need (Qt/Gtk, Gecko, *spell, libcurl, glib…the list goes on and on).

In theory, distros are platforms. However, they fail on two important points:

  1. They’re not stable
  2. Different distros have provide different platforms

Stability

One of the most important corner-stones of a good platform is that old applications continue to function. Windows is a good example: An application written for and compiled on Windows 95 will still most likely run on Windows XP. If you’re lucky, you can even get Windows 3.11 apps working.

Linux distros, on the other hand, often break backwards compatibility. For example, KDE 2 was written using Qt 2. Almost as soon as KDE 3 was released (which used Qt 3), distros stopped distributing Qt 2, and moved up to Qt 3. Suddenly, any applications that used Qt 2 no longer worked on modern distros. This kind of removal of libraries can cause immense pain in the ISV world:

Imagine you’re an ISV who uses Qt 2 in your (Linux) application. You distribute a binary linked against Qt 2. At this time, all distros ship Qt 2 (or it’s available from their repositories), so you don’t bother to include an extra 15MB of files with your application, and rely on the distro to provide Qt for you. Suddenly, Qt 3 is released, KDE 3 is released, meaning that distros can drop Qt 2 because none of the apps they ship depend on it. However, you, as the ISV, are suddenly inundated by a deluge of support calls wanting to know why your app stopped working when they upgraded to Red Hat 8.

Distros as platforms

Distros have gone in the direction of each distro providing their own unique platform [1]–that is, one with no guarantee of compatibility with any other distro. This (in my opinion) is the worst kind of fragmentation possible. As ISV will sell an application as working on “Fedora Core,” while the Ubuntu people are left totally out in the cold with no support, and possibly no working binary at all. This doesn’t work unless 1 distro is going to “win” and have all the desktop market share, which I don’t see happening.

Conclusion: Create a list of the common libraries that desktop applications use, force stability of these libraries, and make sure distros ship these libraries (including the old versions).

The Importance of Stability

This goes along with the platform, but focuses on the projects instead of the distros. Unfortunately, a lot of high-profile projects don’t seem to understand the importance of ABI stability.
Examples include gcc and Python. Unintentional breaks also occur a lot too, see libtiff, freetype, and GTK+.

Conclusion: Stability is an essential requirement for any decent platform. Educate developers about the importance of stability. Don’t allow unstable libraries into the platform.

ELF

ELF, the format that binaries and libraries are in, needs some work. Basically, instead of loading DSOs in a tree, like you’d expect, it just binds against whatever library is loaded into the image. So, you can easily get your app bound to the wrong ABI of a library if a dependency needs a different version of a dep than you do. See this for more information.

Conclusion: Fix ELF so that it loads shared libraries as expected.

Centralized Repositories

All distros currently use a centralized repository for installing software. While it looks kind of cool at first, and it kind of works at a small level, it just doesn’t work in the end:

  1. Users don’t want to wait until J. Random Hacker gets Firefox 2.2 packaged up and put into the repository, they want it right now.
  2. Application developers can’t release beta versions that users can test easily.
  3. The people doing the packaging (the distros) aren’t usually the most qualified people to package the application (that would be the app devs). Sometimes they mistakenly ship broken packages (bad patches, not including essential files, etc).
  4. Distros can and will arbitrarily drop packages from their repositories, leaving users no way to easily acquire the software.
  5. The protection that repositories provide against mal-ware is questionable at best.
  6. Centralized repositories provide a huge single point of failure. Repository servers have been cracked (Debian), and almost certainly will be in the future. All it takes is for a server to be compromised for a few hours for it to infect thousands of machines.
  7. It doesn’t work at all for proprietary vendors. “Truly Free” distributions won’t allow non-free stuff in their repositories. Non-Free as in beer ISVs (e.g., stuff you have to pay for) will probably be fairly reluctant to give their software over to these repositories.
  8. It doesn’t scale. As Mike pointed out, it fails the Microsoft test. Imagine if Microsoft suddenly said that all software needed to be downloaded through http://download.microsoft.com for security reasons to protect their users from mal-ware. a) It wouldn’t work–there’s too much software for Microsoft to keep up to date and approve, and b) It would be way too monopolistic.

Conclusion: Distros have the power and control right now and nobody likes to lose control. Hopefully one distro will see the light.

Final Thoughts

As you can see, there’s a lot of work to do. Can it be done? I don’t know–maybe it can, but definitely not without a major shift in the current “UNIX Philosophy” that Linux has (binaries? not my problem, dump it all in /usr, keep it all centralized, etc).

Perhaps a new operating system would be a better place to start. There’s a huge number of very important “Linux” projects that are not Linux dependent at all–KDE/Qt, Gnome/Gtk+, Samba, Firefox, and CUPS to name a few. All of these projects (and many, many others) are vital to any free operating system. Linux has an amazing community of companies and individuals who have all put tremendous effort into the free desktop–it would be a shame to see it go to waste.

]]>
http://www.wildgardenseed.com/Taj/blog/2007/04/15/will-linux-ever-make-it-to-the-desktop/feed/
Software Name http://www.wildgardenseed.com/Taj/blog/2007/04/08/software-name/ http://www.wildgardenseed.com/Taj/blog/2007/04/08/software-name/#comments Sun, 08 Apr 2007 17:38:42 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/04/08/software-name/ I’ve written a something similar to the old USPS Shipping Assistant (creates mailing labels), but I don’t have a name for it–help, oh great internet, help!

]]>
http://www.wildgardenseed.com/Taj/blog/2007/04/08/software-name/feed/
Pandora http://www.wildgardenseed.com/Taj/blog/2007/03/26/pandora/ http://www.wildgardenseed.com/Taj/blog/2007/03/26/pandora/#comments Tue, 27 Mar 2007 05:54:46 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/03/26/pandora/ Go check out Pandora, it’s cool. Same idea as Last.FM, although they have more of the kind of music I like to listen to (and that humans make the initial similarity matches).

]]>
http://www.wildgardenseed.com/Taj/blog/2007/03/26/pandora/feed/
The Great College Search http://www.wildgardenseed.com/Taj/blog/2007/03/16/the-great-college-search/ http://www.wildgardenseed.com/Taj/blog/2007/03/16/the-great-college-search/#comments Fri, 16 Mar 2007 07:12:26 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/03/15/the-great-college-search/ Maybe the internet can help me…

I’m on the search for colleges. I’m looking for something with a good CS program, but also something with decent music, language, and drama. And on the Left-Hand coast is best. And not too much $$$, cuz I don’t got that much.

Anybody got suggestions? I wish I did. Leave a comment. Thanks.

]]>
http://www.wildgardenseed.com/Taj/blog/2007/03/16/the-great-college-search/feed/
Some People… http://www.wildgardenseed.com/Taj/blog/2007/01/27/some-people/ http://www.wildgardenseed.com/Taj/blog/2007/01/27/some-people/#comments Sun, 28 Jan 2007 02:16:10 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/01/27/some-people/ …have waay too much time on their hands.

Like this guy:

I’m kind of wary of a Cowboy Neal version of the Hobbit…

  • Upon discovering the magical properties of the Ring, Bilbo comments, “Imagine a Beowulf cluster of these!”
  • The Elven runes read, “First Post!” The fact that it can only be read by the light of the moon is denounced as a form of DRM.
  • The Trolls are moderated -1.
  • Bilbo shows Sting to Gandalf, who asks, “Yeah, but does it run Linux?” Bilbo responds by calling him an insensitive clod.
  • When the large party of adventurers arrive in Rivendell, Elrond complains that the town has been Slashdotted.
  • Smaug’s treasure pile sparks a heated debate about such uneven distribution of wealth. Numerous replies blame George W. Bush’s economic policies for the disparity. After such an intense flame war, having the dragon literally breath flames is determined to be -1 Redundant.
  • The Battle of Five Armies is increased to six to provide a Cowboy Neal option.
  • In the scene where the group meets the Wood Elves, they approach not to ask for food, but to complain that the Elves’ song is not in Ogg Vorbis format.
  • Gollum’s pale, subterranean appearance is lost on test audiences, who when interviewed thought he had just been staying home playing World of Warcraft. Director Cowboy Neal digitally adds a Microsoft shirt and brown Zune to Gollum to emphasize the character’s wretched condition.

How come some people get all the comic genius?

]]>
http://www.wildgardenseed.com/Taj/blog/2007/01/27/some-people/feed/
Why is it so Hard to Write a Good Photo Organization App? http://www.wildgardenseed.com/Taj/blog/2007/01/14/why-is-it-so-hard-to-write-a-good-photo-organization-app/ http://www.wildgardenseed.com/Taj/blog/2007/01/14/why-is-it-so-hard-to-write-a-good-photo-organization-app/#comments Mon, 15 Jan 2007 06:01:02 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/01/14/why-is-it-so-hard-to-write-a-good-photo-organization-app/ Yes Isak, I stole your title.

It’s time once again for the annual printed Wild Garden Seed catalog. This means pictures. And that means we need to find the pictures. And that means they need to be organized.

Applications like Picasa, F-Spot, iPhoto, and even Flickr do a pretty decent job of making your photos somewhat organized. You can tag/label/add keywords, put the photos to sets/albums/galleries, make screensavers, and burn CDs, but you can’t keep your photo collection on removable media (read: CDs/DVDs). I don’t know if this is just a case of “it’s hard”, or if the target user doesn’t need that feature. Most applications would work fine for the normal person who wants to take pictures and then find all the pictures of their dog to put on their Christmas card.

The fabled Joe Average takes at most a 1GB or 2 of photos a year. Most new computers can easily store this amount of data for years without running out of room. The problem comes with professional photographers, who might take 2GB in a month (that’s about 22/day at 3MB/photo, which is what some of the higher end cameras take). The average computer could maybe store 2 or 3 years of photos at a stretch. After that, what do you do? Buy a bigger HDD and reinstall Windows? Get an external 300GB HDD to keep everything on? What about laptops, who always are limited for storage? I suppose if you’re a large stock art company or magazine you could setup iSCSI or ATA-Over-Ethernet, but most photographers don’t have unlimited IT budgets and full time geeks on payroll.

I can only guess that the solution most people turn to is removable media like CDs and DVDs. We used Picasa to choose photos for the catalog, it was a nice piece of software, and worked surprisingly well. First, though, we had to manually look at each CD, writing down the ones we wanted, and then copying them to the hard drive for Picasa to manage. That was a pain. It would have been a lot easier to tag each photo as “lettuce” or “spider” when it was downloaded from the camera. Then, when you entered “spinach” into the search, all your images on your CDs would automatically be listed. Wouldn’t that be cool?

Of course, maybe I missed something really basic. Maybe F-Spot or Picasa already do this and I just wasted a bunch of time. I really hope so, because that would be great! But I’m afraid probably not. Which means I need to write another piece of software, or patch F-Spot, which might not be a bad idea.

Like Isak said in his post, I sound ungrateful too. I should write a patch. Hopefully I will. Soon.

]]>
http://www.wildgardenseed.com/Taj/blog/2007/01/14/why-is-it-so-hard-to-write-a-good-photo-organization-app/feed/
Screengrabs http://www.wildgardenseed.com/Taj/blog/2007/01/03/screengrabs/ http://www.wildgardenseed.com/Taj/blog/2007/01/03/screengrabs/#comments Thu, 04 Jan 2007 06:35:47 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/01/03/screengrabs/ Sometimes I’ll take fairly random screenshots on my computer. Here’s my latest selection:

Diebold Job A Job Advertisment on The Daily WTF. A little ironic, in my opinion.

Incorrect Battery Meter
When Batteries Die:

taj@moria:~$ cat /proc/acpi/battery/BAT0/info|grep mAh|head -n2
design capacity: 6000 mAh
last full capacity: 65157 mAh


taj@moria:~$ cat /proc/acpi/battery/BAT0/state|grep m[AV]
remaining capacity: 65157 mAh
present voltage: 12600 mV

Firefox Loves CPU!
That’s on a Intel Pentium 4 2GHz processor w/ 1GB of memory. Nice. (If you can’t read it, Firefox is using 93.4% of my CPU and 12.2% of my RAM)

GMail Ads
GMail shows the weirdest “related content” sometimes…

On a side note, I’ve finally gotten a Flickr Account. It’s got some of my favourite photos from 2006. Who knows, there might be one of you there. Actually not, because “you” don’t read this.

Oh, and I’ve lost 7 keys of my laptop keyboard now. 1 Ctrl, 1 Alt, 4 Arrow Keys, and End. A new keyboard (if you can find it) costs at least $100. I’ll suffer.

]]>
http://www.wildgardenseed.com/Taj/blog/2007/01/03/screengrabs/feed/
Fireworks http://www.wildgardenseed.com/Taj/blog/2007/01/01/fireworks/ http://www.wildgardenseed.com/Taj/blog/2007/01/01/fireworks/#comments Tue, 02 Jan 2007 06:31:29 +0000 taj http://www.wildgardenseed.com/Taj/blog/2007/01/01/fireworks/ Yay, Fireworks last night to ring in 2007! It was a lot of fun and fairly uneventful except for the launching platform burning up and 2 fireworks falling on their sides and going off pointing right at us. Pictures (click to enlarge, of course):

Purple Rain Going off Sideways
Purple Rain Tipped Over
Lady Bug
This thing spun around, launched itself into the air and came down right next to our Seed Drying Facility
Mortar-Style Shell Explodes Light up the Entire Sky!
Mortar-Style Shells Explode and Light up the Entire Sky
Burning Paper

Special Burning Paper–After it burns almost to the end it will lift off, fly to the ceiling, and float back down. (More New Years Entertainment)

Year in Review: No. You don’t care and I don’t either. However, I will say this: All 3 fiddle camps I went to this year (Mt Shasta Camp, and O’Connor Camp, and Booher Camp) all totally rocked. I learned so much, but I also got to be with friends for an extended period of time. I swear, those two weeks of O’Connor and Booher camp were the best 2 weeks of my life. Two whole weeks of just being with friends–learning, jamming, eating, playing games, talking, staying up until 2AM–it was the best.

The rest of the year was good too–I got my GED, my learners permit, took Drivers Ed, learned a lot, spent too much time on the computer, the usual, you know. I’m way too tired (and sick too :-() to post anything longer, but I’d hate to not post anything at all on New Years. (Brian: It’s your fault I posted this, hope you enjoy it :-))

Onto 2007!

]]>
http://www.wildgardenseed.com/Taj/blog/2007/01/01/fireworks/feed/
Export Gallery 2 to Flickr http://www.wildgardenseed.com/Taj/blog/2006/11/03/export-gallery-2-to-flickr/ http://www.wildgardenseed.com/Taj/blog/2006/11/03/export-gallery-2-to-flickr/#comments Sat, 04 Nov 2006 00:48:52 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/11/03/export-gallery-2-to-flickr/ I recently had to export a photo gallery running Gallery 2 to Flickr. I guess Gallery 2 was pretty good, but it took A LOT of CPU power and my hosting account was disabled a few too many times because of it. So, I broke down, downloaded all of Gallery 2’s files off the website, setup the database, and started groking the code. Finally I got a very ugly script that sorta worked. phpFlickr saved me a lot of time! Thanks!

For the Googlebot, and people coming from Google who are interested: Go here

More Googlebot indexing: Firefox 2.0 Autopackage

]]>
http://www.wildgardenseed.com/Taj/blog/2006/11/03/export-gallery-2-to-flickr/feed/
Seed Harvest http://www.wildgardenseed.com/Taj/blog/2006/08/31/seed-harvest/ http://www.wildgardenseed.com/Taj/blog/2006/08/31/seed-harvest/#comments Fri, 01 Sep 2006 04:11:43 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/08/31/seed-harvest/ We’ve been trying to get all our seed in over the past week. Rain threatened (and happened too) earlier this week which made stuff even more exciting.

More random pictures (click to enlarge):

A long row of lettuce
Wow, that’s a lot of lettuce…
Flipping over lettuce plants
…to flip over by hand (it’s very dusty too)…
Threshing lettuce
…and to thresh by hand with sticks.
People resting in back of pickup truck
…Of course, we have fun too. Laurie and Me taking a quick rest on the way over to unload the lettuce seed (in the blue tarp we’re laying on)
The Motley Seed Crew of 2006
The Motley Seed Crew of 2006 at 5:04 PM (we’re actually a lot more tired than we look)
Dog and people in truck
For some reason, you can never have too many dog pictures.

I’m not getting much work done other than seed work because I’m sooo tired when I get home… One more day this week, just 1 more day! Saturday is almost here. :-) Actually, it is fun to “mutilate helpless little plants with clubs like some botanical serial killer”, as someone put it.

Man, this CD is awesome.

]]>
http://www.wildgardenseed.com/Taj/blog/2006/08/31/seed-harvest/feed/
Orchestra! http://www.wildgardenseed.com/Taj/blog/2006/08/26/orchestra/ http://www.wildgardenseed.com/Taj/blog/2006/08/26/orchestra/#comments Sun, 27 Aug 2006 06:13:32 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/08/26/orchestra/ I had CYS “Camp” over the past 4 days. CYS is the local school orchestra for high school students…it’s a great program.

I guess I didn’t remember how much fun orchestra could be. Last year I was in a different (younger) orchestra, and I just didn’t seem to have much fun…I donno why. But CYS seems like it’s just going to be a blast. It’s just so much fun to play music with 65 other kids. The music is fun, the people are great, we actually sound fairly OK for only having practiced for 4 days…

Anyway, it was a blast. I can’t wait to start rehearsals in September. I met some new people, but really haven’t made any new friends yet. It seems fairly cliquish, but I just have to insert myself into a clique…or start the “outcasts clique.” Whatever, I’m sure I’ll meet some great people.

Oh, and here’s a question for all ye technical people: What do you do when some one’s email server (actually, and ISPs) won’t talk to you? I’m talking about the good folks over at c-zone. A while ago, I tried to send an email to someone@c-zone.net, and never got a reply. At first, I assumed they were just busy, but after 3 weeks, I began to wonder a bit. So, I sent an email to 14f16244dc0815420b307fce305fd241@c-zone.net to see if I would get a bounce message (14f16244dc0815420b307fce305fd241 is the md5 hash of some string, I forgot what…). The bounce never arrived. I tried from 2 email servers (gmail and wildgardenseed). This intrigued me a bit, so I used telnet to debug:

taj@moria:~$ telnet mail.c-zone.net 25
Trying 63.172.74.216...
Connected to mail.c-zone.net.
Escape character is '^]'.
220 mail.c-zone.net ESMTP
MAIL FROM:<tajmorton@gmail.com>
250 ok
RCPT TO:<email-address@c-zone.net>
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
QUIT
221 mail.c-zone.net
Connection closed by foreign host.
taj@moria:~$

Uhh..yeah. Looks like they’re using a mal-configured qmail setup. I think it’s weird that none of the techs have noticed it yet. Huh, we’re not receiving any email…I wonder why?

So, how do you contact these people? They’re support email is @c-zone.net is obviously of no value (since I can’t send email to that domain). I called them a few minutes ago, and got a slightly knowledgeable support person (after navigating a phone system that would hang up if you pressed the option number after the voice had stopped speaking), but they we’re of no help. He said “I’ll open a ticket if I get any more calls.” Ugg… Is there anybody who has c-zone.net as their ISP? If so, PLEASE, PLEASE, get ahold of them somehow… Call them, go to their office, whatever….send them a link to this post, send them the telnet session above, or something. This poor person I tried to email 3 weeks ago probably thinks I’m ignoring then. No, I’m not! Really!

Oh, technology.
Again, I’m up far to late. Night!

]]>
http://www.wildgardenseed.com/Taj/blog/2006/08/26/orchestra/feed/
Pictures! http://www.wildgardenseed.com/Taj/blog/2006/08/18/pictures/ http://www.wildgardenseed.com/Taj/blog/2006/08/18/pictures/#comments Sat, 19 Aug 2006 04:00:03 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/08/18/pictures/ I think it’s nice people put pictures in their blogs…sooo…you’ve got to tolerate some photos from me today. Sorry!

Click to enlarge:

Jamming at Mark O'Connor Camp
(12:30AM) Jamming the last night at Mark O’Connor Camp. I look tired, huh?
Mark O'Connor Camp
(2:13AM) Kayla, Me, and Kit (R-L) at the last night of Mark O’Connor camp
Taking a 45-second nap
Mary, Bowie, and I rest in the shade of the 40°C (105°F) day.
Harvesting Lettuce Seed
Mary, Kit, Frank, and I (L-R) harvesting lettuce
Threshing Mustard Seed
Threshing Mustard using our “seed cleaning machines”
(Frank, Kit, Mary, Laurie, and Me)
]]>
http://www.wildgardenseed.com/Taj/blog/2006/08/18/pictures/feed/
I Lived! http://www.wildgardenseed.com/Taj/blog/2006/08/06/i-lived/ http://www.wildgardenseed.com/Taj/blog/2006/08/06/i-lived/#comments Sun, 06 Aug 2006 07:04:11 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/08/06/i-lived/ I pretty much dropped off the face of the Earth for 3 weeks. Sorry. I’ve been having way too much fun and now my life is going to suck for a few weeks because I’ll be bored. Oh well.

So, to recap…the week after Mt Shasta Camp I took my GED so I could get my drivers license and take classes at the local community college. I passed. Easily. It really scared me how easy it was. Especially after I read this:

The GED Tests are rigorous. Those who pass the Tests have outperformed 40 percent of traditional high school graduating seniors.

American Council on Education

That’s from the pamphlet I get with my GED certificate. Doesn’t that seem a bit scary to you? Anyway, it was boring, boring, boring, and easy, easy, easy. Anyway, 7½ hours of tests is boring. I think I already said that. Enough.

After that we headed off to San Diego, CA for the Mark O’Connor Strings Conference. The drive down was fairly, um, exciting. Instead of just taking I-5 all the way, we decided it would be a great idea to drive down the coast on 101 and 1. Heh, great idea. It was beautiful, but it was very slow. We also started burning up our brakes on one stretch of road which was fairly exciting. Being in the middle of nowhere, on a road with hairpin turns, with a 9% grade over 1 mile, at 7:30PM is interesting. We survived, though.

The next night we stopped near San Luis Obispo, CA and tried to find a place to stay the night. All the camp grounds where full, as well as most of the hotels/motels. We finally found a place that was charging $200/night. The room was probably worth about $50. I mean, when you pay $200, you don’t exactly expect to wake up and find the police forensic unit a few doors down.

We did made it to San Diego on time. The camp was pretty great! There where tons of great teachers, and lots of great people too…but for some reason it just didn’t have the same feel as the other camps. It felt more…formal. I did of course meet some great people and got to hang out with some people who I kinda knew but now really know.

So yeah, O’Connor camp was fun. On the last day (Friday), after staying up until 2:30 AM jamming and generally having a good time with friends, I went to bed for 3 hours and got up at 5:30 AM to go to the Booher Family Music Camp in Sisters, OR. I was awake until 4:00 PM navigating, then I just kind of fell asleep.

O’Connor Camp Freakin’ Rocked!

Then we got to Booher Camp. I have to say, I just love this camp. There were about 250 people there (vs ~180 at O’Connor camp), but it felt nothing like O’Connor camp. I don’t know why. It just felt a lot more close and friendly. Maybe it was the round tables, I don’t know. There’s something about being crammed around a table eating good food. It was certainly a lot better than the crappy cafeteria food and long rectangular tables at O’Connor camp.

Jamming at Booher Camp

Jamming the First Night at Booher Camp

I took guitar at Booher Camp…this was the first time I had any lessons on the guitar (after faking it for about 2.5 years). It was neat, guitar is a very cool instrument.

What is it that causes the nerds to collect into 1 place? Let me rephrase that: What is it that causes nerds to be driven into 1 place? (Hi Eli, Annie, and Christy! Nerds Rule!). We had our own nerd table where everybody would assemble and have nerdy and geeky conversations. Very fun.

I already went on and on about how great Mt. Shasta Camp was so I’ll spare you… It’s also almost midnight, so I really need to go to bed–and I still need to slog through 96 emails. Read the post right before this and you’ll see how awesome Shasta Camp was–it totally rocked.

I had such a great time at all 3 camps this year. I met lots of great nice people, learned so much I feel like my head is going to explode, had serious sleep deprivation for 2 weeks straight, and generally had a blast. Yay for fiddle camp! And now on to seed field work–somewhat fun, but it just doesn’t have the same feel to it, you know what I mean?

EDIT :: Oh nice, “Listening to” isn’t working. Deal with it. :-(

]]>
http://www.wildgardenseed.com/Taj/blog/2006/08/06/i-lived/feed/
Mount Shasta Camp ‘06 http://www.wildgardenseed.com/Taj/blog/2006/07/15/mount-shasta-camp-06/ http://www.wildgardenseed.com/Taj/blog/2006/07/15/mount-shasta-camp-06/#comments Sun, 16 Jul 2006 06:55:29 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/07/15/mount-shasta-camp-06/ I just got back from the Mount Shasta Music Camp in (guess where), Mt. Shasta, CA. It was just incredibly, totally, awesome!

The camp was organized and run by Tristan and Tashina Clarridge. There were 16 instructors and about 50 students… Instruments included fiddle, cello, guitar, mandolin, banjo, hammer dulcimer, and a few others as well. We had five ~1hr classes a day (4 fiddle + 1 vocal), then we would go hiking and/or swimming around Lake Siskiyou (sp?). I have to say, the area around Mount Shasta and Lake Siskiyou is just gorgeous. Oh, and the water is freezing sometimes (snow melt).

The jamming that went on after dinner was just incredible–you would just sit on the floor and hear this wonderful music being played at all hours of the night. It’s pretty amazing when you have fiddles, cellos, banjos, guitars, singers, and other just going at it. Wow. I wish I would have recorded some of it, but a) I probably would never have listened to it after the first few days, and b) I ran out of MiniDiscs to record on. I guess I could rant about my love/hate relationship with Sony’s Walkman MiniDisc recorder, but I’ll spare you. I will say this though: Sony, please, just make a decent recorder that it easy to operate when you’re running on 4 hours sleep. That’s all I want. Oh, and don’t make track markers mysteriously disappear–that just isn’t nice. Thank you.

Everyone at this camp is so friendly and nice…it’s just great. Somehow it amazes me how you are around all these musical geniuses and you are sitting next to them eating oatmeal and having a perfectly normal conversation about books/broken bones/school/math/whatever–not you’re not hearing about how cool the diminished 5th in some song is. It’s just so incredibly cool.

For some reason, when I’m in crowds of people who I don’t know, I’m not really an outgoing person (although I try to be, it just doesn’t happen–I donno why). If you were one of the people who came up and introduced yourself to me and said hi when you saw me–it really made my day, I know that sounds really sad, but it’s true–thank you, and I love you. I really do like being around lots of people, but living out in the middle of nowhere, half an hour away from civilization, doesn’t really allow for it to happen very often. The people are definitely one of the reasons I love fiddle camps, along with everything else, of course…like learning cool new songs.

I learned about 20 new songs at camp–all sorts of different styles: Old Time, Texas Style, Bluegrass, Scottish, Jazz, Eastern European, and other stuff I can’t think of right now because I’m about to fall asleep at the computer.

Oh, and do check out Old School Freight Train, Crooked Still, and The Wild Band of Snee–these bands are just amazing. If I wasn’t so incredibly tired, I would list every teacher, their websites, and their CDs, but I just can’t right now, I’m sorry. Maybe later.

Photos should be up sometime, we’ll see… There may be some very incriminating ones of me crashed on the floor that just happen to also have a clock in the frame… I will make sure the clock is censored sanitized before allowing them onto your computer, so it may take some time.

A few of the many things I learned outside of class:

  • Rope Swings: Never, never, ever, again. Every single time I go off of one I get water in my ear and I go deaf for several very long hours. I basically can’t hear anything, just a bunch of people mumbling–it tends makes conversation a little bit hard. And it hurts like hell. I guess really need to learn ASL.
  • Staying up into 3:30 AM three nights in a row is definitely no sort of condition you should be in if you want to learn lots of new songs. Oh well, it was certainly worth it (and fun) to lay there and listen to people jamming. And besides, that’s why we make recordings of the songs, right?
  • Ultimate Frisbee is awesome.

If you were at camp, then please leave a comment and say hi! Also, if you have some photos you want to share with everybody else from camp, please email them to me and I’ll put them up in the gallery! If you have a bunch of photos (or a slow internet connection) then you can mail them to me on a CD. Thanks!

This post is way too long for me to proofread right now. I tried and just couldn’t do it. Sorry for all the incoherent ramblings and typos.

One last thing–I have my GED test on Tuesday (3 hrs) and Thursday (2 hrs), then we’re taking off on Friday for two weeks to go to two more fiddle camps. Maybe I’ll see you at the camps…it’s kind of scary thought that people who actually know me in real life could be reading this…and that I might see them in a week or two. So, if I don’t reply to your emails, I’m not ignoring you, well–I guess I am ignoring you–but I’m gone and having a blast, so don’t take it personally. OK?

Now I need to go to bed before it’s midnight again. I just can’t take 5 nights of going to bed “the next day.”

]]>
http://www.wildgardenseed.com/Taj/blog/2006/07/15/mount-shasta-camp-06/feed/
Geeks http://www.wildgardenseed.com/Taj/blog/2006/06/30/geeks/ http://www.wildgardenseed.com/Taj/blog/2006/06/30/geeks/#comments Fri, 30 Jun 2006 22:36:43 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/06/30/geeks/ Seen on a T-Shirt:

Geeks are people too

Oh, and what is this? According to this article, a geeks are:

Americans who use the Internet, have a home computer and own two or more high-tech gadgets.

Oh, come on.

Anyone have any geek “slogans” to stick on a T-Shirt? I’m thinking about making some…maybe.

]]>
http://www.wildgardenseed.com/Taj/blog/2006/06/30/geeks/feed/
Wow http://www.wildgardenseed.com/Taj/blog/2006/06/29/wow-2/ http://www.wildgardenseed.com/Taj/blog/2006/06/29/wow-2/#comments Fri, 30 Jun 2006 06:44:52 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/06/29/wow-2/ All I can say is that AAA totally rocks. AAA is a local theatre group made up of a bunch of teens who do all sorts of amazing acting in a basement theatre (which is also amazing, but that’s a different story). I just went to see Wicked: The Musical a few hours ago…it was totally awesome. You guys totally rock(ed) my world! (Although if you actually read this, then I’m a little worried–but leave a comment and say hi!. :))

Yeah, yeah, so you all already know, but Google released Google Checkout today. It doesn’t exactly seem like a “PayPal” killer, in that it’s an easy way to move cash around. Instead, it’s a way for people to buy stuff without creating a million account/password pairs and sending out their credit card info to everyone. Very Cool Stuff. It’s got what looks like a decent web API, which I’ve been toying with. I’m not sure if I’ll make www.wildgardenseed.com use it yet… Maybe yes, maybe no. Probably yes, though.

It seems like it might require some serious osCommerce hacking, as Google Checkout isn’t just a way of paying…it’s more a way for users to keep track of their web orders, view info about them, etc, all in one place. This means that the merchent needs to send the order data to Checkout in the form of a base64 encoded XML file. This means that the user isn’t entering all their info into osC, which means the order never shows up in the osCommerce admin section. I guess with a lot of hacking, it could be made to show up, but it would be hard. So…I’m leaning toward just having the product show up in Google Checkout and manually dealing with it there. We’ll see…

Need new music? Go check out Jonathan Coulton. You’ve probably already heard of him–his song Code Monkey was posted up on Slashdot a few months ago. Anyway, go check his music out! Chiron Beta Prime, Till the Money Comes, Madelaine, When You Go, The Presidents, Furry Old Lobster, Curl, and That Spells DNA…check them out! And the other too, of course.

Sleeeppp…iissss…gettttiinng…meeeeeeeee.

]]>
http://www.wildgardenseed.com/Taj/blog/2006/06/29/wow-2/feed/
OpenProfile http://www.wildgardenseed.com/Taj/blog/2006/06/12/openprofile/ http://www.wildgardenseed.com/Taj/blog/2006/06/12/openprofile/#comments Tue, 13 Jun 2006 05:45:31 +0000 taj http://www.wildgardenseed.com/Taj/blog/2006/06/12/openprofile/ Dammit, Google is always "stealing" "my" ideas! When you go to http://www.google.com, they must use some fancy AJAX scripting to suck the contents of your brain out through your fingertips and into a secret government database somewhere. And they get to take a look at it too.

Whatever, that probably looks really stupid.

But yes, I did have an idea very similar (almost exactly the same?) as Google’s Browser Sync Firefox extention a few months ago. Right down to encrypting/decrypting the info client-side. Let’s call my idea “OpenProfile” for now. My idea was to have a decentralized system where users are identified by their email address (e.g., tajmorton@gmail.com). The client would try to connect to gmail.com and log in with tajmorton. If it failed because Google wasn’t running an OpenProfile server, then the client would go and ask a centralized OpenProfile server who is responsible for providing service to tajmorton@gmail.com. The client would then connect to that server like normal.

Although this makes the system somewhat centralized, the entire network would not fall over if the centralized box went offline. It does encourage use of a universally unique identifier (no two people can have the same email address), which I think is really needed. It would be so nice to be able to go to any forum, blog, website (slashdot, digg, kuro5hin, etc), and webservice and not have to go through the same hassle of registering, choosing an username, filling out your email address, name, etc, etc, etc. [1]

OpenProfile wouldn’t just be for your Firefox profile. My idea was that many applications could store their configuration in your OpenProfile account, and you could go from computer to computer carrying around your config info. Apps that could use OpenProfile off the top of my head:

  • Web Browsers (bookmarks, saved passwords, etc)
  • Email clients (account info)
  • IM Clients (account info)
  • RSS Feed Readers?
  • Newsgroup readers?

Obviously other apps, too. For some applications, carrying around settings without data wouldn’t make too much sense (word processors, for example). OpenProfile would be for people on the road who just want to check their email and chat with their friends, not those who want to write their thesis/book/code at a cyber cafe computer. I guess OpenProfile could end up being a whole remote file system, but network file systems are always so terribly slow (unless a genius designs them).

That’s my rambling nothingness for the night…


[1] I guess this is what OpenID is trying to achieve, however they chose a website URL instead of an email address to identify people. I don’t fully understand the logic behind this, but it seems a bit weird to me, as not everyone has webpages, and some people have more than 1. Also, adoption currently sits at ~2 (LiveJournal and Blogger, TMK).

]]>
http://www.wildgardenseed.com/Taj/blog/2006/06/12/openprofile/feed/