[null, {"document_url": "https://swfoundry.wordpress.com/", "unformatted_src": "https://i1.wp.com/farm1.staticflickr.com/47/153836064_7b60366823_z.jpg", "src": "https://i1.wp.com/farm1.staticflickr.com/47/153836064_7b60366823_z.jpg", "formatted_filename": "b z", "rendered_width": 326, "rendered_height": 449}, null, null, null, null, null, null, {"document_url": "https://swfoundry.wordpress.com/", "unformatted_src": "https://farm5.staticflickr.com/4462/37761835922_448f2f8879_s.jpg", "src": "https://farm5.staticflickr.com/4462/37761835922_448f2f8879_s.jpg", "formatted_filename": "f f s", "alt_text": "Facebook - This Machine Helps Fascists"}, {"document_url": "https://swfoundry.wordpress.com/", "unformatted_src": "https://farm5.staticflickr.com/4468/37761800082_0c36ecca8d_s.jpg", "src": "https://farm5.staticflickr.com/4468/37761800082_0c36ecca8d_s.jpg", "formatted_filename": "c ecca d s", "alt_text": "MerseyRail Network Map HighRes"}, {"document_url": "https://swfoundry.wordpress.com/", "unformatted_src": "https://farm5.staticflickr.com/4417/36948194485_0b356f4655_s.jpg", "src": "https://farm5.staticflickr.com/4417/36948194485_0b356f4655_s.jpg", "formatted_filename": "b f s", "alt_text": "Barcelona After Attacks"}, null]
Spending Good Fridays with the Country Club Christians

Published April 17, 2014 Beliefs , Religion Leave a Comment

“I don’t remember learning how to hate in Sunday School” – Steve Earle’s Jerusalem

I don’t know why we expect institutions to be more noble than the people that comprise them, but we do. And no loftier are those expectations than for churches and organized religion. Yet, it seems that organized religion can disappoint almost as often as it can inspire. I experienced such disappointment first hand over several recent Good Fridays.

Several years ago I was helping out as an usher with a Good Friday church service. During this particular church service an intense young man (who was not a regular member, or had never even been to the church to my knowledge) sat in the front pew looking seriously and intently at the pastor, and nodding away in agreement as he gave a traditional Good Friday sermon (such mild expressions would have gone quite unnoticed at an AME church service I can assure you). Rather than appreciate that a member of the flock was actually awake, alert, and following the sermon, the pastor apparently became concerned that the man was unhinged. After the service was over, the pastor asked several of us ushers to keep an eye on the this apparently erratic young man.

Now, while it was obvious that this young man was indeed intense and concerned about something, it did not seem to rise to the level of a safety concern. And I found it extremely odd that a pastor would even notice, let alone be concerned about such a person. I guess I expected that pastors by the very nature of their training and experience would be accustomed, maybe even desensitized, to dealing with folks in crises, especially since those crises such as death, disease, divorce, prison, and the like seem to be their bread and butter.

Anyway after the service, under the pastor’s guidance, that young man was lead out and away from the church unassisted so he wouldn’t be a problem. Someone who just wanted to talk about a particular problem and experience some love and encouragement was instead turned away by the church – and I was indeed part of that group, too busy at the time trying to get my own kids home and in bed. But it did made me feel bad and wonder if I shouldn’t have set a better example and maybe try to be part of a different sort of group. I eventually left that church and strived be better at helping those in need, especially when they most needed it.

A couple of Easters later, I met Tom Armstrong, a former Pennsylvania state lawmaker who had caused considerable angst in his community by taken three homeless sex offenders into his comfortable home in Marietta, PA (a suburb of Harrisburg). – I was truly amazed – here was a person who was surely living up to the true words and ideals of Christ, and perhaps not unlike Christ in some respects, he was quite persecuted for those ideals – ironically enough by folks who most claimed to be highly religious and supportive of “Christian Values.”  Now, if you were truly Christian and really wanted to find a modern analog to healing Lepers, you could hardly find a better candidate than much-reviled sex-offenders. Yet he was totally and absolutely persecuted and even hated by those so-called Christians who are supposed to be the same very champions of unconditional forgiveness and love.

