Delicious Retro Sounds!

If you have an iPhone:

  • Buy SnesMusic for $2. (the icon is ugly, but the app is good)
  • On your iPhone, go to snesmusic.org
  • On the Top 100 page, scroll down to the Top 100 (top of the page is Worst 100)
  • Pick a game, for example, Chrono Trigger
  • Click on the Download SPC Soundtrack link and choose to open it with SnesMusic
  • Enjoy!
SnesMusic does seem to crash occasionally when importing a new file, but fire it back up and it should work fine.
There’s another app called SNESPlayer, which has a better icon, but the UI didn’t look as nice.
SNES tunes!

How to fix patents, or at least start to fix the system

The current patent system is broken.  There’s really no other way to say it.  If I were to come up with an innovative new tech service and it catches on, chances are I would be hit with a dozen cease-and-desist notices from various patent holders.  Probably they would be patent trolls, companies that exist solely to scoop up patents and enforce them, or perhaps it would be a huge company with an ammo belt of patents used to shoot down competition.

There are several problems here.

One is software patents, which are often for obvious things, like updating a form value using an onclick in JavaScript.

Another is along similar lines, conceptual patents that are also obvious, like “showing a map on a smartphone”.  These are often broad obvious concepts that discourage innovation.

How to fix it?  Well besides the obvious step of reevaluating how the whole patent system works, how about this:  a public scrutiny period.  During that period, rather than a single patent clerk examining the patent and deciding on its validity, why not crowdsource it, let the public at large try and come up with examples of prior art?  Perhaps have a badge system, cash awards, or other incentive to encourage people to join in.

There are plenty of tech-savvy people who hear about a patent to update a form value using an onclick in JavaScript and point out how absurd it is, why not put their righteous indignation to good use, let them submit examples of prior art and help shoot down incoming patents that don’t deserve to be granted.

Along those lines, why not have a patent validity dispute process that is similarly publicly crowdsourced?  Many patents would probably not hold up to scrutiny, but it usually doesn’t come to that because the threat of an expensive lawsuit usually leads to a company settling out-of-court with a patent holder, rather than risk the expense.  This would allow stupid patents to be revoked.

Currently, patents are mostly a rich man’s game, only companies big enough to own a patent portfolio, survive a lawsuit, or afford an out-of-court settlement gets to play in the tech innovation game.  It’s time we level the playing field at least a little with the power of nerd rage.

Top 100 Sci-Fi & Fantasy Books

NPR did a survey to find the top 100 Sci-fi and Fantasy books. I took the list, and checked off the ones I’ve read.

It’s a very good list, but here are a few that didn’t make the list:

Cyberiad by Stanislaw Lem.  Although his Solaris did make the list, I feel Cyberiad is both a more creative and more accessable book.

Transmetropolitan by Warren Ellis.  True, this is a graphic novel series, but Watchman made the list, so why not Transmet?

The Dark is Rising Series by Susan Cooper.  I loved this as a kid, it’s an amazing story of classic good vs. evil

Wrinkle in Time Series by Madeline L’Engle.  Time- and space-bending adventures.  I remember them, like C.S. Lewis’s Space Trilogy, getting somewhat Christian-y at times, but they were still fantastic stories.  Plus it introduced young Tev to the concept of a tesseract!

The Chronicles of Prydain by Lloyd Alexander.  The first book, Black Cauldron, was adapted into a movie by Disney – one of the darker Disney flicks, and one that’s not a musical.  The full series is much more epic.

Mrs. Frisby and the Rats of NIMH by Robert C. O’Brien.  Sure, it’s a kid’s book, but it could almost be a parallel book to Flowers for Algernon, if Algernon had escaped along with other test animals.

The New Reality is Augmented

One concept that’s been rising in popularity over the past decade is augmented reality (AR).  It’s the idea of a computer overlay on top of what you see, placed in space over real objects.  This is a private view that only you can see.

