Category Archives: software

art education music robotics software Tinfoil Hat war

Go Go Gadget Quadrotor

Share

From YouTube: Flying robot quadrotors perform the James Bond Theme by playing various instruments including the keyboard, drums and maracas, a cymbal, and the debut of an adapted guitar built from a couch frame. The quadrotors play this “couch guitar” by flying over guitar strings stretched across a couch frame; plucking the strings with a stiff wire attached to the base of the quadrotor. A special microphone attached to the frame records the notes made by the “couch guitar”.

These flying quadrotors are completely autonomous, meaning humans are not controlling them; rather they are controlled by a computer programed with instructions to play the instruments.

Penn’s School of Engineering and Applied Science is home to some of the most innovative robotics research on the planet, much of it coming out of the General Robotics, Automation, Sensing and Perception (GRASP) Lab.

This video premiered at the TED2012 Conference in Long Beach, California on February 29, 2012. Deputy Dean for Education and GRASP lab member Vijay Kumar presented some of this groundbreaking work at the TED2012 conference, an international gathering of people and ideas from technology, entertainment, and design.

The engineers from Penn, Daniel Mellinger and Alex Kushleyev, have formed a company called KMel Robotics that will design and market these quadrotors.

More information: http://www.upenn.edu/spotlights/penn-quadrotors-ted

Video Produced and Directed by Kurtis Sensenig
Quadrotors and Instruments by Daniel Mellinger, Alex Kushleyev and Vijay Kumar

See also: OK Go – Needing/Getting

Share
software

Tynt.com to add link to selected text

Share

As an activist and content provider, I’ve copy / pasted countless articles from websites during the past decade to my websites, Yahoo Groups, MySpace, Facebook, post comments, etc. In most every instance, I’ve needed to include a link / URL back to the original article. This has usually meant manually selecting the URL from the browser’s address bar after pasting the text. But recently, I started noticing some websites automatically add the URL to the text selection and so I sought out how to do it.

I eventually found Tynt.com, an upstart company, offering their services for free that not only include the JavaScript snippet to include, but also provide statistics for the page hits. As I just set up my account, my statistics won’t be available for a number of hours, but I’m sure any analytics Tynt.com can provide will be beneficial to knowing how my content is being used.

The JavaScript snippet Tynt.com provides for adding a URL link to the copied text assumes there’s a master template to be used for all of the web pages. Luckily, when I first created my main website I created a header.js file my essays load to render features common to all pages. So after updating the file and clearing my browser cache, the Tynt.com Test feature indicated I was good to go.

But then I had my WordPress blog to consider. Luckily a few plugins for Tynt.com have already been written so I went with “Tynt.com For WordPress” that seemed the most full featured, and after duplicating my settings from the Tynt.com offical site to include the id-key I needed to extract from the code snippet, again, the Tynt.com Test feature indicated everything was working fine. It even worked for pages in one of my subdomains.

I have encountered a glitch in the Tynt.com code, though, for which I’ve sent them notice. I have an ebook that uses #name links to quickly jump to that chapter. Tynt.com adds a #id analytic tag to the end of the URL which apparently renders both # tags useless. Hopefully Tynt.com finds a workaround for this conflict, even if it means convincing browser developers to be smarter about them too… as they eventually did for [ target="_BLANK" ] anchor tags to open a new tab rather than new browser instance.

So now that my essays and blog are set up to include not only a link back to the original article as well as include one to my http://facebook.com/SkewsMeScience page when someone shares my material, I’m waiting in anticipation to see just what *is* getting shared.

Share
education memory software time

Don’t know how to date?

Share

It’s troublesome that so many people don’t know how to date, and by date I mean keep track of the time.

Take the 24 hour clock, for example. If someone told you to meet them at nineteen hundred thirty hours would you know what they meant? Maybe if it was formatted as 19:30 it’d be more easily understood? Like a musical score, I can decipher the meaning, but I haven’t immersed myself enough in that world to fluently read it as second nature.

Then there are the months to contend with. I never memorized how many days each had, and it was only in recent years that I learned a trick to calculating them involving counting on and between the knuckles of the hand where knuckles count as 31 days and the spaces as 30 (or in the case of February, 28 days… or is it 29 next year?), with the 4th knuckle counted twice. I must remember to ask how bars treat folks whose birthday falls on the 29th. And if Leap Years aren’t confusing enough, there’s also years that contain Leap Seconds.

Now let’s say a friend in Europe writes that they’re coming to visit you in Seattle on 1/4/12. Are you going to think it a nice bonus to New Years or will you realize instead it’s April Fools Day? As a researcher, I find this quirk particularly annoying when citing articles. One would think news agencies would be smart enough not to use that format. To top it off, an article out of Australia dated April 2nd in the U.S. papers regarding having cloned the extinct Tasmanian Tiger was in fact written the previous day their time, and they caught a lot of flack for their lie.

In the international world of the Internet, who knows the time where the person you’re chatting with is? I mean, I know Seattle is -8 hours GMT, but apparently it’s also -7 hours UTC. About all I know is that during college when I needed to call my parents in Germany, I had to add 8 hours to my clock.

I’ve even heard of a place in the U.S. where one half of the town is in one Timezone and the other half in another. That’s gotta be really confusing when reading the TV Guide. And just why do people in the Central Timezone get to watch their nightly shows an hour earlier in the day relative to the sleep cycle? Is it because the Central Timezone is primarily farmland such that they have to get up at the crack of dawn?

