Dec 18

This debate has been occurring for awhile now fueled by psychology research that seemingly supports the idea that games cause aggressive behavior in those who play them. Although I have zero allegiance to any companies producing violent games, I do feel compelled to chime in and point out a few thinigs in their defense. This whole scenario feels like a modern day rehashing of the same arguments surrounding music censorship put forth by the PMRC over a decade ago.

While there have been compelling studies conducted that show playing violent video games has a positive correlation with aggressive behavior, we all need to remember that causation cannot be assumed from correlation. Kids with violent personalities may just gravitate to the violent games. Just like the faulty conclusions drawn by Tipper Gore, et al in the PMRC days that listening to Judas Priest and Iron Maiden "rotted the brains" of the youngsters and drove them to commiting violent acts like killing their parents- this same leap of causality with games cannot be made upon corrleational studies alone.

I find it hugely ironic that for all the flak that game makers like Rockstar Games are now receiving for selling games like GTA:San Andreas that supposedly instill violent behavior in young people, the US Army is somehow exempt from the same criticism. They are arguably the single biggest contributor to this effect giving away the free first person shooter game America’s Army but I guess it’s okay as long as the violence they encourage is directed to our enemies and not manifested within our own country (?!?). From a pure business perspective, releasing this game for free is an ingenious move on their part- "get ’em while they’re young." It’s essentially the best possible recruitment and training tool they could hope for if the goal is to raise the next generation of soldiers, get them excited about the Army and have a comprehensive training course early on to teach genuine military tactics. It seems ironic though that police are now making a fuss saying that these games are producing more criminal activity. If it can be shown to have any significant effect at all (which it has not), isn’t this what the Army intended? If you stir up a hornet’s nest and get the reaction you sought (only in the wrong place), can you really be mad for getting stung?

I have to say I don’t play violent games. I played Myst and Riven awhile back and I had an Xbox a few years ago that was later stolen – the only game I ever played on it was Tony Hawk Pro Skater. Having now read the actual study that is the centerpiece of the argument against violent games and from a methodology standpoint it seems flawed. Polling 227 college students for aggressive behaviors and showing that their frequency of violent video game play correlates positively with irritability and retaliatory tendencies… okay, so what? It’s expected that you would find a positive correlation in this scenario, in the same way you’d probably discover a positive correlation with personality characteristics like introversion and creativity. For anyone not familiar with this flaw in correlational studies, the classic example in Psychology textbooks is that of a study conducted that found a positive correlation between crime and number of churches in a city. The researcher presents incontrovertible evidence to show that the more churches in a town, the more crime that exists. Obviously, making the causal leap that somehow the crime can be attributed to the churches is absurd. It’s not until we learn the critical driving factor is simply "city size" that we see how ridiculous the prior inference is. The non-correlational studies conducted in the lab setting have their own flaws (drawing the conclusions they did from studies measuring participants’ horn-blasting behavior after violent games seems like a leap in itself- it may have relevance for roadrage scenarios but extrapolating conclusions about general domestic violence and crime seems like an impossible stretch to me).

Having said all this – I can say that I remember in playing Tony Hawk for an extended period one day, and remember walking around outside afterwards and looking at every ledge or bench on the street thinking "I could grind that…" Games are more and more realistic now and their interactive, fast-paced nature definitely elicits stronger physiological responses than just passively watching a violent movie. More research needs to be conducted in this arena, but to claim that "violent games are the root of society’s aggression problems" is just silly. Kids with violent tendencies are undoubtedly drawn to violent games. And articles like this one that try to pin tragedies like Columbine on the Doom video game are just sensasionalistic crap.

© 2005 Lights Out Production – All Rights Reserved Worldwide

Dec 12

The top news headline today on Wired is The Firefox Hacks You Must Have. While they have good suggestions, there are a bunch of essentials that are conspicuously absent. Rather than write up descriptions of each, I’ve screenshotted my extension manager and linked each one directly to its download file. enjoy. If there’s more essentials that are missing, please post below. *Note- you’ll have to authorize installation from this site only once.

© 2005 Lights Out Production – All Rights Reserved Worldwide

Dec 02

If you use Gmail and are on LinkedIn, here’s a neat trick you can use to “excavate” your gmail correspondence for LinkedIn connections. LinkedIn already has an Outlook toolbar that will scour your sent folder in Outlook to do this (which is great if you use outlook as your email client but unfortunately there has been no equivalent for Gmailers that only use the web interface). Well now there is.

You may not be aware that Gmail automatically records the name and email address of anyone to whom you send a message in your contacts. There’s now a feature that allows you to export these contacts in an Outlook CSV file which you can then upload to your LinkedIn account. It will then show you who of those contacts is already on LinkedIn and allow you to invite those people to your network. Here’s the exact steps to make it work:

  1. In Gmail, click the “Contacts” folder on the left. Then click “Export” on the upper right. Choose the Outlook CSV option.
  2. Now go to your LinkedIn account and click on the “My Contacts” tab. Choose the “Other Contacts” sub tab and then click on “upload contacts” in the upper right.
  3. Follow the instructions to verify the contacts are correct. Now when looking at your contacts you should see something like this:
  4. Follow that link and you should see a list of all your contacts that are currently on LinkedIn. Now you just invite them to join your network.

Depending on how you use your LinkedIn account, you may want to be more or less stringent with who you invite. I treat mine fairly sacredly and only connect with the people that I personally know well enough where I would feel comfortable vouching for their capabilities.

This method boosted my contacts ten-fold and I discovered a bunch of people that I deal with daily who are already on LinkedIn. HTH

-sean

© 2005 Lights Out Production – All Rights Reserved Worldwide

Nov 30

Big thanks to Rob Loy for the opportunity to present to his class tonight at Scottsdale Community College on the Mambo content management system. Mambo is an opensource CMS that rides ontop of PHP and MySQL and runs cross-platform. As promised, here is the powerpoint from tonight’s talk. There were some great questions asked tonight, some to which I could not give a solid answer. I’ll try and clarifiy some things below but if you have any questions regarding the framework itself or any of the other stuff we discussed tonight, feel free to use the comments section here as a forum.

To the gentleman that asked about which to choose going forward- Mambo or the new re-branded Joomla after further reading I would say it’s a safe bet that either will be supported but that I really like what I see on the Joomla Roadmap. They claim it’s not a true development fork but rather a simple re-branding of an existing product which is true, but they’re diverging codebases from this point and that’s the definition of a development fork so, call it whatever you want. I would say Mambo has a much larger base of existing sites but it looks like the inertia of the development community is behind Joomla and all the features of the latest Mambo release should be compatible so you don’t lose anything in terms of components and template designs. I would probably start a new project on Joomla rather than Mambo at this point.

Regarding the question about the recent security exploit I mentioned, apparently the official patch took a few days before it was posted but manual fixes to the code were immediately available in the forums the same day the problem was discovered (just meant you had to edit the PHP code by hand). Someone had asked about how to stay notified of security announcements and that link is here.

Lastly, to the woman with the animal shelter site and the question about how to turn off certain navigational elements on an index of content items- I know it can be done because I’ve done it on my sites but I’m not seeing the option at the moment. I’ll post a comment when I find it- it’s buried somewhere in one of the tabbed menus on like a section or category- i don’t remember which.

Anyhow, great questions tonight and it really was a pleasure getting to speak with the students in Rob’s class. Don’t hesitate to ask questions if you have them- Mambo’s developer community is perhaps one of its strongest assets.

-sean

© 2005 Lights Out Production – All Rights Reserved Worldwide

Nov 23

First off, his name is pronounced “Coh-burn” so let’s just get that out of the way now ;-) I finished Agile Software Development tonight and wanted to give a book report here while it’s still fresh to edify some of the points that resonated with me. This will probably be a lengthy post but it’s ripe with good concepts for anyone who manages a team of developers.

The term “AGILE” refers to a style of development that was coined by a committee of seventeen software architects in 2001 at a summit in which they drew up a document they named The Agile Manifesto. It proposed a value system that encouraged certain activities over others in the pursuit of creating flexible, well-constructed software. While Cockburn’s book is relevant to anyone involved in the software development process (engineer, QA person, manager), it probably makes more sense to be digested by a team lead and disseminated to the other developers. With so much reading to keep up with on various techniques, methodologies and languages, a programmer in a team would be better served by devoting her “extracurricular cycles” to material with more tangible, immediate rewards and receiving this type of abstract, work-style advice second-hand via a senior developer. If you’re a lone-wolf developer you may not find this book useful at all but if you deal with other developers in any capacity (internal or external to your organization), it contains some valuable lessons. In short, it gives a holistic, high-level overview of the qualities of methodologies and environments that are used by successful teams. And this is the strongest feature of the book: the fact it is entirely rooted in real experiences. It makes ample use of non-fiction anecdotes to make concepts more memorable and it draws heavily upon hundreds of interviews with real teams that deliver real software under real deadlines. The theories conveyed in technical books can sometimes be refined to the point of “PhD purity and correctness” yet be impractical in application. Cockburn instead offers “blunt, field-tested tools” that are actually getting things done everyday on the front lines of software development. Here are the main takeaways I extracted from this book:

  1. Agile Manifesto – as short and simple as this document is (read it – 15secs), it has a profound message- basically, when push comes to shove, delivering good software under deadline is the ultimate goal, good communication amongst a team trumps process and documentation every time, and the only thing consistent across all projects is change and therefore your development style had better be the flexible reed and not the brittle stick when it comes time to deal with change. This manifesto sets the tone for the entire book, the chapters are filled mostly concrete practices that support the Agile manifesto.

    My Takeaway My Takeaway – Prior to buying this book I had heard Alistair
    speak on ITconversations.com . He struck me as being very practical-minded and not high & mighty on theory (which I liked). Having worked informally under both styles of development, I agree with the main values of Agile for being adaptive and goal-focused rather than process-oriented. Agile encompasses a bunch of formal styles like XP, SCRUM, DSDM and others – the tenets are very similar in all though. I especially related to a story about a team that was given strict requirements and micro-managed on the process and documentation required and they ended up ignoring orders and doing it the way they knew it needed to be done in order to get it delivered on time. As so often is the case for developers, you juggle what the client “tells you they want” vs. what you know they truly need and when pressed to favor one over the other, you have to diplomatically choose the latter and make it look like you choose the former.

  2. “Microtouch Intervention”: big results from small changes in each member – This is not rocket science but enacting a very small change in each person of a large team can yield massive results with very little effort. It’s the idea that if the project as a whole is like a giant boulder that each team member is trying to move in a certain direction (towards project completion), the vector of force for each person is always somewhat misaligned from the desired direction such that people end up inadvertently wasting some amount of energy pulling against each other. Any steps that can be taken to conserve this energy by: a) communicating the intended direction more clearly b) revealing to each participant their actual vector of pull or c) producing a more compelling reason for people to pull towards the goal, will ultimately yield major gains.
    My Takeaway My Takeaway – This positive effect of this concept is obviously amplified in larger teams. Conversely, the larger the team, the easier it is to dodge responsibility and the more inertia that a stationary group will have. I’m a big proponent of this idea of “paint the vision clearly and then get out of people’s way.” I’ve always thought that energy expended cultivating the enthusiasm and passion of a group is a good buy (ie. if you can get the “WHY” part firmly planted in people’s hearts and minds, the “WHO WHAT WHERE WHEN HOW” questions will find a way to answer themselves). Cockburn validates this notion with a wonderful story from Dee Hock of Visa (second section from the end) and how this type of laissez faire leadership and simple microtouch intervention established a virtuous circle amongst his team and enabled them to successfully deliver a complex system under an ambitious sixty-day deadline. Just read this sentence- “Leaders spontaneously emerged and reemerged, none in control, but all in order. Ingenuity exploded. Individuality and diversity flourished. People astonished themselves at what they could accomplish and were amazed at the suppressed talents that emerged in others.” That’s the flavor of a team operating at peak performance driven by intrinsic motivations from within and that’s what you want to engender.
  3. “Erg-seconds” – the energy/time required to transfer important info
    The idea of “erg-seconds” is an analogy Cockburn makes between the transmission of critical information in a project environment and fluid mechanics, or the dispersion of gasses and liquids in a container. In a workplace at any given time there are “convection currents” of info that are venting info like geysers amongst the team members. Anything you can do to narrow the distance this information must travel to reach the necessary recipients pays off exponentially in progress, morale, fewer errors, etc. Mole-meters/sec is the metric used in the realm of fluid mechanics, but that unit does not directly translate over since distance traveled is not the key factor whereas “time necessary to achieve clear communication” is. The optimal situation is to have the people that require the most back-and-forth communication sitting in the same room so they can tap each other for help and overhear and interject when they have valuable advice to contribute. Overkill of this setup creates what Cockburn calls “Drafty cubes” or too much interference with irrelevant info bombarding the programmer. Like anything it’s a balance that must be optimized. Moving further down the continuum of proximity, adding cubes, walls, floors, buildings or even separate geographical locations into the mix gradually introduces more and more friction that adds “erg-seconds” to each interaction in a project and (like we determined in #2) gets amplified in larger teams.
    My Takeaway My Takeaway – This is a very valuable way of thinking about the flow of info on a project. Being a solo consultant, I encounter situations where project delays get compounded by unnecessary “erg-seconds” on interactions not within my development team (of one), but when there are multiple entities involved as clients, and especially when there are tiered teams in each entity. I generally mitigate this problem by occasionally working onsite to reap the benefit of some of the “osmosis” and “convection currents” Cockburn mentions. There is admittedly no substitute for face-to-face interaction- body language, tone of voice, gestures, proximity cues and interjective feedback are lost or hindered when communication occurs via any other method. Neglecting the value of being there to absorb the situation from time to time is a mistake. I have explored the idea of off shoring discrete portions of my projects lately but this concept warns that this geographic dispersion of team members might magnify the “erg-seconds” effect on even simple tasks to the point where it defeats the utility of off shoring I will have to re-analyze the tradeoffs with an eye towards how this effect could be nullified.
  4. “Teeing up work” to the bottleneck player
    If we think of software development as an ongoing game of interactive cooperation and communication as Cockburn wishes, then the principle he espouses “#7 Efficiency is expendable in non bottleneck activities” should take care of itself. It’s the concept that if you have say five cooks and one delivery person in your pizza joint, the driver is the bottleneck and your cooks had better “tee up” those pizzas by double-checking that the orders are correct, printing and verifying the directions, perhaps calling when the directions are unclear and making sure the boxes are pristinely stacked in their warming sleeves on the counter for the driver when he/she shows up.
    My Takeaway My Takeaway – Again, I don’t encounter this problem as much since I am solo- every time as the sole developer, I’ll be the bottleneck. The idea that occurs to me though is that I need to utilize the workers in the client’s company better if they can be at my disposal. In even the “best-packaged” project there is probably some added level of prep-work and optimization that can be done to “tee up” the materials for execution. Decentralizing these efforts and pushing as much of this type of activity to the client’s side definitely bides me more time to allocate to activities for which I truly am the bottleneck, plus it has a by-product of #3 and getting some convection currents working to my advantage.
  5. The right amount of documentation: light but sufficient
    So there are two goals in this ongoing game of invention and communication- 1) execute well on the current iteration 2) set yourself up for success on the next “game.” If you’re like most developers, documentation is always an afterthought and it’s something you only do when it’s mandated by a manager. Documentation (in the world of Agile) takes on a completely different meaning – there is no strict format for what constitutes appropriate documentation. It’s simply “whatever is necessary to communicate the essence of the theory or project to those that follow.” That may sound too foofy to some but it’s important because (consistent w/ the Manifesto) it’s not constraining implementation to a particular convention or process but rather focusing on the goal of communicating the important aspects. Cockburn talks about methods like “progress radiators” and videotaped whiteboard sessions as simpler ways of preserving and conveying this understanding. The traditional view of documentation is one of a detailed functional spec that precedes the project and captures every requirement and then some system for documenting the code afterwards to again capture every detail of execution so that it can be understood by programmer’s that follow. According to Cockburn’s advice, a picture is a thousand words and a video is worth a kajillion.
    My Takeaway My Takeaway – I found this to be extremely insightful and especially relevant to what I’m proposing to do with Grid7. Too often developers receive a mandate from management to perform documentation in some nit-picky format that distracts them from valuable time they could spend just making things better. A simple picture of a whiteboard to accompany a paragraph of instructions can go miles towards bridging the knowledge gap and that’s exactly what we used to do at a place I worked called Interactive Sites. I’m all about the idea of videotaped whiteboard sessions though and I have already made it a habit of using my iPod along with my Griffin iTalk to audiotape meetings so that I can refer back to them and bring someone new up to speed by giving them an MP3 of a previous conversation rather than regurgitating it. I plan to hold monthly status meetings via Skype on the Grid7 stuff and you bet we will be videotaping them and archiving them for future developers that enter the project.
  6. A “Shared Metaphor” as a common anchor point for developers
    The idea is that when working with complex systems and many developers, if you can develop a “shared metaphor” or a more tangible scenario that parallels the problem domain, people will be able to draw upon these parallels to make decisions and therefore remain more cohesive in their approach than if they lacked the shared metaphor. This contribution was from Kent Beck, one of the originators of the Extreme Programming methodology. I cannot comment on the efficacy of this tactic amongst a dev team having never used it myself, but it certainly sounds like it has merit. I think anything you can do to align the vision of team members to some landmark will have value, especially when the project involves highly abstract concepts.
    My Takeaway My Takeaway – “Having everyone on the same page” is important and there is absolutely value to using metaphors to assist in scenarios when the concepts are abstract. In fact, just last week in my meeting with Value Options and Arizona Behavioral Health regarding the construction of the extranet they will use to collaborate on housing homeless folks, I was able to frame the abstract idea of our anonymous wait list in terms of the red ticket dispenser you see at the post office that dispenses numbered tickets anonymously. We were able to collectively work from that image much easier than talking in abstractions and it helped not only in communicating but we were actually able to discover additional ways of simplifying how the wait list works by drawing on parallels of how the ticket dispenser functions.
  7. Tradition vs. Transcendence as the foundation of good design
    In other words, “how much do you balance making the interface for your word processing program look like a typewriter in order to make sense for old school folks vs. making it the cleanest-possible, sensible interface for getting the job done at the risk of alienating people who are less savvy?” This is the age-old question of design (and not just in computer apps). There is some optimal balance that exists in a newly-designed apparatus that meshes tradition with transcending innovation to push the state of the art forward and test the boundaries of what’s possible today.
    My Takeaway My Takeaway -With graphical interfaces especially I know big companies like Microsoft spend millions of dollars in research to find that balance. We had Russ Ruggia, a Developer Evangelist for MS come and talk to our CFUG awhile back and he mentioned that MS had spent something like $7bn in psychology research in developing the forthcoming interface for Windows Longhorn/Vista).
  8. Criticality and Team size determine methodology weight
    Any project can be evaluated on a 2D graph that shows team size on the X-axis and system criticality on the Y-axis (system criticality refers to the severity of loss in the event of a bug, lowest being an inconvenience and highest being loss of life). Cockburn breaks down the graph into quadrants and explains why projects that stray further from the origin of this graph require heavier methodologies. Even small projects at NASA demand a heavier-weight methodology than the typical web 2.0 app due to criticality. Likewise, even a large non-critical project with many team members like say, the latest Ubuntu Linux distribution, requires a heaver methodology due to the organization required to manage that many team members.
    My Takeaway My Takeaway – Again, the right tools for the right time. It’s not enough to pick one methodology and stick with it in all situations. The skilled developer will recognize that each tool and methodology has validity in different circumstances and will understand the factors at work and when it makes sense to choose one over the other. I’ve never worked on any of the “L stage” critical projects like medical devices where lives are at stake. I have worked on “Discretionary Monies” and “Essential Monies” projects however while running integration with some of the major credit card processors at Apriva. I can certainly testify to the fact that credit card companies have strict methodologies in place for how things happen, to the point where it can become crushingly burdensome on development. Given the position on the criticality axis of Cockburn’s suggested chart, this decision makes sense however.

Well that was a lot of rambling but I hope this condensed version of Agile Software Development is useful. It was a decent read and not as dense as it may sound. I recommend checking out Cockburn’s talk on ITconversations.com at the link above if you have interest in this stuff. It’s definitely given me some ideas for how to approach things in the forthcoming developer co-op.

sean

© 2005 Lights Out Production – All Rights Reserved Worldwide
© 2005 Lights Out Production – All Rights Reserved Worldwide

Nov 16

Well file this one under the Rant category (with a capital "R") – if you’re not in the mood for a solid Wed-morning rant session, definitely skip this post… People that know me are aware that I have been engaged in a battle against the City of Scottsdale and Arizona American Water Company along with a handful of other people from my neighborhood for the past year. This all started about this time last year when we were told they would be building a massive arsenic treatment facility in my backyard and constructing these enormous football-field-sized tanks that would eclipse the view our neighborhood has of Camelback mountain. I’m not going to re-hash the details of all the deception that was involved on their part in the process of pushing this project through, how it was a profit-motivated venture for a private company slid through under the guise of a public safety concern, nor will I explain the major failure on the part of our City Council to stand up for the neighborhood (my neighborhood actually created an entire web site to do just that). After exhausting all the possible avenues in the government appeal process, we were eventually driven to filing a lawsuit against the City of Scottsdale and AAWC to try and obtain a preliminary injunction to stop this madness. On a shoestring budget against a multi-billion-dollar international utility conglomerate, we managed to hold our own in court and present a compelling case (big ups to Jim Palecek of the firm Hunter & Palecek), however, in an absolute mockery of justice, the judge (having sided with us throughout the six-day trial) flipped 180deg against us in the ruling and turned down our motion.