There are various methods of doing this, right now the most popular way is looking through your smartphone – the phone’s video camera captures a live feed, and shows it on-screen with AR data added, for example, Yelp will show the names and reviews of nearby restaurants as you look through your phone and move it around.

Another less-popular AR display method is goggles.  These are used by the military and hardcore nerds, but not by the public at large, mainly because they are goofy-looking.

A couple methods at the edge of reality but still for the most part only science-fiction or concept products not in production are normal-looking glasses with AR, or better yet, near-invisible contact lenses with AR.  They might be stand-alone, but more likely they would communicate wirelessly with a smartphone-type device in your pocket.

These would allow computer data to be overlaid on whatever you look at, without other people being able to tell what you are seeing.  The possibilities are endless, and range from indispensable to annoying to terrifying.

Two good science-fiction works I read recently that discuss these possibilities are Vision Machine and Rainbow’s End.  Vision Machine is more focused on the gadget itself and how copyright laws would apply to it, and Rainbow’s End is more about what the overall world would be like with such a device in it.

It feels like AR is coming, right now you can see the first faltering steps, with iPhone apps, GPSs Kinect games, PS3 virtual pets… I feel like it’s bubbling, beginning to churn and swirl, and soon it will explode into something major.

What sorts of content to expect?  Well, could be anything, but here are some obvious ones:

  • Maps (GPS-type directions, or museum-guide style floorplans)
  • Instructions (either usage instructions on a product, or Ikea-style assembly instructions)
  • Contacts (names and relevant data hovering above people you see)
  • Ads (which could ruin everything if we’re not careful)
  • Complete virtual overlays (CGI “suits” that completely change the look of people or things… like everyone you see having the heads of cats)
  • PDA functions (to-do lists, clock, calendar)
  • Camera functions (stills, video, editing, special effects)
  • Phone functions (IM/texts, calls, email)
  • Purchasing Info (prices with tax, calorie counts on food, price comparisons)

It’s a brave new augmented reality world, keep an eye out for it!

QR Codes and URL shorteners

Playing around with QR code generation and URL shortening…

I have tev.net, which is a pretty damn short domain, but just to be a *little* shorter, I registered tev.bz and set up YOURLS, an open-source URL shortener.

Here’s an example, I shortened a URL, from http://www.linkedin.com/in/tevkaber to http://tev.bz/3 and then generated this QR code image containing the shortened URL:

QR Code
can your phone read this?

If you’re not familiar with QR codes, it’s basically a type of barcode.

A barcode is 1-dimensional, a series of bars of varying length.  Although they have vertical height, it’s the same 1-dimensional data just stretched to make scanning possible.  The most common barcode you’d be familiar with are product UPC codes, but there are many types.

A QR code is a 2-dimensional barcode.  It can’t be read by an old 1D barcode reader, although many systems have been updated to read 2D barcodes.  UPS and other shipping companies were some of the first places to use 2D barcodes.

Old 1D barcodes are just letters and numbers.  New 2D barcodes are still just letters and numbers, but can contain more of them.  So a 2D QR code can contain, for example, a URL, or someone’s contact info.  The more text a QR code contains, the larger it is, which is why URL shorteners are typically used, to keep the QR code small so it doesn’t take up too much room on a page or label.

An emerging use of QR codes is in marketing.  The idea is, rather than type in a long URL from a print ad, the user can scan the QR code from their smartphone.  Most people have cellphones, most cellphones have cameras, and an increasing number are smartphones capable of displaying a website.

The problem is, the average person has no idea what a QR code is.  On Android smartphones, QR code software comes bundled, but on iPhone the user would have to install a free app.  The overall process of scanning and using a QR code has to be quick and easy, and while it’s not difficult, it’s not immediately obvious to the majority of users.

The common use of QR codes by consumers will either take off, or drift into obscurity like the ill-fated cueCat.

Psychic Lasers

Strange dream last night.

