Thursday, January 31, 2013

Feedly – The Best RSS News Reader by Far

A few years ago, back when I was a rookie software developer, I had a really good mentor (we should all be so lucky).  He shared with me that one of the key reasons for his success has been his passion for reading.  It really supplemented his thirst for knowledge and love of technology.  He said that as a developer we should be reading more content than any doctor would.  Now I’ve never been a doctor (duh) but I would think there would be a lot of reading in medical journals and books about the latest treatments, surgeries, viruses, etc.  Doctors have a lot of information to retain about their field and because the biological sciences are advancing at a very fast rate, it pays to stay on top if it all (as reflected in the number of patients they help).  The same applies to us developers.  Not too many industries evolve like the computing industry.  In the past 5 years we have seen a boom in cloud and mobile development.  For us to stay relevant and valuable as a programmer we must keep in the loop of the latest development technologies, even technologies we don’t use on a daily basis. 

For example, I recently learned played around with the Go programming language just to see what Google’s been up to and how modern programming languages are changing.  Not too shabby.

I try to learn a new language or API a year, but most of the time I just stay up to date with technologies I know and use often.  Which leads me to my latest discovery…

For anyone who has tried to use Google Reader on your iPad, you quickly realize that it sucks!  You can’t scroll.  What’s up with that? 

So I started looking around in the App Store for a new RSS Feed Reader.  I played with a few others until I come across Feedly

clip_image002

Feedly has a stylish interface and is very fast.  I like how it aggregates the content of my feeds into blocks where I can glance at them and determine if they’re worth my time.  I can also do small swipes to mark an article as read or do a large swipe to mark all the articles as read.  Of course, if you swipe in the opposite direction then it can un-mark them.

clip_image002[7]

Feedly connects directly to my Google Reader account to grab all my RSS subscriptions.  If I click on the Settings icon on the bottom left I can select which feeds or feeder groups I want to look at first.
I can also add, modify, or delete any of my subscriptions.

clip_image002[9]

Feedly provides clients for the iPhone and Android mobile platforms too.  Which views nicely on my Samsung Galaxy S3.

Screenshot_2013-01-31-16-37-06

The guys and gals at Feedly did a really nice job creating a responsive and stylish UI.  If you have to look at a screen all day then you know what that’s worth.  Check it out @ http://www.feedly.com/.

Remember doctors developers to keep reading!  Keep yourself marketable and stay hungry for more.

P.S.  If you’re reading this Tom, I know you haven’t slacked off in your teachings.  ;)

Friday, January 11, 2013

AbstractTableModel not Firing setValueAt

I had a friend come to me today about a bug found in one of his applications.  He had an issue when the user was editing cells in a JTable the user didn’t click out of the cell for the setValueAt method to be called prior to selecting the OK button to close the dialog.  This made the user’s last change not take effect in their database. 

The solution to this is that in the event listener or action for the button you need to get reference to the table and ask the table whether isEditing() is true.  Then you would get the current cell editor and after validating the last input value either call stopCellEditing() to commit the change or call cancelCellEditing() to undo the value.

if(table.isEditing()){
table.getCellEditor().stopCellEditing();
}
This would always commit the new value.

Thursday, January 10, 2013

Unboxing of the New 27” iMac

Last time I shared with you guys the debacle I experienced with UPS over the delivery of my new Mac.  The package was finally found and now I’m the proud owner of a Mac computer.  It’s been a while since I’ve spent a lot of time on a Mac.  In college they had Macs in the computer science lab.  I remember spending every night in the lab for about 2 months working on a compiler for a class I was taking.  The class was tough and the nights were long, but I still have fond memories for that class and the working on the Mac made an impression on me.  Developing on the Mac was a pleasurable experience even if the course work wasn’t.  Since then I decided that one day I’ll own one.  That was 5 years ago!

Why did it take me so long to make the switch from Windows to Mac?  The cost.  It’s hard to justify purchasing a computer with an Intel i5 processor, 8 GB of DDR3 RAM, and 1 TB HDD for $1,799 when you can purchase the same machine for around $900 from Dell.  The reason you purchase a computer like this is the user experience and the quality.  It’s no secret that Apple builds quality devices.  Take a look at the iPhone and iPad.  They are beautifully designed and have a seamlessly intuitive user experience with both hardware and software.

The box came with the following items:

  • The 27-inch iMac (2.9GHz quad-core Intel i5 processor w/Turbo Boost up to 3.6GHz)
  • Apple Wireless Keyboard
  • Magic Mouse
  • Power cord

I was really great to un-plug all my cords from my current Windows desktop.  I realized that there were 12 cords total.  I now only have 2 cords – the power cord and the Ethernet cord.  All other peripherals are Bluetooth.  Wireless is wonderful!

“Simplicity is the ultimate sophistication.”  - Leonardo da Vinci

Here are some photos of that day.

20130103_17212020130103_172406 20130103_172403 

You notice how my daughter goes directly to playing with the box.  We should all be so easily amused. :)

20130103_174300

Installation was supper simple.  Just select your timezone and enter your Apple ID.  It automatically syncs information from your iPhone and iPad via the iCloud.  A very nice feature that works out of the box.

Everyone has their person preferences of software.  Here’s what I’ve installed first:

  • Xcode 4 – An integrated development environment for C/C++/Objective C programming.
  • Amazon Kindle – For reading my books on my Mac and syncing to my Kindle device.
  • Mint.com QuickView – I use Mint.com as a free finance management tool.  This app is great for showing managing transactions and viewing spending by category.
  • Google Chrome – Of course the greatest browser!  It syncs my bookmarks over my Mac and Windows machines plus my Android phone.
  • pwSafe – Tool for storing all my complex passwords.  Can be used with DropBox or Skydrive to sync to other computes for access from anywhere.
  • SkyDrive – Yes this is a Microsoft tool but great for storing files in the cloud.  Glad they made a Mac App!
  • MarsEdit – A desktop editor for blogging and comparable to Windows Live Writer. 

