My new blog link is http://triplez.mine.nu/blog. Please update your links and syndications. Now I personally own this blog and all the contents of it, instead of it being hosted somewhere else. My gallery is at http://triplez.mine.nu/gallery.

I'm here currently at the National Library, and the stupid guard outside the reference section on the 7th floor does not allow me to go in with my bags. He told me to put my bags in the lockers, but apparently there aren't any lockers available left to put in my bags, but he still insist I can't go in.

Since when did the National Library not allow people to go into their premises, and take things inside? They have sensors and scanners at the door to detect whether you have removed a book outside the library or not.

And furthermore, if they wanted people to put their things in the lockers, they first must provide enough lockers. They only provided a small corner with less than 30 lockers to go around for everyone. How do they expect us to put our things inside?

Denying entry to a library is one of the most ridiculous thing I've every heard of, and even when I told the guard that there wasn't any more lockers, and my bag has nothing of any concern (what, Singapore scared of a bomb threat again in the library? Who wants to burn books? Terrorist?) that will be dangerous, or will I even take any book out from the library. And even if I did take a book out of the library, scanners will set off the alarms and I won't even be able to leave.

So, why would this stupid guard disallow me to go into the library? And even turning down not only me, but many people out of the library. Is this what they call a National Library, where it's supposed to be for the public? We as the public pay tax to build this library, and why should we be denied of this Library?

I would like to extend my appreciation and thanks to everyone who has helped out with TechEd 2005, making the SgDotNet community booth a success.

In particular, Justin Ng aka Jieke who has consistently helped out in many of our events and activities. He has helped me with organising the booth, and the logistical stuff for the SgDotNet booth. Thank you!

I would also like to thank Stephen H. Wissel aka stw for helping me brainstorm for what to do for the 3 days. He has also helped to print our fantastic looking banner and 2 small posters that you'll see in the photos we took at TechEd. Thank you!

These 2 has helped me greatly and also volunteered their time and effort to look after the booth, and promote SgDotNet.

I would also like to thank Alan Andrews for looking after the booth for that short while, and also making TechEd 2005 such a fun place to be in.

I would also like to thank Mary Lee who personally helped to get the big A1 size poster printed, that filled up the center of the booth nicely. She was the one who gave the idea, and helped rushed it out to get it printed, else we won't have such a fantastic looking booth.

I would also like to thank Alvin Lau aka microlau again for printing the brochures and getting ready the flyers for the Joint User Group meeting, and other forms that was printed.

I would also like to thank Kit Kai aka kitkai for allowing us to store our Polo-Ts in his office.

And to the INETA, I would like to thank Shanjay Shetty, Fuu Jin (sorry if I got your name wrong), Weehyong, and everyone at the INETA booth who helped promote SgDotNet and create awareness of the user group, and also provided INETA t-shirts for the members of SgDotNet. Thank you!

During TechEd 2005 Asia, we have achieved our goals of creating awareness for the SgDotNet User Group, and had up to around 200 or more registered users for the past 3 days. Congratulations and let's give all of them our appreciation and thanks.

I would also like to thank Alvin Lau aka microlau for making the Joint User Group meeting on Thursday a success, with a turn out of about 420 people in total (SgDotNet, Sql Server UG, Sg Windows UG, MSDN Connection), out of which about 120 of our own members turned up, during which we had about 80 who signed up during TechEd.

For that Joint User Group, it won't have been a success without the help of Shunjie aka shunjie, Lawrence aka Cyprus Crypt (I hope I got your alias correct) and also Justin Ng aka Jieke whom all 5 of us (including Alvin and myself) helped out with the registration of the Joint User Group meeting. It was really busy with a lot of our members and new members queuing up to go in, but we made it happen! Thank you everyone.

I would also like to thank Sql Server User Group and Singapore Windows User Group, especially Suhkdev Singh and Dennis Chung for making the Joint User Group meeting happen, and planning for it, and also making it a successful meeting.

I would also like to thank William aka softwaremaker for coming up with the idea and help organise this Joint User Group meeting.

Last but not least, I would like to thank the Microsoft people for helping make the Joint User Group meeting work out, especially Rashish and Beng Cheong who helped greatly in making this Joint User Group meeting a success. Thanks!

I would also like to especially thank Howard Lo and Li Lian Quek for helping the user group in every way they can, even though it might be out of their job scope. Thank you very much.

