Older blog entries for bjf (starting at number 123)

Hacking

I've been playing with Python (in particular, the newer functional programming language features), and the Scalable Vector Graphics (SVG) file format. As an Australia Day hacking exercise, I wrote a small Python script to generate the Australian and US flags.

Find the code and results here. Feedback should be sent to the usual place.

Recent Activities

I've wrapped up my work at DSTC for the time being, and are gearing up to get cracking on the compiler hacking project. I've got to read K. John Gough's new book cover-to-cover first, and it's hard yakka...

Over the Australia Day holiday, the news has broadcast reports of intensifying protests by illegal asylum seekers in the holding camps at Woomera, Port Hedland and other places. Our Government is being unusually heavy-handed and decisive in dealing with the media and the detainees, but it's pleasing to see that the situation, as unique as it is, hasn't compromised freedom of speech and press, and everything else we stand for as a nation and society.

I personally do not support the illegal asylum seekers. Many are merely economic refugees, fleeing only from economic hardship and not political oppression. Clearly, many people believe that our streets are paved with gold, and that our land is full of milk and honey. Furthermore, the people smugglers themselves are organised criminals, and are possibly aiding other criminals in sneaking into our country by way of a system designed to help the needy. As insensitive and disrespectful as our Liberal Party Government is, I feel that I must support them in enforcing our laws and national soveriegnty.

Beggers may not be choosers. True refugees are beggars, and cannot make choices on where to seek sanctuary. My grandmother fled the chaos and violence in Budapest during the 1956 uprising against the occupying Soviet army. As a refugee, she expressed a desire to go to America, but only Australia would accept her as a refugee. She came here to Australia (by legitimate means, mind you) and made her life here in a country that was considered a remote backwater province of the British Empire, washing nappies at the Mercy Hospital in Melbourne for a living.

Despite true hardship, genuine people make a genuine effort to improve their situation. They do not expect to buy their way into El Dorado as these supposed refugees are attempting to do. They do not attempt to use the media to morally blackmail the Australian people -- the lip-stitching stunts are impressing no-one, thankfully least of all, the Government. Thus, I have very little sympathy for these people.

Are we facing another new "war"? A war between the First and Third Worlds; between the relatively-few well-off civilized people, and the great mass of poor? Is the Jihad against the United States, and the US War on Terror merely the most visible of the battlefronts of this new conflict? Will such a general antagonism replace the Cold War as a force shaping the political sphere? Are we looking at a future of increasing violence and discord, considering the absense of "mutually assured destruction" that kept everyone well-behaved during the Cold War? Will the poor, driven by desperation, run straight into the arms of Wahhabbis and other psychotics in a desperate attempt to improve their lives? If recent events are anything, I personally feel they are merely the opening shots of such a conflict.

mbp: I have to really wonder if it is really worth developing and releasing software on an open- source license if some mongeral is simply going to come along and steal the code with crediting the original authors. What can hackers do to protect themselves from this serious form of theft?

The trouble with this sort of theft is that it's intangible and that getting recourse is that much more difficult: I really doubt that it'd be possible to simply put a brick through his (or her) window...

I seem to remember reading an article written by the Free Software Foundation imploring Open Source code maintainers to sign the copyright of their software over to the FSF. Is this a satisfactory way to protect the rights of the Open Source community?

Me

I've been very lazy lately, and haven't gotten much done; back to DSTC tomorrow to finalise my work there. I then need to turn my gaze to my work on GPCP (it's a sweet little piece of engineering and it's Free!). I fixed my broken computer (at considerable cost), installed Windows and bootstrapped the compiler against the final-release version of .NET. So far, so good.

I'm sticking with the karate training: three times a week without fail. I'm also doing home-cooked food every night of the week - not necessarily a financial saving, but I'm gaining weight. A full-sized steak dinner beats the Big Bite and Slurpee any day! My health and feeling of well-being is improving out of sight.

I've been spending some unpaid time at DSTC writing some EJB code to implement an Archetype server built into the health-record demonstrator we're building. With some extra code, the Clinical Model Builder should be able to query the archetype server for documents to load, and then commit documents to the server afterwards. Since GEHR clinical model (metadata) documents are "well known", it should not be possible to overwrite an archetype already at the server - once they're installed on the server, they become immutable. This is a neat solution, and saves me a lot of coding effort ;-)

I'm hoping on getting my Portal and CMB modifications done and tested as soon as possible, not only to ensure that the DSTC people are kept duly happy, but also to make sure that I can make some progress on my PLAS make-up work. I'm feeling very guilty about my lack of progress on that front. As for DSTC, I may have some more paid work coming my way yet: my bosses were just awarded a very large contract by the Federal Government, and I hope that my employers decide that they can make further use of my skills.

