Sunday, October 5, 2014

I'm Running for DeKalb County Board, I Need Your Help

Good Morning,

I've been a student of government for many years now. For 15 years I worked for Kane County to provide technical services and improve processes. Through systems large and small I was able to bring change to the people of Kane County. My improvements automated mailings, opened revenue streams, and delivered important documents faster to save tax payers money and improve public safety.

Technology is great and can bring incremental change to improve the lives of those who connect with government. However there are certain problems that technology alone cannot solve. Technology cannot ensure that policy makers spend money wisely. Systems cannot prioritize public well-being over entrenched interests. Computers cannot make companies behave in a manner that is respectful to their neighbors.

It is for these reasons that I wish to participate in government at the policy level. I am running for DeKalb County Board, District 3 this November.

I have the judgment, intelligence, and passion to make a difference in the lives of the people of DeKalb County, my home. I intend to use my analytic thought process to make sure that DeKalb County is a responsible steward of our public resources. I will use compassion when making decisions about what programs deserve the attention and funding that is available. In all pursuits I will employ my passion to seek out the facts as well-being as the wishes of my constituents when doing this public service.

Do you think my vision and dedications will make DeKalb County a better place to live?

In order to get into office to provide this leadership I need to run a strong campaign to beat a well known incumbent. I need literature, yard signs and postage. I need volunteers and I need funding.

If you support my vision, and you believe in my ability to deliver on these high goals I am asking you today for your financial support. Your contribution to Citizens for Orr would go a very long way towards making this goal a reality.

Please visit the donation link to the right of the page.

Thank you,

Joshua Orr


DeKalb County Board, District 3

Wednesday, July 9, 2014

My Bro's Going to Be A Programmer! Episode 1: The Soft Things

I'm reviving this blog because I found out recently that my brother Jake is going into the programming field this fall!  I couldn't be more proud of his decision to explore this field and was thinking of all of the bits of information that I'd like to pass on to help him on his journey.  The problem is that if I were to spout them all at once it'd look like a Cairn Terrier trying to drink from a golf course sprinkler.  So instead Jake, I'm going to leave this right here.  For anyone else who stumbles in, good luck in your journey!


The most important attribute that you're going to need in your journey is persistence.  Ridiculous persistence.  There will be times early on that you will spend inordinate amounts of time trying to find a silly bug or error in your logic.  This will not go away.  Just today I fought a problem for 10 minutes that had to do with a misplaced exit statement in 5 lines of javascript.  This was an easy one, and I am far from a novice.  There will be times that you will spend hours, days or possibly even weeks trying to track down a problem.  Most of the time it will be something minor you can work around in a few characters or a few lines, but there will be other times other times where you are so terribly off on the wrong track that you'll have to rewrite large sections of your program.  At all times you must persist!  Fight through it.  Take a break and come back to it, but always come back.

Check your ego at the door:

You will be wrong, or at least less than optimal, so very often.  There is rarely one right answer to any given problem and many will believe that theirs is the best answer.  Sometimes they are right, and sometimes they are convincing.  These two things are not mutually exclusive.  Even instructors give bad advice.  Even novices produce eloquent solutions.  Evaluate all solutions on the merit of the solution regardless of source.  Apply this doubly to yourself.

Don't fall in love with your code:

That part that I mentioned about being totally on the wrong path:  it happens.  A lot.  Get used to it.  I read somewhere that you shouldn't fall in love with any of your code, and that is solid advice.  You should rarely assume that you've found THE optimal solution to any given problem.  Don't allow any work that you've done to block any work that you need to do.  If something is making the next task difficult, it will probably make the task after that even more difficult.  If something needs fixing, right now is the easiest time to fix it because when you build on that crooked brick the whole wall will lean.  Taking down a wall is a whole lot harder than removing a single brick.

Learn the rhythm of learning:

Progress when learning to program is anything but linear.  You will have larval times when you consume gigantic amounts of information about programming or an individual sub topic.  You will read book after book insatiably.  You will write things that you didn't think you could ever wrap your head around.  You will absorb new languages like a sponge.  These times are so very enjoyable!

There are also plateaus where you don't feel like you are going anywhere.  You may not feel like learning new things.  Or you might try and nothing seems to click.  Your confidence will sag and you'll feel like giving up.  These times suck.  The cause could be just a bug in your wetware, and taking a break and coming back to it is sometimes the best solution.  This time a weekend away or more is needed instead of a coffee run.  Other times you may be suffering from a confidence issue and you are moments from a solution.  Learning to tell the difference is a matter of experience.  Take it on faith that either way this is temporary and you are about to hit the next phase:

Breakthrough!   This is the moment when the dam breaks, the code compiles, the angels sing, the promotions come out...all of the above or something else entirely.  This is the hit that keeps us coming back!  Celebrate these times and cherish them for they are fleeting.

Learn about thinking:

The more you understand about how your brain works, the more you understand how to work with it.  Don't try and cram or force as you will lose this battle.  Learn to take advantage of the way your brain works naturally in order to get the best results.  Some people plan meticulously then execute.  Others dive into problems and plan after they get an idea started.  Some work better at night, others in the morning.  Some like music on, others wear silencing earphones.  Expiriment and find what works for you.  Read and learn what works for others.

Have fun!:

At the end of the day we're kids playing with fancy toys.  We don't till fields or fight enemies.  We're just star stuff doing some future shit.

Episode 2:  Learning Tools

Monday, March 31, 2014


I'm testing the release patch for Cleo's newest software offering as we speak.  And it looks good.  Waiting on pins and needles for our QA guys to do their thing and give it the official ok.

This feeling never gets old.  I love shipping software!

Wednesday, October 23, 2013

Banning Ads on Consumables

I heard a story yesterday that Turkey was banning advertising alcohol.  That got me thinking, wouldn't it be a good idea to put a ban in place for all human consumables?

I'm not a particular fan of prohibiting the consumption or possession of any item that harms no one but the consumer.  Prohibition failed, and the war on drugs is following suit.  However, I don't think that advertising food and drugs is such a great idea either.

We've seen smoking rates plummet since advertising rules were put in place.  Why not extend this to all drugs?  And then on to foods as well.

Many of the obesity problems that countries with Americanized diets face can be traced back to sugary and processed foods.  These are the ones most heavily advertised.  Why not level the playing field a bit?  Since there is no way in the foreseeable future that carrots will have the same ad budget as cookies and soda, removing the cookie and soda advertisements should give the carrots a fair shot.

Also, this should extend to pharma.  There is no reason that I need to see advertisements for products deemed risky enough that a doctor has to approve their use.  If a drug carries secondary consequences such that a health professional must make the determination if I should use it or not, creating a market for that drug weakens the patient->doctor->pharmacist system that we have in place.

I have no particular dislike for the marketeers of the world, but it is difficult for people to make healthy decisions when others are spending billions of dollars persuading them to make unhealthy ones.

Thursday, October 17, 2013

Why the Hell Are We Teaching Excel To 11 Year Olds?

So my daughter's computer class has progressed now from typing Word documents to Excel spreadsheets.  What the hell does a 6th grader need with Excel?  Is she realistically going to balance her piggy bank with a complicated spread sheet formula?  Or is that meant to inspire her to enter the Future Excel Drones of America(c) club?

When I was in 6th grade I was learning HyperCard.  We were animating stick figures and making choose your own adventure decks.  You know, the kind of things that are appropriate for a 6th grader.  In the process the groundwork was laid for my programming career.

So seriously teachers, administrators, boards, pta's and all others involved, let's let our kids be kids.  Teach them how to be curious and playful and intelligent.  There's a whole lifetime ahead to learn to do boring office tasks.  And besides, people like me are trying to eliminate those boring office jobs any way.

