Archive for the ‘inspiration’ Category

Skinned Programming Paradigms

Monday, October 19th, 2009

Here’s a free thought for you.

How much of people choice in programming languages is really syntax dependent?

For example, I dislike Java (I hate it for other reasons) simply because of the verbosity of ‘System.out.println’ and don’t really understand why Scala would chose ‘println’ instead of Python’s terse use of ‘print’.

And I’m pretty sure despite overt rationalizations like ’saving myself keystrokes’ that’s just a petty reason.

However, what I learned in compiler construction is that the parser or tokenizer is really separate from the language itself.

So, for example, there’s no reason there couldn’t be a plugin for Java that allowed me to write with python’s syntax, or vice versa. Such a technique might require a little bit of library support, but I suspect adding pythons ‘map()’ even to C/C++ would be fairly trivial.

We should be able to ’skin’ our languages with our syntax of choice regardless of the underlying compiler, JVM or bytecode.

If this were possible, then ‘language wars’ could be less about syntax and interface (a la emacs vs. vi) and more about the underlying value of the language itself.

If we can theme operating systems and user interfaces, then why not programming languages?

Build your own ioGun!

Friday, January 16th, 2009

I apologize for what will effectively be a brain dump post, but a new friend of mine from the hackaday forums is getting started on his own accelerometer controlled system and I wanted to see if I could save him some time and frustration.

I think standing on the shoulders of Giants is a fantastic aspect of human nature, now if only someone could show me to some friendly Cyclopi (is that really the right pluralization?), and frankly I could not exist, let along thrive in the technological world if it were for the good graces of a great many people.

Perhaps I will write a _very long_ blog thank-you to them (if I can remember them all). So consider this my little chance at saving some of you a few hours of your precious time (and brain strain). Because of the very nature of hacking (i.e. everything’s just a little different and throw together) this can’t quite be the same quality as an instructable but it should get some of you started!

I’ve put up my code here so that’s quite obviously the place to start. You’ll find a python script and an HTML page. The script connects to the MoteDaemon port I referenced earlier and will write these data points out to a JSON file which can be served via your webserver, and is then picked up by the HTML page.

If you look through the code you’ll see there’s clearly some tuning that can be done. As people on many forums pointed out there’s a “lag” which is really just because of my polling rates (and less to do with the network traffic).

Two important things here, first you’ll see that I created a separate thread for the monitoring and one for the output, that’s because the wiimote data is fast and furious and you don’t want to block and miss any!

Second, I know writing to an JSON file isn’t ideal so the output part actually buffers 10 events and writes those, luckily jQuery is smart enough to only pull the file if it’s changed so it’s not as bad as it sounds.

Once you’ve got the accelerometer data into python (and then into JSON) it’s ‘just’ a matter of writing the webpage you want! jQuery makes some stuff really easy so I suggest giving it a look if you haven’t yet!

Of course what makes it really easy for me was the ioBridge module. I just plugged in a servo there and defined a widget on their page and ‘viola I had a webservice I could send commands to!

I hope that helps give some of you (or at least one of you) a boost, and if I can help out at all please let me know!

What do I win… ?

Thursday, September 25th, 2008

I have a confession to make which probably won’t surprise many of you, least of all my wife. I hope it’s a minor flaw that doesn’t make me too intolerable but the fact is: I like to be right.

I don’t believe I’m the “In your face – *boo yah* Where’s my $20?” kinda right. I prefer to consider it as a paternal smugness, quiet calmness with a wry, knowing “Well, I’m sure you had to figure that out on your own but I just wish I could have made things easier for you” kind of smile.

So I don’t normally go out of my way to toot my own horn but I wanted to take exception because I think it will illustrate a lot about me… and trust me I’m wrong a fair amount of the time too.

There are great debates about “Generalists vs. Specialists” and “Consumers vs. Producers” and I’m sure a ton of other “Mavens, Connectors, etc…” generalizations from Freakenomics.

Honestly, I’m not sure which of any of those labels I truly am. On a Meyers Briggs test I’m a bit of everything and I sort of think of myself as a guy who could step into many situations and make do, which probably means a “Consuming Generalist Connector” if one had to pick.