Last night was our last ditch effort to stop this project by presenting the new evidence that came to light during the discovery phase in the litigation that clearly showed the water company had misled neighbors and City Council to obtain the permit for their facility. The end result of last night was that we were completely blown off- it was an absolute charadeof-a-hearing.. After sitting 3.5hrs through some of the most mundane beauracratic BS, listening to complaints about the nuissance of the whine from those motorized scooters, we finally were able to present our case. You wanna talk about nuissance How about a 28′ wall of steel that spans a football field in length and blocks out the sun in a historical preserve! Well we might as well have been presented to a brick wall. Half the Council members got up and went to the bathroom, one guy (Littlefield) seemed to be reading his mail and perhaps playing solitare under his desk (I kid you not, he ducked down and emerged like a minute later, maybe he took a power-nap, I dunno but I’m bummed I’m paying his salary). With the exception of one guy for whom I have the utmost respect (Ron McCullagh), we have possibly the most dense lineup of idiots running our City. At this point I can confidently say I would be more comfortable randomly selecting a handful of lobotomized monkeys to staff the Council – at least the decisions that emerged wouldn’t be marred by "protect-your-ass" political self-serving motivations.

It’s one thing to see ignorance in action but what happened tonight was a pure, sinister squelching of a legitimate cause by a group of concerned property owners that have collectively spent thousands of hours and dollars fighting this issue over the last year. While the Council members may have evaded responsibility in this instance and dodged the massive shame they deserve for their handling of the matter- I will just say "you may be able to foil the legal and governmental processes, trash justice and democracy and evade accountability for your actions/inactions, but the one thing you cannot outrun is karma." Just look at the online petition we have, read the comments and tell me how ninety homeowners can be this pissed off if you really had followed due process like you claim!! Now think back to a time when you failed to stand up to a bully on the playground when you wished you would have- well we have no regrets here: we looked this bully that is AAWC square in the eyes and made our stand. I read the response from the president of AAWC, and I used his for the only thing it was good for and responded back personally with a letter of my own. Imagine what it’s like to donate hundreds of hours of your free time to a cause you know is just only to have it ultimately trampled by the very people whose sole job it is to protect your interests- the elected idiots that realize they screwed this up and are now tryinig to minimize how bad they look publicly by sweeping things under the rug and smiling the whole time smug with the knowledge that they are safe. Well I got two words- Google PR6 yatches – though I hate to taint this space with a rant like this, this story needs to be told. Anyways, I’m done now. I would just like to give a final "tip ‘o the middle finger" to a few of the spineless bad guys that managed to get away unscathed from this whole situation. In no particular order, they are:

Paul Townsley, Rob Antoniak, John Berry, Joe Gross, Susan Bittersmith, Glen Hallman, Technical Solutions, Arizona American Water Company, City of Scottsdale, Mayor Mary Manross, Betty Drake, Wayne Ecton, Jim Lane, Robert Littlefield, and Kevin Osterman – you guys rock. NOT.

(and I promise to keep the quotient of rant-to-content minimal from now on ;-)

© 2005 Lights Out Production – All Rights Reserved Worldwide

preload preload preload