Cook Computing

 

« March 2005 »

IronPython 0.7 Released

Wednesday 23 March

To coincide with his PyCon 2005 keynote Jim Hugunin has released version 0.7 of IronPython, available here. Ted Leung has some notes here and here.

Update: FYI I just sucessfully built this release with the February CTP version of Visual C# 2005 Express.

Posted by at 05:47 PM. Permalink.

XML-RPC.NET and Whidbey

Sunday 20 March

I installed the February CTP edition of Visual C# Express a couple of days ago to build and test XML-RPC.NET with the latest Whidbey release. My unit tests failed in two places: proxy generation using System.Reflection.Emit failed because TypeBuilder.CreateType could not create the proxy class due to an "inaccessible interface" error, and Activator.Create instance failed to successfully create a multi-dimension array. When I get some time I'll investigate these problems further, though according to several reports beta 2 is due at the end of this month and so it may be worth wating until then to see if the bugs have already been fixed.

For a piece of software which has been under development for so long, I was not terribly impressed by this version of Visual Studio. When debugging, various windows, e.g. call stack and locals, would appear each time even though I had closed them on the previous run, and in general the IDE became extremely sluggish after using it for a while. Hopefully this is caused by huge amounts of diagnostic code which will be removed by the time we get to beta 2

Posted by at 05:27 PM. Permalink.

Asterisk@Home

Saturday 12 March

I downloaded and installed Asterisk@Home this morning. I installed onto a Virtual PC image which turned out to be a painless process. Download the ISO image, create a virtual machine and boot it up with the ISO image attached. The disk is formatted/partitioned , the OS installed, and Asterisk built from source, all automatically.

Once installed I followed the instructions in this article by Kerry Garrison. For a softphone I downloaded the X-Lite product mentioned in the article. Everything worked as described.

I'm not sure what I will do with it but I want to learn more about VOIP and SIP. Maybe once I have tinkered around with the VPC install for a while I'll install Asterisk on an old PC I have lying around, buy a voice modem card, and attach the system to my second phone line.

Posted by at 01:51 PM. Permalink.

Field Names

Thursday 10 March

Eric Gunnerson discusses field names in C# code. As mentioned before my preference is his option #2, underscore ("string _name"). One reason is that you don't have to think so much when naming constructor parameters used to initialize member variables: the name of the parameter can be the name of the member minus the underscore prefix:

class MyClass
{
  string _foo;

  public MyClass(string foo)
  {
    _foo = foo;
  }
  // ...
}
Posted by at 06:30 AM. Permalink.

Yet More Interview Tips

Tuesday 8 March

Michal Chaniewski also has some interview tips. One thing that strikes me about the lists of interview tips I've read recently is that if you haven't spent a substantial amount of time preparing for an interview then you're doing yourself a disservice. Or you don't really want the job, in which case why not think about what you really want to do and which jobs you should be aiming for.

A work colleague made an observation recently that it is much easier to succeed at an interview if you are currently working on something exciting. If you're stuck in a dead-end job, say bug-fixing customer problems all the time and hating it, you'll find it more difficult to come across well at the interview. Of course the problem here is that you are much less likely to be looking for another job if the current one is exciting. One way out of this dilemma is to have a personal programming project or contribute to an open source project; anything to give you a sense of pride and ownership and so boost your morale. It will also makes you stand out from most or all of the other people applying for the same job.

Posted by at 05:39 PM. Permalink.

Lessig on the EU Patent Directive

Tuesday 8 March

Lawrence Lessig gets it:

So despite the fact that the EU Parliament has rejected software patents for Europe, and despite the fact that there is not a qualified majority of member states supporting it, the EU Council has now endorsed their draft of the "Directive on the Patentability of Computer-Implemented Inventions."

This struggle continues to astonish me. There's no good economic evidence that software patents do more good than harm. That's the reason the US should reconsider its software patent policy.

But why Europe would voluntarily adopt a policy that will only burden its software developers and only benefit US interests is beyond me.

They call it a "democracy" that they're building in Europe. I don't see it. Instead, they have created a government of bureaucrats, more easily captured by special interests than anything in the US.

Posted by at 04:16 PM. Permalink.

How Google Maps Work

Tuesday 8 March

Lots of talk about AJAX these days. The article Mapping Google describes how Google Maps is implemented using a hidden IFrame instead of requesting data from the server using XMLHttpRequest like Gmail (via Scott Galloway)

Posted by at 07:04 AM. Permalink.

Interview Tips

Monday 7 March

Shrini Kulkarni has posted some interview tips. I've conducted a number of interviews over the last year and have been surprised at the obvous lack of effort interviewees have put into their preparation for the interview. If you highlight certain technologies as your key strengths and you're are interviewing for a senior developer position, I think you should be able to talk in some detail about the concepts underlying those technologies. I'm not interested in factual detail such as names of API functions, etc, but a general grasp of the technology which you should have acquired after using it for several years. If you've not used a particular technology for a while then spend a few hours before the interview reading up on it and bringing it back into conscious memory. To say that you not used it recently and can't remember anything about it doesn't exactly further your cause. Most of all I want to see some enthusiasm, why you think a technology is particularly cool, why you like using it, even what you don't like about it and how you would do it better, anything to show that you have thought more about it than how to use the Visual Studio wizard.

