Thursday, September 6, 2012

First half semester as mature student

Mature student. Such a euphemism for "old bugger". Everything about it feels surreal, since being an old bugger has never been how I see myself.

Studying Again

I recently resumed study at the University of Auckland. Having found that my PGDipSci that I began in the 90s was now too long ago and would have to be restarted, I questioned whether more computer science was actually something I wanted to do. If I want to work as a computer programmer, it might make sense, although, to be honest, just doing that would make even more sense. More to the point, I'm not much interested in the stuff they teach at Master's level in that subject any more, and very much more interested in a lot of other things.
What to study?

So I decided to start a science degree. Starting in the middle of the year is nearly impossible for most of the science subjects, as the first half subjects work as prerequisites, with the exception of mathematics, which is so core to science that every first year paper is offered every semester. Since that is the subject I feel needed the most brushing up, I enrolled in "Advancing Mathematics", a Pure Maths paper for people who want to take maths further, and also "Modelling and Computation", which is Applied Maths. The course adviser actually told me I could go straight to Stage 2 if I wanted, but frankly I didn't feel confident enough in the Pure Maths to do that. I felt it likely that Applied Maths could be a little too easy, given my computing background, but couldn't be sure, and figured that it wouldn't hurt to have a thorough grounding.

First setback
I also enrolled in Physics subject "Sustainable Energy", but when my kids got sick in the second week of the semester, requiring me to miss all lectures, then I got sick the next week, and missed another week, I felt that a 75% of full time course load might be too ambitious. So I dropped the Physics, which was only for interest and non-advancing, and anyway, the textbook was online and I read the whole thing on the bus to lectures. It's interesting, but actually, nah, I'll have my $700 back, cheers.

The courses

My guesses both turned out to be right about maths. I have found the Advancing Mathematics course refreshingly challenging, having not studied any calculus for 20 years. And I've found the Applied Mathematics extremely easy. I decided instead of taking it for granted, I'd "overlearn" it, paying very close attention to every detail. I might as well get one A+ in my academic history. The mathematics side of it is at least interesting, I've never studied difference equations before, and I am one of those people who clicks to mathematical ideas from practical examples, which is what the subject is all about. I think it could end up being a lot more interesting in the long run, and very useful for other science.

