Monday, December 23, 2013

Favorite Poet





I love to read, but poetry has never been my favorite. I've dipped my toe in the water, but I've never dived in with gusto.

I had a great AP English teacher in high school who fanned the embers of my love of reading into a roaring blaze. He seemed to have read everything. Whenever he'd recommend something I'd run to the library and devour it. More often than not he was right. Why else would I have read the Studs Lonigan trilogy? (Go get it - it's great.)

But he couldn't duplicate the trick for poetry. He taught us about different meters. I remember iambic pentameter and Robert Frost snippets, but little else. I confuse the names with guitar scales: "Did Shakespeare use mixolydian, or was that Stevie Ray Vaughn?"

My indifference to poetry persisted until one Saturday morning when I was out and about with the dog, listening to "Wait Wait, Don't Tell Me!" on NPR. The guest was Billy Collins. He was so entertaining to listen to that I resolved to give his stuff a try. My local library had a copy of his "Sailing Alone Around The Room". It's the best poetry I've ever read: beautiful, not dry or boring, modern and fresh. I can't stop reading the guy. I take a few in every day, re-reading the ones that I like. I've read them aloud to my wife, because they demand to be given voice the way great songs have to be sung. Poems that I like! I'm astonished at the thought.

profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Wednesday, December 18, 2013

Best Coursera Yet




I finished my third Coursera course tonight: Data Analysis, eight weeks of learning R and its application to statistics problems. I've enjoyed all three, but this one topped them all. It was a difficult eight weeks. I spent a lot of hours at night after work and weekend time poring over assignments. It's been tiring but worth it. I've remembered the statistics I'd forgotten, learned a lot of new things like generalized linear models, and deepened my knowledge of R. It's exactly what I set out to accomplish when I started taking on-line classes a year ago at this time. I wanted to see if I could adapt to a new style of learning and self-education. I wanted to prove that I could still absorb challenging material. I'm at an age when it's easy to sit back and tell yourself that you already know it all, that you're too old a dog to learn new tricks. Did I still have it in me? I think I succeeded on all counts.

The professor was Jeff Leek, who's on the faculty of the Johns Hopkins biostatistics department. They claim to be pre-eminent in the world, and after sitting through this course I believe them. His graduate students are fortunate.

I've earned certificates with distinction for the two other classes I've taken. I calculated my point totals for quizzes and assignments for 'Data Analysis'. I think I squeezed out another distinguished certificate. I'll have to wait a week or two to see if my numbers match those from Coursera, but I'm confident that it'll turn out well.

I've got a lot of other tasks lined up. I want to take more of these classes next year, but I'm uncertain about what to take. I want to go further with R and statistics, but there's no clear choice listed in the catalog. I might start haunting Kaggle.com and applying these new skills to problems. I've got some development tasks to get back to.

I found out that I'm two speeches away from achieving the Toastmasters Advanced Leadership Bronze designation. I'll fulfill those easily in the next few weeks. That would be three awards in one fiscal year. I'll only have ten speeches to achieve Advanced Communicator Gold and the Advanced Leadership Silver to become a Distinguished Toastmaster. Who would have thought it'd culminate in this when I started in 2008? Maybe I can do it by mid 2015.

I plan to relax a bit over the holidays. It's been a nice way to end the year.


profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Sunday, November 10, 2013

More Progress







I received the certificate with distinction for Coursera Data Analysis Using R tonight. I know it shouldn't matter, but it does to me. I want to hold myself accountable and keep pressing with these courses.

Data Analysis has completed its second week. I'm in the midst of the first data analysis assignment. I have more work to do on it, but I think it's going well. I have a plan of attack that I'm following. I think the writeup portion plays to my strength. I'm slowly becoming more comfortable with R. I need to be reading more statistics books to figure out how to attack problems better.

Toastmasters is moving along, too. I finally completed the Competent Leader designation. I also finished the requirements for Advanced Communicator Silver designation. Just Gold to go, then two more leadership tracks to become a Distinguished Toastmaster. I don't know if I'll manage the leadership portion, but the speaking track is well within reach.

But wait - there's more.

I still have to master user interfaces with HTML5, CSS3, JavaScript, and jQuery.

And now there's vert.x, the non-blocking IO framework for Java.

So much to learn, so little time.

profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Tuesday, October 22, 2013

Another One Bites The Dust






I just finished my second Coursera course. It's hard to believe that "Data Analysis Using R" started just four weeks ago.

This wasn't a terribly difficult course, but lecture time added up. The assignments weren't hard conceptually, but I found myself struggling with the API and the docs. "How do I do that?" was a common question. It was easy to think how I'd do something in a language that I knew better, like Java or Python, but I wasn't always able to conjure up the R equivalent at will. I had to do small experiments on the fly to figure out how to make the language do my bidding.

The third programming assignment set was time-consuming. I was behind the eight ball because I was out of town at a family wedding the weekend before it was due. Thankfully we were given an allotment of late days that we could apply as needed. I used up three of them after returning from MN so I could get the assignment in late without penalty.

Debugging in the R environment is crude, reminiscent of the gbd command line debugger that comes with Java. It's a comedown for a person who's used to using the best IDEs in the world to work with Java and Python. I started using the R plugin for IntelliJ for the fourth assignment. I hope they keep expanding and improving it.

R does have some rudimentary object-oriented features, but it's firmly in the functional camp. A friend pointed out that R looks similar to JavaScript. As usual, he's right. I started eschewing the '<-' assignment notation in favor of '=' to make the visual resemblance stronger. The Renjin interpreter makes it possible to run R inside Java. I found out that you can also run R on CUDA. I'm looking forward to trying those packages and seeing what performance benchmarks would look like.

This one was a sprint. The next one, "Data Analysis", will emphasize problems that R is used for, diving deeper into regression and analysis. I'm looking forward to getting back in touch with my mathematics roots. It begins next Monday.


profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers

Monday, September 23, 2013

Computing For Data Analysis Using R












I start the next step with Coursera tonight: It's opening night for "Computing For Data Analysis" from Roger Peng at Johns Hopkins University. It's a four week introduction to using R that should be good. He blogs at Simply Statistics, which looks like it'll be a good resource for stretching my brain.

I'm running on my Windows 7 desktop. I've downloaded the latest version of R 3.0.1. There's an IDE called Tinn-R that might be okay. I'm sure it won't replace IntelliJ from JetBrains as the world's greatest IDE. Until those brilliant Russians come up with an R environment for me I'll make do.

My friend Steve Roach pointed out a port of R that runs on the JVM called Renjin. I think this statement is surprising:

We built Renjin, a new interpreter for the JVM because we wanted the beauty, the flexibility, and power of R with the performance of the Java Virtual Machine.

My first thought was that it'll be hard to beat LAPACK in C or Fortran. But perhaps a version that leverages parallelism could tip the balance.

So this will be sucking up some of my time and energy for the next four weeks. I hope the lessons diffuse into my brain quickly.



profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers


Friday, August 23, 2013

A Good Reading Year












This has been a difficult year for me physically (more about that another time), but I'm having a great year reading. I've been on a tear lately, thanks to my local library and my oldest daughter.

My dog is pretty smart. He knows Saturdays are different from any other day of the week. He follows me around the house, tail wagging, from the moment we get up. He comes running if I make a move towards my car keys on the table in the mud room: "Are you going out? In the car? Will you take me with you?" I leave him behind if conditions are too hot or cold to leave him unattended in the car, but on mild days I'm happy to take him with me. We go to the bank, the post office, the barber shop, Dunkin Donuts, or the town library. It amazes me to see how often I'll find something good.

I started this recent tear with "Going Clear" by Lawrence Wright. It's the history of Scientology, from L. Ron Hubbard's World War II record through to the present day. I didn't know the details before. I found them educational and amusing.

I enjoyed it so much that I picked up Lawrence Wright's "The Looming Towers". It's the riveting story of al Qaeda from Sayyid Qutb in the prisons of Egypt to the crashing of planes into the World Trade Center on 2001-Sep-11. The references to Ali Soufan, the FBI agent who investigated the bombing of the U.S.S. Cole and interrogated captured al Qaeda, led me to "The Black Banners". This is a wonderfully written, but ultimately sad and frustrating book. You know how it ends. You can see how it might have been possible to connect the dots beforehand if the right people had been privy to certain facts, perhaps preventing disaster. Ali Soufan presents evidence for something that I suspected was true: harsh interrogation methods don't work. Zero Dark Thirty would lead us to believe that waterboarding turned up the information that led to Osama bin Laden's compound in Pakistan, but all the actionable intelligence the U.S. got from captured al Qaeda came from Ali and traditional interrogation methods.

After all this serious stuff I was ready for some fun. I heard Gillian Flynn on NPR's "Wait Wait, Don't Tell Me" on the way to the library one day. She was so smart and funny when talking about her book "Gone Girl" that I had to read it. One of the panelists said "After reading this book, I think you're one of those people who could murder someone and get away with it."

I agree.

The writing device was unusual. The book opens with a young husband and wife on the morning of their fifth wedding anniversary. They argue before the man leaves for work. When he comes home, he finds the front door open, the cat sitting on stoop, the house torn up, and his wife gone. What happened to her? Chapters alternate from the husband's point of view in the present to the wife's voice in flashback. Things get nuttier with each turn of the page. It was most entertaining!

My oldest daughter recommended Ellen Ullman's "By Blood". It's set in San Francisco in the 1970s. An academic who's struggling to finish a project decides to rent an office in a seedy part of town. He finds out that it's next door to a psychiatrist's office. He starts listening in on a young woman's weekly session and finds himself identifying closely with her. He becomes secretly involved in her thread. Terrific writing!

Wait, there's more. My oldest daughter also suggested that I take a look at a piece of non-fiction by Cheryl Strayed: "Wild". It's the true story of a 22-year-old woman who loses her not-even-fifty single mother to cancer in 1995. Her family and marriage fall apart over the next four years. When she hits rock bottom she decides to hike the Pacific Crest Trail from Mexico to Canada. Think Appalachian Trail on the West Coast, except at 10,000 feet along the peaks of the Sierra Nevada mountains. It made me wish I was a hiker. I thought the author was incredibly brave to be so forthright and honest.

Amazon should just garnish my wages. I love the instant gratification of Kindle. When I finished "Wild" I couldn't wait to get back to the library. I downloaded Colum McCann's "Transatlantic". I'm only a little way into it, but it's a series of stories that all center on Ireland. The writing is wonderful.

All this is on top of the books on the technical pile. I picked up "Learn You A Haskell For Great Good!" to try and grok functional programming. And I have another Coursera course coming up in a month.

It's like bailing the ocean with a plastic bucket. I can't take it all in fast enough.



profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers





Friday, July 26, 2013

First Coursera Certification







I haven't been writing much lately - more on that another time. My last post talked about my first massive open-source on-line course in statistics at Udacity. It went so well, and I enjoyed it so much, but I still hadn't committed myself to signing up and getting a certificate of completion. I wanted to see what that was like, so in May I signed up for Introduction to Data Science at Coursera. It meant eight weeks of lectures and assignments in a new field.

It's been a long time since I was in school. I finished my last formal degree 21 years ago. I was marching towards yet another one in 2000. I was a course or two and a capstone project away from completing a Masters in computer science when the pilot light inside me blew out. I remember it like it was yesterday: I was sitting in a large lecture hall, listening to a professor drone on about the year long capstone project. I realized that I couldn't do it anymore. The motivation was gone. I stood up, marched over to the bursar's office, withdrew from the course, and never went back.

I've continued to read and dabble on my own, but I haven't done anything formal since then. All my education was obtained the traditional way: take a class in a classroom, do assignments, pass tests, get a grade. I realized that I needed to add more structure to my efforts, but I couldn't go back to the way I've always done it. The rise of Khan academy and on-line courses was perfect for me. I wasn't sure if a new style would suit me, but I was anxious to try. Statistics at Udacity taught me that I could do it. Now it was time to try it out for real at Coursera.

I'm impressed with how Daphne Koller and Andrew Ng are running little experiments on-line to learn about this new educational idiom. It's a challenging problem: How do you handle tens or hundreds of thousands of students in a single course? Lectures, grades, assignments - everything has to be re-thought with this in mind. There were times when mid-course tweaks were added.

The material and assignments were varied and well done. I love Python, the language of choice for all the programming assignments. I have PyCharm from JetBrains. They make the best programming tools on the planet, so my local environment was a pleasure. The grading meant immediate feedback - perfect for an impatient American like me. The variety was wonderful - Python, an online Map Reduce, Hadoop on Amazon Web Services, and data analysis at Kaggle.com. I thought the online materials were very good. Bill Howe did a fine job with the lectures. I could have taken more advantage of the course site and forums, but there are only so many hours in the day.

The course finished during the first week of July. It took a while to sort out all those students, but I finally got my certificate, with distinction, the other day.

I need some time to work on some personal projects, but I've already got my next one lined up. The data analysis using R course that I had my eye on is being offered again in September. I can't wait!

profile for duffymo at Stack Overflow, Q&A for professional and enthusiast programmers