Wednesday, October 5, 2011

Steve Jobs

Say what you want about Apple.  There will always be the hardcore Microsoft, Droid, and Apple users who will infinitely assert superiority in their allegiance.  Regardless of your preference, Apple represents excellence in software and product design.  Within the space of our lifetime, we have witnessed some of the greatest advances in technology that have revolutionized the way we live our lives.

Everything in our day-to-day lifestyle is somehow influenced by the technology we employ, ranging from the way we travel to the way we communicate.  Among the most profound technological influences is personal computing.  Steve Jobs founded Apple and ushered in an era of ground-breaking technological advances in personal technology, accompanied by Bill Gates and other giants of our age.

Steve Jobs mandated hard rules for Apple products - perfection in aesthetics, functionality and accessibility.  Apple produced technology that 'just works'.  As consumers, we all benefit from his influence.

Apple was rescued from the bring of financial ruin in the late 90's when Jobs resumed his position as interim CEO and then as eventual permanent chief of the company.  His guidance was solely responsible for the astronomically successful Apple that we know today.  This success cannot be measured by profits alone.  While stockholders value a company by share value, the average Apple consumer actually enjoys using their Mac, iPhone, or iPad.

As a self-proclaimed fanboy, I discovered an enjoyment for Apple in an unconventional way - writing software.  Simply put, I love developing for iOS.  Using beautiful products goes hand-in-hand with using beautiful code.  When you reduce software to the lines of computer instructions that make the magic happen, you cannot go any deeper than the operating system and the applications that accompany the iPhone, iPad, and Mac.  From a technical standpoint,  being a fan of Apple means enjoying the engine of Steve Jobs ingenuity.

That's how I see it.

R.I.P Steve

Friday, June 10, 2011

What I've learned : [redacted: "Curse"]Welcome the convenient CMS!

Hey! have a blog running on www.matthewdanielhull.com.  I built it and coded it and now I'm running back to blogger.com.

A year ago, I was also wallowing in the infantile stages of learning web development.  I did not understand or grasp the concept of a Content Management System - a means of supporting/arranging/archiving the content I produce.   When you 'roll your own' [CMS] solution as I have done, you are dealt the task of implementing several granular infrastructural details.   I was not able to fully implement what I strived for and I left the project half-finished.  It was like the fruit you left out on the kitchen counter too long.  It looked good from afar but you knew that if you inspected it closely, it wasn't edible.  My blog wasn't edible either.  It wasn't something that you couldn't consume because still lacked/lacks the basics.  

I haven't abandoned the value or practice of blogging.  I remain firmly entrenched in the philosophies exhibited at the genesis of this blog in 1/2010.  - The blog is the journal of today.  The production of online blogging/micro-blogging [twitter] forms a matrix of material that will comprise the growing majority of what we consume today as media.   I still hold to these truths.  I now owe an explanation to my unexpected return to blogger.

I am on my blogspot account.... because it is convenient!  Allow me to rest at the oasis of ease and I'll push the coding work out of the way for now and just move forward with pure writing.   I need to write about what I've learned in this past year.  I need to blog about what I've learned so I can record it for myself.  You are of course welcome to share in my experiences.

This is what hit me:
- I didn't realize that I had to script communication with a web server to retrieve blog posts.  I hadn't implemented a mechanism for submitting new posts or editing exists.  Say, you know how you click on the 'older post / newer post' link at the bottom of this page?  What communication between your web browser and server transpire following this action?   A simple click to view a newer/older post most likely executes a server query for the post preceding/following the current post.  The date of the current blogpost is submitted so that the next blogpost may be retrieved from the server.  The newly-returned blogpost must be processed and displayed on the screen in an appropriate way.  I took on these tasks as a learning experience because I didn't have any other projects at the time. - That all changed.  The software projects underway whisk me away from the previous goal of building a blog/cms.  I'm utilizing my tried and true blogger account because it does one thing: It accomplishes the tasks at hand.

When I started this blog, I didn't write about my beginnings in software development.  I didn't write about it because I didn't know what to say in this new-found love of mine.  What do you say when you discover an interest in something new and you are unsure of where it will lead you?  I think that writing about the activities of your daily life merits implicit accountability to your readership.  When you say to others, "I like to write code" or you say, "I play the keyboard works of J.S. Bach in my leisure time" that you must be prepared to answer questions or owe explanations as to why and what drives you to do these things.    I concluded that writing about software development would require appropriate justification.  I am a musician and aviator by education; broadcasting the fact that I endeavor to write software is somewhat radical by comparison to my background!    I have two years of experience in writing code and now it is time to share the personal journey.

This blog will retain multiple azimuths in content direction.  I strive to realize the dynamism in promulgating the aspects of my life, whatever that might be.

-More to come soon.

Friday, March 26, 2010

All I needed to see.


24 hours and counting down.....
-This made my day!

Wednesday, March 24, 2010

Testing and Development project 2010

