Good news everyone!

XKCD Reader 2.0 is now awaiting review at Apple. It was briefly rejected earlier this week due to one of the new features taking up too much space in the iCloud backups, but I fixed that and resubmitted the application, so hopefully soon it’ll go back into review and then get published!

So, what’s new? Well, pretty much everything. I basically rewrote the application from the ground-up, and changed how things look and work on the inside.

Front-End (User Interface) Updates

The interface has been totally redesigned on the iPhone/iPod and iPad, with support for the new iPod Touch and iPhone 5’s longer screen.

The comics are displayed in a nice list, with a scroll index on the side (like the Contacts or Music apps).

iPhone 4" Portrait

XKCD Reader 2.0 on an iPhone 5 in portrait mode, showing the comic list

iPad in landscape mode

iPad showing the comic viewing pane in landscape mode


The image viewer has been revamped to make use of the entire screen from the get-go. Images are zoomable and moveable, allowing for easy reading of text or taking in the”big picture” of some of the larger comments.


iPhone 4" Comic Viewer

iPhone 5 showing the comic viewer

iPad in landscape mode

iPad showing the comic viewing pane in landscape mode

The viewing panes on both the iPhone and iPad show the comic’s title, image, and mouseover text. The grey box that holds the text is easily hide-able with a simple tap to the screen; tapping the screen again brings the mouseover text back.

Back-End Updates

The whole code-flow has been redone to make the logic more…Well, logical. Things are pretty well self-contained, isolating logic to only the places it needs to be. The upshot of this is adding new features and maintaining current code should now be easier! Everyone loves easier code maintenance 馃檪

One of the biggest changes I made was to store the comics in a database on the device. That’s right, EVERYTHING about the comic, including the image, is in a database file that the application accesses based on which comic you choose. The only Internet connectivity the app needs is for the periodic check to see if there are new comics to be downloaded. If there aren’t any updates, you don’t see anything. If the app detects there are comics more recent than it’s “current” comic (assuming it has an internet connection), it will prompt you to download them or do it later. The download takes the comic’s information (title, number, and mouseover text), as well as the image (which is converted to a base-64 encoded string), and stores them in the database. The downside of this is the app is significantly larger than the previous version; XKCD Reader 1.5 was only a few hundred kilobytes, whereas XKCD Reader 2.0 is around 100 megabytes.

I made the database change mostly to cut down on the amount of network activity my app produced, but also to learn about how iOS handles files and how to interface with a database through Objective-C. Storing the image itself was an afterthought (originally the image would have to be downloaded every time), but I decided to see if I could get the image in the database purely for fun. When it worked, I decided to make that the new database format and wound up with what I have now.

The database itself was pre-populated using a Python script I wrote. The most current comic at the time of submission was #1124, “Law of Drama“. Gotta give a shoutout to JetBrains and their PyCharm IDE for Python here; it makes Python development a breeze, even for a script as small as this one. However, because of the amount of time it takes to get an app reviewed for publishing, the database WILL be out of date as soon as it’s downloaded, and will prompt the user for an update on the first run (as of this writing there have been 5 additional comics). That’s unfortunately not something I can control; it’s up to Apple to get the app under review and ultimately they control how long it waits for the review and how long the review takes.

Upcoming Features(?)

The biggest thing I’d like to implement is a way for users to store their favorite comics. Now that I’ve changed the UI and moved to a database, this actually shouldn’t be that hard, and probably could have been included in this release if I had wanted to take the time. This release was more about getting the new UI, icon, and backend code out there, though. Now that it is, favorites will be the next feature I work on.

I’d also like to add a way to search the comics. I’m not entirely sure of the feasibility of this yet, but I’m looking into the possibility.

That’s it for XKCD Reader 2.0! Hopefully soon I’ll be able to post again and tell you all that the app is going live, but as of right now I don’t know how long it’ll take. Check back often to see when the update goes live! Until next time 馃檪

