Tuesday, October 31, 2006

Pumpkin Carving

The team really pulled together to create a masterpiece of pumpkin carving art. We managed to work puke into it and everything.

Way to go team!

--Ben

Costumes and Such

Ian is dressed up as PCDC - one of our primary software programs. Jade is Tim Burton's corpse bride.

Me, today I dressed up (or down?) as a programmer.

Some people are just so creative.

--Ben

Monday, October 30, 2006

Mobile Computing - Things To Try Today

I'm covering the topic of mobile computing in my up coming class, and I wanted to walk students through ways they could start using mobile computing today.

I cover topics like using Google SMS, and Mobile Blogger.

I'm curious if you have any to add to the list. Which mobile services do you use every day? It doesn't have to be cell phone based (for example, I also emphasize iPod like devices).

Sunday, October 29, 2006

Michael J. Fox, Stem Cell Research, and The High Ground

There's been a bit of controversy as Michael J. Fox did a Democratic campaign ad, suggesting that you should vote for his recommend candidate because of her support for stem cell research.

Rush Limbaugh's response was to suggest that he was either acting or simply off his medication. He even goes as far as to imitate Michael, like some sort of grade school child.

All this is pretty typical, and expected. However, when I browsing YouTube I came across an interview with Katie Couric, where Michael J. Fox had a chance to respond to Rush.

Not only did Michael do a terrific job during the interview, he stated a position which I think many Democrats and Republicans would agree with. First, there's a real need to fully understand the issue. In this case, what he's asking for, he claims, is totally in line with a Right To Life point of view. Secondly, if you don't agree with the changes he's suggesting, that's fine, but can we at least have an intelligent debate about this? Can the decision be made not on inflammatory language, mocking or political maneuvers, but using reason?

I think it's a thoughtful and useful response. One that we need to hear more of in this day an age - from both Democrats and Republicans.

But don't take my word for it, watch the clip:

A Tribute To Breakfast

Pancakes with chocolate chips -- the traditional Simon Sunday breakfast. Can you think of a better way to kick off a Sunday? I surely can't.

Those who know me well enough must be thinking: "OK, if he eats breakfast with chocolate chips, does that mean he still eats desert?" The answer? Of course! How else are you going to maintain a balanced diet without eating desert at every meal? C'mon, silly question.

T-mobile/Danger Gift

I awoke this morning to a terrific gift from T-mobile and Danger: my Sidekick was ready to receive an update.

After hitting accept a few times I now officially have OS 3.1. Whoo!

Now I just need to wait and see if this fixed my battery woes.

The sidekick OTA process is truly nothing short of amazing.

--Ben

Saturday, October 28, 2006

SMS Reminders

While writing up an upcoming class about Mobile Computing on the Cheap, I came across the oh, don't forget... service. Naturally, LifeHacker pointed me to it.

Oh, Don't forget... lets you create really simple SMS reminders, they be sent to remind of you something in two hours or two years (and in between).

As I've said before, I love mini utility sites just like this one.

Friday, October 27, 2006

The Whole Team

We got the whole team together to hang out. Lunch, pool and a discussion of CVS, what could be more fun?

Luckily, we all program better than we play pool.

--Ben

Update: Correction, it's not the whole team. Jade wasn't there. It was just most of the team. Jade was missed of course.

A Love Story

I don't usually post love stories on my blog...but hey, what the heck. I thought this one was cute enough to warrant it.

A Love Story from Turtle Life:

Reprinted here with the original formatting and creative grammar

He met her on a party. She was so outstanding,
many guys chasing after her,
while he so normal, nobody paid attention to him.
At the end of the party,
he invited her to have coffee with him,
she was surprised,
but due to being polite, she promised.
They sat in a nice coffee shop,
he was too nervous to say anything,
she felt uncomfortable, she thought, please, let me go home....
suddenly he asked the waiter.
"would you please give me some salt? I'd like to put it in my coffee."
Everybody stared at him, so strange!
His face turned red, but still, he put the salt in his coffee and drank it.
She asked him curiously;
why you have this hobby?
He replied:
"when I was a little boy, I was living near he sea,
I like playing in the sea, I could feel the taste of the sea,
just like the taste of the salty coffee.
Now every time I have the salty coffee,
I always think of my childhood, think of my hometown,
I miss my hometown so much,
I miss my parents who are still living there".
While saying that tears filled his eyes.
She was deeply touched.
That's his true feeling, from the bottom of his heart.
A man who can tell out his homesickness,
he must be a man who loves home, cares about home, has responsibility of home.
Then she also started to speak,
spoke about her faraway hometown, her childhood, her family.
That was a really nice talk, also a beautiful beginning of their story.
They continued to date.
She found that actually he was a man who meets all her demands;
he had tolerance, was kind hearted, warm, careful.
He was such a good person but she almost missed him!
Thanks to his salty coffee!
Then the story was just like every beautiful love story ,
the princess married to the prince, then they were living the happy life...
And, every time she made coffee for him,
she put some salt in the coffee e, as she knew that's the way he liked it.
After 40 years,
he passed away, left her a letter which said:
"My dearest, please forgive me, forgive my whole life lie.
This was the only lie I said to you---the salty coffee.
Remember the first time we dated?
I was so nervous at that time, actually I wanted some sugar, but I said salt.
It was hard for me to change so I just went ahead.
I never thought that could be the start of our communication!
I tried to tell you the truth many times in my life,
but I was too afraid to do that, as I have promised not to lie to you for anything..
Now I'm dying, I afraid of nothing so I tell you the truth:
I don't like the salty coffee, what a strange bad taste..
But I have had the salty coffee for my whole life!
Since I knew you, I never feel sorry for anything I do for you.
Having you with me is my biggest happiness for my whole life.
If I can live for the second time, still want to know you and have you for my whole life,
even though I have to drink the salty coffee again".
Her tears made the letter totally wet.
Someday,
someone asked her: what's the taste of salty coffee?
It's sweet. She replied.
...
Get this Story from my Frenz cum granddaughter >> Vio:)

