September 27, 2006
@ 12:37 PM

 For several years I have been wondering if something like what is described in this article will happen. Why do big relational databases have such a tight grip on business software architecture?

One of the most dramatic changes in the enterprise software market is coming to a database near you. This revolution heralds a shift to a mix of options that include open source databases, in-memory databases, and turnkey database/hardware bundles, among others.

Another thing not mentioned in the article is the rise in popularity of "in-process" databases: Oracle buying Sleepy Cat, Microsoft's SQL Everywhere, etc. I think there is a big gap for things like this - when you still need something like reporting but don't need a huge database with it's installation and licensing hassles.

Source: The Coming Database Revolution
Originally published on Wed, 27 Sep 2006 11:43:07 GMT


 
Categories: database

Scott Hanselman brings to our attention: 

It's getting very hard to email folks in Zim lately...here's why:

"Zimbabwe's international satellite link has been cut off after the national telephone company failed to pay a $710 000 (about R5,4-million) debt in a move that experts warn could spell the collapse of the Internet in the country.

Some of the comments mention the fact that the leader of the country (Robert Mugabe, a dictator) probably benefits from the lack of internet access for citizens.

While I disagree with this (I don't think anybody benefits from lack of communications - even dictators) the fact that the debt owed by the national telephone company is equivalent to about 4 minutes of Iraq war costs makes my skin crawl. Why should a whole country get cut off from the modern world for such (relatively) small sum of money? At what point do we start to realize that loss of connectivity is equivalent to a natural disaster, and some help is needed? If someone cut off our internet access, we'd consider it an act of terrorism.

Maybe we can have a 4 minute cease fire in Iraq and get these folks back online. What do you say, "insurgents"?

Source: The Internet in Zimbabwe is collapsing
Originally published on Fri, 22 Sep 2006 09:27:47 GMT


 
Categories: politics

September 25, 2006
@ 05:26 AM

Exciting! For Me: Now I don't need to use my own SQL Everywhere dialect, and I can use NHibernate with legacy systems that require me to use stored procs. I like built-in generics support too - remembering to add Ayende's NHibernate.Generics was just one more thing to remember. Can't wait till this is done with beta.

Source: NHibernate 1.2 Beta1 Released!
Originally published on Mon, 25 Sep 2006 12:32:06 GMT


 
Categories: database | library | tool

Roy Osherove (ISerializable) has a post discussing using MbUnit vs. NUnit. I was a big fan of MbUnit when I first discovered it. The problem I found, almost exactly as Roy describes it, is that nobody has heard of it, and just getting people to use NUnit is pain enough.

The thing that NUnit really has going for it is that it's so simple. You can literally explain how to use it in a minute. It's only after a few days of serious use that people start to ask questions that MbUnit answers.

If I was fully in control of a project I was on, or I was developing something by myself, I would use MbUnit. In all other situations, I try to avoid the "yet-another-weird-library-from-Chris" syndrome and stick with NUnit.

This makes me sad, because I believe that you should always use the best tool for the job, not settle on something just because you are too lazy to explain something you know is superior. 

Why are people so afraid of new tools?

How can you improve if you never try anything better?

Link to ISerializable - Roy Osherove's Blog : MbUnit vs. NUnit Vs. Team System Unit Testing - Choosing a unit test framework

Currently listening to Tracy by Mogwai from the album Young Team


 
Categories: tdd | tool

September 24, 2006
@ 10:52 PM

It's been a while since I tried the latest RC/Beta build of TestDriven.NET, one of my favorite tools ever. I read Jamie Cansdale's (the developer) weblog, so am aware of the features constantly being added, but I was still using a much older version, and hadn't tried any of the new features.

Since TestDriven.NET has become an essential part of my development process, I decided I really needed to buy a real license. A check I was waiting on just cleared, so I bought it this evening.

It's extremely pleasant to see a bunch of features now in TestDriven.NET that I had always wanted:

  • Repeat Last Test Run: == New Hot Key. How many times I have jumped down into some code for a failing test, then spent 20 seconds finding my way back from some change (why hadn't I dropped a code rush marker! doh!). This rocks and is a tremendous time saver.
  • Unhandled Exceptions don't end the test process. This is the thing that reminded me to download it. I have some code that calls an unmanaged C++ library that one of my tests was crashing, sort of on purpose. Now I will get better information about this than the usual "existing connection broken."
  • 64-bit Support: I didn't know this was missing until after installing 64-bit XP last year, just before a presentation (doh!)
  • Can Use MSBee Targets to Build: Awesome. We still have several projects that we need to compile in 1.1 and we often find one or two tests in a big suite that fail mysteriously on the build server, after being build for 1.1. Not to mention it will be easier to verify the 1.1 build works without running MSBuild manually.

Awesome stuff!

Link to TestDriven.NET > Home


 
Categories: tdd | tool

September 20, 2006
@ 08:37 PM

One of the podcasts I listen to on the way to and from work is, "A Way With Words" - it's fun to listen (yeah, that's right, a show about English is fun to listen to) and I think listening to it got me about 20 points on the GRE (when I was preparing to take it, I had been listening to AWWW for about 2 months.)

One thing that I've always thought was really odd was the large percentage (I'd say 50%) of their call in listeners from Wisconsin. Some callers are kind of over the top with their criticism of other's grammar, but the Wisconsin folk usually have really interesting questions that they've been thinking about for a long, long time.

