2008-05-24

8 bookmarks

More updates!

New Zealand

For those unaware, my NZ plans are on indefinite hold. The supervisor I wanted cannot accept me for the next year, I am not eligible for most forms of financial support for International students, international tuition is prohibitive, I feel I don't know enough about the field, and my girlfriend is also now considering UBC. Also, I found something a little closer by ...

Employment

Hello working world! I am now gainfully employed by a company that develops software for brokerage firms. I get to use an esoteric platform which I might never use again, but which is very effective at database access and manipulation.

One neat thing about the position is I get to take note of a lot of differences between the proprietary and open source worlds. The platform lacks a lot of niceties I find in the Open Source world. There are strange limits to characters, software used to get around feels limited, shared drives?! While the software that we develop and ship seems to be managed well, we of course use a lot of packages in our work that I can only describe as unmanaged. I can imagine, in an open source environment, someone regularly updating one metapackage that depends upon all the real packages we need to work, and we just install that to set-up. Also, from a Getting Thinds Done perspective (not related to the book/website/philosophy of the same title), I wonder why companies go with proprietary Unix rather than Linux. I have yet to access a Unix that didn't feel combersome, lacking, and limited. And it's not just that I'm more familiar with Linux-based systems. One prominent example would be the shell. Maybe it is more that that adminstrators don't bother supplying useful defaults? I don't know. Perhaps we use a proprietary Unix because the platform doesn't support Linuxes.

The Platform

Now this is pleasant. I generally dislike custom SQL languages, like PL/SQL. And this is somewhat like it. Especially in its "I look horribly ugly and no one has bothered to love me" kind of style. However, its capabilities are swell. How oft I have wanted to create an arbitrary, temporary table to stuff in a bunch of related data (records) into a double array of varying-typed data. Perhaps there are simple systems to achieve this in C and Java, but I have yet to find them. As well, I dislike heavily having DB access constructs stuck inside /strings/ that go unchecked until runtime! Clumsy and lousy! Give me support for the DB in the language, please! This is a reason why, despite not really caring about C#, I enjoy LINQ :)

I wonder what things I will discover as my ignorance shrinks?

C++, Perl, and JavaScript

I still think C++ is a terribly ugly language, but at the local Value Village, I recently acquired three books, one of them is O'Reilly's "Practical C++ Programming". I might as well be decent at it, even if it is ugly. Who knows when I'll have to use it for something important. The other two books are JavaScript: The Definitive Guide, and Learning Perl. I previously had the luxury of access to O'Reilly's Perl Cookbook. I think my Perl skills, despite regular use, have actually waned a little since then. Read more, Richard, read more!

Duplicity

I haven't done much programming on this in a while. 2 weeks, since jobness began to interfere. I must allocate more time before I lose where I was :(

Life stuff

Coming in a following post!

Labels: , , , , , , , ,

2008-05-10

RMI and ClassNotFoundException

<DuplicityServer>.localBind(): RemoteException occurred in server thread; nested exception is: 
 java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
 java.lang.ClassNotFoundException: org.kosmokaryote.Duplicity.DuplicityServerRI

So, I reckoned that this had something to do with either the Remote interface not being public, or a classpath issue. I think it has turned out to be a classpath issue that I didn't really expect, but probably should have. Ultimately, it came down to where I was starting rmiregistry from, which I really did not expect. Starting it at the base of my package meant it had my package neatly present in its classpath. However, I was doing it in its parent directory. Boo. Error fixed!

Labels: ,

2008-05-08

Duplicity

The map descriptor loader now works, and works well. Yay. It took longer than I had hoped, but so has everything else so far. It also showed some major weaknesses in the design of my system :) I think I have two many two-way relationships. Objects contained in another object have references to their container, and I think this might ultimately prove undesirable in quite a few cases. Ah well.

The underlying logic seems to be mostly done now. Everything compile cleanly still. The few tests I have are passing. I need more tests! Apparently Donald Knuth isn't fond of Unit Testing, but I think I have a use for it :| I lack the experience to be very sure of my code, especially given its many evolutions. I hope I will be able to make a release with a text UI soon. I would like to have something of note to point to on my resume as I carry on my job search.

