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

I'm a Software Engineer based in Brisbane Australia, with a focus on developing web based systems. I enjoy functional programming, domain…

This article updated on the august 11, 2010. Around half a year ago or so I had a unique idea (at least I had never heard or read about it before) on how to block web spam. It is very simple, yet very powerful. Normally comment spam, false registrations and other such spam are being [...]

This article updated on the august 11, 2010. Around half a year ago or so I had a unique idea (at least I had never heard or read about it before) on how to block web spam. It is very simple, yet very powerful. Normally comment spam, false registrations and other such spam are being [...]

There are so many buzz words in this industry that gain momentum, and people tend to start using them everywhere, trying to insert some jizz into whatever their product is. In the last couple of years the term "Cloud" has been one of the most popular ones. It comes in many forms of course. Some of them include "In the cloud", "Cloud computing", "Cloud based services", etc.

There are so many buzz words in this industry that gain momentum, and people tend to start using them everywhere, trying to insert some jizz into whatever their product is. In the last couple of years the term "Cloud" has been one of the most popular ones. It comes in many forms of course. Some of them include "In the cloud", "Cloud computing", "Cloud based services", etc.

Drop pods are back - etodd.io - 16 years ago - eng
And they're much more interesting now. Instead of delivering reinforcements, they now act as cash dispensers. So rather than receiving a flat sum every match, you'll have to earn your money by remaining near a drop pod. Currently, the pod doesn't make you wait and then dump all the cash on you in one transaction; the money is deposited in $10 increments every second. We'll see whether that changes or not.

I recently consulted one big telecom and helped to solve their sporadic performance problem which had troubled them for some months. It was an interesting case as it happened in the Oracle / OS touchpoint and it was a product of multiple “root causes”, not just one, an early Oracle mutex design bug and a Unix scheduling issue – that’s why it had been hard to resolve earlier despite multiple SRs opened etc.

I recently consulted one big telecom and helped to solve their sporadic performance problem which had troubled them for some months. It was an interesting case as it happened in the Oracle / OS touchpoint and it was a product of multiple “root causes”, not just one, an early Oracle mutex design bug and a Unix scheduling issue – that’s why it had been hard to resolve earlier despite multiple SRs opened etc.

Some time ago I wrote that since Oracle 10.2, some of the buffer cache can physically reside within shared pool granules. I just noticed this in an 11.2 instance: SQL> select * from v$sgastat where name like ‘KGH%’; POOL  NAME  BYTES ------------ -------------------------- ---------- streams pool KGH: NO ACCESS  4186144 So, it looks that also streams pool can surrender parts of its memory granules to buffer cache..

Some time ago I wrote that since Oracle 10.2, some of the buffer cache can physically reside within shared pool granules. I just noticed this in an 11.2 instance: SQL> select * from v$sgastat where name like ‘KGH%’; POOL  NAME  BYTES ------------ -------------------------- ---------- streams pool KGH: NO ACCESS  4186144 So, it looks that also streams pool can surrender parts of its memory granules to buffer cache..

It looks like, once again, there's another attribute flying around the global BGP table causing Quagga instances to crash (if based on 0.99.9 - I believe the bug is fixed in 0.99.10). This relates to the 2007 draft that introduced AS_PATHLIMIT - see ietf.org - draft-ietf-idr-as-pathlimit . This attribute is actually relatively interesting, from an operator's point of view, where control that is more granular than setting the common no-exp..

It looks like, once again, there's another attribute flying around the global BGP table causing Quagga instances to crash (if based on 0.99.9 - I believe the bug is fixed in 0.99.10). This relates to the 2007 draft that introduced AS_PATHLIMIT - see ietf.org - draft-ietf-idr-as-pathlimit . This attribute is actually relatively interesting, from an operator's point of view, where control that is more granular than setting the common no-exp..

The past two weeks have been pretty hectic for me - Midgard Gathering in Poland, some meetings in Berlin, and the Linux Collaboration Summit in San Francisco. And then, thanks to the Eyjafjallajökull eruption in Iceland and the resulting flight cancellations , the trip back became a little bit more complicated. My original KLM flight on April 17th was cancelled, and as the best offer from the airline was to get me home on 27th....

