Home
Martin Zarate
26 June 2008 @ 11:37 pm

First, this:
http://gizmodo.com/5019516/classic-clips-bill-gates-chews-out-microsoft-over-xp

It's probably fake, but the Seattle Pi does say that they asked Gates about it.  If so, I have both newfound respect and disappointment for the man.  He knew about the problems with Windows... but he couldn't change them.

Also, I really wish the band described below was real:

http://questionablecontent.net/view.php?comic=1173

If you don't read Questionable Content already, you can thank me/curse me later.  Incredibly funny and well-drawn, but the plot moves at a snail's pace so once you catch up to the author you really miss being able to keep reading.

And yes, I'm a sucker for romance.
Tags: ,
 
 
Current Mood: amused
 
 
Martin Zarate
09 April 2008 @ 02:19 pm
If you're through making visual studio freeze up like an ice-cream Sunday, I'd like to get some work done today. In the time that VS has taken performing a single autocomplete, I've downloaded and installed Notepad++ so that I can keep working on classes.
Tags: ,
 
 
Current Mood: angry
 
 
Martin Zarate
10 October 2007 @ 11:05 pm
Question: Which electoral system should Ontario use to elect members to the legislature?
Existing62.25%
Mixed member proportional37.75%
Ridings in favour of MMP4/107
Last Update:October 10, 11:10:58 PM EDT
To change requires 60% of the popular vote and majority approval in 64 of the 107 ridings.


It's probably early to call that, but I'm pretty sure we're not gonna see the 60% it takes for MMP to go through. A lot higher than the 23% I expected though.
Read more... )
 
 
Martin Zarate
29 June 2007 @ 02:45 pm
I just had to take a break from my work to state that Microsoft's .net platform is pure, liquid evil.

How do I know this? For example, say you have an ObjectDataSet - that's the uniform interface for doing back-end for GUI objects that create, update, and delete objects.

Now, the problem is that the unavoidable implementation of the "Update" functionality of the ObjectDataSet.

It is as follows:

1) Fetch the object and use it's fields to populate the screen.
2) allow user to edit.
3) Create a whole new, empty object using the default constructor without providing any information from the first object. Set the data that the user has edited in "2" on this new object. Then provide a key to the first object, so if you want to use it you have to do the comparisons yourself.
4) Execute the "Update" method against this new object.

Please explain step 3 to me, without laughing your ass off. Oh, and Step 3 cannot be edited by the developer in any meaningful way. Nothing virtual, no events, nothing.

Thank you, Microsoft.
Tags:
 
 
Martin Zarate
09 November 2006 @ 12:00 pm
When searching for a solution to a programming problem on Portland Patterns Repository today, I ran across something shocking....

First, a little background for non-coders.  A common problem in writing cross-platform code is that some computers are little-endian (least-significant-digits first) and some are big-endian (most-significant-digits first). That is, 3e3 + 4e2 + 1e1 is written stored as "321" vs."123" (assuming an imaginary base-10 computer). 

Human-written numbers, however, when read left-to-right (like most of us do), are big-endian. Except that we don't all read and write left-to-right.... Arabs write right-to-left (backwards, from our perspective).  Now, why does this matter?  Consider who invented our numeral system.  Yep, the Arabs.  But if you look at numbers written by an Arab, they look to be in the same order as ours... which means that our numerical system was originally little-endian, and then when Europeans copied it they kept the ordering of the numbers even though the ordering of the writing is reversed.

Now, consider how much nicer little-endianness is for basic arithmetic - when you carry-over in addition, you carry-over forwards.  After all, when you do math on paper, you do it in a backwards right-to-left fashion, don't you?  Which makes perfect sense, if you're the people who designed the system.

Tell me your mind is not blown by this bizarre accident of history.
Tags: ,
 
 
Current Mood: surprised
Current Music: Prefuse 73 - Choking You
 
 
Martin Zarate
22 September 2006 @ 08:28 pm
Was just googling some stuff on VB.NET at work on exceptions (I was getting confused by that On Error legacy stuff) and accidentally stumbled upon actual performance specs for exception handling in C# (and Java and CPP).

Holy Crap. I had no idea that throwing/catching an exception was worse than string processing for eating resources. Particularly in DotNet. I mean, I heard it was expensive, but I'd assumed that was just optimization nuts freaking about a few extra branches.  And it makes no sense to me at all - aren't you just returning an object through an alternate path? I mean, why is unwinding the stack through "return" so freaking much faster than unwinding it through "throw"? I can understand that building the exception object (what with the stack trace, messages, etc. you have to stuff in there)... but C# bans you from throwing non-exception objects (and I doubt performance would be any better if you could since they obviously had no intention of optimizing).
Tags: ,
 
 
Current Location: home
Current Mood: confused
 
 
Martin Zarate
If it takes a 30 page document to explain your logging system, wihtout a line of example code, you fucking fail.
Tags: