Archive

Archive for the ‘Cool Tools’ Category

Microsoft Visual Studio 2010 Release Candidate

February 12th, 2010 No comments

It seems every year life just keeps getting busier ūüôĀ Anyway, here’s a bit good of news, the Visual Studio 2010 Release Candidate is available for download now. You can also get one chunky ISO if that tickles your fancy.

Compared to Beta 2, its a smooth and quite enjoyable experience and I’m very much waiting for the final. The performance of this release is insanely good and finally fixes some annoying performance issues we noticed in WPF in Beta 2 (lets forget Beta 1).

Don’t forget to try some of the cooler features of .NET 4.0 too.

{lang: 'en-GB'}
Share

Chrome 4.0 is out with extensions support

January 26th, 2010 1 comment

Well finally Google has released Chrome 4.0 and with it extensions support amongst the many other features which finally brings some much needed juice to the browser. I’ve been running Firefox and Chrome simultaneously (Chrome for gmail & google apps, firefox for daily browsing) but I have a feeling I may change to using Chrome full time now.

Some cool extensions to try (most are from Firefox)

  • Xmarks Bookmarks Sync – I’ve been using FoxXmarks to sync my bookmarks for a while now, so its only natural I install this for Chrome. You can also stick with the standard Bookmark sync via Google which you’ll need a Google account for.
  • Google Mail Checker / Google Alerter – there’s also the One Number extension that brings more than just checking gmail.
  • AdBlock – probably the number one reason most people wanted extensions in Chrome!
  • Forecastfox Weather – My weather extension I use in Firefox.
  • FlashBlock – Can’t stand videos playing automatically when you load a gazillion tabs and wonder WHO THE EFF is talking?
  • Goo.gl URL Shortner – none others required.
  • Firebug Lite – Not as feature packed as Firebug, but then why would they call it Lite?
  • IETab – Sometimes you gotta.

Chromed. There’s lots more if you’re into Facebook, Twitter and all the other fancy things these days, even one for uTorrent! Download the latest build and give things a go!

PS. You don’t need to restart Chrome to install extensions either!

{lang: 'en-GB'}
Share

jQuery 1.4 released!

January 15th, 2010 No comments

What a way to start the weekend, jQuery 1.4 has been released! There’s so much ubber goodness in this release I nearly fell of my chair! I have yet to muse about but most definately worth a look, the performance boosts are insane!

{lang: 'en-GB'}
Share

VirtualBox 3.1 released!

December 1st, 2009 No comments

Just when you thought you can start a new month without some new software, Sun has blessed the world with a ray of VirtualBox 3.1 goodness on us all! All hail the Sun. I’ve been using the Betas and trying out the spanking awesome Teleportation feature in VirtualBox 3.1. So lets take a bit of a look at the new grub.

Beam me up Scotty!

You know, people say the catch phrase thinking its from Star Trek, but did you know that it was never actually mentioned in any episode?

Teleportation or ‘Live Migration‘ in Xen/KVM¬† or vMotion in VMWare allows you to move a running virtual machine to another host without any downtime. Sun brings us this ‘Enterprise’ feature to VirtualBox. Whats even cooler, is that you can teleport your running VM on different host platforms (Windows -> OpenSolaris or Linux, vice versa) but not from one hardware set (Intel) to another (AMD) unless they both have the same instruction-sets. The transport layer for the teleportation is TCP/IP, so as long as the agreed port is open and accessible you can even teleport it through the tubes! (assuming you have a fast link like those pesky Dutch)

There are a few conditions and caveats as I’ve found. Firstly you must ensure (as you’d expect) the target VM has to have the exact same configuration as the source VM (same RAM, graphics memory, storage, CD/DVD images etc) the other thing is to be weary of the CPUs the host computer has. As long as its between the same generations (different clock speeds are OK) it should work (I tried between a QX6850 -> E6600 but QX6850->AMD X2 4600+ wasn’t so pretty!).

Once you’ve configured the target host to match the source host, time to ask VirtualBox to keep its eyes open for an incoming beam.

VBoxManage modifyvm [VirtualMachineName] --teleporter on --teleporterport [Port]

Then on the source host, send out the beams to initiate the teleportation:

