This is Steve Wortham's Typepad Profile.
Join Typepad and start following Steve Wortham's activity
Join Now!
Already a member? Sign In
Steve Wortham
Recent Activity
StackOverflow already has favorites. Just click the little star next to a question.
The sad thing is that in most cases you're going to be completely unaware of the little details that annoy your users. It's only in the cases like StackOverflow in which you're reaching a huge audience that you'll actually receive sufficient feedback. So it helps to have UX experts on your team. I haven't done this yet, but it should also help to conduct some usability testing as Steve Krug demonstrates here... http://www.youtube.com/watch?v=QckIzHC99Xc&feature=player_embedded
I guess this is a result of the same research, but Daniel Kahneman had a TED talk a couple years ago that I thought was interesting. After the talk is over (at around the 18 minute mark) he explains a bit about the correlation between income and happiness. The video is here... http://www.ted.com/talks/lang/en/daniel_kahneman_the_riddle_of_experience_vs_memory.html
Toggle Commented May 3, 2012 on Buying Happiness at Coding Horror
I think there's a difference between the truth and brutal honesty. As the old adage goes, "If you don't have anything nice to say, don't say anything at all." I think Clickok mentioned the same concept in different words.
Toggle Commented May 2, 2012 on Trust Me, I'm Lying at Coding Horror
Jeffrey, that's what I was thinking as well. You'll notice that the real-time simulation for each of Bret's demos are different and highly optimized for the task at hand. It'd be difficult to create a general-purpose IDE with all of this built-in. Maybe a good starting point would be a series of pre-configured simulators with certain behaviors which you can use to test your code.
Toggle Commented Mar 30, 2012 on Visualizing Code to Fail Faster at Coding Horror
I watched Bret's talk when it was mentioned in the comments of your last article. It was truly inspiring. Of course, this isn't a new idea. His demos are just particularly well done. In 3d programming it's common to find examples with built-in control panels and sliders so that a game designer can actually fine tune parameters and see the results in real-time. The ability to instantly view your results is awesome. It's something I've done a few times now in some of my own tools. I built regexhero.net so that everything happens in real-time to drastically speed up the process of writing regular expressions. Regex Hero certainly wasn't the first to do this. There are several regex testers that at least have the instant highlighting capability. I also built 060calculator.com to work without a "calculate" button. I realized adding a button to the UI is completely unnecessary when it's so inexpensive to perform the calculation on the fly. It's a simple idea but many of the tools we use everyday are still lacking.
Toggle Commented Mar 30, 2012 on Visualizing Code to Fail Faster at Coding Horror
We used to use this technique at my last job a lot. Only we called it the dumb rock routine. Usually we'd walk another developer through the problem we're having and end up finding the answer ourselves half the time. In this case the other developer is the "dumb rock". But we could have just as easily substituted a rubber duck. Or... nowadays I tend to talk to myself a lot. That works too.
Toggle Commented Mar 13, 2012 on Rubber Duck Problem Solving at Coding Horror
I sort of like Amazon's approach to this problem. They have a two-stage authentication setup which is a nice compromise between security, performance, and convenience. Essentially, if you're a registered user and you return to Amazon.com to do some shopping, then you're half-way logged in by default. You can browse your wishlist, or look at Amazon's recommendations for you. You can even look at reviews you may have given. But if you decide to make changes, view past orders, or do anything that reveals sensitive information, then Amazon forces you to log in for real. However, after you log in for real, Amazon doesn't switch you over to HTTPS for the entire site. This might be a mistake, and is likely something they'll change in the future.
Jeff, You inspired me to do a little testing of my own. I've been moving stuff over to Amazon CloudFront since I made a big website release yesterday. And one thing that's been troubling me is their lack of native gzip support. That, and the fact that they're still a little slow in some parts of the world motivated me to look around. I found a good alternative that's also very cheap -- RackSpace Cloud Files. They use the Akamai network. I documented my findings, including my performance tests here... http://blog.bucketsoft.com/2011/06/amazon-cloudfront-vs-rackspace-cloud.html
Toggle Commented Jun 25, 2011 on Performance is a Feature at Coding Horror
FYI, www.webpagetest.org allows you to select a location you want to test from. There are 28 locations to choose from worldwide. So you can get an idea of how your site is performing in different parts of the world.
Toggle Commented Jun 24, 2011 on Performance is a Feature at Coding Horror
Jeff, What does the "check redirects" section of the code do? While it's only 50 ms, it looks like the 2nd slowest thing in the list. Is that by chance the MVC routing engine at work? And are you by chance using regular expressions in your routing? I just wonder if there's room for improvement there. Steve
Toggle Commented Jun 21, 2011 on Performance is a Feature at Coding Horror
Brandon, ASP.NET at its core is very good. It performs well and the tooling is excellent when you use Visual Studio. So with some practice you can be very productive with it, and crank out quality stuff. ASP.NET Web Forms has had issues over the years though, essentially promoting a lot of bad practices on the web. The whole viewstate/postback methodology bled into many built-in controls. And that in turn led to usability problems with form submissions, and many websites have suffered. I know, because I built Web Forms for 8 years. ASP.NET MVC, however, promotes a completely different way of thinking that is more web friendly in general... friendly URLs, no more viewstate/postback mess, and so on. I wrote an article comparing the two in greater detail awhile back... http://swortham.blogspot.com/2009/10/when-to-use-aspnet-web-forms-and-when.html
Toggle Commented Jun 21, 2011 on Performance is a Feature at Coding Horror
Very interesting post by the way. Looks like you guys made some truly remarkable improvements. I've always been obsessed with performance since my OpenGL programming days. And so naturally I've spent a lot of time optimizing my sites as well. Your advice is spot on. Oh, and I actually downloaded the MVC mini profiler the other day, and I'm planning on using it next week. I'm looking forward to it.
Toggle Commented Jun 21, 2011 on Performance is a Feature at Coding Horror
It'd be nice if Amazon Cloudfront was a little faster. But it's certainly not bad. The real win is the price for the little guy. There's no monthly fee since pricing is purely based on usage. And for the little images I'm hosting through their service, it's costing me about $0.10/month.
Toggle Commented Jun 21, 2011 on Performance is a Feature at Coding Horror
I've never really lived in an area where walking (or a scooter) is necessary or encouraged. First I lived in Dallas, which is massive, spread out, and you absolutely need a car to get around. Now I live in Colorado Springs, which is a little smaller but pretty much has the same story. So my personal form of geek transportation is my turbocharged, AWD, Subaru with a driver-controlled center differential, intercooler sprayer, and a big wing. It's my guilty pleasure. If I ever move to a place like New York I might have to cave in and get a scooter too. But can it be turbocharged? Hmm.
Toggle Commented Jun 10, 2011 on Geek Transportation Systems at Coding Horror
I've always been impressed with Chrome's update mechanism. Most people don't care to be bothered with update notifications. Some developers might complain, but if the whole update thing can happen silently (like in Chrome) it's so much nicer for the average user. In fact, Silverlight enables functionality that is very similar. Back when Silverlight 3 came out I was delighted to learn the details of its out-of-browser install/update mechanism. You're free to code this however you'd like of course. But I chose to copy the Chrome way of doing things. My Silverlight app silently checks to see if there is an update when it first starts. If there is an update, the update is downloaded. When the app is restarted, the update is installed. It was an incredibly easy thing to code and like Chrome, it's extremely fast & dependable.
Toggle Commented May 23, 2011 on The Infinite Version at Coding Horror
I've had my 80GB Intel X25-M for 10 months now and it hasn't failed yet. But I've run out of space. I was using it only for the OS and programs. All my documents/pictures/video were on a 1 TB HDD. Well, the Windows folder is more massive than ever at 22GB and the two Program Files folders add up to 25GB. So just yesterday I replaced it with a 160GB Intel 320 series. I'm hoping it'll be a dependable drive. The funny thing about SSD reliability is that it would hardly be a concern if manufacturers only sold SLC drives. With SLC, 1 bit of data is reserved for each cell. But everyone is buying the MLC drives because they are at least 5X cheaper. MLC stores multiple bits per cell, and as such it can be more difficult (less reliable) to get a positive fix on a value. So much so, that in fact an SLC drive is expected to live around 10X longer than an MLC drive. It's a couple years old, but there is an excellent article on Tom's Guide covering some of these finer points... http://www.tomsguide.com/us/ssd-value-performance,review-1455.html They also talk about wear leveling algorithms and how a drive's lifetime increases with capacity. If all other things were equal, my 160 GB drive should have roughly double the lifetime of my 80 GB drive that preceded it.
Some of the Mini-PCs NewEgg has for sale look interesting as well. Many of them seem to made with this application in mind. I'm especially interested in this one since I don't yet have a BluRay player... http://www.newegg.com/Product/Product.aspx?Item=N82E16856173007
Toggle Commented Mar 28, 2011 on Revisiting the Home Theater PC at Coding Horror
So is this book teaching you how to become a better consumer, or a better marketer? In any case, excellent post.
The thing about the Intel X-25M that appealed to me was its superior performance with handling tons of simultaneous operations. It doesn't have the highest peak transfer numbers, but it's the performance in my real-world scenarios where it shines. Intel's implementation of native command queueing has played a big part in this. There's a good example of that in action shown in this comparison test with a "fast" WD Raptor hard drive... http://www.youtube.com/watch?v=T_Jz7IMwBt4 The nice thing is that this drive has withstood the test time. It was top dog when it was introduced 2 years ago, and it's still among the best. Since it's such a mature product I think it has proven itself to be a reliable one as well. So we've outfitted over 25 workstations at our office with the 80GB version of this drive. It's only been 6 months but they've been fine so far.
Toggle Commented Sep 15, 2010 on Revisiting Solid State Hard Drives at Coding Horror
Beautiful. My thoughts exactly. I never thought of the connection to Groundhog Day though. That's pretty clever. But yeah, a couple years ago I was a little peeved about some SEO & marketing practices I was observing at the time. SEO, marketing, and A/B testing are all important to the success of an online business, of course. But there's a right way and a wrong way to go about it. I wrote down my thoughts on subject it in my article titled, "Give and You Shall Receive: A Guide to Improving Your Website." The article is all about building the best possible user experience in all possible aspects. I bring up this idea that what's best for your user is also best for you.
I like Linq-to-SQL. I think it makes a lot of things a lot easier. However, because I'm a speed freak I've adopted a slightly different strategy. Plainly, I like to use Linq-to-SQL for all of the one-record CRUD statements. I'm talking things like updating the user's name, selecting their email address, adding a new user, etc. These statements are all very simple even on the SQL side of things, but writing them in Linq makes them even easier. And in fact these type of statements typically account for 90% of the queries from my sites. The other 10% of queries are more involved with complex joins, sometimes utilizing full-text searching and they act on a much larger set of data. So with those queries I go all out. I'll write an efficient stored proc so that SQL server can cache those query plans aggressively and get the last bit of performance out of them. And then I'll call the stored proc from ADO.NET with the most performant option, the SqlDataReader. It's a little more code to do all of this. But to me it's worth it.
Toggle Commented Mar 19, 2010 on Compiled or Bust? at Coding Horror
"What is the max RAM these things are capable of? Will it run Visual Studio 2008 with SQL Server 2008 installed? I'm not looking to run production systems or anything but if I can install VS 2008 + SQL 2008 and do some development on the go, without it choking, then that is fantastic." - OptimalSolutions I upgraded mine to 4GB RAM, which is its theoretical max. That was the other reason I chose the Acer 1410. Most other netbooks are only capable of 2GB RAM. And I haven't tried it but I'm sure it'll run VS and SQL Server. Personally, I've used it for RDP into my work computer. It's definitely usable for emergency development in a pinch.
Toggle Commented Mar 4, 2010 on A Democracy of Netbooks at Coding Horror
I've been very anti-laptop for years. I always contended that I can be much more comfortable and productive on a desktop with a nice monitor, fast hard drive, better performance. But of course, portability is nice to have for travel every now and then. The problem from my perspective is that laptops have grown so much over the years. So a few months ago I broke down and bought a laptop. I chose the dual core Acer AS1410 you mention in your post here. Acer calls it a notebook, other sites call it a netbook. Whatever you call it, it's small, light, and capable. Recently I went on a business trip and took the mini-computer with me. I found that it'll fit on one of those tiny fold down trays on an airplane even with a ginger ale sitting next to it. And then I can fit it in my slim netbook case and slide it into the seat pocket with all the magazines when I'm not using it. The Acer just made sense for that trip.
Toggle Commented Mar 4, 2010 on A Democracy of Netbooks at Coding Horror
Steve Wortham is now following The Typepad Team
Mar 4, 2010