11.09.05

Sick of comment spam

Posted in General at 5:16 am by jw

Comment spam started to get me down after receiving 20 notifications of comments to moderate all in the space of an hour, so now there’s two choices – either create an account and log in or read the twisted images it puts up!

Hopefully this will cut down on my maintenance time, and no thanks to tor which is effectively removing my ability to block the spammers with IP based filters.  (Yeah, I understand the point of tor, it’s just frustrating to have it used against you).

11.04.05

Sony ships rootkits on CDs

Posted in General at 4:54 am by jw

Looks like Sony has turned to rootkits (an advanced technique used in virus writing) to infect people’s computers when you play some of their CDs.  The full story is over on the Sysinternals blog but to summarize, Sony secretly installs code on your computer then hacks the kernel to prevent you detecting that they’ve actually done anything.  If you try to remove the problem by deleting the files (no uninstall is provided) then your CD drive vanishes!

You have to love DRM, don’t you?

10.24.05

To 32 bit and back again

Posted in General at 1:34 pm by jw

I went to install Rational Application Developer (IBM’s branded version of Eclipse) on my desktop machine at work and found to my surprise that it would crash every time I tried to run it.  Assuming this was something to do with the fact I was running Windows 2003 x64, I decided that this was the straw that broke the camel’s back and reinstalled Windows 2003 using the 32 bit version.

Well… on installing RAD it still crashed.  This didn’t make me happy at all, especially given that reinstalling the OS and all the apps I need wasn’t really a trivial exercise and I didn’t really want to be on a 32 bit OS again.  So, some quick investigation with a debugger showed it was crashing on a CPUID instruction with an “Access Denied” fault (ie a normal general protection error).  Some more investigation showed that there’s no special privileges required to run the CPUID instruction, so it wasn’t immediately obvious what was going on.

5 minutes before leaving work on Friday, inspiration hit me – Data Execution Prevention is on by default on Windows 2003.  Quickly going into the appropriate control panel I turned it off and rebooted and what do you know – RAD suddenly started working!  Well, I wasn’t going to live in 32 bit land if DEP was the only thing holding me back, so I took my machine home for the weekend and ran it up with x64 again, turned DEP off for 32 bit apps and installed RAD (and WAS, and Portal, and all the other IBM junk) without a hitch.

Now, you’d think a company like IBM would be able to tell you somewhere in the installer that DEP needed to be off for this product, or at least the documentation, or even the online knowledge base.  In fact, you’d think a company like IBM would be able to make a product that didn’t try to execute code inside non-executable memory regions.  Sometimes I think I just expect a little much though.

10.11.05

Why Iraq needs to reject its Constitution

Posted in Opinion at 3:27 pm by jw

Iraq would be far better served rejecting the draft constitution due to be voted on later this month and forcing their leaders to go back to the drawing board and stop smoking their crack pipes.  The constitution as it stands is an unworkable piece of junk which will cause massive problems for Iraqi society and government in the future, either hamstringing them into a failed democratic-socialist economy worse than anything Europe has seen or resulting in the failure of central governance and a future breakup into states.

The document is 25 pages, half of which are a simply government structure (which is complex enough) but the remainder is a grab-bag of legislation, half baked ideas and even contradictory assertions that the future Iraqi government must adhere to.  It won’t work because it can’t work.

My primary concerns on the document are that it drops way too many socialist imperatives on the state – free health, free education, free childcare, free pensions. Those cost money and not insignificant amounts.  For a state to maintain all of those things at a universal level raises the level of taxes beyond burdensome and into the realm of insanity, even for an oil rich state like Iraq.

My secondary concerns are with the overt complexity and enumeration of what is effectively legislation and not simply a framework for legislation to grow into. Once Iraq develops ambulence chasing lawyers (and they will), their Supreme Court is going to have one hell of a time interpreting the constitution in any sort of rational manner.

Going into some more detail on the more critical of the flaws:

Article (2): 1st – Islam is the official religion of the state and is a basic source of legislation:
(a) No law can be passed that contradicts the undisputed rules of Islam.
(b) No law can be passed that contradicts the principles of democracy.
(c) No law can be passed that contradicts the rights and basic freedoms outlined in this constitution.

The order of precedence for basis of law puts Islam above everything else, including the constitution itself.  That’s not a stable system of governance as it always puts the religious question of whether any law enacted either by the constitution or the government is actually enforceable based on whether it conflicts with Sharia.

Article (7): 1st – Entities or trends that advocate, instigate, justify or propagate racism, terrorism, “takfir” (declaring someone an infidel), sectarian cleansing, are banned, especially the Saddamist Baath Party in Iraq and its symbols, under any name. It will be not be allowed to be part of the multilateral political system in Iraq, which should be defined according to the law.

