Seth is wrong
Seth Godin has a post today about how Malcolm Gladwell is wrong about Chris Anderson's book. At least, I think that's what the post is about. As usual, Seth is speaking as a deep insider and assumes I've read everything "Malcolm" and "Chris" have written. I haven't.
Anyway, Seth is responding to and offering some criticisms of Anderson's new book - Free. In his response, Seth writes, "A good book review on Amazon is more reliable and easier to find than a paid-for professional review that used to run in your local newspaper, isn't it?" My goodness, NO!
One of the many reasons I do still read newspapers, albeit usually their digital versions, is to get reliable, easy to find reviews of restaurants and books. I don't want reviews of movies because I don't want to know too much going into the theater. Sites like Amazon and Yelp have many, many book and restaurant reviews. My problem with these reviews is the same thing Seth is pointing out - anyone can write them. Let's face it, most people should not write book reviews. Book reviews on Amazon, much like restaurant reviews on Yelp, are often poorly written, hard to follow, irrelevant, boring, the list goes on. Reading through readers' reviews does not save me any time when decided to buy a book, and it may not even help me make that decision.
For a rather fair example, see the reviews of Heat, a really fun book by Bill Buford. Right on the page you can compare the usefulness of a review by Anthony Bordain and those made by readers. I say the example is fair because the readers' reviews aren't the worst examples I could find. One of the reviews begins, "I don't go to restaurants. I don't watch FOOD Channel. I don't even order take-out. I'm just a pizza and burger guy with an occasional side trip to Taco Bell for my veggies. So why was I reading this book?" Please, why am I reading this review? I read reviews in established publishing sources because I know who the writers are and have some reason to trust them. 270 readers on Amazon thought the review that started with that line, about a cooking book, was helpful. That shows me that both the reviews and the people who rate them are not to be trusted when I'm deciding how to spend my book money.
Amazon's statistics about what people buying books I liked, like Heat, also bought are more helpful. Those stats are about user behavior though, not user contributions. Not all reviews are equal. To have more reviews is not necessarily better - it just makes finding the useful ones harder. I have in the pipeline a site that will address that problem for restaurants by aggregating reliable, professional reviews - Food Pilgrim - but for now, I'll just avoid the reader reviews on Amazon and stick to trusting the reviewers at Salon, the NY Times, and my local library.
JavaScript date checking
Sometimes we ask users to enter a date range. I wrote some code today to check whether the date a user entered was (1) after today and (2) before some other date she entered. In my situation, I was building a flight search form and wanted to check that the user-entered departure date was before the user-entered return date and that the user wasn't trying to depart in the past. To do this, I needed to turn the user's input into a JavaScript Date and then compare that Date to Today's date. I found a lot of similar code online, but none of it work quite right.
I have a form with text box inputs for dateDepart and dateReturn. This code takes those inputs, turns them in JavaScript dates, compares them to each other and to today, and returns alerts or submits the form, depending on how the comparisons shake out.
Here's my code:
// check to make sure Return date is after Departure date, and both are after today
if ( (the_form.dateDepart.value !="") && (the_form.dateReturn.value !="") )
{
var strFromDate = the_form.dateDepart.value;
var dayPartFromDate = parseInt(strFromDate.substring(3,5),10);
var monPartFromDate = parseInt(strFromDate.substring(0,2),10);
var yearPartFromDate = parseInt(strFromDate.substring(6,10),10);
var dtDepart = new Date(yearPartFromDate, monPartFromDate-1, dayPartFromDate);
var strToDate = the_form.dateReturn.value;
var dayPartToDate = parseInt(strToDate.substring(3,5),10);
var monPartToDate = parseInt(strToDate.substring(0,2),10);
var yearPartToDate = parseInt(strToDate.substring(6,10),10);
var dtReturn = new Date(yearPartToDate, monPartToDate-1, dayPartToDate);
var now = new Date();
var today = new Date(now.getFullYear(),now.getMonth(),now.getDate());
if(dtDepart > dtReturn)
{
alert('Departure date must be before return date. Please fix and resubmit.');
return false;
}
else if (dtDepart < today)
{
alert('Departure date must be after today. Please fix and resubmit.');
return false;
}
else
{
the_form.submit();
}
}
Turn User Input into a JavaScript Date
To turn the user's input into a Date, I needed to parse the input and then pass the pieces to the Date() function.
The JavaScript substr function syntax I used corresponds to dateToChange.substring(start,finish). My users are mostly in the U.S., and they enter dates in the form MM/DD/YYYY, e.g., 03/14/2009. JavaScript starts counting at 0, so the substr functions above grab "14" for the day, "03" for the month, and "2009" for the year and then pass those substrings to the Date()function to be converted in a Date JavaScript understands.
getFullYear(); returns a four-digit year such as "2009" that makes it easy to compare to the default version of today's date that
var now = new Date();
var today = new Date(now.getFullYear(),now.getMonth(),now.getDate());
gives.
Why monPartToDate-1? Remember, JavaScript starts counting at 0, so January is month 0, and December is month 11. That means I need to subtract 1 from what my user entered to get the right month for JavaScript.
Compare Dates
I needed to compare the two dates the user entered to make sure she had departure first, then return. Once I have converted both her inputs to JavaScript dates, the comparison uses a simple "greater than" operator: dtDepart > dtReturn
Calling the Date-checking Function
You'll notice my code doesn't include a function declaration; that's because this date-checking procedure is part of a larger function to validate my form. You could wrap this code in a function declaration such as
function checkDates(the_form){}
In order to call the code when the user submits the form, I like to use something like
<input id="search" onclick="checkDates(this.form);" type="button" value="Submit Form" />
in the HTML.
NSF Workshop Report on Qualitative Research
The report for NSF's two-day workshop on Interdisciplinary Standards for Systematic Qualitative Research is now available. The goals of the workshop were to (quoted from the report):
- articulate the standards used in their particular field to ensure rigor across the range of qualitative methodological approaches;
- identify common criteria shared across the four disciplines for designing and evaluating research proposals and fostering multidisciplinary collaborations; and
- develop an agenda for strengthening the tools, training, data, research design, and infrastructure for research using qualitative approaches.
The whole report is 180 pages long, but you can get the gist from the executive summary. For graduate students, the longer sections on "Recommendations for Producing Top Notch Qualitative Research" and "Promising New Research Areas and Topics" are especially interesting reads. I'll post more details when I have a little more time. We don't get to see into the minds of our faculty members every day, and reports like this one give us a glimpse. Take a look, and keep working on your top notch research.
Review: iPhone glass replacement from Mission: Repair
My Situation
I dropped my iPhone 3G and broke its glass. I was so distraught about dropping it that I never got a picture of the broken glass. Trust me, it was depressing.
I checked with the Apple store about a repair, and they offered me a replacement for $299 + tax. That seemed steep and wasteful, so I went hunting online for repair options. No need to fill landfills with broken iPhones. I found two companies who do iPhone glass repairs and had positive reviews: Mission: Repair and iResQ. After blogging about my broken glass, I got emails and blog comments from employees at both companies. Way to be on top of the blogosphere, guys. After checking prices and reviews, I decided to go with Mission: Repair.
Disclaimer: Ryan at Mission: Repair offered to pay me for the ads on my blog whether I got my repair through them or not. He also offered me the same discount available to Apple store visitors who get a coupon from the Genius bar.
My Repair
I chose the 3G iPhone Digitizer Glass Repair and the "I'll send it in; return it to me overnight!" option for $9 extra.
My Review
So, how did it go? Swimmingly!
I sent the phone off via USPS Priority Mail with delivery confirmation on Monday from Ann Arbor. According to the USPS, my package arrived at 11:25am. Less than 2 hours later, I received an email from Phil at MR letting me know they had received my iPhone and would fix it right away. They fixed it Wednesday, shipped it first thing Thursday morning, and I received my phone back in near-new condition on Friday in Los Angeles (I was traveling). At first I was concerned that the glass was not flush with the sides of the phone, but I saw the "real" thing at the Apple store today, and the glass isn't flush on brand new iPhones either.
Bottom Line
Mission: Repair will fix your iPhone glass for less than the other guys and will do it fast and right. I highly recommend them.
Almost! A blog commenter’s story
I posted a comment to Freakonomics today, and I almost made it on the first page of comments. Sadly, mine is #27 and is unlikely to be read by anyone but those of you who clicked it from here. Or maybe, if I get really lucky, someone else procrastinating bigger things will post a "re: #27" comment later.
The Freakonomics post was about a website where potential employers could post mini projects for students and other job seekers to complete. The idea is that then job seekers can demonstrate their skills before being interviewed or hired. Sadly, I think such a site would get plenty of traffic. I sympathize with all the students who would feel compelled to do those extra projects during what little remains of their sleeping hours. And no, I don't think it would help them get jobs.
Oh, I also commented on Question: Where to Study Information Visualization or Infographics at Information Aesthetics today. Yes, I gave the School of Information a shout out. I would love to have more infoaesthetics types around.
On the employer side, I doubt that such a site would actually help find appropriate employees. If my work at Microsoft taught me nothing else, it showed that domain proficiency does not indicate success in employment. Great engineers have mad social skills. All engineers spend more time in meetings than any student could ever imagine. A site for mini projects might get work done for free, but it won't help people weed through CS graduates to find the ones that can work in teams and on large-scale projects. Now if only there were some way to figure out whether a potential employee could work well with others...
Thinking about a redesign
The pages on my site with the most traffic are tips about using Mac OS X, BlackBerries, and iPhones. Next up are recipes. Then, the pages accessible from the top nav, and last, posts about my research. I've thought about blogging about my "PhD process" by adding information about academic note taking, writing long documents, and not going completely crazy during a dissertation. I'm not sure how much traffic those pages would get, but judging by the number of doctoral students procrastinating online, I'd guess a few. So, my question for you, dear readers, is, should I redesign the site to more clearly divide those topic areas? Yes, Naomi, I will soon post recipes for Chicken Tortilla Soup and Pot Roast, even if I don't do the redesign.
Most of my loyal readers are people who know me in real life. You may even have eaten Pork with Magical Powers or had a beer with me. I do not want to alienate you, but I think you're subscribers and access the content through a feed rather than your browser anyway. My site's getting a surprising amount of traffic from strangers who arrive via searches for information about "clone bootcamp partition" and "pork bits."
My inner information architect has been absorbing some SEO wisdom from the world, and I'd like to make the useful parts of the site (e.g., moving a Boot Camp partition) even more so. I'm thinking of making a new splash page that uses questions to route users to content they may find useful. I'll also be changing the sidebar to use fewer tags to help people who land inside the site get to other parts they might like. The trouble now is figuring out how best to organize the existing content in a framework that's flexible enough to include additions like my planned "phd process" content and yet obvious enough to help Mac OS X searches get to more Mac OS X tips when they arrive. No, I never thought I'd have enough readers to justify a redesign. The public wants to clone their drives and cook yummy pork, and I like to make the public happy.
Death and Taxes: 2009 Poster
Have you seen this fantastic poster from WallStats?
I'm digging interesting visualizations even more than usual lately, and I especially like this one of our federal spending. I'm not posting it here to start an argument about how we should spend; I just really love the poster and how it shows us where we do spend.
Thanks, FlowingData for telling me about the poster. You should all go visit and subscribe to FlowingData immediately. You may even be able to win a Death and Taxes:2009 poster. I won't enter because I'm trying to cut down on the stuff I buy and will eventually have to move. Please, someone, win a poster and show it to me!
iPhone’s glass is broken. What to do?
UPDATE: I got my iPhone fixed by Mission: Repair and am very happy. See my review post.
Yes, I dropped my iPhone today. Yes, that drop, from less than 3 feet, cracked the glass. Yes, I wanted to cry.
Now what do I do? I went to the Genuis Bar at the Briarwood Apple Store right away, and they told me, as I expected, that they could get me a replacement iPhone for $299. You read that right. They didn't offer to repair my phone; they offered to replace it, maybe with a refurbished one, for the same price I originally paid. I asked if there were repair options, and they said not with them. Paying $299 would also get me a new warranty that lasts until August. As is, my warranty is void since the break was accidental. So,
Option 1: Pay Apple $299 and hope they give me a new one instead of a refurb.
I looked around online for other options. Since my warranty's void anyway, I'm not that concerned about a warranty-saving repair. This guy's site - http://3gcrackedglass.com - is pretty much right on about repair options and prices. The two sites I see mentioned most often when I search for repair info are iResQ and Mission:Repair. iResQ is supposedly an Apple Authorized repair provider, but they have some service and PR issues. Apparently that particular problem was resolved. So,
Option 2: Pay iResQ $129 or Mission:Repair $137 to fix it and ship it back overnight
Of course, I could always just live with the cracked screen, making
Option 3: Put the iPhone back in its case, and live with a cracked screen.
I had an InCase skin on my iPhone for awhile. I took it off because it made it really hard to get the phone in and out of my pocket. It also made it bulky. Oh, and, I was a little irked at having to pay $30 for an accessory to make the iPhone marginally more durable. The other $300 cell phones I've owned didn't need cases to be durable. If I'd had my case on today, my screen may not have cracked. I take responsibility for dropping my phone. I still think it's ludicrous to offer only replacement and not repair. I get that Apple makes a load more money doing it that way, but the process is infuriating and wasteful.
Mini rant about Apple
In the last 2.5 years, I've spent about $4100 on Apple hardware - 2 laptops and an iPhone. My MacBook required two new logic boards, three new keyboards, and a new hard drive. My MacBook Pro requires new fans and probably a new logic board. None of those 8 repairs were my fault. My laptops have spent about 2 weeks at Apple service facilities and require another 5-7 day stay to fix the fans. My iPhone has worked fine since I bought it in August, but the fact that it cannot withstand a rather routine and expected fall made me furious today. I've been patient with my other Apple hardware. I've sent my computer in for repair and tried to work on my dissertation using backup data and backup computers. I've been through the ringer with their hardware, and I'm exasperated. I don't want to be a whiner, and I don't want to minimize my role in breaking my iPhone. But, I don't think I can recommend Apple products anymore. They either come broken like my MacBook, break almost immediately like my MacBook Pro, or require unreasonable gentleness like my iPhone. At twice the price of comparable laptops and cell phones from competitors, I expected more. Sigh. I'm no longer convinced that the software advantages Apple platforms provide make them worth the hassle or cost. I'm left thinking maybe I should have stuck with my Dell and my BlackBerry.
Oh, and the total cost of ownership for Apple products are even higher. Every laptop needs $30 adapters to work with external monitors, and apparently every iPhone needs a $30 case to protect it. Yes, needs. So add 1.4% to your laptop bill for each adapter you need, and add 15-20% for a case for each iPhone. And those are just the beginning.
New (to me) and Useful: Visual Search
Many of you know that online searching frustrates me. That frustration results, in large part, from the ugliness of search results and their inability to let me describe what kind of thing I'm looking for. Pattern matching, result sorting, pish posh. I want internet finding. Enter visual search. Thanks, machine learning and digital image processing!
I've been hunting for new black shoes that I can wear with both jeans and suits for years. Years! Molly, my incredibly helpful librarian friend, introduced me to Like.com. Information Aesthetics, a fantastic blog, introduced me to Modista.
Like and Modista allow you to search for shoes, watches, sunglasses, handbags, etc. visually. On Like, you enter some search terms like "black boots" and then get to click on ones you like and see many more that are visually similar. You can filter by color, style, brand, site, all kinds of useful categories. Modista starts with a kind of item, such as "eyewear" and then shows you a variety of styles. Clicking on examples refines the search. Modista uses fancy sliders for limits on price and other continuous variables.
I found black boots at Zappos that I'm keeping; I almost love them. I'll use visual search again the next time I need shoes or accessories, and I look forward to the improvements coming to Like's apparel searches. Searching by sight is so much more fun than plowing through those boring text lists!
