May 29th, 2008 : Choir Tour 2008

For the past eleven days I have been on Choir Tour. Those following me on Twitter have been receiving updates along the trip. For the purpose of creating an archive of events, I am here posting the whole of Choir Tour (at least in my perspective) in 140 character chuncklets.

I did a bit of cleanup on sections where I made mistakes with typing on my phone. I decided not to worry about punctuation and capitalization.

Friday, May 16

Choir Tour Leaves tomorrow @ 9:00am. I’m running@ about 1/8th my current tech setup. 7:43 PM

Saturday, May 17

Killing time till Choir leaves. Listening to Jonathan Coulton. Enjoying the lack of pressing work. 7:19 AM

Busses mostly packed. Gathering for pre-trip brief. 8:50 AM

On bus waiting to leave… 9:14 AM

Leaving Bethany Lutheran College! 9:27 AM

First rest stop. Windy and dusty. Played frisbee.11:18 AM

Lunch stop in Sioux City. 1 hour break. 12:55 PM

Watching Transformers. Screens are too small and the volume too low. Still good though. 3:32 PM

At the church, concert in 1 hour. 4:01 PM

Concert is starting now. Walking to the front. 5:28 PM

Concert went well, supper was excellent, 1.5 hour drive to hotel. 07:55 PM

Hotel goofed up, lost our reservation. Guess we are looking for a new place to stay. 09:50 PM

At a new hotel. Got an internet connection set up. Wireless and insecure, but I’m just checking in on Twitter. 10:31 PM

Sunday, May 18

Up early, breakfast and on bus to first concert. 06:59 AM

setting up at church, concert in 1 hour. 07:46 AM

Another amazing meal, now it is nap time. 10:42 AM

Looking for things to do in Branson, MO on Tuesday. Have the whole day free. Any suggestions? 12:49 PM

loading bus to go to second concert of the day. 04:47 PM

Being fed again! Yummy! 05:21 PM

This church is amazing meal and great sounding sanctuary. 06:35 PM

Monday, May 19

Breakfast time. Concert at Waco NE this morning. 07:39 AM

Just walked to Starbucks for a latte. Bus leaves in 45 min. 08:11 AM

Concert went well. Rest of the day: bus ride. 10:47 AM

still on bus. stopped for lunch at noon-thirty. still have a ways to go. 03:25 PM

bus ride feels unending… Another hour or two left… Back to playing with my ds. 05:55 PM

Finally arrived at Precious Moments Hotel. Woot! Done with driving, time for Frisbee or swimming or ANYTHING besides being on a bus. 06:47 PM

Supper is almost the same as lunch: peanut butter sandwich. With the addition of Pringles and a double cheese burger. 07:36 PM

I love the smell here in Carthage. Very nature-y. 08:22 PM

Tuesday, May 20

Up, showered, headed to breakfast. Bus leaves for Branson MO around/after 8:30. Sounds like a group is headed to the beach… 07:17 AM

Driving around Branson, MO. 10:50 AM

Walking to the dam at benson 03:02 PM

Walking to the Stone Hill Winery, them to find supper. 05:49 PM

just finished the winery tour. Time to find some dinner. 07:43 PM

Chinese for supper. 08:18 PM

Wednesday, May 21

Breakfast was the best yet. Two hours till departure. 07:57 AM

Loading the bus and heading to the Titanic museum. 10:07 AM

Just made it through the Titanic museum. I died. But I helped to save many others. 11:56 AM

