I'm sure most of you have already been able to create a strongly-typed DataSet and have benefited much from design-time validation. One problem arise when you need to query the DataTable to retrieve DataRows based on certain criteria. Using DataTable (or inherited strong-typed DataTable) class, there are two methods you can use to filter the rows, .Select and .Find. The problem is, both of them will return the basic DataRow object, which means they lost any information about strong typing.
Using Visual Studio 2005, you can use TableDataAdapter to add a query, and keep the strong-typed DataRow. Here's the steps:
- I assumed that you already have a typed DataSet, to start, open the DataSet Designer.
- On [TableName] group, right click it, and select Add > Query.
- You can use any method to retrieve the table. On the Choose Method to Generate page, choose either Fill a DataTable or Return a DataTable. Personally, I prefer the latter method.
- You can then use the methods to retrieve a filtered-typed-data table.
If you've been reading my blog for a while (not via RSS), you should already seen some ads on the left side of the blog. These ads come from Google and targeted based on the content of the page. A lot of people asked me what those are, so here we go.
- It's a service by Google that displays ad on your site, and pays for doing so.
- It's a pay-per-click ad, that means I'm getting several cents every time you clicked on one of the ads.
- So far, I have managed to get 4.75USD. Not a big number, yet.
- 4.75USD comes from ~30 clicks, that means a click worth 15-20 cents.
It's interesting how much a click worth, I've even tried clicking ads on my own page...
Liked the business model? How about placing it on your own blog?
- Go to www.google.com/adsense, register for an account (this is different than your Google account!)
- Pick some colors and model that fits your layout.
- Take the generated code, and add them to the template of your blog (be it under the news, under the category label, etc.)
- Start clicking and get the money flowing.
OK, now here comes the catch, I am asking you to click on one of my ads every time you read a blog post here. Also put your AdSensed' blog on the comment, and I'll do the same to your ads. Let's rip Google off! :-)
Or, specifically Apple iTunes 6.0.4 versus Microsoft Windows Media Player 11.
P.S.: iTunes installs perfectly on Windows Vista Build 5308
There's a small fair here down at ITB, starting today till tomorrow. I'm going to bring my computer (or someone else's) to show off Windows Vista Build 5308 (February CTP) to the crowds.
Too bad I can't show Office 2007, too.
On the other news, we are going to do some trainings for high school students and university students. I'm planning on three tracks:
- High School Track: Office 2007 and Visual Web Developer Express
- University Track (non-science): Office 2007 and Visual Basic Express
- University Track (science): Office 2007 and Visual C# Express
Why Office 2007? Because most of us are already comfortable using the current UI.
Unfortunately, only one good picture available:
It's kinda fun to read Imagine Cup finals, not just because of the crazy ideas that flies around, but most events are executed nicely to provide maximum UX (User eXperience) to the participants.
United Kingdom has just released their winner for Delhi. http://blogs.msdn.com/ukstudentzine/archive/2006/03/13/ic_winners_06_uk.aspx
What did the winners build? A simple blog reader.
Just now presented a very basic intro to Microsoft Visual Basic 2005 Express Edition to Universitas Padjajaran students.
The complete module should be available on Monday.
UPDATE: Download the course module, here.
There is no other way to retire rich while you're young than innovating something big.
But what is a good innovation? A good innovation can be measured by its rate of adoption, that is the amount of users that changes from old products or services to your innovated product or service. To achieve a good adoption, an innovation should consider the following attributes:
- Relative Advantage, it's about competition with current. You are claiming that your innovation is better, by how much? People want something concrete to compare between products. Rather than saying “My product is cheaper.“, it is better “My product saves you half of your current material investments.“ The better you communicate the relative advantage, the better your innovation is received by the masses.
- Compatibility, it's not just about previous or current, it's more about cultural compatibility. The hardest thing to achieve in innovation is social change. People don't exactly change just because it is better. They need it to match their current comfort zone. When implementing a new system, most failures happens when the cost of change is not included in the calculation as early as possible. Changes are very expensive. The less gap between the new and the present, the less likely resistant to change happens.
- Complexity, hard cold truth. People don't want to use complicated products. Why have iPod gain such an amazing adoption rate? None other than it's simplicity. Download iTunes, install it, plug iPod, copy musics, and enjoy. There's no need to RTFM.
- Trialibility, or in other words, “Can I get a free sample?“. Since the boom of Internet, software distribution is no longer an issue. Yesterday distributing samples are expensive using floppies and CDs, now you can download and get it running in under an hour. If your product is great, spread the word! Let people use it.
- Observability. People want solid samples. You can claim that it is better, compatible, simple, and you even get a free sample. But nothing beats the truth of everything you say. The easier for people to realize or see the real benefits, the steeper the adoption curve.
How to achieve all those attributes? There are some principles to follow.
- DO be purposeful. If it's useless not even a bug will use it.
- DO be conceptual and perceptual. You can create something that has no market and end up poorer in thirty minutes.
- DO be simple. Read above.
- DO start small. Worldwide takeover anyone? Big plans are susceptible to underachievings.
- DO aim at leadership. It's not the product that will make you rich, but how you manage all those people that creates the product.
“Great inventions are never, and great discoveries are seldom, the work of any one mind.“ - Robert H. Thurston
- DO NOT try to be clever. When you think you know what your customers want, you know too little.
- DO NOT diversify. Now big companies like Microsoft, GE, and 3M start with single product line.
- DO NOT innovate the future. Everyday, you are looking on a market to reap. Why think tomorrow?
Start innovating now! Be simple.
One case: check out www.RotiBoy.com. It has a small store in my local mall. But there is not even a single minute where there is no customer waiting in line for bun pickup (the supply capacity is less than the demand). And you know what they make? One kind of bun filled with salted butter and topped with crispy coffee cream. Only one!
Hi, it's me on mid-week post updating your knowledge on what's happening on software, hardware, and the cash to buy the two...
It's been three weeks since the hype of Origami hit the Internet (and blogs). I've been reluctant on writing about it since there is not much information available. Several leaked pictures just setting up a higher heat for Origami. So what is it? The official viral marketing site for Origami Project (www.origamiproject.com) finally released the long-waited information about Origami. Origami is a small project with big plans. It's going to target the UMPC, Ultra-Mobile PC, or handheld PC (goodbye PocketPC!). Intel has more technical information about UMPC and it's architecture on http://www.intel.com/design/mobile/platform/umpc.htm. Microsoft has images on Samsung and Asus UMPC, but I can't find any prices, it'll be nice having one of these gadgets below 500USD.
Windows Vista is going to be released at the end of the year, in October, most likely. It will be released in 6 editions, a big UP from two of current Windows XP. It's going to be a BIG event, since Microsoft will aggresively pursue early adoption. Local sources say there will be a PC running Windows Vista on every Fuji Image Plaza outlet in Indonesia. Good for non-geeks who believes in friendly UI more than openness.
What's in it for us? WinFX! Start learning (and building) using the three development pillars of WinFX; Windows Presentation Foundation, Windows Communication Foundation, and Windows Workflow Foundation. All three are simplifying the days of developers. Maybe finally non-CS devs like me can create a game as good as Battle for Middle Earth II.
It's nice to look at these stuff, but sucks big time when the wants and needs to buy hindered by the lack of bank notes to pay. So why don't you enter Imagine Cup 2006? You can have fun building applications using WinFX (pre-release, of course) targeted for next-gen devices (emulated, of course), and earn some publicity or money along with it. Maybe even a future investment! Imagine Cup is always looking for ideas that break down barriers in technology, and rewarded those with cold cash. With a total of over 200.000USD cash prize, you can't just skip this opportunity, right?
P.S.: Origami will run Vista (and very likely Mac OS X too). For a display of running Mac OS X on top of Acer F2 (Intel-based), please visit LSIK booth on ITB Fair 2006. Information will be available soon!
This time's at Maranatha Uni, nice place with nice view. Spoken about moving VB6 to .NET and moving .NET to WinFX... So it's past and future combined.
Slides are available on my site, http://adrian.godong.or.id/ppt. It's just a combination between my previous two slides, so no need to upload another version. And since it's a combo, the problem with VB6 that happened before re-happened. This time, the installer conflicts with JVM. No computer's better than mine, now I really do consider on buying a laptop. Any good suggestion?
Oh yeah, Avalon runs on top of DirectX if you guys still wondering.
Updating Fields in Different Forms
It's simplified, just the principles. Comment on the article.
Dave Winer released a draft of OPML 2.0 Specification today. The draft is for public review, and available at http://www.opml.org/spec2. I'm keeping eye on the Specification release, and then I'm going to update my System.Xml.Opml namespace to use the new version... Don't worry, specification sometimes takes months to complete.
On another note, I'm now blogging at MIT for my research on Software Cost Model. The address is http://blogs.mit.edu/CostModeling, the helpful but unfriendly admin gave that. And guess what, they are using rebranded Community Server, tagged “Caddie Server”. Maybe I should request another account with a personal name.