Thursday, October 26, 2006

Something Fishy

I stumbled across this webcam view of an aquarium in Japan. It struck me as being impressive enough to share on the blog. All the fun of watching fish, none of the tank cleaning.

Perhaps this is just me processing the loss of Ali. We miss you big guy.

Anyone care to translate the source of this page?

Home Grown Tech Support

This how to from LifeHacker is just too cool not to pass along: Tech support with UltraVNC SingleClick . Basically, if you follow the instructions in the blog post, you'll be able to send an .exe to someone in need of tech support. They'll click on this .exe and will be connected to you over VNC, allowing you to see and manipulate their desktop.

The best part is that the .exe that's created is fairly idiot proof, so you don't need to instruct the person on how to tweak their firewall configuration or other tricky stuff like that.

I had a chance to try this out and it's really remarkable - it made the act of debugging a tricky browser problem (making a GET request with too long of a query string, love how IE just quietly doesn't make the request) much easier.

If you provide phone support to friends and family, you need to walk through this tutorial. It'll save much frustration

The Ben And Shira Trading Card


Ben And Shira on a Card
Originally uploaded by benjisimon.
Here's an example of our trading card.

Make one today by using fd's Flickr Toya.

Wednesday, October 25, 2006

A New Space

It's official, I now have a MySpace account.

I suppose the natural next step is to become totally obsessed with being online, lose my ability to socialize, focus only on trying to gain as many new friends as possible all while being stalked by some 55 year old sicko named funfun892.

Or, I could just have yet another place to stay connected with people, all while getting to exercise the amazing ability for the average Joe to be able to publish to an audiance of millions.

Whichever.

Development Pumpkin

This is the before picture of the pumpkin our team will be carving in the upcoming office carving contest.

Any suggestions for designs?

--Ben

Tuesday, October 24, 2006

Design Example: Resume Face Lift

While I don't think I'll need a resume redesign for quite some time, I have to say that this article on LifeClever is still worth a read. It takes you step by step from a plain old resume to something that looks really good.

From:

To:

All with step by step instructions included.

This is a great example of why design is so tricky - it's not just the big stuff that makes a difference, but the itty bitty details that all add up to something unique looking. Lets face it, design is hard.

They look just like me

I came across this site which does on the fly facial analysis. Cheesy to say the least. But still, I gave them a couple different photos and they pretty much always found the face and suggested some matches. In the end, the clearest photo I had of just myself didn't match much. But perhaps you'll have better luck?

I'm just excited to see the strong resemblance between myself and Joni Mitchell.

Monday, October 23, 2006

Sidekick 3: Poor battery life, but there's hope

People ask me how I like the new Sidekick. And I always end up giving them more of a response than they bargained for.

The shortest answer goes something like this: I love it, but the batterylife is awful and the camera is worse than the SK II! Because the battery life is so poor it's hard to recommend the phone to anyone.

As the attached screenshot shows - it's 6pm and after fairly light usage today, I've got two bars of battery left. On a really busy phone day I could be already out of juice.

But there's hope!

The hiptop.com formus are reporting the fact that Danger has released a patch for the SK III which appears to help with the battery life.

I haven't gotten the patch yet, so all I can do is blog about its existance.

Is it logical to assume a change in software could affect batter life so greatly? Sure, if the software triggers battery-intensive operations too frequently. Or it could be my wishful thinking.

If Danger does pull this off and fix a major issue with their phone via a push-over-the-air update it'll be another example of how the Sidekick is such a remarkable concept. You don't just get a phone, but a server-side presence that's always in communication and quite helpful.

I don't recall other phone vendors doing OTA's of firmware, but who knows, maybe they do.

Anyway, my plan is to hope for the update, and then post again after a typical light usage day.

Oh, and one more tip: to take a screenshot of the SK III's current screen hold down Menu-Shift-Camera_Button (the top right shoulder button).

--Ben

Sunday, October 22, 2006

House Debugging

Slowly, but surely we have noticed our water pressure in our primary shower decreasing. This is annoying, because we really liked the super-high-firehose-bruising-pressure it once had a reputation for.

And what did I do about it? Well, I said to myself, ya know, I should really call a plumber. And two, I should Google this.

The only problem was, I never did get around to calling a plumber. And I had no idea what to Google.

So I did nothing.

And then it hit me today - why don't I debug this problem like any other software issue? See, whenever I'm around home stuff I always forget that the debugging principles that I use daily still apply.

So what did I do? Well, I tried a variety of tests. I checked another showers in the house at the same time. Then I tried a different shower head. Just like in debugging software, these attempts may or may not fix the problem. But at least you learn another data point. And it's all about getting enough data so the problem becomes transparent.

In the end, the shower head swap seems to have worked. This annoying situation took 4 minutes to fix and cost us nothing.

So, the moral of the story: just because the subject area isn't one you are a master in, you can still THINK and TEST your way out of a problem.

I wonder how many more times I'll have to learn this lesson till it sticks?

--Ben

Back to the future: Questions for Biff

One of Shira's favorite movies (and one of mine too) is Back To the Future. Daily Nooz published this clip of the actor who played Biff answering questions about the movie:

Movies, they sure don't make 'em like they used to.

If A Woman Were President

Daily Nooz recorded one of David Letterman's top ten lists - If A Woman Were President. Including...

... 5. Terror Threat Level colors are plum, mauve, fuchsia, periwinkle and pink
Jim G., Manhattan, KS

4. Inaugural speech urging the nation to "moisturize"
Frankie C., Narberth, PA
...

Cute stuff.

What's Your E-mail Worth?

How about 10% off your purchase of Kasper suites?

Way to go Kasper - rather than trying to get your e-mail out of you for nothing, they take the opt in approach seriously. They offer you 10% off, and a promise of coupons in your e-mail in exchange for your participation in their online marketing program.

Yeah, you are adding yourself to mailing list, but doing it in a non-sleazy way.

Now, if they gauranteed they wouldn't spam me, I'd even be more impressed.

--Ben

Saturday, October 21, 2006

Definition: Case Quarter

Someone just asked me for a "case quarter" - I had no idea what she was talking about. So, to save others future emabrrassment, I'll present the definition here:

Case Quarter: 1 physical quarter, often exchanged for the equivalent value made up of other coins.

Sample usage: "do you have a case quarter for these two dimes and a nickel?"

You can thank me later for this handy phrase.

--Ben

Friday, October 20, 2006

Written Docs

Who says we don't believe in written specs here at work?

Why I just wrote one up for Kostyantyn! Of course, I did it in the kitchen, on a paper towel, but still it's something.

--Ben

Countdown Special Comment: Death of Habeas Corpus

Check out this video commentary about the Military Commissions Act. It's chilling stuff. It should be required watching for all US citizens.

Via: The Eck-A-Lectic Reading List.

Update: Whoa, is that a third video from YouTube?! I now see that Google definiately made a brilliant move acquiring them. They were clearly worth every penny.

Clever Video: A Photo A Day

Another YouTube find. Hmmm, maybe Google didn't make a 1.6 million dollar mistake by buying YouTube? After all, I've stumbled across two cool videos in two days. That's a heck of an ROI.

A Wiki Recommendation

No set of tips about choosing a Wiki would be complete without mentioning PBwiki.

PBWiki claims that you can setup a Wiki as fast as making a peanut butter sandwich. I'm pretty sure you can actually create one on PBWiki faster than making a sandwich, but I just might be slow in that department.

I really like PBWiki because they...

  • Offer a high quality, free service
  • They manage to stay in touch via with e-mail letting you know how their service is improving without bugging the heck out of you. In the past, they've gone so far as to include at the top of their e-mails a claim as to how long it will take for you to read the message (the last one I have says it will take 30 seconds to read).
  • They have a nice set of features (including uploading of conent, RSS feeds of pages, ability to get e-mail on changes, tags, and other goodies) and if all else fails, they allow you to drop in arbitrary HTML on your pages
  • They host over 100,000 wikis, so you know they aren't going anywhere

In general, if you need a quick website to exchange information, you should be checking out PBWiki.

Scantily Clad Objects

Recently, I've been pondering Naked Objects. Relax, it sounds a lot more exotic (and inappropriate) than it is. Naked Objects is a programming philosophy.

Once upon a time, we programmers used to hand generate our persistence layer. Then, someone had a brilliant idea - instead of maintaining domain models and a persistence layer, we should simply generate one from the other. That saves half our work. And that's what projects like hibernate are all about. You provide a well defined set of objects, and bam!, they create a persistence layer from that.

Naked Objects takes this notion in another direction. It suggests that rather than trying to keep your UI in sync with your domain model, you should simply generate the UI from a well defined set of models. For example, instead of having to create a User object and a RegistrationAction, why can't you simply have a generic method for creating User's and simply have that stand in the place of registration?

