Should LINQ End SubSonic (and Other DAL Tools)?

SubSonicFirst, I’d like to say that SubSonic is really really awesome. I just know SubSonic for three or four months, but I already created some new projects and converted some old ones with SubSonic. And they were commercial projects.

Compared to SubSonic, all other DAL tools look “awful”. I’ve been using plain old ADO.NET, NetTiers, NHibernate, and even created my own DAL tool. But once I use SubSonic, I suddenly have more time to date, play games, watch movies, and do other fun things.

Regarding LINQ, this stuff is simply great. It is not just yet another DAL tool. It even extends the language with querying capabilities, not just to DB but almost everything. I just had the chance to play with it yesterday—although I have read about it for a long time—, and I was very impressed. If only Microsoft had created it earlier.

Yes, LINQ currently only supports SQL Server, but this is really just a matter of time. Soon more providers will emerge surely.

Having the advantages of being provided out of the box with .NET Framework 3.5, the cool query keywords built-in the languages, as well as the capability to query beyond database, I think it will be extremely hard not to pick LINQ over other DAL tools.

So, for pure DAL tools out there, I guess this is the end. But for SubSonic, I don’t consider SubSonic is merely a DAL tool, but a great time saver.

The “convention over configuration” mantra that it brought from the sacred realm of Ruby on Rails simplifies many things. For example, SubSonic will know whether my tables have some auditing fields (i.e., CreatedOn, CreatedBy, ModifiedOn, ModifiedBy) and populate them automatically for me. It knows when to use soft or hard delete by checking if there is a Deleted or IsDeleted field in a table. Did I mention SubSonic has auto scaffolding and the useful utility classes (a.k.a. SubSonic Sugar)? All of them is really a great time saver.

SubSonic spoils me so much I hate to not being able to use it in my projects. I really hope that SubSonic can work hand in hand with LINQ to ease developer’s life much further. The combined strength of language level queries provided by LINQ and the “convention over configuration” mantra and utilities provided by SubSonic will certainly grant developers with a great power to finish projects better and faster.

Interesting Flash and FreeHand Stories

Adobe SystemsAdobe Systems—the well-known software company, creator of Acrobat, Photoshop, Postscript—do not create all their software by themselves. It is true that they create their own flagship products such as Acrobat, Illustrator, Photoshop, and Postscript. But they—like Microsoft—also acquired products from their competitors. Some notable acquisitions include when Adobe took over Aldus Corporation in 1994 to acquire PageMaker—the popular Windows desktop publishing (DTP) software—along with the TIFF file format, and when in 1995 they bought FrameMaker—also a DTP software—from Frame Technologies. The latest and biggest acquisition is in 2005 when Adobe acquired their main rival Macromedia in a stock swap valued at about USD 3.4 billion.

I notice there are at least two interesting stories related to Adobe’s acquisitions.

Adobe FlashThe Flash Story

Flash is a light weight multimedia application suitable for Web and mobile devices. Flash consists of two parts: the authoring tool (Adobe Flash Professional) and the player (Adobe Flash Player).

In case you do not aware, Macromedia was not the first creator of Flash. In fact, Macromedia had Shockwave as their multimedia application for the Web. The problem is Shockwave movies were often slow-to-download with the Internet connections back then. At the mean time, FutureWave—a small software company—had a drawing application product called SmartSketch. As many became aware of the Internet, in 1995 FutureWave decided to add frame-by-frame animation features to SmartSketch and re-released it as FutureSplash Animator for PC and Macintosh, which successfully challenged Shockwave.

FutureSplash Animator was originally offered to Adobe, but Macromedia got it in an acquisition in December 1996. Later, Macromedia released it as Macromedia Flash 1.0. Macromedia continued to develop Flash and their last release was Macromedia Flash 8 in 2005.

As Adobe bought Macromedia, Flash finally fell in Adobe’s hands. Starting from version 9, Flash was rebranded as Adobe Flash and the authoring tool was integrated into Adobe Creative Suite 3 as Adobe Flash CS3.

Adobe FreeHandThe FreeHand Story

FreeHand is a vector graphics drawing program.

Unlike Flash, FreeHand’s story was rather sad. In the beginning, FreeHand was created by Altsys but licensed to Aldus which released versions 1 to 4 under the name Aldus FreeHand. Aldus later was merged with Adobe along with all Aldus’ product lines—including FreeHand. Unfortunately, by that time, Adobe already had their own product serving the same purpose called Adobe Illustrator. Because of the overlapping market, Adobe returned FreeHand to Altsys.

Later, Altsys were bought by Macromedia. Macromedia released versions 5 to 11 of FreeHand with the Macromedia FreeHand brand. Macromedia used the brand Macromedia FreeHand MX to signify version 11. Since 2004, FreeHand didn’t get significant update since Macromedia favored Macromedia Fireworks and chose to leave FreeHand out of their bundled suite called Macromedia Studio 8. Though the intention of the two products were different—i.e. Fireworks for Web, FreeHand not for Web—most of FreeHand features were already incorporated into Fireworks, there were no needs to own both programs.

After Adobe’s acquisition over Macromedia, FreeHand once again returned to Adobe. But FreeHand’s future didn’t seem to brighten up. Adobe Creative Suite only included Illustrator and Fireworks while FreeHand’s users were allowed to upgrade to Adobe Illustrator CS3.


Morale of the story:

We have an idiom in Indonesian language saying: “Kalau Jodoh Tak Kemana”. I don’t have any idea how to say this in English, but it means that if something or someone is destined to be with you, it will return to you at last anyway.

Web Development Resources

Since I have been in Web Development for like forever, I’d like to put some resources I found useful and interesting for my future references. If this can also help you, that’s cool.

Clearing Floats Elegantly

The tutorial will introduce and guide you to clear floating elements. It also deals with browsers’ specific problems.


This allows you to easily embed a chat box anywhere in your Web page. You only need to enter a few properties, such as chat title, font, box size, and color. Then they will provide you with a JavaScript code to put somewhere in your Web page.

CSS for Bar Graphs

A good tutorial to show you how to create bar graphs only with CSS.

CSS for Bar Graphs

Custom Radio (Option) Buttons and Checkboxes

You can customize your radio buttons and checkboxes using this tool.

Custom Radio (Option) Buttons and Checkboxes

Fancy Menu with JavaScript and CSS

A tutorial on creating a very cool menu with JavaScript effect and CSS.

Forms Without Tables

Want to create forms without tables? Take a look at this tutorial.

Forms Without Tables

Light Weight CSS Tabs

Using CSS to create light weight tabs for Web navigation.

Light Weight CSS Tabs

Star Rating

A tutorial on how to create interactive star rating using CSS.

CSS Star Rating

Transparent PNG in Internet Explorer 6 and Older

Prior to Internet Explorer 7 — i.e., IE 6 —, IE cannot render transparent PNG images correctly. Fortunately we can resolve the problem pretty easily using JavaScript. Find the JavaScript code and tutorial on how to use it in the above link.

Next, I’ll put some resources related to SharePoint.

not the last of his kind