Just sharing some of my inconsequential lunch conversations with you... RSS  

Sunday, March 30, 2008

OpenXava

I'm stepping out of my territory to talk about this framework I know nothing about: OpenXava. OpenXava is a framework for creating Enterprise Applications with Java based solely on the annotated model (the Controllers are reused and the View are generated automatically).

Microsoft is heading to the same point through a different path - DSL Tooling. ASP.NET Dynamic Data Support does something from the model defined.

But this framework seems to be ahead in terms of maturity and implementation. This is the way I imagine implementing some of our enterprise applications on the near future, designing and annotating the model (through designers, hopefully not code), overriding extending and customizing a bit, arming some events when needed and creating validators, business rules and processors.

Saturday, March 29, 2008

Saved by Parallel Extensions!

Let's start by admitting the obvious: normally I don't really need a reason to use a new technology, just doing it for the kicks is good enough for me. I've been using Parallel extensions for a while, but didn't found any real excuse for using it on my typical web projects.

I was lucky enough to get a great R&D project on Search Algorithms, so I've decided to give Parallel Extensions a real try out.

The opportunity arrived while analyzing the log data: we identified a 13 minutes operation. This operation did some heavy computation over a 4 dimension array (well, actually a 2 dimension array of HashTables keyed as duples, the last 2 dimension are sparse). We identified that the dimensions were used independently from each other, and decided to work over a 700 iteration loop.

All we've had to do was changing:

    for (int iterator = 0; iterator < totalIterations; iterator++)

for:

    System.Threading.Parallel.For(0, totalIterations, iterator =>

As expected, we doubled the operation response time. Next week we will be running some tests over an 8-core equipment, so I hope the 13 minutes spent over an old Dual Core will just be pulverized.


The next step in the roadmap will be: grid computing. So lets hope for more lengthy operations so I can get my hands on www.alchemi.net or ngrid.sourceforge.net.


PS: actually, though the loop iteration were independent from each other, they were dependent upon a variable that we had to lock - with little or no performance cost.

Upgrading to Windows Mobile 6

Yes, I know, why does a guy like me, the typical geek hooked up with the next beta OS, waited so long to upgrade WM from 5 to 6? Well, a phone is a phone, and I must confess: I was really afraid something wrong could happen, so the backup process was a lengthy one.

This weekend I've finally decided to upgrade. I've started by copying all I could to my desktop. Then synced up my HTC 3300, copied some configuration, downloaded a trial version of Sprite Backup and started the final backup procedures.

One of the reason I've chosen HTC 3300 over 3600 was the promise of WM6 support, and it paid off. Just registered an account and the serial number, and downloaded the official ROM (in Portuguese!).

The ROM upgrade couldn't be more simple, and 10 minutes later WM6 was up and running, with all the HTC software installed. Tomtom was also installed, the only thing I've really missed were the input modes (now I only have the virtual keyboard...).

Restoring data was incredibly simple using Sprite Backup, it even restored the phone call list. The only configuration I'll have to restore manually is the network/dialup/VPN connection settings. You can always depend only on Active Sync to restore most of your needs.

So if you were afraid to get into a messy upgrade process, you can loose you fears. Your phone will probably be up and running in half an hour.

PS: my provider is TMN, and yes, the phone still works :)

Wednesday, March 26, 2008

New Log Reporting, Database Management, and other cool admin modules for IIS 7

Here's yet another great post from Guthrie, IIS 7 Admin Pack Preview 1:

  • Database Manager: [alternative to SQL Server Management Studio?] Built-in SQL Server database management, including the ability to create, delete, and edit tables and indexes, create/edit SPROCs and execute custom queries.  Because it is integrated in the IIS administration tool it all works over HTTP/SSL - which means you can use the module to remotely manage your hosted applications (even with low-cost shared hosting accounts), without having to expose your database directly on the Internet.

  • Log Reports: [alternative to WebAlizer?] Built-in report visualization with charting support for log files data.  Full range selection and custom chart creation is supported, as well as the ability to print or save reports.  Like the database manager you can use this module remotely over HTTP/SSL - which means it works in remote shared hosting scenarios.

  • Configuration Editor: This is a power module that provides complete control over editing all web.config settings within the admin tool.  You can configure it to track the changes you make using the UI and have it auto-generate configuration change scripts that you can then save and tweak to re-run later in an automated way.

  • Request Filtering UI: This admin module provides more control over the new request filtering feature in IIS7.  Check out Carlos' blog post here for details on how to use it.

  • .NET Authorization: This admin module provides a custom authorization rules editor which allows you to more easily manage the ASP.NET <authorization> configuration section.

  • FastCGI UI: This admin module provides more support for editing all the new <fastCGI> settings (for when you use FastCGI modules with IIS7 like PHP).

Where did mail go on my control panel? (W2K8 64bits)

Well, it seems like Microsoft didn't quite finished the 64-bit portings, so you'll have to get to "32-bit Control Panel". And there you go, now I can hookup Outlook with Exchange :)