Leave a Comment | Permalink

Tags: , , , , , , , , ,

An XKCD Reader Update

October 2, 2012 | Category: iPhone, Programming | Leave a Comment

Good news everyone! I’m almost ready to submit XKCD Reader 2.0 to Apple for review! I’ve successfully redesigned the interface AND backend, so it’s a lot easier and faster to find the comic you’re looking for. I’ll post some screenshots in a day or so.

The bad news is I’m having a hard time storing images in the database; even though it would increase the size of my app by about 70MB, it’d be cool if I could do it and reduce the amount of network traffic my app creates. I’m having some problems getting image data out of the database, so that idea is on hold for now. The good news is everything else is working nicely!

I’ll post again with screenshots and when I get the app posted for review. Happy coding!

Leave a Comment | Permalink

Tags: , , , , , , , ,

It’s been a while! A lot’s changed since I last updated, too.

I recently started my job with FactSet Research Systems. I was in training in Connecticut (headquarters) for 2 weeks before coming back to Chicago and my apartment to work in the Chicago office. Work has been going really well. The stuff I’m doing is pretty interesting and everyone I’ve interacted with has been nothing short of nice, happy, and helpful. I feel pretty settled in already and I think it’ll continue to get better.

This coming weekend I’m going to Lollapalooza to see two of my favorite bands, Sigur R贸s and Florence+The Machine. The amount of excitement I am is beyond words. Both groups have been taking over my playlists and my head, and seeing them live should be pretty fantastic.

Work on XKCD Reader 2.0 has been on the back burner somewhat. I’ve been settling in to my new place and learning the area, so I haven’t had too much time to code. That being said work聽is聽being done, just slowly. I’m revamping the way it stores comics to hopefully decrease wait time; most of the necessary info will be stored in a database in the application. The image file will still be downloaded because if I tried to store all of the images it would take way too much space! The title, number, alt text and image URL will be stored, however, so no more downloading and parsing. The only time that info will be downloaded is when the app detects that the database is out of date (the most recent comic in the DB is less than the most recent comic on the site), and since that won’t download the image, that download should be quick. I plan to keep working more on that in the next couple of weeks.

I also recently added new pictures to my photo gallery! I recently got my hands on a Canon 5D mkIII + 24-105 f/4 L combo and I’ve been having a lot of fun shooting with it. I posted some photos I took from my apartment, and one or 2 from my trip to New York City (more of those will be going up in the next week). I’m thrilled with the way they turned out, and with the new camera in general 馃榾 Here’s a link to the album:聽New Gear, New Places

This last Wednesday finished up a wonderful visit by my girlfriend; she was here for two and a half weeks and we had a wonderful time, from watching the Olympics to trying our hands at cooking (it wasn’t a disaster!) to my friend’s wedding back home to a trip to the Museum of Science and Industry. I was very sad to see her go, but so happy that she could come out for a couple weeks 馃檪

One thing I’d like to plug before I post this, if you like the magnetic spheres Buckyballs or Zen Magnets, please take a minute to sign this petition:聽 The CPSC is trying to ban these magnets because some people swallowed them. Some were children who weren’t old enough to play with them, some were preteens and teens who were trying to use them as lip聽jewelry. Since most of us are responsible enough to use these products and have fun with them, please take a minute to sign the petition!

I think that’s all for now. I’m going to try and post more regularly, so keep checking!


Leave a Comment | Permalink

Tags: , , , , , , , ,

Quick Life Update – Job!

June 17, 2012 | Category: Cool Stuff, Life | 3 Comments

My posts the last couple days have come from 3 different states. First it was Wisconsin, then Illinois, and now I’m in Connecticut. Why am I here? I start my job tomorrow!

I started my job search back in September with Michigan’s Engineering career fair. Made life SO easy. I ended up getting 6 second-round interviews, and 5 total job offers. I ended up going with FactSet Research Systems, a financial software company based in Norwalk, Connecticut.

