I'll reuse an old one: merry christmas, friends and foes!
I'll reuse an old one: merry christmas, friends and foes!
If there are people reading this that haven't already got the message elsewhere: nowadays I live in Helsinki, Finland. I can still be reached using the same e-mail-addresses as before. I am now working for F-Secure Corporation as a Quality Engineer for Linux products.
So there I was, sitting on a train bound home, and feeling creative. I powered up my laptop, switched to Emacs and began hacking away - just to realize that I have no documentation on available on the computer. At all. (Two years ago, I would've used my fancy bluetooth phone and surfed to the nearest Javadoc site using GPRS, but I tend to lose all my cool gadgets so no more mobile Internet for me.)
What to do, when you feel like being productive but still lack the oh-so-vital API reference? I don't know all the methods of the javax.imageio by heart. I don't remember all methods in the classes of package javax.servlet.http, even though I've hammered them over and over hundreds of times.
For some reason though, I still remember some basics of the Reflection API. One reason being, of course, that the basic reflection API is very inituitive and straight-forward. There's the basic Class.forName(), and Class' getMethods() and getFields(), Method's getReturnType(), and so on. So I figured I could write a simple JSP to list the methods and fields of the classes I wanted to use. So that I did. Eventually, I reflected the Reflection API to see how I could retreive information about the classes and interfaces. Later on, I even used reflection to dynamically find and invoke the reflection getters to be able to retreive static values of static class fields.
Of course, I ended up spending the entire train trip doing pointless wheel-invention - a sort of a poor man's reflective Javadoc without the actual documentation - instead of actual billable work. But hey, it was a fun trip to reflection land, and yet another bulky (and buggy!) JSP-hack to add to the list. I never quite finished it, and some things I just couldn't figure out without access to the API documentation (such as how to properly interpret the modifier bits). And now, with access to all the documentation I can handle, the thrill just isn't there anymore. :-)
Anyway, see the result here (view source).
The world's oldest still running newspaper, Post- och inrikes tidningar [swe] (PoIT), which is the Swedish official announcement body, may be shut down and replaced with digital publishing on the web. It has been published for 360 years, starting at 1645 under the rule of Queen Kristina as they supposedly needed a government voice to tackle rumour problems and present an official Swedish view on national and international events.
In 1791, King Gustav III appoints the publishing rights for PoIT to The Swedish Academy, founded by him five years earlier to nurture the Swedish language and literature. The Swedish Academy is still, 214 years later, the official publisher of the paper. Many different kinds of public announcements, such as information about bankruptcies, are required by Swedish law [swe] to be advertised in Post- och inrikes tidningar. It is also regulated in law that the advertiser much pay an advertising fee. The by far largest PoIT advertiser is the Swedish Patent and Registration Office (PRV), which alone contributes about SEK 20 million (about USD 2.9 million) annually in advertising fees to the Swedish Academy. The surplus is used to fund the creation of the very ambitious project SAOB [swe](Svenska Akademiens Ordbok or Swedish Academy Word Book) (website [swe]), an attempt to document the usage of the Swedish language since 1521 and onward. That is, they practically document the meaning of every word used in society, similar to The Oxford English Dictionary, in contrast to an ordinary dictionary, which would not bother documenting words that hasn't been in use for several hundred years.
In 2001, the Riksdag commissioned the administration [swe] to streamline the somewhat bloated and expensive announcement body and suggest a change in law so that PRV could publish their own announcement on the Internet instead of in PoIT. The paper currently has an edition of a couple of thousand copies. Following this, the magazine Ny Teknik now tells us [swe] that it is being suggested that the Swedish Academy should transfer the publishing rights of PoIT to The Swedish Companies Registration Office (Bolagsverket) which would then publish the newspaper on the Internet, updated daily. In return, the Swedish Academy will receive a SEK 20 million per year, to compensate for the income loss and facilitate the continued funding of the SAOB project.
footnote: links marked with [swe] are web pages in Swedish only
I'm going to plug this here, too. I'm a (primarily) Java developer with over seven years of work exeprience, and now I want to move back to Stockholm. As I assume I will be interesting mostly for Swedish employers, I have the details in Swedish here. Also check out my private homepage and Bricole, my current business.
On quite another note, this is hilarious: Sex Scandal Rocks Wonka Factory.
I'm looking for a Java Web Server that can be easily embedded into applications. Basically, it doesn't need any features, just a doGet() or something that can be overriden with my own stuff, and I just don't want to code the basic HTTP stuff all over again. Most important is size (a jar of < 200 KB is okay, I guess) and memory footprint. Open source, of course. Freshmeat and Sourceforge spits out a million projects, so I'd like to hear if anyone had any preferences.
Anyone have any ideas? Mail me. Thank you!
I stumbled onto this while actually looking for Java implementations of Bayesian classification. Very cool: Thinking Machine 4.
(via BadMagicNumber)
What's with all those phony plastic cards? During the last seven days, both Financial Times and BusinessWeek has sent me silly plastic card that says "Subscriber Privilege Card" with my name on them, on an attempt to get me to sign a discounted subscription for 50 (BW) or 90 (FT). And in their sell-in letters they call me "Dear Executive" and so on. So I've obviously gotten my postal address onto some stupid snailmail mailing list that has been shared far and wide. That's no surprise; I am registered with on quite a lot of "businessy" places and there are many official records where you can get information about me and my business. But what's hitting me is that I assume FT and BusinessWeek are presumably looking for "execs" that please their advertiser, and they think sending out a silly plastic "privilege card" is going to help? I, for one, know that if there's one thing the average european exec doesn't need, it's more plastics. The black execy FT subscriber card sure does look elite, but so does my Monday Bar membership card, and the height my stack of plastics never used is approaching three inches now.
So I hacked PieSpy to feed it with data from the Lunarstorm community instread of IRC. I wrote a brief description in Swedish about it all. The main story is that I made a big-ass PieSpy social network graph out of guestbook data from Lunarstorm, and the current result can be viewed here, and a friend used Zoomify to throw together a Flash zoomification of the same image, which can be viewed here. Pretty cool. In hacking termes, most of my work went into changing PieSpy to draw a labeled grid onto the image and append an index to the image, containing an alphabetical list of all the nodes with pointers to each node's coordinates on the image. A smaller example can be viewed here. A package with source and required libraries is available here (it's the PieSpy distribution changed to use my own main class instead of the standard IRC bot thing).
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!