Archive

Archive for September, 2008

The Slick New DeveloperFusion.com is ‘soft-launched’

September 29th, 2008 1 comment

DeveloperFusion.com

DeveloperFusion has just soft-launched its slick new look and feel, go take a looksy and drool. From the humble beginnings, to the golden years and the times of change we have finally come to the slick new Web 2.0 era – maybe a tad late but damn it was worth the wait!

James is now full time at DF working away at making DF the greatest community driven site around.

{lang: 'en-GB'}
Share

Microsoft will support JQuery in the future!!!

September 29th, 2008 No comments

Mondays are always a drag, the weekends over, you have a full 5 days to get through before the next weekend – a steep contrast to my uni days, when all hope was pinned on waiting for the end of semester.

Yesterday Scott Guthrie posted some very exciting news about Microsoft supporting the JQuery project in the future.

I’m excited today to announce that Microsoft will be shipping jQuery with Visual Studio going forward.  We will distribute the jQuery JavaScript library as-is, and will not be forking or changing the source from the main jQuery branch.  The files will continue to use and ship under the existing jQuery MIT license.

We will also distribute intellisense-annotated versions that provide great Visual Studio intellisense and help-integration at design-time.

This is huge news and a very welcome suprise – especially for a Monday.

But wait, theres more:

Going forward we’ll use jQuery as one of the libraries used to implement higher-level controls in the ASP.NET AJAX Control Toolkit, as well as to implement new Ajax server-side helper methods for ASP.NET MVC.  New features we add to ASP.NET AJAX (like the new client template support) will be designed to integrate nicely with jQuery as well.

Can things get any better?

We also plan to contribute tests, bug fixes, and patches back to the jQuery open source project.  These will all go through the standard jQuery patch review process.

Turns out to be a not so bad Monday after all, now if we could just work on the traffic around Melbourne.

{lang: 'en-GB'}
Share

HOWTO: Network Monitoring with nTop in Ubuntu

September 28th, 2008 5 comments

ntop is a network probe that shows how much the network is being utilised with very little overhead and impressive graphical representation via the web. Its definately a must-have tool if you run a fileserver.


The version of ntop on the ubuntu mirrors is 3.2.x, so I set out to update to the latest release this weekend (3.3.x released in June last year).

This install is being done on Ubuntu 7.10 using ntop 3.3.7.

First up lets download the distribution of ntop we’re going to be installing. This is the internode mirror in Australia, but you can find your closest mirror via sourceforge.

$ wget http://internode.dl.sourceforge.net/sourceforge/ntop/ntop-3.3.7.tar.gz

Next we need to extract the files to a folder.

$ tar -xvf ./ntop-3.3.7.tar.gz

Next up lets install/make sure we have all the dependencies we need to build this version.

$ sudo aptitude update
$ sudo aptitude install build-essential linux-headers-$(uname -r) librrd2-dev libtool libpcap-dev tcpdump librrd2 rrdtool rrdtool-tcl libgdbm-dev libgdbm3 automake autoconf automake1.7 debhelper gettext html2text intltool-debian libgd2-noxpm-dev libjpeg62-dev libncurses5-dev libssl-dev libwrap0-dev po-debconf

Once the dependencies are installed you can go into the extracted folder and tell it to setup the environment and configure it.

$ cd ./ntop-3.3.7/
$ chmod +x ./autogen.sh
$ ./autogen.sh

This will make sure your environment is correctly setup and configure to build the necessary make files. There shouldn’t be any errors at this point as you have installed all the correct dependencies. Nextup we need to build the application and install it.

$ make
$ sudo make install

Then you can start nTop by running the following command:

$  sudo ntop -P /usr/local/lib/ntop/

There we have it, browse to http://localhost:3000 and you’ll be running the latest and greatest ntop.

{lang: 'en-GB'}
Share

Managed Operating Systems & COSMOS – C# Open Source Managed Operating System

September 21st, 2008 2 comments

Writing an operating system in Managed Code is not entirely a new concept but its quite an interesting one. The fact that we have AOT compilers gives us this ability to write such things. This post is a little guided tour or information dump on COSMOS as I worked through the initial bits this weekend.

Background Information

