Tiger launch in Seattle
I stopped by the University Village Apple store Friday night at about 10 till 6 to look at the Mac OSX Tiger launch party. I didn’t get to go inside, there was a huge line and we were going out to eat that night. But I did take some pictures of people standing out in a light rain waiting to buy the next Mac OS.
You can check out all of the pictures of the launch in my gallery here.
Update. Phillip Torrone of Make magazine has some pictures of the same launch at the same store. His are much more artistic and, of course, include his face in the photos.
Design Patterns for Searching in C#
Design Patterns for Searching in C#
Just a quick link to get this up on my page. This is a great source. I don’t remembe where I first saw this link this morning. If I find out, I’ll be sure to give them credit for finding this.
My favorites so far: Simulated Annealing and Dynamic Programming. I worked with guys that did a lot of this kind of stuff and it’s great to see that it’s a little easier to do in C# using generics than it was in Java.
Size of scientific datasets
I deal mostly with medical data, some appointment data, but mostly data about a patients labs, medications, and what they are having taken out or put into them. These databases can get pretty big, right now I’ve got three main databases. One is about 1.5GB, the second is abou 2.3GB, and the third, which is a staging database for the other two, is about 4GB. These aren’t very big compared to the multi-terrabyte (10^12 or 2^40 bytes) databases you’ll see at Fortune 500 companies or at Google.
But then you start to look at the data sets that supercolliders turn out. These supercolliders can churn out 10 petabyte (10^15 or 2^50 bytes) datasets each time they run. Some astronomical data sets run into the 10PB/year range. None of these are in a RDBMS yet. None can handle that much data all at once yet. Datasets in this range fascinate me because I can’t really visualize a multi-TB dataset, let alone a single petabyte. I know that some of the researchers here have multiple 100+GB Firewire external hard drives chained together holding DNA and protein sequence information. Usually in hundreds and thousands of Excel spreadsheets(groan).
Check out this PowerPoint by Jim Gray of MS Research where he talks about some of the larger datasets. Interesting that Google was a 1.5PB as of spring 2001. WAY before the GMail initiative or Google Video upload. I wonder where they are now?
Chris Pirillo goes to WinHEC
WinHEC, Part II (Chris Pirillo)
Here I was all prepared to write a rant towards Chris Pirillo about how he shouldn’t whine about how Longhorn looks and feels at a DEVELOPERS CONFERENCE since he isn’t a DEVELOPER.
Then I read the post I linked to above and realized that he’s exactly right. The Developer is the LAST person that Microsoft should be consulting. By last I mean final. Their first obligation should be to the user. Most of the ‘features’ of Longhorn, at least the ones that have been shown, have been developer oriented. Of course the only places it’s really been on display has been at Developer oriented conferences like PDC and WinHEC, but that’s beside the point. Ultimately the developers are users too. When you stand up before a group of users and say “We listened to you, now instead of ‘My Documents’ it just says ‘Documents’” you should expect to actually HEAR eyes rolling in their sockets.
But Chris are prettier icons REALLY what you want? Is the XPize thing you pointed to REALLY what you were hoping for after SIX FRIGGIN’ YEARS of development? In six years at the old Microsoft they went from introducing MS-DOS to introducing the first version of Windows. In another six year slice of Microsoft history they went public and shipped 2 versions of Windows. A five year time slice from 1995 to 2000 took us from Windows 95 to Windows NT 4.0 to Windows 2000 and that doesn’t include Microsofts attempt to take over the internet.
Is being able to stack your windows on their sides like record albums really going to help the user? Is being able to see through the 50 pixel wide strip at the top of a window to the desktop/window beneath it really going to make anyone more productive? The “start a program from the run box” already exists, Microsoft is just making so you don’t have to type in the path. If they let you define your own ‘magic words’ a’la Quicksilver and SlickRun, then they have a winner. But really, six years for something that already exists? We were going to have to wait for six years for transparent PNGs until the Mozilla Foundation kicked the crap out of Microsoft in terms of features and lit a fire under the butt of every IE PM and exec.
If Longhorn really is more secure, start writing some viruses. Load up MS Blaster or ‘I Love You’ or some de novo virus on an unpatched, unfirewalled version of Longhorn and show some of the security at work. Put a build up on a public server, a honeypot, and invite people to crack it. Put your money where your mouth is when it comes to security if you’re going to tout it as a feature. People set up Linux boxes all the time and invite people to crack them.
If AeroGlass really is all that great, show it off. None of that cheesy sidebar stuff. That’s just taking up screen estate. I don’t need a 200px X 200px analog clock to replace the teeny little digital clock in the tray. Building MSN Desktop Search into the UI, sure that’s to be expected. But it’s here already. Are you telling me that if I can do without AeroGlass, I could roll my own Longhorn? A preview of a document in a tiny icon, oh I can magnify it. Great, can I magnify it up to the point where I can READ what it says? Of course I can, it’s called opening the document.
If we don’t ‘get it’ because we haven’t seen the ‘good stuff’, then don’t expect us to get behind what ou are showing us.
update I just noticed something funny.
Arvind continues with a joke about the dog in Windows Search no longer being there – and I couldn’t hear a single laugh coming from the audience. Why? Because it wasn’t funny when the pooch was foisted upon us in XP.
Would you believe that I didn’t even know there IS a dog in Windows XP? I’ve been running XP Home for close to a year at home, but at work I run Windows 2000. I guess I’ve never, ever used the Search in XP. I couldn’t figure out what he was talking about. “What dog? Does he mean one of the Clippy-like Office assistains?” I had to Google for it. Apparently the dog is named “Rover”. They can’t even innovate a dogs name for cryin’ out loud. Maybe it’s named after the developers childhood pal or something, we can hope.
Bad developers are made not learned.
So in an earlier post I pointed to a post by Andy and said,
It’s much easier to transition from C++ to a managed language than the reverse. Plus understanding how memory management really works pays off when you move to a GC managed language like Java or the CLR
Jeff Atwood left a comment,
I think this is kinda.. bad advice. I’ll let Jon Galloway explain why, because he does it so much better than I do
Joel got it wrong – Why learning C is a waste of your college time and money
So I read the posting Jeff pointed to and came away with something different than he did. Apparently what Jon Galloway is saying is that learning C/C++ will make you a bad programmer. I don’t think that bad programming practice is learned, I think bad programming practice is enabled by the environment the developer is in. But I don’t think that any programming language is going to give you a false sense of control. In fact the example he uses to illustrate how the developer really isn’t in control is exactly the kind of thing that can only be understood if you have a good understanding of how computers and operating systems work close to the metal. If you’ve spent all your life working in a GC’ed language, why would you ever need to know how memory management works, let alone virtual memory? Jon also says it doesn’t teach you to work with a framework. What’s the STL? What about MFC? ATL? Carbon? All of those things use C++ as their base language. Notice I didn’t say to take a C/C++ course at a university as I’m not convinced that a CS course will teach you everything you need to know in the real world. I said to learn C/C++ first because if you understand HOW things work, you’ll have a better idea of how things DON’T work. How can you identify a memory leak in your managed application if you don’t know how memory leaks come about or what a memory leak is?
I think that all of the points that Jon bring up could be true, if the person he’s speaking about is a bad programmer anyway.
BTW as an aside, Jon mentions the data storage and processing needs of todays systems. He’s just talking about piddley stuff, non-scientific data. I’ll post a little bit on what kind of data sets we’re talking about in scientific data in a little while (hopefully, real life is about to intrude yet again!). Here’s a teaser, terrabytes are usually the smallest unit of measure we use when we’re talking about scientific datasets.
IBM Reflexive User Interface Builder
alphaWorks : IBM Reflexive User Interface Builder
i’ve had this link floating in my ‘drafts’ folder for a while. Not sure what to really say about it since I haven’t played with it much. It’s an interesting idea that I’ve been kicking around since I discovered XML way back when. The idea of using XML markup to generically define an interface. But instead of directly translating that markup into a graphical UI, running the markup through a code generator that will create the UI definition code in any language you want. The problem with this is that it’s limited to the Java platform.
What I’d like is to be able to define a UI in markup and then translate that markup to UI code for any language I choose. So if I want to output a DHTML front end for a web site and have the same UI done in Java and Visual C++/VB.NET I could. I first thought of this as a way of making cross-platform development easier and more developer friendly. Since the hardest part of creating a cross-platform application is usually the UI, this would ease the pain somewhat. Maybe make it go away all together.