I would like to thank Andrew for rushing the orders of the Polo-T to make it available during TechEd, and Wendy for spending the whole day rushing out the designs for the banners and posters.

And lastly, I would like to thank ALL OF YOU for making SgDotNet such a wonderful community to be in, and I really hope SgDotNet will continue its purpose as a community of passionate professionals that shares knowledge and learn new technologies together!

An Easy Method for Installing Haiku
Got some spare time and an itch to try out the latest Haiku snapshot? Karl writes in with an easy install method for anyone wanting to try Haiku, using a BeOS Max Live CD.

The Pixel Pickle: Alternatives to the pixelated UI universe
Here's a pretty good article on web design and pixels we're all familiar with. And it offers some great tips on web design, which I think web designers should take note of.

You've heard of Managed Code, now bringing that idea into the OS itself. What will happen? In the research project from Microsoft, Singularity is just that exact OS that's trying it out.

"Singularity is a research project focused on the construction of dependable systems through innovation in the areas of systems, languages, and tools. We are building a research operating system prototype (called Singularity), extending programming languages, and developing new techniques and tools for specifying and verifying program behavior."

And there's an video clip about Singularity on Channel 9

Yellow Tab Zeta 1.0 Review from arstechnica
A fantastic and comprehensive review on Zeta 1.0, covering from history all the way to performance. Ultimately, I love BeOS, and always have. :) But from my point of view of the new Zeta 1.0, there is alot of improvement with regards to support(common stuff like mp3, dvd playing, etc etc) but nothing innovative or excitingly new with the OS itself which is kind of a let down, but that's to be expected anyway.

Oh and yes, did I mention that Haiku OS will be slated to release end of this year? Exciting! :)

csourcesearch.net
"After over a year of work, my C++ Source Code Search website is finally live! It allows you to search over 107 million lines of open source C/C++ code and it actually understands the C/C++ syntax thus giving better results. I'm currently adding 2 to 3 million lines of new code per day."

For those who works on open source projects, this is a pretty good site to search for some codes you need out of open source. Pretty cool work I'd say!

Recipes
Recipes are the core automation "engine" that automates the development activies of developers that they perform manually.

Actions
Actions are a series of instructions/steps in a Recipe to simplify complex or repetitive tasks. A recipe can contain multiple simple actions to do more complex tasks.

Wizards
Wizards are value gathering strategies to gather values of recipe arguments.

Templates
Templates are xml file stating the configuration of the solution/project/items. These can include Recipes to add a more integrated experience with working on the IDE.

