Overcomplicating the issue

One of the main issues that some people have been having with the FriendFeed Comments Plugin is that sometimes, seemingly randomly, it will fail to match up a post with the information from FriendFeed.  There are a couple of reasons why this does happen, but the problems all centre around the fact that I have to use the post title to match up the details because there’s no other uniquely identifiable piece of information available.

This is of course a problem when people edit the title, either due to a typo or a editorial change.  Also there seems to be some string encoding issues, especially around the 32,000 different characters that can render to look like an apostrophe.    I’ve spent quite a lot of time trying to strip out the special characters and normalise the titles so I can be sure of getting a match between what’s on the blog & what’s coming back from the FriendFeed API.  I even tried just stripping out non-alphanumeric characters, but then I had a complaint from an amazingly patient person who’s site was using Cyrillic.  So what I’ve got now is a rather hodgepodge solution where it tries to strip out as many characters as possible, then does an md5 hash on that to use as the id, and some people are still having issues where, for no apparent reason, the posts won’t match up.

Continue reading

People aren't going to say what you want them to

I was listening to the L33t Tech Podcast and they mentioned that Twitter developer Alex Paine said that one of the things that’s causing all the stability problems for them is that Twitter was never designed as a communications platform where people would have back & forth conversations, it was meant to be a CMS.  Robert Scoble then said that the Twitter developers assumed that everyone would just answer their question “What are you doing?” 

image

But now with the @replies and #hashtags people are using it for all sorts of different things.  People are using it as  a bookmarking service, a todo list and geo-locator and so on.  Full-on conversations happen on Twitter. And although it may not be the best platform for it, once a conversation gets going, it tends to have its own momentum. Sure sometimes you can say “lets take this over to FriendFeed” or “lets go onto IM”, but if it’s a conversation where people have passionate opinions, that probably isn’t going to happen.  People aren’t going to stop and think first.  Usually.

Facebook ran into this same issue over the little word ‘is’.  Originally all Facebook status messages started with ‘is’, as in ‘Glenn is wasting time on Facebook instead of working” (Anyone from the office reading this, that was just an example, really).  They expected people to use it for the same purpose as twitter, as a ‘what are you doing/thinking right now’.  But of course, people didn’t want to just do that, they wanted to be able to say other things, maybe things not directly about them, or maybe in a different tense.  So you ended up with this weird Facebook-grammar like ‘Glenn is wow it’s really hot today’ (see this group for a good list of them), or you had to twist what you were going to say into something about you right now.  So really, Facebook was slowly molding you into a narcissist.

Continue reading

Why you should have your resume on your site

WillworkI have my resume on this site.   It’s in plain HTML, marked up with the hresume microformat.  A number of people have asked me why I’ve done this, whether it is not just a waste of space.  The fact is that even though I have no email address or phone number on this site, just the contact form, I get at least 2-3 messages a month from recruitment headhunters with job opportunities.  Quite a lot of these are decent roles, they may not be exactly what I’m looking for, but it’s a good thing to get your name & resume out there.

One of the main reasons for this is that if you type “.net resume Sydney” into Google, my resume usually turns up on the first or second page.  I know some people have a resume linked to on their site in Word or PDF format.  Now this is fine, and Google can index both formats, but it is far easier for the recruiters to scan HTML quickly and there’s no need to load other applications.  They go through a lot of resumes every day, so anything you can do to make yours more visible is going to help you out. 

Now make it a cut-down version, don’t give them everything, and I really don’t suggest putting your address, phone number or email address on there.  As I said, as long as you have a contact form of some sort, you’ll still get contacted.  Also I suggest leading with a summary, sort of a mini-cover letter.  Outline what you do now, briefly what you have done & what you’re looking for in your next job.

Also, keep an up-to-date version of your resume in Word or PDF format that you can send back to recruiters when they contact you.  I keep a copy on a USB thumbdrive that I carry everywhere.  Once a recruiter contacts you, they’re going to want a file that they can print out & send to the prospective employers.

One more thing I’d mention is this: if you’re not interested in a new job, still put your resume up.  You may not need a job now, but odds are that you will within the next year or two.  By putting your details out there you increase your visibility and increase the likelihood of getting a job when you need it.

Never turn down an opportunity.

New release for the FriendFeed Comments WordPress plugin – remembering your details

I’ve just checked in a new version of the FriendFeed Comments plugin, which you can download here.  If you’ve already got it installed it should be showing up that an update’s available any moment now.

There’s a lot of code tidy ups and debug improvements, but the major change is the addition of the ability to remember your FriendFeed username & API Key when you comment on or like a post.  There’s now a ‘remember’ checkbox under the API Key field (which is now password masked, like it always should have been!).  If you tick that, it will drop a cookie onto your computer which means you don’t have to keep typing in your username & API key for that blog.

An important security note: the cookie doesn’t contain any identifiable information in it.  It just has a hash key value that is used to look up your username & api key in the blog’s database (which is stored in plain text in the blog’s database).  There is no way through the plugin for the site owner to see your API Key, but if they open their database directly, it is possible.  As in any other case, only share your API key with sites that you trust.  If you don’t tick the ‘remember’ box, your username & api key will not be stored anywhere.

As always, try it out here and then give it a go on your site if you like.  Any problems, please let me know.

