Site uses cookies to provide basic functionality.
Javascript rendering is set to off by default when visiting the site via .onion and .i2p domains. It can be enabled back again in user's settings section. Javascript rendering set to off means, that you can disable javascript in your browser now and the site will remain functional.
There is also IRC server now available via native IRC clients or non javascript web based one.
Fonts can be adjusted in user's settings section as well.
Check FAQ for more.

OK

My holiday motorcycle trip of this summer was an interesting one, in the Chinese sense . The plan was to first ride to Switzerland to attend the first Haidong Gumdo European Championships , and then continue from there together with Juha to Montenegro. As it happens, Juha never got his motorcycle working, and my trip was filled with various adventures and misfortune, but also with friendly people and beautiful scenery. I left Helsinki....

My holiday motorcycle trip of this summer was an interesting one, in the Chinese sense . The plan was to first ride to Switzerland to attend the first Haidong Gumdo European Championships , and then continue from there together with Juha to Montenegro. As it happens, Juha never got his motorcycle working, and my trip was filled with various adventures and misfortune, but also with friendly people and beautiful scenery. I left Helsinki....

In Java there are the classic four protection levels which members (fields and methods) can have: private, protected, package-level and public. Any member can have Javadoc (including private members). But when one generates the Javadoc, which protected levels should be included? Generated Javadoc is used by humans. These humans are probably not you. And thus are probably clients of your classes, either within or outside of your organizati..

The iPhone went on sale in the US yesterday. And yes, for the past several months since its introduction, I wanted one badly…..but after hearing from those who have one, I am not so upset now that the iPhone is not available in Canada until later this year. Basically, those who have one say that it “feels like a 1.0 device”, which it is. It uses the old EDGE service rather than new and fast 3G Mobile service in order to save battery pow..

The iPhone went on sale in the US yesterday. And yes, for the past several months since its introduction, I wanted one badly…..but after hearing from those who have one, I am not so upset now that the iPhone is not available in Canada until later this year. Basically, those who have one say that it “feels like a 1.0 device”, which it is. It uses the old EDGE service rather than new and fast 3G Mobile service in order to save battery pow..

After being picked up on Wednesday, I see the computer arrived at the repair place in Germany at about 10am today. (The UPS tracking website works, in contrast to Sony’s). That’s 2 days to transport a laptop from the capital of Austria to Germany! That’s hardly quick, or the overnight delivery they always advertise on TV! So presumably Sony chose to save some money when selecting which UPS delivery speed to use.

Tuesday was much better. The employee from Monday said she’d (try to) ring me, even if nothing happened. She did ring me, at about 5pm (which made me a little worried that she wasn’t going to call), and said that the laptop could be collected the next day. They hadn’t resolved the warranty issue, but they were prepared to accept that I had one (on the grounds of the invoice that I faxed to them, which they sent to me originally confirming m..

It’s all gone well. It’s 14:43 and the UPS guy has come and collected my notebook. He didn’t seem to have any packaging materials with him (in contrast to what the woman said on the phone). So he took my unscratched laptop and just carried it off without packing it. Presumably he has some packing stuff in his van? Or maybe he’ll just not pack it so it gets really scratched? Well, I’ll see when I get it back.

Java.net’s latest poll asks: should checked exceptions be removed from the Java language. Sadly, the poll is not going the way it should right now. Many people feel checked exceptions are key to reliable programming. They are wrong. Please: Read this post, and help improve the Java programming language by voting “Yes” to remove checked exceptions. Checked exceptions is a concept that is unique to Java as a programming language. That is righ..



So my laptop is broken. No problem, when I bought it, about a year and a half ago, I paid about €150 extra to get the warranty extended from 1 year to 3 years, and them pick it up if something goes wrong. I’m glad I did that; now it’s time to use it. Hmm, not as simple to use the warranty as it was to order it, it turns out. (Although, to be honest, ordering it wasn’t very easy either.)

Statspack is a useful tool for easily gathering and reporting some Oracle’s historical workload statistics. However it has its limitations and problems: One of them that in past it used to record only Oracle statistics, measured from inside Oracle. This made Oracle and people using Oracle ignore other crucial statistics like OS workload below Oracle. For example statspack may show you heavy latch contention as the performance problem, w....

Statspack is a useful tool for easily gathering and reporting some Oracle’s historical workload statistics. However it has its limitations and problems: One of them that in past it used to record only Oracle statistics, measured from inside Oracle. This made Oracle and people using Oracle ignore other crucial statistics like OS workload below Oracle. For example statspack may show you heavy latch contention as the performance problem, w....

Reading the following article about PARALLEL hint by Jonathan Lewis made me remember a somewhat related gotcha with parallelism. Often when creating (or rebuilding) an index on a large table, doing it with PARALLEL x option makes it go faster – usually in case when your IO subsystem is not the bottleneck and you have enough spare CPU capacity to throw in. A small example below: Tanel@Sol01> create table t1 as select * from all_obje..

Reading the following article about PARALLEL hint by Jonathan Lewis made me remember a somewhat related gotcha with parallelism. Often when creating (or rebuilding) an index on a large table, doing it with PARALLEL x option makes it go faster – usually in case when your IO subsystem is not the bottleneck and you have enough spare CPU capacity to throw in. A small example below: Tanel@Sol01> create table t1 as select * from all_obje..

This one’s a short post on a fairly random topic as unfortunately I don’t have time today to come up with anything deeper :) I needed to come up with a delimited string to table tokenizer for an Oracle development project. There are quite a few examples out there how to do that, including Adrian Billington’s www.oracle-developer.net and the http://technology.amis.nl/blog/?p=1631 . So far the simplest solution I had seen was using..

