|
It took me a few hours over the course of this week to build the RIPE whois server for some internal projects – given that there seems to be a very limited amount of documentation for the build process, and threads on mailing lists, I’m going to post this here. I hope that it gets picked up by Google. The first problem that is encountered is that the libtool that is included with the whois server does not support ‘modern’ tags, such as..
|
|
It took me a few hours over the course of this week to build the RIPE whois server for some internal projects – given that there seems to be a very limited amount of documentation for the build process, and threads on mailing lists, I’m going to post this here. I hope that it gets picked up by Google. The first problem that is encountered is that the libtool that is included with the whois server does not support ‘modern’ tags, such as..
|
|
Recently I programmed the following screen in PHP: The user logs in The user has a subscription The subscription has a number of states ("terminate", "auto-extend", ..) There is a screen allowing the user to change this state The screen is a set of radio buttons – each radio button relates to one state The user clicks on the radio-button representing the state they wish, clicks "ok", and the new state gets saved to t..
|
|
While my daughter and I sat across from each other in Starbucks drinking coffee and PIN messaging each other in Leetspeak using our BlackBerries (yes, I realize how drastically nerdy this is), the thought occurred to us that a simple shell script could easily be used to simulate the War Operation Plan Response (WOPR) supercomputer from the movie War Games (1983). Anyways, we analyzed the frame-by-frame output from the movie and recreated ..
|
|
While my daughter and I sat across from each other in Starbucks drinking coffee and PIN messaging each other in Leetspeak using our BlackBerries (yes, I realize how drastically nerdy this is), the thought occurred to us that a simple shell script could easily be used to simulate the War Operation Plan Response (WOPR) supercomputer from the movie War Games (1983). Anyways, we analyzed the frame-by-frame output from the movie and recreated ..
|
|
In the middle of changing jobs, I have also been quite busy with the last minute preparations for the Smidig 2008 conference for the Oslo Agile user community (“smidig” being the closest Norwegian translation of “agile”). The conference be two days of lightning talks before lunch and open spaces after lunch. The program is in the final stages of being finalized as we speak. There are still a few open seats.
|
|
Not that I am expecting a large number of people to have anything to say about what I post on this site - but I just added a comments system using the Django FreeComment system. The contrib comments module seems to have a load of features - and did just about everything I was hoping of it! There’s an excellent tutorial on the Django wiki . Feel free to tell me I’m posting rubbish at any time :-)
|
|
Not that I am expecting a large number of people to have anything to say about what I post on this site - but I just added a comments system using the Django FreeComment system. The contrib comments module seems to have a load of features - and did just about everything I was hoping of it! There’s an excellent tutorial on the Django wiki . Feel free to tell me I’m posting rubbish at any time :-)
|
|
Five Unit Test Tips: #2: Change your code to make testing easier
-
jhannes.github.io
-
17 years ago
-
eng
It’s been a while since I promised to write top five unit testing tips, so I guess I should better start writing #2. As with my first example this one is based on a real-life story. Your code is worth nothing if it can’t be tested. Change your code to make it more testable. In my last project, we used a pipes and filter architecture, with messages being passed forward through a chain of services.
|
|
I was reading an entry posted by Brett Carr on Nominet’s techblog today entitled “ipv6 It just works”. Unfortunately, for IPv6, and for the sentiment behind this message (IPv6 can be run pretty easily!), in my experience, IPv6 - it doesn’t just work! It’s easy to dismiss the previous sentence, given that many networks aren’t designed to run IPv6, and there’s kit out there that’s just not IPv6-capable yet. When building the AS29636 ....
|
|
I was reading an entry posted by Brett Carr on Nominet’s techblog today entitled “ipv6 It just works”. Unfortunately, for IPv6, and for the sentiment behind this message (IPv6 can be run pretty easily!), in my experience, IPv6 - it doesn’t just work! It’s easy to dismiss the previous sentence, given that many networks aren’t designed to run IPv6, and there’s kit out there that’s just not IPv6-capable yet. When building the AS29636 ....
|
|
I don’t normally post just a link to another blog, but More thinking about “Agile” vs “Waterfall” by Jason Yip is just too important. It the most well-argued, well-referenced, short post I’ve seen about the subject. Here’s a taste: Be careful about saying that Waterfall is more disciplined. The waterfall model is simple and structured but the “discipline” is in following prescribed steps as opposed to “discipline” in thinking. The second ki..
|
|
The best way to clean things up is to avoid them getting dirty in the first place
-
jhannes.github.io
-
17 years ago
-
eng
Warnings are useful. You get warnings from your IDE when you write something that might be a bug. You have probably made your program print out warnings or error messages when something goes wrong. But too often, we down in the sheer volume of warnings. Then it’s impossible to separate the relevant and important warnings from the noise. To make warnings useful again, I use a zero-warning tolerance policy. Even if the warning is irrelevant, ..
|
|
Geohashing , as introduced by the awesome web comic xkcd , is an spontaneous adventure generator. The geohashing algorithm uses the current date and the day's Dow Jones Industrial Average to generate a new location for each region in the world. Geohashers then use various means to reach that location in search for fun and adventure. As out there was beautiful autumn weather, and I needed to go somewhere to air my thoughts, I ....
|
|
Sometimes it feels like I’m stating the obvious. But the fact that users only care about the interface of the service is something we often say, but seldom understand. If this is true, how can we think that we can develop the interface as an after though to the central system. Not all your users might be human. And the computerized users are treated even worse. If the non-human users also care about the interface, how do we think that they ..
|
|
So a quick update. I spent 2 hours or so yesterday working on the netflix data mining. I basically just tidied it up and started testing. I was almost finished and was about to post a blog with results, but decided I wasn’t happy with the results. It turned out there was a bug but that my code which worked out how related users are wasn’t as effective as I thought it would be. See I used the vector space index to calculate how similar users..
|
|
I’ve made two new interesting discoveries about wpa_supplicant since writing my last blog post on the subject. (Actually, I pretty much made both of them while reading documentation in order to write it, and have been lame about writing them up). Using wpa_gui It turns out that wpa_gui not only allows you to select existing networks, but also to scan for and add new networks to your configuration file. In addition, you can run it as yoursel..
|
|
I’ve made two new interesting discoveries about wpa_supplicant since writing my last blog post on the subject. (Actually, I pretty much made both of them while reading documentation in order to write it, and have been lame about writing them up). Using wpa_gui It turns out that wpa_gui not only allows you to select existing networks, but also to scan for and add new networks to your configuration file. In addition, you can run it as yoursel..
|
|
Today I sold my car to a guy from France. He took a plane to Vienna yesterday, this morning we met, he looked at the car, we took the contract to a notary office, we paid in his cash into my bank, then took my number plates to a insurance company who canceled my insurance (even though it was with a different company), and gave us temporary number plates (precondition was the contract had to be notarized).
|
|
As most of you probably know, X has several different mechanisms for copy-paste, used by different applications in different ways. I know some people who use them deliberately, juggling two pieces of text in different clipboards at once, but for me, it’s always just been annoying. When I copy something, be it by Gnome C-c, emacs C-w, or selecting it in an xterm, I then want to be able to paste it again, no matter what mechanism I use.
|
|
As most of you probably know, X has several different mechanisms for copy-paste, used by different applications in different ways. I know some people who use them deliberately, juggling two pieces of text in different clipboards at once, but for me, it’s always just been annoying. When I copy something, be it by Gnome C-c, emacs C-w, or selecting it in an xterm, I then want to be able to paste it again, no matter what mechanism I use.
|
|
So everyone in the “blogosphere” is going on about Google Chrome . From one day to the next, a bunch of personal blogs written by random people I don’t know which I for some reason subscribed to all suddenly had 1 new entry – subject “I like Chrome”. A bit like a few days before when Mozilla released some new feature and exactly the same thing happened. And now if I write about Chrome I am one of them as well….
|
|
There’s a bunch of stuff online about the Shimano Dura-Ace Di2. And there’s a lot of comment online, people saying that they feel electronic-shift is unnecessary, and over-complicated. I’m mostly interested in why I might want to ride Di2, and I think there’s a bunch of reasons that I would want to, despite all the negative comments that are flying around! So, the big thing that I see as an advantage in the system is the fact tha....
|
|
There’s a bunch of stuff online about the Shimano Dura-Ace Di2. And there’s a lot of comment online, people saying that they feel electronic-shift is unnecessary, and over-complicated. I’m mostly interested in why I might want to ride Di2, and I think there’s a bunch of reasons that I would want to, despite all the negative comments that are flying around! So, the big thing that I see as an advantage in the system is the fact tha....
|
|
Intermedia Writing Systems, revised 3rd edition is a textbook I wrote for a theoretical class at a hypothetical school. It was staple bound and printed as a zine that I distributed to various shops. Here is a beast fable from the book: The Platypus and the Chimaera Once upon a time there was a platypus […]
|
|
I recently attended part of the recent Techcrunch 50 conference, and when I wasn’t there I was watching much of it online. For probably 80% of the companies when it came time to ask about their business model, they said ads. Then they talked about cause they have all of this great information about the user they can advertise better than they used to. The problem is they’re forgetting all about user intent. This is why ads on facebook simpl....
|
|
I recently attended part of the recent Techcrunch 50 conference, and when I wasn’t there I was watching much of it online. For probably 80% of the companies when it came time to ask about their business model, they said ads. Then they talked about cause they have all of this great information about the user they can advertise better than they used to. The problem is they’re forgetting all about user intent. This is why ads on facebook simpl....
|
|
I finally got fed up with Blogger, and am moving this blog to live on Wordpress hosted off of scripts.mit.edu. In the process of converting everything over and setting up Wordpress I’ve decided I hate it, but hopefully I hate it less than I hate Blogger. We’ll see. I’ve also changed the URL to this blog from http://nelhage.com/blog to http://blog.nelhage.com, which I like better as URL anyways. It should redirect to the toplevel of the new ..
|
|
I finally got fed up with Blogger, and am moving this blog to live on Wordpress hosted off of scripts.mit.edu. In the process of converting everything over and setting up Wordpress I’ve decided I hate it, but hopefully I hate it less than I hate Blogger. We’ll see. I’ve also changed the URL to this blog from http://nelhage.com/blog to http://blog.nelhage.com, which I like better as URL anyways. It should redirect to the toplevel of the new ..
|
|
I received an overwhelmingly warm welcome as the new chief scientist at Steria
-
jhannes.github.io
-
17 years ago
-
eng
I am changing employers. As of October 1st, I will no longer be lead software architect at BBS Nordic. Instead, I will be the chief scientist at the Norwegian division of Steria. This weekend, I was invited to join my new employer at their gathering at a resort in the south of Norway. I’ve had a chance to speak with a lot of my new colleagues, and I was overwhelmed by the number of skilled, thoughtful and friendly people.
|
|
Sometimes I am accused of suffering from the “Not Invented Here Syndrome”. It has been suggested I would rather program something myself than take an already existing e.g. open source solution to the problem and integrate it with the product being developed. I mean that’s clearly a blanket statement. The right solution differs from project to project. (But, for sure, when making such a decision, one must not forget about the cost of integ..
|
|
I’ve learned the value of dealing seriously with connecting requirements to the actual code. The JBehave project started work to make formal, “business friendly” requirements into executable specifications, but due to limitations in Java, it was very clunky to use. JBehave 2.0 has just been released, and it has a much better model. Here’s a specification: Story: Play Tabs As a music fan I would like to convert guitar tabs to music So that I..
|
|
I’ve looked over some of my code lately, and found ways that I often improve my tests. I’m planning on writing a blog post for each of my five favorites. First out: Using the data storage. I upgraded our API for billing customers. I had a few compilation errors in my code, as the API had changed somewhat. After fixing these errors, I was left with a test that broke mysteriously with a MethodNotFoundException.
|
|
As mentioned previously, my new Rollapaluza best time. Not really posted for that reason, but mainly due to test out the new IXUS 960IS I have been given!
|
|
As mentioned previously, my new Rollapaluza best time. Not really posted for that reason, but mainly due to test out the new IXUS 960IS I have been given!
|
|
VLDB 2008 proceedings, Oracle optimizer plan stability, adaptive cursor sharing and SecureFiles
-
tanelpoder.com
-
17 years ago
-
eng
If you’re interested in leading edge database research (as of 2008 :), the VLDB 2008 proceedings are publicly available now. Here are direct links to some Oracle-specific ones: Oracle SecureFiles System Optimizer Plan Change Management: Improved Stability and Performance in Oracle 11g Closing The Query Processing Loop in Oracle 11g (this one is about adaptive cursor sharing) Enjoy! :)
|
|
VLDB 2008 proceedings, Oracle optimizer plan stability, adaptive cursor sharing and SecureFiles
-
tanelpoder.com
-
17 years ago
-
eng
If you’re interested in leading edge database research (as of 2008 :), the VLDB 2008 proceedings are publicly available now. Here are direct links to some Oracle-specific ones: Oracle SecureFiles System Optimizer Plan Change Management: Improved Stability and Performance in Oracle 11g Closing The Query Processing Loop in Oracle 11g (this one is about adaptive cursor sharing) Enjoy! :)
|
|
Forget the benchmarks, forget whether its truly faster or slower, forget whether the market share is 30% for non-IE browsers (though is this only for US or internationally). Google Chrome evolution or revolution, whatever you want to call it, it makes me actually want to stay in the browser. I just want plugins, that function as well as the browser alone does. Yeah theres rendering problems, and some oddities, but the browser as a whole is ....
|
|
Forget the benchmarks, forget whether its truly faster or slower, forget whether the market share is 30% for non-IE browsers (though is this only for US or internationally). Google Chrome evolution or revolution, whatever you want to call it, it makes me actually want to stay in the browser. I just want plugins, that function as well as the browser alone does. Yeah theres rendering problems, and some oddities, but the browser as a whole is ....
|
|
Oracle hidden costs revealed, Part2 – Using DTrace to find why writes in SYSTEM tablespace are slower than in others
-
tanelpoder.com
-
17 years ago
-
eng
_I have written two posts in one, about a performance issue with writes in system tablespace and introduction of a little DTrace stack sampling script. _ Have you noticed that DML on tables residing in SYSTEM tablespace is slower than tables in other tablespaces? Here’s an example, I’ll create two similar tables, one in USERS tablespace, other in SYSTEM, and inset into the first one (Oracle 10.2.0.3 on Solaris x64): SQL> create table....
|
|
Oracle hidden costs revealed, Part2 – Using DTrace to find why writes in SYSTEM tablespace are slower than in others
-
tanelpoder.com
-
17 years ago
-
eng
_I have written two posts in one, about a performance issue with writes in system tablespace and introduction of a little DTrace stack sampling script. _ Have you noticed that DML on tables residing in SYSTEM tablespace is slower than tables in other tablespaces? Here’s an example, I’ll create two similar tables, one in USERS tablespace, other in SYSTEM, and inset into the first one (Oracle 10.2.0.3 on Solaris x64): SQL> create table....
|