Unlike a JIT compiler – where the initial source (say C# or Java) gets translated into an IL (like MSIL in .NET or Bytecode in Java) which then gets to native code when run (via the .NET CLR or the Java VM), an AOT compiler transforms the source directly to native code – which implies its compiled for a specific architecture and feature-set (eg. x86 binary). Currently there are a couple (in .NET land) to choose from – SharpOS AOT and the IL2CPU project written by the Cosmos guys.

This ensures that the OS can be written entirely from managed code, unlike other attempts like JNode, JavaOS (both of which are Java based and include some ASM & C routines for the initial boot) and the Microsoft Singularity project – which uses some Assembler & C (for the interupt dispatcher) and C++ code to get things moving.

Pweety Screenshots

Side by side pretty pictures of some Managed OSs:

COSMOS

This weekend I took a bit of a look-c of COSMOS, which differs greatly from Singularity. The COSMOS compiler – called IL2CPU, written in C# – converts all the IL code generated to assembler (not to be confused with a .NET Assembly!), thereafter the assembler files are processed by NASM which generates compliant native x86 code. Eventually though, the COSMOS guys hope to generate native directly without the need for NASM. This process is quite streamlined and if you download the COSMOS User Kit you can get COSMOS + booted up and running in minutes! Its way coool!

The User Kit page has all the goss on getting it setup, I tried out Milestone 2, but some helpful  hints…

  • Dont install to the default Program Files folder (especially on Vista!) put it into a non-Windows oriented folder.
  • After installing and integrating into VS.NET, use the QEmu option to try it out – VMWare resources arent distributed it seems, as QEmu is already shipped theres nothing more to do.

After you have it installed, load VS.NET and create a new ‘COSMOS Boot’ project. The default template is shown below:

using System;
using Cosmos.Build.Windows;

namespace CosmosHelloWorld
{
class Program
{
#region Cosmos Builder logic
// Most users wont touch this. This will call the Cosmos Build tool
[STAThread]
static void Main(string[] args)
{
var xBuilder = new Builder();
xBuilder.Build();
}
#endregion

// Main entry point of the kernel
public static void Init()
{
Cosmos.Kernel.Boot.Default();
Console.WriteLine("Welcome! You just booted C# code. Please edit Program.cs to fit your needs.");
while (true)
;
}
}
}

Essentially, this boots the COSMOS kernel and displays “Welcome! You just booted C# code. Please edit Program.cs to fit your needs.”, quite simple. Run it and you’ll get the COSMOS Build Options window to help you deploy it – for simplicity select QEMU, hit build and watch the magic of the IL2CPU and other tools come together and build your OS and run QEMU. The output should be something like this (with differing paths ofcourse!):

BuildPath = ‘D:\R&D\Cosmos User Kit\’
ToolsPath = ‘D:\R&D\Cosmos User Kit\Tools\’
ISOPath = ‘D:\R&D\Cosmos User Kit\ISO\’
PXEPath = ‘D:\R&D\Cosmos User Kit\PXE\’
AsmPath = ‘D:\R&D\Cosmos User Kit\Tools\asm\’
VMWarePath = ‘D:\R&D\Cosmos User Kit\VMWare\’
VPCPath = ‘D:\R&D\Cosmos User Kit\VPC\’
Now compiling
Initializing IL2CPU… This may take a minute so please wait for further status…

Recognized Plug methods:

System_Boolean__System_Array_TrySZBinarySearch_System_Array__System_Int32__System_Int32__System_Object__System_Int32__

IL2CPU Run took 00:00:05.3281467
Please wait…executing D:\R&D\Cosmos User Kit\Tools\nasm\nasm.exe…
Please wait…executing D:\R&D\Cosmos User Kit\Tools\cygwin\ld.exe…
Now creating ISO
Try removing ‘D:\R&D\Cosmos User Kit\cosmos.iso’
Try removing ‘D:\R&D\Cosmos User Kit\ISO\output.bin’
Try copying ‘D:\R&D\Cosmos User Kit\output.bin’ to ‘D:\R&D\Cosmos User Kit\ISO\’
Running mkisofs
Please wait…executing D:\R&D\Cosmos User Kit\Tools\mkisofs.exe…
Please wait…executing D:\R&D\Cosmos User Kit\Tools\qemu\qemu.exe…
Press enter to continue.

The Build agent runs IL2CPU which outputs the ASM, which then goes through to NASM who hands it over to GNU Linker. Then we bake an ISO which gets booted by QEMU. Couldn’t be easier 🙂

A man can dream Oh yes a man can dream

There are some incredibly exciting ideas are floating around about how to make the most of COSMOS and what can be fully realised on the Scenarios Page and an interview at Obsethryl Labs on COSMOS and another on SharpOS which is interesting reading.

Next time I’ll start poking around some more and see where it gets me.

{lang: 'en-GB'}
Share

VWMare Fusion 2.0 out, comes with *FREE* McAfee Virus Scan to protect your Windoze…

September 17th, 2008 No comments

VMWare just released Fusion 2.0 which is a free update for 1.x users of the fruity OS, among the enhancements…

  • Greatly improved 3D performance and compatibility with DirectX 9.0c and Shader Model 2 software and games. (VMware Fusion runs best with the latest graphics hardware, like the NVIDIA 8800 GT, ATI Radeon HD 2600, and ATI Radeon HD 3870.)
  • When playing high-definition video (720p, 1080i, 1080p) in a Windows XP or Windows Vista virtual machine, VMware Fusion now uses hardware acceleration for smooth video playback

Which is quite a feat, whilst I’m not a Fusion user – No Apple, It just Works!!! – it seems the Fusion Hypervisor is doing some serious legwork now. Whats more (heh) VMWare even ‘collaborated’ with McAfee to give those Apple users a little something something for their Windoze experience:

Virus Protection and Firewall Included for Windows XP and Vista Virtual Machines

  • To keep your Windows-on-Mac experience as safe as possible, VMware Fusion includes a complimentary 12-month subscription to McAfee VirusScan Plus to protect your Windows investment

Funny.

{lang: 'en-GB'}
Share

VLC 0.9.2 Released!!!

September 15th, 2008 No comments

One of the most kick-ass players out there has just released a new version after more than 2 years in development. VLC 0.9.2 which comes with a spanking new UI and a host of cool new features.

enuff chit-chat, go download and install.

NOTE: The server is no doubt being hammered right now, so be patient.
{lang: 'en-GB'}
Share

New Microsoft Advertisment: Bill Gates feat Jerry Seinfeld – New Family

September 12th, 2008 No comments

The next addition to in the series for Microsoft staring Bill Gates & Jerry Seinfeld trying to look normal.

A shorter version is also available with part 1 and part 2 in WMV format. Compared to the first release which took the two gentlement to Shoe-Circus I think this new (longer) version is far better.

“I Love a condiment with Booze in it.” – Jerry

“Because as we discussed, you and I are a little out of it… you’re living in some kind of moon house hovering over seatle like the mothership… I got so many cars I get stuck in my own traffic.” – Jerry

“The fact that a design uses inheritance and polymorphisim doesnt make it a good design.” – Bill
“…Are there any monsters in the story?” – Little kid in bed
“Yes! but its ok, theres a firewall.” – Bill

“Power off… ok, power on.” – Jerry whilst Bill doing the Robot

Personally I quite like this one, and the fact that Mr Gates does the robot – I mean come on….

{lang: 'en-GB'}
Share

Lost In Translation: Benny Lava

September 8th, 2008 No comments

Came across the funniest interpretation of a Southern Indian song by Prabhu Deva Sundaram, I’m not sure what they’re saying but the sub-titles do speak the truth to the non-speaker.

Just a sample of the subtitles

You need a bun to bite Benny Lava…

Have you been high toooday?
I see the nuns are gay!

My brother yelled to me…
I love you inside Ed…

My loony bun is fine Benny Lava!
Minor bun engine made Benny Lava!

I told a highschool girl…
I love you inside me…

Heelarious.

{lang: 'en-GB'}
Share

TIP: Quick tip on how to Debug ASP.NET Web Application Deployed in IIS

September 8th, 2008 1 comment

Heres a real quick tip (+ info) on how to debug a ASP.NET Web Application/Site when running inside IIS itself. After the launch of Whidbey (Visual Studio 2005) we didn’t really need to have Internet Information Services (IIS) installed thanks partly to the bundled hosting engine (based on Cassini). But sometimes – just sometimes  🙄 – when you deploy your ASP.NET web apps to IIS you’ll find things break – like we just experienced – unlike running via the internal web-server.

To debug an already running IIS process – with the project loaded.

  1. Debug > Attach to Process
  2. Select either aspnet_wp.exe or w3wp.exe. (see note below)
  3. Enter a break-point somewhere in your code
  4. Visit the page/refresh.

Sometimes you may need to untick “Enable Just My Code (Managed Only)” in the Options > Debugging list.

Why the aspnet_wp.exe and w3wp.exe difference?

If the IIS server is running under IIS 5.0 Isolation Mode, then you need to attach to the ASP.NET Worker Process (aspnet_wp.exe) where as if your running under the Worker Process Isolation Mode (which is the default in IIS 6.0) you will need to attach to the w3wp.exe process.

From the TechNet Documentation:

Worker process isolation mode delivers all the benefits of IIS 6.0 new architecture: robust application pooling; automated restarts, scalability, debugging; and finely-tuned performance tuning. Web applications run with the Network Service identity, which provides a security advantage: the Network Service account has lower access privileges than LocalSystem.

In version 5.x of IIS the ASP.NET ISAPI Filter (aspnet_isapi) which is an unmanaged piece of code that runs within the inetinfo.exe process that offloads the work to the ASP.NET Worker Process (aspnet_wp) that trickles the workload down the rabbit hole.

However in IIS 6.x the process is a little different, specifically we have a kernel mode HTTP driver (http.sys) which ships apart of the Windows Networking subsystem. This acts as the gateway for the incoming requests for the web-server. It first parses the request and dispatches it to the IIS 6.0 Worker Process (w3wp.exe) which then loads the ASP.NET ISAPI (aspnet_isapi) and follows on down the rabbit hole.

Read the TechNet articles on more information about the HTTP Protocol Stack in IIS 6.0.

Just how far down does the rabbit hole go?

If your interested in learning more about the internals of the ASP.NET Worker Process and inparticular how ASP.NET works ‘under the hood’ you’re best to look at Rick Strahl‘s *excellent* article – A Low-Level look at teh ASP.NET Architecture which just got updated late last month (24th)!

{lang: 'en-GB'}
Share

Sun releases VirtualBox 2.0 just couple of days after 1.6.6!

September 7th, 2008 1 comment

One of the hottest Virtualisation applications going around the internets these days is Sun’s recently aquired VirtualBox software suite. The bright folks at Sun have just announced version 2.0 release which is a couple of days after the 1.6.6 maintenance release.

Being a fan of VirtualBox from around the 1.3.x days when it was owned by Innotek and seeing it mature the way it has, its been quite impressive – if not for the wide platform compatibility and the fact that its a ‘free’ product for personal use that’s competitive with commercial offerings such as VMWare – which has been my fulltime VM product (loving VMWare 6.5 btw!).

VirtualBox 2.0 brings some uber goodness to the mix (from the changelog):

    This version is a major update. The following major new features were added:

    • 64 bits guest support (64 bits host only)
    • New native Leopard user interface on Mac OS X hosts
    • The GUI was converted from Qt3 to Qt4 with many visual improvements
    • New-version notifier
    • Guest property information interface
    • Host Interface Networking on Mac OS X hosts
    • New Host Interface Networking on Solaris hosts
    • Support for Nested Paging on modern AMD CPUs (major performance gain)
    • Framework for collecting performance and resource usage data (metrics)
    • Added SATA asynchronous IO (NCQ: Native Command Queuing) when accessing raw disks/partitions (major performance gain)
    • Clipboard integration for OS/2 Guests
    • Created separate SDK component featuring a new Python programming interface on Linux and Solaris hosts
    • Support for VHD disk images

    In addition, the following items were fixed and/or added:

    • VMM: VT-x fixes
    • AHCI/SATA: improved performance
    • GUI: keyboard fixes
    • Linux installer: properly uninstall the package even if unregistering the DKMS module fails
    • Linux additions: the guest screen resolution is properly restored
    • Network: added support for jumbo frames (> 1536 bytes)
    • Shared Folders: fixed guest crash with Windows Media Player 11
    • Mac OS X: Ctrl+Left mouse click doesn’t simulate a right mouse click in the guest anymore. Use Hostkey+Left for a right mouse click emulation. (bug #1766)

    Download your copy based on your Operating System:

    • VirtualBox 2.0.0 for Windows hosts x86 | AMD64 (only on Windows x64!)
    • VirtualBox 2.0.0 for Solaris and OpenSolaris hosts x86 | AMD64

    After installing 2.0, my 1.6.x images seamlessly moved to the 2.0 release with minimal fuss, just make sure you shutdown your VMs prior to upgrading to avoid hassles.

    Not to be forgotten is VMWare’s upcoming 6.5 release which is rolling full steam ahead!

    {lang: 'en-GB'}
    Share