tag:blogger.com,1999:blog-29295744464529849272024-02-19T22:58:28.486-08:00Exoteric ThoughtsExploring the world of software development from a slightly different vantage point.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-2929574446452984927.post-6006724000735618362011-07-27T19:22:00.000-07:002011-07-27T19:50:53.683-07:00Steve Yegge's got balls, but don't dis the cat's completelyToday a colleague of mine (<a href="http://seb.cyberdream.net//">Seb Martin</a>) pointed me towards a video of Steve Yegge publicly quitting Google durring his presentation at OSCON 2011:<br />
<br />
<iframe width="560" height="349" src="http://www.youtube.com/embed/vKmQW_Nkfk8" frameborder="0" allowfullscreen></iframe><br />
<br />
It appears he quit because he was starting to work on something that he doesn't love, namely <a href="http://www.facebook.com">cat pictures</a>, and ways to <a href="https://plus.google.com">share those cat pictures</a> and <a href="http://www.linkedin.com">fluff money making software</a>. More importantly on something he deems not to add value to the human race. This hit close to home. I've recently also had one of these software engineer/developer mid-life crisis' and I blogged about it 2 years ago as one of my very first posts: '<a href="http://randomfishies.blogspot.com/2009/08/what-is-green-computing-lately-ive-felt.html">what is green computing etc...</a>'.<br />
<br />
This is part of why I love working at Macadamian, and in many parts why I love my job. I get to do a ton of pre-sales/solution architecture where I meet new or existing customers, ramp up quickly on new technologies, figure out how to smash them all together, and finally kick start an amazing team (developers, QA specialists, and UX researchers/designers) down a road of building actual product. I also get to mentor developers, young minds, point them towards very cool ideas and help shape the future - maybe just a little bit, but it's doing my part.<br />
<br />
But what do Steve Yegge quitting and my job have in common? <b>Healthcare</b>: One of Macadamian's key verticals is healthcare software products. We've done a ton of EHR, PHR, Mobility and Health devices UI revamps etc... And this is very morally rewarding work. We might not be solving the domain problems, but we are working with domain experts to help their lives or their customer's lives get better, easier, more efficient, cheaper, or all the above. This I can live with. This gets my passion going. This recharges my batteries.<br />
<br />
But what about the cats? I don't want to upset them. I think there is tons of value in building solutions involving hundreds of millions of kitty photo being shared. I think what we do there pushes the technology envelope, and facilitates innovation in other sectors. I've taken what I've learned building kitty cat sharing software and have been able to apply out of the box technologies to typically conservative old tech problems. So don't undervalue the cats...<br />
<br />
<a href="http://oreilly.com/catalog/9780596154516/">Now I have to go buy this book!</a>Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com1tag:blogger.com,1999:blog-2929574446452984927.post-90156308214077663192011-01-18T18:55:00.000-08:002011-01-18T19:05:52.677-08:00Tablet-ma-phones. The next big thing or a flash back to the 80s?Recently at Macadamian we've been doing a ton of mobile work. Specifically Android development. One of the really interesting things we've gotten to see is a huge slew of devices coming in the door. More recently, at the 2011 CES there was a slew of Android tablets (most of them horrible) and phones, so I'm sure this year we will see even more strange permutations of mobile devices.<br />
<br />
However, after experiencing a few of these devices I feel that the size and scale of mobile phones these days has trended back towards this:<br />
<img src="http://www.toybox.ca/~thooper/uploads/Motorola850.jpg"><br />
<span style="font-size:10px">Image: Motorola 8500x</span><br />
<br />
But I find myself missing a term for these phones and tablets, so I'm going to invent one... <b>"tablet-ma-phones"</b>. These tablet-ma-phones are big phones and medium size tablets (5-7"). And what I've noticed is that many of tablet-ma-phones are... well... ridiculously big to be a phone, just look at this photo of the dell streak: <br />
<img src="http://www.toybox.ca/~thooper/uploads/faraz_dell_slate.jpg" width="500"/><br />
<span style="font-size:10px">Image: Dell Streak tablet-ma-phone modeled by fellow Macadamian Faraz - who is well over 6' tall</span><br />
<br />
This is where I think the iPad had it right. Imagine if they tried to make the iPad similar into one of these tablet-ma-phones? Seriously, why do you want a medium sized tablet-ma-phones that feels like an old 80s mobile phone that won't fit in any of your pockets except your laptop bag! It's not a phone, and really, it's not a very good tablet. <br />
<br />
In the few occasions that I've found myself using my iPad as a soft phone, let me tell you, walking down the street yelling into the top of an iPad gets you plenty of stares... but seriously would you want to walk around looking like this:<br />
<img src="http://www.toybox.ca/~thooper/uploads/fara_ipad.jpg" width="500" /><br />
<span style="font-size:10px">Image: Apple iPad, sported like a tablet-ma-phone - seriously who would want to try and talk on it?</span><br />
<br />
I don't think so.<br />
<br />
So c'mon world lets keep our cell phones in our pockets and our tablets in our bags... and lets throw away these tablet-ma-phones.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com1tag:blogger.com,1999:blog-2929574446452984927.post-54140332128343389812011-01-04T07:20:00.000-08:002011-01-04T11:20:01.382-08:00A new year, a new era, or an echo of the past?I've been thinking mobile allot lately. And I keep thinking we are seeing a cycle of trends of past days. Maybe this is just history repeating itself.<br />
<br />
At Macadamian we have many customers asking us Native vs Web for mobile apps. And right now, no question native offers a much richer experience. But this sounds like the exact same argument that was used for desktop vs web apps circa 1999. But the web slowly chipped away at native. Ease of upgrade, cross platform (yes even with the NN, IE, Firefox, Safari, etc... browser CSS/JavaScript incompatibilities), single development stack all beat the native argument. Will it happen again? <br />
<br />
I think so... However, maybe not as explicit as we've seen in the past. There is talk of 'hybrid' mobile apps. We are seeing these in the form of explicit embedded browser controls inside a native application. This solves the distribution problem of the application (note: this still upsets people who paid for the application strangely enough, though they are fine to pay for a native front end that consumes the same data and has the same laggy interface) which helps companies understand distribution and monatization. We are also seeing this in cross platform development tools like Titanium, PhoneGap etc... These are very cool development environments that lean very heavily on JavaScript and browser controls while providing the necessary hardware hooks that native applications get (location, microphone, gyroscope etc...)<br />
<br />
But really these are just fancy web applications, wrapped in pretty wrapping paper and distributed as 'apps' to the mass market. So does that mean the web app was just re-invented for the mobile platform and has already started it's climb to winning this battle again (this by no means the death of local apps)? Time will tell.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-24453923812327619602010-11-25T19:01:00.000-08:002010-11-26T17:08:26.330-08:00Life in Transition: from iPhone to Android to WP7Over the past 3 months I've had 4 different personal phones: An iPhone 3G I loved for over 2 years, 2 Android phones: a Motorola Milestone (a close cousin to the Droid), an HTC Desire and finally a WP7 LG Optimus 7. <br />
<br />
<i><b>Transition from iPhone to Android</b></i><br />
Initially this is shocking. Android is rough; however, everything you need from a smartphone is there. And there are some silver linings. The biggest bonus of the transition is if you are a Gmail user and your contacts are stored in Gmail. Alternatively, if you didn't use Gmail, you do now, sorry. There is no more silly google sync desktop synchronization with iTunes hocus pocus, its all done on the phone. Gmail account integration is possibly one of the biggest features that the boxy Motorola gave me, and it made me smile. Other features slowly but surely let me look past the initial dis-uniformity of the user interface and experience. features such as: Mobile wireless hotspots, google navigation (seriously good, it's replaced my Tom Tom), and the Gmail client. <br />
<br />
<b>Biggest blessing and curse:</b> touch and hold menus; these are stellar, but they also prevent you from advancing or moving your cursor when you are editing an email or a body of text, and in the case of the milestone, it was a horrible square D pad that you need to slide out from time to time to move your cursor. This is far from convenient or quick. <br />
<br />
<b>Life after iPhone</b><br />
It was good. I felt liberated, I could use drop box, I could share with just about any service that added the proper hooks to android. It was liberating. But it was frustrating. Overtime the rough edges start to make you angry. So I gave android one more shot. <br />
<br />
<i>Enter the HTC Desire.</i><br />
<br />
<b>The Sense OS - So close but ooooohhh so far</b><br />
At first the Sense OS is mesmerizing. It's cool, it adds some much needed animations and, most of all, polish to Android. However, it's as though HTC tried really hard to do and fill in where Android was rough and unfinished, but decided to give up without a final check.<br />
<br />
<b>Great Additions to Sense OS: </b> The hub. They have done this via a mac 'expose' like double click on the home button or an exaggerated vertical pinch. 7 main screens with user selected widgets (really just fancy skinned live folders) fly out. Each widget can be an extensions into your social network, email, SMS, agenda, world clocks, etc... All important to you and easy to get to. This is great, and a significant improvement from the iPhone 'drawer' approach which leaves you opening and closing applications to get to the same information. However, this is a Sense OS only extension, and from what my developers tell me, can only be achieved easily by extending the base android OS (not exactly developer friendly).<br />
<br />
<b>Where HTC dropped the ball:</b> SMS, the keyboard. In an attempt to give you more real-estate on the screen, HTC has floated the auto-complete suggested words. In doing so, on screens like SMS (possibly the MOST keyboard centric application on a mobile device) it hides the 'send' button unless you select a word or hit the space bar. SERIOUSLY... this is just bad UX and polish.<br />
<br />
The Keyboard, what did they do? It's like they had a bunch of engineers have a bunch of really good ideas, take the baseline Android soft keyboard and poop on it. The Sense OS keyboard on an HTC Desire has a worse hit rate than the basic Android soft keyboard (a la milestone) and really, take my word for it, It sucks...bad.<br />
<br />
Finally, some of the service based applications are just really poorly written. With very little quality control in the Android Marketplace, it’s no wonder that from time to time I find a strange run away service that has completely drained my battery and made my thigh burn from a red hot handset pegging out it’s CPU.<br />
<br />
<i>Enter WP7 and the LG Optimus 7</i><br />
<br />
<b><i>Transition from Android to WP7</i></b><br />
If you are going to move from one platform to another, Android to WP7 makes a heck of a lot of sense. Why?<br />
<br />
Microsoft was kind enough to give you bidirectional sync with Gmail contacts. This is especially nice if you just sold your Android phone and have been forced to start using Gmail. However, like the Android Phone, say hello to your new Microsoft Live account. Now, the nice part here is that your old hotmail or MSN messenger accounts are viable options. And really, who doesn't have an MSN messenger account?<br />
<br />
My initial reaction is a little bit of awe to WP7 is the crisp response and smooth clean animations. The new ‘metro’ look and feel is crisp and is based on a very strong contrast UI. Not everyone will like the look. But it’s fresh, and what I like is the high contrast reminds me of print media. The high contrast also makes it very easy to read and find what you want quickly. Microsoft didn’t try and push too much content into each screen, instead urging users to pan left and right and up and down smoothly. It is as though you are looking through a viewport onto larger canvas. <br />
<br />
Other really smart thing that WP7 developers thought of, and not enough people are shouting about, is WP7’s heavy reliance on push notifications. This is a very smart way to build power conscious applications. Applications rely on push notifications to enable asynchronous service calls. One of the most awesome uses of these push notifications is via Live Tiles. Live Tiles are a great usability idea. They update relevant information about the application via push notification updates that don’t require the application to be open or running. Brilliant, I get my weather updates without a service polling in the background or having to open the application!<br />
<br />
But what really shines above all else, the WP7 soft keyboard. It's stellar, hit rate is fantastic and it's the best of both worlds between the iPhone auto-complete and the android suggested words.<br />
<br />
<b>Other notables:</b> Email, Messaging, People hub and Facebook integration is stellar. And the camera is just lightning fast.<br />
<br />
There are, however, some compromises. There is no more mobile wifi hotspots, but there are some hacks already surfacing to set up tethering (<a href="http://www.wired.com/gadgetlab/2010/11/easy-hack-enables-usb-tethering-on-wp7-phones/">http://www.wired.com/gadgetlab/2010/11/easy-hack-enables-usb-tethering-on-wp7-phones/</a>) so this might not be the end of the world! I haven’t missed multi-tasking or service based applications. The one exception is SIP. I use SIP phones almost exclusively for work, and MS has no plans to bring SIP to the WP7 soon. They want to do this via their new Linc service. Also no messaging service supplied by MS… c’mon! Finally, I'll miss Google Navigate. That really is a good app.<br />
<br />
Ultimately, the transition from iPhone to Android to WP7 has been an interesting trip. But right now, I’m pleasantly surprised and happy with my WP7. With the LG Optimus 7 I find myself not longing for the polish of my iPhone and the openness of my Android. It seems to be just right. I've gone from iPhone to Android and WP7 and I don't think I'm going back.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com3tag:blogger.com,1999:blog-2929574446452984927.post-31697052338177753542010-10-13T06:49:00.000-07:002010-10-13T11:07:19.969-07:00Windows Phone 7<p>One Thought: <i>Welcome to a new Era of mobile development.</i><br />
</p><p>I'm going to keep this short and sweet. About 6 months ago I blogged for Macadamian that I thought WP7 was the platform to pick once they ironed out some of their SDK problems. Well with the recent launch of the WP7 being a near total success with MS putting many of the critics to bed. I'm calling it now. WP7 is going to rock.<br />
</p><p>I've gotten a chance to develop on the big two platforms (Android and iPhone) as well as WP7 and I know that WP7 is a pleasure, esspecially compared to iPhone dev. <i>Hardcore dev's might not like that it's Silverlight only...</i> However, it works. And it works well. MS areeven giving away their tools to build WP7 apps for free.<br />
</p><p>But what I really want to talk about is why WP7 is going to rock. A few reasons: <br />
</p><p><b>The Dev Tools rock, Silverlight and XNA as dev/game frameworks is brilliant</b> and easy. <br />
</p><p><b>Expression Blend 4</b> is great at getting designers into the solution (see my cross canada presentation for Tech Days on this subject). Seriously, my Android developers wish that something like Blend existed for Android.</p><p>Yet there is another key piece. <br />
</p><p><b>The Hub.</b> Yup - the panarama control. This is a game changer. It brings a level of navigation that UX people have been only dreaming would find it's way into a mobile platform. The hub officially brings to WP7 two ways to navigate the phone that map easily to <a href="http://www.webdesignfromscratch.com/website-architecture/ia-models/">UX information architecture patterns</a>. <br />
</p><p>I don't think that MS knows where designers and UX teams are going take these concepts. But I'm excited to find out. You should be too. </p>Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-42249348543281581822010-09-08T05:17:00.000-07:002010-09-08T05:19:25.300-07:00Microsoft Tech Days 2010<a href="http://www.techdays.ca/speakers/anthony_hooper">It's official</a> (well it has been for a while, but it's been published by MS now), I'll be putting on two presentations at MS Tech Days. The key one will be <a href="http://www.techdays.ca/sessions/OPT361">Expression Blend - Putting it into Practice</a> which myself and a colleague <a href="http://blog.surprisedpoultry.com/">Francis</a> created and will be putting on across all of the Canadian TechDays events. <br />
<br />
Right now I'm just finishing off my demo(s) code. Next week I will be in Vancouver presenting this material. I really think Expression Blend will change the Designer and Developer relationship. If you come out to my presentation I'll explain how! <br />
<br />
But I've been into web development for the nearly the last 15 years of my life. I started early as a graphic/web designer, team lead, project lead, technical lead and eventually a web architect and now a dev manager specializing in web technologies. What does this mean? I've seen designers and developers interact a lot. Heck, I've seen good designers and bad designers, I've seen designers that have bridged the gap significantly and I've worked with designers who have just handed you a colour printout (and an emailed PSD file) and said 'go'. This is where expression blend will change how we do things... It will change your dev process if you do it right.<br />
<br />
On a side note, I was also asked last minute to do a quick 30 minute 'turbo talk' on IE9.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-61842178049653781252010-08-27T17:30:00.000-07:002010-08-27T18:01:32.651-07:00Droided...I almost ordered an iPhone 4 the night my beloved iPhone 3G died. But fate shone down on me and a spare Droid at the office was found and I'm glad I never placed that order. I've been using an unlocked Motorola Milestone for the last few days and my suspicions have been confirmed.<br />
<br />
I recently blogged for Macadamian about '<a href="http://www.macadamian.com/blog/post/iphone_vs_android_vs_wp7_development_from_a_development_managers_point_of_v/">iPhone vs Android vs Windows Phone 7 from a development managers point of view</a>', and, well, now I can at least do the Android vs iPhone comparison from a user's perspective.<br />
<br />
First impressions so far:<br />
<br />
<b>UI</b> - it's good - not great. Reminds me still of an early 2000s BMW. They look good, but... you certainly don't go 'oooooohhhhh' like you do when an <insert Italian car manufacturer here> drives by.<br />
<br />
<b>User Experience Consistency</b> - Submitting an application to Apple and following their UI guidlines might be as enjoyable as getting teeth pulled, but it works, iPhone apps are usually consistently usable. By contrast, the user experience from a droid application to another just isn't as polished compared to the iPhone. Once again it works - but this time it reminds me of sitting down in a corvette. WTF are the grand am radio controls doing in here??? Seriously sometimes things just feel out of place. <br />
<br />
<b>Creativity/Out of the box thinking</b> - a side effect of not having a dictator-like grip on the UI/UX... well everything to do with getting your application to market, is there is a positive side effect. Some of the application have some pretty neat and intuitive ways to get about them, and they don't necessarily follow all the rules. For example, I really like the use of press and hold menu's. They just make sense. Apple - do more of this.<br />
<br />
Overall I like it. It sync's beautifully with gmail and Google Enterprise (duh!) it really would have been tragic had it not. It's not as sexy as the iPhone, but being a creative <i>enginmaneer</i> that likes functionality that works beautifully, I will sacrifice some sex appeal for practicality and versatility. Will I switch? Not for a Milestone, the slide out keyboard sucks but I am seriously thinking about a Samsung Galaxy. Yup - Droid you've won me over, for now. Bring on the WP7.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-14712481251026876712010-08-24T06:57:00.000-07:002010-08-24T12:57:16.374-07:00The Love is Lost...I've lost my love... my iPhone is dead. That's right dead. I'm not the first to post about their beloved iPhone coming to it's premature end by kissing asphalt.<br />
<br />
<p style="text-align:center"><img src="http://www.toybox.ca/~thooper/uploads/dead%20iphone.JPG"></p><br />
But it's not all that bad. I've been falling out of love with my old 3G for a while now. I have to say that Apple deciding to support the 3G with iOS4.0 was a <b>huge</b> mistake. The OS was unresponsive, slow, bulky and offered very few reasons to upgrade for the 3G audience and resulted in a crowd of my colleagues and friends complaining of how their 'old' (1,2 year old) phones were crap. The performance was so bad that answering a phone call would take 2-3 rings for 'answer' to be acknowledged. To make it worse the speaker was going and I could only use it with a headset or in speakerphone mode. <br />
<br />
But <i>my </i> iPhone was a beloved device. The iPhone changed the Smart Phone landscape in Canada (and I believe North America) popularizing the use of data and creating a change of lifestyle of information when you want it. Not just email like the RIM BlackBerry did, but the good stuff - the web. That intoxicating content streamed everywhere and anywhere you wanted. Who needs to choose a restaurant - pick a location, we'll read reviews when we get there and decide. But will my lifestyle be re-enabled with another iPhone 4? Should I?<br />
<br />
This brings me to why I don't want the iPhone 4. Yup I said it. I love the iPhone, but I don't want the iPhone 4. Yeah it's nice looking, has a great screen and is very quick and slick. Yeah it's another bigger better sexier iPhone. But I'm a software engineer. I create software for a living and creating software for the iPhone, to me at least, seems like trying to print a book with an old mechanical press - it can produce beautiful work, but damn it's a pain in the ass to get there. Having built applications on Google's Android or the upcoming Windows Phone 7 - those two get my bet - I can quickly create a personal application to facilitate <i>anything</i> I want to create. <br />
<br />
The only questions left is: Can I wait until MS comes to market? I'd love to. The metro OS is sexy, the collaborative Office tools are compelling. But I might just need to settle with an Android phone for now. Oh the choices - let the journey of choice begin, but sorry Apple - you are not included on my wishlist.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com3tag:blogger.com,1999:blog-2929574446452984927.post-86814010646583641492010-06-12T18:19:00.000-07:002010-06-12T18:21:44.427-07:00Day 5 - MS Tech Ed - App Fabric, specifically the Service BusFinal day of Tech, the line up isn't that spectacular for someone looking for high level, architectural approaches. But Joval Lowy and <a href="http://www.vasters.com/clemensv/" target="new">Clemence Vasters</a> (MS Tech Lead on Azure App Fabric) showed up to bat and didn't disappoint.<br />
<br />
What App Fabric brings to the cloud is an Enterprise Message Bus that enables some pretty impressive functionality. They focused on four elements that make up the service bus: Eventing, Tunneling, Service Remoting, and Discovery.<br />
<br />
The details of these four elements are pretty impressive. Instead of getting into the details and paraphrasing these guys, let me talk about some of the cool application of this 4 point attack.<br />
<br />
<b>Eventing</b> - Handles multi-cast subscriber message relaying. Imagine sending a single message to an Event hub and having all subscribers informed instantaneously. Think of how this changes your pub/sub models. Furthermore, there are message buffers here (Note - they are not MSMQ and are not durable queues).<br />
<br />
<b>Remoting</b> - Nothing super impressive here except app fabric will leverage SOA and WCF services/investments. <br />
<br />
<b>Discovery</b> - Default is an ATOM feed. However, with a little majic from Joval's utility classes, you can have a fully programmatic discovery of services being broadcast (currently not enabled in app fabric from my understanding of Joval and Clemens back and forth). Joval has extended discovery to include announcements - something that is currently not available out of the box. Very cool.<br />
<br />
<b>Tunnelling</b> - This is where things got above my head. Ultimately the built in tunnelling ability of app fabric can tunnel down into any on premis asset that isn't plugged into WCF. Think about how you might move an application to the cloud yet many of the tight coupling hooks are back to non-cloud non-internet accessible links.<br />
<br />
The real interesting part of all this was a small backhanded statement by Joval to Clemense. Clemense remarked that it was 'taking a while for an demo to start and Joval should upgrade his notebook'. Joval responded - 'This is Gods notebook, 8 cores, 8 gigs of ram - what does that say of your software Clemense?'. I think this highlights perhaps a chink in the azure app fabric armour. How computationally intense is it for some of these services to initiate? Time and examples will tell.<br />
<br />
The second presentation of the day before packing it in for the week was put on by <a href="http://blog.platformvision.com/post/TechEd-2010-Top-10-Hidden-IT-Costs-And-How-to-Avoid-Them.aspx">Karen Forster</a>. Trying my hand at understanding the full cost or even hidden costs of rolling out a solution. This presentation's key nugget was the idea of: Spaghetti Infrastructure (not just code). Clean, linear vertical IT stack:<br />
<a href="http://platformvision.com/images/PlatformVision_ArchitecturalModel_1.0.2A_THUMB-MD.jpg" target="new"><img height="300" src="http://platformvision.com/images/PlatformVision_ArchitecturalModel_1.0.2A_THUMB-MD.jpg" /></a><br />
<br />
Finally there was the MS Tech Ed Party - this was an interesting event. Showing up to Mardi Gras world was a little... peculiar. This is where they store a ton of the Mardi Gras floats, I was met with what looked like the Burger King mascot that left me feeling like I should turn around and find bourbon street. But the lure of free beer kept me strong. That was about the only good thing about the party - free beer, but even then, they ran out of <i>good</i> free beer quickly and people started leaving when only Bud Light was left. What does that tell you about bud light that people who make a decent living are willing to go <b>buy</b> their own booze on Bourbon street then take it for free. I felt sorry for anyone who paid the $125 sticker value to get in.<br />
<br />
Regardless of the lack luster final party the conference was stellar. The energy was great and the set up was awesome. There were a few glitches with the wifi/internet dying for a complete afternoon - rendering some demo's useless (especially cloud computing ones... take now - perhaps another 'chink' in the armour).Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-84505216997022301402010-06-09T16:41:00.000-07:002010-06-09T16:44:01.895-07:00Day 3, 4 - MS Tech Ed - Deep dive into WP7 to the Entity Framework/LINQ to SQL/Stored Proc what's best? argumentThe last two days of tech ed for me haven't been nearly as great from a sessions perspective. Maybe it's because I got pulled out of the conference to deal with some work related issues, but I also think the content wasn't as powerful. Or mabye it's that the sessions are getting more and more technical focused and I'm a big picture kinda technologies.<br />
<br />
There was a quick overview of the WP7 architecture, the building blocks of how WP7 came to be. Some amazing nuggets that came out of the presentation:<br />
<ul><li>State Model of WP7 runtime enables applications to be suspended. However, suspended application that take up too many resources with Shell will kill. So assume suspended aps will be killed when programming. Aka save your state!</li>
<li>Always store the last request locally (isolated storage) it's a best practice and with the use of the back button helps user's navigate to and from your app.</li>
</ul><br />
Joval was back with his Zen of Architecture sesison - He nearly filled an auditorium with developers and architects. I'm not sure they were ready for what he was going to say. What he's done here is very ingenious. He's continuing his argument about the evolution of Software Engineering and feeding off the Civil, Mechanical, and Electrical Engineering fields to come up with a notation and a mechanism for designing software systems. The key to his design is WCF as it encapulates his layers. The notation is pretty enginious and he brings up a good argument about the death/decay of UML - UML was invented to teach C dinosaurs how to do C++ (Object Oriented). Furthermore, for those of us who did some form of electrical engineering courses, we all know that the notation for electrical circuits are simple and to the point. This is the basis of his notation/technique which he calls the Method. <br />
<br />
<img src="http://www.idesign.net/idesign/images/arch.bmp"><br />
This tiny picture from iDesign's website actually is a small rendering of his method's notation. It's simple, smart, and looks very effective. I plan on sharing this with the architecture team at Macadamian very soon.<br />
<br />
Finally, this morning an excellent session was put on by <a href="http://www.sqlskills.com/blogs/bobb/">Bob Beauchemin</a> aptly named: "A Database Developer and DBA Perspective: LINQ to SQL and Entity Framework vs. Stored Procedures". I think that summarizes it well. He went over some of the fundamental (and I think little known) issues of LINQ2SQL and Entity Framework (he calls these the 'frameworks' which I like and will now steal). He showed real world examples of how LINQ2SQL uses parameterized queries and how it's just about as fast as Stored Procs, persist in cache like stored procs etc... The only major downside to either - Direct Table Access. DBA's hate giving up this kind of control and for good reason - it's the fundamental rule for locking down a DB and securing it. His final say - the frameworks work well, use them were they make sense, but with the latest releases of the frameworks it's even easier then before to tie them into stored procs, meaning both camps can be happy.<br />
<br />
Oh and Bob's final note - LINQ is SQL, just written ever so slightly differently.<br />
<br />
Finally I spent 3 hours in the Hands On Labs - this is a great idea that MS has. Right smack dab in the middle of the conference are labs with instructors around to help you. They have set up coding examples (you can cut and paste them until you feel you've actually programmed something) or experiment with the code a wee bit like I did and have a final product that doesn't really match the course material but still captures the spirit of it. What did I learn? That Push Notification Services for WP7 are actually fairly straight forward minus the byte streaming and a few deligates/event handlers here and there, rely heavily on WCF and are consumed pretty easily.<br />
<br />
Final thoughts - After spending a little more time in expression blend, I really think this tool makes Silverlight/WPF that much more compelling. If you haven't started to learn expression blend, start now. That and azure or some kind of cloud computing!!!Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com1tag:blogger.com,1999:blog-2929574446452984927.post-41353460578187319282010-06-07T19:40:00.000-07:002010-06-07T19:53:08.071-07:00Day 2 - MS Tech Ed - From Keynote to Bootcamp in about 10 hoursToday was a little dizzying. It started with running late to the keynote - apparently the trolley service (though very very cheap @ $1.25) doesn't <i>really </i>run on time - and when I say doesn't really, I mean doesn't AT ALL run on time - it just kinda shows up sometime... but there is a nifty <a href="http://www.norta.com/routes/route.php?route=2&days=wd&currentpick=">schedule </a>online, which is apparently useless. Missed the breakfast, decided on a Dr. Pepper as a means of caloric injection. It wasn't very satisfying. Neither was the keynote. It lacked energy, the speakers were ok. The keynote certainly wasn't a Steve Balmer typical energizing pick up a gun and blow up Google either. What it was, was a conservative statement about the coming of the cloud, how it will enable your business to be smarter, and how Microsoft is now eating it's own dog food. Meaning, many of these products have been in use within Microsoft for years and they've been making them better for us before we had to live with them.<br />
<br />
Something that has a significant push, something that's been a quiet peice of software for a while, is the UC - Communication Server. There are some very neat elements built into it and it's collaboration with all of the MS suite of tools. I'm not really sold because you need to be running Sharepoint, Comm. Server, etc... etc... to have the majic work.<br />
<br />
A few emergine technologies that I think are worth looking into that was shown VERY fast are:<br />
<br />
<a href="http://www.pinpoint.microsoft.com/en-US/Dallas">Codename Dallas</a> - An open data information look up and provisioning service that is tightly coupled to the .Net dev tools.<br />
<br />
<a href="http://www.powerpivot.com/">MS Excel, specifically Power Pivot</a> - Seriously. This looks intense. Though I got into a very good discussion over lunch with a fellow techy about if they can make some of this work SOOO well with the Excel application, why can't they get it into SQL Server? Seriously, Pivot on 100,000,000 records would be devistating. This has brought back memories of building SQL queries and connection into Excel and allowing it to do most of the hard work. Seems that just might be the way to do it again.<br />
<br />
Intelli Trace (<a href="http://msdn.microsoft.com/en-us/magazine/ee336126.aspx">great msdn article on it</a>) - I mentioned this yesterday, but forgot to mention the actual tool name. It's getting close to being a DVR for the .Net plateform. Unfortunatly, you need VS 2010 Ultimate to use it. Get this - it's <a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/ultimate/buy">$11,899</a> if you want to buy this thing... yeah I tuck a little poop as well. Too bad they don't have a SAAS model for it. Wow... seriously? Maybe I should just hit backspace on this paragraph since 12K is a little steep.<br />
<br />
Once again, lots of hype about WP7 - I got verbal confirmation from a few people who shall remain nameless that the BETA SDK should be delivered within 30 days. Can you say AWESOME? I saw some pretty impressive feats with Expression Blend and WP7/Silverlight today... I'm just saying.<br />
<br />
Finally I went to an Azure bootcamp, signed up for an Azure account (7 free days!) and walked through the steps nessisary to deploy my first Azure Web App. It's not nearly as intuitive as you might think for a Microsoft Tool.<br />
<br />
Anyhoo - time to get some work done and try and get enough sleep to pack in 10-12 more hours of this tomorrow.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-51149057590403750542010-06-06T23:12:00.000-07:002010-06-09T16:13:37.291-07:00Day 1 - MS Tech Ed - Strategic Architecture SeminarAmazing Session.<br />
<br />
<a href="http://www.microsoft.com/presspass/exec/judah/default.mspx">Norm Judah </a>started it all off with a great vision into 2015, discussing the evolution of Cloud computing. This concept of Cloud and an overtone of software as a field of Engineering were really being drilled home. Norm highlighted how Cloud computing is really going to revolutionize and bring about the 5th generation of computing. (previous generations mainframe, PC apps, client/server, Internet). One thing Norm really got right here is breaking down the word 'cloud'. Making sure we understood that not all clouds are made the same - EC3, Azure, Rackspace cloud, akamai, limelight, etc...<br />
<br />
<a href="http://www.idesign.net/idesign/DesktopDefault.aspx?tabid=5">Juval Lowy</a> followed up the concept of Engineering and discussed the inflation of terms from the 1990 explosion of the high tech industry and the boom that brought about an influx of under rated under talented and certainly not properly trained software professionals. His idea - Software Architects are really Software Engineers. Software Developers - really are software technicians. This terminology is radical and for some insulting. But what's in a title? Really it's about what you do. He highlighted that the architect should <b>NOT</b> be the domain expert. I couldn't agree more - that's for SMEs and developers. Architects deal with patterns and processes that can be re-used over and over again to solve problems.<br />
<br />
<a href="http://www.linkedin.com/in/ayochem">Angela Yochem</a> really inspired me with as my current role as a dev manage for Macadamian Technologies, more specifically as someone who is helping his employees reach their potential through a single statement - "<i>How do you want to finish your career?</i>: Forget about the - what do you want to do in 5 years question we've all be asked.<br />
<br />
These three alone were enough to make my mind nearly explode with new energy and ideas. Idea's I want to disseminate within Macadamian as fast as I can. Cloud computing, re-invigorate the role of the architect as the engineer (something I've been thinking about a lot lately, how software developers are the craftsmen - but how I haven't really put words to paper on what that makes the architects).<br />
<br />
But there was more...<br />
<br />
<a href="http://www.linkedin.com/pub/jim-wilt/2/8b5/998">Jim Wilt</a> went into the details of Cloud computing, how it's new, immature, and the architects out there need to get their hands dirty with it. Like Norm Judah said - this is a new frontier of computing. If you don't make this paradigm shift in how you design software, in 5 years you will be scrambling to keep up. Another interesting topic he went into was how private clouds don't really make sense in the long run, but will help quench the fear of the enterprise of lose of control.<br />
<br />
<a href="http://twitter.com/ekassner">Eduardo Kassner</a> - The only IT Infrastructure Architect of the group - really hit home with a rapid fire overview of a great study about building efficient, well managed IT infrastructures. This is something most start ups don't get right. The report was great, it went into massive detail about the total cost of ownership (something very difficult to explain to customers as it's not something immediate).<br />
<br />
<a href="http://www.linkedin.com/ppl/webprofile?vmi=&id=1490469&pvs=pp&authToken=tqTS&authType=name&locale=en_US&trk=ppro_viewmore&lnk=vw_pprofile">Sam Guckenheimer</a> went into some deep dives (and demos). But his key message that really stuck with me had to do with technical debt. More specifically how <a href="http://www.lean.org/common/display/?JimsEmailId=63">lean process/enterprises</a> and the concept of Muda, Mura, Muri brought in by Taiichi Ohno at Toyota. These 7 type of Muda (waste) really hit home, the biggest one was absurdity that creates a reliance on heroism to save the day (or build or release). Furthermore, it's great to see that MS is moving towards a solution with testing that Replay Solutions (replay Editor) brought about earlier this year. The ability to log bugs that can launch you directly into a debugger session in VS2010. The caveat is that the easiest way to deploy this is with TFS and Lab Manager as your dev environment. Though he did mention a way to build your own custom tie ins. Can you say plug ins?<br />
<br />
Finally Futureist, <a href="http://www.linkedin.com/ppl/webprofile?vmi=&id=335504&pvs=pp&authToken=nYGe&authType=name&locale=en_US&trk=ppro_viewmore&lnk=vw_pprofile">Ulrich Homann</a>, flew 50,000 feet above sea level and got into some very interesting topics about how some of the leading edge corporations in the world are shedding old paradigms and looking at some very new ways of developing solutions.<br />
<br />
And to top this all off. I won a MS Web Camera. This is ironic because the old Creative Notebook Web Cam I have was giving my laptop blue screen's of death when trying to video chat with my daughter. All in all, very happy times.<br />
<br />
<i>As a small side note </i>the reason I won the web cam was from a question I asked the panel about Geo Fencing services built into cloud computing services in Azure. With that said, Geo Fencing of clouds doesn't seem to be on the horizon for Azure. What MS is doing is lobbying governments to reduce their views on 'location' of the data storage. The strong argument about how the information using the Internet gets routed to you is key here. It might be stored a block away, but it may get routed through 5 states and 3 provinces before it gets to your computer.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-57505146341158412332010-06-03T15:55:00.001-07:002010-06-05T22:31:41.276-07:00Headed to Tech Ed in New OrleansI've just spent the first 5 hours in New Orleans. This place is hot. No seriously, it's warm. 41C with the humidex. Regardless, I'm not sure what to think of it yet. I've come across some rather interesting sights and sounds.<br />
<br />
A few interesting things that I'll be doing besides hunting for a <a href="http://en.wikipedia.org/wiki/Muffuletta">Muffuletta</a> (<i>update found one - central grocery and franks... tried franks this evening it was pretty good and the service was nice and chatty</i>) will be to try and sync up with a few MS Evangelists and discuss some of the crazy stuff we are doing in the mobile space right now.<br />
<br />
There is a buzz around the service industry with the MS conference coming to town. Usually this time of year tourism is slow. They are excited for the influx of 40,000 people. So am I. Lets get this conference started.<br />
<br />
I'll be posting updates as I get them with interesting technologies and thoughts as they happen. Ultimately, I'm most interested in WP7 - will they have hardware - will I get to touch it? Will they announce a new SDK CTP? Lets hope we get some answers.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-5590055032348464622010-05-27T10:46:00.000-07:002010-05-31T11:59:37.362-07:00JSC Compiler - This could be coolThis just in from mwnw - very cool and promising new compiler that lets you compile to java, php, actionscript, javascript - based on a similar concept as GWT.<br />
<br />
Have a peek at the source fourge project: <a href="http://jsc.sourceforge.net/">http://jsc.sourceforge.net/</a><br />
<br />
Warning: I haven't had a chance to download and see how well this works or see what limitations. But I'm kinda stsoked - thinking MS will buy this and make it a feature of VS?Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com2tag:blogger.com,1999:blog-2929574446452984927.post-44535152854991777052010-05-27T09:14:00.000-07:002010-05-27T09:14:27.787-07:00Make Web Not War - Very cool little conference in MontrealRight now i'm just finishing up the morning at Make Web Not War. It's a cool little Microsoft sponsored conference talking about interroperability between Open Source (PHP being the big one here) and MS (Azure etc...).<br />
<br />
Very cool, very neat debate. One of the things I just learned about was that Azure (Microsoft's answer to EC3 and rackspacecloud.com etc...) . Details: <a href="http://www.microsoft.com/windowsazure/interop/">http://www.microsoft.com/windowsazure/interop/</a>. What's neat here is PHP, Ruby and Java have SDKs!!<br />
<br />
This I think represents a real change of direction within MS to push to support more then frameworks they build.<br />
<br />
Cool... just cool.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-16973432743914332412010-04-13T04:51:00.000-07:002010-04-13T05:08:26.872-07:00Windows Phone 7I've always been a fan of my iPhone. It's done everything well, and when tethering was enabled, I was able to do my job from anywhere (as long as my 15lb boat anchor of a dell <span class="blsp-spelling-error" id="SPELLING_ERROR_0">vostro</span> could be hiked along with me). I've found myself working from under a tree near the river or in a secluded park while doing some code reviews.<br /><br />Regardless, the iPhone and I have gotten along splendidly. But looking at the <span class="blsp-spelling-error" id="SPELLING_ERROR_1">CTP</span> release and Mix10 videos of WP7, I'm stoked. It's the first phone to come along since August 2008 (the month my iPhone and I met!) that really gets me excited.<br /><br />Android never excited me, it was cool, it was well engineered, but there was no emotional response. This is where I think big <span class="blsp-spelling-error" id="SPELLING_ERROR_2">ol</span>' Microsoft has their $hit together. The WP7 looks amazing. It's clean, simple, <span class="blsp-spelling-corrected" id="SPELLING_ERROR_3">elegant</span> and well integrated. Having started to build a WP7 application with my team, and finding out it's easy as heck to develop on (to a certain degree, the <span class="blsp-spelling-error" id="SPELLING_ERROR_4">CTP</span> is still missing some key elements to really make life simple) but C# and <span class="blsp-spelling-error" id="SPELLING_ERROR_5">WPF</span> (<span class="blsp-spelling-error" id="SPELLING_ERROR_6">Silverlight</span> subset) are a <span class="blsp-spelling-corrected" id="SPELLING_ERROR_7">breeze</span> compared to the obtuse and almost confusing objective C iPhone approach.<br /><br />Anyways, I'll put the technical details into our team's blog <a href="http://themobileexperience.macadamian.com/">the mobile experience</a>.<br /><br />Final thought: WP7 is cool, I'm excited to see it, and if the price is right, features good enough, you might just find my iPhone going on <span class="blsp-spelling-error" id="SPELLING_ERROR_8">Ebay</span>... She's been a good friend. But you know what they say: "When the love is gone..." buy a new phone ;)Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-47803287236702721842010-04-07T10:57:00.000-07:002010-04-07T11:00:45.523-07:00Things are getting Nutty!My day job is getting kinda busy. But good busy.<br /><br />Right now I'm just starting to run three concurrent projects all building the same application on three different mobile platforms. It's an experiment, and it's fun.<br /><br />Android (Java), iPhone (Objective C) and Windows Phone 7 (C# and Silverlight). <br /><br />Each of them are unique, have their own craziness but also their challenges. I'll post some updates soon. But We'll be talking about it, and talking about it lots. I'll post some links to the new blog ASAP for anyone out there listening.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com2tag:blogger.com,1999:blog-2929574446452984927.post-42979981291391493442010-03-31T13:01:00.001-07:002010-03-31T13:06:04.044-07:00Technologies to WatchA few things you should look into:<br /><br /><ul><li>Pivot: Already shown you this, but watch this video: <a href="http://www.ted.com/talks/gary_flake_is_pivot_a_turning_point_for_web_exploration.html">Ted Pivot Talk<br /></a></li><li><a href="http://www.replaysolutions.com">www.replaysolutions.com</a> - specifically the replay director tool. This forces a massive paradim shift in how issues are monitors and tracked. Imagine playing back a production exception in your dev environment without having to set up data, and track the clicks. This is all done auto-majically for you via a JVM PVR like software. Very cool.</li><li>Windows Phone 7 - is this the iPhone killer? Easy development of tools, beautiful user centric interface... very cool [<a href="http://www.windowsphone7series.com/">web site</a>] - best thing of it all - WPF based development...</li><li>On a side note - Expression Blend - Specifically 3/4. These are going to change the way and how MS silverlight and MS desktop application kill Flex etc...<br /></li></ul>Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-15764033933260360942010-02-20T19:02:00.000-08:002010-02-21T11:07:52.409-08:00Silverlight 4... JQuery and WOA... Oh My!.. I got very very busy. But I did get a chance to build a few small application in Silverlight 4. Nothing ground breaking really so don't get excited.<br /><br />Initial thoughts:<br /><ul><li>VS2010 is hot. I mean, it makes other IDE's look Neolithic.</li><li>Silverlight smells like Flex.</li><li>Silverlight + Expression Blend is neat, but they don't 'blend' together as nicely as you'd want.<br /></li></ul>Some further thoughts.<br /><h2>Web Oriented Architect</h2>With the increase choice of JQuery or other JS frameworks (plus AJAX suuport of course) the WOA model seems to be growing in popularity. I know it's cool and has its place - but it is by no means following a KISS (keeping it simple silly) model. If you are building a web application and most of the RIA features from Silverlight and Flex are not necessary, I ask you: Does it make sense to go with a WOA: RESTful services + application server + web server + JS library/Flex/Silverlight?. Personally, I'm just not sure yet. What happened to the days of strong caching models and sleak simple non-WEB services oriented architectures with CSS/HTML/DHTML and light AJAX models?Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com1tag:blogger.com,1999:blog-2929574446452984927.post-14542644472987094492010-01-30T17:29:00.000-08:002010-01-30T17:41:51.993-08:00RIA<p>Silverlight... Flex...</p><p>I've gotten my hands dirty with Flex 3 and didn't particularly like it. The emphasis on doing binding and pushing some of the dynamic functionality to the markup is unappealing. Furthermore, Flex, if you are not doing a mash up of services, tends to push you towards a 6-tier solution <span style="font-style: italic;">(unless you are using Adobe Air)</span>. You will need to have 3-tiers for developing your web services and a quasi-3 tiers<span style="font-style: italic;"> (I managed to create 3 separate projects and link them with much effort) </span>for your<span style="font-style: italic;"> </span>Flex application. Regardless, I didn't like it.<br /></p><p>Enter Silverlight. I'm installing Silverlight 4 beta right now. Over the next few weeks, I plan to report back to you on how good (or bad) it is. However, Silverlight does look promising. If you are an idiot... err... I mean someone who likes to push binding to the markup it seems to support that, but it also allows you to do stuff programmatically, or so it seems. I'll let you all know shortly.</p><p>I'm still a fan of CSS/HTML/Javascript for most website development. Let's see if Silverlight can convince me the future is now.</p><p><span style="font-style: italic; color: rgb(153, 153, 153);">Feeling Optimistic</span><br /></p>Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com3tag:blogger.com,1999:blog-2929574446452984927.post-85011629988064382072010-01-21T11:14:00.000-08:002010-01-21T11:42:19.732-08:00FluidityThings have been busy, but I think I can promise myself to post a little more often now that I'm no longer leading a delivery team.<br /><br />I've recently changed my role at Macadamian, and as a part of that change I get to research new technologies and do technology proposals as well be responsible for caring for developers careers, training and general well being!<br /><br />One thing I have to say after nearly 2.5 years of being embedded in a J2EE application is wow... things have changed. I want to expand more on this. But I'll leave you with some reading for now.<br /><br />Have a look at Pivots - a new idea of managing collections of data on the web by microsoft.<br /><br /><a href="http://www.getpivot.com/">http://www.getpivot.com/</a>Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-82728390728355907592009-10-28T07:21:00.001-07:002009-10-28T08:33:03.959-07:00Constructive criticismIn any leadership position it is very difficult to be the bad guy. But I've asked myself this hundreds of times - why do we hate being the bad guy? AND Why do we even have to be the bad guy? I think it's because companies and organizations like the word <span style="font-weight: bold; font-style: italic;">'CRITICISM'</span>. It's an HR term, used in most HR interviews with that HR person who always inevitably asks: How do you react to constructive criticism. Everyone answers - 'very well <insert awkward laughter>', and tries to give a positive example (or makes one up). But in reality that isn't how it goes.<br /><br />I think the typical response to 'constructive' criticism is:<br /><ul><li>Initially accept it, but be slightly offended.</li><li>Think about it, and be very offended or put off.<br /></li><li>Rebel - stop documenting your code, expect reviews to be a disaster, make it hard for the reviewer (or tech lead)<br /></li><li>Be criticized again</li><li>job hunt</li><li>comply while job hunt in progress<br /></li></ul><br />This highlights one of the biggest challenges of being in a leadership position in the software industry (and probably in most industries) is how do you give this so called<span style="font-style: italic;"> 'criticism'</span>? And how do you give it well? To complicate things, software development <i><b>is</b></i> a craft, we are like master carpenters, we subjectively put together approaches and tools to solve problems, there is no right answer. And we can solve software problems in an infinite number of ways! Being a technical lead means you have to ensure that a particular approach is adhered to, as everyone on your team can solve the problem differently. We call this applying best practices or coding styles.<br /><br />This applying of best practices brings me back to being the bad guy, as it can easily be misconstrued as being negative. A colleague recently talked about how he's going to have to be the bad guy and be a little stronger with a team mate about some coding quality issues. He was worried that it would be taken the wrong way, or the person would react poorly (see steps above). I tried to frame to him how to give this 'strong' feedback as an educational process and not one of criticisms, ideally start by pointing out how you have made the same mistake and it can be solved this way. Which highlights my hatred for the word criticism. Why don't we just give feedback or work on team building (not just outings to restaurants or awkward social events). We as leads need to educate our team, not criticize.<br /><br />I was recently asked the very question at the start of this blog. And in all honesty, I had a hard time answering it. I don't think I give constructive criticism, I teach, I work with, I mentor and I sympathize. If the developer on my team isn't getting it, I work harder at finding another vantage point to make them understand it (note: I don't hire idiots, I know they have talent). This skill (I'll call it mentoring) I think is lost in our world of HR political correctness and tight deadlines, and not given enough support to flourish. Either it's something someone does well or something they don't. To top it all off, if you don't 'mentor' well or if 'mentoring' is not well supported in your organization (tech leads bogged down with too many tasks, no buffer built for it in estimates etc...), you might find your turn over to be a little bit higher than you like, and your team not performing as well as you want.<br /></awkward></insert>Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-9269685393809784282009-08-17T18:44:00.000-07:002009-08-17T18:57:43.472-07:00What's in a Name...<p>Some people have asked about the name of this blog, so I thought I might indulge them.</p><p>First, let's have a quick look at the definition of exoteric:</p><p><span style="font-size:85%;">Main Entry <b>ex·o·ter·ic<br /></b>Pronunciation: <span>\<i>ˌ</i>ek-sə-<i>ˈ</i>ter-ik\<br /></span>Function: <i>adjective</i><br />Etymology: Latin & Greek; Latin <i>exotericus,</i> from Greek <i>exōterikos,</i> literally, external, from <i>exōterō</i> more outside, comparative of <i>exō</i> outside<br />Date: 1660<br /><b>1 a</b> <b>:</b> suitable to be imparted to the public <span class="vi"> — compare esoteric <b>b</b> <b>:</b><br /><b>2</b> <b>:</b> relating to the outside <b>: external</b><br />— <b>ex·o·ter·i·cal·ly</b> <span class="pr">\-i-k(ə-)lē\</span> <i>adverb</i> belonging to the outer or less initiate circle</span><br /><i><span style="font-size:85%;">From <a href="http://www.merriam-webster.com/dictionary/exoteric">http://www.merriam-webster.com/dictionary/exoteric</a></span></i><br /></span></p><p>Ultimately the ideas and themes will be about all kinds of things that most people could likely figure out themselves, but I will hopefully add some value and clarity from my point of view.<br /></p><p>The URL of the blog also has some meaning: <i>randomfishies</i>.<br /></p>Anyone who's taken a statistics course will cringe at a poisson distribution that defines the extent of a series' randomness. Poisson is also french for fish. Random fish ;) There is of course a less politically correct interpretation dealing with the source of propagation of mammals, which is itself a random and chaotic event. All of this reminds me of the chaotic non-linear multi-order systems of nature that will be the major themes of my discussions and thoughts.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-10574096673314238202009-08-14T18:31:00.000-07:002009-08-14T18:33:32.082-07:00Green Software Development?<p class="MsoNormal">Although the term ‘green’ really means a colour, I think everyone uses it because it reminds us of grass, trees and generally anything with chlorophyll in it – plant matter.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">So why are plants so important? I think it’s because they represent our world, our planet, the beauty of Mother Nature and the chaotic symphony of balance that she performs daily with which we human beings systematically interfere.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">What does this have to do with software development? Well, let’s just say that my conscience has been telling me that there has to be a meaningful way for what I do day-to-day to make small impacts on everyone.</p> <p class="MsoNormal"> </p> <p class="MsoNormal">First, I think I need to start to define in my own terms what green software development is. Well, there is the concept of green computing (<a href="http://en.wikipedia.org/wiki/Green_computing">http://en.wikipedia.org/wiki/Green_computing</a>), which can be integrated into my everyday life by ensuring every line of code is optimized and FLOPS are not wasted. But how do you try and slowly change the world and make a difference if all you do is write software? Software is well, soft: it is intangible, it exists as a series of binary code that makes a computer perform operations. In some of these worlds it will interact with some IO and drive a device, actual hardware, but that is rare for a web developer like me. I’m slowly starting to focus in on the idea that unless you are actually building control systems/software for something that will have an immediate impact <i>as a software developer, it’s hard to change the world</i>. </p><p class="MsoNormal">How do you live with the thought that it’s nearly impossible with software to change the world, especially if you really want to make a difference; and I am not talking about just recycling your pop cans?</p> <p class="MsoNormal">Things brings me to my point - I came across a web site <a title="http://www.mokugift.com" href="http://www.mokugift.com/" id="mf7d">http://www.mokugift.com</a> – that takes the ideologies of web 2.0 and slams them together with a very interesting idea: Give someone an e-card that makes a difference by spending a buck and choosing to planting a tree in Asia, Africa or South America. Brilliant!!! This idea almost seemed like salvation to this old web developer. How can we integrate community, web technologies and a few simple business ideas to build something truly unique that CAN make a difference? In the case of mokugift.com it was simple – take an old idea, add some value, find some venues for getting your name out there and plant some trees!</p> <p class="MsoNormal"> </p> <p class="MsoNormal">What I’m getting at here is that maybe my moral salvation is not IN the software, maybe it’s how I use the software to do something different. And that - I can live with.</p>Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com0tag:blogger.com,1999:blog-2929574446452984927.post-25709363958291906452009-08-13T11:49:00.000-07:002009-08-13T11:50:28.260-07:00What is green computing? Lately I've felt the pull of my moral compass telling me I need to do something significant, something that helps change this world that I live in, that my family lives in, heck everyone lives in. I'm not living any kind of delusion that I will invent something so ground breaking that I'll fix our climate issues (I'm not exactly a scientist). But it has to be something more than recycling my pop cans or buying biodegradable diapers for my 1 year old.<br /><br />I guess the hard part about this process is trying to understand what is 'green' computing? What is 'green' software? Can software be 'green'? I feel I'm at the beginning of an interesting journey and I wanted to share it with everyone. So welcome to my blog.Tonyhttp://www.blogger.com/profile/17596211212687907094noreply@blogger.com4