Why is Microsoft writing a .NET version of the good 'ol UNIX text editor Emacs?
I suspect it will be not a direct clone of Emacs, but like Emacs will be a text editor that is largely written in and customized by .NET scripting languages (IronRuby, VB, etc), maybe even integrated with PowerShell.
Will it be open source?
Update: The mystery has become a little less mysterious. The editor mentioned above will be called "Intellipad". It is apparently going to be part of Microsoft's SOA offering, code named "Oslo". Another major component of Oslo is a declarative “textual modeling language” called "D", which will be based on XAML. Dunno how a modeling language like D could be based on a markup language like XAML...
Friday, December 28, 2007
Tuesday, December 25, 2007
Last Minute Geek Xmas Gifts
Looking for a last minute xmas gift for that special geek someone? Are you a geek with lots of gift cards to get rid of? Here are my suggestions for 2007:
8. Reindeer Computer Carton
Feeling creative? Don't know what to do with all of that packaging that came with your new computer? Make a reindeer out of it!
7. Disembodied Remote Controlled Hand
Just like Thing from the Adams Family. Get your own remote control hand that crawls across the floor on its fingers!
6. Toilet Aquarium
Turn your boring toilet into a Fish 'N Flush "nautical wonderland"! Fish not included.
5. Fun Toilet Paper
You're not going anywhere until you wipe. Revenge Toilet Paper looks like the real thing but cannot be torn!
Give politicians back the same stuff they give you with Political Toilet Paper.
4. A Chair That Follows You
For the ultimate in lazy the “Take-A-Seat” is a chair concept that follows you wherever you go!
3. Wi-Fi Detector Shirt
Display the current wi-fi signal strength to yourself and everyone around you with this stylish Wi-Fi Detector Shirt. The glowing bars on the front of the shirt dynamically change as the surrounding wi-fi signal strength fluctuates!
2. iPod Accessories
Let your favorite tunes clean your teeth with Rock My Teeth.
Turn your dog into a boom box with the dog-jacket iPod dock.
Checkout some other iCrap.
1. Motorized Cooler
Ever drive to a park or friends house for a BBQ and then discover you have to carry a heavy cooler full of food and drink to some far off area? No more! Let your Cruzin Cooler take you and your food to the party in style!
8. Reindeer Computer Carton
Feeling creative? Don't know what to do with all of that packaging that came with your new computer? Make a reindeer out of it!7. Disembodied Remote Controlled Hand
Just like Thing from the Adams Family. Get your own remote control hand that crawls across the floor on its fingers!6. Toilet Aquarium
Turn your boring toilet into a Fish 'N Flush "nautical wonderland"! Fish not included.5. Fun Toilet Paper
You're not going anywhere until you wipe. Revenge Toilet Paper looks like the real thing but cannot be torn!
Give politicians back the same stuff they give you with Political Toilet Paper.4. A Chair That Follows You
For the ultimate in lazy the “Take-A-Seat” is a chair concept that follows you wherever you go!
3. Wi-Fi Detector Shirt
Display the current wi-fi signal strength to yourself and everyone around you with this stylish Wi-Fi Detector Shirt. The glowing bars on the front of the shirt dynamically change as the surrounding wi-fi signal strength fluctuates!2. iPod Accessories
Let your favorite tunes clean your teeth with Rock My Teeth.
Turn your dog into a boom box with the dog-jacket iPod dock.Checkout some other iCrap.
1. Motorized Cooler
Ever drive to a park or friends house for a BBQ and then discover you have to carry a heavy cooler full of food and drink to some far off area? No more! Let your Cruzin Cooler take you and your food to the party in style!
Monday, December 17, 2007
Changing Windows Process Scheduling with ProcessTamer
For years I've been disappointed with the Windows process scheduler. It is so easy for a process to suddenly take up all of the CPU and completely "freeze" your PC for minutes at a time.
Fair scheduling is something high-end UNIX variants like Solaris have dealt with successfully for a while now, while Linux is still coming to terms with.
An interesting freeware tool I've been trying out recently is ProcessTamer, a Windows utility that runs in your system tray and constantly monitors the cpu usage of other processes. When it sees a process that is overloading your cpu, it reduces the priority of that process temporarily, until its cpu usage returns to a reasonable level. Now my PC doesn't become completely unresponsive for long periods of time, but on the downside some applications like Firefox take longer to start up.
Sad that I have to consider using tools like ProcessTamer, but so far it has done a pretty decent job.
Fair scheduling is something high-end UNIX variants like Solaris have dealt with successfully for a while now, while Linux is still coming to terms with.
An interesting freeware tool I've been trying out recently is ProcessTamer, a Windows utility that runs in your system tray and constantly monitors the cpu usage of other processes. When it sees a process that is overloading your cpu, it reduces the priority of that process temporarily, until its cpu usage returns to a reasonable level. Now my PC doesn't become completely unresponsive for long periods of time, but on the downside some applications like Firefox take longer to start up.
Sad that I have to consider using tools like ProcessTamer, but so far it has done a pretty decent job.
Virtualization == Increased Latency?
An interesting quote that caught my eye while reading about the NYSEs replacement of UNIX servers with Linux (nothing really new there since many of my financial clients started on that 5+ years ago) was this:
One technology that the NYSE isn't adopting so eagerly is server virtualization, which comes with a system latency price that Rubinow said he can't afford to pay. In a system that is processing hundreds of thousands of transactions per second, virtualization produces "a noticeable overhead" that can slow down throughput, according to Rubinow. "Virtualization is not a free technology from a latency perspective, so we don't use it in the core of what we do," he said.
Charles King, an analyst at Pund-IT Inc. in Hayward, Calif., believes there is a broader concern among IT managers about virtualization overhead and its impact on transaction processing. "It's one of the reasons why even the staunchest advocates of x86 virtualization recommend extensive testing prior to moving systems into production," King said.
I haven't heard this particular concern until now, but I can imagine it to be a big one since one thing you will hear talked about again and again and again if you work on trading systems is "low latency".
So what can be done to reduce latency in a virtualized environment? Depends on how much you're prepared to spend.
One technology that the NYSE isn't adopting so eagerly is server virtualization, which comes with a system latency price that Rubinow said he can't afford to pay. In a system that is processing hundreds of thousands of transactions per second, virtualization produces "a noticeable overhead" that can slow down throughput, according to Rubinow. "Virtualization is not a free technology from a latency perspective, so we don't use it in the core of what we do," he said.
Charles King, an analyst at Pund-IT Inc. in Hayward, Calif., believes there is a broader concern among IT managers about virtualization overhead and its impact on transaction processing. "It's one of the reasons why even the staunchest advocates of x86 virtualization recommend extensive testing prior to moving systems into production," King said.
I haven't heard this particular concern until now, but I can imagine it to be a big one since one thing you will hear talked about again and again and again if you work on trading systems is "low latency".
So what can be done to reduce latency in a virtualized environment? Depends on how much you're prepared to spend.
- Software virtualization like VMWare or Parallels is likely to incur some extra latency above native-run applications, even though they take advantage of recent hardware virtualization hooks. In theory the more powerful the hardware the lower the latency.
- The top of the line virtualization (i.e. very expensive) offering is probably still Azul. This is a hardware platform for running virtual machines across a pool of Azul "appliances". The hardware has been optimized for application context switching, large memory heaps, etc. Azul like to call their offering "application virtualization" and products like VMWare are called "OS-level virtualization".
Thursday, December 13, 2007
Using Web 2.0 to find the nearest toilet
I was excited to see the recent launch of MizPee, a website with SMS support that can help you find the nearest toilet in your hour of greatest need.
MizPee serves up a list of nearby toilets, how far away the toilet is, a rating and whether or not there is a charge. Other details may include disabled access, whether the restroom includes a diaper-changing station. Users can also leave comments.
There were many critical comments about the site, but having been a tourist I can say that not every city has a Starbucks or McDonalds on every block and not every restaurant is happy to let people walk in off the street and use their loos. While one comment said "web 2.0 just jumped the shark" I've got to say that it is a good thing the barrier to entry for a webapp is now so low that a niche application like this can exist.
A niche idea I've had for a while: In the part of Brooklyn I live there is the joy of alternate side street parking, which means I have to move my car at least once a week. I'de love to put together a webapp that could help me locate the nearest parking spot. Big challenges in keeping that info up to date since spots come and go very quickly.
MizPee serves up a list of nearby toilets, how far away the toilet is, a rating and whether or not there is a charge. Other details may include disabled access, whether the restroom includes a diaper-changing station. Users can also leave comments.
There were many critical comments about the site, but having been a tourist I can say that not every city has a Starbucks or McDonalds on every block and not every restaurant is happy to let people walk in off the street and use their loos. While one comment said "web 2.0 just jumped the shark" I've got to say that it is a good thing the barrier to entry for a webapp is now so low that a niche application like this can exist.
A niche idea I've had for a while: In the part of Brooklyn I live there is the joy of alternate side street parking, which means I have to move my car at least once a week. I'de love to put together a webapp that could help me locate the nearest parking spot. Big challenges in keeping that info up to date since spots come and go very quickly.
Monday, December 10, 2007
Crowdsourcing your next development project
Wikipedia defines crowdsourcing as:
The act of taking a task traditionally performed by an employee or contractor, and outsourcing it to an undefined, generally large group of people, in the form of an open call. For example, the public may be invited to develop a new technology, carry out a design task, refine an algorithm or help capture, systematize or analyze large amounts of data.
Although it has had some success I wonder can it work for developing large, complex applications like many of the financial applications I work on for a living. I can see it working for fairly generic applications (e.g. many webapps), but complexity takes a lot of managing. Many of the finance companies would also be reluctant to make requirements publicly available, exposing their intellectual property to their competitors.
However, a large chunk of any application is plumbing code. This article on crowdsourcing demonstrates how one company opened up about half of an application to crowdsourcing and is committed to do th rest of the integration work:
In Baltimore-based Constellation Energy's case, the $19.3 billion energy company didn't stage a completely open call; rather, it worked with TopCoder , a Connecticut-based company that stages regular coding competitions, ranks developers who compete and then makes this talent available to businesses that need systems built, also through a competition-based model. TopCoder currently has about 130,000 members from more than 200 countries.
A TopCoder project manager assessed the needs of Constellation Energy's commodities group, broke up the system design into dozens of small components and released about half of those component requirements to member developers, who could send in their best coding effort. (Constellation decided to build some of the components in-house.)
Submissions -- which continue to roll in -- are rated using a standardized scorecard, and winners are rewarded anywhere from $500 to close to $2,000. When all the components are complete, TopCoder will work with Constellation to integrate them into a functional system.
It will be interesting to see how this project turns out.
I had a client a couple of years ago that was not happy with the quality of code coming back from an outsourcing vendor and had the idea that he would set up a team in NY to integrate (and fix!) code coming back from this vendor, but I don't see why this integration team couldn't integrate the best code from a few competing vendors!
The act of taking a task traditionally performed by an employee or contractor, and outsourcing it to an undefined, generally large group of people, in the form of an open call. For example, the public may be invited to develop a new technology, carry out a design task, refine an algorithm or help capture, systematize or analyze large amounts of data.
Although it has had some success I wonder can it work for developing large, complex applications like many of the financial applications I work on for a living. I can see it working for fairly generic applications (e.g. many webapps), but complexity takes a lot of managing. Many of the finance companies would also be reluctant to make requirements publicly available, exposing their intellectual property to their competitors.
However, a large chunk of any application is plumbing code. This article on crowdsourcing demonstrates how one company opened up about half of an application to crowdsourcing and is committed to do th rest of the integration work:
In Baltimore-based Constellation Energy's case, the $19.3 billion energy company didn't stage a completely open call; rather, it worked with TopCoder , a Connecticut-based company that stages regular coding competitions, ranks developers who compete and then makes this talent available to businesses that need systems built, also through a competition-based model. TopCoder currently has about 130,000 members from more than 200 countries.
A TopCoder project manager assessed the needs of Constellation Energy's commodities group, broke up the system design into dozens of small components and released about half of those component requirements to member developers, who could send in their best coding effort. (Constellation decided to build some of the components in-house.)
Submissions -- which continue to roll in -- are rated using a standardized scorecard, and winners are rewarded anywhere from $500 to close to $2,000. When all the components are complete, TopCoder will work with Constellation to integrate them into a functional system.
It will be interesting to see how this project turns out.
I had a client a couple of years ago that was not happy with the quality of code coming back from an outsourcing vendor and had the idea that he would set up a team in NY to integrate (and fix!) code coming back from this vendor, but I don't see why this integration team couldn't integrate the best code from a few competing vendors!
Google Mobile Maps pin points your location without GPS
Google continues to innovate. Last week they released an update to their Google Maps for mobile suite with an application called "My Location", a technology which uses cell tower ID information to provide users with their approximate location. Good for people with ancient cell phones sans GPS like me! (video explanation here)
Subscribe to:
Posts (Atom)