Ayende @ Rahien

It's a girl

Reading habbits

I just noticed how I use RSS Bandit to read blogs, I read all the blogs, and on each interesting link, just click it and resume reading.
Right now I finished going over my subscribed feeds about counted how many openedlinks (tabs in FireFox) I've.
37 opened pages, cool.

Published at

Ten most wanted design bugs...

Just found this out, maybe I'll do something about item four "ASCII Sort", looks like an interesting, nice project.

Published at

I shaved since then...

Thought that I should post a picture of me, but the only one that I had was from the army, so here it is...
I hope you like the background.
The gun on my right hand is a FN 9m, standard military issue, the second is a Colt Revolver 0.45 PeaceMaker (Same model as the one from the Wild West).
That was me trying to show a friend what MDK2 is like :-D

Btw, I shaved since then.

Published at

Working alone

I'm watching Channel 9 videos, and I noticed that they pronouce that they use is diferent than the one I use.
The problem is mainly that I'm doing code alone, in the last four years I've been unable to participate in a user group, or work with anyone about code.
So SQL, CLR, and a lot of other things are pronouced differently than I pronouce them.

8 months and 22 days to the rest of my life...

Published at

The Incredibiles

I saw The Incredibiles earlier today, very good movie.
There were some points where I couldn't believe this is an animation movie {the car crash part, frex}.

Published at

Working on two computers

I'm currently working on two computers, and I'm starting to feel the difference.
File shares are nice, but they don't supply anything. I installed {nearly} any application that I currently use on my laptop, and starting this morning, I'll have to test it on the field, meaning that I get to take it with me and have zero connectivity back to either Internet or to my home computer.


I'll probably post next week telling you what exteremely critical application I missed and how it ruined my week.

Published at

New book

Started reading Developing Application Frameworks in .NET by Xin Chen.
I got it because I want to learn how to do create transactions {seems like an interesting topic}, but it's also an interesting subject because it implements what I read in GoF's Desgin Patterns.

"Admiration: Our polite recognition of another's resemblance to ourselves." -- Definate Facts
"No program done by an undergrad will work after she graduates." -- Tech Support Slogan
"IBM: I Breaks Monthly" -- Tech Support Slogan

Published at

A new tool - Quotes Plugin

I just checked WBEditor site so I could install it on my new laptop, and found out that:

  • They gone commercial {19.95$} for the second version, but you can still get the 1.xx version for free.
  • They got a really cool plugin for auto-entring quotes. You've to import the stuff in, which is a shame, but after a short visit here fixed this.

Now I can have those:

"Truth is the enemy of power, now and always." -- Unknown
Justify my text? I'm sorry but it has no excuse. -- Tech Support Slogan
"The truth is out there? Does anyone know the URL?" -- Tech Support Slogan

Published at

Cool utility

Found it via Working Smart, an Acrobat Speed Up Utility.

It disable loading all those plugins that makes Acrobat loads in forever in a half.
Right now I get 3-4 seconds from opening a PDF file while before I would get 20+.

On a 1.3 Centorino + 1Gb, that is quite a lot.

Published at

First laptob first impressions

I got WinXP SP1 {mistaken image, damn} running on the laptop, here are my impressions so far:

  • I didn't check maximum resultion size (it's 1024x768, which is very small for me, as I usually work on 1280x1024)
  • Dell's ResourceCD is a good idea (I didn't get an OS pre-installed, because I didn't want all the other shitty stuff that they put there.) but it violate about every UI principal that I know of.
    Would it be too hard to have a button saying "Install Drivers & Applications"? That would've saved me quite some time, instead guessing what hardware I had and trying to get used to the touchpad (the application has no concept of keyboard navigation!)
  • I'd no idea that I'd so much connectivity, right now I've:
    • Modem (V.92)
    • Lan
    • Wireless (probably 802.11b, but I've been surprised)
    • Bluetooth - I didn't ask for this, and was in fact told that I'd to pay extra to get it, but the software installed and it's apperantly working (I don't have anything to test it with).
    • InfraRed - Which I had no idea I'm getting but is really nice because I've an infra red phone.
    • Parallel
    • Serial
    • VGA - OK, so I can have data with this, who cares...:-S
  • The speed and responsiveness of the laptob is fine so far - only installed applications until now :)
  • Pleasantly surprised by how crisp everything looks, and I've an LCD monitor.
  • I've a dual monitor setup and I keep trying to move windows to the laptob screen {Yes, I know about MaxiVista, maybe I'll get that, later}
  • So far I've installed:
    • Office System (2003) Hebrew
    • Nero 6
    • Norton SystemWorks
    • Acrobat 6
    • .Net 1.1
  • I/O is sloooooooooow
  • Things that I will install:
    • Visual Stuido 2003
    • VC# Express
    • MSDN Express
    • ReSharper - The reason that I install VS2k3
    • CodeSmith
    • Project Line Counter
    • Reflector
    • TestDriven.Net
    • CuteWriter - free PDF printer
    • TortoiseSVN
    • Subversion 1.1
    • Subversion Book 1.1
    • Paste As.. for Vs.Net
    • WinRar
    • Notepad2
    • SpamBayes - I almost forgot that Outlook doesn't provide this out-of-the-box