I just had the problem I’d placed a script into /etc/cron.daily on my Debian Lenny system but it wasn’t getting run (or at least it didn’t seem so). Two things I learned: Execute the following to see which scripts would get run: ``` run-parts --test /etc/cron.daily ``` In my case, the reason the script was never executed was that I called it xyz.sh as it was a shell script; the dot in the filename was the problem. I removed the dot..

Twitter recently launched a development platform called @anywhere. You can find more information about that on https://dev.twitter.com/ (Side note: I really like the design of the site)

Between Java 1.0 and Java 1.3 (1996-2002 according to Wikipedia) there was no way to split strings into an array or a list. In Java 1.4 the authors of Java saw it fit to introduce a method to split strings, String csvData = "field1,field2,field3"; String[] fields = csvData.split(","); However they did not introduce a method to “join” strings! Even in Java 7 there is no way to do this, e.g. via a static String.join method (2002-now).

Twitter recently launched a development platform called @anywhere. You can find more information about that on https://dev.twitter.com/ (Side note: I really like the design of the site)

It was announced today that the Library of Congress will digitally archive all public tweets. Every public tweet that’s been sent since 2006 and every public tweet in the future will be stored on their servers. Of course, your private and reserved messages will remain private, but there is now a serious public archive of […]

I'm a big fan of webcasts (video podcasts).  I have my favorites in various categories that I watch regularly. My viewing pattern is somewhat different from watching standard TV shows or something lik...

In Java 1.4 there was the function Arrays.asList. You could pass it an array and it would make a list out of it. String[] myArray = new String[] { "foo", "bar" }; List myList = Arrays.asList(myArray); In Java 1.5 this was retrofitted for varargs; you could simply pass elements to the function List myList = Arrays.asList("foo", "bar"); I never really understood how that worked in a backwards-compatible way; I mean either the fu..

I'm a big fan of webcasts (video podcasts).  I have my favorites in various categories that I watch regularly. My viewing pattern is somewhat different from watching standard TV shows or something lik...

A couple of weekends ago, CS Grupetto rolled out to Flanders for the Ronde van Vlaanderen sportive, and to catch the race live. The sportive was brutal, lots of “power climbs” (although I’m not so sure that I can say I ‘powered’ up most of them - the Muur and Koppenberg and I have unfinished business), in rain, hail, and gusty winds. The pavé brings a new definition to bike control, and in the wet it’s quite an experience. The point o..

A couple of weekends ago, CS Grupetto rolled out to Flanders for the Ronde van Vlaanderen sportive, and to catch the race live. The sportive was brutal, lots of “power climbs” (although I’m not so sure that I can say I ‘powered’ up most of them - the Muur and Koppenberg and I have unfinished business), in rain, hail, and gusty winds. The pavé brings a new definition to bike control, and in the wet it’s quite an experience. The point o..

As I was moving the stuff in my desk from the old campus to the new campus yesterday, I found an old BlackBerry 950……..so I took it apart and found an Intel FW88386VXSD CPU, which is an embedded version of the famous Intel 80386 CPU (big black chip on the right side of the picture above). I remember having an 80386 PC that weighed a ton back in 1990, so this is like carrying that PC around in your pocket. I wonder if it could run Windows..

As I was moving the stuff in my desk from the old campus to the new campus yesterday, I found an old BlackBerry 950……..so I took it apart and found an Intel FW88386VXSD CPU, which is an embedded version of the famous Intel 80386 CPU (big black chip on the right side of the picture above). I remember having an 80386 PC that weighed a ton back in 1990, so this is like carrying that PC around in your pocket. I wonder if it could run Windows..

This week I encountered an interesting issue in Tapestry when I tried to dynamically load a component using Tapestry’s built-in EventListener functionality. The component in question had a .script file associated with it, which Tapestry loaded dynamically, but the JavaScript functions in the .script file were “not found” when I tried to execute them. After a bit of digging around, a colleague of mine noticed that Tapestry was loading the ..

I've been silent here for a while, but that's just because I've been busy getting some glamorous new features in! Things are really starting to shape up. First things first. Bobpoblo has joined the team as a mapper/tester! He's been working hard on some new maps made in Hammer, textures courtesy of [-B-]. The original maps will likely be remade as well.  Unfortunately the content pipeline is a little convoluted: I open the Source map in C..