To me it’s reminiscent of that TV show “The Pretender”, minus the genious IQ. I make no illusions that I’d be an adequate Dr. or working at the LHC, but I’ve done marketing, management, business, technology and lots of variations in between.

Most of my friends know that I parse a lot of data, it “feeds my need” and making the connections and tracking the patterns is something I find fulfilling. Recently, someone told me I have a great mind for strategy and I glossed over the compliment but in this most recent context it was interesting to reevaluate that statement.

So what was it? What did I do? Simply put, I did what I enjoy doing; I read and observed and let intuition guide.

I won’t bore you with a soliloquy about the merits of on demand fabrication and the future, but if you’ve followed any of it you’ve heard about Ponoko, BigBlueSaw and Shapeways.

Recently Ponoko announced an upcoming feature release, something to make digital design and fabrication easier and more approachable then invited people to guess. So I guessed, not having “the answer” in mind till I started writing my comment but when I wrote I had that sense of knowing I was right.

It wasn’t like competing for a Nobel Prize, there were probably only about 75 other posters but the only other person who mentioned something similar was the one immediately following mine. And now it’s real and people are excited about it.

Me, I think it’s a great concept and I’m excited too, but I must admit; I’m also excited about being right.

So Ponoko, where’s my prize?

Educate yourself and while you’re at it, others too

Wednesday, July 16th, 2008

As I wrote yesterday I love TED Talks… oh yea and I did also mention a growing sense of disenfranchisement.

I try not to take the information I gather for granted, and one of the joys I experience is in sharing with others. Of course, I am aware that sometimes it can be overwhelming and I try to limit the deluge. I feel I can filter for friends because I know them so well and I hope that they realize that often, I simply want them to know something “exists” even if they don’t need to know “about” it in depth. That is to say; sometimes reading headlines is enough.

I don’t I believe I’m the single source of information, nor would I really want that for people. The second greatest joy is when people in turn filter for me. It represents both a dialog as well as a foil to view other people’s perceptions. I also hold as fact that anyone worth knowing doesn’t leave their education in the hands of others.

People with a natural curiosity and the intellect to satiate that appetite are an amazing combination. So go forth and learn, but for a moment allow me to direct your attention.

TED recently released their Top 10 TED Talks although I would have probably chosen a different segment, I assume people will check out the list in their leisure time, but I realize not everyone has the same time frames that I do.

There’s one video which combines the flavor of yesterday’s commentary with the sense of “information obligation” (both to search and to share) that I hope each of you embodies.

In Do schools today kill creativity?Ken Robinson presents wonderfully and suggests that the education principals of today won’t serve the needs of the future.

Arguing over the word “killing” can result in semantic discussions of “intent” and many negative connotations so I think it’s important to suggest a premise that the creative needs of society change over time.

So whether malicious or not, in business and society, implications are that we can not rely on the exact same set of traits over time.

There are still some whether; ethics & integrity, curiosity & problem solving, which are “oldies but goodies” and are foundational, but in today’s age, you must commit to learn and practice your skills new and old with the help of other individuals, for none can do it all alone.

You must be 38 or younger to view this post

Tuesday, June 24th, 2008

Working at a large technology company I’m familiar with the “graying” of IT. While often public perspective on “technology” is skewed by the Kevin Rose’s of the world in enterprise situations it’s often much different.

It’s not uncommon to start a job as the only “new hire” around, surrounded by people who’ve been working in their respective fields for 20-30 years. It’s an intimidating position to be in, necessitating a certain type of individual, and I’ve seen many people make that transition (or transition out).

I’ve heard that you can live a thousand lifetimes through books, but I’ve lived at least that many years through the stories of my colleagues. My first officemate could disassemble HEX in his head faster then I could look up mnemonics and I’ve learned about life, as well as IT, from him and many since.

The phrase “There’s a lot of history here” has a particular place in my field and those who don’t learn from the history of others are doomed to repeat it.

However, I have felt at times that the “oldsters” could afford to let some of us “young’ens” have a chance. I don’t mean to imply they should “step aside”, simply provide better opportunities for “us” to learn and try. Learning involves making mistakes but often there’s not enough of a “penalty free” environment in day to day office politics. Slate has a business perspective on this situation though their view of age-ism is the inverse of mine.

I sometimes worry we’re creating a void, where those “too young” won’t be qualified (i.e. have the same opportunities and experience of their predecessors) to take over from those who will be retired in 5-10 years. I think the rise of the “still going” businessperson is probably one of the factors driving the shifts in innovation and entrepreneurship we’re seeing today.

A few weeks ago, during dinner, I expressed this feeling to a colleague who’s been in the business a long time, predominantly on the sales side. What I got was one of those tidbits of history and insight that makes me appreciate the wisdom of the years. He looked at me and in effect said “you’ll be fine” but what convinced me the most was what he said next;

We’ve had some rough years and back when it got really rough and all the talent had left, they threw us green guys out in the field. And you know what? You learn, you learn real fast.

Sink or swim, trial by fire… sometimes I wish life didn’t have to be so binary, but the reminder that no true opportunity can every really be cushioned is priceless.

My how long it’s been…

Friday, May 30th, 2008

6 weeks! Wow, yes it’s really been that long since I started reading Programming Collective Intelligence and last posted here.

A lot has happened during that time, my wife got a new job and because of that we moved. We’re both happy about the chance to “evolve” and I think it’s going to enable a lot of opportunities. But clearly there’s been many things going on as a result. I’ve been lucky in being able to continue in my current job and am “just” transitioning to a remote employee working full time out of a home office.

I really like having a traditional office with people to “work with” (whether it’s directly or indirectly) but I’m actually enjoying the work at home (WAH) aspect too. Long term I want to manage IT professionals and I believe that will inherently entail remote employees, so I think the chance to be one for a while will garner me a lot of experience and understanding.

I’m also excited about being nearby some fantastic friends, whom I’ve known for a very long time, although it means “trading” the fantastic “local” friends. I don’t ever believe you have to “play favorites” with friends, I’ve certainly got enough love to go around, and it’s exciting to be “forced” to use social technologies to keep up with the ones I’m leaving behind and also to also use those tools in my new location as well.

This should also signal a return to “projecting” for me, which is another event I’m particularly excited about. It’s not all roses though, I can’t remember the PW on my wireless router, my office is still a mess with boxes everywhere and my home server was DoA.So it’s going to mean a technology upgrade (and I need to buy my wife a new computer too) and a lot of threads to tidy up but in the end I really feel positive about the shift.

Hopefully you’ve not all forgotten about me and you’ll forgive my absence. I hope I perhaps just sat idle in your RSS feeds and you didn’t feel the need to purge me because of the silence.

j

Even an Apple goes bad now and then…

Wednesday, February 27th, 2008

I seem to be having a confluence of technology issues recently.

Dreamhost, which I’ve loved until now can’t seem to follow through on a simple request (so that I can pay them!!!). And that 1TB drive I “gave” myself for Christmas has failed and the manufacturer hasn’t returned my service call.

To top if off, last night I managed to “break” my iPhone. It’s not physical damage, but now I’m unable to “take” a picture, something I enjoy doing so I can post them to various places.

Things seem to work ok from the shutter closing, but when I go into the camera roll to look at the saved photos, there’s now an empty thumbnail. Selecting the thumbnail causes the photo roll to crash.

I believe the mistake was in using Microsoft XP’s “camera services” to delete the 330+ photos I had saved, obviously not something I’d do by hand. Every time my wife and I sync our phones I have windows configured to copy off the pictures, but this time I’m sure Windows in all it’s glory decided to set a bit somewhere the iPhone doesn’t expecting.

A firmware upgrade to 1.1.4 didn’t fix, and when I went to restore I got an error even then; 1602. Apparently that means I’m supposed to completely remove iTunes and Quicktime from my wife’s computer and reinstall everything.

I’m can’t even able to get an image upload working to show you the error message ….

It’s rough, but manageable. It just means time working through various support queues.

The important realization is that everyone and everything disappoints in some way… this is life after all. We’re usually lucky in that failures are rarely life threatening or permanent.

Avoiding the potential for failure is in and of itself a disappointment, for without the effort I wouldn’t have joy of toys that are cool when they work. If you take them in stride and carry past the implications, anything is surmountable.

