Archive for September, 2010

I’ve been using the App Inventor for Android for a while now. I managed to get in on the private beta, partially on my credentials as an MIT Scratch educator. I’ve taught 3 Scratch classes to kids from elementary to high school. I also follow the App Inventor Google group and came across a few people needing a URL Encoder.

I’d already written a simple URL encoder while testing out a mapping application. It uses the Google Maps staticmap API function to retrieve a map with markers. The markers are created by passing in an address, and although many browsers will accept spaces in URLs, the Image component in App Inventor won’t: you must encode a space either with a plus + character or with the hexadecimal encoding %20.

The newline character “\n” is also encoded, but the routine to test for it is separate from the others as App Inventor doesn’t find the correct location of various characters when you include it.

Here are the blocks for the character codes and their translations, plus some misc variables used in the encode routine. The “chars” block contains $&+,/:;=?@ “<>#%{}|\^~[]’ and the codes block contains 24262B2C2F3A3B3D3F4020223C3E23257B7D7C5C5E7E5B5D60.

Now the URLEncode routine itself is fairly simple. It loops through each character in the provided text and searches for it in the chars and ctrl strings. If it finds it, it calculates the offset position for the code and adds that to the URL. If it doesn’t find it, then it just adds the character from the provided text. The offset position for each character is ((pos-1)*2)+1.

I have a very deliberate way with meetings. Like many Dilbert cartoons, I’ve been in a few meetings and felt fairly useless… like it was a waste of time. Many years ago, I would accept meetings, dial in or show up. Accept the imposition on my calendar.

Now, however, I try to be careful with my time. I’m often an individual contributor on a project: maybe a project manager, supporting innovation practices or development. Therefore I have to prevent all my time from being monopolized by meetings. I often wonder how senior executives do it – the constant meetings, I mean. I discovered that getting on the calendar of a VP can only be accomplished by bugging that VP’s administrative assistant. Their calendars are completely full for weeks to come, and always will be, it seems.

My philosophy on meetings has 3 elements. First, I don’t just accept meeting invites. If I’m optional, I’ll likely tentatively accept it. If the meeting invite doesn’t have an agenda, I’ll likely mark it tentative and email the sender to ask for the agenda. I’ll likely decline unless my active participation is required or else it’s some sort of learning or training in a topic of interest to me.

Second, I am diligent in using the Required/Optional features of an invitation. If I will hold the meeting even if a specific person doesn’t show up, then they are Optional. Period. If I will reschedule a meeting if a person declines the meeting, then they are Required.

Third, there are times when I schedule a training or information meeting of some kind. Those I send to everyone as Required. If it is a meeting with people who report to me, then I expect them to attend unless they are not in the office. If other people are invited and I didn’t list them as optional for some reason, then I expect them to apply the same criteria that I use: come if you want to know/hear what’s going on.

Don’t let meetings get in the way of more important work. Yes, they are necessary, but be deliberate. Would you hold the meeting even if I didn’t show up? If the answer is Yes, then I’m not really required, am I?

An email today got me thinking: can a person be taught to have a certain mindset?

At Intuit, we work to create a culture of innovation. We have leadership classes, innovation catalyst training, workshops on innovation tools, design for delight, unstructured time and idea jam sessions. Oh, and brainstorms a plenty.

It seems that when a culture, even a business culture, yells loudly enough, and often enough, that people begin to think about that topic, even when they aren’t prompted. So we yell loud and often about innovation, and people think about “innovation” in their projects. And they come talk to the innovators and leaders, get guidance, that sort of thing.

After a while, it does seem that a new mindset can begin to emerge. What you need is a good request/response system, and lots of advertising. And, of course, successes you can point out.

I think I’m rambling on a bit here… but there’s a second method: immersion. If you put an innovative person in a leading role in a project, the others are bound to see the mindset in action. Different ways of thinking about a problem will emerge. New tools will be discovered. Paths to success will never be random again: rather each new button or widget will have an impact on the bigger goal.

This is the best way to shift the mindset – model it from a position of authority, and others will see the benefits and begin to emulate it.

It was late in the afternoon. I was 15 years old, and my step-father at the time, Lee, was driving me home from my job at Dodson’s Cafeteria in Oklahoma City. I was a dishwasher… and I left my tennis shoes at the restaurant: they get really dirty in the dishwashing area! The year was 1980 (a little more math and you get my age…)

We were turning the corner toward home, and Lee was talking about the problems in the world, specifically the problem makers: spics and spooks. I’d heard the term “spics”, referring to Latinos. Growing up in West Texas exposed me to plenty of those terms, “wetbacks” being the usual one thrown out. But I didn’t know what he meant by “spooks”.

“What is a spook?” I asked.

“You know, ghosts, black people, niggers.”

That moment was an epiphany for me. I decided right then and there that I would not be that way. It’s taken me a long time to mature in my interactions with people, and a long time to get out of my perfectionist, soloist mindset. But this one matured for me at 15 years old.

My son brought home a required reading book in the third grade. It was all about Martin Luther King, Jr. My son didn’t even know a black person from a white person … they were just people to him. The story brought out those questions. We explained, as best we could to an autistic third grader, that in the past, black people were slaves. They were freed under President Lincoln, but they were still heavily oppressed. King helped to lead the fight to remove that oppression, and he was somewhat successful. But there are still people around like the ones that King campaigned against.

That’s a core belief of mine: There are still folks out there who judge according to color!

I’ve heard conservatives claim reverse racism. I’ve heard liberals claim racism. I’ve heard talk show hosts discuss playing “the race card”. I don’t think that everyone is using the same meaning for that term. At some point, I’ll write my Politics post and go more into the mindset conflict I see in politics today…

But discrimination is still out there – in the workplace, in public areas such as stores or on the road, in education. I strongly believe that affirmative action needs to remain in place. As long as those discriminatory actions exist, society, and the enforcers in society, must work against it.

My hope and prayer is that hearts will be changed – there is neither man nor woman, Greek nor Jew, black nor white.