Banning parties is silly and anti-democratic – if the majority of the people want Saddamist Baathism back (which I doubt, but this is a mental exercise) then doesn’t the principle of democracy outlined in Article 2 give them the soverign right to vote them back?  Banning “trends” is even worse because defining a trend is ambiguous and often partisan in nature.

Article (8): Iraq shall abide by the principles of good neighbourliness and by not intervening in the internal affairs of the other countries…

Iraq is constitutionally forbidden to intervene in the affairs of other countries.  This effectively prevents any sort of foreign military action.

Article (16): Equal opportunity is a right guaranteed to all Iraqis…

Without bounds, equal opportunity is not a good thing because it’s not a practical thing.  The fact of human life is that people don’t have equal opportunity – some are born into richer families, some into poverty.  To legislatively force equal opportunity places an overwhelmingly large burden on society to effectively correct the “wrongs” nature deals to people at every level.

Article (17): 1st – Each person has the right to personal privacy as long as it does not violate the rights of others or general morality.

This can be phrased to simply say that you have no right to privacy because when you’re arbitrarily declared “immoral” then you forfeit whatever right you previously had.  Legislated morality is always a dangerous and anti-libertarian issue.

Article (19): 12th – (a) (Arbitrary) detention shall not be allowed.

This clause is expanded on later, but effectively prevents the police from detaining anyone without charges.  Ask any police officer what happens if they cannot detain a person before charging them and I think they’ll laugh at you.  Essentially it prevents the police from being effective.

Article (21): 1st – An Iraqi shall not be handed over to foreign bodies and authorities.

This should be called the “Terrorist protection clause”.  Any Iraqi that commits a crime in a foreign nation and then makes it back to Iraq is free.  They cannot be extradited.

Article (27): 1st – Public property is sacrosanct, and its protection is the duty of every citizen.

This seems wrong.  How far does the duty extend?  The way it’s worded, you are committing a federal offense if you don’t get involved in the protection of public property, in other words, you could be imprisoned for inaction.

Article (28): 2nd – Low-income people should be exempted from taxes in a way that guarantees maintaining the minimum level necessary for a living.

While the definitions are probably part of legislation, this provision makes the crafting of tax law a somewhat tricky business as the “minimum level necessary” is bound to require some interpreting and even legislating from the bench from their Supreme Court.

Article (29): 1st (b) The state shall guarantee the protection of motherhood, childhood and old age and shall take care of juveniles and youths and provide them with agreeable conditions to develop their capabilities.

As I said before, the care of motherhood, childhood and old age is guaranteed by the state.  That’s an enormous expense and certainly doesn’t encourage private retirement savings.

Article (30): 1st – The state guarantees social and health insurance…

The state also guarantees social and health insurance (whatever social insurance means).  Given the costs of health insurance in the US, this is yet another huge hit to the Iraqi federal budget.

Article (31): 1st – Every Iraqi has the right to health service, and the state is in charge of public health and guarantees the means of protection and treatment by building different kinds of hospitals and health institutions.

The universal right to health service is massively expensive, especially in the unrestricted form guaranteed by this constitution.  That clause alone could virtually bankrupt the government, and would also be impossible to get a 2/3 majority to remove.

Article (32): The state cares for the disabled and those with special needs and guarantees their rehabilitation to integrate them in society.

State guaranteed disability and “special needs” pensions with the goal of rehabilitation and not just treatment.  Many more federal $$$ going away here.

Article (33): 1st – Every individual has the right to live in a correct environmental atmosphere.
2nd – The state guarantees protection and preservation of the environment and biological diversity.

Again, the state is constrained in its action that any development must guarantee the protection and preservation of the environment.  Industrial development could be brought to a screeching halt on this one if the Iraqi Sierra Club gets off the ground, or more likely if Greenpeace or others get involved locally.

Article (34): 2nd – Free education is a right for Iraqis in all its stages.

I think I mentioned that thing about federal $$$ being chewed up by the constitution?  Well, here’s another shot.  Guaranteeing a free education to anyone that wants it is a definite way to pack your colleges with people who really don’t want to work and farming that financial burden off onto the taxpayer.

Article (36): The state guarantees, as long as it does not violate public order and morality:
1st – the freedom of expressing opinion by all means.
2nd – the freedom of press, publishing, media and distribution.
3rd – freedom of assembly and peaceful protest will be organized by law.

The “public order and morality” clause effectively annihilates those rights.  Declaring something immoral (which is a highly subjective categorization) can prevent opinion, the press and assembly.  In other words, you don’t have those rights at all.