Though my actual position is in Chicago, all new hire training is conducted at headquarters in Norwalk. So, I type this as I get ready for bed the night before my first day at work. I’m a little nervous, but also excited. Training lasts two weeks (for me), and then I’ll be back in Chicago working at that office, and I’ll have some time to settle in to my apartment (finally).

So training starts tomorrow morning at 830. I’m nervous, excited, and ready to be a real person. So sleep well, Internet. Tomorrow’s a big day 馃檪

3 Comments | Permalink

Tags: , ,

Hey everyone! So I did some more work on XKCD Comic Reader 2.0 while I was in Madison. Good news! Images now display at the proper proportions, so they’re no longer squished! I’ve also implemented scrolling and zooming. See screenshots below.

Another new thing is the list picker will show the comic number and title instead of the placeholder info URL I was previously using (again, see screenshots).

Next task is to get the alt/mouseover text to display. First (quick) attempts at this were unsuccessful. Unfortunately I’ll be out of town for 2 weeks starting tomorrow morning, and I’m not bringing my Mac with me. So it could be a little while before more work on the update actually happens. Once it does, I’ll be sure to update!

Until next time!

Comic zoomed in

Showing a comic image zoomed in

Image scrolled and unzoomed

A comic image zoomed out, scrolled to the left

Comic Picker

Comic picker displaying useful information!

Leave a Comment | Permalink

XKCD Reader 2.0

June 14, 2012 | Category: iPhone, Programming | Leave a Comment

I’m finally getting around to rewriting my iPhone app! I thought it was about time to re-do the interface, and since I was doing that I might as well redo the code as well. I’ve made a huge amount of progress in one day, as you can see below:

Comic Display Screen

Screen that shows the actual comic image in XKCD Reader 2.0

Comic List

Main screen showing the list of comics in XKCD Reader 2.0

As you can see, the comic listing and the image viewer are working for the most part. Unfortunately, currently the comic image is being constrained to the size of the UIImageView, and I haven’t figured that out yet. It’s also not responding to touch for some reason, including zoom gestures. Still not entirely sure what’s going on here, but I’ll definitely be working on it.

Features I’d like to include:

  1. Favorites menu
  2. Hideable text box with the comic mouseover text
  3. Search? maybe
  4. Some other things that I’m not confident enough yet to talk about

Thanks for reading! I’ll be sure to keep everyone updated 馃檪

Leave a Comment | Permalink

Tags: , , , ,


June 14, 2012 | Category: Cool Stuff | Leave a Comment

So this is my first blog post in a little less than a year. At some point I’ll go back and update on some of the stuff I’ve done in that year (there’s some neat stuff in there) but right now I want to focus on what I’m doing this week.

Right now, I’m in Madison, Wisconsin with my girlfriend for something called the Games+Learning+Society conference. Basically it’s a bunch of people coming together to discuss different methods of education using video games. So far I’ve heard a lot of really neat things, ranging from using game-based grading systems (like the course my professor Barry Fishman teaches at the University of Michigan) to what the difference is between learning in school and learning in games, and how we can leverage the latter.

One of the biggest take-away points I’ve gotten so far from this conference is something I tweeted a few minutes ago:

In school, if you fail, you don’t pass, have to take the course again, and have to spend more money on your tuition (or spend more time in the same grade in high school). In games, if you fail, maybe you lose a life, or have to start the level over, but there’s not as big a penalty as there is in school. I think this is the biggest reason why schools fail to educate very well: students are taking material in, mostly on a short-term (ie semester-long) basis to avoid that failing grade. Video games, on the other hand, encourage exploration and trial and error and don’t penalize as severely for failure (as always exceptions to this trend exist).

I’ve enjoyed my time here so far listening to these really cool people speak on these topics. Hopefully you’ll hear more about it soon 馃檪

Leave a Comment | Permalink