Drawing diagrams on a whiteboard is always a good thing to do. It gives you time to think and makes it much easier for the interviewer to understand what you are talking about, for example the architecture of a system you've worked on. If there is a whiteboard in the interview room, don't wait until you're asked to draw a diagram; if you think you can explain a point better this way, just ask the interviewer if its ok to do so.

It can be difficult for introverted developer types but you have to make some effort to sell yourself. Not in a pushy salesman way, but using opportunities to reveal your skills, experience, and opinions. If you don't it will be more like an interrogation and that won't help you either.

Maybe the reality is that most people working as developers are not very happy in their job and thats why displays of enthusiasm are fairly uncommon, but that doesn't excuse not being able to talk about your key skills.

Posted by at 06:43 PM. Permalink.

Software patent directive adopted

Monday 7 March

The EU Council has approved the Computer Implemented Inventions Directive, in other words the software patent directive. To quote from another ZDNet article:

This is a triumph of bureaucracy over democracy. It's said of newspapers that you only know how bad they are when you read what they say about something you know; this affair has highlighted the mandarin mechanisms of Europe at their baleful worst. The killer argument that won the day for software patents? "We are adopting the position for institutional reasons so as not to create a precedent which might have a consequence of creating future delays in other processes." Lay down your keyboards, ye knights of open source; you have lost your freedom in a noble cause.

Nobody who actually writes or cares about software supported this directive, but nobody in a position to stop it cared about software except as a cash cow, or cared about its producers except as ever-ready battery hens to be intensively farmed. The patents organisations want more patents, regardless of quality. The bureaucrats want more centralised control. The elected representatives either don't understand the issues or have been bought by big business.

For those of us who believe in freedom to innovate, this is a sad day. It is even sadder for those who stand by the ideals which gave birth to the modern Europe, and believe that our institutions act on our behalf against powerful self-interests.[/quote]The one good thing that might come out of this is to make the true nature of the EU more obvious. Its not about warm and fluffy ideals about European togetherness, instead it is about creating a centralized bureaucratic power which will take more and more freedom away from the member states.

There is a chance that the European parliament will reject or amend the directive but it is unlikely because an absolute majority of all MEPs is required, not just those who will be present to vote, just one way in which the EU is organized to favour directives issued by the unelected members of the EU Council.

Posted by at 06:10 PM. Permalink.

EU Commission negates democracy?

Tuesday 1 March

It appears that the EU Commission is not giving up on software patents. You have to wonder about which vested interested are doing the lobbying and who is being influenced.

Meanwhile, in contrast to the British government whose position is that the EU Constitution is no more than a "tidying up exercise", the Czech President Vaclav Klaus has a rather different perspective. His points are:

  • The EU will become one state with the adoption of the constitution.
  • Its members will be mere regions or provinces.
  • The EU constitution will be superior to the member countries' constitutions.
  • The constitutional treaty is imprecise and is only temporary because after the ratification the document will become a real constitution
  • The current concept of shared sovereignty will be abandoned and new, pan-European sovereignty will appear in which the EU member countries will lose their exclusive right to form their own laws
  • Citizens of individual countries will become citizens of the state of the European Union with the rights and obligations directly towards the institutions of this European state.
  • EU member countries will only be able to exercise those powers that the EU constitution will leave them, and not the opposite way as was an original idea of European integration
  • The EU and not its member states will conclude international agreements with other countries.
  • In the voting procedures, the weight of small EU member countries, including the Czech Republic, will be decreased with the adoption of the European constitution.
  • Even those areas of decision-making in which EU members will keep their right of veto in the future, this right could be transferred to the area of a majority voting any moment. It will only be enough for the presidents or prime ministers of the EU member countries to agree on this, without the possibility of the national parliaments to make their own decision on the issue.

Perhaps the Czechs take a different viewpoint because they have recent experience of oppression by an external power, whereas the useful idiots in the UK are only too willing to give away our sovereignty. Providing another insight into the real ambitions behind the constitution, Hans Martin Bury, the German Minister for Europe, recently stated:

This Constitution is, in spite of all justified calls for further regulations, a milestone. Yes, it is more than that. I think, the EU Constitution is the birth certificate of the United States of Europe

I think United European Socialist Republic would perhaps be more appropriate, given the likelihood it will end up as an over-regulated and centralized bureaucracy, with its own new bureaucratic ruling class with special privileges. Its worrying to read that EU Commission employees already have a different status under the law compared to the rest of us and that the constitution confirms this:

Interestingly, the Constitution while extending the scope of the Union to limit the civil liberties of ordinary EU citizens, confirms in Article III-340 the Protocol 36 under which grants the legal immunities from criminal prosecution Commission employees, MEPs and others enjoy. The Protocol of the Privileges and Immunities of the European Community, Chapter V, Article 12 states that: 'In the territory of each Member State and whatever their nationality, officials and other servants of the Communities shall: (a) ... be immune from legal proceedings in respect of acts performed by them in their official capacity, including their words spoken or written. They shall continue to enjoy this immunity after they have ceased to hold office'.

Posted by at 07:08 AM. Permalink.