It was TheD's 21st birthday today! We headed straight for the Hog's Breath Cafe, our favourite resturant, and after the usual massive scrumptious steak dinner, pressies and birthday cake, we took poor Stephen on a surprise visit to Bad Girls (a strip joint near our house), and yes, the girls were Very Bad indeed. We, of course, made sure that Stephen was embarassed on numerous occasions, ensuring that the night was a memorable one.

Anyone here (especially the kernel people) know much about FreeBSD Kernel Queues? I was wondering just last week why UNIX, unlike other operating systems, lacked a powerful, flexible and unified means of having applications register for events of interest (async I/O, file descriptors and processes). It appears that FreeBSD are leading the way in introducing modern operating system features to an old design.

http://people.freebsd.org/~jmg/kq.html

Has anyhone looked at this? How useful is it? Does Linux support it?

Things are shit. I'm getting up at 3pm every afternoon, so I'm getting nothing done at either DSTC or PLAS. That cannot be good.

My computer died too. The motherboard decided to just spontaneously fail, so I'm up for another $400 to get the thing fixed. PC hardware generally seems so unreliable, it's almost criminal.

lkcl puts an interesting spin on his Samba political predicament.

There are just some things in life that are so slap-headingly obvious, that they go unsaid. I think that although I'm nowhere near as technically gifted and talented as, say, lkcl or the folks on the Samba team, I'm qualified to express what most people understand as common sense.

It's a free world. The Samba people are perfectly entitled to control what code they accept into the codebase, and collectively are entitled to control the technical direction of their code and their project. lkcl is perfectly free to take existing freed code and spin off his own DCE/RPC framework - if it's good, people will build their own applications (and retrofit existing ones) on it. If it sucks, people are perfectly free to shitcan it. The developers who work on Samba are perfectly entitled to insist on a basic level of quality on code that they themselves have slaved their arses off writing and debugging. It's their party, and they're perfectly entitled to cry if they want to.

I personally haven't done a lot of hacking lately - it feels too much like work at the moment, but I'll certainly get stuck into it again when I rediscover my love and enthusiasm for the art. However, when I write or contribute to Free software, I do not expect for a second that I'll be enumerated for my efforts. To do otherwise is naiive and stupid, IMNSHO. If I want to make money, I'll shut up and get a job working on non-free software for employers who have the means to pay their programmers, even if it means writing and maintaining Visual Basic code, if that's what it takes. Money talks and bullshit walks.

The world does not owe me a living; in fact, the world does not even owe me the clean air that I breathe - even if I expend a great deal of my time working on things that I am unlikely to get a financial return on. I'm not that fucking stupid - if I want to do something with my time and have a sure-fire means of getting income, I'll work as a paid programmer. I won't loudly demand that because I've put half my life into maintaining a piece of Free software (which part of 'free' don't we understand?), the world owes me a living. If you think that life is unfair, that's because it is.

The only thing that is truly 'fair' about how the world operates, is that generally speaking, you get out of life what you put into it. If you're nice to people, consider their feelings and do the right thing by the people around you, then you'll prosper. If you're selfish, inmature and obnoxious, you can only expect to get it back in spades.

If you think that life is being a bitch, and that everyone is out to 'get' you or rip you off, you either have a major reality perception problem (in that case, schitzophrenia or depression may be a possible issue, see your doctor), or you simply are consciously or subconsciously being a total shitworm to the people around you, in which case, you have a lot of thinking to do. Have a nice day.

I've just discovered rsync, and it is such a useful, convenient and generally kick-ass piece of software. Great work tridge and mbp!

We had a very eventful last twenty-four hours, which included a nasty bashing and a hospital visit. Read about the whole ruckus here.

Hooray! Hooray! I got my parcel of goodies from Amazon today! It included A Day in the Life of Ivan Denisovich (Alexander Solzhenitsyn) and How To Learn Any Language (Barry Farber). I'll chuck them on my metre-high pile of unread books.

Sensei Bob got an undertaking out of my to properly committ myself to my training. Subsequently, I decided to pay for the entire year's fees up front, which took a huge whack out of my savings. Sensei Bob points out to me that I don't have the 'cost crutch' anymore.

I spent several hours today doing some work for DSTC. We decided that our clinical archetype repository was not going to be WebDAV based after all, rather, a table in a PostgreSQL database, accessed via an Entity EJB. It's good to get back into real programming, but it's not good to run into steep learning curves. I'm pretty much convinved that J2EE is worth the time investment, though.

My contract was supposed to finish up last week, but I've decided to keep working on the current task until it's complete. I've got to go and see my bosses again later this month with regards to additional work, so keeping in touch certainly can't hurt.

Tomorrow, I'm getting back to PLASRC to start doing make-up work for Compiler Lab, adding an obscure type of dataflow analysis to a Pascal-family language compiler. I've got to stop procrastinating.

Bloody hell. I must start developing some self-discipline.

I feel sort-of excited and nervous about it, actually. I'm very anxious not to screw up again.

Tomorrow evening also marks my first lesson back at karate since July last year. I really hope I don't look like a total goose. I'm going to pay up my karate fees for the whole year up front; I hope that that isn't a mistake.

I also heard from a relative in Hungary via email today. Peter lives about 30kms outside of Budapest and studies international business at university. Hi Peter!

I went to renew my driver's learning permit today. Since it was 5 years since I applied for it, I had to re-sit the written traffic law test. Before leaving home to take the test, one of my friends stressed that I bone up on my Traffic Law, in particular, the part about U-turns at intersections. As luck would have it, I heeded his advice, ruining a perfect score on the U-turn question. Mental note: never blindly follow advice.

I finally got my hands on Manufacturing Consent, from the American Bookstore. They seem to have a better range than McGills for those types of books.

I wrote my karate teacher regarding fees and whatnot, and was quite surprised to get in return a rather toasty flame regarding my lack on consistency and dedication to my training. I did have it coming, though.

New Years resolutions:

  • Finish the things I start (karate, language learning, uni commitments, work contracts...)
  • Take better care of my health (real meals, earlier bedtimes)
  • Show more self-discipline.

Hacking

Now that I've got all this free time on my hands (aren't holidays great?), I should get back into doing some personal hacking. Thankfully, my skills have been augmented considerably by real work experience and study, so the quality of my work should improve accordingly. A pet project of mine, which I haven't gotten around to actually coding yet, is an implementation of Chawathe and Garcia-Molina's algorithm for generating diffs of structured data (look it up in CiteSeer). An XML diff-and- merge utility would be very, very useful.