So soldier on… but be careful

iPhone’s Safari – not for geeks

Sunday, February 3rd, 2008

I was watching a presentation on my iPhone on implementation of MapReduce for multi-core and multi-processor systems…

You can find out more about it at the project’s website.

Before you go.. note the “~christos” part of the URL. In UNIX-speak it means “the home directory of the user christos”. That little “squiggle” is called a tilde and is a common syntax, especially for geeks.

However, the iPhone’s keypad lacks a ‘~’ character!

Rather then enter a relatively short URL, I had to use some searching on Google to get me there. Not exactly the user experience I think Apple would strive for.

Quick Inspiration for Apple

Thursday, December 20th, 2007

Just a quick post before the holidays, I’ll be traveling quite a bit so we’ll see how everything holds up.

While planning out this trip, I was thinking about making a “My Maps” Google map. I tried this technique while I was in Philadelphia but unfortunately it wasn’t successful.

While the iPhone’s built in map application is awesome it doesn’t allow you to do the “My Maps” things like add your own markers. At the time I thought “no big deal” and fired up the embedded Safari. When the interface didn’t do what I wanted, I eventually made the map on a PC and then browsed to that map on my iPhone.

The ultimate problem is that the iPhone won’t let you scroll the google map. Because of the multi-touch interface of the iPhone, whenever you make a “mouse flick” it tries to scroll the page in the viewport window, not pass that motion down to Google Maps.

This actually happens in a few other web applications as well, but Google maps is the biggest place where I suffer. I came up with a simple fix last night which would add an approprite key combination to let you do this.

I recently stumbled across “Petitinvention” and have been jealous of Mac Funamizu’s ability to articulate ideas in such a visually simplistic and artful manner.

Subconsciously I must have been influenced by his resent “iPhone & iPod Touch’s instant access button (you can allocate functions)” concept and it peculated through my brain to last night.

My belief is that the default behavior of the iPhone should stay just as it is. However a useful addition would be that if you hold down the “home” button while making a mouse “flick” the iPhone should pass that motion down to the web application instead of interpreting it for itself.

Hopefully that made sense, otherwise Funamizu-san will have to give me a lot of graphics lessons.

Happy Holidays to you all!

Why am I Scared Sh*tless

Friday, December 14th, 2007

I haven’t yet “made it out” whether that’s working for new man or on my own, but I have a few friends who have managed to make that type of transition, *hi guys*. In fact I have a friend that works in Dakar who’s literally had to pack a bullet proof vest for one of her “business trips”.

People probably wouldn’t identify me as hesitant, and I don’t think of myself as such. I went to school a 6 hr drive from my home and never went home for summers. My first “real job” was 8 hrs away from both home and school, and the next one was 12 hrs distant.

Friends as a critical part of who I am, but I managed to become a pretty independent person.

So why have I been hesitant to start my own business?

“If you think you’re afraid your business will fail, you’re not. You might be afraid of poverty, of humiliation, of never finding happiness, but you’re not afraid your business will fail. Figure out what the problem really is and stop pretending the Big White Elephant of Fear hasn’t taken up residence in the corner of your home office.”

It’s a great insight written quite some time ago Naomi over at ittybiz in her article Entrepreneurship: What To Do When You’re Scared Sh*tless.

I’ve had this link laying around in my head for a while now, not because I was scared to post it but because I wasn’t sure what “action” I can take from the lesson.

Lastnight, as I was playing around with this blog, making backups, tweaking stuff and somehow messing it up. I went to make an edit and had “page not found”, I went to the admin page and it wasn’t found either.

For about 6 minutes I experienced a pretty significant moment of panic, while this is by no means a business I realized then that I had something I cared about and was afraid would fail.

Obviously I recovered, at least I hope I’m not hallucinating, and despite this fear of failing I know my writing here is something worth pushing.

So it’s not just in business that we can fear and Naomi has other good examples. It’s probably also rare to have “one fear at a time”. There’s likely a list of things you dislike doing or are afraid you’ll mess up. However, go embrace them! For people who are passionate about success for themselves the biggest mistake is in not trying!

If you don’t have any fears go find some, or let me know and you can solve some of mine!