All these concepts are well explained in this set of articles about Naked Objects. The article even provides a concrete set of examples by comparing an auto generated app with that of an old fashion, hand crafted model.

I really like the Naked Objects approach because it's an attempt to have programmers write less code. That's a really good thing. The main challenge I see with Naked Objects is that the apps it creates are fairly standardized - they have to be, because if they were customized, then you'd be essentially creating the GUI that we are trying to so hard to avoid. Unfortunately, in the world of UIs, being able to have custom behavior is critical.

This means that at the end of the day, I don't think I'd feel comfortable delivering a Naked Objects app to an outside customer. I can just imagine their questions as to why the app looks and feels the way it does, and perhaps more importantly, why the programmers aren't excited about customizing it.

But, with that said, I still see a huge opportunity for the Naked Objects paradigm. That opportunity is in the creation of internal tools to work with a custom application. For example, you might build a fancy schmancy photo site using a typical four layer architecture, and then use Naked Objects to create the management tools. If you can produce the management tools quickly and with the required functionality, then you can be excused for not having the slickest of UIs.

So, what I'm suggesting we need are Scantily Clad Objects - objects that are nearly naked, and play well with their fully clothed brethren.

Hmmm, perhaps I pushed that analogy a little too far?

Thursday, October 19, 2006

Star Wars: Under the Tusken Sun

In the tradition of hilarious and clever Star Wars videos, I present to you: Under the Tusken Sun, The softer side of the sand people of Tatooine.

Wow, that's funny stuff.

Computer Advice - ITE 115 Style

Tonight in my ITE-115 class I had my students research various hardware topics and publish them on our class wiki.

Curious about how you can convince your parents to buy you a flat panel display? Check out question four. Want some suggestions for backing up your stuff? Check out question three.

They certainly gave it their all. Who knows, maybe they even learned something along the way.

Us in Slideshow Form

I saw a nift slideshow on this website and realized that I could make my own by visiting slide.com. So, I figured what the heck, and gave it a try. Naturally, I chose a topic near and dear to my heart to showcase - Us.

The process of using slide.com was totally painless. It turns out to be a really good example of well designed web application/service. No signup needed, just get to work creating your slideshow. It even includes instant feedback. (How many times did they ask for that in AdVariant? Stupid target selection always getting in the way.)

And I originally found the site because of an article over at Seth's blog.

Hmmm, with Shira out of town, can you see where my mind is?

Wednesday, October 18, 2006

MySpace First Impressions

Whenever I see articles like this one that talk about how yet more child predators were caught on MySpace, I just have to sigh. Yes, it's a good thing that bad guys got caught. And yes, it's cool that in a mere 1000 lines of code, it's possible to search through MySpace in a way that even MySpace claimed it couldn't do.

But, I just have to think of the parents who see this, and think, "Aha! I need to make sure my kid isn't on this cesspool of a website!" When in reality, MySpace is like any other technology, it can be used for good or evil. And plenty of kids are using it for good (or, well, at least not for evil).

Parents (and teachers, and other people who are convinced that MySpace is the devil), should check out a book like this one. It makes it clear - you can use MySpace in a positive way, and before you condem it, you should understand it. Or better yet, dont' just understand it, use it.

Why do I care about this? I just hate it when technology gets branded as evil. That's taking the easy way out. We've seen this type of argument play out with video games and other aspects of computers. C'mon, see the technology for what it is, and find a way to use it for good.

Microcredit - Simple, Small and Smart

If you haven't read up about the Nobel Peace Prize being issued to Muhammad Yunus for his work on microcredit, then you are really missing out.

The idea is simple - lend a tiny amount of money to someone in extreme poverty and have them start or grow their own business:

Loans as low as $9 have helped beggars start small businesses and poor women buy cellular phones and basket-weaving materials.
--Molly Moore

And the best part - these loans really work. The Wikipedia entry on microcredit mentions a project by ACCION International that switched from big infrastructure projects to a microcredit like program and had remarkable results:

Within four years, the experiment had shown its success in having provided 885 loans with a repayment rate of over 90%. The loans also helped to create or stabilize 1,386 new jobs. This success in making a lasting impact in peoples lives, as contrasted with the previous projects they had done seemingly steered ACCION firmly in the direction of being a microfinance organization.

It's really inspirational stuff. Of course, the idea isn't new - in the year 1200 Maimonides was advising people that the highest form of charity was in fact giving loans, entering in a partnernship or giving employment to the poor, so they can support themselves. This is advice that we still study and try to practice to this day.

But still, the devil is in the details and it appears as though Yunus has found a way to not only prove that microcredit can work, but also demonstrate that it can scale.

Monday, October 16, 2006

The trickier the problem....

The more colored pens you need.

Kelly demonstrates that no problem is so complex that it can't be solved with lots digging and lots of colors.