AWWW is a fun show and you should check it out if you've got the time. I learn at least 5 things every time I listen.


 
Categories: bs

September 20, 2006
@ 12:47 PM

Oops! I thought this post meant WiX was going to be _in_ VS 200next, but apparently I was wrong: 

In my previous blog entry, I mentioned that Visual Studio was adopting the WiX toolset. Despite the fact that Derek was leaving, that post generated a bit of excitement. I even had a couple people contact me directly about the prospect that Visual Studio would be shipping WiX v3.

Unfortunately, when I said "the Visual Studio team approached the core WiX development team about replacing their custom MSI build system with the WiX toolset" I meant that Visual Studio would be using WiX to create the MSI file for Visual Studio. As far as I know, there are currently no plans to replace the "Setup Projects" (.vdproj) in Orcas with the WiX toolset. If they are, Visual Studio certainly haven't told me about it.

However, since a few people found the idea of replacing the .vdproj with WiX v3 so enticing, I'd like to do an informal poll. Please, leave a comment below if you have an opinion on whether Visual Studio should replace the current "Setup Projects" (.vdproj) with WiX v3. I'll be sure to point the guys I know on the Visual Studio team to the results.

Already lots of comments to that on Rob's weblog. I am actually kind of curious why they haven't done this already. I've never met a developer that was attached to vdproj's.

Source: WiX in Visual Studio
Originally published on Mon, 18 Sep 2006 23:40:17 GMT


 
Categories: tool

September 16, 2006
@ 01:24 PM

I recently had a little time to watch something on the idiot box, and after reading Charles Petzold's post about "The Wire", I had to take a look:

The Wire is ostensibly a Baltimore cop show. (David Simon, who created the series, wrote the book A Year on the Killing Streets that inspired the series Homicide.) The title refers to the electronic surveillance that often plays a part in the criminal investigations. Although many of the plot lines involve the Baltimore drug trade, the series has become progressively more ambitious: The second season of The Wire went into the Baltimore docks, and third season investigated the halls of Baltimore political power. For the fourth season, the series is going into the Baltimore public schools.

What's remarkable about The Wire is the depth and breadth of its characters. Besides the cops, we become familiar with a wide range of Baltimore citizens, from street kids and homeless drug addicts, right up to the Mayor and those who want to dethrone him. Nobody emerges as much of a hero or as a devil. Many of the the cops are seriously flawed human beings, and even the cold-blooded killers are imbued with a humanity rare in film or television.

The writing and ensemble acting would be enough to recommend The Wire, but it is also a raw and uncomprising look at America's underclass, and an indictment of the politics and economics that have led to such widespread poverty and despair. So many "serious" TV series are little more than comic books. (24 readily comes to mind.) The Wire is more real than is often comfortable.

The Wire has the reputation of being hard to follow, and that's a fair criticism. It certainly demands some focus and concentration, but is well worth the effort.

Sold.

I watched the first season over the past week and was riveted to my seat. I agree that the level of realism really separates this from other shows on mainstream television (although I pretty much never watch anything but about 10 minutes of CNN a week and the occasional documentary as I am drifting off to sleep.)

I can't wait to see season two, but it has to wait while I finish some other more pressing things.

Source: “The Wire” 4th Season
Originally published on Fri, 08 Sep 2006 14:00:00 GMT


 
Categories: bs