Then there’s the Daylight Savings Time phenomenon that some people and places follow (or don’t follow). This one’s a doozy for anyone who owns a clock, and for folks not following the news, I can only imagine how many people are early/late to church on Sunday because of it. I know I ended up standing outside my old apartment for more than an hour waiting and watching for the Kingdome to be pulled before someone mentioned it was was Daylight Savings. Then they had to go and replace it with an open air stadium for a winter sport because the billionaire who funded it believes being in the elements is part of the game… as if he’s not going to be sitting in a heated luxury suite. At least the other new stadium has a retractable roof. And to think we here in Seattle only had the measly Kingdome for these sports and more for so many years.

As the years pass, the days get longer as the rotation of Gaya slows, though that was offset a bit by the recent Japanese tsunami quake. And as someone asked at answers.com, “What time did tsunami hit Japan?” The response was, “The earthquake occurred at 14:46 JST (05:46 UTC) which triggered the tsunami. This Tsunami hit Japan only after a few minutes.” So again one might ask, “What time did tsunami hit Japan?”

When I was a kid, I wanted to quantify meanings for terms like “a couple”, “few”, “some”, “a handful”, “several”, etc. People interpret these values differently. And I still don’t understand what to do if someone were to say “meet me next Saturday” to mean the one after the upcoming one. I mean, if a teller said “next in line” would that skip the person at the front of the queue?

Then there’s this famous psychology study to measure the accuracy of clocks around the world with Japan being the most accurate due to their demands on “time is money” while more laid back nations where “see you at noon” might mean 4 o’clock I’ve heard referred to as “Jamaican Time” when a friend of mine brought his Rastafarian friend over to my place whose sense of urgency was nonexistent. Even his pitbull didn’t seem to have a care in the world, unlike some big dogs I run across these days in my neighborhood.

As for the accuracy of clocks, nothing beats atomic clocks, right? But even then, if two atomic clocks are synchronized, and one of them is airlifted to circumnavigate the globe, when compared once again, they measure different times. They knew this back in the 1950s according to the antiquated encyclopedia set I grew up with at home. The concept of “digital” wouldn’t have been included in the set, so learning how the Swiss who invented digital clocks sold the patent to the Japanese wouldn’t have been there either.

So given all of these permutations of what should be a straight forward subject by now given that we’ve had thousands of years to pound out the rough edges, it’s no wonder the software industry has proven itself relatively clueless when it comes to the matter. Shoot, even in the days Before Christ engineers had figured out a system of gears that could calculate eclipses which was recently replicated using Legos, but as my boss at Microsoft put it, “A lot of programmers don’t know how to write.” And given that our computers are constantly requiring updates (usually to fix a problem that can be exploited by hackers), they don’t really know how to code as well. As they taught us in class: “If it works, it’s correct,” a concept I found blasphemous.

In my early programming days with a music software company when Multimedia wasn’t yet included in the Windows 3.x series, we needed a good, fast timer for our sequencer, but what we got was the number of milliseconds after the software was activated upon startup rolling over when the 16-bit count reached its maximum, meaning that the code requires special casing to determine exactly how much time actually passed. And with the number of timers we could set extremely limited by the operating system, and strange anomalies occurring if we set the timer to a fine resolution — something still not resolved today as one may notice in animated GIFs across browsers — it’s any wonder that real-time software relying on the date actually exists.

Take the Y2K fiasco: “The problem is that they decided for Y2K to roll the clock back to 1972 (because 72 is structurally the same as 2000, but you knew that),” writes tek-tips.com. (Oh the pesky dot com dot. It’s almost as bad as the <dot.com> citing standard according to the The Modern Language Association of America. But I digress.) Apparently the software designers didn’t foresee a future and past when it came to keeping track of the date. I blame it on all the advice to live for the moment and to learn things for oneself (i.e., the hard way).

One would hope that Microsoft would have learned their lesson after that, but then the Christmas 2008 launch of the Zune digital media player crashed on New Years for several hours because of an internal-clock glitch unable to cope with the leap year. I guess bad habits are hard to break…. though bad programming habits make breaking it easy. Too much “if error, fail”; not enough “if success, continue”… which reminds me I should actually learn about “throw/catch” if I want to succeed as a programmer these days and not end up with a dreaded Blue Box of Death popping up during product launches.

Around this time I had started playing a Facebook game that contained so-called Bosses one could challenge once every 24 hours. There were numerous Bosses, and typically only a few could be challenged per day. I felt I should create a webpage to keep track of the times automatically, and so I looked into the JavaScript Date object. Suffice it to say, the object interface is daunting, and I didn’t want to spend days trying to figure it out. So I googled for some countdown timer code and found a snippet that I can only assume so many other developers have found too.

Then one night as Daylight Savings Time was happening in Europe (but not quite here in Seattle yet) I noticed my timers were off by an hour. So back to the Date object I went praying I could fix this flaw, and here’s what I came up with:

var timezoneDifference = (this.date.getTimezoneOffset() - dateFuture.getTimezoneOffset()) / 60;
if (timezoneDifference) dateFuture.setHours(dateFuture.getHours() + timezoneDifference);

 

Sweet and simple, though I’m sure it’s not “correct” despite it working, and what about all those dreaded leap seconds and such? Granted it’s not my job to figure it out, but it must be someone’s job, right? Yes, no, can I see a show of hands? (Or are you still trying to figure out the knuckle thing?)

Whatever the case, with all the time I’ve spent trying to figure out how to date computers, I never learned how to date people.


Share
Stop censorshipSkewsMe.com