I’m employed – or the best way out of my catch-22
I’m employed! I’m a developer at fcv.ca – finally working within programming, and finally a chance to work with a team, doing interesting things. This makes it easier for me to put things back together, including research, education and – best of all – teamwork.
I don’t know when I’ll write more – but anything after this will be on open source. I’m happy.
On the catch 22 of education
It takes money to pay for an education. It takes employment to get the money – work that requires the education. It wasn’t for me as much of a catch 22 some years ago, but it is now. I’ve hauled all kinds of things, worked as many different jobs, all trying to pay for my education. Since my injury driving forklift (my lungs – healing but still a long ways), I’m restricted – only office work, or work that doesn’t involve exposure to chemicals, dust or cigarette smoke. I’m two years into a degree because many of the places I lived – didn’t offer anything past second year in my fields – computer science and mathematics. I still haven’t resolved this. It doesn’t help that 17 of the last 20 years I’ve been paid at or below minimum wage – although many of those years in jobs I loved doing. All of those companies are closed now.
One strong barrier – most of the jobs that I could do are south of the border, a degree is mandatory for H1B or NAFTA TN1 visas – both of which are used in the fields I want to work in. However, without a degree of any kind, I don’t qualify – at least as far as I know.
I’m a hard worker, keep a fair budget – but I don’t know how to find the teams I’ll fit into. My goal is to find and work with a team, making software. Making useful software primarily – it’s wonderful when a tool I make or fix is one that others can depend on.
MacOSX server
I think my only problems with MacOSX server is that it’s a little inefficient (compared to tuned linux installations) and that the software isn’t up to date. I think – at least – their choice of mail (postfix/spamassassin/amavis) is quite excellent. This has been my favoured mail stack for quite some time.
I’ve still a couple of folks that need macosx server support from time to time. Convincing the latest and greatest clamav to compile requires a bit of tuning (./configure –prefix=/usr –with-dbdir=/var/lib/clamav/ –sysconfdir=/etc/clamav –disable-milter –disable-clamuko –with-gnu-ld –enable-dns-fix –disable-unrar –with-ltdl-include=/usr/include –with-ltdl-lib=/usr/lib –disable-gcc-vcheck) but works well. As clamav actually disables older version and Mac doesn’t release updates, this is an essential part of maintenance.
For linux folks like me, MacOSX server’s a bit of a stretch in terms of commands (service net.clamav.freshclam stop; service net.clamav.freshclam start) – to restart freshclam for instance. Pretty straight forward though. For folks who want to work with a system that’s relatively easy in terms of GUI – MacOSX server is good there too. In terms of UI coherence, it is still better than most linux installations – although linux is definitely catching up.
If anyone wants me to post more details, just let me know.
fixing holes
There’s an old Beatles song that starts “Fixing a hole where the rain comes in, that keeps my mind from wandering where it will go”. That pretty much describes what I’ve been doing for the last while – taking care of non-programming related stuff. So now I’m sitting back and warming my projects back up again, figuring out what to do with them. Mostly – not sure yet.
As a bit of a reminder of the old days – and to help get back into practice again, I’m attempting a mod player and may attempt to port one of my favourite demos to Android. Once there’s some usable samples and I figure out where to post them, I’ll link them into this blog.
Observations:
- It’s good to practice old style coding every now and again – one is reminded what was worth pursuing (speed and efficiency for instance). One also is reminded by how much things have improved – such as having reliable device drivers. An added bonus (although not sure where to go with it) is many of the older approaches work very well in embedded designs.
- Android: good platform. Not perfect, but good enough. Also, the phones are accessible even to unemployed folks like me.
- Google Chrome : I like it. I kind of wish there were better bookmark management and a bit more control over mouse behaviour – but it’s very nice otherwise. The code is clean (as much as can be said) and I can’t think of any way I can help as of yet. Am looking into running it within a 3d environment though – that could be a nice challenge.
- Visual Studio : switched back to Eclipse, better support for SVN, git and other repository systems. Still, it looks pretty and the documentation is nice to have.
- Unity3D : This is an excellent environment to build 3D environments. I’d like to work more with it in the future.
Now back to figuring out archaic file formats, while considering more presently useful projects.
Programming and income
I’ve been programming professionally since 1992. I’ve worked (professionally) in a lot of languages – C, C++, C#, Java, Fortran, Objective C, Visual Basic, HP-Basic and various different database and SQL languages. For most years I haven’t been paid for a lot of things – I worked on open source projects for a bit for instance. I’ve done a lot of other work during the day. I always program – I love it and want to do more.
For day work, I’ve learnt a lot about how to identify professionals. I’m not a professional in any field outside of computers – I can do construction, drive a forklift or palette cart and do a lot of house maintenance – but it’s not the same. Ok, I’m quite good at driving forklift – it’s a visualization thing. These are not my jobs though. I have the highest respect for a professional in any of these fields – they all have a complexity of skills that I can only see the edge of. There’s an incredible amount of information to track in – for instance – working on a car engine. (while I was trying to get into my first work programming, I worked for a while as a janitor. I could say I’m professional there, but it’s not a field I can return to – I’m allergic to some of the cleaning equipment).
I have hobbies – computer programming isn’t that. It’s what I love and given half a chance, need to do more of. Hobbies are fun – a person definitely needs some. I like handcrafts – metalwork, woodwork, gem-carving and the like. It’s all good – as is going out and doing things like hiking, boating or camping.
Code is an outward expression of how I think. When I work with mathematics, I think of different algorithmic approaches. When I see maps, I think of coordinate systems, database cross-references and ways to store and reproduce the data. Patterns show up everywhere – and I find code a good way to express them. I look forward to working more and learning more of the language of patterns – computer science.
As blog posts go, this isn’t really that useful – but I’d love feedback and refinement. Thank you.
Oracle and Java?
Now it seems to me that Oracle is suing Google over information that was originally shared publicly in order that Java would get wider adaptation. Using only the specifications, a few years back, I actually started my own implementation. (and when Java became more widely available on Linux, I dropped my work. It was going off in weird directions anyway)
This quite worries me – Java was looking like a nice standard language with even a good security design. I do not know the particulars of the lawsuit – just that it’s happening and it makes me wary.
I don’t currently have any work with Java. I’ve worked on it with past employers, but these days I usually use python, perl, erlang or – more often – code it in C. I quite like Java, but I don’t like this lawsuit. It makes me feel worried about using the platform.
Segue – on marketing
When I first got into running my own business, I thought my biggest barrier was marketing. I’ve never studied it and – before I worked for AlphaTrade.com – didn’t have a lot of exposure to “in the field” marketing. I was actually fairly certain that I was incompetent at it. (turns out that’s sales. I shouldn’t ever do sales. They are two separate fields. Amongst other things I have a very strong desire to answer questions and in sales that’s not always wise). I should note that I haven’t tried running my own business for the last few years. I’m not sure what I’d do with that for now. I want to work as part of a team!
At AlphaTrade.com, I got exposed to marketing. It’s a very neat field. I can’t in good faith describe anything we did there but I can say that what we did was part networking, part presentation and part “being really good at some key things”. I still miss that job from time to time. I think that given the chance, I’d work with marketing again – providing it didn’t involve “unsolicited email”. I really don’t mind “solicited” but the “unsolicited” is a problem. Sports, television, radio, online – these are all a lot of fun to work with.
In terms of “how to” – am not sure what to offer, beyond listening. Listen to the company and figure out where things are going, and where people want to go. Listen to the customers and figure out what they’re asking for. Listen at network meetings and see trends in where they want to go, too. As to whose voice is most important? Customers of course – but if you want to leap beyond and try to create trends, it helps more to listen to coworkers and managers and figure out what directions entice the company. Your contacts may be customers or you may be there customers – that’s important too but a lot more like “reinforcing the desire to work together”. I guess I don’t have much to add except listen. Listen a lot. I don’t really have anything in marketing that I want to do, so listening (for me) is easier – I’m not drowned out by my own voices. I’m thinking though I would have lasted at that company if I were better at listening.
A random aside: toxic coworkers happen. All I can think of to respond is that people who are toxic need to be kept separated as much as possible. This doesn’t mean that either is problematic to anyone else, just that they should be kept apart. (if it’s workplace/employee, they need to be kept apart too. That can happen). If one is caught on one side of a toxic relationship it’s a really good idea to review one’s own place in such an environment and can see what can be changed. It’s rarely one-sided. For the record: I have seen one-sided toxic relationships. I’ve also seen where it was actually a third “party” that was the problem – and any of the “parties” can be environmental. My “worst case” actually ended up being a very toxic building (mold exposures can be very bad, and can take years to heal).
Last: a quick update on the last post: http://www.academicearth.org/courses/the-fourier-transform-and-its-applications looks like it might help. Am checking that out (and other online courses). For a person with limited financial means, studying is kind of a luxury so for now, I’m restricted to sources that don’t cost me anything.
On math I don’t (yet) understand
There are a bunch of mathematics that touch on things I have worked on, am likely to work on or will work on.
Fourier series and fourier transforms – I like them. I use them. I do NOT have any kind of grasp on how they work. I’ve covered a lot of the math leading up to them but they still elude me. I’m missing something here!
Topography – My specific approach via GIS means that – again – I use a lot of things without truly understanding them. On the flip side, mostly this field makes sense to me … it doesn’t hurt that I love reading on it.
Multivariable calculus – on one side, I use this a lot. On the other, specific parts still escape me. I do not know if I know it or not. I have formally studied but due to having to care for a roommate going through a crisis, I missed a little too much of the class. I do enjoy working with these though – so whether I grasp them or not has yet to be proven.
eigenvectors / eigenvalues – my one failing in linear algebra. I’m close to understanding them – they feel “on the tip of the tongue” as it were. I just haven’t needed to know them enough to get that final step. This could actually be the key cause of why fourier analysis escapes me. I will have to study this further.
In kinematics: the connection (if any) between circular momentum and linear momentum. I’ve never found a connection actually. Is there one? (all of my references tend to cover one OR the other, but not both simultaneously)
There’s no shortage of other mathematics I don’t grasp. For the other side – mathematics that seem intuitive to me are (some) multivariable calculus (integrals/derivatives), a lot of computer science (I consider this a branch of mathematics. I may be short on terms of reference but with a CS reference on hand I’ve had few difficulties reading papers). The bits of topography that do make sense are a lot of fun. Linear algebra across various spaces is – well a lot of my computer graphics work is dependant on understanding it.
I’d love to learn more. Mathematics are deeply important to how I understand the world and as yet I’m missing far too many points of reference. Even though access to anything university level is vastly restricted to me at the moment – I will continue to study.
teunis at usa.net
oh! that WAS my address
I’ve forgotten. I’ve also had a yahoo account, hotmail and a bunch of others. Currently I stick with either my own domain or gmail.com. It makes things much easier. (I do NOT monitor my hotmail account. Not on any kind of reasonable basis anyway)
Well, that answers that. It’s from the period where I was working with the S3 kernel driver in the GGI project. I miss that project some, still. That said – kernel structure has moved on and it looks like the X folks finally are following through with fixing the criticisms we had, way back when. (ok not so much me. I wanted cleaner 3D – and I’ve gotten it. I also wanted easier to manage X server code to make it embeddable into a 3D app – and I’ve gotten that too! Now to just figure out how to embed an OpenGL app into another OpenGL app… heh)
In another track – a chance remark in http://www.basementcoders.com/transcripts/James_Gosling_Transcript.html – caught my attention just now. “Like QAing the math libraries. Like doing QA on sine and cosine, you absolutely have to have a PHd in Mathematics. Sine and cosine: it sounds really simple, but there is unbelievable amount of depths of subtlety in there. There are extraordinarily few people on the planet qualified to QA that type of stuff.” – I’ve been working with math on computers since before there was a floating point processor onboard (oh, the Apple II for instance). It honestly didn’t occur to me that this was all that hairy, because I learnt how in high school. But that remark reminds me – just because it’s obvious to me doesn’t mean it’s easy. I know this is a complete segue but this is something I need to be reminded of, from time to time.
That said, I’m going to agree that the Java math code is beautiful. It truly is – from what I last saw. I’ve mostly gone for speed over accuracy but if I wanted accuracy I’d go with theirs. (GIS demands accuracy)
Updates and musings on futures
Currently I’m just refining communications on the 3D engine. It’s probably the most critical part so I’m testing each component just to make sure nothing unexpected happens.
As I reacquaint myself with code left behind in 2007 – I’m rediscovering how much I enjoy topography. Interesting subject – need to work more on a better grounding in it. My introduction to topography was through GIS work at a surveying company in the early 90s – writing calculation and conversion software for maps et al. Beyond that job I haven’t needed the math for any workplace, but I’ve continued studying it on and off on my own time. Beyond it being enjoyable to study, I’m not sure how to make this fascination useful in any way. Suggestions would be appreciated!
My life as a nomad: busy. I’ve been a nomad for a little over a year now and I’m glad to say I’ve finally found somewhere to stay for a while (barring work elsewhere). It takes up a lot of time to move around all of the time. If anyone has any suggestions on how I can present software or documentation as a portfolio – I’d be happy to receive them. Thank you!
leave a comment