Create Thoughts

It’s May 2015 and this is the first post I’ve written in a year.

That’s not to say I haven’t been writing – I have. Each day I produce thousands of words of riveting email, and most weeks I land up writing proposals and presentations. These are things with words… with some degree of creativity. But I haven’t really written. And if I’m really honest with myself, I haven’t written anything good in years.

The last time I published something it was announcing that I was going to take a photograph-a-day for 365 days. You might have noticed that I only made it to Day 52 before failing dismally. Consistency is hard.

My blogging history is littered with bold starts that quickly fizzle out. Far too many of my blogging seasons begin with “Just moved to Wordpress” or “I’m moving to Jekyll”. The tools are fun (to a nerd) but the grind of publishing is not. Yet the few times that I’ve written about something I actually care about have been an amazing feeling. There’s nothing quite like passionately putting a well (or poorly) considered idea out into the world.

In the past I’ve published to timkeller.me. That ends today with the move to cre8thoughts.com. This is one more fresh start. There’s a good reason for this, and there’s a good reason I’m so excited about writing at this slightly silly new domain. I’ve always been a bit self-conscious about writing at a blog that shares my name. My name tells my reader absolutely nothing about the general theme and topic of the blog. One month I’m writing about education, the next I’m linking to articles about Apple, and then I’m writing about programming languages. It’s too scattered.

So why cre8thoughts? I’m fascinated by the things that create and shape the thoughts and ideas and obsessions we have. Our thoughts are the sum and average of the inputs we expose to our minds. If thoughts are the photography film, then these inputs are the light entering the lens. Focussed with care, these inputs can develop into incredible products, novel solutions and clever businesses.

This is a journal of these inputs and of how they shape the things I make. Expect a diverse set of topics, but I will try my best to keep the focus on this core idea of: creating thoughts worth thinking about.


My First Mac

I often feel a pang of regret that I came to the Mac so late in its return to popularity. My corner of the internet is littered with epic stories of the Mac in the 80’s, heroric tales of the dreadful 90’s and the renasiance from ‘97 into the early 2000s.

I grew up in the early 90’s in Cape Town. While the Macintosh was not doing well globally, it was doing even worse in South Africa. Apple had pulled out of the country in 1985 as a result of the then government’s policy of apartheid making them difficult to find and very expensive.

Our house had a IBM PC clone with a monochrome orange screen running MS-DOS 5. It was at that blinking “C:>” DOS prompt that I developed a love for computers. I typed up projects in Word Perfect 5.1 and studied the “toolbar” that my father had attached to the top of our keyboard. It wad three rows and twelve columns. The rows represented the modifer keys CTRL, ALT and SHIFT, while the columns were aligned with the “F” function keys. I learned to spell through playing Space Quest and Police Quest… and King’s Quest! I made a menu appear at startup through what I thought was some impressive autoexec.bat hackery.

But as I read Stephen Hackett and John Siracusa detailing their early and formative experiences with the Macintosh, I can’t help feeling like I missed out. What I do know is that there was something deeply formative about learning DOS on that clunky PC clone. I remember bawling my eyes out when I had to tell my mom and dad that I’d accidentally run RD C:/ and formatted the entire drive. I remember the feeling of finding QBasic for the first time.

Years later I would use a Mac for the very first time. It was 1999 and we were at Legoland during a family holiday to the UK. My dad had booked my brother and I into the Mindstorms Programming Class.

Yeah, when your parents are teachers, you’re going to be coerced into something educational wherever you go!

We sat down at these funny looking computers and were shown around. I was floored. The monitors where blue in colour and semi-transparent, the mouse was this funny round disc and I couldn’t figure out where the tower was hidden. The software looked unlike anything I’d ever used, but oddly familiar. I’d seen these windows and icons in computer books at the library. That afternoon we programmed Lego robots to drive around the room, pick things up and make sounds. And we did this all from an incredible little Apple computer.

Eight years later I finally bought my first Mac. It was a late-2007 Macbook Pro. I was in my third year of university studies and used up every last cent of my savings to buy it. This was before the era of unibody construction, button-less trackpads and solid state drives. It had a 15” glorious matte screen, a screaming-fast Intel Core 2 Duo and Nvidia graphics. Driving home I wondered if this machine had been worth all that money.

And then I kinda never wondered again.


Rebooting

Most years I spend a couple of days in December planning for the year ahead. That process usually results in a blog post detailing my broad goals and ideas for the year ahead. This year is a bit different.