VBoxManage controlvm [VirtualMachineName] teleport --host [TargetIP] --port [Port]

Give it some time to think and if you tried a localhost migration, it should migrate seamlessly ūüôā

Scotty doesn’t know

Scotty doesn’t know about the other little changes, but you will. The new VirtualBox has lots of refinements in the UI. For one, new icons for all the Guest operating systems. The settings window has had a make over and includes ‘optimal settings’ detection.

Windows 2003 VM in VirtualBox 3.1

Windows 2003 VM in VirtualBox 3.1

Here its telling me my Windows 2003 VM should have atleast 20Mb Video Memory assigned to it to work well in full-screen mode. Heading over to the Display options in VirtualBox 3.1 we find that the Video Memory selectors have got little indicators now, as well as the inclusion of 2D Video Acceleration.

Windows 2003 VM - VirtualBox 3.1 Display Settings

Windows 2003 VM - VirtualBox 3.1 Display Settings

Depending how ever many cores you have, it will highlight what you should set as the maximum number of cores available for your VirtualMachine as well as the recommended RAM allocation. This is what I see in my Intel QX6850 development workstation.

VirtualBox 3.1 System Processor Settings

VirtualBox 3.1 System Processor Settings

VirtualBox 3.1 - Motherboard Settings

VirtualBox 3.1 - Motherboard Settings

VirtualBox now also has experimental support for Extensible Firmware Interface (EFI) which will eventually replace the aging BIOS bootstrap (which is the default). Well known operating systems that boot via EFI include Windows Vista and Windows 7, Apple OS X and Fedora 11+.

The Storage controls in VirtualBox GUI has also had a bit of a make over. The options to select a disk and a controller have changed, CD/DVD drives can be attached to an arbitrary IDE controller too now!

VirtualBox 3.1 - Storage

VirtualBox 3.1 - Storage

The networking settings GUI in the new VirtualBox has change too, not only that but you can now configure the network interfaces whilst the guest is running – YAY!

VirtualBox 3.1 Network Settings

VirtualBox 3.1 Network Settings

Snapshots are a lot more flexible in this release (much like VMWare’s snapshot feature). Previously you can only restore from the last created snapshot, now any arbitrary snapshot can be restored too or branched off.

For those who use OpenSolaris (like yours truely!) the rewritten USB support (still experimental btw!) should mean we can interact with our USB devices in Solaris Nevada 124 or higher now – I’m running 127 and have USB devices appearing in my VMs.

If those don’t give you any indication on to the pure awesomeness of this release, there was a significant performance improvement for APE & AMD64 guests (VT-x/AMD-V) which will be quite noticeable from what I’ve been told by a college.

As Barack Obama said, tis time for a change..log.

He didn’t say that, I just reused 36 Mafia’s Lolli Lolli. The entire change log appears below from the website.

