Archive for May, 2005
May 19, 2005 at 3:13 pm · Filed under General
Based on an email recommendation/conversation with Mark Jen, I tried out the newly shipped MSN Desktop Search. Wow. Initially I didn’t see a difference, but now I’m really digging it. It has had no effect on my machine or my machines performance, and it works well. The search results are relevant. Plus, it also has a plug-in architecture if I really need to go there.
I really, really like the deskbar find-as-you-type feature. Very well done! I think Microsoft has won this round against the rest of the competition.
I’m installing this on all my machines.
May 18, 2005 at 2:14 pm · Filed under General
Today I was looking at some code on the internets and eventually ended up looking at XML Pull parsers. I’m not a huge fan of XML. I feel it is bloated, too easy to abuse, and too easy to get things wrong. (in a nutshell, it’s overloaded).
Well, every now and then we actually have to deal with XML and in the past I did a little research and ended up using SAX style systems in my code. They are easy to implement, but I always felt a little put off by the design. You end up building lots of little state machines when the XML goes recusive.
Today, I got out of my hole and discovered another form of XML Parsing called Pull-Parsing. These are also called Streaming XML Parsers. They have the usual problems (unable to validate perfectly), But they have a light memory footprint, approval from the XML gods as ‘the way’, they are the official built-in parser for C#, and they are fast.
The main reason I like the API is slightly different. I like the design. Many moons ago, when I wrote a compiler for a prototype-based language called Cel, I wrote a recursive decent parser. When I look at the XML-Pull API, it looks almost exactly like the lexer interface that I had in the parser. I got my design from the compiler Dragon book. It’s a good design that makes dealing with complexity much easier since they strike the proper balance between generator and a consumer states and responsibilites.
When I do my next project, and I use XML, (probably C#), I’ll use this.
May 17, 2005 at 12:59 pm · Filed under General
Here is a neat tip for FireFox users who also enjoy Gmail. With a few tools, you can get the much needed ‘Move To Trash’ button that everybody wants.
First install Grease Monkey - this add-in allows you to modify HTML/CSS on any site you choose.
Second, install this script into GreaseMonkey and you are done.
Neat.
May 16, 2005 at 4:21 pm · Filed under General
I’ve been reading about some of the tenets of Xtreme Programming (XP) and in particular the use of Unit Testing. At work I sent out the following article:
Strong Typing vs. Strong Testing
Very interesting, but in real life I find there is a huge divide between theory and practice. So here is a question to any of you out there. How do you do it?
The problem I’m having is that the tests I see as examples are not valid in real world environments. For example, if you are designing UI and you have a simple Dialog, you need a UI automator package to test that dialog. If you are building a web app, you will need a test database and fake-browser to exercise the UI. How do you tests without having to write a system that sets up a database and verifies its consistency (lots of work and the tests are time consuming)? How do you verify that the text in a field looks correct?
One thing that I find helpful is to separate the UI, if possible from the implementation. So, for example, in the dialog case above… I would never let the Dialog touch the database. I would have it use data passed in or an in-memory model. The same for web pages. I would use a templating system there. This should help with Unit Testing, but the thorny issues I mention above still stand.
So… what do you use and how do you do it?
May 11, 2005 at 8:28 pm · Filed under General
Note to self: when you need to see traffic, via an ncurses console… don’t forget about the ole Trafshow.
May 11, 2005 at 10:02 am · Filed under General
Unless Nantero destroys the entire market for memories (SRAM, DRAM, FLASH, MAGNETIC, OPTICAL), another company I was watching was Matrix Semiconductor. These guys have been working on a 3D chip layout for memory. They were specifically targetting the digital camera market with a high-density, inexpensive, write-once semiconductor memory.
Well, just today, they announced a product: EE Times Article
Interesting times ahead…
May 9, 2005 at 3:59 pm · Filed under General
A while back, there was some /. posting (way back when I used to waste my time reading that site),
on Nantero. This is one of those new nano-tech startups that announced some fantastic technology a while back. The nutshell of it is that they are doing some neat stuff with carbon fiber nanotubes to create the next generation memory system. You can see a movie of it on their site. If they succeed, they will disrupt the entire computer memory landscape since it is non-volatile, super fast, and high-density.
Today, I was thinking about them. Often companies announce things and then disappear forever in the vapor.
Well, they look like they are going to release a 1mbit device this year. Pretty neat. Lets see if they pull it off.
May 2, 2005 at 5:11 pm · Filed under General
Read this excerpt from http://www.mindjack.com/feature/gne.html
Stewart Butterfield: When I was really little I had an Intellivision, and though I enjoyed the car racing game, Astrosmash, and Advanced D&D, it was Utopia (a very early sim game where you controlled an island and tried to build a good society) that really caught my attention.
A few years later we got an Apple II and I played Hard Hat Mac, Aztec and Drol (classics all) while learning a lot of useless AppleBasic. Still later, I played some arcade games (none more than Galaga) but it was when the second generation of Macs came out that I got inspired. Balance of Power was great, but it was Sim City that started me on this course.
Mr. Butterfield, and his company Flickr was just acquired by Yahoo!