Archive

Archive for September, 2009

xkcd: Creepy!

September 28th, 2009 1 comment

Source: http://xkcd.com/642/

{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

Whats coming in FreeBSD 8.0?

September 13th, 2009 No comments

I’ve been looking at FreeBSD to run at home, whilst up until now its been mostly virtualised installs (and OpenBSD powers our gateway – 385 days of uptime!). Came across an article describing the changes coming in FreeBSD 8.0 in a nice summary format (similarly, theres one for FreeBSD 7.0 too!)

Well worth the read if your interested in the world of FreeBSD.

{lang: 'en-GB'}
Share
Categories: Beta, BSD, Developer, File Systems Tags: , , ,

InvokeRequired with anonymous delegates for threading in WinForms!

September 12th, 2009 2 comments

Here’s a little cookie from the cookie jar. To quote the legendary Jon Skeet from Threading with Windows Forms:

There are two different ways of invoking a method on the UI thread, one synchronous (Invoke) and one asynchronous (BeginInvoke). They work in much the same way – you specify a delegate and (optionally) some arguments, and a message goes on the queue for the UI thread to process. If you use Invoke, the current thread will block until the delegate has been executed. If you use BeginInvoke, the call will return immediately. If you need to get the return value of a delegate invoked asynchronously, you can use EndInvoke with the IAsyncResult returned by BeginInvoke to wait until the delegate has completed and fetch the return value.

Here’s a simple, uncluttered version you can utilise and reuse – this example just adds a list item to the listview.

        public void Add(ListViewItem item)
        {
            if (m_ListView.InvokeRequired)
            {
                m_ListView.BeginInvoke(new MethodInvoker(() => Add(item)));
            }
            else
            {
                m_ListView.Items.Add(item);
            }
        }

First we check whether we’re executing on the GUI thread or not (InvokeRequired), then execute a delegate thats parsed into the MethodInvoker calling itself using a lambda expression. This code is VS2008 compatible (.NET 2.0 +).

For a non lambda version:

      
        public void Add(ListViewItem item)
        {
            if (m_ListView.InvokeRequired)
            {
                m_ListView.BeginInvoke(new MethodInvoker(delegate
                                                             {
                                                                 Add(item);
                                                             }));
            }
            else
            {
                m_ListView.Items.Add(item);
            }
        }

The advantage of using an anonymous delegate is that by design, delegates are able to use local variables and parameters scoped in the containing method. Therefore we didn’t need to create a custom delegate with the signature to pass onto the method.

{lang: 'en-GB'}
Share

Which is faster? Carrier pigeon or South African Telkom Broadband?

September 12th, 2009 No comments

Thats not a trick question either!

In an attempt to show just how slow South Africa’s Telkom broadband is, a frustrated IT company had a race to see which would be faster: transferring 4GB by sending a USB drive via pigeon 60 miles away, or transferring the files via the broadband connection. There were even rules in place so as to not have any unfair advantage over the broadband such as “birdseed must not have any performance-enhancing seeds within.” It was faster to send the data by pigeon than by broadband. It took the bird about an hour to reach the recipient station, and it took another hour to transfer the data to the other computer. The file being transferred via the broadband connection was still at 4%. Telkom said that it is not responsible for the firm’s slow Internet speed. Winston, the bird, is safely back in the IT office, probably enjoying birdseed without any performance-enhancing caplets mixed in.

Source: OSNews

{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

Lets Get The Party Started: Windows 7 House Party!

September 3rd, 2009 No comments

Excited about Windows 7 launch to the public in October? Organise a party and get some swagger!

Choose a day from October 22-29 and if you’re selected, you’ll not only receive a special Signature Edition of Windows® 7 Ultimate but your very own Windows® 7 Party Pack.

Windows 7 Partaye!

Countries allowed to partaye!

  • Australia
  • Canada
  • France
  • Germany
  • HongKong
  • India
  • Italy
  • Japan
  • Mexico
  • Spain
  • UK
  • USA

Get the details and lets get this party started. (Did I mention I don’t like Pink?)

{lang: 'en-GB'}
Share

Redhat 5.4 released, CentOS 5.4 is coming soon!

September 3rd, 2009 No comments

If you haven’t heard already, Redhat has released the eagerly anticipated 5.4 release of Redhat Enterprise Linux at their Redhat Summit in Chicago. As expected, Redhat looks to have moved from using Xen as their favoured virtualisation hypervisor to using KVM (which is an integral part of the Linux Kernel). All this will eventually go into RHEV.

All the changes in this release are documented in the  Release Notes, unfortunately Ext4 is still not considered usable in this release (they’re targetting for RHEL6 possibly).

So what of the RHEL clone CentOS? Possibly a 2-4 week delay it seems. WOO! In the meantime, upgrading from 5.3 is easy peasy.

{lang: 'en-GB'}
Share

Mounting and activating LVM Volumes from BootCD to recover data in linux

September 2nd, 2009 3 comments

I’ve been working heavily with Red Hat Enterprise Linux (and subsequently CentOS) the past few months (shh! dont tell my MSFT homey!) and one of the great things about CentOS and RHEL is that they both install using LVM – which is a helluvah lot easier when time passes and you realise your running out of space on a drive.

But today I had to recover some data from an LVM partition and copy over some bits to another partition without actually booting the CentOS install (it was bj0rked by yours truely!). What to do? Throw in a Ubuntu LiveCD (or another) and just mount the partitions 🙂

First thing we need to do is install LVM – remember we need to be sudo for these to work.

$ aptitude install lvm2

Then scan for any available physical volumes on any of the drives.

$ pvscan

Scan for any Volume Groups that may be present.

$ vgscan

Now activate any of the Volume Groups that it finds, running this makes the logical volumes known to the kernel.

$ vgchange –available y

Then let it scan for any Logical Volumes on any drives

$ lvscan

After running the logical volume scan it will show the path to the LVM mount path, for my boxen it gives something like this

ACTIVE            ‘/dev/LVM/Data‘ [5.26 TB] inherit

You simply mount the path specified and browse like normally 🙂

$ mount /dev/LVM/Data /mnt

Enjoy.

{lang: 'en-GB'}
Share

Ars Technica reviews Mac OS X 10.6 Leopard

September 2nd, 2009 No comments

The only review you’ll ever need to read for the newly released Apple OS X 10.6 Leopard from Ars.

Having used 10.6 for a few days now (yes believe it or not I do have a couple of Macs at home!) I’ve felt it to be snappier than the original Leopard the Macbook and iMac shipped with. Still my main box is a Windows 7 machine 🙂 But I’d highly recommend installing 10.6 if you’re running 10.5 *after* you’ve made sure all your software is compatible, unfortunately Adobe CS3 is not supported in 10.6 (I mean not working in Snow Leopard), so I went out and got CS4 for Mac.

[Update: No one said anything about CS3 being “not supported” on Snow Leopard. The plan, however, is not to take resources away from other efforts (e.g. porting Photoshop to Cocoa) in order to modify 2.5-year-old software in response to changes Apple makes in the OS foundation.]

Lovely.

{lang: 'en-GB'}
Share