Why do teachers Teach ?

Yesterday afternoon, my younger son (aged 12) paused as he walked past me, and asked: "Dad, why do teachers teach?".

I was a bit puzzled by his question, and decided to answer it at face value.  "Well son, because it is their job I guess... to teach people".

"No", he quickly answered, furrowing his brow in a mixture of exasperation at my shallowness and his attempts to articulate the question more meaningfully.

"I mean" he continued, "They seem to do the SAME thing every day.  They just sit in the classroom and teach".  He continued "In 10 years or 20 years time, they will see kids they taught who are successful and millionaires, and they will still be doing the same thing - TEACHING !?".

Ah, I was beginning to see what he was getting at.  I paused and thought about my answer.

"Well", I replied, "For a lot of people, just money and success aren't important to them.  What IS important to them is to make a difference and change lives.  That's why some people teach, and some work in health care or emergency services.  Not everyone has the goal to become a millionaire".

I watched his forehead crinkle even further as he digested this information.

"But WHY would they do it? Don't they get sick of not getting ahead themselves?  Year after year, with new kids just coming in and then going on to be successful while they stay the same??" he asked.

"Exactly!" I answered him.  "You just answered your own question.  Every year they will get a new batch of fresh minds that they can work their magic on.  They have a whole year to make better people out of them, then pass them on to the next teacher - whether it is a school teachers, university professor or boss.  What keeps them excited is the new possibilities each year.  That is exciting, isn't it?  Besides, they can always get promoted within the school.  Teachers can become Principals, Principals can become district administrators and so on...".

His expression changed from puzzlement to (what I hope is) understanding.  He went quiet and didn't speak to me again, but wandered off somewhere else to ponder this mystery.

I hope that I have sowed the seeds of some deeper thinking for him, and to remind him that success is not just measured in terms of dollars in the bank.  It is my fault really - when he was little, most of our made up bedtime stories used to centre around how he would be a high flying millionaire as a grown up due to his vast worldwide doughnut empire.  It even included stories of him in his flying Airbus A380 doughnut factory, and having a Bugatti Veyron in every city to drive around when he got there.

I see now that I am going to have to delicately unpick the definitions of success that have been sowed in his mind, and remind him that alongside monetary success, there must also be compassion, humanity, and a desire to change the world into a better place...

 

Cloud Overload

About 5 years ago, my PC desktop screen was starting to look a lot like the image here on the left.  Cluttered with a myriad of windows, it was getting so that I couldn't even bring a background window to the foreground because (a) I couldn't identify it any longer and (b) no matter where I clicked on a background window, it was a 'hot spot' that caused something to happen when I didn't want it to.  I just wanted to bring the window to the front but ended up executing a macro or changing the view etc because modern applications have pretty much < 1% of the active window that is not a clickable area for executing something !

So in 2012, we successfully converted ALL of our usual desktop apps over to cloud, or web based services.  This was wonderful.  It gave me bragging rights at parties and a feeling of smug accomplishment.

But just today, I realised that I have created a monster in another form.  You see, I just realised that my normal working day now requires me to open up at least 25 tabs on my browser.  Just to get my day to day work done.  For some specialist tasks, I am looking at around 40 browser windows.

This is NOT counting the other tabs I will need to open up for research or fact finding.

I am beginning to loath it when Chrome crashes, and when I click 'Restore Tabs', I have to wait about 10 minutes whilst it reloads content in 50+ tabs.

I used to get upset when the number of tabs negated the titles of the web sites, so I began to rely on the little favicons to identify which tabs did what.  Now even the favicons are being obscured by a veritable tsunami of grey tabs, and it is common for me to accidentally hit the 'x' close button instead of the actual tab when switching with a mouse.  Alas I lack the pin point mouse accuracy of an SAS sniper.

I need to consider shutting down some of our web based services.  Either that, or get a browser that is more command driven.  I have been intrigued by the Vivaldi browser project, started by the guys who made Opera, but that is still in early days.

How ironic.  Though I am developing apps for modern web and touch based devices, I seem to be craving my tools be command driven, just like when I started on DOS based terminals back in 1985...

 

 

 

On Code Comments

Actual source code from Microsoft Word 1.0 for DOS

Actual source code from Microsoft Word 1.0 for DOS

This post is basically a bookmark for me to come back to and remind (berate?) myself regularly about my comments that I write in my code.

Not that I should do more. I actually put in a heck of a lot of comments in my code, because I know my memory is poor.  Especially so when I have done several late night programming sessions in a row.  I once even completely forgot that I had written an entire application after a month of sleep deprivation.

What prompted this post is the fact that I often find myself coming across lines or blocks of code that are commented out.  Without explanation.

Just today, I had to go back into some 2 year old code, because a client had reported a possible bug that wasn't bringing pricing across properly from their legacy system.

It took me a while to re-understand my code, and that was helped by the copious comments I had left, knowing my own mental fallibility.  However, when I finally got to the section of code that did the pricing import and looked at it, I immediately knew what I needed to do in order to effect a fix.  BUT then... I noticed that there was already two lines of code EXACTLY like the ones I was about to put in.  Only they had been commented out by me previously.

Why?? What made me comment out those two lines in the first place?  Did they introduce yet ANOTHER serious bug in the system?  There was no notation as to when the lines were commented out, nor any indication of WHY I had done so.

The 'when' is an easy fix.  I just need to go back through my version control system to work that out, but the 'why' is an altogether more puzzling conundrum.

I'll be sure to leave some comments in this section of code reiterating my journey to write, then comment out, then uncomment the alleged lines.  Perhaps in another year or so, I will come back to it and have to unravel this veritable Gordian knot of commentary.

App #3 - Spotto

Ok, just submitted app number three to the app stores yesterday.  This time, a gaming app called Spotto.  This app is basically a rehash of the old kids game we used to play when we spotted something that was pre-designated during an outing or a road trip, and the first person to call 'Spotto!' won a point.

Well, with this app, any player can create a game, which can be for spotting ANYTHING at all - whether it is a brand of car, colour of show, breed of cat, style of architecture - whatever.  Other players can join the game, and then post pictures of the said items.  All players in the team can approve or dispute entries, and points are awarded for approved entries.

The game is open ended, and self regulated.  It was an especially challenging one for me to write, as this was the first time I was using a NOSQL database (Firebase, from Google).  After years of SQL programming, getting my head around NOSQL structures and capabilities was a real challenge, but I think I got there in the end.

The other thing was that this app was designed to be fully real time - i.e. as soon as an entry was entered on one player's mobile device, the other devices all updated at the same time.  This was also quite challenging, however the Firebase API helped a lot with this.

In the same vein, I had to get my head around push notifications, and also use Facebook login authentication for the first time.  All fun, but it all came together fine in the end.

Spotto should be available in both stores by the end of the month.  In the meantime, feel free to visit the Spotto website for more information.