OffBeatMammal

Searching for monkeys in Cyberspace
Microsoft 10

Windows Mobile Fire Starter Event

clock May 5, 2008 21:12 by author offbeatmammal

Did you know that 5 of the 10 top selling ‘Smart Phones’ in the US run on Windows Mobile (yes, even more than the iPhone)?

Have you always wondered what it takes to write something like ‘Bubble breaker’ and how you can get started on an applications that could get used by millions of people around the world

If so, then the Mobility Fire Starter Events are for you!

The Mobility Fire Starter events are either a 1-day seminar or a 3  day lab with in-depth coverage of building applications on the Windows Mobile platform.

You will be introduced to the nitty gritty of writing applications on the Windows Mobile platform. In a typical Fire Starter fashion, the day begins with something really simple and build to more complex applications by the end of the day.

The following seven areas will be discussed in detail:

· All About Windows Mobile
· Windows Mobile for Line of Business
· The Tools
· Managed Development
· Data Management Strategies
· Performance and Optimization
· A Whole New Level

All you need some basic level of understanding of the .NET platform. The event uses familiar tools such as Visual Studio, the .NET Compact Framework, SQL Server Compact Edition and more.

There are only a few events left in the US and they’re filling up fast (I’ve got my place in Redmond booked!)

Where When Days
Redmond 05/13/2008 1
Memphis 05/13/2008 3
Houston 05/20/2008 3
Mountain View 05/21/2008 1

Thanks to Jason for the heads up and Loke for an insight into the sort of things the event contains.

If you’re a developer looking to get a headstart on the most open smartphone development on the market you really need to be there…



The Robots are coming

clock April 24, 2008 20:10 by author offbeatmammal

So, your plans for world domination didn’t quite go as you hoped. You clone army didn’t stand up to repeated photo-copying and so it’s back to the drawing board.

Rather than mope around in your hidden lair of darkness (or your bedroom) why not get back into the fray… but this time you could focus your efforts on creating a virtual army of smart robots to do battle – or at least compete in a series of challenges to determine the winner.

While most mad scientists have to assemble their robots from a scrap-yard of parts using plans downloaded from some of the weirder parts of the internet you have an advantage…

RoboChamps

You only have to develop the control package for the robot which will compete inside a virtual environment. To get started you’ll need to install and set up the Microsoft Robotics Studio (a free add-on that works with trial and express versions of Visual Studio) and you can develop using your favorite .Net language. Once tested and ready to rumble you upload the Microsoft Robotics Developer Studio 2008 playback file (.PLB) and some supporting documentation and … may the best robot win!

Vista sidebar gadgets and embeddable BotCards will let you stake out a claim and keep track of your progress – but if you do well and are one of the finalists… well, you’ll just have to read the clues from the RoboChamps League Commissioner to find out…



Are you still using IE6?

clock March 25, 2008 10:22 by author offbeatmammal

IE7 has been available for a couple of years, and IE8 has just gone into beta. Firefox 2 is getting on nicely with v3 in the wings and even Safari with version3 is looking pretty good on Windows. Some people even like Opera (actually, it’s pretty cool on the Mobile platform).

So why are folks still persisting in using IE6? 31% of internet users in recent reports. That’s almost a third. More than all the non-IE browser population combined.

It’s old, and it’s got some quirks. And those quirks make developers lives a misery (I should know, I spent many happy years wrangling browser incompatibility issues).

popdown.gif

If all those folks using a version of any browser older than IE7 could just upgrade, get with the program and do their bit (it’s only a few moments to download and install and it doesn’t even insist on a legal copy of Windows these days!) then developers could concentrate on making great web applications using all the cool Ajax, Silverlight and Javascript features without having to worry about testing a load of different quirky behaviors.

It’s not just old versions of IE that are a problem – if you’re running anything older than the current version of a browser then you’re part of the problem – be it Firefox, Opera, IE, Safari, Maxthon or one of many others. The newer browsers still can’t quite agree on what standards they’re complying with and how they interpret some of the instructions in the standards (and I’ve read some of those documents… they’re not exactly unambiguous in places) but they’re better.

I’m not saying you should run business critical processes on bleeding edge beta versions of IE or the alternatives, but at least upgrade to the latest “released” version – you’ll save a lot of developers a lot of pain.

Please. Save the developers. It’s a great cause and supporting it won’t cost you much more than a few moments of your time.

savethedevelopers.gif



Silverlight SDK Update

clock November 16, 2007 16:16 by author offbeatmammal

Just in time for folks taking the Thanksgiving week off to catch up on coding that Silverlight app they've been dreaming of.... there's an updated Silverlight 1.0 SDK to get you started.

For folks with existing Silverlight applications it's worth grabbing and updating your Silverlight.JS as  it has an improved first-time install experience as well as better performance (which is always welcome).

Grab it from the November Silverlight 1.0 SDK Download page.



Using logic inside a SQL Select statement

clock July 12, 2007 00:03 by author OffBeatMammal

I've been using SQL in various forms for 20 years a very long time but I still don't consider myself to be a particular export. I've found out the hard way some pretty handy performance guidelines and helped folks over little hurdles but I love it when I'm trying to sort out a problem and discover something I didn't know (but it's probably really obvious if only I ever read a manual!)

Todays little challenge was fun. I wanted to display all records in a table where we recorded a total vote and the number of votes in descending order of average vote.

The problem was I needed to calculate that average (total vote divided by number of votes) but some of the rows had not received any votes so the result would be a divide by zero error.

The solution turned out to be a CASE statement inside the SELECT. I've used COALESCE before to zero out a null column in a query but this is so handy I wish I'd known about it before!

