Showing posts with label geek. Show all posts
Showing posts with label geek. Show all posts

5/28/2016

Exit Code

Lately, I've been writing longer-form humor pieces over on Medium. Like this one:

Exit Code

9/16/2015

Video: Practical Best Practices

It's my favorite time of year - the Devoxx presentations from last year are now all free on parleys.com!

Of particular interest to serious students of computer science might be the software process talk I gave last year:
Practical Best Practices: Totally Better Best Practices for Practical Practicers

This is the same talk that I gave at the Big Android BBQ and Droidcon London (which were both posted last November). But each one is a unique snowflake, because my complete lack of rehearsal guarantees it. Also, there's a part at the end (my favorite part) where I take questions from the audience. I did that all of the times I gave that talk, but all of the questions were different (it would be odd if they weren't, since they were all given to different audiences in different countries. If I'd gotten the same questions, it would be odd and slightly disturbing and I might hire a bodyguard to protect me from geek stalkers).

Also, I like the Devoxx version because the recording and presentation quality of all of their talks is so high. When you're done with this one and you've learned everything you can from it (actually, that will be true without watching any of it), check out the other talks for the conference; it's a great developer conference that I highly encourage people to attend if they can.

https://www.parleys.com/tutorial/software-engineering-totally-better-best-practices-practical-practicers

4/01/2015

Food for Thought

This important project was sponsored, in part, by the organizers of the Devoxx developer conferences. It represents years of research and days of indigestion.

8/30/2014

Cartoon: NP

Designers and developers don't really speak the same language.