September 16, 2006
@ 08:39 AM

In an otherwise kind of sad post about an important WiX developer leaving Microsoft, Rob Menshing mentioned that the Visual Studio team will replace their custom MSI building thing (whatever builds vdproj's) with WiX.  

Also in 2005, the Visual Studio team approached the core WiX development team about replacing their custom MSI build system with the WiX toolset. Derek was at every meeting with me. Together we answered their questions, discussed timelines and feature requests and ultimately convinced the Visual Studio team to bet on WiX v3 for their next release of Visual Studio. Without Derek's experiences integrating WiX into Office, I'm not sure we could have convinced Visual Studio to pick up the WiX toolset.

Then in 2006, Derek did even more of the work to get the SQL Server team moved to the WiX v3 toolset. Thanks to Derek's efforts, I expect by late 2007 the standard MSI creation technology at Microsoft will be the WiX v3 toolset. So, I hope you can see now why I considered handing over leadership responsibility of the WiX toolset to Derek Cicerone. He had certainly earned it, had he wanted it...

It sucks that WiX lost an important contributor, but it sure is about time Microsoft replaced vdproj's. WiX is a really awesome and powerful tool.

Source: Bittersweet change, Derek Cicerone leaves WiX.
Originally published on Sat, 16 Sep 2006 02:13:02 GMT


 
Categories: tool

September 16, 2006
@ 07:36 AM

My kind of tool - a tool for keeping your tools up to date. 

Source: Interesting Finds: September 15, 2006
Originally published on Fri, 15 Sep 2006 19:59:00 GMT


 
Categories: tool

September 13, 2006
@ 04:41 PM

I was looking for answers to my sql/e question today (still nothing) and found the team blog for the sql/e team. One cool bit I found there was the "|DataDirectory|" syntax (scroll down a bit) for specifying the location of your data file. I don't know how (if?) I would have ever found that in the documentation. MSDN Blogs rule.


 
Categories: database | sqle

Last week I saw this useful set of sample scripts for admin tasks. This morning I finally got to review it.

I like this kind of stuff because I rarely have time to learn admin skillz, yet, as a developer, I need to use them for trouble-shooting and keeping our development environment in order.

To bad these weren't in PSH.

Source: STUFF YOU CAN USE!! Finger Saving Good – No Touch Administration
Originally published on Fri, 08 Sep 2006 17:37:00 GMT


 
Categories: tool | admin | scripting

September 13, 2006
@ 04:51 AM

I had to read this post by Secret Geek about a cool library called "File Helpers" - the title itself hits a sore point for me. I am guilty of rolling my own CSV Parser. I waffle between, "I should just use the Jet Text Driver - they worked through all the CSV issues long ago", and "Gee...the JET text driver doesn't even do [insert some special edge case] right? Well, I guess I'm not using that!"

The JET CSV driver shows it's age in other ways too. I can't imagine it will be supported much longer. Why doesn't .NET have better CSV support built in? It's disturbing the number of times I've had to deal with CSV files since moving to .NET. I'm getting creeped out just thinking about it.

The last time I had to deal with CSV files (2 months ago), I found a really nice regular expression that looked pretty bulletproof. I wrote about 40 or 50 unit tests for all the edge cases I could think of in about 2 hours, and felt pretty good about it.

Too bad I didn't know about File Helpers before. I now feel the urge to go and change a whole bunch of code. Thanks, secretGeek!

Source: Stop Rolling Your Own CSV Parser!
Originally published on Wed, 13 Sep 2006 01:16:35 GMT


 
Categories: tool | library

I've got to admit that the first time I hear about Extension Methods, there was something I didn't like about them. It was my linguistics class earlier this year, that actually helped me get over my initial trepidation - extension methods are a grammar change, not a change to semantics. Encapsulation and information hiding still works. With extension methods, you are just changing the word order form Method-Argument to Argument-Method.

Anyway, Scott Bellware posted on using extension methods to implement a specification language:

With RSpec in Ruby, I could code a specification (test) that looks like:

user.username.should_equal "username"

With NSpec in C# 2.0, I would code the same specification as:

Specify.That(user.Username).ShouldEqual("username")

With C# 3.0, using an extension method created specifically for NSpec, the same specification could be coded as:

user.Username.ShouldEqual("username")

Just to be clear, the Username property in C# is an instance of System.String.  The extension method doesn't really add new behaviors to the String class directly, but it does allow for an arguably better DSL for NSpec by making use of this new feature in the C# 3.0 compiler.

This is one of the cooler examples of how one could use extension methods to make code more readable. I really dig this and can't wait for C# 3.0.

Source: A Ruby-like Mixin for NSpec Using C# 3.0 Extension Methods
Originally published on Wed, 13 Sep 2006 05:29:00 GMT


 
Categories: tdd | linq

September 13, 2006
@ 04:24 AM

Another creepy Bush interview. I don't agree with a lot of things Bush, but the desperation I am seeing really creeps me out at some subconscious level. I have this feeling like, "what else is in there, that you're not saying, that has you so scared?"

In this interview president Bush is visible upset by the questions about torture.

Source: Bush Questioned on Torture
Originally published on Tue, 12 Sep 2006 02:16:00 GMT


 
Categories: politics

September 12, 2006
@ 06:13 PM

There has been a lot of discussion recently about some posts Joel Spolsky made on his weblog over the past few weeks.

As for the Wasabi stuff (FogBugz being developed in a custom language called Wasabi), Coding Horror says:

Writing your own language is absolutely beyond the pale. It's a toxic decision that is so completely at odds with Joel's previous excellent and sane advice on software development that people literally thought he was joking. He had to write an entire follow-up post to explain that, no, he wasn't kidding.

I kind of agree with this statement, but I think this is a gray area, and Joel is just the other side of gray from me and most developers.

Lots of people write applications that may as well be in their own custom programming language.

If you:

  • Have more than 100 lines of XML in a config file
  • Write code that does reflection based on the contents of strings it got somewhere (config file, database - like DataBinder.Eval, or DataView.RowFilter, if you're a .NET developer)
  • Write code that doesn't closely follow the business model you are working in (ex. you have classes named like "SessionEntityLayerManager" in an application that helps people sell used cars)

...then you have written an application in a custom programming language.

Never mind the semi-colons, curly braces, case sensitivity - that stuff is irrelevant. If I don't know what a SessionEntityLayerManager is, I don't know your language. If I have to look at a .config file to figure out what a program does, then the program must be in the config file. Guess what - "your config schema" isn't one of the programming languages listed on my resume. I will have to learn it to understand your program.

I bet Wasabi is actually almost the same as vb script, just with different keywords for doing loops or recursion or something like that. Macros. If Joel's team had implemented anonymous delegates or something functionally equivalent in VB Script, VB, C++, whatever, and put it in a method called "Fazooble" it would be more confusing than what Wasabi probably looks like. I can imagine what it would look like to put anonymous delegates in vb script. I would probably be able to guess what it did - it would be symbolic! I can't imagine what "Fazooble" does.

Wasabi is probably more like a code generator than lisp.

I think in the future, as more and more advances are made in topics like DSLs and light-weight scripting languages, we will see more and more people developing in things that kind of look like Wasabi. Or maybe not. Maybe DSLs are a fad. Who knows?

Source: Has Joel Spolsky Jumped the Shark?
Originally published on Tue, 12 Sep 2006 07:59:59 GMT


 
Categories: bs

September 12, 2006
@ 02:21 PM

I took some time off to watch this morning. It's sooo awesome to see Scott Hanselman use windows at 1.8x speed. I learned about 5 things about tools I thought I knew everything about. Pretty cool! 

Source: DNRTV - Sysinternals Tools
Originally published on Mon, 11 Sep 2006 02:16:38 GMT


 
Categories: links | tool | 411

September 11, 2006
@ 01:54 PM

I just recently started using my own build of Castle.*, built with PDBs and not strong named, so I can step into the source code and understand better how it works.

I find it interesting that before I had PDBs, I could Go To Definition at design time and see the public interface of any Castle.* (or any other really) type - one of my favorite new features in VS2005.

However, now that I have PDBs, I sometimes start debugging as a short cut to go see the source code - the PDBs know where the source code is, but G To Definition doesn't.


 
Categories: bs | tool

In my last post, I tried pasting some images into the body of the post, fully expecting it not to work, and to have to cut over and FTP the images up.

When I went to post, it whined, then asked me if I wanted to set up an ftp account for posting images. I did. I tried to post again, and hello, there are my images.

Windows Live Writer rocks!


 
Categories: tool

I always kind of wondered how this checkbox in task manager works:

Today, while checking to see if I left Image File Execution Options\Debugger on for some program that is broken on my machine, I noticed this:

Now I know.


 
Categories: tool | debugging

September 10, 2006
@ 06:19 PM

This weblog post argues that IoC should be used in moderation, and for purposes of unit testing in particular can be replaced with reflection - i.e., instead of expressing your class's dependencies in constructor arguments or properties for the IoC container to fill, express them through private variables, make them self fulfilling ("private _myThing = new Thing();") and use reflection to change their values during unit testing.

I am just starting to get serious mileage out of IoC, Castle.Windsor in particular, and also the ObjectBuilder stuff in CAB. I am really liking this style of programming, and really do notice an improvement in how easy it is to set up unit tests and keep dependencies under control.

In a way, I recently moved to IoC - that's why I like to have all my unit tests in-class. Using reflection to set dependencies in fields in an object under test is way more cumbersome and error prone than Mocking some interfaces and passing them to the constructor, or implementing the interfaces with some test classes, and using those (both of which I have to assume you were doing anyway - I know I was.)

I don't like the having-important-code-in-XML part, but the containers I have used so far have not been overly complicated. It's a small price to pay for the structure and modularity it lends you applications.

Source: Getting rid of IoC
Originally published on Sun, 10 Sep 2006 22:55:34 GMT


 
Categories: design | patterns

September 10, 2006
@ 12:04 PM

c2.com has a wiki page with weird developer dreams.

I have this one weird developer dream that I have been trying to explain for years. I have told various people parts of it, but never really figured the whole thing out. I will try and keep this short.

Basic Theme: Information Encoded in Beer.

Background: As many of my friends know, I am a home brewer (ale). There are lots of chemical processes that occur in the production of ale. My interest in information science often makes me consciously wonder how much information could be encoded in a batch of beer.

I've had this dream, or some variation of it, maybe 10~20 times since I was in my early twenties (when it probably first occurred - maybe 10~12 years ago). It usually happens when I am very busy and near my breaking point at work.

The Dream: In the dream, I am writing/testing/debugging code, but instead of the source code / data / data base / network I/O being on a hard disk / ethernet, the information is stored/transferred via beer that I am also brewing at the same time: programming and brewing are one activity in this dream.

During the dream, I do things like set a breakpoint to just before I pitch yeast, so I can see what I am doing wrong in that step. In the debugger, I can see exact measurements of amounts of liquids, exact chemical (and germ) contents of things, etc., in the watch window. I even remember going to look in the beer to find the temporary .cs file generated by the XML Serializer.

In the memory window, I can scroll through the batch of beer to see exactly what's in there. Each "cell"/molecule is a memory location. This part is kind of abstract. Some of the materials in beer making (yeast, bacteria) are living things, which you work with at the cellular level, whereas others (maltose, water, cleaning agents, starch, enzymes) are molecules.

What the Heck Does That Mean? Who knows. I certainly don't. I think it's a neat idea - information encoded in beer.

During real brewing, measurements are a source of frustration for me. You can follow the steps you have learned, but you can't tell exactly how clean something is, how much protein sediment is left after a stage, or various other things it would be nice to measure. Some things you could measure, but you would risk contamination. Some things, it would just be impractical to measure. This may also be what I find so appealing about brewing - you can't use measurement and science to control everything - somethings you just have to know and do.

Source: Weird Developer Dreams
Originally published on Sun, 10 Sep 2006 16:51:58 GMT


 
Categories: CrazyIdea | humor

September 8, 2006
@ 06:22 AM

I mentioned this video to my sister when she was here last week for Allie's birthday, so wanted to link to it. It's pretty disgraceful that not only do we have all these lies, but the president can't even keep them straight. No wonder 43% of the public still think Saddam had something to do with 9/11

Brian Williams Interviews a pretty incoherent Bush


 
Categories: humor | politics

I mentioned recently that I am trying to use SQL/E as an embedded database for unit testing my applications. Aside from the less than I was hoping for performance boost, I have so far only run into one problem, detailed in the below newsgroup post. Basically, it seems as if there is a limit to the number of parameters you can add to a query with sql/e.

If I find out that this isn't the problem, though, this will be the most extensive test I've done yet. This is a huge database, and I am trying to build up then modify a 30 day snapshot of just the data that I need - easily several GB -  so I can verify that my application draws the right conclusions and shows the right answers from data designed to hit all edge cases.

I am noticing more and more interest building in using embedded databases, not just for testing purposes, such as this post. I kind of hope this becomes a trend, because there are a lot of great applications for embedded databases, where most developers would be stuck in the mindset of having to use a database as a remote service.

Link to Limit on # SqlCeParameters in a SqlCeCommand in sqlserver.ce


 
Categories: sqle

September 8, 2006
@ 05:48 AM

NOTE: A few weeks ago I expressed interest in doing a meta-link blog - a link blog of the best of link blogs I read. I got busy and never got around to doing it. What I really wanted to do is mark up/tag other links I liked for my friends. It is much easier to that with Windows Live Writer and the blog this plugin for RSS Bandit, so that is what I am doing here. I've taken some links from Jason Haley's Interesting Finds, and highlighted the ones I want to show my friends.

Interesting article on how to do brain dumps as part of a GTD process: 

punkey - Do a braindump and feel relief

As nemerle and boo are to future C#, I hope mbunit is to future NUnit (i.e. try out cool ideas on a more experiment-friendly crowd, then migrate them to wider audience)

James Avery - I have seen the light and it is called MbUnit
 

Source: Intersting Finds: September 7, 2006
Originally published on Thu, 07 Sep 2006 19:23:00 GMT


 
Categories: links

September 8, 2006
@ 05:32 AM

Ayende mentions the problems he ran into trying to code in Hebrew, and that: 

For some reason Visual Studio is working a lot harder when I write code in Hebrew.

Sometimes, projects I am working on need to display other currency symbols, such as Korean Won (₩, check out this page for details about currency symbols). Visual Studio will switch my source code file to Unicode (after prompting me to make sure it's OK) and after that everything gets real slow whenever I have that file open.

Another thing this reminds me of is, in the late 90's, I remember seeing a localized version of VB in traditional Chinese. Not only was the UI localized - menus, buttons, etc. in the IDE - but you could use Chinese characters for variable names, type names, etc., and I think there was even an option to do keywords in Chinese as well. Someday, I am going to try to find out more about that, because there are certain philosophical questions that raises. 

Source: Why you can't code in Hebrew...
Originally published on Fri, 08 Sep 2006 12:10:06 GMT


 
Categories: i18n

...and finally, this entry is via the RSS Bandit plugin (mentioned below) and Windows Live Writer. It was a little hard to get it unpacked - I had trouble decompressing the binary distribution, but the source distribution worked fine and even had binaries in it - but other than that, it was totally simple.

This is going to make it really easy to post things really quickly. I hope the image below shows up - that has always been one of the hassles with posting in the builtin editor in dasBlog. [fingers crossed] 

I just got an email from J.J. Allaire pointing me to the blog post on the Windows Live Writer plugins blog entitled Windows Live Writer Blog This for RSS Bandit which states

And now comes Blog This for RSS Bandit.

RSS Bandit is a popular feed reader (what are feeds?) which by default can Blog This with w.bloggar (a desktop blogging client) and post to del.icio.us.

1

Installation is simple albeit manual. Extract the file, highlight the files, then copy and paste them into the RSS Bandit plugins folder: not into the Windows Live Writer plugin folder.

Start RSS Bandit. See something you would like to write about? Right-click on the headline and choose BlogThis using Windows Live Writer.

Windows Live Writer launches with the Select Destination Weblog window where you select which blog to post to. Once selected it takes a moment or two and then there is your screen with the text from the feed’s post:

I just wrote about wanting to write this plugin a few hours ago. I'll probably still write one on my own and replace the w.bloggar plugin in the default install of RSS Bandit with a Windows Live Writer plugin. Perhaps even an installer for existing users who don't want to wait until the next version of RSS Bandit to get this feature? 

Source: Windows Live Writer & RSS Bandit Together at Last
Originally published on Fri, 08 Sep 2006 00:57:08 GMT


 
Categories: tool

September 8, 2006
@ 05:03 AM

...and a post from the "blog this in live writer" firefox plugin. Worked great.

Check out these free Borland IDEs. I am thinking about learning Delphi.NET just for fun - I've always wanted to learn Delphi since working with a bunch of Delphi programmers at NEC back in the day. 

Link to Turbo Downloads


 
Categories: tool

September 8, 2006
@ 05:00 AM

This is my first test post from Live Writer. So far so good.


 
Categories: tool