So, an example of using the case statement in a query to solve my problem. The rate_total and rate_vote_count columns are both integer in the database so I needed to cast them to decimal firstly so the math would return a decimal and then truncate as I only cared about one decimal place.

My query ended up something like this:

SELECT rate_id, CAST(CAST(rate_total AS decimal(8, 1)) / CASE WHEN rate_vote_count = 0 THEN 1 ELSE rate_vote_count END AS decimal(2, 1)) AS rate_avg FROM upload_rate WITH (nolock) ORDER BY rate_avg DESC

It's not the pretties code by any stretch of the imagination but the magic is on the second line....

if the rate_vote_count is zero then the CASE returns 1 (to avoid a divide by zero error, but 0/1 is the same as 0 so the query works as wanted) and if it's 1 or greater than it returns the value in the column enabling the maths to be performed correctly.

Another handy thing to file away



A P2P CDN - spreading the load

clock June 25, 2007 22:31 by author OffBeatMammal

On one of my discussions on performance I mentioned in passing the topic of Content Distribution Networks (CDNs) but as a couple of people have emailed me to point out that while they're great at taking the heavy lifting (especially for static pages) they can be rather expensive....

Well, that doesn't always have to be the case...

A few years ago I came across a free experimental Peer-to-peer CDN called Coral running on top of the Planet Lab infrastructure. By the beginning of 2006 their 260 servers scattered worldwide were supporting 25 million requests per day from more than 1 million unique clients and it's still going strong.

What makes Coral so interesting is that while a publisher can choose to use it (simply by appending .nyud.net:8080 to the hostname of the URL they want handled by the network) but if a site is going slow a user can choose to view that site through Coral simply by altering the URL they reference.

So, you could access this site at http://blog.offbeatmammal.com.nyud.net:8080/blogs/obm/default.aspx and automatically get the content delivered via Coral or I could choose to hardcode (say) all my images to be served from that URL in order to reduce the load on my server.

That flexibility makes it very easy to turn on and off as you need to. You can even use an Apache mod_rewrite or similar for IIS to turn it on and off for you (for instance at times of high load off-load all images and static pages to the CDN by activating the URL rewriter) though make sure you check the examples for the re-write rules to make sure you don't get stuck in an endless loop of redirection!

You can use Coral for any sort of content - html pages, images or mp3 files (for instance as Mangatune are doing) - you can get a benefit from fairly frequently changing pages (as long there is value in caching content for at least a few hours) but very dynamic pages are going to need to come back to the server to remain 'fresh'.

Coral is free to use but if you can it would be great to help out on one of their sister projects - Illuminati - by embedding a small code fragment in any pages on your site to help them map the internet. You can help with the illuminati project even if you're not using Coral for content - every site hosting their fragment helps improve the quantity and quality of their data.

Eventually they plan to open up a a true p2p platform so anyone can offer bandwidth and cache space but for now it's supported as a research project.



Nibbles for Silverlight and Expression

clock June 21, 2007 20:10 by author OffBeatMammal

New tools can be hard to get to grips with. Especially when they're dealing with a new technology like Silverlight and just for good measure blurring the boundaries between designers and developers.

Luckily a new site called NibblesTutorials has launched to provide bite-sized introductions to what you can do with Expression Blend to build silverlight projects.

Celso Gomes (the designer who's developed these tutorials) has a blog explaining the philosophy and showcasing new additions... and they're simple enough for me to follow without getting totally lost!

The cool thing is that the site is entirely built in Silverlight (so don't forget to install the runtime first).



Ask a SQL Guru

clock June 11, 2007 16:52 by author OffBeatMammal

I know a little bit about making SQL work for a dynamic website, but I'm no world renowned expert, so I was really interested to see FrankArr post about a new service called AskaSQLGuru.com.

The concept of this free service is that if you have a SQL Server question simply Skype your question to askasqlguru (or call them on 877.443.3893) and they will create a personalized screencast with an answer to your question.

Check out their blog for some sample screencasts and handy tips, and see why these guys have MVP status.



Popfly - it's mashups for the rest of the world

clock June 1, 2007 03:52 by author OffBeatMammal

When I first heard about Popfly I didn't really grok it but now I've had a week or so to play with it and try to make sense of it... it's really cool.

Everyone talks about mashups and how they're changing the rules on the interweb... but too often it still means a lot of laborious programming and testing and delving through API documentation.

Yahoo! Pipes was supposed to make it all better, and if fact from a programmers perspective it's certainly made things easier.

Where Popfly really shines though (and I totally agree with Chris Pirillo on this) is that it makes mashups a totally graphical, drag'n'drop no-code experience that even I can get my head around....

15 mins after signing in I had my first mashup running (Virtual Earth showing the 5 latest Twitter posts updated every 30 seconds)

Once you've built a Popfly mashup you're not limited to running it on the Popfly site. You can embed it on your own site, or on Spaces or even download it as a Vista gadget.

Even at this very early alpha stage the capabilities of the basic no-code tool are pretty fantastic. Add to that the very simple coding language they've implemented and anyone who can code in JavaScript, PHP or VB/C# is going to have no problems extending this.

I can only imagine the power that's going to roll into here as the team add more blocks (wrappers for APIs or output/display mechanisms) and fine-tune the UI.

As an example of what Silverlight can do (itself still a product in development) it's even more impressive - a Microsoft team really eating our own dogfood (and finding that it tastes just fine!)



LOLCode

clock May 29, 2007 20:52 by author OffBeatMammal

Who needs C#, VB or Ruby when you can use LOLCode

What I want to know is when it’s going to be available to write managed code for a Silverlight app…

LOLCode



Search

Twitter


follow OffBeatMammal at http://twitter.com

Blogroll

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008

Sign in

Archive

Tags

Categories