(For the non CS geeks: http://en.wikipedia.org/wiki/NP-hard).

3/14/2014

A Month Without Devices: A Diary

After the softball game, as I waited for my daughter to pack up her things, I took out my phone and played a game for those two minutes, because that’s what you do now. There is no dead time anymore. Waiting in line at the store? Check the news. Walking to work? Check the weather. Speaking to a friend? Check your email and calendar. Anything else happening? Play a game.

It’s become a disease, where we are more and more addicted to these things in our pockets. I can almost remember a time when I used to simply not do things instead. I’d look around. Or have a conversation with someone. Or use my imagination. Or just not do anything, because I didn’t have to. But no longer: now I feel compelled to always be doing something, where ‘something’ means looking on my phone for the next communication or the next piece of information, or just playing an addictive game.

Well it’s time to stop this madness; it’s time to reset the system, to reboot me and go back to the way it used to be when life was simpler and there wasn’t this incessant need to keep reaching in my pocket for my Machine of Wonders. Or it’s at least time to find out if I can.

As of today, I’m starting a leave of absence from my phone and all of my many devices. I hereby promise to go a month without my new best friend, and to record my experiences as they happen. In doing this, I hope to learn more about the world around me, and maybe even a little bit about myself.

Day 1
Not much to report so far, since I just woke up. I’d like to check email, but just from habit.

10 am
I feel kind of tingly, like I have this need to keep picking up the device and looking for information, yet excited by the prospect that I don’t have to!

11 am
Feeling pretty good - it’s three hours now and no smartphone. I was late for a meeting at 1030 because I didn’t get a notification, but that’s to be expected as I work into this new system. I’ll just have to remember things better, maybe write things down more.

Noon
Feeling great - this is really enabling. I don’t think I’ve had so much time to just be me since… I’d have to check my calendar for the last time I felt like this. Going out to lunch with some old friends, can’t wait to tell them about my new experiment.

1:30 pm
Lunch didn’t work out so well. I thought I knew where that restaurant was; I wonder if it moved? Or maybe not having been there in a decade worked against me. It would have been easy to check maps on my phone, but that defeats the purpose. Anyway, I didn’t find the place until they were done with lunch and heading out. No time to tell them about my Month Without Devices. I’ll send them email about it instead, when I get back to my desktop machine.
In any case, I really enjoyed walking around the town for an hour. It was like a leisurely stroll, except for the part where I knew I was late meeting friends for that whole time.

3:00
Missed another meeting, but it was a pretty boring one with HR, no big deal. But I should really try to get to the makeup meeting at 4:00.

4:30
Missed the makeup meeting, too. What the hell? Like I can’t remember things for a single hour?

6:00
Forgot to arrange a ride home with my wife; I guess I’m walking. That’s great, it’ll give me more time with my thoughts. Thoughts like, I need to remember to arrange a ride tomorrow.

7:30
Missed dinner. I guess my wife was counting on me being here earlier. Whoops! Apparently she called, texted, and emailed me, but of course I didn’t get those messages. I don’t think she took me seriously last night when I told her about my grand experiment. She doesn’t understand how important this is to me.
She’s pretty mad.

9:00
Watched a pretty good show. I couldn’t place the main actor. I know I’ve seen him in something recently. It's killing me.

10:30
No games in bed tonight: I think I’ll read a book. Man, I used to really enjoy reading books, went through like one or two a week back in the day. Then again, I don’t really have any physical books here that I haven’t read since all of my new books are electronic.
Never mind, I’ll just go to bed. Probably better for me anyway, right?

2 am
Up in the middle of the night, as usual. No games to play, though. Or books to read. I guess I'll just lie here, collecting my thoughts.


Day 2
Jesus, what a stupid idea. What was I thinking?
Screw this.

12/18/2013

Patterns, Shmatterns

I enjoy programming. I enjoy giving presentations. I enjoy comedy. And I really enjoy giving comedy presentations about programming.

My satire talk from the Devoxx conference is now available on parleys.com. It was meant to be a "quickie", although blowing through my 15 minutes' worth of slides in 4 minutes wasn't quite was I expected. Nevertheless, the Q&A session was fun. And totally educational. Totally.


10/25/2013

Dear Candy Crush

Dear Candy Crush,

It's been a good three months. What am I saying? It's been a *wonderful* three months. Every day meant another day I'd get to spend with you: new levels, new types of candy, and the old, familiar animated interactions. Seeing you during my days was always a joy, and of course I always looked forward to playing with you at bedtime.

I didn't even mind that you let other people play with you. Or that you asked me for money every time, like a prostitute with a taxi meter. As long as we could enjoy each others' company, I was happy just to be near you.

But lately, I feel like the joy has gone out of our relationship. At first, I just took you for granted, because you were always there, on every device I own. Recently, I've been more likely to curse you than appreciate you. Simply seeing your happy animations was apt to make me shudder with frustration and anger.

So it's with deep sadness that I'm sending you this note to tell you: It's over.

No more levels. No more games. No more lives.
No more candy. No more of that damn chocolate polluting my world.
No more dying-five-times-in-a-row and having to wait for more lives.
No more orders to fulfill while bombs exploded in impossible-to-get locations.
No more playing-levels-until-lucky-combinations-got-me-past-unwinnable-setups.
No more swearing at my tablet.

I'm moving on. I've uninstalled you from all of my devices; you're out of my life.

At first, I thought I could get by with just not playing you as often, but I just kept finding myself going back to your life-sucking trough, dying and dying over and over and over again. I couldn't simply play less if you were still around; I was too addicted to your torture. I've had to get rid of you completely just to get quit of you.

Don't think you can win me back, either - the saved game data is gone gone gone, like my initial crush the first time you killed me five times in a row within a minute and made me wait to try and get killed again.

And don't think this is about someone else - there is no game that can replace you. There is only a hole in my life where my time used to drain. A gaping, bleeding, frustrated hole.

Dear Candy Crush: I loved you once, with your sparkly cartoon animations and you're slightly disturbing 2D characters.
Now get the hell away from me, you addictive whore.

Sincerely,
Chet.

3/07/2013

Crystal Methodology: The Future of Software Process Methodology Effectiveness

Most people that know me know that I can't say enough about process. In this presentation at Devoxx 2012, I tried to change that.

If the embed below isn't working for you, you can watch the talk on the parleys.com site.

2/11/2013

My Hard Drive



My hard drive crashed the other day;
I should have seen it coming;
The computer had gotten awfully slow and
The drive had started humming.

A crash like this is no surprise;
These things fail all the time.
Thus the need for backing up
Explained in this here rhyme:

Back up all your documents,
Especially your data.
‘Cause drives are like bad software that’s
Perpetually pre-beta.

So copy all those pictures off
Onto another drive.
And copy them some more times if you
Want them to survive.

Duplicate your videos
And music you’ve amassed
For when your hard disk crashes,
These files will not last.

Copy emails, copy chats, and
Every application;
Save yourself an ulcer and
Painful consternation.

Just copy the whole damn thing;
And copy it again.
Losing data hurts like Hell,
Each copy is your friend.

Copy onto other drives,
Copy to the cloud.
Copy anywhere and every
Place that is allowed.

Keep a copy in your home
And maybe in your car.
Have some copies near to you
And others really far.

Make copies of your copies
And duplicate those, too.
It’s better to have too many copies
Than to have too few.

All your digital memories
Could disappear like this
So back up everything you think
You might just one day miss.

I know all this because my hard drive
Recently got fried.
These are all the things I wish I’d
Done before it died.


Postscript: I wrote this after the drive crashed and I had lost everything. I actually managed to recover the data eventually. If you're curious about the process I went through, I wrote it up on my technical blog in Dealing with Data: A Hard Drivin' Tale of Woe.

1/18/2013

Poemski

Skiing's been on my mind. Now it's on my blog:



The engineer rode up the lift
And got more progressively miffed.
Skiing wasn't his calling;
He just kept on falling.
He just couldn't catch the snow's drift.


The skier returns to his bed,
Feeling as though he were dead.
"The trouble," he mumbles,
"Is all of the tumbles.
I'd rather be coding instead."


Bob's skiing was really inept;
He fell every time that he stepped.
But no one's disputing
His tangent computing:
He always found the slope intercept.

1/16/2013

Emoticons

I'm not an emoticon person. I think that if your text doesn't adequately describe your emotion, then you need to work on your writing. Emoticons are just a cheap trick, a way of saying "just kidding!" either because your sarcasm wasn't clear enough or your audience is too dull to get the joke, so it wasn't worth telling them to begin with.

But it struck me that sometimes there's an emotion so strong and sudden that a simple graphic would be better than a long-winded explanation. Specifically, we need emoticons for puking.

There are infinite possibilities and variations here, but I'll suggest a couple:

Basic: feeling kinda pukey:
:O%%%

This can be extended to a more elaborate Feeling Very Pukey:
}:O%%%%%%%%%%%%%%
where the amount of % spew is up to you and your physical state at the time.