Advancing Mathematics is hard! The lectures are at a blistering pace, the examples worked through are extremely tricky, and the amount of subject matter is huge, for the time given. Presumably well prepared school students aren't finding it quite as tricky as me, not having to relearn calculus. Then again, ironically, I seem to find some of the ideas easier than most people, perhaps because I'd forgotten calculus (at least in the detail - I do know what it's for and what can be done with it). So the excruciating attention to detail on limits and inequalities and the minor theorems that contribute to why calculus works were really interesting to me. I remember 20 years ago being very frustrated by them, being in a great rush to find use for maths, and finding the very idea of proving the underlying formulae boring and pointless. This time around, I can see the point, I can see that pure maths is the business of laying out the bleeding obvious in such detail that the things that aren't bleeding obvious can be found.

The teachers
The lecturer, Wendy Stratton, is fantastic. It's a pretty hard thing to make a subject like this come alive, especially at the speed that is required. She has a rare gift in being able to explain the mathematics without losing any precision, and to make students feel involved in the process, without leading them by the nose all the time. Perhaps it's just a streaming thing, that the students are the self-selected higher achievers, but I don't think so. It's almost a cliche that maths lecturers are meant to be boring or incomprehensible, at all times. Not Wendy.

I won't judge the other teacher. When you find a subject really easy, it's hard to keep perspective. She seems to teach at a snail's pace, doing endless examples. I'm probably doing a subject I shouldn't be - the other students seem to find it challenging. Word is that the second half steps up in difficulty, when it comes to modelling lots and lots of problems. I'm thinking I'll end up liking that, so an easy intro is probably a good thing.

Student life

Mostly, I'm missing out on campus life. I just don't have time - childcare and housework is at least 7 hours of every day, and there's an hour of traveling. I park and ride, either on bus or bike, leaving the van in the closest place I can find an all day free park. This is usually Kingsland. For such a short ride, I don't need to change clothes. On some days, when I have only one lecture, I'll just park on a 90 min zone outside the lecture theater and go home afterward. At home I have all the resources from University I need, internet, printer, MatLab, and the hideously large textbook for maths.

So most days I get about 3 hours that aren't lectures, and I spend them basically studying, or doing assignments, which are the best way of studying anyway. Only recently did I discover the SciSpace, which is set up specifically as a study area for science students, with minor kitchen facilities, and have actually found familiar faces to work through the harder problems with. 

Tutorials

Gotta say it, maths tutorials aren't really very interesting. The range of things considered is not wide, and you're either right or lost. They're a far cry from, say, a philosophy tutorial. They actually have a rule in the pure maths tutorials that you get marked down if the tutor doesn't hear a hubbub of voices from your group. This is necessary because otherwise people tend to study silently on their own. It's the kind of subject where that works. It actually requires a lot of effort to discuss the problems, since usually you're just putting on display how you're lost or stuck, and those who aren't lost or stuck are thus being delayed by you.

Why do they insist on it, then? This has changed since I studied years ago. It seems that pure mathematicians have finally realized that there is value in social interaction, even in their subject, that a group does actually find things faster, and learn better. I'm not sure, but I have a humorous impression that this might be an amazing theorem that one of them stumbled upon recently, and that they are struggling out of their autistic shells under the power of the logic that drove them in there in the first place. 

Applied Maths tutorials are all lab computer work. Generally I've cranked out the solutions in 20 mins, and I spend the rest of it helping other people. It's been a good way to meet the other students, actually. Interaction doesn't need to be forced. I finally met another mature student! Not feeling quite so weird any more.


Better get back to my swot.

Monday, August 27, 2012

University of Fuzzo takes a turn

Since my last post, my life has turned upside down. Staring down the barrel of selling the house to survive, my wife opted to seek work, and was employed within about 2 weeks by her former employer before we had our second child. I took on all of her housewife duties, which involved all meals, most housework, and childcare.

This threw out all of my planning so far, as there was no way at all I could continue working on my Android app whilst being engaged full time in childcare, indeed to develop any kind of skills that weren't related to house-husbandry was next to impossible. My exercise program went out the window too. I'd say I'm amazed at how much time childcare takes, and how exhausting it is, if I'd ever not accepted that it's substantial. But what I am amazed at is how tiring I found it. It's easy to think that work which is mostly easy is not tiring, if you don't account for the unrelenting nature of it.

I am not complaining, though. It made financial sense, and I think it was a very good thing for her to do, to take control of her life to a greater extent than housewivery without income allows. Also, for me, it was a welcome chance to actually do some things I've long been meaning to and have not found a good excuse to spend the time on. In particular, my cooking repertoire has finally moved beyond the frying pan and BBQ, my attention to household management has moved beyond knowing what food I like to eat myself, and I've spent a great deal more time with my children. My youngest, who was not yet in kindergarden, got my undivided attention for a good four months, and together we knocked a shockingly out of shape garden into some good order, and had numerous outings to libraries, malls, swimming pools, beaches, parks, gardening centers. When the elder son got home from school, we all played together. This has been very good for my soul.

I can't, however, fully embrace this role, for two reasons. Firstly, the novelty is wearing off, and the youngest, turning 3 years old and becoming eligible for 20 free ECE hours, could now be put into kindergarden without crippling our finances. This gave me more time to consider my future. Secondly, despite our income being average for the nation, it does not cover the bills. We do not live an extravagant lifestyle by any stretch of the imagination, so cutting back costs hasn't been able to put us into well-balanced books. This can't continue indefinitely. I decided, for better or worse, to engage a bit of formal re-education, and enrolled in a BSc at the University of Auckland.

I am not entirely committed to gaining a BSc, actually. The degree itself is hardly of more value than the Graduate Diploma in Computer Science (and a number of post-graduate CompSci papers) that I already have, and could easily take me 5 years to complete part-time. But you need to write something down when you justify why you want to do undergraduate papers, and the subjects that I'm most interested in are generally taught in the sciences. In particularly, my maths, which was a major strength at school, is something that I felt really needed to be lifted. At the moment, it's all I'm studying.

Why? I don't have a good answer. General education? A feeling of something missing, of a lost opportunity? To expand my horizons? To freshen up my thinking?


Why pay for education? Again, no particularly sound answer, other than that solitary training is something that I've been unable to really do for the last few years. Perhaps I just need people around me, and a change of physical working environment? I was certainly royally sick of my home-office.

I'm writing now in the mid-semester break, the first time I've been able to even think about doing any serious writing. The boys are at school and kindy, the slow-cooker has dinner on the way, the breadmaker is working on a fresh loaf for after-school and dinner sides. The washing is hung out, the house tidied, the dishes done, the lawns mowed, the network fixed, bills paid. Phew! Ooops washing machine beeping, better pop those on the line, then I'll come back to reflect on what the first half-semester has been like.

Monday, January 23, 2012

Physical Training and Diet Regime

As my New Year's Resolution, I decided it was time to get fitter and healthier again. I have the time for it, and some people have suggested it's a good way of staving of depression, a state that I'm currently only holding at bay with the power of anger.

My regime is simple, because I want it to last, and I have a habit of overengineering everything, that I want to break. So on the diet side, it's very simple - I'm just not eating between meals. This is extremely difficult in practice, because I work from home, and my frequent breaks typically involve some kind of food or drink. So I'm restricting this to only drinks, and then only those with no nutritional value, which practically means either water, or tea or coffee. Unfortunately, this mostly meant coffee in the first week, until I realized that it was an even worse addiction than snacking, and cut it back to 3 per day. The rest is either tea or water.

So far (3 weeks) I haven't lost any weight. I pretty much expected this, because my body has probably decided to store what I do eat more efficiently, reasoning that perhaps I'm going through some kind of external privation, so whatever fat I have should be hoarded. I'm not letting it bother me (well OK, I did swear at the scales this morning a little bit), because the plan is for a long gradual and sustainable drop in weight, and the main priority is to become more healthy and fit. If I actually get heavier because my body decides muscle is currently a priority, then so be it (for the meantime). At some point, that extra muscle will have to eat the fat.

The exercise regime is even simpler - 30 mins of hard exercise every day. Fortunately I found my Polar watch under the couch whilst cleaning up after Christmas, because I have a very poor ability to judge what "hard" means and tend to conflate it with "until it fucking hurts". Whereas the watch, with the heart rate monitor I bought it for (for only $70, 5 years ago! Nowadays the identical item costs $200! But don't get me started on what's fucked about technology these days), using a simple formula based on my age and weight, told me off the very first time I used it for massively overtraining, an alarm screaming at me, with an arrow telling me to get my heart rate down, NOW. So anyways, now I aim to keep my heart in the 150 - 170 range, rather than around 220 like my trainers would have been screaming at me to maintain in most sports. Turns out that having a high pain threshold was really just risking a heart attack.

There's 2 exercises I'm starting with until I get some basic fitness: Cycling and running. Cycling because I have been doing it for a few years now, and running because, well, because it's a basic human activity that I'd like to still be able to do.

Things started well, I managed a 30 minute run, around 4 km. I had to stop and walk a lot, and my calves hurt like a bitch for a few days, but basically I was pleased that I can still actually run. With cycling, I have to push myself - so far my cycling has been only for enjoyment, so I've kept to "moderate" heart rates. To actually push into the "hard" heart rate, I have to push so that my legs begin to ache.

But I have suffered a setback. On my third run, pleased that I seemed to have already got a bit faster, I felt something pop in my calf area, and the pain suggesting a lightly pulled muscle. I wasn't entirely sure, so I carried on, hoping it would perhaps just run off after a bit, but no, it was pulled all right, and it's still not healed over 10 days later. Fortunately, it doesn't seem to affect my cycling at all, so I've been doing that, harder each time. In 3 weeks I've lifted my average speed around Auckland from 20km/h to 24km/h, which is pretty good, considering this comes with an injury.

The plan is to go in month long cycles, reevaluating at the end of each one. At the end of this month, I'll probably up the length of the exercise to 45 mins, although I'm rather nervous about doing this with running. For that, I'll probably keep it at 30 mins, and intersperse in 15 mins of walking. I also want to widen the kind of training - adding swimming, and calisthenic stuff, my own regime adapted from 15 years of martial arts training. Mixing up shadow boxing with knee walking, breakfalling, pressups, burpies, that sort of thing. We'll see, it's not the end of the month yet. My aim for the year is to do 1 hour of hard exercise daily, involving most of the things I like (or once liked) to be able to do. If all of those exercises end up feeling like cycling does right now, I'll be happy, and if I haven't lost any weight, I'll be bloody surprised (but not particularly bitter).

I do already feel fitter, injury aside. At the end of a hard cycle, I feel a bit tired for the 5-10 mins it takes to return to resting pulse, but there is a sustained feeling that I can only say feels to me like what a lot of people say Ecstasy is like (it had no effect on me at all, so far as I could tell). A feeling of wellness, and relaxedness, and a bit smiley. Presumably it's endorphins or something like it.

Monday, January 9, 2012

Next Semester

My first semester in the University of Fuzzo has been one of mixed success. The end of the semester is only marked by the end of the year, rather than some milestone - unfortunately, I have not yet managed to get an app to market. My finances have dwindled to the point where I must take paid employment of some kind to pay the mortgage and other bills. But I have certainly learned a lot.

 The key things learned have been:
  • How to build an app. How to set up the development environment, write programs, compile them, install them on a device, debug them. How to design the GUI, how the activities communicate with one another, how to run a service. How to write Java code.
  • A fair bit about the marketing of an app. This has been part of the delay in publishing the app - all advice has been that an app has a very small window of opportunity to make its mark and should not really be launched in a prototypical state, this will be severely punished in the marketplace by many bad comments and poor sales. This expanded the scope of the project drastically.
  • This moves away from the main point of writing Android apps from my point of view, which was to get away from large projects with endlessly delayed gratification and massive risk.
  • The Android development tools are very primitive. The documentation is poor. Very basic kinds of tools are not available. For instance, there is no vertical slider bar, one of the most obvious GUI controls.
  • There are large problems around the fact that there are a plethora of different types of Android device, all of which need to be tested for.
  • I do not like working alone. 
  • There is very little by way of paid work in this country for Android developers. On Seek.co.nz, which has thousands of IT jobs, there were 3 for Android devs. All of them were for senior people with many years of both Java and Android.

So the University of Fuzzo has turned into what some people had predicted - a school of hard knocks. This may be for the best, to learn these things has not cost a tremendous amount of money, and I will continue to develop my app, but I have come to the realization that I must seek work. At first, I had hoped that practically any kind of work would do, but actually, for nearly every kind of work, except for computer programming, I am not qualified. Only minimum wage work remains, and that is nowhere near enough to live on for a man with a mortgage, wife and children.

My compromise is to do support work - the idea of a return to programming still fills me with misery. Maybe I will emerge from this, maybe not. But work involving troubleshooting, possibly with very small programming projects as a ancillary skill, is work that I have enjoyed in the past. And I find the idea of working with other human beings actually quite attractive.

I hope that this next semester will be more prosperous and fruitful.

Saturday, August 20, 2011

The University of Fuzzo

Having been unemployed for a few months, after 15 years of near continual employment, I've made the lovely discovery that my skills are actually not particularly sought after. There isn't much call for old C++ programmers who don't even know what the object oriented parts of C++ are for, because they've been too busy for a decade writing software to solve hard problems.

Which is actually kind of refreshing, since I'd hardly say much of my self image is wrapped up into mastery of one particularly old and rather ugly looking computer language, and breaking free from it could be quite refreshing.

How to do that? I have a wife and 2 children and a mortgage to look after, which means that prolonged education at, say, University, is not an affordable option. The other option of seeking work that leads to new skills makes some sense, but has two problems - no one sees anything on my CV except the 3 characters "C" "+" and "+". All of my other languages were used so long ago as to be of little worth to any employer, actually slightly lower than a fresh graduate. So I'm effectively approaching employers with no immediately useful technical skills at all, asking to be trained. With the world in recession (or if it was to be honest, depression), no one will take someone in their late 30s for this, because they know I probably would be quite a lot harder than a fresh faced kid to drive like a slave for a pittance.

That's what the world of computer programming has come to. It is no longer a rich seam of opportunity, in which being able to program leads rapidly to enjoyable and varied work. It is a saturated market full of highly trained specialists who either slide deep into ruts that they must desperately defend by building an unassailable wall of code around them, making them indispensable to their organization, or they must constantly retrain, because the wave crest of trends in development is in constant flux, new languages proliferate, new tools emerge that must be mastered, and architecture itself is always moving.

An especially unappealing part of this business is that the domain knowledge learned is seldom transferable. Most likely, the business of a company involve learning hundreds of little rules, that are highly specific to their purposes - even another company doing exactly the same thing will have a different way of doing things, and any systems they have developed will be in totally different technology, so in moving across, you are pretty much back to square one. All you have is your mastery of the language, and that puts you in the same boat as any fresh graduate. Perhaps you have demonstrated an ability to analyze business problems. Perhaps not - this analysis is also often quite domain specific.

My solution, is therefore to bite the bullet and retrain, hopefully towards technology in the wave crest of opportunity. I'll do this directly - simply learn it with my own resources, by developing something that is of interest to me. If, on the way, I get another job, then fine, I'll work in that. If not, I'll have a product, which I might be able to either sell, or give away to enough people to draw attention to my advertising.

Which only leaves the question of which technologies to learn. It's a tricky one - I'd say there are about 10 times as many quite large and viable options than there were when I first did this in the early 90s. Which should seem exciting, but strangely isn't. Like a teenager, I'm bewildered by choice, and very nervous of committing my energies down a blind alley. In case you hadn't noticed, I've already done that once, and I sure as heck don't want to be in this position again, 10 years from now.

This time around, I'm going to start from the point of view of "what software would I, myself, actually buy?". The thinking behind this is that I might actually like the thing I'm writing and put a lot of energy into learning from it, and finishing it. The unusual answer is "almost none". I've become a totally parsimonious bastard, so far as software is concerned, almost always preferring a free, preferably open source product, over a highly developed, expensive proprietary one. In the last 10 years, I've probably spent about $1000 on software, $500 of which was Windows, preloaded onto my workstations. I've purchased one Playstation game. I also bought WoW, and paid for 6 months of subscriptions. From WoW, I learned to avoid computer games like the plague, as a major time sink and life eater.

However, in the past year, I've made dozens of software purchases. This is because I finally joined the Smartphone revolution. Initially, I only downloaded free things for it. But with almost everything free on there, I soon noticed that their list price was tiny, and that I could hardly feel like I'd wasted money on anything that I only paid $10 for, but had used for many hours. I could easily pay $30 just to see some stink Hollywood movie, which would have faded from my memory by the end of the week.

There is a real appeal to me in writing for Smartphones, too - the main one being that people don't expect much from them. A new idea, or something that entertains for a few hours is about all that's expected from an app that costs $10. This means that a large number of apps can be written by one person in a year, in which they will learn practically everything about what can be done, might make some sales, and will certainly have developed a skill that can be sold. This is in stark contrast to what C++ is usually used for and would make a very, very welcome change.

Also, writing software for limited devices is how I got into programming in the first place. My first computer was a VIC20, which had 3k of memory, and had a clock speed measured in kilohertz. At that time, programming seemed exciting because a lot could be achieved in a short time. This is in stark contrast to my experiences with C++, in which writing HelloWorld took several days. I wrote dozens of little games for that computer - practically the last time I was able to write something of my own choosing.

So, for now, I'm learning to write Android apps. 

Web Apps seems like another rich seam with similar characteristics. Only problem is, there's a Tower of Babel in the number of different technologies that are used for this, and I really don't relish the idea of learning a complex server-side scripting language. Any thoughts from anyone out there are welcome, I expect I will come back to this after getting a few Android apps under my belt.

So, that's the program for the first semester at the University of Fuzzo. It's a small University, has only one teacher and one student and they're the same person. It's heavy on course work, and has no exams. Other students are welcome, there are no fees, no official semesters, no formal courses, no lectures. Also no paper qualifications at the end. All you'll get from a semester here is highly practical skills in whatever you are interested in, which will be easily demonstrable to anyone, if you have been diligent.