Published at

Where did my other six arms go?

I'm still installing stuff on my new laptop, and I just found myself trying to control it with my left hand and continue to use my main computer with the right.
With some concentration, I can make it work...

Published at

This is interesting - Back Up

Check out this site, automated backup to a hardware solution with versioning
From what they are saying in their site it sounds suspicously like some sort of linux + cvs / subversion on the server and a client that simply watch directories for changes.
I would really like one of those, but the price a bit prohibitive.
I just bought a DVD burner so I could do back up (recently managed to burn my mother-board) my stuff.
I'll just wait until I've ruined my computer again and find out that I forgot to back up recently / forgot to back up the really imprtant stuff.

In other news, at work there is this super important excel file that contain about 90% of the stuff that we do {there is an internal application to replace excel, but it's not working on the computer we have, it's too old (and the application was written with VB5/6)}.
I managed to completely screw up the file and all its data.
I was facing enterring all this info manually again (about five hours, with a lot of cross referencing to printed files, and checking, and totally taking us down).
Five minutes after I started this I remembered that yesterday I'd copied this file to my disk-on-key.
I checked, and there it was, and it only took me another five minutes to restore it to the way it's supposed to be.

Seeing that, and lacking any backup software/internet access/programatic access, I decided to bite the bullet and attemted to write a shell script to copy the file every day to a backup directory (because I'm more concerned with people like me ruining the file than some distater or malicious intent).
I spent about three hours on a default install of win2K trying to find a way to get a datetime base file name so I could do something like:

copy really_important_file.xls "\buckups\"+datetime.replace("\",".")+".xls"

Couldn't find it, I know squat about the shell, so that didn't help either.

Finally I used Excel's Macro editor to search FileSystemObject and had this script save as backup.vbs

Dim fs, filename
Set fs = CreateObject("Scripting.FileSystemObject")
filename = "c:\backups\" + Replace(FormatDateTime(Date, vbshordate), "/", ".")+ "-" + Replace(FormatDateTime(Time, vbShortTime), "/", ".") + ".xls"
fs.CopyFile "really_important_file.xls", filename

Then doing:
at 21:00 /every:M,T,W,Th,F,S,Su "backup.vbs"

And you got a very poor man backup.

Published at

Priceless - Schedule Yesterday

Just saw it on Google Groups, how to schedule ‎a task on the last day of the months?

" Or you could determine if today is the first day of the month and if so, then run the job yesterday."

Published at


I finally got myself a laptop (been thinking about it the last nine months).
It's a Dell Latitdue D500 with 1.3 Centrino Pentium, 1 GB RAM, DVD-CD-R, 30GB HD, and all the normal ports (parallel, eternet, 802.11b, etc).

I'm currently installing WinXP Pro SP2 on it, (started 10 minutes ago).
It would be interesting to see what software I consider essensial to take with me.
My current Windows Xp installantion is 2 years, 5 months, and 7 days and survived mother board switches, HD crashes, and constant abused by me.

I morally object to reformat & install, so I have quite a bit of stuff in my system (just last week I spent two hours searching for a tool that I already had installed).
Sometimes it bites me big time, like thinking that some of my VS plug-ins are built-in to VS, or that all windows installation has TortoiseSVN on the default install.

I'll post a list of what I'm installing there when I'm done.

Published at

MbUnit's Goodness

It never stops to amaze me how much good stuff come out of Peli's workshop.
Now he bring up an easy way to test for even more wierd cases.

File IO blocker as an attribute, cool!

Check it here

Published at

BugZilla install running un-modified on Windows

I noticed that BugZilla 2.18 is finally capable of working on windows, so I decided to make a grab for it and finally have something better than an excel sheet to list my bugs.

This page tells you how to do it.
I found it very amusing that the first sentence in this page is: "Bugzilla version 2.18 is the first release that runs unmodified on Windows."

Then it follows with a 15 pages of instructions of how to install it.
In order to get it to work, you need:

  • Install MySQL 4.0.
  • Install MySQL Control Center.
  • Manually create bugs data base and users.
  • Install ActiveState Perl.
  • Create a temporary directory at "C:\Temp".
  • Install perl's modules using some arcane syntax. {Case sensitive}
  • Install Apache2 and configure it as a service (not to run as SYSTEM).
  • Configure Apache2 by editing strange configuration files.
  • Grant write access to several directories.
  • Edit Apache2 configurations file.
  • Hack the registery.
  • Download some utitlies and hack the code so I wouldn't have to have a usr/lib directory
  • Now you get to run the bugzilla script
  • Edit some more configuration files (this time bugzilla's)
  • Run more scripts
  • Set some scripts to run as scheduled tasks
  • Launch browser and set personal info on the bugzilla system
  • Setup backup for the system.

And now you can use this.

First, a big thanks for Byron Jones, who created the list above (the 15 pages version, that is).
Second, if this is running unmodified, I would hate to see what it was like before. {As a matter of fact, that was the reason I avoided it until now.}

Third, it took me about four hours to make this work.

Published at

Book Recommendation: Open Source .NET Development

OpenSource .NET Development By Brian Nantz

This is a book I just started reading, it talks about Open Source software and fill in the biggest gap that I've in using them, which is a good documentation.
So far I like what I read, very good converstaion of the tools, I'm waiting to get to the part where he explains about NAnt, log4net, etc.

Fun ;-)

Published at

Head First

Just saw this, O'Reilly got a new way of learning.
I read the sample chapter on Design Patterns and instantly liked it.

The only problem that I've with this is that it's hard for me to read in on the computer {like I usually do with computer books}. This is a must have in a tree-killing version (at least for me).

Good idea, waiting for them to have something that I'm interested at (Just finished the GoF's Design Patterns, after that, I need a little rest :-) )