Me, I like my colors on a whiteboard. But I do like how portable Kelly's solution is.

--Ben

US Air Force Memorial


US Air Force Memorial
Originally uploaded by benjisimon.
Yet another shot of the US Air Force memorial.

This one at night, with a bit of dramatic lighting.

The Pike at Night


Columbia Pike at Night
Originally uploaded by benjisimon.
I grabbed this snapshot on a walk this evening.

I went the fancy route and used a real digital camera instead of my sidekick.

Bachelor For A Week

Shira is off for more travel. This leaves me to play the role of Single Guy.

Which mostly consists of late nights working, too much time spent blogging and a some of the most inventive meals ever (3 day old Thai left overs? Sounds like a balanced breakfast to me!).

Actually, this time apart is probably good for our marriage, it reminds how good I really have it.

--Ben

Friday, October 13, 2006

Winter Memories

Oct. 13 (Bloomberg) -- The Buffalo, New York, area was blanketed under a record-setting 2 feet of snow, knocking out power to more than a quarter-million residents and prompting local and state authorities to declare a state of emergency.

The snow tapered off by midmorning, leaving 75,000 people in the city of Buffalo without power, Mayor Byron Brown said in a televised news conference.
-- Bloomberg

I grew up in Rochester, and went to school in Buffalo. When I see mention of events like the one above it's hard not to get a bit nastalogic. There's nothing like getting 2 feet of snow while other parts of the country are having a sunny and 70 degree day.

Ahhh, the memories.

Not a good day to be a willow branch

Today is Hoshanah Rabbah - a semi-holiday marking the very last day you can appeal for a spot in the Book Of Life. This is the "book" that we say is closed and sealed on Yom Kippur night.

I love the concept of this second chance to try to make things right.

At this morning's service we did one of the more esotaric traditions in Judaism: we beat the leaves off of willow branches.

The leaves in this scenario, I believe, are the sins that we'd like to discard.

It always makes for an interesting time, and as the snapshot shows, makes a nice mess.