Kevin Rose [posted on the Digg blog](https://about.digg.com/blog/digg-digg-iframe-toolbar-dead-unbanning-domains) that they're going to remove the [D](https://about.digg.com/diggbar)...

Kevin Rose [posted on the Digg blog](https://about.digg.com/blog/digg-digg-iframe-toolbar-dead-unbanning-domains) that they're going to remove the [D](https://about.digg.com/diggbar)...

My colleague Thomas sent me a very interesting link about attempts to solve Sudoku using test-driven development. The article, somewhat unfairly, pits Ron Jeffries’ explorations of Sudoku using test-driven development against Peter Norvig’s “design driven” approach. I found both attempts lacking. However, while Ron Jeffries freely admitted that he didn’t even know the rules of Sudoku when he started, both Norvig himself and his readers fawn..

The cloud has a lot of technical arguments going for it. The problem is consumers don’t understand the cloud, they don’t understand virtual storage and growth and syncing and the complexities of things. The average consumer is generally pretty dumb, they just want to be able to do things and it just work. If they ask a question they want an answer, not the deduction behind the answer. It’s why I loved mint.com so much when it launched. I ga....

The cloud has a lot of technical arguments going for it. The problem is consumers don’t understand the cloud, they don’t understand virtual storage and growth and syncing and the complexities of things. The average consumer is generally pretty dumb, they just want to be able to do things and it just work. If they ask a question they want an answer, not the deduction behind the answer. It’s why I loved mint.com so much when it launched. I ga....

With the announcement this week that Quora had taken $11 million in VC at an $86 million valuation, there’s been an awful lot of attention on Quora. I’ve had an account there and wanted to write up some of my initial thoughts. If you haven’t heard about Quora, it’s yet another question/answer site on the web. People pose questions, and you can view questions and answer them. I’ve heard it described as “StackOverflow, but for anything”, whic..

With the announcement this week that Quora had taken $11 million in VC at an $86 million valuation, there’s been an awful lot of attention on Quora. I’ve had an account there and wanted to write up some of my initial thoughts. If you haven’t heard about Quora, it’s yet another question/answer site on the web. People pose questions, and you can view questions and answer them. I’ve heard it described as “StackOverflow, but for anything”, whic..

Gwen Shapira has written an article about a good example of a non-trivial performance problem . I’m not talking about anything advanced here (such as bugs or problems arising at OS/Oracle touchpoint) but that sometimes the root cause of a problem (or at least the reason why you notice this problem now) is not something deeply technical or related to some specific SQL optimizer feature or a configuration issue. Instead of focusing on the ..

Gwen Shapira has written an article about a good example of a non-trivial performance problem . I’m not talking about anything advanced here (such as bugs or problems arising at OS/Oracle touchpoint) but that sometimes the root cause of a problem (or at least the reason why you notice this problem now) is not something deeply technical or related to some specific SQL optimizer feature or a configuration issue. Instead of focusing on the ..





Here are some Ruby plugins I developed recently during my experimentation with SketchUp: Auto-reload Plugin The scan_plugins plugin monitors any given directory and looks for any changed .rb files. When your code changes, it is reloaded into SketchUp automatically. This means you can work in your own plugin directory, and won’t need to restart SketchUp to test changes to your scripts. I found the plugin-writing process somewha....

Here are some Ruby plugins I developed recently during my experimentation with SketchUp: Auto-reload Plugin The scan_plugins plugin monitors any given directory and looks for any changed .rb files. When your code changes, it is reloaded into SketchUp automatically. This means you can work in your own plugin directory, and won’t need to restart SketchUp to test changes to your scripts. I found the plugin-writing process somewha....

Thanks Ed - amerine.net - 16 years ago - eng
Ed Roberts (1941 - 2010) I was a lucky kid. I grew up with my grandparents and my mom; all of them pushed me hard to learn. They never told me what to focus on, they just did their best to embrace the things I fell in love with. One of those things was computers. If it wasn’t for Ed Roberts there was no way my family could afford for me to learn how to program. Ed cofounded MITS in 1969 and by 1975 MITS launched the Altair 8800. The Alt....

Some time ago I wrote an article about the 10g+ SQL_ID being just a hash value of the SQL statement text . It’s just like the “old” SQL_HASH_VALUE, only twice longer (8 last bytes instead of 4 last bytes of the MD5 hash value of SQL text). Slavik Markovich has written a nice python script for calculating SQL_IDs and SQL hash values from SQL text using that approach. Slavik’s article is available here:

29 visitors online