I'm getting tired of fielding emails shit-canning my awful Huffman codec implementation, so I ought to sit down and do it properly (in C++/STL, rather than C). My major stumbling-block at the moment is designing the exposed API to make it as useful as possible to applications actually using it. I'm trying to either find a decent "stream-and- filter" design-pattern, or invent a design of my own. Luckily, it's a task that's small enough to refactor in a short about of time - maybe some experimentation is in order :)

Going to Dinner

Last night, I went with my flatmate and his boyfriend to the Coffee Club in the City. They'd gotten a good look at one of the waiters (blonde guy with lots of beefcake, etc). Somebody said at the cash register "We should ask for a large doggie bag...".

Badum cha.

I thought that it was piss funny at the time, though.

Speaking of love lives...

It's kinda funny; at least two of my friends seem to have found stable girlfriends, and all of the sudden, they've fallen off the face of the Earth. On the other hand, I feel my own urge to go after women has just hit an all-time low; probably in part due to how everyone I work and study with are almost exclusively male, or are simply very unattractive. Yeah, so I'm a shallow bastard. At least I'm in no danger of letting my own hormones get me into trouble for once.

Reflections on Christmas

While most of you guys are literally getting snowed under over Christmas, here in Brisbane, we're getting near-record high temperatures, with today's maximum brushing forty degrees Censius, and tomorrow predicted to be hotter. I'm certainly hoping for a trip to the beach tomorrow.

I'm not so much a Christian, having being cured of my faith in a Catholic church-run school, but the aspect of Christmas that I love is that of family and togetherness. With barely a thought to the religous side of the celebration, I gleefully buy presents for my relatives, and spend days enjoying their company.

My family, more than anything else, mean the world to me. It is comforting to know, that despite life's challenges, the one thing that remains constant is that one's family is there to lend company, advice and emotional support. My family is a very strong part of what I consider my own identity.

It is said that a person may choose their friends but not their family. Indeed, my own family (as with everyone else) members aren't perfect. But I feel that overall, those blood-ties still maintain the bridges between even people who would not normally get along.

It just occurred to me, that despite the differences my mother and I have had, our relationship is now better than it has ever been. My mother, although one of the more critical and unforgiving people I know, still seems to have a limitless capacity to forgive, despite my obvious flaws and her own. This is one of the reasons why I admire and respect my family (especially my parents), and value my family connections so greatly. Blood, as it is said, is thicker than water.

I can contrast this with the ugly situation I had with a co- worker several years ago. Having established what we called a "friendship" (OK, so I'm obsessed about the whole fuckup so sue me, and besides, it's my party...), I said and did a great many things that I still regret, and despite the original overtures of friendship and her claims that she is a forgiving person, we still don't speak. I thought about this recently, and concluded that the friendship itself was not strong to begin with, not unlike the parable of the house that was built on sand, and when the wind blew, the house collapsed.

In circumstances where true friendship or blood ties exist, the bonds between us are far more resilient, and survive even though we are human (and do bad, and sometimes terrible things to one another). Despite the disagreements, petty hatred and bitterness I've had with my own family over years past, my family ties are virtually indestructible and I love them all dearly for it.

114 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!