tag:blogger.com,1999:blog-115235362024-03-18T23:41:09.958-04:00sernafernaVerbose, and content-freeDavid Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.comBlogger981125tag:blogger.com,1999:blog-11523536.post-59954203724495108052013-06-07T14:48:00.003-04:002013-06-07T14:48:35.328-04:00Google Wave Redux<span class="definition" onclick="openDefinitionWindow('years', 'Has it been that long already?')">A number of years ago</span> I <a href="http://sernaferna.blogspot.ca/2010/01/google-wave.html" target="_blank">wrote about <strong>Google Wave</strong></a>, and then a bit later I <a href="http://sernaferna.blogspot.ca/2010/08/google-wave-we-hardly-knew-ye-literally.html" target="_blank">wrote about Wave’s demise</a>, including an aside to show that even people who were using it [a bit] didn’t <em>quite</em> get it, and then <a href="http://sernaferna.blogspot.ca/2010/08/wave-again.html" target="_blank">wrote about Wave’s demise <em>again</em></a>, including a theory that perhaps Wave had simply fallen under the bus of Google’s product roadmap. (My assumption at the time was that it was shunted aside in favour of <strong>Buzz</strong>, making me all the more bitter when Buzz was <em>also</em> shelved.) It was a tough blow, but I managed to carry on. I’m a trooper. My main disappointment was that a good product was being shunted aside because other competing products had gotten in the way, but those are sometimes the realities we operate under.<br />
<br />
But now I’m not so sure.<br />
<br />
Shortly after the demise of Wave (at least in retrospect), Google <a href="http://googledrive.blogspot.ca/2011/03/introducing-discussions-in-google-docs.html" target="_blank">introduced “discussions” to <strong>Google Docs</strong></a>, which was an obvious reuse of the Wave technology. This wasn’t a surprise—even when Google shut Wave down they’d indicated that the technology would probably find its way into other Google products—but it seemed like a pretty hollow victory to me. So comments are slightly better in documents; who cares, really? Not exactly revolutionary, more like a minor productivity improvement.<br />
<br />
That same year they launched <strong>Google+</strong>, which was obviously a much bigger launch than just updated commenting functionality in Docs. I had mixed reactions to Google+, based on my previous aspirations for Wave. On the one hand they were introducing another social media product—not directly a “Facebook replacement,” though definitely a Facebook competitor—were they going to let it live and thrive, or just let it drop like they had done (I figured) with Wave? If they did let it thrive, though, maybe some of the Wave concepts and technologies would find new life. But this was before I’d really dipped my toes into the social networking waters, I wasn’t on Facebook (and still am not), so I admit I <span class="definition" onclick="openDefinitionWindow('G+', 'I think MANY people missed the point of Google+ initially because they were so focused on how it compared to Facebook, and only with time did they really start to get it')">missed some of the nuances</span> involved in this move.<br />
<br />
Earlier this year it was announced that <a href="http://buzz.blogger.com/2013/04/bringing-google-comments-to-blogger.html" target="_blank"><strong>Blogger comments</strong> were getting an update, and being integrated with Google+</a>. “Interesting,” I thought. “Tying the social media aspects with the publishing aspects of those Google products together makes a lot of sense.” And would it be too much to assume that some Wave technologies are making their way into that mix? Probably not, I’m betting.<br />
<br />
But what really got me thinking was when they announced that <strong>Google Talk</strong> was going to be phased out in favour of <strong>Hangouts</strong>. I used Talk <em>a lot</em>, so I was initially trepidatious—humans don’t like change, even humans in the tech industry—but I steeled myself and made the switch pretty much immediately. I knew it was coming regardless of my feelings on the topic, so might as well get used to it, right? And it would probably have new features and all that. What I noticed immediately though was that there was less of a concept of being “online” or “offline.” Definitely no “Busy” status, or “Appear Invisible” so that you could see others and they couldn’t see you. In hangouts you send people messages and if they happen to be on a computer (or their phone) and want to respond instantly, like an IM conversation, then they will, and if they don’t happen to be able to “hang out” at that point then they’ll get to it later.<br />
<br />
To old-school instant messaging folks that might seem like a loss of functionality. I’ve seen a few IM clients in my day that would <em>allow</em> that type of thing—I think ICQ had an “offline messages” feature if I recall correctly, and maybe one or two others—but the focus of instant messaging was always on the “instant” part. If you want to send offline messages that’s what email is for; instant messaging is for <em>chatting</em>. I imagine that lots of folks will complain about this, but this is very far from my point, because I actually like the feature. It is, in fact, reminiscent of Wave.<br />
<br />
And that’s where this post came from: Some of the Wave concepts are reemerging, but instead of coming in one unified product like Wave they’re coming into being as integrations between various products. Blogger comments and Docs “discussions” and instant messaging and social networking are all getting tied together in interesting ways—and regardless of what happens where, I’m getting updated real-time if I want to be, or have the ability to pick up the conversation(s) at my leisure. Often this is happening on my phone, since I always have it with me, but when I’m at a <span class="definition" onclick="openDefinitionWindow('traditional', 'The times they are a changin’, and I was close to typing “old fashioned computer” instead of “traditional,” but figured we’re not QUITE there yet.')">traditional computer</span> I’m seeing the updates there, too. And really, it doesn’t matter if I get the update on my phone or my computer or on <strong>Google Glass</strong> (if that becomes a thing) or on whatever comes <em>after</em> Google Glass (if Glass ends up just being a precursor to something); regardless of the medium the message is the same, and I have the same ability to continue the conversation.<br />
<br />
One concept that I loved about Wave is still missing, which is that the distinction between an IM conversation and an email conversation and a document is forced upon us by the technologies, whereas Wave promised to make those distinctions irrelevant. I still feel that way, but what I missed in Wave was the social networking aspect; more and more of our communications in the modern world happen over social networking rather than over email or IM. So although I still feel that the distinctions between documents and chats and messages and emails and comments may someday go away, it’s probably too early to tell what the final outcome will look like. In the meantime, this ability to tie them together is a good step in the direction of getting us there, and I’ll continue to use a blog for longer, more permanent messages (like this one), and something like Google+ for shorter but still permanent messages, and something like Hangouts for more ephemeral conversations.<br />
<br />
This is a very Google-centric mindset because I’m not on Facebook, but those who are on Facebook will have similar decisions to make with their communications, and many, many people will have much more complex decisions because they’re using both Google and Facebook technologies so even after they’ve made their decisions they’ll have to make <em>further</em> decisions about whether and where to cross-post. And none of this even takes into account Twitter—a huge omission, I fully admit.<br />
<br />
And every time I have to make a decision as to which product to use for a particular message and it’s a hard decision to make, I’ll smile inwardly, knowing that we’re getting closer to our goal.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-75690141943019343582013-03-04T23:05:00.003-05:002013-03-04T23:05:27.025-05:00I would like to buy a hamburger!This is from an old movie (if 2006 is old), but it’s so ridiculously funny that it makes me crack up every time.<br />
<br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/lz0IT4Uk2xQ?rel=0" frameborder="0" allowfullscreen></iframe>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-77585404636161211142013-01-26T22:02:00.000-05:002013-01-26T22:02:36.725-05:00Louis CK on Turning 40So true. So true.<br />
<br />
<iframe width="480" height="360" src="http://www.youtube.com/embed/WzEhoyXpqzQ?rel=0" frameborder="0" allowfullscreen></iframe>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-60079441271474538552013-01-25T12:01:00.000-05:002013-01-25T12:01:59.229-05:00GrandmaOn January 7<sup>th</sup> I went back to work after two and a half weeks (give or take) of vacation time. It had been a good rest, and I was ready to go back. I was on the subway on the last leg of my morning commute, and as I was standing on the platform at St. George station I saw a young teenaged couple. They got on with me, and, since the train was so crowded, I witnessed their interactions all the way from St. George to Union.<br />
<br />
<iframe width="300" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=d&source=s_d&saddr=Union+Station+Rail,+Toronto,+ON,+Canada&daddr=St+George+Station,+Toronto,+ON+M5R,+Canada+(St+George+Station)&hl=en&geocode=FSL5mQIdAMRE-ynL0_i4LMvUiTE4Eab_WtpZyA%3BFa9UmgIdW3tE-ylfkuy8vDQriDFrILT72jkQjA&aq=0&oq=union+station&sll=43.668655,-79.398053&sspn=0.008583,0.021136&g=St+George+Station,+Toronto,+ON,+Canada&dirflg=r&ttype=now&noexp=0&noal=0&sort=def&mra=ltm&ie=UTF8&t=m&start=0&ll=43.65713,-79.388666&spn=0.018629,0.025749&z=14&output=embed"></iframe><br />
<small><a href="https://maps.google.com/maps?f=d&source=embed&saddr=Union+Station+Rail,+Toronto,+ON,+Canada&daddr=St+George+Station,+Toronto,+ON+M5R,+Canada+(St+George+Station)&hl=en&geocode=FSL5mQIdAMRE-ynL0_i4LMvUiTE4Eab_WtpZyA%3BFa9UmgIdW3tE-ylfkuy8vDQriDFrILT72jkQjA&aq=0&oq=union+station&sll=43.668655,-79.398053&sspn=0.008583,0.021136&g=St+George+Station,+Toronto,+ON,+Canada&dirflg=r&ttype=now&noexp=0&noal=0&sort=def&mra=ltm&ie=UTF8&t=m&start=0&ll=43.65713,-79.388666&spn=0.018629,0.025749&z=14" style="color:#0000FF;text-align:left">View Larger Map</a></small><br />
I see couples all the time on the TTC, we all do, but there was something special about these two kids. The intensity of her gaze when she looked at him, the obvious devotion and longing in her eyes, it was palpable. It was a good sign for going back to work; new beginnings, intense experiences. <em>Life.</em> But then in the middle of the morning I found out that the person who had been more intensely alive than anyone I’ve ever known, my grandmother, had passed away from a heart attack. It was a shock; she’d just beaten cancer at the age of 80—which surprised us all, despite our optimism—and was now home from the hospital. Foolishly, we all thought that she’d be around for years to come; though a heart attack after chemo therapy is actually pretty common, it simply didn’t occur to us that there would continue to be complications. We shouldn’t have been shocked, but we were. So shortly after her 81<sup>st</sup> birthday, she passed on.<br />
<br />
Below is a transcript of the remembrance I gave of her at her funeral.<br />
<blockquote><p>We’re here today because of our love for my grandmother, <strong>Shirley Harris</strong>. Everyone who ever met Grandma loved her, which is a remarkable thing. I find that most people I meet tend to like me, and that’s true of many in our family, we’re likable (and good looking). I obviously inherited the likeability from her but I got it in a smaller measure; lots of people like me, but <em>everyone</em> who met Grandma loved her, instantly and deeply.</p><p>I also tend to speak my mind, and I think I inherited that from Grandma, too. I sometimes wish I’d inherited more of the former and less of the latter because she carried it off better. When we were looking around at Grandma’s house for photos and photo albums, we found a little plaque that says, “Shirley: Cheerful Heart.” Every person in this room knows how true that was of Shirley Harris, and I’m sure that’s how we all remember her.</p><p>What might be even more remarkable is that the feeling was mutual: she loved us. It’s not enough to say that Shirley loved everyone in this room. It was obvious that she did; she <em>made</em> it obvious. Aunt June mentioned to me yesterday that Shirley loved her grandkids, she talked about it often, and that is a fact that I’ve always known with certainty, my entire life, that my Grandma loved me and cared for me. She made it clear to me every time I saw her. When I first moved to Toronto there was a show on City TV called <em>Speaker’s Corner</em>: they had this booth where people could come in off the street and record little videos to air their opinions or sing a song or whatever, and the station would put a bunch of the videos together for their show. Grandma watched the show regularly, not because she expected me to record a video but just on the off chance that she would one day see me walking by in the background, while someone else recorded their video. It’s the perfect example of both Grandma’s quirkiness and her love for me. All of the grandkids will have similar stories, because when Grandma told us that she was thinking of us all the time she meant it, she really was thinking of us all the time.</p><p>This extended to our significant others as well. Andrea, and Craig, and Andrea, and Krissy, have all expressed how Grandma made them feel welcome, made them instantly feel like they were part of the family, as if they had been part of it forever. Craig mentioned that this is the type of thing that we all want to do when someone new comes to the family, we all strive to be like that, but with Grandma it was a core part of who she is. It’s rare to meet someone who naturally and genuinely makes you feel so included. Before any of these four people had even decided if this was a long-term relationship, they were already getting Christmas presents from Grandma. Sometimes the presents were somewhat bizarre, she’d have been the first to tell you that she’d lost touch with what kind of presents would be good for our generation, but even gifts which were silly <em>were well thought out</em> silly. She didn’t just buy any old thing, if she bought you a present you know that she spent a long time in that store, trying to get just the right thing.</p><p>Obviously it wasn’t just her grandkids that she loved. We were talking yesterday about the fact that family events will never be the same without her, there will be a Shirley-sized hole in any family events from now on. I joked that the one nice thing is that at least we can leave quicker; Grandma’s routine of saying goodbye to everyone while Grandpa warmed up the car was always a long process. But then on the ride home last night I was thinking about how much I enjoyed accompanying her around the room as she said goodbye to everyone. Nobody ever left a family event wondering how Grandma felt about them; she made it clear. She loved all of you, and I don’t think any of you ever doubted that for a second.</p><p>But even to say that she loved people doesn’t quite go far enough. I have never heard Grandma say a bad word about anyone. I know this is a funeral and that’s the type of thing that people say at funerals, but in Grandma’s case we all know that it’s not an exaggeration, and I don’t think there’s anyone else I know that I could truly say that of. There was such a genuine warmth to that woman, which was a joy to see. It was also a joy to see other people meeting her for the first time, and encountering that warmth; I’d grown up with it, so I was used to it—it’s just how she was—but people meeting her for the first time were always in for a pleasant surprise.</p><p>I can also say that Grandma’s love of people was more than just general good feelings that she felt for people, it was personal. She had a great memory—I did not inherit that from her in the slightest—and I heard people mentioning yesterday that Grandma would meet them on the street and talk to them, and ask after family and loved ones. She remembered people, and remembered how she knew them, and remembered facts about them. Her stories could sometimes ramble, but she didn’t get lost in them. If she started a story for a reason, she’d get back to it. Eventually.</p><p>So it’s not surprising, with all of Grandma’s love for people, that she also loved to have a good time. It’s remarkable how many people I talked to yesterday who mentioned that they loved partying with Grandma. I don’t have any stories to pass on to you about that—if you really want some, Aunt Helen might be able to tell one or two—but I know that it’s true that she loved a beer now and again. But only half as much as she enjoyed two beers. I can’t speak for her teenaged years but I never knew her to be vain, except that she was always sure to make sure her hair was done, and it would bother her if she had to go somewhere and couldn’t get a chance to get it done. I hope that it’s done now the way she’d like it, because it’s probably the one part of her appearance that she’d worry about.</p><p>What I keep circling around is the fact that Grandma was always so <em>alive</em>. We were all shocked by her death because of the circumstances, beating cancer at the age of 80 and then succumbing to a heart attack a couple of weeks later at 81, but I think we’d be in shock regardless of the circumstances of her death. She was always so alive that it’s hard to come to terms with the fact that she no longer is. It makes us confront mortality in a very direct way; if <em>she</em> can die, of all people, then it makes us all come to terms with our own mortality.</p><p>If I didn’t have my faith in God I don’t know how I would process a death like this. But the God who proved that He was in control of her cancer also showed that He was in control of her life, just as He has a time appointed for all of us. This is a death I’ve been dreading for a long time, I don’t want to have to lose Grandma, but He provides comfort. As we all mourn the loss of Shirley Harris, and process what her death means to each of us, it’s also appropriate to approach God on His terms, and seek what comfort He has for us.</p></blockquote>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-32129638384014428902012-12-29T08:24:00.000-05:002012-12-29T08:24:12.342-05:00Driving 007 StyleMom got me the <i>Skyfall</i> soundtrack for Christmas—a very good gift. My wife and I were driving while listening to it and I went to pass someone, at which point my wife got into character: "Take the pass! <i>Take the bloody pass!"</i><br />
<br />
I might need to keep that CD in the car full time.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-47667039806401072972012-12-06T23:15:00.000-05:002012-12-06T23:15:45.884-05:00Victor WootenIf you’re sitting around someday looking for something to do, go to YouTube and look for videos featuring Victor Wooten. An amazing bassist; it’s fun just to watch him.<br />
<br />
Here’s one to whet your appetite.<br />
<br />
<center><iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" src="http://www.youtube.com/embed/CR6t47pV8Qc?rel=0" width="420"></iframe></center>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-64966877373090481002012-11-28T13:32:00.003-05:002012-11-28T13:33:08.843-05:00Prince, Playing “While My Guitar Gently Weeps”As so often happens, my blog has gone dormant again. It’s been… actually, I’m not going to look at the date of my last post to find out how long it’s been. It’ll just make me feel guilty. (However, the <a href="http://sernabibleblog.blogspot.ca/" target="_blank">Bible Blog</a>, <a href="http://sernabookblog.blogspot.ca/" target="_blank">Book Blog</a>, and even new <a href="http://sernaquotes.blogspot.ca/" target="_blank">Quotes Blog</a>, have all had activity.) Anyway, I figure the best way to remedy that is that any time I’m tempted to post something to Google+ I’ll post it here, instead, and then share the link to G+. Besides, who uses G+ anyway?<br />
<br />
What, you are asking, does any of that have to do with Prince playing <em>While My Guitar Gently Weeps?</em> Nothing. Here’s Prince.<br />
<br />
<iframe width="560" height="315" src="http://www.youtube.com/embed/zByqXu6nGYA?rel=0" frameborder="0" allowfullscreen></iframe>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-83560230439139940132012-03-07T11:16:00.001-05:002012-03-07T11:16:09.124-05:00The Rap Battle<ul class="scriptcontainer"><li class="scripttitle">The Rap Battle</li><li class="scriptauthor">by David Hunter</li><li class="sceneheading">A text message conversation with Andrea</li><li class="character">Me</li><li class="dialog">Guy across from me was listening to Eminem, and I can tell because he was listening really loud. Another woman had to ask him to turn it down</li><li class="character">Me</li><li class="dialog">And he's exactly the type of guy you'd expect; white, and looks like he's fresh out of college.</li><li class="character">Andrea</li><li class="dialog">Go slap him and see what happens</li><li class="character">Andrea</li><li class="dialog">See if he'll challenge you to a rap battle</li><li class="character">Me</li><li class="dialog">I don't want to embarrass him. I'd school his ass so bad...</li><li class="character">Andrea</li><li class="dialog">My name is David and I'm here to say imma school yo ass in a serious way ...that one's for free</li><li class="character">Me</li><li class="dialog">Any time I hear a rap that starts with "my name is XXX and I'm here to say..." I laugh uncontrollably.</li><li class="character">Andrea</li><li class="dialog">Did it happen just now?</li><li class="character">Me</li><li class="dialog">Yes. Luckily I was in the coffee room, not at my desk, so nobody saw.</li></ul>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com2tag:blogger.com,1999:blog-11523536.post-85525154993907689292011-11-21T14:18:00.000-05:002011-11-21T14:19:13.960-05:00Twitter Followers After One WeekendShould be self-explanatory:<br />
<br />
<script type="text/javascript" src="//ajax.googleapis.com/ajax/static/modules/gviz/1.0/chart.js"> {"dataSourceUrl":"//docs.google.com/spreadsheet/tq?key=0AjjVOzVO6bxYdHhlZEN4YXRnSmVxYUl4cThUQnFYTUE&transpose=0&headers=0&range=A3%3AB5&gid=0&pub=1","options":{"vAxes":[{"viewWindowMode":"pretty","viewWindow":{}},{"viewWindowMode":"pretty","viewWindow":{}}],"title":"Twitter Followers after 1 Weekend","backgroundColor":"#FFFFFF","legend":"right","colors":["#3366CC","#DC3912","#FF9900","#109618","#990099","#0099C6","#DD4477","#66AA00","#B82E2E","#316395","#994499","#22AA99","#AAAA11","#6633CC","#E67300","#8B0707","#651067","#329262","#5574A6","#3B3EAC","#B77322","#16D620","#B91383","#F4359E","#9C5935","#A9C413","#2A778D","#668D1C","#BEA413","#0C5922","#743411"],"is3D":true,"hasLabelsColumn":true,"hAxis":{"maxAlternations":1},"width":600,"height":371},"state":{},"chartType":"PieChart","chartName":"Chart 1"} </script>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-66888414929538113802011-11-21T09:58:00.001-05:002011-11-21T10:00:03.788-05:00Dipping My Toes Into the Warm Waters of Social Networking<span class="definition" onclick="openDefinitionWindow('friends', 'Which, let’s face it, is probably anyone who reads this blog; it’s not like anyone comes here who isn’t a personal friend of mine...')">Anyone who knows me</span> knows that I’m one of the few people on the planet who’s not on Facebook. And when I say “one of the few on the planet” that’s not much of an exaggeration—there are currently more than 800 million subscribers on Facebook, which is 11% of the world’s population. A <em>staggering </em>number. <strong>11% of the people on earth have Facebook accounts.</strong> Is there any thing else that 11% of the world’s population has in common? Religion, for sure; I’m sure there are other things that that many people have in common. But not many.<br />
<br />
Anyway, not the point.<br />
<br />
In case you’re getting excited and firing up your browser to load up Facebook and “friend” me or “poke me” or put graffiti on my “wall” or whatever it is you do on Facebook, don’t get ahead of yourself. I still haven’t created an account. Sorry, I know it’s inconvenient for you, but I promise I’m not doing it to slight you. <br />
<br />
Although... it might <em>seem </em>that way, because aside from Facebook I have taken on <em>other </em>social networking services in a big way:<br />
<ul><li>I’ve obviously been blogging for a long time. (Since <a href="http://sernaferna.blogspot.com/2005/03/blog-is-born.html">March 17, 2005</a>—over half a decade, people. And although this particular blog is mostly dormant these days, I do have the <a href="http://sernabibleblog.blogspot.com/">Bible blog</a>, <a href="http://sernabookblog.blogspot.com/">book blog</a>, and now even a <a href="http://sernaquotes.blogspot.com/">quote blog</a>, which are all pretty active.)</li><li>I’m on <a href="http://ca.linkedin.com/pub/david-hunter/a/7b0/77">LinkedIn</a></li><li>I’m on <a href="https://plus.google.com/110304689401952436824/">Google+</a>, and very much liking it</li><li>I’m using <strong>Yammer</strong>, which is a social networking site specifically for use within corporations/organizations, so our messages are only for each other, not for the world</li><li>I just today signed up for <a href="http://twitter.com/sernaferna">Twitter</a>, although I doubt I’ll be tweeting much; it’s more so I can follow the tweets of others. (A common use of Twitter these days, I’m led to believe.)</li></ul><br />
So... with all of this social networking stuff going on, it might be simple stubbornness that’s preventing me from signing up for Facebook. (Even if I love Google+, it doesn’t change the fact that everyone I know is already on Facebook. Again, not much of an exaggeration; my mom is the only person I can think of off the top of my head who’s not on Facebook...)<br />
<br />
Does that mean I’ll be signing up for Facebook any time soon? Frankly, I might not have <em>time</em>; what with following the new posts on Yammer and Google+ and keeping up with the <span class="definition" onclick="openDefinitionWindow('twits', 'I’m SURE that’s not the right term, but it’s fun to use anyway, though I’m sure I’m not the only one who’s used it')">twits</span> I’m following, where will I be able to find a couple of hours to set aside for creating a Facebook account? And wouldn’t that be the biggest irony of all? After so many years of my friends telling me (nay, <em>demanding </em>me) to create a Facebook account I am now not creating one because all of the other social networking sites are consuming all of my bandwidth...David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com1tag:blogger.com,1999:blog-11523536.post-70169388211140015782011-05-02T09:29:00.001-04:002011-05-02T09:29:54.039-04:00Roll up the RimWell RutR season is over, which means I get to post to my blog again. (Does this mean I won’t post again until 2012? Possibly. I haven’t even posted to the <a href="http://sernabibleblog.blogspot.com/" target="_blank">Bible Blog</a> in… wow… over five months!)<br />
<br />
The results are in <a href="https://spreadsheets.google.com/ccc?key=0AjjVOzVO6bxYdHpxNndjLTdKWDFja3RhdTZkaXYwcUE&hl=en&authkey=CLPvu-sG" target="_blank">the spreadsheet</a>. <span class="definition" onclick="openDefinitionWindow('link', 'Unlike last year, when I forgot about it and left it up all year long…')">I’ve removed the link that was in the sidebar</span>. Because of travelling for work and numerous other factors, I didn’t participate in the contest that much (meaning I didn’t go to Tim’s that much), but I guess the good news is that it means my win rate was pretty good.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com1tag:blogger.com,1999:blog-11523536.post-81333118658574149782011-03-28T14:55:00.000-04:002011-03-28T14:55:08.978-04:00Roll up the RimTo my surprise, I’ve had numerous people asking me about my Roll up the Rim spreadsheet for 2011. I didn’t realize it was so popular, but apparently it is. I’m not drinking at Tim’s as much as usual, though, so it’s more bare-bones than usual. But if you want to see it, <a href="https://spreadsheets.google.com/ccc?key=0AjjVOzVO6bxYdHpxNndjLTdKWDFja3RhdTZkaXYwcUE&hl=en&authkey=CLPvu-sG" target="_blank">it’s online here</a>.<br />
<br />
Enjoy!David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-85790492638845710912010-11-25T18:23:00.002-05:002010-11-25T18:23:46.618-05:00I Know, I Know, It’s Been a Long TimeSince it’s been <span class="definition" onclick="openDefinitionWindow('time', 'Well… three months. To the day.')">longer than I’d like to admit since I last updated this blog</span>, I guess it’s time I finally posted to catch people up on where I am in life.<br />
<br />
First of all, I’ve dumped the iPhone, and gotten <a href="http://sernaferna.blogspot.com/2009/09/palm-pre-serna-tale-of-woe.html" target="_blank">the phone of my dreams</a>. In order to get it I had to find an <span class="definition" onclick="openDefinitionWindow('unlocked', 'When phones are manufactured for North America, they’re manufactured for a specific carrier; the phone is “locked” so that it can only be used on that carrier. It’s a practice that serves no good to the public, it just helps to lock a person into a particular carrier. However, phones can be unlocked, so that they’ll work on any carrier—as long as the technology is supported. (e.g. if it’s a GSM phone, even if it’s unlocked you’d have to use it on a GSM carrier.)')">unlocked</span> version on eBay, so that I could use it on the Rogers network. (Andrea inherited the iPhone, but I don’t think she’s really liking it.) Any time I’ve told anyone that I swapped my iPhone for the Pre they’ve been shocked. Flabbergasted. They think I’m… strange. But I’m not looking back; I love the Pre. The only advantage the iPhone would have for me is that there are more apps for it, but I don’t need many apps in the first place. (I’d love a better Google Reader client for the Pre; other than that, there aren’t any apps I need that I don’t already have.)<br />
<br />
Next, I’ve [finally] started using <strong>Gmail</strong> as my primary email address, instead of my ISP’s email. (I won’t put my address here, but it won’t surprise anyone. Fairly easy to guess, is what I’m sayin.) I’d had the Gmail address for a while, I just wasn’t using it for anything. But I was discovering that it was getting more and more easy to use the Gmail address than my ISP’s email for almost everything. Then I found that it was easier to use Gmail from my iPhone than my ISP’s email (I was able to receive email, but when I tried to send it gave me weird error messages, and told my my password was wrong even when it wasn’t)—even though Rogers gives specific instructions for setting up your email on the iPhone. The instructions just don’t happen to… you know… work. Whereas Gmail works great. Then I switched to the Pre, found that I had the same issue, and said forget it; why am I bothering with my old email address? I’ll just use Gmail. So far, I’m loving it. And there are advantages to having all of your email “on the cloud” (instead of having some on the email server, and the rest in your <span class="definition" onclick="openDefinitionWindow('PST', 'If you don’t know what a PST is, then don’t worry. You don’t need to know.')">PST file</span> at home).<br />
<br />
Next, and more exciting than anything I wrote about so far, we finally took a <strong>vacation</strong>. (Yes, you heard me right: a <strong>vacation</strong>.) We took a Caribbean cruise, on <span class="definition" onclick="openDefinitionWindow('Carnival', 'The boat we were on was <em>not</em> the one that had an electrical fire and lost power for a few days—as soon as I heard about that, I checked.')">Carnival</span>, and I thoroughly enjoyed myself. It was with Andrea’s family—13 of us altogether, which is why a cruise made so much sense—and we took lots of pictures, which you can see <a href="http://www.flickr.com/photos/sernaferna/collections/72157625241588072/" target="_blank">here</a>. You’ll notice that none of the pictures include any people, they’re all scenery and landscapes. That’s because the pictures that include people are private, so that only friends and family can view them. (If you have a Flickr account, and are a friend or family, let me know your Flickr ID and I can add you to see them. Not that they’re spectacular or anything, but still… It’s nice to see.)<br />
<br />
Finally (for the purposes of this blog entry), and most importantly, I got a new job. (I’m pretty sure I never stated the name of the company I work for on this blog, so I’ll continue the tradition and not state the name of the new company I’ll be working for either.) It’s essentially the same type of work I do now, for slightly better money. The main thing is that I’ll be moving from client to client, which I miss (I’ve been working for the same client for almost eight years), and I’ll be doing a lot of traveling. Anyone I know in my field who’s done a lot of traveling has burned out, come to hate it, and warned me vehemently that I’ll grow sick of it too. That may very well be, but until it happens, I’m going to enjoy it. I haven’t done a lot of traveling for work, but when I have, I’ve loved it, so I definitely haven’t grown sick of it yet. I start on Monday, and, as you can imagine, am very excited about it.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com4tag:blogger.com,1999:blog-11523536.post-77556431197225651662010-08-25T11:10:00.000-04:002010-08-25T11:11:01.530-04:00Wave (Again)I read another article today about <a href="http://www.slate.com/id/2264930/" target="_blank">the demise of Google Wave</a>. In some ways, I think the author missed the point of Wave—but, at the same time, neither did the author deny that. In fact, it was part of the point of the post: What <em>was</em> Google Wave? What was it supposed to be <em>for</em>?<br /><br />The author didn’t seem to get what Google Wave was, and believes that Google might have overhyped it; personally, I believe that a lot of the hype was justified—Wave <em>was</em> meant to replace email, and IM, and maybe even documents—but I definitely agree that Google’s message on Wave was muddy, at best. Their press seemed to be saying, “Google Wave is great! It’s amazing! It’s revolutionary! It does… well… some stuff. And it does it really, really well! And you should use it! And if you do… then maybe you’ll figure out what it is that Wave does.” It’s hard to get people excited about something when they don’t know what it is.<br /><br />The author of this article said something similar:<blockquote>Not only did Google fail to define Wave, it also promoted it clumsily. I’ve written before about <a href="http://www.slate.com/id/2244441/pagenum/all/" target="_blank">Google’s strange habit of releasing lots of products with overlapping features</a>—Wave, for instance, shared traits with Google Talk, Gmail, Google Docs, and Google Buzz. Wave seems to have lost out in this internal fight for users’ attention. It was Buzz, not Wave, that won a prized place inside Gmail, where it could instantly win lots of attention. Wave, meanwhile, was actively separated from Gmail—if someone wrote you in Wave, you wouldn’t get any notice in Gmail. Google eventually added e-mail notification for Waves, but by that time the ship had sailed. Wave had already been defined as an online ghetto—no one was there, so why should anyone join?</blockquote>I definitely agree with this. Especially about the integration issues between Gmail, Wave, and Buzz. From the outside looking in, it seems that Buzz might have won some political wars within Google that Wave lost; it probably would have been a bad idea to integrate both Wave and Buzz into Gmail at the same time, but putting Buzz inside Gmail got it a lot of immediate exposure—even though I believe Buzz still isn’t getting used as much as Google would like—whereas Wave, as the author says, has become an online ghetto.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com2tag:blogger.com,1999:blog-11523536.post-91803504732848643842010-08-07T09:54:00.000-04:002010-08-07T09:54:04.190-04:00Google Wave, We Hardly Knew Ye. Literally.Google <a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html" target="_blank">has decided to pull the plug on Google Wave</a>, because it hasn’t seen the level of adoption that they would have liked. This is unfortunate, because, as my readers know, I very much buy into the Wave concept. I would prefer to be using Wave over email, prefer to be using it over IM, and in a lot of cases prefer to be using it rather than creating documents. I was also looking forward to using Wave to write my blog posts.<br /><br />I’d even begun work on creating a Wave gadget, but was hindered by some features that weren’t yet available—such as the ability to dynamically set the width of the gadget—but were being “worked on”. (I now see why they weren’t so quickly developed.) I had some ideas for other gadgets or robots, too; I probably would have ended up implementing all of the plugins I’d written for <a href="http://sernaferna.blogspot.com/2005/08/my-html-editor.html" target="_blank">HTML-Kit</a> as Wave gadgets/robots.<br /><br />The thing is, despite my excitement about Wave, and my willingness to create a gadget, and the fact that I would <em>prefer</em> to use it, I barely ever do. And I don’t use it for the exact reason that Google is shutting it down: nobody <em>else</em> is using it. Wave is all about communication and collaboration—if you’ve got nobody to communicate with, if you’ve got nobody to collaborate with, then it’s not going to do you any good. The very first adopters of email, back in the day, could only email people with access to the network and email accounts of their own; for everyone else, they had to send actual letters. Same with Wave; I could “wave” with other people on Wave, but for everyone else—which is practically everybody—I have to use email and IM.<br /><br />I’m not sure if it’s time yet for Google to shut it down; something like this would naturally take a long time to come into its own, and I’m not sure it’s been long enough. (Not that I’m expecting Google to read this blog post, and say, “Hey, serna’s right! We should give Wave a few more years!”) You can’t “get” Wave unless you’re using it, with other people who use it, and since hardly anyone is using it, very few people yet “get” wave or use it for anything useful. It’s not like Google Maps, where you can take one look at it and say, “Hey, that’s useful! Look, you can drag the map around with your mouse, and zoom in and zoom out, and you can search for things nearby your location, and…” It’s something that you’d need to use for a while, and start to realize how it gradually takes over where you used to email, or IM, or write a document, now all you’re using is Wave. Eventually you’d get to a point where there would be a minor level of irritation when you have to communicate with someone who doesn’t use Wave—but the thing is, most of us who buy into Wave have been constantly in that state for a year or two.<br /><br />Just this past week, I had a conversation with a colleague. My manager had sent an email, and there were some Reply Alls and some replies sent only to me, and then my colleague IM’ed me to talk about it further. And during the conversation she said, “See, we don’t need google wave, we already act as if its all one communication device.” To which I had to respond, “But if we had Wave, we wouldn’t need this side IM conversation. You could respond right within the Wave, but make it private so that only I’d see it.” Really, there would have been no need for the Reply Alls, there would have been no need for the IM conversation—or multiple conversations, if others were discussing it as well—and if anyone had been away from their desk and came back, they wouldn’t have seen an Inbox full of emails, they would have see one, consolidated wave. My colleague is right, we don’t need Google Wave; we already have email and IM. But then again, we don’t need IM, either; we could just send little emails back and forth all the time for our conversations—so why do we use IM? Because it’s easier. And if we had Wave, the set of conversations mentioned in this instance, spread across emails and IMs, also would have been easier, and nobody would have had to fire up MSN Messenger.<br /><br />My point being that people still don’t get Wave, and how could they if they’re not using it, and why should they use it—or how <em>could</em> they use it—if nobody else is?<br /><br />I definitely understand Google’s “release early and release often” philosophy, and I can see why they rolled out Wave the way they did—only to a few hundred developers first, then to a preview audience, and only recently opening it up to the world—but unfortunately, because of that strategy, the main use for Wave over the last year has been a lot of navel gazing. A thousand people talking to each other about how great Wave is, and wishing they could get their friends and colleagues to use it so that they could start using it for real communication.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-57937817127107897172010-07-02T21:12:00.001-04:002010-07-02T21:12:17.916-04:00A Short Post, Pointing to Long StuffI’ve been thinking a lot about <strong>postmodernism</strong>, lately, especially the Christian’s approach to postmodernism, and evangelism in a postmodern world. Here’s why.<br /><br />It started with a series of talks by D. A. Carson, on Evangelism in the 21<sup>st</sup> century. It’s a three part series; you can listen to the audio (MP3 format) by clicking <a href="http://go2.wordpress.com/?id=725X1342&site=pjtibayan.wordpress.com&url=http%3A%2F%2Fwww.omahabiblechurch.org%2Fuploads%2FAudioFiles%2F200210MC1.MP3&sref=http%3A%2F%2Fpjtibayan.wordpress.com%2F2006%2F10%2F17%2Fd-a-carson-audio-sermonslectures%2F" target="_blank">here</a>, <a href="http://go2.wordpress.com/?id=725X1342&site=pjtibayan.wordpress.com&url=http%3A%2F%2Fwww.omahabiblechurch.org%2Fuploads%2FAudioFiles%2F200210MC2.mp3&sref=http%3A%2F%2Fpjtibayan.wordpress.com%2F2006%2F10%2F17%2Fd-a-carson-audio-sermonslectures%2F" target="_blank">here</a>, and <a href="http://go2.wordpress.com/?id=725X1342&site=pjtibayan.wordpress.com&url=http%3A%2F%2Fwww.omahabiblechurch.org%2Fuploads%2FAudioFiles%2F200210MC3.MP3&sref=http%3A%2F%2Fpjtibayan.wordpress.com%2F2006%2F10%2F17%2Fd-a-carson-audio-sermonslectures%2F" target="_blank">here</a>. (I got these links from a page devoted to D. A. Carson talks, which can be found <a href="http://pjtibayan.wordpress.com/2006/10/17/d-a-carson-audio-sermonslectures/" target="_blank">here</a>.)<br /><br />This prompted me to read the book <em>The Gagging of God</em>, also by Carson, which I <a href="http://sernabookblog.blogspot.com/2010/06/gagging-of-god.html" target="_blank">posted about on the Book Blog</a>.<br /><br />Finally, I also listened to a sermon by Tim Keller, on giving the Gospel in our times, which you can listen to <a href="http://www.desiringgod.org/ResourceLibrary/MediaPlayer/1832/Audio/" target="_blank">here</a> or watch <a href="http://www.desiringgod.org/ResourceLibrary/MediaPlayer/1832/Video/" target="_blank">here</a>.<br /><br />See? Much shorter than my usual posts. Of course, going to <em>any</em> of the links I provided will consume a good amount of your time…David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-58453362854069977472010-06-21T09:30:00.001-04:002010-06-21T09:30:37.918-04:00Voice RecognitionI read <a href="http://www.codinghorror.com/blog/2010/06/whatever-happened-to-voice-recognition.html" target="_blank">a nice post on Coding Horror</a> today about voice recognition—and the fact that it’s still not here yet. (And may never come.) I’m not sure what I can add to his post, though, other than just saying “me too” over and over.<br /><br />Atwood mentions the Google app you can get for your iPhone, and its voice recognition feature. My experience has been slightly different than his—<span class="definition" onclick="openDefinitionWindow('speech', 'In fact, I remember one afternoon at church when a few of us were sitting around the table at lunch, trying to come up with phrases that would stump it, and being very impressed with how few times it was actually stumped.')">I’ve found that it works remarkably well</span>—but at the same time, I think of it more like a novelty, not a real useful thing. It’s fun to pull it out and speak into it, and have it automatically perform a Google search for me, especially if I want to show it off to others, but when I want to actually search for something… I pull up Safari, and type it into the Google search text box. (If I had <a href="http://sernaferna.blogspot.com/2009/09/palm-pre-serna-tale-of-woe.html" target="_blank">my dream phone</a>, I’d just do the search right from the phone’s “desktop” and not even pull up the browser until I found a result I needed!) I use Safari instead of the Google app with its voice recognition for a couple of reasons:<ol><li>It’s faster. Safari loads faster than the Google app on my iPhone, and if I find the result I want, it’s going to end up loading Safari anyway. So it’s much faster to just start with Safari in the first place, and cut out the middle man.</li><li>Add to that the times when the voice recognition doesn’t work, and you have to do the search over and over, vs. just typing it in and getting it right the first time.</li></ol>Plus there’s the whole speaking at your phone thing. Aside from the coolness factor, is there actually any benefit to saying your Google search at your phone, instead of typing it in? Any benefit whatsoever?<br /><br />I was also right there with Atwood when it comes to dictation. He mentions that someone had had the idea of having him and Joel Spolsky use voice recognition software transcribe their podcast, and I was thinking of when I was looking into doing something similar for <a href="http://thistletownbaptist.org/" target="_blank">our church</a>. We were going to start putting our sermons online, and I was thinking that having a textual version of the sermon would be very handy for things like Google searches, so I was playing around with Microsoft Word’s speech recognition. Which, again, is <em>very</em> good. But… not good enough, it turns out. In fact, I was trying to do some tests, using Microsoft Word, and one word that it could just never get right was “verse”. Imagine trying to transcribe a sermon without using the word “verse”! (To get a feel for why this is important, go back through <a href="http://thistletownbaptist.org/category/sermons/" target="_blank"><em>any</em> of the sermons we’ve got online</a>, and see how often the pastor is referring to this or that verse, as he refers to passage after passage.) It’s possible that the speech recognition might have done a good job, and I’d just have to go through and correct it, but I’m with Atwood on this one, too:<blockquote>Maybe it’s just me, but the friction of the huge error rate inherent in the machine transcript seems far more intimidating than a blank slate human transcription. The humans may not be particularly efficient, but they all <em>add</em> value along the way—collective human judgment can editorially improve the transcript, by removing all the duplication, repetition, and “ums” of a literal, by-the-book transcription.</blockquote>I actually approached it very optimistically, but in my testing quickly came away with the idea that it wouldn’t work out well in practice. (What we ended up doing is coupling the pastor’s sermon notes with the audio for the sermon. It’s not the best solution—pastors often end up straying from their notes, so the notes won’t always match up with the actual sermon—but I think it’s a good compromise.)<br /><br />So even though I sometimes find the iPhone’s text input <a href="http://sernaferna.blogspot.com/2009/06/iphone-revisited.html" target="_blank">kind of annoying</a>, I’ll still choose it over the Google voice recognition any day. And do—<em>every</em> day.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com1tag:blogger.com,1999:blog-11523536.post-85730617051142573572010-06-01T16:46:00.001-04:002010-06-01T16:46:58.146-04:00Incentivizing WorkI read <a href="http://www.inc.com/magazine/20081001/how-hard-could-it-be-sins-of-commissions.html" target="_blank">an article by Joel Spolsky</a> in which he was talking about gaming incentive plans. If you haven’t read it, go and check it out.<br /><br />Joel was looking at one side of the incentive problem: If you try and get a result by incenting people, they’ll learn how to get the incentives, regardless of whether they’ve actually produced the result—they learn to game the system. But what about the other side: What if people <em>didn’t</em> game the system? What if they really did try to produce the result you were looking for? And what if you promised them that the quicker you produced it, the higher the reward? That is essentially the free market system in action, right?<br /><br />Actually, it turns out that doesn’t work anyway. It’s not just that people will game the system and work around the incentive model you’re creating, it’s worse than that: the incentive model doesn’t work in the first place. Hence a talk by a guy named Daniel H. Pink. I found out about him from <a href="http://www.codinghorror.com/blog/2010/06/the-vast-and-endless-sea.html" target="_blank">a post on Coding Horror</a>; if you head on over to that post, you’ll see two videos from Daniel:<ol><li>The first one is from TED, and is longer, but more informative.<ul><li>As a side note, I just recently heard about <a href="http://www.ted.com/" target="_blank">TED</a>, and I’ve found a <em>lot</em> of interesting talks on a variety of topics. After you’ve seen one or both of these Daniel H. Pink videos, feel free to browse around the TED website for other talks. I’m sure you’ll find something interesting.</li></ul></li><li>The second is a shortened version, which is sort of a summary of the things said in the first one (but has prettier pictures).</li></ol>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-722938434014035782010-05-19T14:55:00.001-04:002010-05-19T14:55:33.154-04:00Google Wave<strong>Google Wave</strong> is now open to everyone; anyone with a Google account can log in, without having to sign up and wait for them to approve you.<br /><br />And, in honour of them opening it up to the general public, they put out another one of their little “About Wave” videos.<center><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/RMYM-l8BkIQ&hl=en_GB&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/RMYM-l8BkIQ&hl=en_GB&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></center>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-76450248713695041172010-05-10T16:44:00.001-04:002010-05-10T16:44:36.560-04:00Kathy Sierra at Business of Software 2009I originally got this link from <a href="http://www.joelonsoftware.com/items/2010/05/10.html" target="_blank">a post on the Joel on Software blog</a>, and thought I’d share it with you. It’s long—54 minutes—but if you develop software, it’s worth watching.<br /><br /><center><embed src="http://blip.tv/play/AYHNtX0C" type="application/x-shockwave-flash" width="480" height="350" allowscriptaccess="always" allowfullscreen="true"></embed></center>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-25989947072748122312010-04-29T09:57:00.001-04:002010-04-29T09:57:29.416-04:00Bread crumbs?!?We walked out of our door yesterday morning to find that someone had put bread crumbs on our front porch.<center><a href="http://www.flickr.com/photos/sernaferna/4562635303/" target="_blank"><img src="http://farm4.static.flickr.com/3198/4562635303_8f701e6a80.jpg" width="375" height="500" alt=" " /></a><br /><br /><a href="http://www.flickr.com/photos/sernaferna/4563265196/" target="_blank"><img src="http://farm4.static.flickr.com/3265/4563265196_213d2858d7.jpg" width="375" height="500" alt="Crumbs" /></a></center><br />Why? I have absolutely no idea.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com2tag:blogger.com,1999:blog-11523536.post-52400024213474806492010-03-29T19:47:00.000-04:002010-03-29T19:48:01.434-04:00Regular ExpressionsI’m sure I’ve mentioned <a href="http://en.wikipedia.org/wiki/Regular_expression" target="_blank">regular expressions</a> (regex) on this blog before. I love ’em. (Note: If you’re not a computer nerd, you don’t need to know what regular expressions are, and can ignore this post. If you are a computer nerd—in <em>any</em> area of computer science—you definitely <em>should</em> know what regular expressions are. But… you can probably still skip this post.) Such a powerful technology, and it’s already built into most programming environments. (Or even the command line, if you use any operating system <span class="definition" onclick="openDefinitionWindow('Cygwin', 'Unless you have <strong>Cygwin</strong>, of course, in which case you can use all of the Unix/Linux command-line tools that you’re used to from the Windows command line.')">other than Windows</span>—<a href="http://en.wikipedia.org/wiki/Grep" target="_blank">grep</a> anyone?)<br /><br />However, much as I enjoy the power of regex, there is no doubt that the syntax is a little… opaque. For example, suppose you want to validate that an email address is in a “correct” format. You could write some code that does the following:<ul><li>check for the presence of the <code>@</code> character (there should be one and only one)</li><li>see if there are any dots (and whether or not those dots occur before or after the <code>@</code>, because there may or may not be some before, but there has to be at least one after—but a dot can’t be the last character)</li><li>Check for special characters like the dash, and make sure it doesn’t come right before the <code>@</code>, or right before a dot. (It can exist, it just can’t exist in those special spots. e.g. you can have <code>serna-ferna@somewhere.com</code> but you can’t have <code>sernaferna-@somewhere.com</code> or <code>sernaferna@somewhere-.com</code>.)</li></ul>And there are various other rules you might need to check. You’d probably need one or more lines of code to check each of these rules. <em>Or</em> you can just validate the address against a single regular expression, in one fell swoop. One line of code (in most programming environments), and you can do some very complex pattern matching. <br /><br />For example, in Java, assuming we have a string called <code>emailAddress</code> with the address we want to validate, and a string called <code>EMAIL_REGEX_STRING</code> with our regular expression, we could do the following:<pre>if(!emailAddress.matches(EMAIL_REGEX_STRING)) {<br /> // handle error<br />}</pre>From a coding perspective, this is a lot simpler. With one line of code we can validate that email address, and the validation can be as complex as we want it to be. The regular expression can include all of the rules mentioned above, and more, all in one string.<br /><br />I bring this up because I was given just such an expression today, to validate an email address. It does, indeed, validate all of the rules mentioned above. Unfortunately, it looks like this:<br /><br /><code>(?i)^[a-z0-9`!#\$%&\*\+\/=\?\^\'\-_]+((\.)+[a-z0-9`!#\$%&\*\+\/=\?\^\'\-_]+)*@([a-z0-9]+([\-][a-z0-9])*)+([\.]([a-z0-9]+([\-][a-z0-9])*)+)+$</code><br /><br />Wow. Not so readable, eh? Just to understand it, I had to try and break it up, piece by piece, and figure out what’s going on. This is the result, with some pseudo comments in there:<br /><br /><pre style="font-size:8pt;">(?i) // make the regex case-insensitive<br />^[a-z0-9`!#\$%&\*\+\/=\?\^\'\-_]+ // string must begin with 1 or more of the characters between the [ and ]<br />( // next section...<br /> (\.)+ // if there is a dot...<br /> [a-z0-9`!#\$%&\*\+\/=\?\^\'\-_]+ // must be followed by one or more of the characters between the [ and ]<br />)* // ... section happens 0 or more times<br />@ // followed by an @ symbol<br />( // next section...<br /> [a-z0-9]+ // one or more characters of a-z or 0-9<br /> ([\-][a-z0-9])* // optionally followed by dashes, followed by a-z and/or 0-9 characters<br />)+ // ... section happens 1 or more times<br />( // next section...<br /> [\.] // a dot<br /> ( // followed by...<br /> [a-z0-9]+ // 1 or more a-z or 0-9 characters<br /> ([\-][a-z0-9])* // optionally followed by dashes followed by a-z and/or 0-9 characters<br /> )+ // ... 1 or more times<br />)+ // ... section happens 1 or more times<br />$ // must end here<br /></pre><br /><br />Still pretty bad. It’s no wonder that people take a look at regex syntax and decide they don’t have the time to learn it.<br /><br />The worst part is, I <em>think</em> there are some mistakes in this expression, but I can’t even be sure! Can you really have a <code>`</code> character or a dollar sign or an ampersand in an email address?!? Or am I even reading that right?David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com1tag:blogger.com,1999:blog-11523536.post-8640951150136700442010-03-27T13:55:00.001-04:002010-03-27T13:55:43.942-04:00Two Videos From ShadAndrea showed these to me today, and I thought I’d share them with y’all.<br /><br /><center><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/XBm0VHb2NZQ&hl=en_GB&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/XBm0VHb2NZQ&hl=en_GB&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><br /><br /><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/ymbd9G980hs&hl=en_GB&fs=1&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ymbd9G980hs&hl=en_GB&fs=1&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></center>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0tag:blogger.com,1999:blog-11523536.post-44366324355120593212010-03-26T14:23:00.001-04:002010-03-26T14:23:42.994-04:00Pretty LattesFor a while, when I was looking for a change, I was using the following display picture in MSN Messenger:<br /><br /><center><a href="http://www.flickr.com/photos/sernaferna/4465416342/" target="_blank"><img src="http://farm3.static.flickr.com/2689/4465416342_836c7a1627_o.jpg" width="116" height="113" alt="coffee" /></a></center><br />(It may even have been during <a href="http://spreadsheets.google.com/pub?key=t2Qd7U0ps_YI2qY94yMUttQ&output=html" target="_blank">Roll Up the Rim to Win season</a>.)<br /><br />When we were in Ottawa this week, for a short mini vacation, we stopped in at a coffee place that actually decorates their lattes like that.<br /><br /><center><a href="http://www.flickr.com/photos/sernaferna/4464638783/" target="_blank"><img src="http://farm5.static.flickr.com/4044/4464638783_a5df124a60.jpg" width="500" height="375" alt="Latte 01" /></a><br /><a href="http://www.flickr.com/photos/sernaferna/4464638815/" target="_blank"><img src="http://farm5.static.flickr.com/4051/4464638815_e8f0af4f6b.jpg" width="500" height="375" alt="Latte 02" /></a><br /><a href="http://www.flickr.com/photos/sernaferna/4465416256/" target="_blank"><img src="http://farm5.static.flickr.com/4003/4465416256_c87117eb7c.jpg" width="500" height="375" alt="Latte 03" /></a><br /><a href="http://www.flickr.com/photos/sernaferna/4464638935/" target="_blank"><img src="http://farm5.static.flickr.com/4065/4464638935_08cc5ce3a8.jpg" width="375" height="500" alt="Latte 04" /></a></center>David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com1tag:blogger.com,1999:blog-11523536.post-53713702043775653282010-03-26T09:40:00.001-04:002010-03-26T09:40:45.575-04:00Google Wave and Novel PulseI have long been saying—possibly here but definitely in other circles—that one of the key things that will help Wave technologies take off is when other companies/organizations start incorporating the federation protocol into their services. People aren’t going to log onto Google Wave to communicate for business—or at least, not many of them will—but they <em>will</em> log onto their corporate wave servers to do so. The example I keep using is when Microsoft incorporates the technologies into Exchange Server (if that ever happens—obviously it’s early days).<br /><br />I was pleasantly surprised to see today that <a href="http://googlewave.blogspot.com/2010/03/novell-pulse-and-google-wave.html" target="_blank">Novel has already started in this direction</a>, with their <strong>Novel Pulse</strong> product. I hadn’t expected it to start happening this early, but I’m glad it is.David Hunterhttp://www.blogger.com/profile/08992882297558499646noreply@blogger.com0