This one’s a short post on a fairly random topic as unfortunately I don’t have time today to come up with anything deeper :) I needed to come up with a delimited string to table tokenizer for an Oracle development project. There are quite a few examples out there how to do that, including Adrian Billington’s www.oracle-developer.net and the http://technology.amis.nl/blog/?p=1631 . So far the simplest solution I had seen was using..

Welcome to read my first real post on this blog! If I ever manage to post any more entries, the type and style of content will be pretty much as this one: Oracle problem diagnosis and troubleshooting techniques with some OS and hardware touch in it. And internals! ;-) Nevertheless, I am also a fan of systematic approaches and methods, so I plan to propose some less known OS and Oracle techniques for reducing guesswork in advanced Oracl..

Welcome to read my first real post on this blog! If I ever manage to post any more entries, the type and style of content will be pretty much as this one: Oracle problem diagnosis and troubleshooting techniques with some OS and hardware touch in it. And internals! ;-) Nevertheless, I am also a fan of systematic approaches and methods, so I plan to propose some less known OS and Oracle techniques for reducing guesswork in advanced Oracl..

Today, I attended the Microsoft Energize IT Conference at the Convention Centre in Toronto. Having been to many Microsoft conferences in the past, I was reluctant to attend since most of them were a biased propaganda show for sales people and managers. Energize IT was a typical Microsoft conference: lots of money, free food and swank. When the keynote presentations started, it looked promising. The first few speakers emphasized the nee..

Today, I attended the Microsoft Energize IT Conference at the Convention Centre in Toronto. Having been to many Microsoft conferences in the past, I was reluctant to attend since most of them were a biased propaganda show for sales people and managers. Energize IT was a typical Microsoft conference: lots of money, free food and swank. When the keynote presentations started, it looked promising. The first few speakers emphasized the nee..

Why does my printer always assert it has a paper jam? Why do other (personal) printers actually have paper jams the entire time? Most cheap lasers, and now cheap inkjets, seem not to be able to handle paper correctly. More expensive lasers (like at offices) and more expensive inkjets (the one I have at home in Vienna) seem not to have this problem. In fact with the ink jet printers, I must observe that the printers are from the same man..

A few months back, I saw a presentation that has kept me thinking ever since. Nicholas Negroponte is currently in the completing phases of a project I think might revolutionize the world. The $100 laptop project, or, as it is known now: One Laptop Per Child (OLTP). The idea behind the One Laptop Per Child project is to create a computer that can be given to every child in developing countries.



Thanks, Geoff. The sleep situation is getting better. Five hours last night! [[ No spoilers below ]] None of the books I mentioned were bad, or had down-beat endings... its just that after making good starts they all just kind of fizzled-out near to the end. As if the author had written them self into a corner. Quantico used the late introduction of a piece of technology to resolve the plot. The Execution Channel just went flat-out bizarre ..

I've added you to my blogroll too. And I'm keeping an eye on that $value, but not holding my breath... :-) Andy

I have been going to the Recent Object-Oriented Trends (ROOTS) conference in Bergen for the last seven years, the last two years as a member of the program committee. It always strikes me how this conference gives me a different view on what I thought I knew, instead of just teaching a few new programming tricks. The conference is a well-kept secret. The intimate and conversational atmosphere gives everyone attending a chance to discuss sof..

A software project is defined, for the purposes of this blog entry, as a set of people working to produce a new software system, or to modify an existing software system. The result (exit condition) of a software project is a set of artifacts and other assertions: Document (or wiki etc) describing what the software should do, i.e. requirements. This will include subtle details, about what the system does, that will not immediately be ob....





Many people enjoy splitting testing up in a myriad of test types: Acceptance Tests, Functional Tests, Integration Tests, Performance Test, Technical Tests, Unit Tests. I have myself been guilty of such terminology as “embedded integration tests” and “requirement tests”. However, what unites the tests are more important than what divides them. The divisions are fuzzy, and they should be. All tests have but two purposes: To tell you if you’ve..

The idea of effective reuse is a pervasive one. Software organizations have searched for ways to avoid “reinventing the wheel” for as long as there has been a software industry. But all research on research on reuse indicates that it is much more expensive than people expect. There are a few delicate balances that a reuse effort needs to observe. The ones I’ve notices the most have been Quality versus Expediency and Control versus Evolution..

Inspired by the “Hi, I’m a Mac” ads of Apple, Gregg Pollack and Jason Seifer has made these cute Ruby-on-Rails ads (featuring Ruby-on-Rails versus Java and Ruby-on-Rails versus PHP): Click here to view on YouTube

Working on a PHP project recently, there was the requirement for text localization. The standard way to do this in PHP is to use the standard way to do this in C, which is gettext . I’ve worked with various translation systems, including one I built myself for uboot, involving a hierarchy of languages going from most specific to most “international”, and with each string having a hierarchical id such as “myprogram.errors.disk-full”.



The old uboot code had, amazingly enough, 21k lines of unit tests. But they were not useful unit tests, as one had to run each program individually, and they each had a bunch of (different) prerequisites, such as account_id 3 existing and having an empty inbox, and so on. And with the older tests, their output would be a bunch of print statements (e.g. insert message; print count of messages), and one would have to compare the printed outpu..

This was never going to work out. Data transfer interface. Our side in Perl and their side in PHP. Both scripting languages (bad) and not even the same scripting language (incompatible badness). Over the data transfer interface, we are transferring users. Including a code to enable them to unsubscribe from an email newsletter. The first 7 characters of the code identify the users (digits) and the rest of the code is a hex string containin..



1 visitor online