|
Spaces home Objective - Chris Hollan...PhotosProfileFriendsMore ![]() | ![]() |
Objective - Chris Hollander's Blognoun: 1.) Chris Hollander's Blog. 2.)Something worked toward or striven for; a goal. adj: Having actual existence or reality.
|
||||||||||||||||||||||||||||||||||||
|
August 26 Ranting, Raving, and Time Travel. Mike Ash posted a great rant about his dissatisfaction with his iPhone. The core of his dissatisfaction is the lockdown that apple has imposed on developers, specifically the inability to write applications that effectively run in the background. something about that post triggered some sort of contra-de-ja-vu in the back of my mind. I fired up the wayback machine, and found one of my *blog posts from almost five years ago, raving about my Windows Mobile Smartphone. Everything in that post is as true today as it was then: I regularly listen to music, read (and write) email, have IM conversations, and browse the web, in various stages of simultaneous, using a windows mobile device. The only difference is that now, i'm using also uploading pictures to facebook from the other side of the world thanks to GSM roaming, using Windows Mobile Live Search for GPS including turn by turn directions, and keeping track of the interwebs with FFtoGo and Twitter. Oh yah, it makes phone calls too. Leedvermaak then, schadenfreude now. :) *as an aside, I'm astounded by how well my blog held up through archive.org. ;) August 23 Segmenting Sequences into same sized Chunks
Samuel Jack's Functional Fun has become one of my favorite resources for functional/LINQ related info. A recent post describes an Extension method for "Slicing" an existing sequence into same-sized chunks. This is particularly useful when you have semi-structured data in a one dimensional list- I come across this pretty often when working with legacy systems (or, with new systems designed by legacy developers... but that's a whole other post). A few weeks ago, I wrote my own extension method that was functionally equivalent to what Sam had posted, but implemented differently: 1: public static IEnumerable<IEnumerable<T>> Chunk<T>(this IEnumerable<T> Sequence, int Size) 2: {3: int Start = 0; 4: while (Start < Sequence.Count() - Size) 5: {6: yield return Sequence.Skip(Start).Take(Size); 7: Start += Size; 8: }9: yield return Sequence.Skip(Start); 10: }
August 21 Photosynth...the ease with which that was captured, created, and shared is simply incredible. photo tour of Edinburgh Castle Courtyard, produced using about 20 pictures taken on my recent vacation and Microsoft Photosynth. Now, if only the Spaces team would allow me to embed it directly in this post.... li July 27 Apparently, the Internet is a crutch.The PlanSolve a whole bunch of problems from www.projecteuler.net during my 6 hour plane ride to Seattle. The Epic FailHaving to solve these problems without direct access to the project Euler site, so that I can use the provided validator to see if my answers were right, was ridiculously hard. Basically, I had to go by "feel"... if the code was becoming too convoluted, or if attempts were taking more than a few seconds, then obviously I was doing something terribly wrong. My plan when attacking a given Euler problem (or, in fact, just about anything in my life...) is:
The problem is, on a plane, my approach falls apart at step 2. Having access to the internet is the ultimate crutch. without having the internet to lean on, I had to fully support the weight of my stupidity on my own two feet... (or ten fingers in this case... whatever). It wasn't pretty.
The ResultsSuffice it to say, I didn't really solve any Euler problems on my trip. I did, however, dramatically increase my understanding of some key .NET 3.5 features, and of programming in general. It's nice to know that olding dogs can still learn newer tricks. The concepts that I'm learning the most about are things like LINQ, Lambda expressions, query continuations, and iterators, as well as some really (embarrassingly) fundamental things like recursion, closures, variable scope, and the secret lives of delegates. I haven't decided wether or not I'm going to love or hate extension methods. (also, I apologize to every English teacher I've ever had or known for writing that sentence just now). I absolutely love the capabilities to extend existing classes, but I worry about the impact of this in the enterprise, or in large projects. A huge portion of the code for my Euler Project solutions lives in extension methods, and this has allowed me to obtain a really high level of code re-use, and a great improvement in code readability- but at what cost? By doing my own "language design", i've been able to take some great steps towards a more "fluent API" (btw, WTB a great link to an overview of fluent APIs? wikipedia lol'd at my search), but my code has also become more brittle in some ways- a change to something like my Long.IsPrime() method suddenly impacted a dozen of my euler solutions, some for better, some for much worse. The current generation of developers is used to a very linear, vertical understanding of re-use through inheritance and containment; extension methods introduce a much more horizontal impact, especially when fundamental types (date, string, numbers, etc) are extended. It's not quite as cross-cutting as Aspects, but at the same time, it's less orthogonal than aspects; if you weave in aspects, its easy to turn them off if you notice a problem... whereas if your using extension methods provided by your enterprise, or by your project architect, it will be impossible to "shut off" those extensions if (or, when) you discover a show-stopping problem with them. I think I'll file extension methods under the "Great Power, Great Responsibility" tag. What do you think? July 24 Digital Identities. I Has them.
SO, its been a few months since my last post here on objective, so I figure why not share some love with the Internets. It only took me 2 years, but I think I've finally sorted out my Social
I've decided to sort all of this out because, after quite a creative draught, I suddenly find myself wanting to write again. I have a story to tell. I have an alternative perspective to share. I want to geek out in a big way, and I needed a venue to support that- My friends don't need to be exposed to the horrible gory depths of my geekery, and you, dear Internet (glares at search engines...), don't need to be exposed to the intimate details of dealings with my friends (facebook is just fine for that). I need to know that I can post code, and not bore my friends. I also need to know that I can post videos, and not ruin my friends future presidential campaigns. ;)
And finally... I want to re-establish a weathered connection. 6 years (gasp!!) ago, when I started blogging, I was known (ok, known might be a strong word here..) as one of the first Microsoft bloggers. Back then, there was a list (blogroll, it was called, way back then..) of about 20 or 30 of us Msft bloggers, and I was proud to be one of them. Then the blogosphere entered its inflationary phase, and thousands of awesome M'softies sprang up and took the Internet by storm. Around the same time, I started in a new position at Microsoft, and I didn't feel super comfortable sharing the details of my day job publicly. but as of Today, I am the Empire. This Saturday, I fly back to Redmond for a new swig of corporate cool aide. I'm going to spend a week soaking in as much as I can, then I'm going on a 2 week European vacation. When I come back, I've got about 20 posts lined up... fire up your aggregators. :) June 09 iPhone 3G. The G stands for groan. :(I really, really wanted to love the new iPhone. See, the original was really wonderful, but still not quite good enough for me... I have an unnatural, unhealthy relationship with my smartphone, and I was hoping that the new Iphone would bring Apple's device at least up to par with what I have, but it fell short. :( The good:
the bad (and the ugly):
my fingers are crossed. Maybe, just maybe, next year, Apple will introduce their next iPhone, and it will have enough substance to pry this smartphone out of my white-knuckled fist. lets see. May 19 Yes, the web is in peril...
according to Scoble, the web is in danger. The stage is being set for a grand battle with Microsoft, Yahoo, and Facebook on one side, and Google and the open web on the other. The preemptive strike is the (completely speculative...) Microsoft acquisition of both Yahoo search and Facebook: This is a fight for the Web. We all just crawled inside a box that locks Google out. Lets suspend disbelief for a moment, and imagine that things play out exactly how Scoble predicts. In his dystopia, Facebook becomes an isolated island in the open sea of the google-accessible web. Users who are "trapped" on the Facebook island are forced to.... well, they're forced to socialize with their friends, use well documented APIs to create and share applications, and proactively manage their online identities. Further, they will have access to the (second) best search tools on the planet- but those tools could be specifically tailored to fit the well defined needs of their tiny little island... heck, they might not be the best in the world, but maybe... just maybe... they would be "good enough". Its a hard life for these poor fools, stranded in Facebook. Life on the outside is so much better, amirite? I mean, out in the free web, All Your Data Are Belong To Google, and Google Does No Evil. Which means that your personal information, browsing habits, attention, gestures, opinions, are definitely not for sale to the highest bidder, right? Do no evil also means not making tons and tons of money by backing web spam, domain squatting, and malware distribution, right? ok, that's probably enough sarcasm for now. What we've wanted, for years, is a network that we can trust. A network based on real identity. If you need me, you can find me on the island. btw, these opinions are mine, and are not endorsed by my employer. May 16 I know what the Frozen Donkey Wheel Is.If you've found this post, then you know what I'm talking about. You came here looking for the Frozen Donkey Wheel. You've spent hours searching. You've been pouring over the web, following endless chains of links, chasing rabbits, loosing hours. You've read a thousand theories, and none of them have satisfied your hunger. You know that the answer is out there, just out of your reach, just behind the next link. You've already found it. You've been in it all along. The Frozen Donkey Wheel, of course, is the Matrix. No, really, stop laughing. Like the Matrix, the Frozen Donkey Wheel is a system. It's a control. It's a tool. Specifically, its a beacon. It's a crib. It's a tarbaby. The more you write, the more you read, the more you fight, the more it leads, the deeper you fall, the tighter the trap. half a million sites across the web tie themselves to the Frozen Donkey Wheel. And the frozen Donkey Wheel leads back to the original interviews. Which lead back to websites that are owned by Big Media. Which sells adds. And makes millions and millions of dollars. That's all the Frozen Donkey Wheel is. At TED, JJ Abrams delivers a talk about the mystery box. The producers have talked, at length, about the importance of the Internet in relation to the show. They've said that the show simply could not have existed without the Internet. The Frozen Donkey Wheel is an ad-hoc, dynamic, invisible, real-world mystery box. JJ Abrams hasn't opened his mystery box yet. And he's not going to any time soon. the secret isn't out there. Your not going to figure it out. It's not the answer you seek, its the question. Your not searching for the Frozen Donkey Wheel because you want to find it. Your find it because you want to search. May 07 With Authority comes Responsibility, or something...
So, here's the thing with the Internet. Thanks to search engines, all sorts of people find this blog- but when they get here, I doubt they find whatever is is that they were looking for. Hopefully, this post will help redirect the poor, lost surfers* who stumble across my meager little blog in their search for the answer to life's questions.
*do we really not have a better metaphor than surfing yet? Because, like, the web is nothing like a wave... and a browser is nothing like a board... Ok, that's pretty cool.
Those keys manage my browser tabs. Let me say that again: those keys manage my browser tabs. that means one button access to opening new tabs, closing existing tabs, and entering Urls. My whole browsing world has been radically altered. Its times like these that I realize just how much of a geek I am. May 05 Where it's at.two years ago, I wrote about the then discombobulated state of social networking. Things have improved a bit since then:
The new hotness (and by new, I of course mean old to everyone except me...), surprisingly, are a series of services that attack social networking from surprisingly different angles.
So.... what's the point of this blog post? after spending a few months in "Read Only mode", I'm ready to start contributing to the web again. This is due, in part, to the culmination of social network stuff outlined above, but also due to the alignment of a bunch of awesome tools: Windows Live Writer, Live Gallery, Witty, Live Mesh, and my smartphone... but that's a whole other post. October 06 Update.My walk outside went well.
My inbox is still clean.
I have one less inbox than I used to.
My action items were completed, delegated, or turned into full scale projects.
I have followed up. I have closed all previously open loops.
There are exciting opportunities ahead. I may even be able to write about some of them.
All of my bills are still payed- and there are no new ones.
All of the documentation for my previous project was submitted and approved.
My new project requires extensive documentation. The action items are defined.
My desk is a mess.
I have at least one shiny new toy, with more on the way.
I have found my favorite new quote: "Statistics are like bikinis. What they reveal is suggestive, but what they conceal is vital" - Aaron Levenstein. March 13 clean slate.My work inbox has zero items in it.
My hotmail inbox has zero items in it.
I have zero unread items on bloglines.
I have no unread notes or open friend requests on myspace.
All of my bills are paid.
All of the documentation I needed to do for my current project is complete.
my desk is clear.
I have generated about 80 next action items.
I should really go take a nice walk outside while the sun is still shining. February 27 winter is official over......at least for me.
Today marked my triumphant retun to a ten minute mile- someting I haven't been able to run in about six months. My "winter hibernation" is officially over!
I haven't been to the gym in weeks- since my usual (bad influence) lunch buddy wasn't available, I decided to hit the gym during my lunch hour. A minute or two into my treadmill warm-up, This is How I disapear (My Chemical Romance) came on, and I started mashing the "speed up" button. the next song that my phone shuffled up for me was Everlong (Foo Fighters), which starts off relatively slow (which was gave me a second to catch my breath and grab a sip of water), but quickly ramps up and ends incredibly high (which led to more speed-up-button-mashing). When I run treadmill, I usually cover the time/distance/heart rate thingee with my towel, so that I don't get caught up counting seconds- I pulled away my towel, and was shocked to see 1.04 miles in 9:43... and that I had been running over 8 miles/hour for the last two minutes!
It always suprises me how much easier it is for me to accomplish some things, in spite of paying absolutely no attention to what i'm doing... February 23 The ultimate Transition Object.The thing about spending your life working with computers, software, the web, and bits in general is that things have a way of staying relatively abstract. The actual relationships between things become very well defined, very predictable, very understandable. Have you ever seen what happens the moment an executive realizes they left their blackberry on a plane? In the last 2 years, i've left my cellphone home about three times. Today is one of those days. Its a disaster. My hands shake, i'm constantly worried that i'm late for things- I obsessively check my email. I constantly check my pockets. If I wanted to talk to someone right now, I'm fucked. I don't know my best friends phone numbers. I don't have a quarter for a pay phone. If I did, they wouldn't never take the time to accept an anonymous call from some weird pay phone number. I have nothing to stare at during boring meetings. I have 101 keys beneath my fingers, but all I want is my 12 key pad and T9. I don't even want to think about all the people who might choose today to call me. Who know that when they call, their numbers and names and pictures and songs will blare out of my phone, and will assume that I'm not answering because I'm dead in a river somewhere. Its really not the phone. the phone is the cheapest pile of plastic, silicon, LCD, and battery that could be cobbled together and resold for the highest possible price. The thing is, my life is in that thing. I carry everyone that I care about in my pocket. My neurons fire through its circuitry, and spray a mess of life onto my caller. I hear voices. I see faces. I connect. The cell phone is the ultimate Transition Object. A Transition object is a thing that you use as a substitute for a relationship. Infants have pacifiers. Catholics have crosses. Butch held on to his fathers watch. You probably still have your highschool sweetheart's t-shirt in a drawer somewhere. My phone is my ulitimate transition object. It proxies every relationship in my life. Everything important to me ends up on my cell phone, somehow. People, places, music, messages. A transition object is a tool. You can take out your transition object whenever you need to, and recieve a quick dose of comfort to ease your anxiety. I often wonder if modern cell phones were specifically tailor made to serve as handheld substitutes for disconnected relationships. I wonder if america is last to catch on, because it seems like mobiles are a much bigger deal everywhere else in the world. I wonder how many people still have still hang on to lost relationships, lost loved ones, and lost places and times by clinging to digital bits stuffed into their pockets. I wonder how many people only consider a friendship truly over once their contacts have been deleted from their respective phones. I guess what I'm trying to say is... I really wish I didn't forget my phone today.
|
|||||||||||||||||||||||||||||||||||