After five years at Umoya and seven years working on Staffroom full-time, I’ve found myself facing a fresh start in a completely new job and in a totally different industry. I’m now working at Sunrise Productions as a Senior Developer.

Initially I’ll be helping the CG Pipeline team with some tools development - specifically for Maya and Houdini. New, unknown, exciting. It’s a massive change, but I must admit that my first week has been fantastic. Sometimes the most uncomfortable decision turns out to be the best decision.

So here’s to the next chapter…

Update 2014-05-18: Staffroom was sold to EiffelCorp in April 2014.


Battle won, now the war

Derek Keats says it best:

Freedom requires vigilance, and understanding as we move into new domains where it is contested, and new forces act to take it away. This past month or so, a number of us came together as FOSS businesses, activists, and concerned citizens to challenge the DBE on the contents of Circular S9. It seems that DBE listened.

The Department of Basic Education has withdrawn the requirement to switch to the proprietary Delphi programming language and Microsoft Office software.


Some Freedom

Thanks to Derek Keats, it has emerged that the South African Department of Basic Education has selected Microsoft Office as the exclusive teaching environment for the high school computing course, and Delphi as the programming language for the programming subject.

There’s so much obviously wrong with this decision that it feels degrading to even participate in the debate. Honestly after reading Circular S9/2013 I physically pinched myself to check whether I was dreaming. Unfortunately I was not.

Effectively, schools using OpenOffice, LibreOffice and older versions of Microsoft Office will have to upgrade to Office 2010 or 2013. Schools currently teaching Java will have to switch to Delphi from next year so that the 2016 Matrics can write the NSC exams. Both of those software packages carry proprietary, closed-source licenses.

This while the SA Government continues to boast about its Free and Open Source (FOSS) Policy. Actions speak louder than words, folks.

This “Delphi” thing

Embarcadero Delphi is a Windows (only) application that compiles programmes written in the Object Pascal language. Depending on your age, you may have been taught Turbo Pascal at school in the 1970’s and 1980’s. Pascal itself is a descendant of a language called ALGOL 60, developed around 1960 for mainframes.

The company that currently owns Delphi does not charge license fees to South African students. But this is hardly a guarentee in perpetuity, and Delphi has changed corporate ownership a few times in the past decade.

On the other hand, consider the free and open languages that are thriving in academic environments, scientific applications, mobile, web, enterprise and embedded:

  • Javascript: Free and built into every web browser.
  • Python: Free, Open Source. Massively popular across industry.
  • PHP: Free, Open Source. The language behind many websites (like those running Wordpress) and web applications.
  • Java: Free, Open Source. Android apps are written in a dialect of Java.
  • Objective-C: Free via the Mac App Store, builds on C/C++. iPhone, iPad and Mac apps are commonly written in Objective-C.
  • Ruby: Free, Open Source. Many websites and web applications use Ruby. The free and Open Source Ruby on Rails web framework is very popular.
  • C/C++: Free, Open Source implementations. Hugely powerful and widely used in Operating Systems, Games, Drivers and Server software.

Teaching programming

While I am suggesting that Delphi is a poor choice of language, its not because its old, unpopular, outdated or boring. Though, those reasons may be valid. My problem is that Delphi is a closed-source, commercial, proprietary software package that by definition of its business model, needs to keep people using Delphi and Delphi alone.

I taught IT to High School students for two years during my Computer Science degree. Our school happened to use Java… but I frequently exposed my class to other programming environments and languages. Because that’s how the world works. Humans communicate in a multitude of different dialects and languages.

Its astounding to me that, in 2013, a national department of education can reach the decision to mandate a single programming language. Across the world, education systems are embracing a “use any language” philosophy and instead focusing on assessing how students use that language to solve problems.

No professional developer today is spending all their time in one programing language. In fact, even a junior web developer would regularly find themselves programming in HTML, CSS, Javascript and PHP or Python simultaneously.

Where to from here?

It is clear to me that the IT subject is no longer a viable choice for children interested in computers and programming. In attempting to defend their position, the DBE admitted that:

“Only 0.9% of Grade 12 learners take IT and 9% of Grade 12 learners take CAT.”

As passionate members of the IT industry and concerned educators, we need to take matters into our own hands.

There’s a fledgling community of programming courses and workshops for children. Some of them are offered regularly, others are short courses. We need to create more of these, and attract children to try their hand at programming apps, websites and online services.