I don't want to disclose too many details about my iPhone application yet so forgive my vagueness.  The only reason I'm slightly secretive is for my own good.  I've submitted the application for review to Apple and should receive word regarding their approval or disapproval in about a week.  If for some reason they reject my application, it will take the wind out of my sails.  Yes, I'm protecting my ego on this blog.   The other reason is that I haven't felt like blogging in about a month and therefore haven't written much.  Ideally, I'd like to do a bigger post soon once this approval process is complete.

Today, I wanted to highlight the process of testing and development for my application.  This will probably bore some readers... and while I will try my best to circumvent the boring details, I think that it is extremely interesting to share with you about the testing and development of this piece of software.

Everybody knows that a second pair of eyes is always best to help clarify any situation.  My "other" pair of eyes is always lovingly supplied by my wife, who has an accurate and keen way of seeing into situations that are otherwise confusing to me.  Sometimes,  I wonder how difficult it must be to make decisions as an unmarried, single person who has no input to the decisions of life but their own.   I'm very thankful for her perspective.

For this particular software project, I needed several other pairs of eyes who could test my work.  After coding away since Thanksgiving,  I have a case of tunnel vision (probably in part from staring at a computer screen for hours on end).  Although I'd done a fair amount of testing myself, I really wanted the input from other folks who were interested in the app.  (This is an aircraft systems-based learning application for education & reference)

Thankfully, I had several people I worked with who indicated interest in "beta-testing" this application prior to release.  Beta-testing, in the vernacular of software development, is a process through which would-be consumers test a pre-release version of the software for the purposes of determining functionality, tracking bugs, recommending improvements, etc.   I really wanted to conduct a beta-test phase, but had no idea how to do it.  The logistics of coordinating a meaningful program would entail the use of an organized processes, otherwise the effort would be fruitless.  My desire would be to distribute the software, ask specific questions to each user, and collect feedback in an aggregated format.  Enter Google Sites.


A guy in my crashpad told me about how google sites enables you to construct a free website for almost any purpose.  One of the formats you can use @ google is a project template, whereby collaboration on the project is centered on your site.   This.... was the answer.    If you've read The World is Flat by Thomas Friedman, you have read about the new era of collaboration that takes place anyplace, anytime, and anywhere, allowing research and development to expand beyond geographical limits.    What's important to realize about this collaboration is that it doesn't necessarily only apply to a large corporation that is developing on a large-scale.   Indeed, this type of collaboration can be applied to any size project.  My goal was to apply this on a micro-scale.  

Automated beta-testing is easy...After setting up the site, I wrote the content so that the beta-testing program was completely self-explained.  My testers only had to sign in, read the requirements and test-away.  I lured in testers with the promise of a free download coupon.  Ok... not a lucrative form of remuneration, and these were all friends of mine who volunteered to test.  However, it was adequate for my purposes... and their gain.

Data-collection is simple.  Google Sites offers Google Documents, enabling me to construct a repository of spreadsheets for holding tester data.   The user-side of the spreadsheets was displayed as an online form, analogous to filling out a survey.  Once the tester completed a phase of testing, they simply recorded their results on the form, thus populating the spreadsheet with data.

Boring? Maybe.  For the individual who needs to conduct testing on a product and doesn't want to spend any money on research and development, you have a gold mine at your fingertips.

Did I mention? I love technology.

Tuesday, March 9, 2010

Thank goodness for disclaimers

At least I covered my back when I said I wouldn't be faithful to this blog.
I'm just going to write down a list of items that might be possible blog topics.