Finally, there is the sudden, atomic projectile vomit version:
}:O>>>>>>>>>>>>>>>%
or a common variation:
}:-O---------------------------%

I still refuse to use emoticons in general. But I thought these were worth throwing up here.

1/12/2013

Email Syntax Explained

I think this helps explain emails that we get from our parents and their friends.



11/04/2012

Geek Poetry: Mathematickle

An ode to math. Because why not?




Mathematickle

I think mathematics
Has pluses and minuses,
Just like our faces have
Nostrils and Sinuses.

Multiplication,
A sign of the times,
Results in great products,
And not just for rhymes.

Over and under,
By and by with precision,
The one that remains
Is known as division.

Adding it up
I’m quite overcome,
Accruing has much greater
Impact than sum.

A take-away from subtraction,
Which has no equivalents,
Is all that is left;
It has made all the difference.

Multiplies, adds,
Subtracts and divisors;
Math’s operands are life’s
Great equalizers.

3/14/2012

Circular Reasoning

Circular Reasoning
An Ode to Pi

Circular reasoning
Leads us to think
About infinite answers
(which leads us to drink).

But one thing is certain:
Divide area by
A circle’s diameter
Leaves you with pi.

In fact, you can use it
For all sorts of things
Like circumference and volume
Of spheres and of rings.

There's so much that
We can do with this guy;
Makes me wonder about
The origins of pi.

Did someone imagine it
From something they’d read,
Or like Newton’s apple, did it
Fall from their head?

Or maybe I'm wrong
In what I have said;
Maybe it happened
In this way instead:

A student of math cried,
“I think that it’s three!”
With their professor professing,
“It just cannot be!”

“There must be more to it,”
The teacher exclaimed,
(For simplicity makes
Mathematicians ashamed).

“It must be much longer.
Add a one. And a four”
And thus they kept going
Adding much, much, much more.

They wrote down a one
And a five and a nine.
The answer was starting
To look pretty fine.

Then they wrote down a two
and a six and a five.
This number was really
Starting to thrive.

Then came a three
And a five eight nine seven.
The teacher was now having
Thoughts of math heaven.

Meanwhile, the student’s
passion was gone.
“This number,” he thought,
“Just goes on on and on.”

“A nine! And a three!
And a two! One more three!”
The professor was shouting
As he danced with glee.

The student, at some point,
Snuck out the back,
But the teacher, undaunted,
Continued the attack.

“An eight! And a four!
“And then six two six four!”
He kept up the ranting
Behind his closed door.

“Three three eight three!
Two and seven nine!”
The mathematical coot
Was feeling quite fine.

As far as I know
He’s still at it today,
Writing digits forever
Or till his death anyway.

For an infinite sequence
Never will die.
Just pondering it makes me
Hungry for pie.

1/29/2012

Mass Storage

A friend raised a good point in a comment to a Google+ post of mine: Long books weigh more, so electronic versions of those books must do the same. The question is how much.