VirtualBox 3.1.0 (released 2009-11-30)

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

  • Teleportation (aka live migration); migrate a live VM session from one host to another (see the manual for more information)
  • VM states can now be restored from arbitrary snapshots instead of only the last one, and new snapshots can be taken from other snapshots as well (“branched snapshots”; see the manual for more information)
  • 2D video acceleration for Windows guests; use the host video hardware for overlay stretching and color conversion (see the manual for more information)
  • More flexible storage attachments: CD/DVD drives can be attached to an arbitrary IDE controller, and there can be more than one such drive (the manual for more information)
  • The network attachment type can be changed while a VM is running
  • Complete rewrite of experimental USB support for OpenSolaris hosts making use of the latest USB enhancements in Solaris Nevada 124 and higher
  • Significant performance improvements for PAE and AMD64 guests (VT-x and AMD-V only; normal (non-nested) paging)
  • Experimental support for EFI (Extensible Firmware Interface; see the manual for more information)
  • Support for paravirtualized network adapters (virtio-net; see the manual for more information)

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

  • VMM: guest SMP fixes for certain rare cases
  • GUI: snapshots include a screenshot
  • GUI: locked storage media can be unmounted by force
  • GUI: the a log window grabbed all key events from other GUI windows (bug #5291)
  • GUI: allow to disable USB filters (bug #5426)
  • GUI: improved memory slider in the VM settings
  • GUI: the VirtualBox website couldn’t be opened from the help menu (bug #4559)
  • 3D support: major performance improvement in VBO processing
  • 3D support: added GL_EXT_framebuffer_object, GL_EXT_compiled_vertex_array support
  • 3D support: fixed crashes in FarCry, SecondLife, Call of Duty, Unreal Tournament, Eve Online (bugs #2801, #2791)
  • 3D support: fixed graphics corruption in World of Warcraft (#2816)
  • 3D support: fixed Final frame of Compiz animation not updated to the screen (#4653)
  • 3D support: fixed incorrect rendering of non ARGB textures under compiz
  • iSCSI: support iSCSI targets with more than 2TiB capacity
  • VRDP: fixed occasional VRDP server crash (bug #5424)
  • Network: fixed the E1000 emulation for QNX (and probably other) guests (bug #3206)
  • NAT: added host resolver DNS proxy (see the manual for more information)
  • VMDK: fixed incorrectly rejected big images split into 2G pieces (bug #5523, #2787)
  • VMDK: fixed compatibility issue with fixed or raw disk VMDK files (bug #2723)
  • VHD: fixed incompatibility with Hyper-V
  • Support for Parallels version 2 disk image (HDD) files; see the manual for more information
  • OVF: create manifest files on export and verify the content of an optional manifest file on import
  • OVF: fixed memory setting during import (bug #4188)
  • Mouse device: now five buttons are passed to the guest (bug #3773)
  • VBoxHeadless: fixed loss of saved state when VM fails to start
  • VBoxSDL: fixed crash during shutdown (Windows hosts only)
  • X11 based hosts: allow the user to specify their own scan code layout (bug #2302)
  • Mac OS X hosts: don’t auto show the menu and dock in fullscreen (bug #4866)
  • Mac OS X hosts (64 bit): don’t interpret mouse wheel events as left click (bug #5049)
  • Mac OS X hosts: fixed a VM abort during shutdown under certain conditions
  • Solaris hosts: combined the kernel interface package into the VirtualBox main package
  • Solaris hosts: support for OpenSolaris Boomer architecture (with OSS audio backend).
  • Shared folders: VBOXSVR is visible in Network folder (Windows guests, bug #4842)
  • Shared folders: performance improvements (Windows guests, bug #1728)
  • Windows, Linux and Solaris Additions: added balloon tip notifier if VirtualBox host version was updated and Additions are out of date
  • Solaris guests: fixed keyboard emulation (bug #1589)
  • Solaris Additions: fixed as_pagelock() failed errors affecting guest properties (bug #5337)
  • Windows Additions: added automatic logon support for Windows Vista and Windows 7
  • Windows Additions: improved file version lookup for guest OS information
  • Windows Additions: fixed runtime OS detection on Windows 7 for session information
  • Windows Additions: fixed crash in seamless mode (contributed by Huihong Luo)
  • Linux Additions: added support for uninstalling the Linux Guest Additions (bug #4039)
  • Linux guest shared folders: allow mounting a shared folder if a file of the same name as the folder exists in the current directory (bug #928)
  • SDK: added object-oriented web service bindings for PHP5

Overall this is a solid new release from Sun – unsure about its stability as I’ve only been running a few VMs (Windows 2003, CentOS and Fedora 12) for about 10-12hrs. Nothing bad as yet.

Download from the VirtualBox site:

  • VirtualBox 3.1.0 for Windows hosts x86/amd64
  • VirtualBox 3.1.0 for Solaris and OpenSolaris hosts x86/amd64

Enjoy!

{lang: 'en-GB'}
Share

In the Zone, Creating OpenSolaris Zones.

November 22nd, 2009 No comments

I’m really enjoying using OpenSolaris as our server / NAS at home, its a different ball game to Linux but an interesting one never the less. One of the cool features of Solaris are the Solaris¬† Zones (or Solaris Containers). Zones are an implementation of operating system-level virtualisation where the kernel isolates multiple instances of the user-space available. Something like chroot but so much more. Unlike running under a hypervisor (like VMWare or VirtualBox), Zone’s have very little (if any) overhead.

As I’ve come to realise, because of the way Solaris works in general, you can have multiple (isolated & secure) Zones for each application service exposed by the server – eg. one for Tomcat, one for Glassfish, maybe both Apache 1.3.x and 2.x, MySql, Postgres etc. Whats more, you can limit how much resources these Zones can utilise. They all have their own configuration including network routing (coupled with OpenSolaris Crossbow) and you can make for one kick ass setup that won’t break another area of the operating system.

In the Zones.

Here’s a guide on setting up a new Zone in OpenSolaris, configuring it and booting it.

Me Against the Music, its all in the global zone

When we first install OpenSolaris we’ve already got ourselves into a zone (the parent to all other zones) which is known as the global Zone.

You can find this by trying out the following to list all the available zones on a virgin install of OpenSolaris.

opensolaris# zoneadm list -vc
 ID NAME             STATUS     PATH                           BRAND    IP
 0 global           running    /                              native   shared

The output will be something like above. Now we can go about creating ourselves a zone for playing around in.

When working with zones, we only need to worry about three commands (damn I love that!). The zoneadm command to manage the physical zone, zonecfg command for configuring the zone and zlogin to login to the zone from the global zone.

First we have to do a bit of planning and thinking about what we’re going to do about this zone.

Here are few things to consider:

  • What do you want to run in the zone?
  • Will it need networking and have it exposed outside of the machine?
  • Where will the zone reside on your disk?
  • Would you like to limit the amount of CPUs the zone can see?
  • Would you like to limit the amount of RAM the zone can utilise?
  • Do you want to automatically boot the Zone when OpenSolaris starts?

For this post, we’re going to create a simple Zone (we won’t install anything).

Toxic Zone

Creating a zone we specify a zone to the zonecfg command.

opensolaris# zonecfg -z toxic

You’ll get something like this appearing because teh zone doesn’t exist, thats fine.

toxic: No such zone configured
Use 'create' to begin configuring a new zone.

Then you will be inside the zonecfg configuration.

Lets configure this zone to have the following:

  • Reside in /base/zones/
  • Autoboot with OpenSolaris
  • Shared IP of 192.168.0.24 bound to physical interface e1000g1

Follow me:

zonecfg:toxic> create
zonecfg:toxic> set zonepath=/base/zones/
zonecfg:toxic> set autoboot=true
zonecfg:toxic> add net
zonecfg:toxic:net> set address=192.168.0.24
zonecfg:toxic:net> set physical=e1000g1
zonecfg:toxic:net> end
zonecfg:toxic> verify
zonecfg:toxic> commit
zonecfg:toxic> exit

This will create the configuration, verify, write it and exit. You can verify it was created by running the list command again:

opensolaris# zoneadm list -vc
ID NAME             STATUS         PATH
0 global           running        /
- toxic            configured     /base/zones

Its currently in a configured state, you can read more about the Non-Global State Model in the documentation. Next thing to do is to install the zone – this will get the base packages setup and configured for use.

opensolaris# zoneadm -z toxic install

Everytime, boot her up.

Next lets boot this bad baby up.

opensolaris# zoneadm -z toxic boot

Now if we do a list again we’ll see that our state has changed to running.

opensolaris# zoneadm list -vc
ID NAME             STATUS         PATH
0 global           running        /
- toxic            running        /base/zones

Now we have to configure the zone itself – just like a real machine. For this we use the zlogin command to login to the zone console.

opensolaris# zlogin toxic
[Connected to zone 'toxic' pts/5]
Last login: Sat Nov 21 17:52:43 on pts/5
Sun Microsystems Inc.   SunOS 5.11      snv_127 November 2008
root@toxic#

After that we’re now in the toxic zone. Anything we do inside here, stays within this zone and won’t affect our global or other zones. But before we continue we really should configure our networking.

First lets modify our /etc/nsswitch.conf file with vi.

...
passwd:     files
group:      files
hosts:      files dns
ipnodes:    files
networks:   file
...

Make sure the hosts entry has dns as above. Next we need to configure the nameservers.

toxic# echo 'nameserver 192.168.0.254' > /etc/resolv.conf

That will create a resolv.conf file with the nameserver which you can get from the global zone as it would be different for everyone:

opensolaris# cat /etc/resolv.conf
nameserver 192.168.0.254

Breath on me, reboot the zone.

Now we can access the networking like the global zone. So you can do a package refresh and update-image too.

toxic# pkg refresh && pkg image-update

If it succeeds we have correctly setup our zone and its ready for use – you may want to reboot the zone however. To do this, exit the toxic console.

toxic# exit
logout

[Connection to zone 'toxic' pts/5 closed]
opensolaris#

Then lets reboot the zone.

opensolaris# zoneadm -z toxic reboot
opensolaris# zlogin toxic
[Connected to zone 'toxic' pts/5]
Last login: Sat Nov 21 17:58:44 on pts/5
Sun Microsystems Inc.   SunOS 5.11      snv_127 November 2008
root@toxic#

Outrageous, removing the zones.

Now how about removing this zone and trying again? First get out of the zone console and back to your global zone. Issue the halt command to shutdown the zone.

root@toxic# exit
opensolaris# zoneadm -z toxic halt

Once stopped simply remove it.

opensolaris# zoneadm -z toxic uninstall
opensolaris# zonecfg -z toxic delete

You can make sure its gone by using the list command. That’s all there is to it!

Now you can consider yourself, In The Zone.

{lang: 'en-GB'}
Share

Ubuntu 9.10 & Mozilla Firefox 3.6 Beta 1!

November 1st, 2009 No comments

Unless you’ve been living under a rock (or near a very large one in the middle of no where) Canonical released the eagerly awaited Ubuntu 9.10 Karmic Koala on Friday. This is probably one of the biggest and coolest release of Ubuntu yet! Make sure you try the Server edition and setup an EC2 private cloud for tinkering – Cloud is where its at! But thanks to Mark Wolfe make sure you see this blog post about some things to do after installing.

Get it from the main download server or from iinet or internode mirrors if your in Australia.

Then there’s Mozilla who released Firefox 3.6 Beta 1 recently too – based on Gecko 1.9.2, download a copy and try it out, its got Windows 7 integration and CTRL+TAB previews which are finally in!

If that wasn’t enough I finally turned 25 today, quarter of a century. Its nice to have a birthday on a weekend – especially a long weekend!

{lang: 'en-GB'}
Share

Java news: $10 Confluence, Jira & Atlassian products, and InteliJ goes opensource!

October 24th, 2009 No comments

In all the commotion I forgot to post about some cool developments in the Java world.

First is that Altassian are (almost) giving away copies of JIRA and their enterprise wiki Confluence for $10 for a pack of 10 users, whats more, they’re donating the funds to Room to Read. Its perfect for small teams, check it out!

If that wasn’t enough Jetbrains, the company behind InteliJ IDEA – one of if (if not the) coolest IDEs around is going to become open source¬† from v9.0! I haven’t used IDEA since 6.0 till just recently and I have to admit the time you save – after figuring out how it works, you’ll be wondering how you’d done java development otherwise. The integration of Hibernate, SQL code in string literals, Spring, RegEx, Xml are just a few of the intelisense items it will figure out.

There are a few caveats, they’re not opensourcing the whole shebang but a subset. If you’re yet to try the IDE download a copy and see.

{lang: 'en-GB'}
Share

Thunderbird 3.0 Beta 4 fixes corrupted summary files!

October 6th, 2009 No comments

Since ditching Outlook after Outlook 2003 (Outlook 2007, 2003 was fine in comparison) came around I’ve been using Mozilla Thunderbird as my ever faithful email client. Its fast, lightweight and not as bloated as Outlook is – couple it with Lightning and you’ll be laughing!

Thunderbird 3 brings some cool features for users with the biggest being tabbed message windows (and calendars etc). If you downloaded the new 3.x betas make sure you get Beta 4, the long standing issue with the Messagebox Summary file being corrupt has been finally addressed. Its been a pet hate for a long time now, sometimes searching a folder can corrupt an MSF (means having to go and remove the MSF so it rebuilds the index!), no more! Thunderbird will now fixup any problematic MSF files in the background, yay!

The search in Thunderbird 3 is a massive improvement over the other clients I’ve used, give it a go!

After you download Thunderbird, make sure you get the latest nightly for Lightning Calendar Addon and Google Provider and use them.

{lang: 'en-GB'}
Share

Free ApexSql Code code

September 22nd, 2009 No comments

Request your free copy of ApexSQL Code by following the directions below!

We are launching a new promotion for the new Online Template Library of ApexSQL Code 2008.

UPDATE – ApexSQL Code for FREE! A $249 value

In an effort to really jump start the ApexSQL Code community and get more templates we are temporarily offer for free, no strings attached, full licenses of ApexSQL Code 2008 w/ 1 yr Maint to anyone who requests one.

The license will be for ApexSQL Code w/ 1 yr Maintenance for Support and Upgrades.

To request it email sales@apexsql.com and include “Free ApexSQL Code” in the subject header. We will process the request and send you your own individual key within 1 business day. These will be fullfilled via the same process as people who purchase them – the only difference is the cost is $0.

We encourage people to post feedback on our forums (bugs, feature requests etc) and post templates.

My goal is to continue this until we get a good number of user posted templates on our Online Template Library.

You will be able to continue to use your key and ApexSQL Code 2008 ad infinitum. To upgrade to ApexSQL Code 2009 (when it is released) would only require a renewal fee of 25% of purchase price. Currently $50.

This promotion could end at any time so get your request in ASAP. The keys will be viable though after the promotion ends.

Note: If you don’t receive a key in 2 business days, please send a second request (third, call etc). We have gotten a lot of requests and it is inevitable that some might get missed on the first time around.

Hurry hurry hurry!

Get Apex SQL Code for free!

We are launching a new promotion for the new Online Template Library of ApexSQL Code 2008.

UPDATE – ApexSQL Code for FREE! A $249 value

In an effort to really jump start the ApexSQL Code community and get more templates we are temporarily offer for free, no strings attached, full licenses of ApexSQL Code 2008 w/ 1 yr Maint to anyone who requests one.

The license will be for ApexSQL Code w/ 1 yr Maintenance for Support and Upgrades.

To request it email sales@apexsql.com and include “Free ApexSQL Code” in the subject header. We will process the request and send you your own individual key within 1 business day. These will be fullfilled via the same process as people who purchase them – the only difference is the cost is $0.

We encourage people to post feedback on our forums (bugs, feature requests etc) and post templates.

My goal is to continue this until we get a good number of user posted templates on our Online Template Library.

You will be able to continue to use your key and ApexSQL Code 2008 ad infinitum. To upgrade to ApexSQL Code 2009 (when it is released) would only require a renewal fee of 25% of purchase price. Currently $50.

This promotion could end at any time so get your request in ASAP. The keys will be viable though after the promotion ends.

Note: If you don’t receive a key in 2 business days, please send a second request (third, call etc). We have gotten a lot of requests and it is inevitable that some might get missed on the first time around.

Get your developers the tools they need to do the job fast and right – ApexSQL Developer Studio is the ultimate combat multiplier for SQL Developers. 7 Best of Class tools – one download, install and discounted price. Click Here for more info.

{lang: 'en-GB'}
Share

ANTS Memory Profiler 5.1 Review

September 7th, 2009 No comments

I recently took a look at the ANTS Memory Profiler 5.1 from RedGate software and posted my thoughts on it at the DeveloperFusion market place. Having toyed with several profilers in the past – DevPartner from Compuware (who’s now someone else who now owns the product) being my primary love since I first came across their .NET version wayyy back in 2002 when I was writing for Australian Developer – see ‘ASP .NET and the Web: Optimising Application Performance’ (who became International Developer who are now no longer around!).

ANTS Memory Profiler Summary

If anyone’s serious about their software you ought to have atleast one profiler (ProfileSharp’s free!) with you to catch those nasty leaks and ANTS MP seems to be the best of the bunch right now. While your at it, take a look at NDepend to add to your arsenal.

I love the fact that I can take a few snapshots, go to the Class list and filter by ‘Disposed objects which are still in memory’ and get a quick list, then drill in to find the sources. Give it ago.

{lang: 'en-GB'}
Share