FeedDemon quietly updated to version 2.7

Amit Agarwal from Digital Inspiration has posted that FeedDemon, the best RSS reader ever, has been updated to version 2.7.  It’s kind of unexpected as the last version that was announced by Nick Bradbury was the 2.6.1 RC2.   Nick has added Amit’s post to his shared clippings folder, but other than that there’s been no ‘official’ announcement.  FileForum seems to have gotten the update first, and then the Newsgator download page was hastily updated to the 2.7 version (the page still mentions the 2.6 version, but the download file is for 2.7).

FeedDemon26Odd

Continue reading

The UpdatePanel is evil

How’s that for an inflammatory title?

Let me prefix this post with a brief disclaimer.  I like Microsoft’s .NET platform.  C# is a great language to work in, it’s flexible & powerful.  Plus, the .NET framework contains some great functionality that makes my job so much easier.  In short, C# rocks.

Having said that, I have some issues with ASP.NET. Deane Barker from Gadgetopia has highlighted some of these issues, and while I’m not quite as down on it as he is, I think he makes some good points

ASP.Net is such an abstraction. It’s like one day Bill decided that we all knew too much about how the Web worked, and he needed to invent a framework that changed all the rules and hid all the scary HTTP stuff so that a generation of Web developers that he trained on his stuff exclusively would have a very skewed perspective about how the Web actually worked.

I hope that didn’t sound arrogant, but I do think that if you’ve never done any Web development except ASP.Net using Web Forms, then there’s a lot you missed about Web development.

I think the UpdatePanel released with the ASP.NET AJAX Extensions really demonstrates this issue.  The UpdatePanel is really powerful.  It allows you to write your code essentially the same as you always have, with a few small modifications.  You then just wrap your ASP/HTML controls in an UpdatePanel and hey presto, you’ve got them running as AJAX controls.  No page refreshes, no postbacks.  Except that last one isn’t true, it just looks true.  On each AJAX event (that is, any event that’s wired up in the code behind for a control that’s a trigger for an update panel), the page does a postback.  The full page load life-cycle, including the view state.  It has to be this way, or how else could you still access all the values and states of the controls in your code behind methods?

This is just the problem, it makes the development of AJAX-type sites too easy.  You don’t have to know what’s going on behind the scenes, you don’t have to understand the asynchronous calls made & the HTTP processes going on.

Now, this may not be all that important if you’re on a small site, with very few steps in the page life-cycle implemented, and small view state.  But if your site is large and complex, and you have a lot of controls on the page (ie large view state) this becomes a real issue.  If you page currently takes a couple of seconds to load, due to complex processing and data connections, then on every AJAX call, this is how long it’s going to take.  Obviously you won’t need to wait for the full page render time, but this is not usually the most time-consuming part of the page load process. Also, you should always make sure you don’t double handle stuff by wrapping as much as possible in a if (!IsPostback) block, but if the page is complex, this will still not always be enough.

Continue reading

Today's Music: Neil Diamond – Hot August Night (1972)

Cracking out the retro music this week. Songza is letting me pull out the old music that I haven’t listened to in ages. Was listening to They Might Be Giants – Istanbul when it recommended Neil Diamond. I was never a massive Neil Diamond fan, but Hot August Night is a great live album, so here’s a couple of my favourites.

Now Songza’s got me on to Charlie Parker, gotta love the old Jazz.

The 'unnecessary' Scout is released by Office Labs

Despite Microsoft Senior VP Chris Capossela saying that a search interface for the new Office ribbon device was unnecessary, Microsoft Office Labs yesterday released the internal project called ‘Scout’, now given the far less interesting title ‘Search Commands’.  What is it with Microsoft having cool development names and then giving the products really boring release titles?

Anyway, the plugin adds another tab to Word, Powerpoint & Excel.  It’s added as the last tab, but helpfully, you can just click ‘Windows Key + Y’ and it will jump to the search box from the application. 

image

All it really is is a search box, a bunch of suggestions plus a gigantic help button. It is very useful though.  Just start typing in the box and it will come up with a list of commands related to what you’ve typed in.  It starts with partial matches and narrows down as you type.  What is particularly handy is that it isn’t just doing a text match on the name of the commands, it’s doing a contextual match too.  The example given in the help tutorial is that if you enter ‘background’ it comes up with a bunch of commands related to document backgrounds (in Word).  This includes things like Watermarks, changing themes and shading.  I’m not sure how this is done, there must be some sort of categorisation for the application’s commands behind the scenes.

Continue reading

Windows XP Service pack 3 RTM, public release due April 29

Microsoft has announced that Windows XP Service Pack 3 has have been RTM.  This means that OEM providers and Enterprise customers will be getting it in the next couple of days, while it is due to be released via Windows Update & the Microsoft Download Centre on April 29th.  A PDF with an overview of the contents of the Service Pack is available.

This is a much smaller update than the previous 2 SP releases, especially SP2 which added a lot of functionality, especially security.  According to the PDF

With few exceptions, Microsoft is not adding Windows Vista features to Windows XP through SP3. As noted earlier, one exception is the
addition of NAP to Windows XP to help organizations running Windows XP to take advantage of new features in Windows Server 2008.

Continue reading