Saturday, September 28, 2013

To a Great Friend

On a day not unlike today almost 12 years ago you came to my wedding and made a profound observation that I've never forgotten.  When Megan and I lit our unity candle it went out as we walked away.  We turned around and lit the candle once again and the show went on.

Later that day you pointed out the metaphor that happened.  Megan and I had our plan fall through and silently went back and lit the candle.  You said "Remember that."  You pointed out that that's like life.  Something doesn't work out and you just go back and do it again until it does.

Today at your wedding you and Beth blew out your unity candle.  You handled it much the same way, just with a bit more humor than us.  Remember that.  That's like life right there.  And as long as you and Beth keep laughing you two will have a long and wonderful journey together.

Congratulations, Mike.  May love and laughter grace your life always.

Friday, August 23, 2013

Student's Perspective, Part 2

This post is in reply to Zuleyka Zevallos's comment on a previous blog post.  Perhaps I've gotten a bit long winded as I've violated Blogger's char limits.

Hello Zuleyka,

The problems with discussion boards in online course work go beyond a matter of poor moderation. The problem is structural in the way that discussions are conducted in online courses. I only have the experience of the schools that I've attended to gauge from, but these problems span 3 organizations that I've personally taken classes from.

The problem breaks down into 3 issues:

1. Technology. The boards themselves are based on dated BB technology, and much harder to follow than a G+/Facebook linear comment style or a tiered approach such as Reddit/HN. (Blackboard has undergone a major revision at my current school that I haven't yet had access to, so this may not be relevant any more.)

2. Student engagement. Whereas good online discussions happen all of the time organically within self selected groups, students are often engaged in coursework that they are taking simply out of requirement. I would guess that the forums of any MOOC classes out there would be much more lively than a required college class. The students of a traditional course are most likely not any less competent or driven, they just don't have the same level of intrinsic motivation as someone who pursues a course on a completely voluntary and relatively uncompensated basis.

3. Instructor Requirements. In response to lack of student engagement, the instructors and/or departments set forth grading rubrics to force students into the board for lack of a better word. They reward the desired behavior extrinsically thus further reducing the chance for organic conversation. Beyond just motivational factors, there gets to be such a volume of repetitive conversation on the boards that a student cannot parse it fast enough to meaningfully participate and often ends up answering blindly into the crowd to satisfy the rubric.

I understand the need for students leaving college to have interpersonal skills. As a professional working in the field for which I am currently pursuing my degree, I've been able to climb the ladder and get ahead of those who've completed their studies in part due to my ability to communicate ideas effectively. These are for the most part skills that I've attained through personal pursuit rather than traditional schooling.

I brushed upon it before, but the process of taking a course from the physical realm to the network involves a bit of translation. Like any transformed work there are trade offs involved. Consider the following two continuum:

Interpersonal interactions(traditional) ---- Independent Works Skills(online)
Instructor/peer face time(traditional) ---- Greater course accessibility(online)

With online course work, you trade off interpersonal interactions and instructor face time for enhancing one's independent works skills and greater course accessibility. I've developed a higher level of independent abilities because of the time that I've spent pursuing coursework without the classroom time. I was able to get within a few credits of acheiving my degree while attending to other life requirements because of the accessibility of online schooling. If you adjust the way courses are translated and have hangout discussions you are moving the needle on both of the gauges. You get back more of the interpersonal interactions at the expense of a minor amount of independent work skills. However to get that face time you are most likely going to have to place in time requirements, and for that you will pay a price in course accessibility.  This isn't to say that making such a change wouldn't be worthwhile, just that it wouldn't come without cost.

No matter what avenue a student uses to pursue a degree there are going to be skill and knowledge gaps when that student graduates. It will be up to the student to choose if and how to round their experiences through continued or supplementary educational opportunities. The challenges are different for online or traditional students, but that fact remains that a student should not consider themselves done with their education simply because they've attained a degree.

Thank you very much for having this discussion.