Article (38): The freedom of communications and exchanges by post, telegraph, telephone and by electronic and other means is guaranteed. They will not be monitored or spied upon or revealed except for legal and security necessity in accordance with the law.

Again, the “except…” clause means the right is non-existant.  It’s just fluff to make it look good without actually being good.

Article (45): Restricting or limiting any of the freedoms and liberties stated in this constitution may only happen by, or according to, law and as long as this restriction or limitation does not undermine the essence of the right or freedom.

In other words, the freedoms enumerated only mean the “essence” of the freedoms and not the actual enumerations.  This article virtually nullifies the entire section as it reduces everything to this ephermal “essence” and that’s what the Iraqi Supreme Court is going to have to decide on every single issue.

I’m leaving out Chapter 3 onwards in the analysis because that’s essentially the part that is just the formalized structure of government.  If you read through it, it’s rather complex – especially at the federal/state interaction level but probably workable, at least if it wasn’t hamstrug with the largely half-baked ideas on freedom and non-freedom.

To summarize, the Iraqi draft constitution should be sent back for a rethink.  Constitutions should be short and to the point, not some rambling document with a bunch of “wouldn’t it be nice” ideas tossed in.  If this constitution passes then Iraq isn’t going to become any sort of shining democratic light in the Middle East.  It will be a tar-pit of legal and administrative nightmares that will leave the people yearning for the days of simpler governance.

09.26.05

Switching around OSes

Posted in General at 5:31 pm by jw

My laptop has been undergoing some pretty gruelling system changes lately.  I honestly gave Vista a good try this time with the PDC build and I could really start to see some usefulness growing out of it but things just bogged down as the different versions of the .NET runtimes started to play havoc with the installations I wanted to do – most notably the lastest builds of Visual Studio 2005.  So… off came Vista and on went Windows XP (again).  I just got XP up and going with the VS2005 builds when I realized I hadn’t tried out all the new stuff in Server 2003R2 (and had also neglected to blow away Vista’s program files directory), so XP came off and Server 2003R2 went on.

With all the reinstalling, I learned a few interesting things about how to do clean reinstallations without having to wipe the disk, so I thought I’d collect the few hints I remember for other people to learn from:

Installing Vista:

Creates a Windows.Old directory which contains all the stuff it would have overwritten had it been left in the original location.  Basically this is the old “Windows” directory, “Program Files” directory and “Documents and Settings” directory with a few others if you’ve got directories laying around with inappropriate names (Boot and Build were the two I had).

Overall, it’s pretty well behaved and there’s no real preparations you need to do to maintain old data.  The only thing to know is that “Documents and Settings” becomes “Users” so there’s no real conflict there anyway.

Installing XP or Server 2003:

The install process deletes your Windows directory.  There shouldn’t really be anything in there you want to keep anyway so it’s not a big problem.

“Program Files” and “Documents and Settings” are left in place so if you want a clean install you have to somehow rename them before you reinstall.  I ended up making a DOS boot disk with read/write NTFS drivers loaded so I could rename the directories before doing the installation.  (This was the step I forgot going from Vista to XP which left a bunch of Vista binaries in my Program Files directory).

I think the laptop is finally up and running well on RC0 of Server 2003R2 now, with all the pretty Unix utilities installed and running well (even the Bash shell).  Now if only I could find an X Server that wasn’t Cygwin (not that I have anything against Cygwin, but seems a waste to have TWO Unix emulation environments on one machine).  I tried working with the “free” X-Win32LX but found that installing it on my work desktop used up my “free” copy and now I can’t get another one for my laptop.  Useless idea of a “free” download in my opinion…

I’ve also given up Google’s Desktop Search for MSN’s Desktop Search as the Google search was being a pain and crashing or chewing 100% of my CPU and refusing to give it up in more than a few cases.  The MSN search seems a little more friendly, though it won’t install on x64 versions of Windows, which makes me sad.

Apps that have made me happy for natively supporting x64 shell integration on the other had have been WinRAR and Tortoise Subverion, both of which play happily with the 64 bit explorer shell.  Now if only my other favorite utilities would pull their fingers out and do the same thing.

One last thing – make sure you disable Symantec Antivirus if you want to do anything file system intensive.  Installing the Unix Compatibility stuff on my laptop was slowed down by a factor of approximately 10(!!) when SAV was running and checking all of the 10,000 files as it was installing.  I shudder to think how much it’s slowing my compiles and have to start to question whether this slowdown is actually more or less expensive than being hit by a virus.

Next entries » · « Previous entries