Labels:

2008-05-05

Update the Great

Virtual Jobs

My memory will work against me. I learnt many principles and their definitions throughout University. While I have integrated most of the principles (I hope) and can apply them as necessary, my ability to associate specific terms with appropriate definitions is questionable. I just had a phone interview with a job that asked me to explain a few concepts that I remember learning but couldn't recall what they refer to. In hindsight, I did know a couple, and I could properly define one of them now and could have defined the other then if I had a few moments to compose myself. A couple other ones I have had to look-up again. They concerned databases, and the principles that underly them are intuitive to me. I need to keep up better on my terminology, but I do not know how. Perhaps read more technical books? I suppose I should have my father mail me more of my textbooks :)

Virtual Play

I started work on a Java project called Duplicity for now. It's proving very fun, but it would be simpler if I could do something like this:

class CatOwner {
  ...
  public ArrayList getPets() {
    ArrayList cats = this.getCats();
    return cats;
  }
}
class Cat extends Animal {
  ...
}

However, I cannot convert a collection with a type into a similar collection of its supertype. It seems as though I logically should. Any Cat is also an animal, so why can an ArrayList of Cats not be known as an ArrayList of Animals. I am sure there is a good reason and I'm bound to find it eventually, but right now it's a nuisance.

Physical Location

I have migrated to Vancouver! My girlfriend and I departed Ontario on the 23rd via Greyhound and arrived in BC on the morning of the 26th. It was a spectacular drive. In summary, Winnipeg is sexy, Medicine Hat is funky, and Canmore is cool. Have you heard of the Legend of White River? If you're ever there and that awkward boy dances desperately before you, it's his method of speech and sustenance. Aid him! Most of my photos are spectacularly blurred or spotted (through the dirty Greyhound windows), but I intend on uploading a large amount to Picasa Web once I can afford a decent account.

We spent the first little while in Victoria among my sisters and my nephews. They are nearly 10 or 7 months old now (born 3 months early, so I say 7, going from when they should have come out). I don't get along very well with the younger of my two sisters, and her dog less, so it might be a good thing that I am aiming to gain employment in Vancouver. We are there now, borrowing my girlfriend's uncle's apartment for the month of May. It's situated downtown and on the 19th story. I am spoiled.

We've been trying to walk most places, including from Granville Island to Stanley Park. It's a blast. The weather has been fair and sometimes welcoming. The shops are all very neat. One bad thing that I'll discuss more upon below are the food prices, though.

Fan club

I am pretending I have a fan club. An acquaintance and a friend have moved to Vancouver, and another friend from Ontario has gone to BC to Vancouver Island, hoping to work on an organic farm. It's nice knowing other humans in the area.

I wonder, if I ever manage to accomplish all the things I hope to, whether I really will have a fan club, in the sense that the GNOME developers have fans like me. That aloof respect and admiration. Shock and confusion when someone criticises them. Hmm. ^_^

The Cost of Eating

Food prices here seem on average to be 25-50% greater than in Ontario. A 700g brick of cheese averages out at around $13 in most of the larger stores I've been into, while in Ontario I found it pricey at $9. Milk is sometimes cheaper, but we have a hard time finding 4L of organic milk. We're going to soy this week. The cheapest source of our vitals has proven to be Chinatown, and definitely not Granville Island. However, upon our wandering walks, we discovered a number of smaller shops that had the odd item at much better prices. We thought through most of the day that we had triumphed with Strawberries, 2 for $4! But before the day's end, we found 3 for $5.

In consequence, we are now cataloguing prices we encounter and tabulating them in a spreadsheet. We're doing it via Google Docs, and we if we can find any other suckers^wfriends to contribute, we'll share it with them as well. I feel almost certain that such a website must exist for Canadians (I know of one for the US) but I cannot find it yet. Hmm.

Labels: , , , , , , , , ,