These are some of the good ones I’ve found so far.  If you have any suggestions on the latest apps you love, let me know!

Thursday, January 3, 2013

A Sudden and Ignominious Failure of UPS

Happy New Year!

To start off this year I need to tell you a little story.  It involves a kind-hearted woman, a mean delivery man, and a sad little programmer who was given the grandest gift of all.  The beginning of this story starts off in early December when my wife, the kind-hearted woman, ordered me the new 27" iMac for Christmas.

The new iMac is stunning.  It's only 4 millimeters thin on the sides and has a gorgeous display.
After ordering the computer Apple announced that only the 21" iMac would be made available before Christmas day.  The 27" would be shipped between January 2nd and the 8th.  After my wife ordered it on December 2nd our UPS tracking number reported that we should expect the arrival on December 31st!  Well that's great!  I would get it 2 days earlier.  Hooray!

On December 31st I decided to take the day off and wait diligently for the UPS guy to arrive.  While I waited I was upstairs taking apart my current computer to box up and put away.  You know... in that place where past PCs go to whither away in time.  Otherwise known as the closet.  During that time I realized that the time was 12:38 pm.  The package was supposed to arrive at noon.  Hmm... guess he is running late.  At 1:15 I got worried.  I took out the tracking number that Apple provided me and looked up where my package was.

What the?!  The package was already marked as "1st delivery attempted"!  It said that I wasn't home to receive the package.  Well that's absurd because I've been here the whole time.  I even have a loud mouthed dog that notifies me when people are at the damn door EVERY time.  There's no way that he showed up, knocked on my door or rang my door bell, and come to the conclusion that I wasn't home.  Even my wife and daughter was home and nobody heard a thing.

Of course, I immediately get on the phone with UPS.  Correction, my wife gets on the phone with UPS, because we all know if you want anything information out of customer service then you have to send in the pissed off wife. ;)  She tells the UPS person about the truck that didn't stop at our house and asks about the possibility of meeting the truck or having it stop back by later, but it was New Year's Eve and nobody was willing to go out of their way to correct this wrong that was done to me.  So instead, since UPS is closed on New Year's Day, we chose to pick up the package on the next day, January 2nd.

On January 2nd my wife goes to pick up the package in Laurel, Maryland.  It's about a 30 minute drive from our house.  When she arrives she finds out that they don't have the package!  What?  You said it would be there!  Immediately my wife asks for the manager and attempts to gather some information from the lady.  She found out that the driver locks the truck up on New Year's Eve, leaves it in the UPS parking lot and doesn't unload ANYTHING until after their first shift when they come back on the 2nd.  The lady instructs my wife to come back between 8pm and 9pm that night and it will be off the truck and we can pick it up.

I decided to let my wife sit this one out since most of the work is done.  The package should be there when I arrive at 8 pm, right?  Wrong.  I show up promptly at 8 pm.  The package is not there.  The UPS lady says the truck is running late and that it should arrive shortly - it should be here in 10 - 15 minutes she says.  I waited for an hour and a half.  At 9:30 walked up to the lady and asked about the status of my package.  She types on her HP computer for a moment.  Leans her head to the side and says "huh".  She begins to tell me that they couldn't find my package, that it's LOST!  How the heck does UPS loose a very expensive computer?  Argh!  It this point I was a "little" mad.  I call my wife.  She calls Apple.

Apple has wonderful customer service!  The Apple representative held our hand and said everything is going to be alright.  He filed a inquiry with UPS to find the package and setup to have another new iMac directly sent to our house.  This guy is great!  It wasn't even Apple's fault, it was the mean delivery guy who failed to knock on our door, but the Apple rep. took care of it.  During our phone calls with UPS we always got a dry attitude and little information.  I'm sure that they get these issues all the time and have become numb to how their customers feel when they lose a package.  The difference between the service at Apple vs. UPS was amazing to me.  This is my first iMac and with service like that it defiantly won't be the last.

All that happened last night between 8 pm and 11:30 pm.  This morning I woke up and called the UPS Customer Service at 8:30 am.  They said that they received the inquiry from Apple and started looking for the package.  At 1:49 am that night they found it!  Of course I asked the lady to prove it.  I've been told that a couple times before.  She said she just went back to the storage room and touched it.  Wonderful!  So at lunch today I took a little extra time off and drove the 45 minutes (each way) to the UPS facility to pick up the package.

It's now in the back of my car as I write this.  I'm going to open it as soon as I get home and have an "unboxing party".  My next blog post will be written from the desktop of my new iMac.

Cheers!

7 Years to Digest... Damn You Wrigley

Today I'm just sitting there listening to music, writing code, and chewing gum when suddenly I swallowed my piece of gum.  At that point I realize that damn it - that piece of gum is going to be in my system for the next 7 years!  Or is it?  Is that folklore true?  I haven't swallowed a piece of gum since I was a kid trying to hide it from my 4th grade teacher.  I needed to know the truth... so I turned to Google.

According to an article published by John Matson of the Scientific American, it's a lie!  It has very little basis on fact.  Of course gum doesn't fully digest.  The sugars are broken down but the majority of the rubbery substance remains intact.  It often takes between a day and 7 days to pass through your system.  Whew!  Crisis averted.