We were in a European town, or perhaps England.  The kind of medieval-looking village with cobblestone streets and houses with thatched roofs, but with drugstores and bus stops mixed in, creating a mixed sense of place and time.

We meet some graduate students and their professor, a tall statuesque woman with a commanding presence, wearing a lab coat over her other clothes.  They have partly taken over a room, converting it to a makeshift lab and classroom.  The focus of the project is a pair of laser-based devices, or maybe it was one device with two modes.

The device works like this: first, record mode is active, and you sit in front of it.  A visible laser beam plays across your face and settles on your forehead.  Then a recording is made.  Another person then sits down, and playback mode is activated.  A beam of another color locks onto their forehead, and they then see a recording of your face.

That’s the surface functionality.  The research they were doing was to go deeper – the bandwidth of the lasers meant that much more information should be coming across.  In theory, thoughts should be transmitted as well.

Currently, though, all that is theory.  It’s only being tested on rats.

I somehow figure out the correct way to make this work. I want to skip the animal testing stage though, since trying to tell if rats have read each other’s thoughts would be very difficult.

I need volunteers.  We are somehow out on a roof.  There are several warlike (tribes? non-human races?) sitting on benches.  No one will volunteer but then the smallest group steps up.  I reveal that in return for help with testing, they will get a huge cache of weapons, making them the strongest group.

With their help, I get the kinks worked out and soon it is refined and easy to use.

Soon everyone in our group and the research group is trying it.  Two of the people with us: Dave, and Steve Carell. We are drinking flavored seltzer water and thinking of different things to record.   At one point, one of the female students secretly records herself masturbating.  The teacher accidentally experiences the playback (closing her eyes, moaning, exposing her breasts while pinching her nipples, in front of everyone), and instead of punishing the class, she encourages them to think of new and different ways to use the technology.

One student expresses concern that the technology could be misused, for example, a Coke machine with the device embedded to make anyone walking by feel thirsty.

We split up, to walk around town to get more ideas.

The town is also desert-like in ways, like an old western.  There is one old structure there where rebels holed up against a corrupt government.  I walk through the building with Sarah and couple students.  The building has been rebuilt over the years, but instead of on top of the old structure, it was built *around* the old structure.  In one area there is a cross-section of the wall, showing the different versions of the building layered within.

We go into the basement.  I walk into an old room. There is a drawing on the wall, a detailed plan of the town made by the original rebels.  It is very meticulous and somehow still accurate.  There is also a detailed model of the town on a central table in the room.  I call for the others to take a look, and they come in the room.  Suddenly one of the students scratches his palm, like it itches.  Then a look of panic comes over his face and he collapses in some kind of seizure.

Then the same thing happens to the other student.

Sarah starts to say something about calling 911, but then she collapses as well.

I take out my phone to call, I feel my palm start tingling, and then suddenly I am reliving the experiences I sampled with the laser device.  It’s like some kind of acid flashback, but so immersive that I lose control (and even sensation) of my body and crash to the floor, my phone still in my hand.

Some time later, the flashbacks stop and we stand up again.  We head back to the classroom.

Everyone is experiencing the same condition, an unforeseen side-effect of the laser.  A couple hours later, it happens again.  We are not sure if it will continue to happen, or if the effect will wear off over time.  I posit that maybe it had to do with drinking flavored seltzer while using the device.

It seemed likely to me that berry-flavored seltzer would react badly with psychic lasers.

Dessert Pasta

Does such a thing as “dessert pasta” exist? Pasta made with fruit blended in, or cinnamon and sugar? Perhaps served with ice cream, or a fruit sauce?

If it does exist, how come I’ve never had it?

Causality

Causality is the truth in reverse.  Which is not to say it is a lie, but when you start from the end, the path back to the beginning is a fixed one.  In that direction, fate is absolute, and everything has meaning or can be seen to have meaning.

Oracle Setup

I wanted to give Oracle a try, so ended up installing and re-installing things a half-dozen times.  My trial and error is your gain.  =)

