Blog posts page 39 of 44

The hunt for a PSP in time for Christmas

My little brother just decided he’d like to merge his November birthday present and his Christmas presents in the hope I’d get him a Sony PlayStation Portable (PSP).

I decided to beat the seasonal rush and get one now and checked out my usual on-line suppliers of merchandise… Amazon, out of stock despite their Google advert claiming otherwise, Play and MX2 out of stock (Play now have it back in stock for £179.99 including Donnie Darko UMD). A few other stores I’d not used were also out of stock or rather vague on the whole issue.

Fahrenheit & The Movies

It’s been quiet here of late and while I did want to post I didn’t have anything ready nor did I want some whining apology with no content.

For the last few weeks I’ve been a recluse getting my Open University TM427 project wrapped up and delivered and now that’s out the way I’ve been kicking back and relaxing with a few games and a bit of retro computing.

Do not expose the implementation

  • đź“…
  • đź“ť 548
  • đź•™ 3
  • 📦 .NET

One of the things we are taught in object oriented design is that the outside world should not be exposed to the complexities of how our object achieves their goals. Other developers are busy, don’t care and really don’t need to know. It is a sound idea and goes hand-in-hand with ease of use.

Televisions used to expose the implementation with a single tuning knob that had to be adjusted every time you wanted to watch another broadcast. With time engineers replaced this with an interface that hid the implementation, specifically the concept of channels where each one could be individually tuned and switched between on a whim. Implementation no longer exposed.

NullableTypes 1.3.1 beta

  • đź“…
  • đź“ť 221
  • đź•™ 1
  • 📦 .NET

In my early .NET days I ran into a problem many developers integrating with other systems do. Unlike XML with it’s xsl:nilxsl:nil or database fields with <null><null> the standard .NET value-types don’t support the concept of null for missing values. It’s such an important omission that Microsoft implemented it in .NET 2.0 (now gone RTM and up on MSDN) with a generics class named Nullable<T>Nullable<T> and a little syntactic sugar to help it go down smoothly.

For those of us still working with .NET 1.1 the NullableTypes project provides null-capable versions of all your favorite .NET types and unlike the SqlTypes included in .NET these match the System types for precision and provide support for .NET remoting and web services.

What next for Mac OS X?

  • đź“…
  • đź“ť 411
  • đź•™ 2
  • 📦 Apple

Well obviously the hot item for the next major release of Mac OS X will be Intel compatibility but I’m hoping they’ll get a chance to squeeze some new features in too. Here what I’d like to see next:

Apple’s new iMac-only media centre interface seems to gave garnered quite a bit of a attention. So much so that enterprising individuals have hacked it onto their Mac. Apple should make it available to non-iMac users, possibly as part of 10.5, the next iLife or maybe even bundled with the optional remote control.

TV in the Channel Islands

I’ve been thinking of giving TV another shot, especially if I can get a lot of free channels and PVR functionality with no subscription. I’ve been looking about at the current state of television out here:

Free but a mere four channels and no apparent plans to give us even channel Five.

Apple announcements and a little fumbling

Apple have announced the fifth generation of iPod. Improvements include better battery life, a thinner enclose, better screen and now in both black and white.

But not everything is peachy. Gone is the FireWire support, the remote socket and there is still no sign of Bluetooth. Quite how you are supposed to switch tracks without pulling your iPod out your pocket I’m not sure.

Automatic comparison operator overloading in C#

  • đź“…
  • đź“ť 531
  • đź•™ 3
  • 📦 .NET
  • đź’¬ 1

Abhinaba has blogged on the painful C# operator overloading experience.

The basic problem that is if you want to overload one, you soon end up many of the tests including == != < <= > >= Equals, Compare and probably CompareTo via IComparable when it turns out one function can provide everything needed in general use.