I realized recently that my music library is full of memories. Not just memories like “Oh hey, this song was awesome 10 years ago!” or whatever (but I have some of those too). What I mean is like, memories of people. People and how they’ve touched my life. Like they’ve imprinted themselves on the music they expose me to. Let me elaborate.

Last month my friend Teresa crashed at my place as part of her train trip across the country. A huge part of our relationship is music; we bonded over music, and now a lot of our time together is spent swapping artists we listen to. She got me onto this band, Sigur R贸s. Since she introduced me, I have listened to ALMOST nothing else. And now, whenever I listen to Sigur R贸s, I’m constantly reminded of her. The same thing happens with The Rescues or I Fight Dragons.

It’s not just Teresa or Sigur R贸s, either. My friend Laura got me started on Mumford and Sons; Kristin got me hooked on City and Colour; Chellie got me listening to Panic! at the Disco, My Dear Disco/Ella Riot, and we went to a Linkin Park concert. My Dad gets Hootie and the Blowfish; first CD I ever listened to. John Murphy’s score to Sunshine and Steve Jablonsky’s score for Gears of War 2 are linked to Jamie, my freshma-year roommate and now housemate.

Basically, my music library is more than music. Its whole is greater than the sum of its parts. I’m grateful for what these people have added to my library and to my life, and I think it’s awesome that I will be connected to these people every time a track plays.

Leave a Comment | Permalink

Tags: , , , , , , , ,



SERIOUSLY. I’m not joking, I plan on discussing the movie (Harry Potter and the Deathly Hallows pt2). If you haven’t seen it,







You’ve been warned.


I think, at this point, it is safe to say that my childhood is basically over.

Part of it ended last year, when Toy Story 3 came out (FANTASTIC movie by the way, if you haven’t seen it yet you’re doing yourself and Pixar a disservice). I grew up with those movies, and when the final one came out it was sort of like letting a part of myself go. I guess it didn’t help that it was about Andy going to college 馃槢

Harry Potter been a part of my life since elementary school. My family read the books together; before my sister and I had the patience to sit down and read a big book our parents read them to us. Once we got old enough to read them on our own (and quickly) we had to flip a coin to see who would read it first (our family only ever bought one copy of each book haha). I was the one to pick up the last 2 books so I got to read them first 馃榾

I was excited when the movies were announced; I know a lot of people have criticized them for deviating from the books so much, but I’ve tried to enjoy them just as movies and not as adaptations of the books. Yes, there were a few times that I was disappointed about something being different or not being included (they really should have included “Give ’em hell, Peeves!” in movie 5, and Dumbledore’s funeral in movie 6) but on the whole I’ve been very happy with the movies.

Harry Potter and the Deathly Hallows Part 2 was wonderful. I loved every minute of it (except for one awkward part that I’ll get to, but I didn’t hate it) and was very happy to see it, but also very sad. That’s it, my childhood is done. There are still things I can hold onto for nostalgia’s sake, but in reality, the things I looked forward to in my childhood are now over.

But back to the movie. I loved Hermione as Bellatrix. “Good morning!” That was hilarious. I thought the goblins would’ve been a little more loyal but I guess I forgot about that part. I loved the reunion of the trio and Hogwarts; McGonagall’s words “It’s nice to see you” were a great tension-breaker and also just made me really happy. I liked the epilogue; I know more than a few people have issues with it but I like it. The aging they did on the actors was kinda funny-looking, but I enjoyed it. I can’t pin why down, exactly. I was always satisfied with the ending, and watching the actors run that sequence was a very, very satisfying conclusion.

I have to say, I think my favorite character of this entire movie was Snape. Alan Rickman’s performance was, simply put, stunning. I mean, I knew what was going to happen. I knew that Snape turned out to be a good guy (a REALLY good guy). But Alan Rickman….Man. He always did a good job of being a slimy evil man. But this movie, he had me convinced that he loved Lilly Potter; hell, he had me convinced he loved the actress that plays Lilly. Watching him wail over her dead body was horrible; seeing him cast a doe patronus was heart-wrenching, and the word “always” now holds so much more meaning. I only cried twice in the movie (and one other time I teared up); the first time was showing the characters that died in the battle (Lupin and Tonks did me in, I think), and the second was definitely Snape’s memories and death. I teared up when Harry told Ron and Hermione that he was a horcrux.