It is extremely odd that few would see the inconsistency in such a belief system of persecution. The analogs to the recipients of Christ’s love are everywhere in today’s world – take your pick of combinations: women being stoned (convicts), prostitutes (homosexuals, drug addicts), tax collectors (abortion doctors), Lepers (sex offenders), and the lists goes on and on.

Last Good Friday was unfortunately another disappointment, the state was debating gun law changes in the wake of the Newtown massacre and there was a long and sternly worded Letter to the Editor from the pastor of our largest local church. This letter espoused the bizarre belief that in order to be true Christians, that true followers of Christ must own guns and be prepared to take up arms at any moment to support “Christian Values.” So much for turning the other cheek I guess – and it sounded a bit too much like that line from Mean Girls where “…on the third day God invented the Gun….” It too seems that if you wanted a modern analog to the cruel Roman guards and their spears – it is people who love their guns and their associated culture of death.

Those “Churches of Good Fridays Past” seem like they are not Christian churches at all, but more like the Temples of the Romans or the Pharisees. These so called “Christians” with their “Christian Values(do they even know what that means?)” don’t believe in helping the downtrodden, there are the oppressors. They don’t believe in unconditional love and forgiveness, they are the ones setting the conditions and making forgiveness unobtainable. They are not the Apostles or the Disciples, they are the crowd demanding Christ’s Crucifixion. They don’t have a consistent belief system – they have a club – a Country Club. They long ago forgot their guiding principles and turned into self-promoting social clubs full of Comfortable Christians – with followers who are so far removed from Christ’s original principles as to be almost indistinguishable caricatures of Christ.

So if you want to truly learn something about Jesus and Christian Values – you might do better this year to just skip the church service and simply watch Johnie Cash’s Gospel Road. But please remember to check your fear, hate, and guns at the door of this church.

Amen on Good Friday to those simple Gospel messages of true Christian Values – simple and timeless values of unconditional forgiveness and true love. Brogrammers Making the World Better Through…

Published April 11, 2014 Arts and Entertainment , Humor , Software , Technology , Television Leave a Comment

In just the sort of Web 2.0, Hacktivist, Hipster, Social Media, viral-video launch you could expect from a hungry start-up, Mike Judge’s HBO Series Silicon Valley Episode 1 was posted to YouTube this week: http://youtu.be/VvkmsI54ss4 and is wonderful.

Much like Judge’s other well-known (if under-appreciated) efforts and cult-culture hits, Office Space and Idiocracy, Silicon Valley is acidic, hyper-real, and both simultaneously painful and hilarious to watch.

2 minutes into the first episode I was laughing so hard I was grabbing a pencil to record the many memorable lines/scenes/scenarios – here are just a few:

Keep up the good work & maybe there will be at least a few people who can appreciate and understand such good humor and perhaps more importantly who are actually still willing to reward such efforts & quality by actually paying for something (full disclosure – I am too cheap to pay for HBO – but I *will* watch it when it comes to Netflix).

The Pragmatic and Practical Design Template (Discussion)

Published April 1, 2014 Education , Software , Technology 1 Comment


(Just Jump to Design Template)

We are all designers at heart. When we are little we construct models with play-doh and virtual worlds with crayons. But somewhere along the way, particularly in engineering domains, we lose this view of design as a simple model of reality and instead insist that a model must be as close to reality a possible. A design is a plan -or probably more correctly “a guess”- for something you want to create. Its only purpose is to get you from the “thinking about” to the “building” stage as quickly-and reasonably-as possible. For some domains, space travel and nuclear power for instance, you need this stage to be much more precise and deliberate, but fortunately few domains require this level of fidelity/reliability. Particularly in quick-to-release and prototype software, you need the design stage to be quick yet useful and add value. You don’t want to invest a bunch of effort in a model that isn’t the final thing you are going to use, but you do want to show that you have at least thought about that thing in advance.

I’ve been thinking about Software Design lately because I need people to do (and want to do) this activity, i.e. show that they have thought about and planned things beforehand, but even after many years I’m still not sure the best means to achieve this end. I’ve read lots and lots of design documents and rarely are they instructive or useful. These things can cost a lot of money and time to produce, but rarely do they return tangible benefits – mainly because most of the software designs/plans/guesses are out of date as soon as they are written. In fact, the only designs I even remember actually reading and using are the ones that defined some type of data interface contract, and that was because this contract didn’t change (or change much).