T3
T3 (Text Template Transformation) is used to expand text templates written in any language (C# or VB). It uses scriptlets to generate code of the class. It's similar to CodeSmith.

I guess those are some of the core terminology in GAT. If there are some terminologies that I've written up but didn't explain here, please post a comment and I'll add it.

First up, what is EnvDTE? It's actually called Environment Developer Tools Extensibility. It's basically a namespace where you have your DTE which is your Object Model for your Visual Studio .NET Environment. So what has EnvDTE got to do with GAT? A lot.

GAT is the future of Enterprise Templates, but who actually uses Enterprise Templates? Very few. One of the reasons why is that it takes a lot of effort to create one. GAT on the other hand, XML-ize almost everything, and makes it easier to create extensions to your visual studio environment.

So, when writing your actions which manipulates your visual studio environment, you still need to create a DTE, and interface with it. But GAT simplifies the process of creating a wizard for Visual Studio .NET by having a Wizard tag within your recipe. This allows you to create standard look-and-feel wizards and easily create new pages and wizard forms easily. But of course, you'll still need to write some code and use the DTE object for custom wizard controls. It does not hide the difficulty of using DTE, but it still does to a certain extend.

And with that saying, I've been trying out the DTE objects, and trying to extend Visual Studio .NET, and it's really difficult to understand, from a C# point of view, because the DTE in the .NET environment is a COM wrapper, and you guys that dealing with wrappers aren't all that easy. But still, it's pretty extensible.

I've always been wondering about AJAX and its role in creating rich-client interfaces withinthe web. It has always been client-side scripting, using javascript to create rich client-side experience. But with AJAX, you're able to bring these client-side scripting logic back to the server.

Is it really worth the extra XML-over-HTTP round-about when javascript can solve right now?

Why would people want to use the server-side to do the client-side scripting logic instead?
I think it's usually because it's easier to handle logic on the client-side server-side, with better language features on the server-side. But is it really worth it? I think it's still is the problem of JavaScript itself. The language itself needs to be revamped and updated to support better language features to interface with the DOM. Creating a new client-side script which easily talks to the server-side using AJAX, and easily uses and manipulate server-side generated html (DOM) would be needed.

What do you guys think?

 

Guidance Automation is a wonderful idea, with great XML schemas and all. What is lacking is the tools for GAT itself, and tools to create a guidance package. Currently, it takes just as much time to create a guidance package as writing a guidance documentation or even more time, and it's really not worth the effort. But this is the wondeful thing about Software Factories. You can create a factory to create new factories. Here's what improvements should be done for GAT, and creating guidance packages.

  1. A more comprehensive guidance package solution to create a guidance package.
    1. A recipe is needed to create new solution templates from existing or skeleton projects.
    2. A recipe is needed to create new project templates from existing or skeleton projects.
  2. A DSL to easily create new recipes, actions, convertors, solution templates, code templates, etc, in a graphical form.
    1. A way to configure the XML templates, recipes, etc. easily, maybe using DSL properties.
  3. An easier way to write new actions, or more pre-made actions needs to be packaged together with GAT.
    1. Pre-made actions would include the common actions we already use within Visual Studio.
  4. A way to convert existing patterns/codes/schemas into a Guidance Package.
    1. This is much lacking and much needed in order for Software Factories Methodology to take off. The entire purpose of a factory is to create a factory out of an existing solution so as to reuse what you've already done in the previous project and easily punch out project skeletons and configurations. Right now it takes just as much time creating a factory as to creating an application. Who wants to take so much time just to "factory"-ize your application?
    2. Convert existing diagrams (DSL) into reuseable and reconfigurable systems templates. I think this is a must. When you've created a system diagrams (including your application diagrams and logical diagrams), you want to reuse this diagram to re-create another application based on this already created system. For Guidance Packaging, you should be able to take an exiting system, formalize it into a Guidance, automate the process of configuring the system BASED on the system diagram, and punch out your entire system WITH the guidance automation extension (GAX) functionalities

Those are some of the ideas I can come up with that GAT definitely needs to improve on. I think Software Factory is an emerging methodology, and it will take a lot of time for them to refactor their tools and come up with a more comprehensive and easier tools to create factories faster. Right now it takes just as much time to "factory"-ize your solution as to creating your solution. You must cut down this time issue, and ease of use in order for Software Factories to succeed.

My stand has always been - "With great methologies, ideas, frameworks, etc., you'll always need the tools to facilitate the ease of use to these new methologies, ideas, frameworks, etc."

I'm going to post a lot on GAT for the next few days, so bear with me.

In the Templates\Solutions\MySolution.vstemplate, when you create a ProjectTemplateLink under the SolutionFolder, you can't have an absolute path. You need to copy the project directory/templates into the Templates\Solutions directory and reference from there.

I'm going to compile all my resources and research that I've done for the following on Software Factories.

Software Factories Website

Rob Caron: Software Factory Stuff

Visual Studio Team System Developer Center: Software Factories

Visual Studio Team System Workshop Forums

Software Factories & DSL Tools in VS.NET 2005 Team Edition GotDotNet Workspace

Visual Studio Team System Developer Center: Domain Specific Language (DSL) Tools

Domain Specific Language Tools Forums

FAQ -- How To's, Troubleshooting, Experiences, Resources, Future plans of DSL Toolkit

Clipcode-GoF-DSL

GuidanceAutomation.net

Visual Studio Team System Developer Center: Guidance Automation Toolkit

Visual Studio 2005 SDK (VSIP)

I will talk about it somemore tomorrow. These resources are just something for you guys first. I'll sort them again some other time.

Glass Elevator Wiki
As Haiku OS 1.0 approaches it's first release (we're all eager and excited waiting for it), let's not forget the successor of the next version of Haiku OS, Glass Elevator. Project Glass Elevator is there to gather new ideas and changes to make to Haiku OS, so as to evolve Haiku OS in a BeOS way. There is a wiki available which stores these new ideas and changes. Haiku OS 1.0's focus is to re-create a compatible and close-to-exact replica of BeOS 5.0, with binary compatibility. Cheers to the Haiku team for making this happen after 3-4 over years of development. :) Hey guys, do support them!

More Posts Next page »