I loved this movie. I loved this series. I am so happy that I grew up with Harry Potter; the books, the movies, everything. Alan Rickman put it best: “When I鈥檓 80 years old and sitting in my rocking chair, I鈥檒l be reading Harry Potter. And my family will say to me, ‘After all this time?’ And I will say, ‘Always.'”.

Leave a Comment | Permalink

Tags: , , , ,

Here’s part 2 of Chellie’s visit! If you missed part one (and I hope you didn’t, it’s right below), click here!

Wednesday, I once again worked and came home; soon after Chellie and I went down to a little area with a fountain close to my apartment building and I took some portrait shots of her (my favorite of these are posted in my Seattle Summer gallery). After that we went and got sushi for dinner from the restaurant right by my apartment; it was delicious! And of course we watched The West Wing 馃檪

Thursday after work we took a walk around my neighborhood and the Seattle Center; we went down to Lake Union Park and took some photos, and then up to the Seattle Center area and the neat-looking fountain :). I hope to have those pictures up very soon! It was a fun night and some cool pictures came out of it.

Friday finally came, and after work Chellie and I made a quick pasta dinner and then FINALLY went to the Space Needle! It was a gorgeous clear night and we could see Mt. Rainier from the top, and we saw a beautiful sunset behind more mountains. All in all a very great trip up to the top! Pictures are up in my Seattle Summer album 馃檪

Saturday….Well, Saturday was AWESOME. We got up and took a bus up to the Woodland Park Zoo! We saw a lot of cool stuff. We saw penguins, wolves, a tiger, bears, lizards, fish, snakes, frogs, a ton of birds, gorillas, and (Chellie’s favorite) otters. It was a great time! Great weather for it, too. It was like 80 and sunny all day, perfect for walking around. We had a pretty late lunch, so when w got home we sat around for a while. For dinner we ended up going to this place called McCormick & Schmicks Harborside, near my building. We caught happy hour, so we made a meal out of happy hour food (a pretzel, some barbeque sliders, and something else….), a salad, and a strawberry lemonade martini each. We had a cool view of the city and the Space Needle at night, there were these heaters on the deck (we sat outside) that had pillars of flame inside them and there were blankets on the chairs if you got cold. All in all a great night 馃檪

Sunday was pretty cool, too. We went to the EMP, or the Experience Music Project/Sci-Fi Museum (near the Space Needle). We saw an exhibit on Jimi Hendrix, one on Nirvana, and one on Avatar (the movie). The Avatar exhibit was really neat, they had a lot of props used in the actual film and real artist renderings of other stuff. I have pictures, I hope to get those up soon too :). We had lunch at McDonald’s that day (it was quick, cheap and near the EMP) in between exhibits, and then afterwards we stopped at a grocery store to get breakfast food for the next day. That night we just lounged around 馃檪

Monday morning we woke up and cooked breakfast! We made “Americakes”; blueberry pancakes, strawberries and whipped cream on top. DELICIOUS! The rest of the day was spent lounging around, photo editing, watching The West Wing, and reading. That night, we went up to my roof to watch the fireworks, which were pretty awesome :). I unfortunately didn’t get any photos like I have of the Michigamme show in years past, but we had too much fun to worry about it.

After the show we got Chellie packed, and she left the next morning 馃檨

Basically, it was a wonderfully fun two weeks, and I’m really glad she got to come out!

That’s all for me for tonight. I’m exhausted from an 8-mile hike (more on THAT later 馃檪 ) so it’s time for bed! ‘Night all!

1 Comment | Permalink

Tags: , , , , , , , , , , ,

Next Page →