Category Archives: Blog Posts

Research Project Finished: ADL-Assisted High-Level Electronics Design

Almost 21 months ago, I announced here an applied research project to explore the feasibility of using the concepts of architectural description languages (ADLs) to provide automated assistance of high-level electronics design.  This was supposed to take around 12 months, but it took quite a bit longer than expected.  Thankfully, I wrapped it up by last February.  You can read my draft paper here, and peruse and play with the source code here.  A finished version of the Eclipse-based visual editor can be found here.

Any and all comments and feedback on this are warmly welcomed!

Three Leadership Lessons from Satya Nadella

As another year picks up steam, I’m once again reminded that “time flies like an arrow”.  For instance, though it feels like it was yesterday, in February 2015 it’ll be a year since Satya Nadella became Microsoft’s new CEO.  Tasked with implementing sweeping changes at the technology behemoth, some of his moves have been expected and applauded, while others have been surprising and controversial.  Most of us don’t run a large company for a living, but I think there are three very basic steps that can be inferred from Nadella’s style that are worth keeping fresh in our own jobs.

Continue reading

The Rise of the Task Management Inbox

Much of today’s task management issues stem from using the email inbox as a task management system.  Thus far, solutions have revolved around re-educating ourselves on inbox management.  Now, a couple startups (and at least one large email player) are actually rethinking the way our inbox works.  As they carefully tread new ground, task management laypeople will benefit immediately, while productivity experts will initially struggle with this new paradigm.

Continue reading

Exporting a GMF Editor as an Eclipse Product

I have recently finished exporting a GMF editor as a stand-alone Eclipse-based product, as part of ongoing research work (see here for details).  I ran into a couple issues doing this, and after sorting them out I decided to write this technical note in case it helps other Eclipse plug-in/EMF/GMF/RCP developers.

Continue reading

My Android Wear Battery Drain Story

Last Friday, my LG G Watch informed me a system update was ready to install.  Eager to get Android Wear 5.0.1, and having already applied two updates to the watch with no issues, I installed it immediately.  After a minor hiccup, the update was apparently successful, but then both the watch and my phone begun experiencing battery drain.   A factory reset on the watch fixed it, but I only found out what was really going on by serendipity; here’s the story, in case it’s useful to someone else.

Continue reading

Defuse Micromanagement by Emphasizing Time Instead of Control

If you enjoy working with micro-managers, you can skip the rest of this post.

OK.  Now that I have your attention, let me offer a suggestion for dealing with the micro-managers in your environment by approaching them with a genuine intention to help with –not correct– this trait.  Help them deal with the impact it has on their time, as opposed of making it about the way they control their duties.

Continue reading

Tech Giants: Please Make Security Usable

Another week, another round of high-profile tech announcements…  And security woes.  Apple announced its new Pay service, which may finally make digital payments mainstream.  It was, however, tainted by concerns arising from “Celebgate” and the presumed role iCloud security played in it.  Meanwhile, Google was busy explaining that the five million Gmail credentials recently published by Russian hackers hadn’t been obtained from their servers.  Tech giants have successfully transitioned us to a cloud-based digital lifestyle, but a lot of work remains to ensure security is actually usable and effective enough.

Continue reading

Risk and Reward: Type Consistency Matters

Traffic was rather heavy as I was driving home from work today.  At some point, I noticed the lane to my right was clear, whereas a few feet ahead my lane was jammed.  I started changing lanes, but then the car ahead of me (which was fully stopped) attempted to do the same.  As I had more room, I stepped a bit firmer on the gas, hoping the other car noticed and let me pass to its right.  It worked.

As I pulled away from the jam, I pondered my rather trivial feat.  Unconsciously, I had performed a flawed risk/reward analysis: for the perceived benefit of pulling into my driveway a few seconds earlier, I had risked entering a car crash — even a fender bender is annoying enough as to deny any real or perceived time benefits.

Obvious, right?  Yet we do it all the time with much more critical things.  I’m not talking about flawed probability percentages or delusional rewards — though those are serious problems in their own right; I’m talking about risks and rewards that are not really exchangeable in terms of units or dimensions.  Thus, for the prospect of a won argument, we risk a long-term relationship.  For the reward of making it to production a couple days earlier, we risk data integrity, customer satisfaction and architectural quality.  For the sake of familiarity and transferred responsibility, we enter unacceptable risk as we plan and execute projects using known-flawed waterfall methodologies, with vendors that should know better.

There doesn’t seem to be much written about this, and it makes a lot of sense: risk-reward analysis originates in the financial industry, where the one ruthless unit for all measures is money.  We are supposed to do that as well (make a business case or somehow else monetize much of our IT project decisions), but all too often we lack method, discipline, or both — and yet we plow ahead based on questionable proxies for actual business risk and value.

Next time I carry out a risk-reward analysis, I’ll try to make sure that both ends are measured in the same units.  I hope you do too!

What Color Are Your Staff Meetings?

Over the years, I’ve had the privilege of being part of a few teams: development teams, architecture teams, management teams.  I’ve also been privileged to manage a few teams of my own.  In my experience, I’ve seen that staff meetings tend to fall within two distinct styles or “colors”, and of course there’s room for many intermediate shades as well.  In this post, I outline the styles and make the case for my favorite meeting color.

Continue reading

Is It Too Soon To Talk Enterprise Mobile Ecosystems?

For the past couple of weeks, owing to a mishap, I’m temporarily switching from my Nexus 4 to a loaned Lumia 520. I’m no stranger to Windows Phone, and I’m not really missing any apps. I do miss the tight-knit Google ecosystem, though, and that got me thinking about the implications the concept of mobile ecosystem has for the enterprise market. Read on for my thoughts on this.

Continue reading