If they can do it in Paris…
…why can’t we do it here in the United States?
Daily Paper for Children Defies the Craze for Digital
Every time I read something like this I’m embarrassed and depressed about the state of our education system. Do your kids read the newspaper? Maybe they should…
You should follow me on twitter @dwradcliffe.
Transloadit
This is pretty cool. This week a small startup launched called Transloadit. Self titled as “Fantastic file uploading for your web application,” it seems like this might actually be pretty fantastic. Once you sign up for this (pay) web service you can point your upload forms to it and it will receive, resize and store your images to S3 for you. They even provide a nifty little jQuery plugin to make nice upload forms.
Image processing is always the hardest part of an app and this does all the hard work for you. Take a look and see if it might help you!
Launch Blog Post: http://kevin.vanzonneveld.net/techblog/article/announcing_transloadit/
You should follow me on twitter @dwradcliffe.
Microsoft PivotViewer
It’s not often that I’m impressed by something from Microsoft. I use Microsoft tools and software all the time but I’m usually not too excited about it. However… The Silverlight PivotViewer is awesome. But don’t take my word for it – take a look yourself. Basically this control allows you to visualize and sort thousands of items at once. I won’t go into detail…if you want to read more you can read Scott Guthrie’s blog post about it.
http://weblogs.asp.net/scottgu/archive/2010/06/29/silverlight-pivotviewer-now-available.aspx
The sample app they built works against Netflix’s database of instant watch movies. It works well and it’s pretty neat – something I might actually use! Take a look: http://netflixpivot.cloudapp.net/
04.30.10QUOTE – Simplicity
You’re not going to need to handle N kinds of book loan, you’re going to handle at most two, so don’t write some complicated code to handle the general case. You’re not going to need three classes, one interface and two event types for your “please wait” animation because there’s only ever going to be one and it’s always going to be while printing. Just write a function with a callback and release – the simpler it is, the quicker we can write it today and the more easily we can modify it tomorrow.
- coderoom
Outlook 2010: Ignore Conversation
Here is a really neat new feature of Outlook 2010! In addition to the threading features built into this version, outlook now has a tiny little “Ignore” button at the top left of the ribbon.

This button will delete the selected email and also delete any future emails in the same conversation! This could be extremely useful in situations where reply all is overused. This happens in corporate environments all the time. Someone replies to everyone and soon there are 15 other emails replying to everyone. If you don’t want to see them, now you don’t have to!
You should follow me on twitter @dwradcliffe.
Windows Authentication in Firefox
Many .NET based web apps and enterprise web apps use Windows authentication so you don’t have to ever login – your browser automatically uses your windows credentials. For a long time I assumed this only worked in Internet Explorer but I recently found that Firefox will do this too! All you need to do is tell it which websites are allowed to use the windows credentials and you all set. Here are the steps:
- Visit about:config in Firefox.
- You might need to click the “I’ll be careful, I promise!” button to continue.
- Use the filter at the top to find the following three properties (one at a time)
- network.negotiate-auth.trusted-uris
- network.negotiate-auth.delegation-uris
- network.automatic-ntlm-auth.trusted-uris
- Double click the property and add the URL of the site you are trying to use Windows authentication with to the value. If you have several sites, separate them with commas.
Thats it!
You should follow me on twitter @dwradcliffe.
03.18.10Emotions of those we serve
This morning I was reading a post by Ben Tilly about addressing emotions in web forms. He has a great idea. Actually, Kevin Hale, the CEO of Wufoo had a great idea.
In the process of trying to fill out a ticket you have the option of reporting your emotional state. Which can be anything from “Excited” to “Angry”.
I wonder if this idea could be implemented on any of our member-facing support forms or surveys? I think this idea is rock solid and might help make our members happier. A follow-up survey after the request was completed would check the emotions again. Is the member happy now? If not – we are doing something very wrong.
Read it all: http://bentilly.blogspot.com/2010/03/address-emotions-in-your-forms.html
You should follow me on twitter @dwradcliffe.
Congrats to Ryan Bingham
Tonight was the 82nd Oscars. I’ve never really paid much attention to events like this before but tonight I was glued to the TV watching to see who would win. One of my clients, Ryan Bingham, was nominated for Best Original Song for “The Weary Kind”, the theme from the film “Crazy Heart”.
If you also watched tonight you will already know that Ryan won! I would like to congratulate Ryan Bingham for his excellent work over the past year and and congrats also to his crew and team that helped make this possible.
Visit Ryan Bingham’s website at www.binghammusic.com.
If you didn’t catch the awards ceremony, you can watch Ryan’s acceptance speech.
UpdateModel requires properties
I was working on a feature at work this week on a ASP MVC project. I was attempting to use UpdateModel to update an object retrieved from the database with values from the POST. If you aren’t familiar with it, ASP MVC has a “magic method” to map these POST values to an object. One simply needs to call
UpdateModel(myObjectFromDatabase);
and the new values will be changed on the object.
That is all fine and dandy unless it doesn’t work. I had checked everything. I could verify that the values were in the Request header. I could verify that UpdateModel was called and did not fail. The values simply were not updated.
I finally found the key (thanks to my supervisor). The object I was updating had a mix of auto-properties and fields. Apparently, UpdateModel will only update properties. A quick change from a field to an auto-property and everything worked as it should. Thanks Aaron!
02.20.10Clean Phone Numbers
I’ve been working with a lot of person type data recently at work and I’m using data from multiple sources. Not just two databases but two separate systems with similar and yet incompatible data. One of the biggest messes was the phone numbers. I need to convert a phone number from a completely un-normalized format to a very strict format. I’m no regular expression genius so thankfully a quick Google search produced a nice PHP method of doing pretty much exactly what I was looking for. (http://cnanney.com/journal/code/cleaning-phone-numbers-with-regex/) I took that method and re-wrote it in C# and tweaked it a little for my application. I’m sure this isn’t the absolute best way to do this but it works for me.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | const string pattern = @"\D*\(?(\d{3})?\)?\D*(\d{3})\D*(\d{4})\D*(\d{1,8})?"; string num, ext; var matches = new Regex(pattern).Match(number).Groups; if (matches.Count > 0) { if (matches[3].Length > 0) { if (matches[1].Length > 0) { num = "(" + matches[1].Value + ") " + matches[2].Value + "-" + matches[3].Value; } else { num = matches[2].Value + "-" + matches[3].Value; } } else { num = null; } ext = matches[4].Length > 0 ? matches[4].Value : null; } else { num = null; ext = null; } |