Published at

Visual indicators for faulty code

I opened a suggestion on ladybug to have the IDE show a red squiggle under code that is known to be bad (missing methods, namespace decleration, etc).

Please vote here

Published at

C# Express movie

Check this movie, it answers some of my previous complaints about missing ReSharper in C# express.

I'm loving this features, but the errors are muted. I really like the way that in ReSharper, it screams at you "Your code is bad, here is how you fix it"

C#Express just sort of hand you a note.

I'm going to check if there is a possibility to fix this.

Published at

Resharper vs Generics

Recently I'm facing a very tough problem. I've gotten really used to ReSharper and it's amazing capabilities, but I want to learn C# 2.

The problem is that ReSharper doesn't work with VCSharp Express {I tried to hack it, but it keeps throwing exceptions}.

This mean that I've to work in a beatiful, but stupid editor.

It can't guess my namespaces for me {why not?}, it's foreach expanstion is a joke compare to Resharper, {Enumerable first, then type and then name, not type, name & enumerable}.


It's almost enough to make me avoid C# 2 until it'll have its own ReSharper.

Published at

Code Sorter/Tidy

Does anyone know of a tool that can group all the variables/properties/methods/constructors and sort them?

That would be a great help in tidying up my code.

Published at

TDD Pitfall

I'm trying to write an application in a Test-First style, and I just found out that the bug I was chasing for the last half hour was in the test code :-(.

I just couldn't see it, until I suddenly did, and then it was a one second change to fix this.


Published at

Inverstion of Control

I read about Inverstion of Control containers previously, but I never really managed to get their usefullness.

This page has a very concise explanation, worth reading.

Published at

Design Patterns

Just finished reading Design Patterns by the Gand of Four.

Whoa! That is some tough reading.

Anyone knows about some updates for this book?

Published at