Nothing like getting in touch with your roots (sorry, couldn't resist)

--Ben

Thursday, October 12, 2006

Bested

For the last few weeks on Make, they have been showcasing various hacks for holloween. Many of them include creating little anamatronic people like thingys - you know, something that wiggles and squirms like a person, yet is really made of plastic tubing and some spare parts.

With this as my intelligence, I walked into Simon and Frankie's office. Interesting, there was this kiddie size ghost statue standing there. I walked up to it, and immediately thought about the Make hacks. I decided to peer under the sheet.

As I lifted it up, the little bugger chirped and made some random noises. Plastic tubing or not, I jumped in a moment of total fear.

It totally got me. Too bad for Simon as he missed the show, but lucky for Frankie she had a front row seat.

So, just look out plastic ghost kiddie, I'll so take out your batteries. Of course I have to work up the nerve to walk up to you again.

--Ben

Fun Kids Projects

Kids Projects?!
I saw these two blog posts and thought wow, what great kids projects. This is only a little strange because we don't have kids. But, on the other hand, you can't let little details like that stop you from blogging. I apologize in advance if these are indeed terrible kids projects - what do you want, I'm guessing here.

Project 1: Cardboard Models

Make Magazine had this interesting article on how to design a workshop by first desgining a paper model. It struck me that creating the paper model in and of itself seems like it would make a fun project for kids.

Consider that the entire model below was constructed using cardboard, toothpicks, hot glue and model paint.

What kid wouldn't want to play with hot glue? And using cardboard seems like it would make it easy to fashion items and then throw them away if it doesn't look good. Adding a bit of paint makes it all look remarkably realistic.

If you want to throw in a math lesson, you can make the model to scale.

Project 2: Make A Font Of Your Handwriting
LifeHacker had an extensive article on how to make a font from your handwriting. This isn't a quick project, but does seem like one that a kid would find cool. You follow a series of steps, to essentially draw out your own fonts (first on paper, then scan them into the computer). In fact, the grid that you construct almost looks like a writing exercise a kid would do anyway:

I think it would be cool to walk through this procedure, and have the young fontagrapher be able to compose notes and such in their own created font.

Like the model project above, this project is pretty much free, with the primary cost being time invested. But both projects end up with cool goodies at the end.

How to Taste Single Malt Scotch

OK, this one's for you Grandpa Irv. Here are complete instructions on how to taste a single malt scotch. I especially like the comment: "Repeat steps 5 through 8 until all of the whiskey is gone. Be sure to notice how the flavors and aromas change throughout your session.". I'll bet you notice a change in flavors.

Seriously, next time we break out a bottle of scotch, I'll have to give this whole watering-down thing a try.

Frankly, I'm looking for a way to use the phrase nose in conversation more often.

The Daily Show At Its Best

Whenever I convince Shira to watch the Daily Show the episode always turns out to be nothing special. Why can't I get her to tune into a clip like this one? If I did, I bet she'd watch a whole lot more often.

Via: BoingBoing

Wednesday, October 11, 2006

Coderless Apps? Don't think so.

I'm a really big fan of most things Guy Kawasaki has to say, and he obviously way more business savvy than I am. But I have to say, I think the latest idea that he's advising (and pushing?) of Coderless Web Applications is a zero.

OK, I'm probably being a bit harsh, but I just don't think Coghead is going to:

.. Completely upend the balance of power in the software game -- putting users, and not coders, in ascendancy

Yeah, right. (As a coder, I have the balance of power? Why didn't anyone tell me this? I'm so always the last person to learn these things.)

I've tried to read up on Coghead's website to see if I just don't get it yet. But everything I read points me to the same conclusion - it's all just a load of Silicon Valley hype.

OK, before I get ahead of myself, what is Coghead? Essentially, Coghead is an environment where you can click and drag your way to the construction of a web application. This sounds great, and the pretty screenshots seem to back this up. Add to this the fact that you have people like Steve Bourne (the inventor of /bin/sh!) as advisors, and it seems like they can't lose.

OK, lets assume that they have removed coding from the development of software. That's great, but here's the thing, the hard part of developing software isn't the coding. It's the thinking.

I've now taught a couple of different classes relating to computers and programming, and I've been just blown away at how the typical way a developer breaks down problems and manages complexity on a daily basis, are not obvious to most people (college level students). I've asked my advanced web design students to work on a simple problem, say the generation of a random welcome message, and I'm greeted with blank stares. Not stares of how to construct the javascript just right, but in how to get started.

Specifically, they don't get how to decompose and attack the problem. It doesn't occur to them that they need to simply the problem to: (a) find a way to generate any greeting, (b) find a way to generate a random number, (c) create a collection of random sayings, (d) combine (a) - (c) to solve the problem.

And that's what us programmers do on a daily basis. We are professional problem solvers. Give us a word problem, and we'll break it up into little bits and find a way to solve it. As I found out in the classroom, this is a learned skill, and not just common sense. Add to that the fact that debugging itself is a skill that needs to be learned and mastered, and you realize that if you could create an application without writing a line of code, getting it to work correctly would be remarkably tricky.

The buzz for this company seems to be built around the fact that they solved one problem (how to create an app without writing a line of code) and are ignoring the bigger one (thinking through the details of how exactly you create the application).

Does that mean that there's no place for Coghead in the marketplace? Of course not, it's just that I don't see as one of the 11 companies that could change the world.

My guess is that you'll have users who will embrace Coghead. However, the ones that do will no doubt start their way the software development food chain. First Coghead, then VB, then PHP, then JSP, then J2EE and finally to Scheme.

Good luck Guy, I hope I'm wrong. Of course if I am wrong, then I could be out of a job. But I'm prepared to take my chances.

Tips for Creating Better PowerPoint Presentations

LifeHacker pointed me to this fairly basic article on how to create better PowerPoint presentations.

None of it's rocket science, but still, there are some good ideas.

Two of them that caught my eye were useful for when you send a presentation to someone else via e-mail:

  • Consider saving the file as a PowerPoint Show (.pps) or using the Package for CD feature for files so that the recipient won't have any issues with opening the slide show.
  • Consider using the voice notes/narration so that you can send clean slides to someone, yet still provide additional details

The narration is a good idea, if only because I've never seen it done. My guess is that someone recieving a voice annotated PowerPoint presentation entry would be so impressed with the technique, they could care less what the presentation said (hmmm, is that good thing? Maybe not.)

Hey, I could do the same thing with blog posts - put up a really skimpy entry, and then add audio to annotate it. Wait, we have that, it's cause podcasting. Though maybe audio anotations would be a slightly different take on that approach. A kind of read some text, look at some photos, and listen to learn more.

More Color Palette Generators

Here's another take on how to generate a color palette. We've covered this topic before, but this one is pretty neat.

You drop in a photo and it tells you what color palette would go well with it.

Here's what it recommended for a photo of us:

dull
               #334444
        #997755
  #cc9977
  #ccbbbb
  #667788
vibrant
               #000000
  #bb6644
  #ffaa66
  #ffffee
  #557799

Tuesday, October 10, 2006

Review: Tapeo, Pentagon Row

Shira and I have never been big fans of tapas. We had a single experience at a tapas bar (that's tapas, not topless, I know, I was dissapointed too) that left us kinda blah. It all just seemed like tiny, overpriced portions of nothing special food.

But, tonight we made good strides towards changing that perception.

We finally decided to try Tapeo at Pentagon Row, and were pleasently surprised. First, there were plenty of vegetarian dishes to choose from, so that got things off to a good start.

We ordered four small dishes between us and left more or less full, and the prices were quite reasonable.

Of course the important part was the food - which was good. It was fairly familiar (unlike say Indian food which tastes great, but I can't map it to anything I typically eat), but was also unique. One dish I would have expected to be served hot, was served cold. And another came in a bright orange sauce that that was quite good.

I'd recommend Tapeo, and give them an 8.23 / 10 for good service, food and for redeeming tapas in two non-tapas eaters.

--Ben

Blogger and The Script Tag

By default, the blogger editor complains when you attempt to save a post with the <script> tag embedded inside of it. But as the content below shows, if you simply ignore the warning, it will indeed work just fine.

Even

As an aside: gosh I love Prototype. The above was written as:

<script>
 var words = ["using", "a", "src", "attribute", "on", "the", "script", "works." ];
 words.each(function(w) { document.writeln(w +  " "); });
</script>

You just have to love the use of anonymous functions and Lisp map like functionality. Sorry, couldn't resist.

Thanks to Digital Inspiration for the script tip.

Monday, October 09, 2006

More Air Force Memorial

We walked by the air force memorial tonight, and I couldn't resist taking another shot of it.

It looks really good in the twilight. Of course the plain baige row of buildings next to it, doesn't help much. But oh well.

--Ben

One Job I won't Ever Have

Here's a job I won't ever have: first I don't do heights (my palms start to sweat at the talk of rollercoasters), second, I don't do Windows (unless I have to, in which case I make heavy use of Cygwin).

I can imagine, if Jeff G. were doing this job he'd insist on going Australian style down the building (that's face first, instead of backside first).

Still, to have a job that you didn't have to take home with you, and that got you out on a sunny day - it doesn't seem so bad.

--Ben

Friday, October 06, 2006

Chag Sameach!

In about 15 minutes the holiday of Sukkot will begin. This holiday involves all sorts of goodies, from eating (and living!) in a sukkah to shaking the Luluv and Etrog.

And now, a video from YouTube to get you in the shaking mood:

The Multi Tasking Myth

As a manager of IT based work, I would say that one of the top 5 things you need to understand is the The Multi-Tasking Myth. Check out this picture:

Scary isn't it? It means that the simple act of switching between projects costs you - big time. Now, why should a manager really care? He or She should care because it means that the decisions they make have consequences. If you ask someone to work on A, then switch them over to B, then back to A, you are paying a big price.

Does that mean that you should never change course and have your team members drop what they are working on? Of course not. But it does mean that a big part of your job should be figuring out how you can avoid doing this.

Lots of people way smarter than me have a lot to say on this, so do read up on it.

Soduko With Your Pictures

Why play boring old Number Sudoku when you can play exciting and fun Tonya And Mark's Wedding Edition Sudoku ®?

Actually, using this Make provided hack you can create a Sudoku board from any set of Flickr images. Just provide the script with a photo tag, and you it does the rest.

Where do people find the time to put this stuff together? I barely have the time to blog it, much less create this kind of stuff myself!

Google Widgets - For Any Webpage

Good news, according to Micro Persuasion, you can now add Google Widgets to any web page.

Google makes it as easy as browsing widgets, then picking one and finally, cutting and pasting some code, like:

<script src="http://gmodules.com/ig/ifr?url=http://www.google.com/ig/modules/»
  » driving_directions.xml&synd=open&w=320&h=91&title=Driving+Directions& »
  » border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"
></script>

The hardest part becomes choosing from the thousands of available widgets.

Thursday, October 05, 2006

Audioblogger Is Going Away

How sad is it, that I feel bad that Audioblogger is going away, and yet I never used it. Not once.

I had plans to play around with blogging via voice, but just never got around to it.

Oh well, at least Audioblogger points people to Gabcast another free audio blogging site.

Hopefully I'll get to experiment with this one before it too goes away.

Wednesday, October 04, 2006

Netcat: More Hacks

Dave saw my netcat example and was kind enough to resend to me some examples of netcat that I had provided to him and others in a past life.

The more complete example is axissniff - a script I wrote to allow me to sniff SOAP traffic between an ActionScript client and a Java server. This is a great example of using netcat, because it demonstrates how a little bit of script hacking can making up for seriously missing debugging tools.

Axissniff is also cool because it shows a neat shell script hack. Mainly, the axissniff script actually generates a shell script in /tmp/ and then runs it.

Here are a bunch of small hacks (again, most from the README). Thanks Dave for holding onto this!

netcat tricks
-------------

nc -- netcat opens up a network connection and allows you to write
across it.

Very, very simple tool.

,----
| nc -h
| [v1.10]
| connect to somewhere:   nc [-options] hostname port[s] [ports] ...
| listen for inbound:     nc -l -p port [-options] [hostname] [port]
| options:
|         -e prog                 program to exec after connect
|         [dangerous!!]
|         -g gateway              source-routing hop point[s], up to 8
|         -G num                  source-routing pointer: 4, 8, 12, ...
|         -h                      this cruft
|         -i secs                 delay interval for lines sent, ports
|         scanned
|         -l                      listen mode, for inbound connects
|         -n                      numeric-only IP addresses, no DNS
|         -o file                 hex dump of traffic
|         -p port                 local port number
|         -r                      randomize local and remote ports
|         -s addr                 local source address
|         -t                      answer TELNET negotiation
|         -u                      UDP mode
|         -v                      verbose [use twice to be more verbose]
|         -w secs                 timeout for connects and final net reads
|         -z                      zero-I/O mode [used for scanning]
`----




copy files
----------
  host: machine1.myhost.com
  nc -l -p 9000

  host: machine2.myhost.com
  cat foo | nc machine1.myhost.com 9000

copy tree of files
------------------
  host: machine1
  nc -l -p 9000 | tar xvf -

  host: machine2
  tar cvf - tmp | nc -w 3 machine1 9000

check for open port
-------------------
  nc -vv -z server1.myhost.com 80

do port scanning
----------------
  nc -v -w 2 -z server1.myhost.com 70-100

get a web page
--------------
  nc www.yahoo.com 80
  GET / HTTP/1.0

simple web service
------------------
  host: machine1.myhost.com
  while true
  do
    nc -l -p 9000 -e /usr/bin/uptime
  done

  host: machine2.myhost.com
  nc machine1.myhost.com 9000

telnet to a machine
-------------------
  nc -t hostname.dyndns.org 23

swamp the network
-----------------
 host: machine1
 yes AAAAAAAAAAAAAAAAAAAAAA | nc -v -v -l -p 2222 > /dev/null

 host: machine2
 yes BBBBBBBBBBBBBBBBBBBBBB | nc machine1 2222 > /dev/null

Code

Tonight I wanted to teach my class how computers work with only 1's and 0's yet manage to represent arbitrary values (like, say, the text of Shakespear).

We did this by having them encode and decode messages in morse code, braile and semaphore flags.

I knew my boy scout experience (where else does a kid learn semaphore?) would come in handy for explaining computers one day.

I'm not sure they learned anything about computers, but at least fun was had.

--Ben

The Other Kind Of Projector

We are having an offsite meeting, and someone with a bit of forthought called ahead and asked for a projector in the room.

And thar's exactly what we got - a projector. Of course it is designed to project overheads, and not a laptop, but that's a minor detail.

Memories of high school math and Mrs. Buck came streaming back to me.

--Ben

Netcat use: rwebtool

Alex asked if I had any examples of my netcat hacks lying around. Unfortunately, I don't really have much in the way of working examples to post (though, trust me, at one point or another, I did do all those hacks).

The README file that comes with netcat contains a bunch of the examples I talked about, or inspiration to create them. So I would start there.

One script that I have made quite heavy use of, and that is built around netcat, is rwebtool. Rwebtool is a command line utility I worked up to generate hand crafted HTTP requests (it's a Raw Web Tool). Over the years I've enhanced it a bit, so it appears to have quite a few features. But don't let that throw you - at its heart it is still just netcat and some basic shell scripting. Here are some features it includes:

  • Ability to HTTP GET, POST, PUT and DELETE
  • Ability to fake a User-Agent
  • Ability to simulate cached requests with a specified Last-Modified-Since
  • Ability to log the entire conversation in a binary safe format
  • Ability to set arbitrary cookies
  • Ability to provide a username/password and do basic authentication
  • Ability to see just the body, or just the headers of an HTTP response

Using rwebtool I've done everything from crafted quick server heartbeat scripts, to debug the HTTP 302 redirects of a broken server, and lots more inbetween.

Tuesday, October 03, 2006

Geek Tools: netcat

LifeHacker: Roll Your Own Servers

One of my all time favorite Unix tools is netcat. This tiny command allows you to work incredible network magic.

Some of my favorite hacks include:

- Rigging up a proxy server to record and debug JDBC traffic

- Turn any Unix command into one that can be monitored by a browser by creating a tiny webserver around it

- Create a local Scheme/Beanshell REPL by talking to a remote port embedded in a sevlet instance

- Roll a tiny webclient that allows for arbitrary HTTP requests and shows the entire response (with headers)

- Mix netcat with tar to create an effective remote backup solution for a dead box that can only be booted with a floppy disk distro

- Check on a mail server's configuration by forging test messages and seeing interactivly the results of sending them

- Check for open ports a firewall when no other tools to do so are available

- Simulate heavy load on your network to see if routing issues and packet collisions are a problem

- Create a command line HTTP PUT utility

And probably many more.

All of the above hacks were done with netcat and other standard shell utilities.

While the above link appears to give a comprensive tutorial for netcat, you really should read the README that comes with the Unix distribution. It's part instruction and part inspiration and makes for some of the best reading software documentation ever.

Oh, and it's worth mentioning that Windows folks aren't left out. There's a Windows version of netcat which has also saved my butt a few times. I have it on my thumbdrive as one of my top three utilities I always carry with me.

--Ben

Coming Together

I just walked by the new US Air Force Memorial - it is really coming together. Not sure about its exact opening date, but it seems like "soon" would be reasonable.

From what I can tell, they did a really good job.

--Ben