I think we can assume that 0s add no weight, so all of the weight must be in the 1s. It stands to reason that the more 1s, the more weight, and 1-heavy text would, on the whole, weigh significantly more than text with many 0s.

A quick glance at an ASCII table for character representation is illuminating. For one thing, in a coincidence that I find too extreme to be anything but a first-order conspiracy by the Knights Templar, *all* vowels have odd representations, meaning that they have an extra 1 in the least significant bit. Meanwhile, the space character is even (0 in the least significant bit) and lower-case letters come later in the code than upper-case letters.

There are some simple consequences of these facts that we can derive:
  • Vowel-heavy text will obviously have more 1s than consonant-heavy text, and will thus weigh more. Languages based on consonant usage, such as some African languages and traditional written Hebrew, fare much better in general.
  • Spaces, having no 1 in the least significant bit, cost less, so the higher the proportion of spaces to overall character count, the less weighty the text. So books with short words will be lighter than those using long words.
  • Books with a higher proportion of CAPITAL letters to lower-case letters will weigh less because they simply require less bits, and therefore less 1s, to represent those letters. As with the word length, books with shorter sentences will weigh less due to the increased frequency of the capital letters that start each sentence. Also, text by accountants and angry emails take less in general from the overuse of caps-lock typing.
So if you just want a little light reading, pick up a children's book on accounting written in traditional Hebrew.

Data compression is something else to consider. There is obviously a savings on the sheer number of bits involved. But the key is that compression makes data even smaller, and even values, as per my previous calculations, are lighter than odd ones, Q.E.D. I'll leave the details of this proof as an exercise for the reader.

8/27/2011

The Greatest Disappointment

I watched the original Star Wars movie this weekend with the kids, and relived the greatest disappointment of my childhood: the death of Obi-Wan Kenobi.

Actually, the death scene itself was lovely. You got to see him evaporate as Darth’s light saber hit him, like the witch in the Wizard of Oz. Darth was left alone, kicking the robes and wondering what just happened. “[shhhhhck] Hey! [shhhhhck] Come back here, old man! [shhhhhck] That is not fair, I totally cut you in half. [shhhhhck]”

No, the disappointing part was the aftermath of this battle. Before he died, Obi-Wan told Darth, “If you strike me down, I shall become more powerful than you could possibly imagine.” Then he waited until he saw Luke was watching (which is more than a little creepy), raised his weapon and let himself be popped like a piñata.

This was an awesome lead-up into something wonderful. Would he become a god and smite Darth? Would he become Luke’s protector? Would he add power to the light side of the force, like some human turbo-booster? Or was he just screwing with Darth and wasn’t going to die at all? I couldn’t wait - it was going to be fantastic.

And then.... nothing. Zilch. Except for a couple of “Use the force, Luke” and “Hey, Luke, listen to me, you young whippersnapper!” Obi-Wan became a total non-force in the story. He returned for a couple of lame cameos in episodes V and VI, but didn’t do much besides play a supporting role as a low-res hologram, mumbling on about the force and how kids these days should listen to their elders more.

This awesome warrior let himself be killed just to end up as a minor cameo character spouting soundbites; that was the greatest disappointment of my childhood.

The greatest disappointment of my adulthood was years away and would come in several installments: Star Wars episodes I, II, and III.

4/01/2011

Au Pair Programming

In a former life, I wrote a piece called Crystal Methodology about several important programming methodologies. Time has passed and new practices have risen from the primordial programming soup. I'll discuss one of these newcomers today:

Au Pair Programming

Based on the popular Pair Programming technique, where two programmers work together, au pair programming also centers around a paired collaboration.

In the classic Pair Programming approach, both programmers assume different roles, with one writing the code (the Driver) and the other reviewing (the Observer or Navigator). In Au Pair Programming, there is only one person responsible for the actual engineering work (the Programmer). The other member of the team (the Au Pair) facilitates the work by taking on other activities that the Programmer has no time for, such as keeping the work area clean, fetching coffee, and taking care of the children (these may be actual children or, in the case of a management au pair, the employee minions of the manager). This even division of labor allows the Programmer to focus solely on the task at hand, enabling excellent productivity since they do not have to worry about superfluous tasks they don't enjoy anyway, like human interaction and showering.

The Au Pair may occasionally chime in with ideas of their own, in which case they are referred to as the Backseat Driver. These ideas are generally ignored and dismissed as the Programmer takes on their other role of the Jerk.

Ideal pairings are still being worked out in this new approach. Some Au Pairs have been French schoolgirls, although more successful pairings have used interns.