So maybe it is time for a different approach to the standard “Design Document.” Perhaps a better approach is just a couple back-of-the-napkin, top-level diagrams + a simple FAQ that answers some of the most important questions. The top-level diagrams show that you have thought about this at some level of abstraction and that you can show the major parts. The FAQ is used to make a convincing argument for building this thing and the approach used. The right set of questions might even be applicable to a wide range of projects, from remodeling your bathroom, or having a medical procedure, to multi-million dollar software projects.  This FAQ answers the basic and paramount questions of “Would you do this yourself? And spend your own money on this?”

For any design or other explanatory write-up, the FAQ questions you should be able to answer (and answer clearly and concisely) if what you are planning to work on is useful and worthwhile are:

(Jump to Design Template) Design Tools (CC2 – Paul Stein – Original Image: https://flic.kr/p/qhsUF)

The Pragmatic and Practical Design Template


The Pragmatic and Practical Design Template

For discussion/background see this post.

Note: any answer here should be less than 3 sentences, the shorter/clearer/more concise the better – 1 sentence even being optimal. If it requires more, then you probably aren’t using understandable & clear user-focused language. Avoid references to specific technology as much as possible –e.g. instead saying “XML” just say “a file” or “a format” – terms everyone is going to understand. Not all of these questions below are applicable to every case, so don’t try to answer if they don’t fit/apply.

1.           What problem are you solving?

a.            Was something not possible before that should be possible now? Or that you couldn’t do another way? What do you hope to gain?

b.            What is it for? Who benefits? What is the motivation behind it?

2.            What is your high-level plan for solving the problem?

a.            What is your plan?

b.            Commitment: When (what specific date) are you committing to do this by?

c.             Show your high level diagram (typical Level of Detail expected: whiteboard/back-of-envelope/napkin)

3.            Why are you doing things this way?

a.            What are the primary drivers?

4.            Is what you are creating adding value?

a.            Can someone get more out of this approach/thing than they could before?

5.            Will this change behavior?

a.            Is what you are working on really going to change anything? Will someone *want* to use this because it makes their life simpler/easier/more productive?

6.            Is there any alternative or easier way?

a.            What are the alternatives? Are they easier? Cheaper? Quicker?

b.            Does something similar already exist?

c.             How are you able to get more value out of this design than you could with something simpler/easier/quicker?

d.            If this is something hard-to-understand or explain above: What is driving the complexity of this design and is this really the simplest way? Are you using customer-focused language? Have some steps been over-complicated?

7.            Is this actually useful?

a.            Are you making something useful or just making something?

8.            Is what you are doing really worth it?
Remember: don’t go throwing good time after bad work and you can’t get back the money/effort you already expended, so don’t necessarily consider the resources already invested (“sunk costs”).

a.            Is the time, energy, effort, cost, etc. worth what you hope to gain?

b.            What do you hope to gain?

9.            Are there any other dependencies or risks to consider?

a.            Does what you are doing depend on anyone/anything else at all? What are these dependencies / risks? Can they be minimized (by isolating some part of the system)?

10.          Is what you are doing usable in different environments? Is so, what are these things that won’t change in this new environment?

a.            Note: This is the lowest priority for getting work done quickly, but remember to focus on what won’t change as this project matures/ages: good workflow, data model design, portable data – these don’t change & can be useful and used anywhere.

b.            For example, if you do something in .NET, is the design still solid/applicable and is the back-end data still useful if I have to implement this in Python or JavaScript? Code itself is actually fairly useless, but good design, data, and concepts apply anywhere.

These questions together add up to what is frequently referred to as a “Concept” or “Design” Document – but really it is just a set of questions that people have about any endeavor. Put even more simply what they usually want to know is



Keeping the language clear, concise, simple, and universally understandable is the hardest part. Avoid technical terms and instead remember to write from the perspective of someone who knows very little about that thing and wants to quickly and easily learn. That is your audience. Especially don’t write from your own perspective, or from someone who is like you and already knows the subject, that person doesn’t even need such a doc.


References: heavily adapted from, but inspired by, 37 Signal’s Book Rework “When to Quit” Chapter. Great set of graphics from this book here. 

Impostor Syndrome and the Trap We Set for Ourselves

Published March 25, 2014 Beliefs , Life's Lessons , Software , Technology Leave a Comment

“No one can make you feel inferior without your consent”- Eleanor Roosevelt

“Evaluate yourself by your own standards, not someone else’s” – Life’s Little Instruction Book (but just a paraphrase of Galatians 6:4)

“Stop trying to keep up with the Joneses” – Everyone

Something was going on in the Tech World last week, in an industry that is perpetually ignoring the past (and even the present) and is continually looking for the next best thing; I seemed to notice an unprecedented level of self-reflection(or perhaps I was just tuned to that frequency myself).  Jeff Atwood published the thoughtful “Beware the trap we set for ourselves” in which he ponders “the opinions of other people matter, but they are the traps we set for ourselves” and Julie Bort published a very good piece on Impostor’s Syndrome – which also had a link to a very good blog post with a female developer’s point of view (excellent illustration from this post reused below). These were all great posts – they are things for which I never had a name for or identified the root cause of, but boy did I notice the symptoms everywhere.

Insecurity can be a good thing – it can inspire you to work and try harder, to question and improve things that truly need questioning and improving.  And the advice is everywhere, even if we exclude the voices in our own heads: “Work Harder” “Don’t let your team/company down” “Only the paranoid survive” “Anyone can do it” But like any good trait, it can be pushed too far until it gets twisted into a bad one. Being hard working is a good trait, being a workaholic is not.  Being thrifty is a good trait, being cheap is not. And so on – and so it goes with insecurity.

Much like there is a special-purpose part of the brain that allows you to remember, in explicit detail, every embarrassing moment experienced in your life, there is also a special part of the brain that seems to encourage and reinforce feelings of insecurity. Most people who care about improving themselves seem to also be pre-programmed to think that they are never good enough.  This is just human nature, you need to acknowledge that these feelings exists, plan for them, know when they are helpful and more importantly know when to ignore them, and move on.

Technology changes, jobs change, but the lessons we’ve already learned don’t. Work hard and honestly 8-5, do the best job you are able, be able to handle constructive criticism, but in the end don’t worry excessively what you or others think, and don’t allow self-doubt to cloud your opinion of yourself. You need to be a person that you respect and admire. Don’t get trapped into judging yourself by unrealistic or someone else’s standards. Overcoming Impostor Syndrome – https://medium.com/tech-talk/bdae04e46ec5

GJ Top of the Lake Quotes

Published March 22, 2014 Arts and Entertainment , Beliefs , Humor , Television Leave a Comment

Oh, Internet you disappoint me, all I wanted (and surprisingly couldn’t find, which is pretty rare in the information superhighway smog) was a simple catalog/list of the quotes from the TV miniseries Top of the Lake’s most enigmatic and entertaining (some might argue pointless) character: GJ (played by the lovely and talented Holly Hunter). Slate’s Dan Kois and Michelle Dean sum up her character best: “GJ is like Hunter S. Thompson mixed with Sappho. She’s an earth mother guru with a really hard edge.”

As strange as the character GJ is, her group’s backstory and subplot is just as inscrutable. GJ leads a group of troubled women would just put their finger on a random map point and move there (across the world) in search of truth and healing; their search could have been a story in and of itself. At the beginning, someone shooting a self-styled documentary says: “There’s a lot of women here in a lot of pain. They come from abused marriages; broken hearts, sex addicts….” There is some reflected isolation, many of the same repeated mistakes, just in a different setting, and finally it unclear if they have really learned anything. And then the story ends with GJ leaving for another antipode (from New Zealand to Iceland). If nothing else it certainly represents a tale of abandoning your past and moving in a completely orthogonal direction – but it seems wherever these characters go, they are still themselves at the core and still trapped with their same demons. Anyway, here is a list of the GJ’s biting, cryptic, and philosophical quotes captured for none other than my own amusement:

(Why did you come here?) It’s the name: Paradise.

What happens here (Paradise)? Nothing

Love that is not reciprocated just turns to apathy or hate.

(Tui: What happened to you?) a Calamity, like being struck by lightning, every cell in my body changed.

That (Tui’s unborn baby) is a ticking time bomb – boom!

No freeloading. Fifty bucks a week. You’ve gotta work. No one will pay you for closing your eyes.

All the b–ches here are searching for love, and when they don’t find that, enlightenment, they don’t find anything, not a one of them.

(To Detective Robin Griffin) How are your knees? You will go down hard – bang – the search will bring you low, to the ground on your two knees, that’s right – no one likes it – face in the dirt.

Why are these people (meditators) closing their eyes? Wake up!

(Mike: Is there such a thing as the human mind – what is the nature of the human mind?) Plotting and scheming. Planning and calculating. That is the nature of mind…Constant thought.

(Mike: When you get to the end of the universe what is there?) Dunno we’re not going there any time soon (what do you see?) My guess you’re not going to like it? A lost little girl, your girl with a secret growing inside.

(Advice to Robin’s dying mother) Get some heroin.

The universe knows no death, it is just atoms rearranging themselves.

Follow the body, it’ll know what to do. It has tremendous intelligence.

You picked the wrong way to help someone, that one, she wants to help Africa! Like the airplane put on your own mask first!

Stop! Stop Thinking!

We’re up in a place called Paradise, but is everything okay? Of course not.

How’s gold doing? (while checking girl’s iPad).

So, you are on your knees? Good. Now die to yourself. To your idea of yourself. Everything you think you are, you are not. What’s left? Find out.

(How do I help myself?) Why should I tell you when you don’t listen? (I’m listening) No! All you hear are your own crazy thoughts Like a river of sh-t, on and on. See your thoughts for what they are. Stop your helping. Stop your planning. Give up! There’s no way out. Not for others, not for you. We are living out here at the end of the road, the end of the earth in a place called Paradise How is it going? Perfect? No. You are madder than ever. You are tired? So lie down right here. Be like a cat. Heal yourself. There is no match for the tremendous intelligence of the body. Rest.

Just get me away from these crazy b–ches. When is the next flight to Reykjavik? Drug Policies So Bad They Make Me Defend Potheads

Published March 20, 2014 Crime and Punishment , Humor , Politics , Unintended Consequences 1 Comment

Lord knows that the world doesn’t need any more drunks or potheads, and I support neither. But it doesn’t need a justice system that is highly incentivized to target and prosecute these folks either-that only seems to compound these woes. I have never written a letter to the editor before but I was mildly annoyed that as the legislature of my state of Maryland debates the first real proposed changes to marijuana prohibition in decades, all of the articles in my local paper were from quite respected members of local law enforcement who were highly critical of even the smallest changes/experiments. What none of those articles mentioned is how completely dependent police budgets are on the current drug-war status quo, and how this “drug dependency” (if you will) might distort the lens of their viewpoint. Anyway here is the article I angrily emailed off to the editor one morning after reading a front page of the local paper filled with such articles…

It Is Time to Identify the Real Drug Addict

Like an addict worried where he will get his next fix or a pusher worried about losing his best customer, Maryland police organizations are absolutely apoplectic at the prospect of any real experiments with marijuana decimalization. Much like the police, I’m concerned with substance abuse and the prospect that an abuser might drive. But then again, all of the secondary concerns brought up by police, such as impaired driving and child neglect, are already crimes and will remain so even after marijuana decimalization. I am likewise concerned that youth with try any harmful substance including alcohol, tobacco, or marijuana, but it is simply being realistic to acknowledge that most will try these are some point in their youth. However, what concerns me far more are the waste, damage, and discrimination done by current prohibition policies: young lives ruined by criminal convictions, African-Americans prosecuted at much higher rates, high-level drug dealers who are further empowered and enriched, and many similar unintended yet worse consequences of the marijuana war. Much the same as we learned with Alcohol Prohibition, current marijuana laws have done little but waste police resources, hurt the potential of our youth, and benefit dealers. After 40 or more years with the current, misguided policies, common sense tells us that it is time to experiment with change.  Don’t let police continue to use our youth as easy targets and a revenue stream. Let’s break law enforcement’s addiction to marijuana convictions. Productive Citizen Cool Guy Greg on Taxes

 




The Software Foundry