1.  I'm tackling a huge software project
2.  I'm learning web development (part of my software project)
3.  Had an interesting commute home the other night (almost didn't make it...)
4.  Perennial Love for the Goldberg Variations.

See you soon!  (hopefully others read this or it appears that I'm talking to myself)

Thursday, February 18, 2010

Caught - by a pyrotechnicality.

We were sitting around the table this week during dinner and I started yammering about my experiences as a kid with fire.  I'm all about disclosure of the tricks I pulled in my earlier years, so I'll share it now.

Let's face it, most boys are pyromaniacs.  Somehow, an inborn love for creating fire exists within a young boy, akin to the primitive man of yesteryear and the desire to create fire.  I fell prey to this maniacal device and I sought to create and enjoy fire & smoke when I could.  I know smelling smoke isn't good for you.   I do know, however, that I love the aroma of a campfire or the smell of a charcoal grill.  I even enjoy the smell of cigar  and pipe smoke.  Sorry, there isn't any way you can convince me that it smells bad just because of the carcinogens.  

This past week, I had a recollection concerning the possession of my favorite fire-making device... a cigarette lighter.  As a kid, you aren't permitted to walk into a gas station and plunk down the $2 for a cigarette lighter.  Lucky for me, I found one on the road one day and it was a dream come true.  I hid the lighter behind my dresser.  If my mom found it, she let me keep it, because I would pull it out every couple of weeks or so and look at it.  I adored my cigarette lighter and never showed it to anyone, even my brother.  I was dumb enough to show it to my childhood friend, Josh.  Josh subsequently threatened to reveal my secret treasure if I didn't do what he asked.  His request, that particular day, was to smoke a bamboo leaf.  On that day, he took a rolled, dried bamboo leaf from an old bamboo stalk I had cut and lit it on fire.  With a menacing stare, he said, "Smoke it!!!"  I put it to my mouth and drew in .. harder than I should have.  Let me remind you that a dry bamboo leaf doesn't smoke quite like a smoldering cigar.  This leaf was loosely rolled and was literally flaming with black smoke rising from the opposite end of this rude smoke.  My lungs filled with the black, hot-dry smoke and I choked for air, coughing and spitting.  I'm sure I had a pitiful look on my face as my friend looked on, triumphing over my ignorant consent to his whim. 

My father was doing yard work at the same time this was happening.  I'm sure I looked at him and tried to quell my heaving lungs in an effort to hide my pain.   If he saw what happened, he never let on.  Some lessons are better learned quietly.  My father confided in me about his own smoking experience as a kid.  He told me about his smoking that he did in the woods in his younger years and how he confessed to his mother about it.  Her simple reply was, "I know."  Parents know more than you think.    My misstep was a painful lesson about bully friends and the consequences of giving into peer pressure.  

Thursday, February 11, 2010

How would you like your coffee?

Ever had coffee on an airplane?  It isn't that great.  It comes from a miniscule galley with a coffee pot that is used all day long and probably only rinsed with water.  The burner is on for hours at a time, facilitating the build up of a hard, black crust in the bottom of that pot.  The coffee marinates on top of that crust and yields a rancid, bitter brew that might even cause the die-hard caffeine junky might turn up their nose.   The best part is when the stale coffee aroma is circulated through the airplane's air distribution system and is delivered to the collective olfactory sense of everyone on board.  ahhh - the quintessential airline experience.

In an effort to mask the unpleasantries of "cafe aloft,"  flight crews have adopted several practices to make the drink better.  Flight attendants will often rinse the pot two or three times extra prior to brewing, or make the coffee double strength.   Sometimes, we even brew the coffee with cinnamon or sugar mixed into the grounds.   During a typical flight, once the flight attendant finishes a service in the back, they will normally call up front and ask us if we want anything to drink.   This is a courtesy to the flight crew and allows us the opportunity to procure some refreshment, a welcome amenity on a longer flight.    I would imagine that there is some unwritten rule dictating that if you want something to drink, your order should be simple and uncomplicated.   Some pilots have their own way of doing things, however..
Here's a sampling of orders I've heard:

"I'll have a cranberry juice with a lime and a bottle of water."
"I'll have a soda water with a lemon and a lime."
"I'll have hot tea with two sugars."

Doesn't sound too bad, right? This could be construed as picky, but not impossible.  The most egregious offenses are observed when it comes to ordering coffee.

"I'll have half a cup of coffee and a carton of milk and a sugar."
"I"ll have coffee, black, with 2 sugars, not mixed.
"Coffee, with half a sugar, a splash of milk, not stirred."
-You might think that you were at Starbucks listening to orders fly...

While most airliners around these days require two crewmembers, there are still a few planes that require three.  The Boeing 727 is one of these.  The flight crew consists of a Captain, a First Officer (equivalent of co-pilot) and a Flight Engineer or (F.E. for short).  The FE doesn't actually fly the airplane. Instead, they have a dedicated station in the cockpit for monitoring the aircraft's engines and various systems.  More often than not, the FE is the most junior crewmember. (jargon for "low man on the totem pole") If you are unaccustomed to flight crew dynamics, the junior person will often perform tasks that aren't as enjoyable as others.   This includes doing aircraft walk-around inspections (a loathsome job in extreme weather) and completing tedious calculations for aircraft takeoff & landing performance and weight/balance.

My father in law flies at a freight airline where there are no flight attendants.  They fly 727's and the FE is responsible for making the coffee.  He recounted a story to me about one particular Captain who was probably among the pickiest when it came to ordering coffee.   Over several flights, the Captain ordered his FE to make him coffee with very specific measurements of sugar and even told the guy how many times to stir it.  The FE eventually got tired of it.   In a subtle move, he selected a grease pencil (a waxen pencil for writing on polished surfaces) and stirred the coffee just as the Captain had asked.  As he stirred, the wax became infused with the coffee.

Freight airlines operate the majority of their flight schedule in the middle of the night and the Captain couldn't see the blackish residue remaining on his upper lip as he finished the cup.  I'm sure he didn't taste anything funny since the coffee was bad enough to begin with. (Grease pencils might even make the coffee taste better).

I can only imagine the snickers that his junior counterparts stifled and the Captain's shock upon looking in the mirror at his hotel room that night when he discovered his black "mustache."

How would you like your coffee?