Messenger Live on Windows Server 2008 64-bits

Strangely enough, Live Messenger refuses to install on Windows Server 2008-bits. It runs beautifully, if given a chance, it just doesn't work. Oh, well...

Managing Stored Credentials

Windows stores credentials (the logon name and password) for users who access network resources. You can manage this credential through:

rundll32.exe keymgr.dll,KRShowKeyMgr

Works in Vista too!

[update]

A friend of mine just sent me an alternative way through the UI:

Control Panel > User Accounts > Manage User Accounts > Advanced -> Manage Passwords

Tuesday, March 25, 2008

ASP.NET MVC Source Code

Microsoft shared ASP.NET MVC source code. Microsoft is embracing open source in a controlled way:

... the license doesn't enable you to redistribute your custom binary version of ASP.NET MVC (we want to avoid having multiple incompatible ASP.NET MVC versions floating around and colliding with each other).  But it does enable you to make fixes to the code, rebuild it, and avoid getting blocked by an interim bug you can't work around.

"Classic" open source people may see this as a draconian kind of open source, but it kind of makes sense for companies like Microsoft, that traditionally maintain control over their sources, and for developers who gain the capability to fix problems. I will really be surprised if this model won't start being used by other companies.

And above all, makes room for "truly" open source products like MonoRail :)

Watch out from WM house cleaning...

I needed some space on my HTC 3300 so I've decided to clean up "temporary files" directory directly from the file system. Big mistake, internet explorer stopped working. More, Google Maps and Opera Mini downloads stopped working too.

Googling about it didn't help, so I've done the only thing I could: copied a "temporary files" directory from a friend's device. Luckily, It worked!

[Update]

Oops, false alarm, it is still doesn't work. I've tested it connected to my desktop - it works that way...

Add Windows Explorer to Visual Studio

Here's a great tip:

Tools > External Tools... > Add:
Title: Windows Explorer
Command: explorer.exe
Arguments: /select,"$(ItemPath)"

A must!

Sunday, March 23, 2008

Windows Server 2008 64-bits as a desktop

I've just installed Windows Server 2008 on my Dell D830. It is just awesome!

For a start, the installation was as simple as it could get. This is the first time I've installed Windows Server 2008 on a non virtualized environment, so the 10 minutes and 2 dialogs installation was greatly appreciated.

It got most of the hardware running (except for Bluetooth). It did recognize the networking devices, wired and wireless, so I could get to the tuned drivers with great ease. Dell D830 doesn't support W2K8 yet, so I've installed Vista 64bit drivers. The Bluetooth drivers didn't work all the way, so I tried the Toshiba drivers (http://aps2.toshiba-tro.de/bluetooth/index.php?page=download) with success.

Windows Server 2008 experience as desktop is great. Most of the tweaking to Vistalize the user experience is pretty intuitive (Windows Server 2008 tends to be predictable and intuitive - Initial Configuration and Server Manager greatly simplify the process). Then all you  have to do is follow http://www.win2008workstation.com/ to end up the tuning.

Three negative notes:

  • it still sucks too much memory - from 450 to 750MB (depending on loaded devices and available memory?);
  • Hyper-V's doesn't seem as desktopable as Windows 2008 Server;
  • Hyper-V disables standby and hibernation, greatly lowering the laptop experience! :(

I'll try the 32 bit version on the next weekend. For the time being it seems easy to choose Windows Server 2008 64-bits for hardware with at least 4GB - the extra 512MB are recovered my mapping the hole 4GB. But some developers will rather have the extra 512MB XP gives them on a 2GB configuration.

Saturday, March 22, 2008

Back in action

These last weeks have been just crazy! We've been preparing the Dynamics Nav advanced distribution presentation and the techdays.pt stand (yes, mom, all those years studying to end up selling at a fair :S ). Now I've finally got some time to blog and to install Windows Server 2008 as my desktop - an experience soon to be posted on devCatharsis.

I've been working a lot over RFID for the last year, so my presentations evolved mostly around the supply chain RFIDization. Beside Nav itself, we've presented a standard integration with an external ERP (a cool RFID-enabled demo application from Microsoft China), and finally closed the supply chain circuit with our Dynamics Nav RFID Extension, responsible for the palette and contents reception and checking against the previously received ASN (Advanced Shipping Notice). Dynamics NAV RFID Extension relies on BizTalk RFID and WCF to leverage the communication between the interrogators and Nav 4 & 5.

Link Consulting has presented some cool sessions on techday.pt, namely:

RFID is not all of our offering we presented at techdays.pt, more like my present focus. On the stand we also presented:

  • SmartCities
    • Digital Parkmeter
  • Internet of Things
    • Dynamics NAV + RFID
    • Mobile Ticketing
  • Internet of Services
    • eDocLink document management
    • eGovernment solutions (over MOSS)
    • Process Automation
    • Urban Management

And that's it. Hopefully the next post will be a geekier one :)

Development Catharsis :: Copyright 2006 Mário Romano