First I installed VirtualBox.  That part is straightforward, just download and install.

Next I downloaded Oracle Linux.  This requires registering an Oracle account, but that’s free.  Choose “Oracle Linux” and “x86 32 bit” then the top choice “Oracle Linux Release 6 Media Pack for x86 (32 bit)”.  Download that and then unzip it to get the Oracle Linux .iso file.

Run VirtualBox and create a new Virtual Machine (VM).  Choose Linux > Oracle Linux for the type and set the memory to 1024 MB.  Start the VM and it will prompt you asking for the install disk.  Browse to the .iso file and start the install.

Follow these instructions to install Oracle Linux.  It’s pretty straightforward, only thing you really have to set is network, and MAKE SURE you choose “Configure NOW” near the end, the default is “Configure LATER” and if you do that you will only get a command line, no GUI.  Unless, of course, you prefer a command line OS.  I don’t.  Make sure you pick Firefox to install, too.

The VM should restart and be all good.  In the VM, open Firefox and download Oracle XE.  I chose the “Universal” option.  You want the .rpm version.

Once it downloads, run the .rpm.  Once it’s done installing, configure it:

  1. Run the following command:
    $ /etc/init.d/oracle-xe configure
  2. Enter the following configuration information:
    • A valid HTTP port for the Oracle Database XE graphical user interface (the default is 8080)
    • A valid port for the Oracle database listener (the default is 1521)
    • A password for the SYS and SYSTEM administrative user accounts
    • Whether you want the database to start automatically when the computer starts (say Yes)

 

After all that, you should have Oracle XE up and running!

But I wanted to access Oracle running on the VM from my host machine.  To do that you’ll need a couple more steps.

On VirtualBox, choose Devices > Network Adaptors.  It should be on NAT (the default).  Click “Port Forwarding” and add 3 ports.  Leave the Host IP and Guest IP blank for them.  Here’s what you want to add (name, protocol, host port, guest port):

apex     TCP     8080     8080

oracle     TCP     1521     1521

ssh     TCP     2222     22

Then on the VM, go to System > Administration > Firewall > Other Ports and add port 1521 and 8080.

Now you should be able to go to the VM apex web interface from your host computer by going to http://localhost:8080/apex/

 

I’m still figuring things out… the next step is figuring out how to get add the OCI8 Oracle library to PHP, specifically PHP running in MAMP…

Podcast Hardware

I’m doing a podcast now!  Adam and I started “The Untitled Geek Podcast” where we talk about various geeky stuff.  Partly it’s an excuse to talk about geek stuff, partly it’s an excuse to play with audio gadgets.

We’ve done 3 episodes so far, and it’s been a learning experience, since I haven’t really done audio stuff before.  We’ve slowly gotten better equipment, and more experience using it.  We’ve had technical hiccups in pretty much each episode, but nothing that destroyed a podcast.

Adam bought a mixer, but I wanted to play with my own, so I bought one too. =)

At first I got a Peavey PV6USB, thinking I could save space by getting a smaller mixer with a USB interface built-in.  The mixer itself seemed OK, a little quiet maybe, but the problem was, every time USB was active, there was a high-pitched whine in the output.  Not acceptable.  I returned it and ended up getting the same mixer Adam got, the overly large but highly rated Yamaha MG102C.

Our mics have changed over time, originally we both had USB mics, I forget what Adam had, I had a Blue Yeti.  I’d used the Yeti once or twice for quick voiceovers, but mostly it had sat on a shelf.  Of course, as soon as I went to use it for the podcast, it was non-functional.  Not sure why, it just stopped working.  I’d pick up a click if I switched modes on the mic, but otherwise no audio.  So I bought a cheap Logitech USB headset, which worked pretty well.  It was a little tinnier than Adam’s mic but worked OK.

Now, with the mixer, we are using Audio Technica AT2020 XLR mics, which are quite nice.