Tuesday, January 28, 2014

RIF Notes #25

“Most managers want good code, even when they are obsessing about the schedule. They may defend the schedule and requirements with passion; but that’s their job. It’s your job to defend the code with equal passion” – Bob Martin

  • IE -Tracking Protection Lists- IE has the a bunch of tracking prevention providers.
  • What’s the Problem with Mobile HTML5-“A recent research concludes that contrary to the general belief performance is not the main problem with HTML5 but rather the missing of profiling and debugging tools and the lack of certain APIs”
  • Organization Antipattern: Project Teams – This post explored the “No Project” movement and compares the Project team vs. Product Team construction.
  • Is College Worth It?
  • The New Turbo Button - Balancing Power Management and Performance on Windows Servers-“Recently Mike Harder, a development manager, noticed that stuff he does every day was taking longer on the "Balanced" power option than the "High Performance" option”
  • Consumer vs Business Apps – “So then is there any meaningful difference between consumer and business apps?….If I’m writing a business app (like something to manage my inventory or schedule my manufacturing workload) the cost to build software for each type of device continues to exist, but there’s zero increased revenue (well, zero revenue period). There’s no interest in delighting users, we just need them to be productive, and if they can’t be productive that just increases cost. So it is all cost, cost, cost. As a result, if I can figure out a way to use a common codebase, even if the result doesn’t “feel native” on any platform, I still win because my employees can be productive and I’ve radically reduced my costs vs writing and maintaining the app multiple times.”
  • Everything you wanted to know about SQL injection (but were afraid to ask)
  • Tell us about your shitty commute- More 37Signals advocating for remote work.


Monday, January 20, 2014

RIF Notes #24

-“The best way to motivate geeks is to not demotivate them”

Friday, January 10, 2014

RIF Notes #23

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” - C.A.R. Hoare (British computer scientist, winner of the 1980 Turing Award)

  • On Types – Ted Neward makes in interesting suggestion about how types should be handled.

    As a suggestion, then, I throw out this idea: Ensure that all of your domain classes never expose primitive types to the user of the system. In other words, Name never exposes an “int” for Age, but only an “Age” type. C# makes this easy via “using” declarations, like so:

    using FirstName = System.String;
    using LastName = System.String;

  • Web Developer Checklist – This is a very handy and thorough checklist of items to be checked on you website for quality, security, usability, etc.
  • ';--have i been pwned? – Troy Hunt has set up a sight that allows you to see if you have an account that has been compromised in a data breach.
  • Healthy benefits for the long run- 37Signals encourages employees to get out of the office.
    • “Instead we focus on benefits that get people out of the office as much as possible. 37signals is in it for the long term, and we designed our benefits system to reflect that. One of the absolute keys to going the distance, and not burning out in the process, is going at a sustainable pace”
  • Monaco- Monaco appears to be some sort of Visual Studio Online tool.
  • Yahoo Adopted One Of Microsoft's Worst Ideas, Just As Microsoft Killed It Off
    • ‘Microsoft told employees on Tuesday that it's ending its so-called "stack-ranking" system. Under Microsoft's infamous system, workers were ranked on a curve, and those at the low end would be fired or dealt with in some way. The goal in stopping these rankings is to focus more "on teamwork and collaboration…Stack ranking certainly didn't do Microsoft any favors over the years, breeding resentment and distrust among employees. "Every current and former Microsoft employee I interviewed—every one—cited stack ranking as the most destructive process inside of Microsoft, something that drove out untold numbers of employees’
  • Good Windows 8 Sales – Rocky Lohtka perspective on how Windows 8 Sales will impact developers “In summary: good Windows 8 sales today means that betting on WPF for smart client development should be pretty safe, and will hopefully have a decent migration path to WinRT in 2-3 years.”
  • What’s culture got to do with it? – Cooper asks “Does your work culture make it challenging for your team or organization to do great work? “
  • Why Your IT Project May Be Riskier Than You Think – A discussion of “black swan” projects.
    • A $5 million project that leads to an almost $200 million loss is a classic “black swan.” The term was coined by our colleague Nassim Nicholas Taleb to describe high-impact events that are rare and unpredictable but in retrospect seem not so improbable

Saturday, November 9, 2013

Shades of Vista

Is Windows 8.1 to Windows 8 what Windows 7 was to Vista?  Is this some form of marketing strategy to release the a major new version, let it take a lot of heat, then release a relatively minor version and watch everyone suddenly embrace it ?  I never saw much of a difference between Vista and Windows 7 but the former was a flop and the latter a success.  Is the same thing happening again?

Saturday, April 6, 2013

I didn't know how empty was my soul until it was filled


A few years ago I took a data warehousing course with the Kimball group and remarked at the time that the data warehouse field appeared to have a highly structured approach to designing data warehouse solutions.  While building data warehouses seemed to have well established patterns and methods for how to construct them, software systems seemed to be like snowflakes, each one built with different methodologies uniquely suited to particular project/team/company. And no shortage of debate about the competing merits of varying approaches and methodologies.  Data warehousing felt like engineering while software development was more like art.

That perspective changed a few months ago when I had the opportunity to attend the IDesign Architect's Master class taught by Juval Lowy.  In this course, Juval presented a highly structured methodology for software design.  I found the course riveting and eye opening.  It was my first experience with a comprehensive proven methodology that could credibly demonstrate a method for taking software development from craftsmanship to engineering.  The single most compelling thing I took from the course is the idea that, contrary to appearances, there aren't a paralyzing myriad of options making each software system design a unique creation.  This sentiment is distilled into Juval’s Zen of architecture.

For the beginner architect, there are many options
For the master architect, there are only a few

But there’s a big difference between theory and practice, and while an appealing sentiment maybe I’d drunk the cool-aid too quickly and fell for the cult like lure of Juval’s style.

However, since that course I have also had the opportunity to work with Shy Cohen of IDesign, and have seen the Method applied first hand when we hired him to help develop a new high level architecture for our corporate systems.  Its an impressive thing to see a method produce an enterprise architecture in one week.  It further bolstered my belief in the prospect of true software engineering.

Years ago I attained a Master of Software Engineering degree largely because I craved a more formal discipline to compliment my self taught skills.  While my master's studies really never provided that, I think I have now found with IDesign what I was seeking back then.  I'm still a long way from taking it from architecture to implementation, nor am I practiced in the Method, but then again I've only begun to study with the masters and I’m pretty optimistic of my chances.

Monday, April 1, 2013

RIF Notes #22

“It’s better to be wrong than vague” – Frederick Brooks Jr.

Friday, January 25, 2013

RIF Notes #21

These posts, originally intended to be weekly, are coming much less frequently. Oh well…

“The fantasy model of collaborative design reflects a monumental unconcern about conceptual integrity. Jill pats the design here; Jim nudges it there; Jack patches it yonder. It is spontaneous; it is collaborative; and it produces poor designs. Indeed, we know the process so well that we have a scornful name for it—committee design. If collaboration tools are designed so they encourage committee design, they will do more harm than good” – Frederick P. Jr. Brooks

“stand in the corner and scream with me”