lunch break. Saving money… No mcflurry… Sadness! :( 02:01 PM

Arriving at the next church. 05:11 PM

At hotel for night. Concert went well. My throat is scratchy… must not get sick! 09:24 PM

Off to bed for the night. Load time tomorrow is 9:30 (I think…) Desperately want my throat to not be sore tomorrow. 11:20 PM

Thursday, May 22

I’m up and headed down to breakfast. Roommates still sleeping, buss leaves at 9:30? 07:46 AM

Loading bus and leaving. Next stop: St. Louis. 09:39 AM

Walmart stop for lunch and cold medicine 11:24 AM

Arrived at Missouri History Museum. 01:25 PM

done at museum. 2 hours to next stop. Time for chips and salsa. 03:04 PM

at the next church. 05:14 PM

Amazing meal. Rhubarb pie. Nuf said. 06:10 PM

stupid hotel doesnt have free internet. Stupid hilton. 10:23 PM

Frisbee on top level me parking ramp. w00t! 11:17 PM

Friday, May 23

wandering around spring field. Lincoln-y stuff. 10:12 AM

Toured some Lincoln sites. Back to hotel for lunch. Roommates are still sleeping. 11:43 AM

Off to library and them capital. 12:32 PM

Off to cold stone for had cream. 06:38 PM

Going to see Prince Caspian. 06:56 PM

Saturday, May 24

load and leave at 7 am this morning. 06:46 AM

Stop at McDonalds I guess this is breakfast. 09:08 AM

stopping for lunch in madison wi. 11:58 AM

In West Salem for 4 o’clock concert. Supper to follow. 02:58 PM

concert done, food time. (i like singing before eating as opposed to singing after eating.) 05:36 PM

frisbee! 06:20 PM

back on bus. headed to hotel. 06:24 PM

Finally! A Hotel with good Internet! 07:15 PM

@boblmartens Okay, your right… it is kinda slow, but at least it doesn’t cost $10 a night! 07:55 PM

Just got done playing an hour of ultimate frisbee. SO excited! 10:11 PM

Sunday, May 25

Far too early to be up… Bus leaves at 6:45 06:30 AM

first service done, i need a nap before round 2 09:27 AM

second concert done. dead tired. food time. Legs cant support self. 11:58 AM

Loading bus and off to next stop: 12:49 PM

arriving in wisconsin dells 02:24 PM

No internet at this hotel. so, not only am i starving, but i cant use google maps to find food. 07:28 PM

Monday, May 26

beautiful morning today. great time to explore while choir mates sleep. 07:39 AM

at tanger outlet mall looking around, killing time. should really find some cheese curds. 10:33 AM

Got cheese curds. eating cheese curds. 11:06 AM

Heading to madison for a 4 o’clock concert. 01:26 PM

setting up at grace lutheran for the concert. 02:53 PM

fruit buffet for pre concert snack. Watermellon, grapes, cherries, oranges, apple slices. (My headache has slightly subsided). 03:31 PM

hottest concert yet, it was hot in there. 05:09 PM

done swimming for the night. Pool is closed. 09:01 PM

Tuesday, May 27

Lunch break. headed to dennys. 11:57 AM

Stopping to ride the ducks. 01:02 PM

finished the duck tour, headed to our final stop of the tour! 02:20 PM

Arriving in eau claire. Last stop before home. 04:39 PM

Brats for supper. Concert at 7. 05:32 PM

One more concert to go, home concert tomorrow at 7:00pm 08:23 PM

On the road back to mankato, mn 09:18 PM

Arriving in mankato. soon to unload busses and go to bed. 11:49 PM

Wednesday, May 28

Home Concert is at 7:00, choir meets to setup, warm-up and robe-up at 5:30. 05:07 PMConcert over. Packing up, heading home. Choir tour is done.

March 30th, 2008 : WordPress Plugin: Category Posts in Sidebar

For anyone who needs to have all posts from the current category displayed in their sidebar.

Usage is probably fairly specific, but for sites that break down products into categories it is extremely helpful.

March 19th, 2008 : DeChaos 4.0 (beta)

Just finished some coding work, which at long last has brought some wonderful functionality to my pride and joy, DeChaos.

DeChaos 4.0 has improved functionality, allowing for 1 level of subfolders and also moving forward and backward freely, skipping some photos and going back to rename others. I have also added support for other file types. At first I limited the program to jpegs, but now it accepts jpegs, pngs, gifs and tiffs.

From what I can tell it seems to be working wonderfully. But I am still looking to find any tiny bugs, which is why I’m posting it as a beta. So if anyone happens to stumble upon a bug, let me know and I’ll try to fix it.

You can find the download link here: http://apatheticthursday.net/dechaos/

February 9th, 2008 : DeChaos 3.0 (beta)

Well I finally have my photo sorting program to a state where I am happy enough with it that I am willing to let other people completely ruin it for me. It’s been a long process getting everything to work but I think it is all entirely worth it.

This program was written entirely for myself, but if someone else happens to find a use for it, that’s wonderful. That’s the reason I wanted to polish everything, so that I could have a really nice program that other people could use if they wanted too.

This program stemmed from a realization that I had to organize my photos. My picture collection had grown to 18,000 photos, most of which were in iPhoto and most of which were neither organized or named or rated or tagged. In fact, there were several batches of photos that had been dumped into iPhoto and never looked at again.

My task of sorting the photos was daunting to say the least, and iPhoto wasn’t much help. If I would often find myself deleting a photo from an album only to later remember that the photo was still in my library and I had not truly deleted it. Trying name or sort the photos in iPhoto caused an additional challenge because I had already set up several half completed sorting schemes and dragging photos to albums is rather clunky.

So I went in search of other photo organization tools. Nothing seemed to have the feature set I needed. I was looking for something that was

  • easy to use and able to sort thousands of photos quickly
  • something that was not proprietary
  • something that would allow me to sort the photos into groups
  • something that would let me name the photo.

But I couldn’t find anything that did this to my satisfaction. So I began to think about creating my own photo sorting program.

I had been wanting to try my hand at a full fledge Applescript Studio Application with a nice GUI for some time now, but I had never really had an opportunity. I figured this would also be a great learning experience for me as well, so I began with my design.

My initial program didn’t take long to write up, but I relied only on Applescript for this version and as a result the move commands to the Finder were far too slow. I rewrote the program using shell scripts to move the image files around, which sped things up tremendously. I used this version for awhile until I got fed up with the lack of a few of what I deemed “necessary features.”

Finally, I reworked the interface and added the needed features to the program, spending many more hours debugging and tweaking. While there are still a few little annoyances within the program, I can live with them until I can get them out. (Sometimes things just don’t do what they are suppose too.)

The program is very simplistic in nature. I exported all my photos from iPhoto into 3 different folders (based off of year taken) which culminated in a folder of several hundred photos, a folder of 4,000+ photos and a folder of 12,000+ photos. The program would then run through a list of the images I gave it and move the files to a new folder of my choosing and rename the file as I commanded.

I started off by creating a folder called “Philip’s Photo Library” wherein all my photos would eventually be sorted. Upon starting up my program I would choose a folder of photos to be sorted and my “Philip’s Photo Library” folder and off I would go to sort the photos.

DeChaos loads up the first photo in the list and displays it in the image box. I can then type a folder name into the drop down list menu. If, say, the photo was a , I might want to put this photo into the “Flowers” folder, so I would type in “Flowers” into the combo box. If I already had a folder called “Flowers” created, the combo box would automatically fill in as I typed, making it easy to have very specific or long folder names (”My Great Aunt Mable’s Wedding”). If I wanted to name the photo that was being sorted, I could then type in a second name in another text box. This would be the name of the image file after it had been moved.

The one issue I ran into at this point was the issue of duplicate names. I solved this issue very easily by attaching an ‘arbitrary’ number to the end of each photo that was sorted. This makes duplicate entries extremely unlikely, if not impossible, the only cost is that the image file names look a bit messy. This doesn’t bother me, yet, and I have been thinking over a few different options for getting rid of them, but it doesn’t seem worth the effort.

So as of right now, I am considering myself to be done with the overall development of DeChaos. I have noticed a few inconsistencies and problems for different people on different computers and my goal is to fix those as they come up, but for I’m not entirely sure what’s causing the problem yet and it’s only causing the problem in some instances so it’s not something that is readily reproduced.

If anyone is interested in DeChaos, proceed to download and try it out yourself. I am currently working on some documentation for the program, but I don’t know how much I really want to do with it, so stay tuned. In any event, if you have questions or problems drop me a line or leave me a comment and I’ll see what I can do to help.

UPDATE: New Version is out

DeChaos 4.0 (Build 1101)
Requirements:

  • Mac OS 10.4.x or 10.5.x
  • Photos that need to be sorted

Download Page

February 4th, 2008 : Discover the Real Problem

I had a great problem solving experience last night which not only solved the problem I was facing but also did a great job of helping me to realize a real world example of some of the things I am learning in my “Theatrical Design” class.

I was working on my photo sorting program, known as DeChaos, and I was struggling with the issue of allowing users to move forward and backward along the list of sorted photos. I wanted it to work so that if someone knew they had multiple shots of the same photo they could jump ahead or skip over a photo if they wanted to see what was next. The issue that faced me was that if the user decided to sort that photo the program would then move onto the next photo and, should they attempt to go back to the last photo, the program would try to load the photo that had already been sorted (meaning it moved location) and would error out because the photo file wouldn’t exist.

I had in my head, multiple elaborate schemes of how to keep track of the photos that the user skipped and how to jump back to them, keeping them from going back too far, and the whole thing was a complete mess.

I was thinking this over while sitting on the steps outside the SuperBowl party that was going on in the other room when Anna came over to talk to me. I started to explain the problem to her so she had an idea of what I was working on, when mid-sentence the answer struck me like a lightning bolt of energy.

The problem I was working on in my mind was “How do I keep track of the pictures that a user skips,the pictures that the user sorts, without slowing up my program, making a lot of unnecessary lists and variables and keep it simple and reliable.”

But as I explained my problem I realized that the issue was really “How do I keep the user from sorting photos after they have skipped over the photos.” The answer was immediately obvious to me: Don’t give them the option.

If I don’t allow users to sort photos after they have skipped some, they are forced then to go back to the photo they were at when they first skipped ahead and resume sorting from there. It was an amazing solution, easy to implement, and it makes perfect sense.

What this really did for me though, was open my eyes and look at the big picture, which was really “what do I need to prevent?” rather than “how can I make this work?”

This is something that people often overlook, sometimes we are just so focused on the gears that we don’t see that they aren’t doing anything. Thats when we need to take a step back and look at the whole clock.

February 3rd, 2008 : Experimenting with Integration…

I’m in an experimental stage with integrating all my personal feeds. I think it would be nice to have one spot where all my blog posts show up, all my Flickr photos show up, all my Tweets show up and all my YouTube videos show up. My difficulty is that I would like my blog to remain clean of the clutter and chaos that all of these different things will throw at it. I think I finally have a solution which is mostly implement right now.

This all started when I signed up for Tumblr, which I was thinking about using for this purpose, but it just didn’t feel right with what I wanted to do. So after scouring the internet today I came across “SimplePie” which, I must say, has the most beautiful website, so much so that it doesn’t feel like the software should be free. Anyway, using SimplePie to create a few WordPress Pages, and suddenly I have this:

http://apatheticthursday.net/twitter-feed/ and

http://apatheticthursday.net/flickr-feed/

Which finally pulls everything together onto one site. My next step may be to try some more integration and set this up to work with a few other services that I use online, but I have to think over the interface I want to achieve before I jump in with any code.

January 31st, 2008 : Relearning Your Code

One of the worst feelings I get when programing is the feeling when coming back to an unfinished project after several days (maybe a week or perhaps a month) of not working on it. Reloading the code back into the brain is time consuming and annoying. If I know that I don’t really have the time to jump back into, it’s even harder, because I really have to force myself to learn it again, because my mind will tell me constantly that it is not worth the effort.

That’s where I am right now. But I’m hoping to find time this weekend, so I need to start sooner rather than later.

January 19th, 2008 : DeChaos version 3

DeChaos was currently at version 1.9 and with a few more tweaks I was ready to call it version 2 and be done with the program.

Tonight, I decided that I wanted to redo the entire interface and recode the thing from the ground up in order to add a few more features and better functionality. Thus DeChaos version 3 was born.

Right now the interface is done, minus a few tweaks (slight issue with something being a few pixels too wide). The coding is going to be the long drawn out part. I am working right now on getting a few basic pieces in place, but I’m really starting to look at this as a long term project to perfect this program.  I’ve decided that the creation of the program is far more fun than it is to use the program.

Until that changes, it’s hard for me to use the program, without deciding to spend some time fixing it.

January 6th, 2008 : DeChaos

DeChaosI have been sorting photos on and off in my spare time for the last week or so now, tweaking my script and playing around with options. My biggest pet peeve about the script was that the dialog box that came up asking for text always appeared smack dab in the middle of the screen. This inevitably covered up the photo I was looking at.

Yesterday night I had had enough of it. So I opened up Xcode and started learning how to write an applescript application. I woke up this morning and polished off the rest of the code and I am now proud to say that I now have a working application for sorting photos. I call it: DeChaos. (Apparently there is a gamma ray analysis program by the same name, but it’s public domain software and since I am the only one currently using my program I don’t think that there will be much of an issue with using the name.)

I would like to post up the app onto my site in case anyone else would be interested in using it, but I have to put some better error checking in place first. The program currently takes a few things for granted, which may not be true in the case of everyone who uses this program. Also I don’t know how well it handles when trying to sort photos into the same folder that is being sorted from. I’ll look into these issues as I have time.

January 1st, 2008 : 18000 Photos and Counting

Morning GloryI like taking pictures. Too much so. I got my first digital camera in early 2004 and quickly took 1000+ or so photos over the next two years. (I think the actual number is a lot higher, but I can’t be sure anymore.) In 2006 I took 4000 photos and got my first DSLR camera. And in the following 12 months I took roughly 10000 photos.

This left me with about 18000 that were sitting on my computer, largely unsorted and sitting in iPhoto. I did do some work with my photos, but I never deleted any. I have hundreds of bad photos, some a blurry, many have poor composition and I find that there are far too many duplicates.

I needed to organize these photos. I needed to throw out the bad ones. I wanted to go through these photos, one by one, and save the good ones, getting rid of the bad ones, touching up the ones that needed to be touched up.

I had some options. All my photos were in iPhoto, I could take them all, tag them, rate them and set up smart albums and regular albums for them all. I had tried that a bit in the past from time to time and it never seemed worth my time. It was too clunky. It didn’t flow well and I had no starting place. Also, I was never quite sure if iPhoto really deleted my photo or not. Often I would delete a photo from an album only to remember that it was still present in my library. This was not a good solution.

I looked around for other programs that might do the job, but I never found anything that was quite to my satisfaction. So I had one option left: make my own.

So I began to think about the best way to go through and organize pictures. I didn’t want some proprietary format that I would have to keep buying upgrades for as my collection of photos increased or as time went on and it was upgraded. I also wanted to sort my photos by a single keyword, a simple dialog box which asked me for a name and then I could move on to the next photo.

SunriseI’m a fan of Applescript, which for those who don’t know is a easy to write programing language made by Apple which works with “many” of their programs. I know some other languages, but I don’t know enough about attaching them to interfaces and I didn’t want to take the time to learn, I just wanted to sort my photos.

My final solution turned out pretty well. I take all the photos I want sorted and dump them in an arbitrary folder. (The folder can’t contain other folders, but I’m still tweaking the code to fix these things.) Then I run my Applescript. It asks me to locate the folder of photos to be sorted and to locate a folder to sort the photos into. (I set up a folder called “Philip’s Photo Library” and sort them in there.) The program then runs through all the photos in the folder of unsorted photos, (opening them in Safari since Preview is not Applescript friendly) and then asks me to type in a name or category for the photo.

This is where things get a little tricky. If the photo I am looking at is a flower, not only do I want the program to move the photo to a folder called “Flower” but I probably also want to change the name of the photo to “Orchid” or whatever flower it happens to be. Whereas if the photo is some random photo from the family reunion I want the program to move the photo into a folder called “Family Reunion” and I don’t really care to name the image file.

To solve this I decided to have two options on my dialog box, one called “Name Image” and the other “Next Please”. If I choose “Name Image” I am presented with a second dialog box to change the image name and if I choose “Next Please” I just move onto the next photo and the picture file is automatically named from the first dialog box.

One of the first things I knew I needed to protect against was duplicate names. (I was fixing this before I had the two dialog box system as described above.) So I had the script count the number of photos already in the folder it was going to put the next picture, add one to the count and then put that number at the end of the name. When I added the second dialog box, I wondered if I should tweak this, since it wasn’t entirely necessary, (maybe use a different command, such as “move without replacing” or something) but I decided that my solution already worked and an arbitrary number at the end of the image name was no big problem to deal with. It would be fairly easy to get rid of later if I wanted too.

Stella de oro daylillyRight now I have used my script to sort through almost 1000 photos, I have deleted about 400 of the bad ones, and I now have roughly 10000 left to go through. I feel like this is finally under control. (Or at least able to get under control.)

My next issue is tackling my work flow for working with RAW format photos. I have started taking photos with RAW format which means they need to be processed before most applications can use them. They are also a lot larger in size. So I can’t let them accumulate because I will run out of hard drive space.

Also I need to start up my panoramic work again. A good 3000 of my photos are all for panoramic work. I have 100+ panoramic that I need to splice together. I’m just glad I have tools to help me do that.

Finally, though, I am working on cleaning up and debugging my applescript code so that it is more robust, then I plan to post it up to my website in case anyone else would be interested in this type of photo sorting solution. In the long run I think it would be nice to add an interface to the app, simply because the dialog box always pops up in front of the photo I am trying to look at, but also because I don’t want it to have to rely on Safari. If anyone would be interested in the code, let me know an I can post it up. It’s not as robust as I would like yet, but I’m willing to let it be open sourced. (I should really clean up my Applescript first though.)

Have a happy new year and may your photos all be sorted this year.