Recently in Geek Things Category

Protosynthesis

| No Comments

Technological Term (v - pro-TO-sin-tha-sis)

The integration of presentation and operation as a means of delivering better functionality.

Designers make nifty buttons and pictures that look great, but are hard to use.
Coders make programs that require the user to remember obscure facts about the system.
Hardware manufacturers design equipment that have no universal standards.

Good technology uses the arrangement (design) of program elements (code) and physical parts (hardware) to extend the user's ability with the least amount of stress on the user.

***UPDATE: Please see my comment and step 11 about logging into the site to make the script work -- should solve those "Runtime" errors that people are having***

Here's the scenario:

You have a phone with Verizon, and you have 1,000 contacts in your address book. Perhaps you've had a previous Verizon phone, but you've never backed up your contacts from that phone -- but you DO have your contacts on your computer and want to get them into your phone. I'm here to tell you that YES, it can be done, I promise. What this does is turn your Firefox web browser into an input robot that fills out the stupid little manual input forms on Verizon automatically, over and over, using a CSV file as the input source.

Here are the steps:


  1. First, you need to activate Verizon's Backup Service -- this allows you to download contacts FROM (yes from) your phone, as well as MANUALLY type in contacts TO your phone (don't panic, just keep reading)
  2. You'll need to make a text file list of your contacts or address book. It must be saved in CSV (comma separated values) format. I found that Address Book Exporter does the best job of creating a file -- but it's tab-delimited, so you need to import it into something like Excel and then re-save it. Windows people need to get from their address book to CSV on their own.
  3. Now, for the magic. You'll need to use Firefox Web Browser. Now, go to Add-ons in Firefox and search for "iMacros" ... this will get you the Add-on by iOpus. Huzzah! Install that.
  4. Now, open the side window that iMacros offers. You'll see a list of "sample" scripts. Pick one, doesn't matter which, right click it and rename it "Verizon Auto Phone Import.iim"
  5. Now, with that script selected, click the "Edit" tab at the bottom, and click the button "Edit Macro"
  6. Highlight the entire screen that pops up and delete the contents. Then put the following text in:


    '=======Start here, cut this line=========
    VERSION BUILD=3700331
    'Uses a Windows script to submit several datasets to a website, e. g. for filling an online database
    'Adapted from original sample code -- now logs into Verizon Backup Assistant and imports a spreadsheet

    TAB T=1
    TAB CLOSEALLOTHERS
    URL GOTO=https://backupassistant.vzw.com/mb/do/privileged/addressbook/prepare?skininfo=110


    ' Specify input file (if !COL variables are used, IIM automatically assume a CSV format of the input file
    'CSV = Comma Separated Values in each line of the file
    CMDLINE !DATASOURCE addressbookforverizon.csv

    'Number of columns in the CSV file. This must be accurate!
    '====================
    ' SET THIS TO THE NUMBER OF COLUMNS IN YOUR CSV FILE
    '====================
    SET !DATASOURCE_COLUMNS 13

    'Increase the current position in the file with each loop
    SET !DATASOURCE_LINE {{!LOOP}}

    ' Fill web form

    'Click the "Add Contact" Link
    TAG POS=1 TYPE=A ATTR=TXT:AddContact

    '===============================================
    ' EDIT THE FOLLOWING LINES ONLY IF YOU HAVE TO
    ' Change the "COL" values to correspond to your CSV file. For example, if
    ' the first COLUMN of your CSV is Last Name, and the second COLUMN is First Name
    ' then change the first line to end with {{!COL2}}
    ' and the second line to {{!COL1}}
    '===============================================

    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:firstName CONTENT={{!COL1}}
    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:lastName CONTENT={{!COL2}}
    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:mobile CONTENT={{!COL9}}
    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:mobile2 CONTENT={{!COL10}}
    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:home CONTENT={{!COL7}}
    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:work CONTENT={{!COL6}}
    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:fax CONTENT={{!COL11}}
    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:email CONTENT={{!COL3}}
    TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:email2 CONTENT={{!COL4}}
    TAG POS=1 TYPE=INPUT:IMAGE FORM=NAME:contactForm ATTR=NAME:_save_&&SRC:https://backupassistant.vzw.com/mb/images/skin.110/buttons/save.gif
    '========= end here, cut this line ======================

    WARNING!!! The last line of code in that included text is very long and ends in "save.gif" ... you should probably copy the script code from the source of this webpage, rather than from the display page, which might be cut off

  7. Now, you need to understand that your CSV may not line up its columns like mine -- so you may need to edit the script. First, find the place where you edit the number of columns and change that to the number of columns that have data in your spreadsheet. Next, edit the last lines so each field lines up with the right column.

    So, for example, if your CSV is Last Name, First Name ... then you'll need to change the "firstname" line to end with {{!COL2}}, and change the "lastname" to {{!COL1}} and so on.

  8. NOW ... save the file and click the "Options" button in the iOpus window
  9. Click "Paths" and make note of where Datasources are saved. In your Finder or File Explorer, save your CSV into that directory -- but save it with the name "addressbookforverizon.csv" in that directory.
  10. My advice would be to test this with a 1 or 2 line CSV file first, to ensure that all the data is going into the right fields. Once you've seen it working -- put in the real file with 1,000 contacts in it.
  11. UPDATE: Before you run the script, you need to be manually logged into Verizon's site -- this script WILL NOT log in for you (that would be bad). So first, go to http://backupassistant.vzw.com and log in -- that's all, doesn't matter what screen you're on after that, just log in.
  12. Ok, ready? Click the "Play" tab, and click "Play (Loop)" -- you might need to set the Max value to your line count in the CSV file (e.g. 1000) -- now watch the robot upload data into your Verizon account.
  13. Once it's complete, go to the applet on your phone, select update -- and presto -- you now have 1,000 contacts ON YOUR VERIZON PHONE

SPECIAL NOTE:
You may run the script, get one entry and then see nothing else. That's because your CSV was saved by Microsoft Excel with extra newlines and hidden characters in it. Try saving it as MS-DOS Comma-Separated (.csv) instead ... that will keep the output clean.

Airport Express DHCP Problems

So, I was struggling with my Airport Express, trying to get the WAN (Ethernet) connection to renew its DHCP lease. When you go into the Airport Management tool, there's a way to indicate (under the Internet tab) that you'll be configuring by way of DHCP, but there's no "renew DHCP Lease" button.

What to do? I spent over an hour poking and fiddling, watching that interminable light blink yellow, no love.

Then I realized the issue. The Upstream router (in this case, my cable router, but DSL routers fall into the same category) was associating a different MAC address to the single IP address I have (since I had plugged my laptop directly into the cable router earlier that night to test the cable router).

So -- the solution was:

1 - set the Airport Express to be "ready for DHCP"
2 - turn off the Cable Router for more than a minute -- so it releases it's DHCP leases
3 - turn the Router back on -- and presto -- Airport Express has the single IP assigned to it's MAC address and I'm good to go.

Elementary Fun

Dow/Popsci Periodic Table: This is a cool little widget of the visual aspects of all our elements -- give our take.

Indie Music Underground

| No Comments

This is an XSPF embedded Flash Music Player ... hurrah, who cares.

But here's the cool part. You can make your own XML-based playlist -- yawn, right? No! Because the XML playlist can play tunes by URL ... so what? So, I can put MY playlist WITH TUNES up online, you hit it with your player and you just play my tunes without downloading them.

So, that's nice -- hurrah.

Now imagine the indie music community doing that. And making their channels and playlists available at a Site like this one!

It's a Good Good thing.

For all those who (hahaha) sneer at Macs

Return of the Mac as a major place for all alpha geeks, is a pretty good article outlining how the major players, MIT geeks and so forth, all have Macs (like me).

Growl Alerts for iCal

Use a Mac? Use iCal? Have Growl? Growl Notifications for iCal is for you!

Minor Geek Rant

I have a personal pet peeve -- I never realized it before, until I just happened to see one in the wild and realize what I was looking at.

I personally loathe "non-helps" online that pose as knowledgable help. You see, I tend to go online a LOT to find other people's notes to otherwise arcane errata. I try to do the same thing if I find something worthwhile that's undocumented, and get it into the general "group mind" of google search or some such... so if I'm installing an ancient version of Sendmail, on a Compaq, and the CD won't read the older version of file architecture, I go online to see if someone's "been there, done that" and wrote the answer down. If I find I'm the FIRST to find this bug (a rare happening, I assure you), I try to get it onto a blog, a wiki, or something... so OTHERS can find it.

That having been said, during these "hacker library searches", I tend to run into a LOT of meaningless drivel and noise from stupid people trying to look smart and well -- it bugs me. Here are a few examples:

The "Empty Observation"

For example, one of my favorites is the "that's a problem" observation.

Let's say you're up a tree, picking apples and your ladder fell. So you go to Google and search for "ladder fallen fall tree retrieve problem help error" ... which usually returns valuable data, plus some meaningless gibberish about buying tree shaped ladders and stuff like that. But usually, our friends at Google are pretty good, and they get things up in the first 10 hits with titles like "Re: help, my ladder fell while picking pears" ... usually from mailing list archives online or some such.

Now, you're excited, so you go to read the answer to your problem and you get a meaningless observation.

'Oh, your ladder fell? Well, ladders are made to climb, it shouldn't have fallen to begin with.'

In a real world example, you might get "oh, you can't find that file? Well, if you're running dumbOS, it should be installed automatically."


The "Are you a Fool?"


The next winner in my rant-o-thon is the one where someone who is clearly less experienced than you are asks you not only a silly question, but one that you understand from your years of expertise as being an assumption that you're a moron.

So, for up in my tree, I might find "hmmm... did you check to see if the ladder is just pushed over to the side and hanging from a branch?"

Which in real life would be:
'Did you possibly delete the main kernel page file? I know that's an important file.'

Idiot. Go home.

The "Tease"

This one is the most painful and most prevalent barb. You're up in the tree, someone GETS it, has the ANSWER, but doesn't really TELL you.

Tree analogy: "Hmmm... you know, there's a way to use your pruning hook to grab the top of the ladder, but be sure to get it on the right rung or you might lose your hook too."

Real life: "Oh, yes, if you have accidentally corrupted your device driver, you can reinstall them using a driver reinstall application. Be sure to figure out which driver you want to install before you start."

The "Hate Gate"

I hate that stupid site "Professional Only" or whatever it's called. The one that says "click here for the answer". Die.

The "Manglish"

Now, I'm NOT talking about people who have English as a second language -- those of you who actually go to the trouble of answering problems in a foreign language -- God BLESS you.

No, I'm talking about the people who clearly speak English as a first language, but didn't bother to learn it on their way to becoming major masters of computing.

Tree: "When the ladder doesn't fit on the floor amke it go to the top of the tree for another try with the pole."

Real life: "Don't make the file first t othe home directory because you're bound to finding the one in the other directory first if the path doesn't change in your file."

Please -- put your computer down and go read a book or ten.

and finally...

The "Victory Dance"

Someone who goes to the trouble of POSTING a problem to a list, then comes back to say they fixed it, but DOESN'T SAY HOW!!!!

Tree: "Hi, I'm up a tree, please help, my ladder fell."

Tree2: "I just wanted to write back to everyone and say I figured it out, thanks!"

Real Life: "My database is still running, but I don't want to stop it until I do a dump and I can't get a second prompt because the OS has been hacked. I know the data is in there, but I don't know how to generate a dump from inside the database ... can anyone help?"
Real Life2: "Oh, nevermind -- I got it. Thanks!"

Please -- follow the idea that the military teaches -- always leave it better than you found it for the next person in line.

In other words -- if you FIND an answer, share it -- if you HAVE an answer -- SHARE it -- if you just want us all to see how smart you are -- shut up -- because you don't HAVE the answer and thousands of people are just saying "stupid stupid stupid -- shut up!"

But hey -- why are you reading this anyway -- there's no answer here.

Gotta get me one of these

Check out this new Smart USB Flash Drive that doesn't need batteries to display it's contents. I gotta have this.

Take a look at this snapshot of the universe. Trust me ...
It's VERY large!

PHP5-extensions FREEBSD

If you are attempting to load ports (aka bsd-ports, freebsd-ports, etc.) of /usr/local/ports/lang/php5-extensions and it's failing with an error about pecl-imagemagick being BROKEN

go into the Makefile in /usr/local/ports/lang/php5-extensions, search on the word "IMAGEMAGICK" and delete it (!) from the list of ALL-OPTIONS =

see -- it uses ALL OPTIONS to indicate what it should check for in dependencies -- if you just delete IMAGEMAGICK from the list -- it won't look ...


sorry this is so short and unbaked -- you're on my website -- email me if you have a problem.

Extensions for Web Developers - Spellbook - IT mage’s best friend ... it's a good list of power tools for developing inside Firefox.

Worst Tech 2006

Here they are!!! The Worst tech of Q2 2006 - CNET.com WORST TECH awards.

I'm embarrassed to be a geek.

Web 2.0 is already dead

Ok -- going out on a limb time.

My still standing most dramatic comment on technology is still in the works, and that is the one back in 1999 when I said that Microsoft would be decimated in 10 years.

Trends showing that are the constant delay of Vista, the impending over-run of Macs and the decentralization of equipment.

Now for my next dramatic comment:

Web 2.0 is already dead

Here's why.

First, the social phenomenon is one that is driven towards connection and person-to-person. What's lighting up Web 2.0 is not a measure of how great the Web is for getting people together, but how desperate people are to feel connected in an otherwise silent, lonely, and text heavy medium.

Web 2.0 isn't a commentary on how great the Internet is going to be for bringing people together, it's a commentary for how lousy it HAS been to date in getting people together.

Congratulations, people, you've discovered that human beings are social animals. A person alone is a bad thing, yes, just look at the drama of the movie "Castaway", it was the loneliness that gave it tension -- we are born seeking connection with each other. Duh.

So, for years, we've been using technology that essentially disconnects us, keeps us hidden behind emails and text messages. We've been so desperate for connection that we, as a society, invented smiley faces ;)

So Web 2.0 isn't the new revolution, it's just a relief from the original isolating process.

A long time ago, I pointed out that all technology is moving towards one situation -- constant, freeform, face-to-face interpersonal contact anywhere at any time. That's what we want. We want to be able to pick up the doohickey, push a button and not only "chat at" a friend, or send a picture, but actually be with him her, see his/her body language, interact, touch, feel, smell, and be with that other person.

So what's gonna happen? A few decent technologies will bubble to the surface, no major killers ... just a few websites that do some stuff -- more along the lines of an Ebay than a new IM or email application... and then it will drift off and be crushed by what's really coming.

What's really coming, you ask?

Video.

When the technology to put video up without delay or hiccup is in place, with qualities rivaling cable TV, you can kiss the web goodbye.

When you can pick the doohickey up and see the baby's first steps, chat in real time with your friend in Europe and/or store an experience easily for later viewing (and listening) ... the web will fall into the same hole that ate BBSs and Gopher.

Web 2.0. That's cute. You people really need to get a job.

Code Comments are King

Ok -- this is just a flame bait, pretty much, but I am REALLY ticked off at running through code that doesn't have comments because we're all "afraid of looking uncool" and admitting that we're all not computers.

Do you know how ANNOYING it is to face an empty page of goo that some knucklehead thought was "self-documenting" and it wasn't?

Well, my rule is pretty simple, if you're smart enough to code, your comments will be of some value.

But here's the flame-bait (haha you can't comment, sorry, blame the spammers).

If ANYBODY believes that comments are stupid, they're junior developers, who haven't worked on large programs with more than a handful of people. They're either masterful solo developers, or chuckleheads.

Comment your code, think of then next guy. Yeah, I can track your code, but you know what? If you were so kind as to tell me what the require() inside the require() inside the call to a config file is going to return (as a var, not a literal), you'd PROBABLY save me at least 10 minutes and let me stay ON TRACK.

Comments are good -- you want to be cool? Go write some cheese on your own machine, don't put it on mine, or offer it to the dev community.

You know where comments live? Right behind RTFM ... you're just NOT that cool.

Cool Time

This is just a cool clock. You just gotta see it to understand. That is all.

The Matrix is all letters...

Ok -- ever since Matrix II and III (also known as "The Matrix - a mistake" and "The Matrix - making it worse", most folks know that the movie's kind of lame -- which is too bad, because the first one was cool. But anyway -- someone with way too much time on their hands made this ascii-movie of the famous shooting scene from Matrix I, the real movie.

As a final comment on the Matrix mistake, other movie lines that have been crushed under their own excessive production are the Star Wars line and the Highlander line. I'm personally very happy that I never saw any Highlanders after the first one.

Font Site

This site that shows the Top 100 font downloads at dafont.com is only really interesting to folks with creative qualities -- but here it is anyway.

Ok, it's finally in. This article outlines the efficacy of tinfoil hats, the "guerilla tactic" of the paranoid and sad.

These MIT people are taking a new tactic, they've "shown" that the tinfoil hats actually enhance surveillance abilities by the Government (no, I don't think it's real... or IS it?).

This is truly what it looks like when very smart people have too much time on their hands.

Cool Bionic Arm!

This article talks all about how much progress is being made on artificial limbs. There's actually a limb right now that can do a rudimentary amount of "feeling" and motion by brain control is just on the horizon. Too cool.

Thin Time (I must have one)

They've been working on digital paper for a while now, and it looks like someone's taken that and made a DigitalCamera@101reviews » Digital Clock as Thin as Paper! Too cool!

How to Re-initialize MySQL

Marc Liyanage - Software - Mac OS X Packages - MySQL

Database Re-Initialization

Sometimes the scripts in the installer package do not work correctly, preventing the startup of the database server. Sometimes you need to reinitialize for other reasons, when the database is too screwed up. So if you have problems and you want a fresh start, perform these steps manually and then try again to start the server:

1. sudo find /usr/local/mysql/data -type f -exec rm {} ';'
2. sudo hostname 127.0.0.1
3. cd /usr/local/mysql
4. sudo ./scripts/mysql_install_db
5. sudo chown -R mysql data/

Note that you will lose all data stored in the database this way.

This article outlines ONLamp.com: Ajax on Rails as a good way to build flexible web interfaces.

Woohoo -- so I've installed Tiger. Yay. It's showing some of Apple's love for knobs and doodads. I'm currently posting through a thing called a widget. Yay -- do let's be excited. I don't see much else of major merit in this install.

I'm sure there are some fancy details in the kernel and such -- but most of all I see a built in search database, a gui gadget they stole from a predecessor called "Konfabulator", and an application doc that won't go transparent, which I find annoying.

Aside from that -- I guess it was worth the money.

Do you Hear with your Eyes?

The vOICe - Seeing with Sound is a site that shows you how some blind people are learning to see with their ears.

It's very cool -- though I don't see how it works -- so to speak.

NASA is Sometimes Dumb, Sorta

Wired News: NASA Funds 'Miracle Polymer'

Ok -- in this link, NASA is seeking a better conductor. That's cool. But in the five years that they're going to potentially MAKE the new polymer, and the five years after that when they actually use the polymer -- forward motion on computing with light will bypass this intermediate juncture for computing speed.

Better Cars

Wired News: Car Computers Track Traffic

Ok -- this basically talks about what we've all been expecting someone to figure out for years: traffic mapping to centralized servers. The idea is that if a server knows where all the cars are -- people can be given the OPTION to follow suggested routes that keep traffic down in certain areas and redirect cars around known jams. Worth a read.

Chocolate Coke Can Fire

Geeks like to be prepared. So, when you decide to wander aimlessly in the woods without a compass, remember the basic rule: Food, Water, Shelter, Heat -- if you have these four things -- you can survive indefinitely.

Many of us find ourselves lost in the woods with a coke can and a bar of Toblerone chocolate. Before you suck down the last of the soda and crush the can on your head while gnawing away the last of your candybar -- start a fire.

More on Optical Computing

This article in Slashdot points to some pretty heady work being done to "capture light" using super frozen atoms. What this would do is allow for light to remain in "state", doing what electrons currently do in RAM.

This is one more step towards a profoundly faster computing environment -- one that will make today's computers feel as archaic as punch cards seem to us.

Linux on Everything (Ipod)

It is possible to put Linux on anything. There's more to do with your freetime than thsi -- but I gotta admit this is pretty cool.

The Next Wave of Viruses

You heard it here first. When Slashdot talks about a vulnerability of this magnitude, it's not going to be long before the blackhats (that's folks who make viruses) are gonna exploit it.

You can be sure that there's folks right now building viruses off this idea. It basically means that when you get the virus, your hard drive can be locked out via the bios at the hard-drive level and you're done.

Now, I've actually run into this sort of attack on a friend's computer, the LSASS type does something of this shape. But to my understanding, LSASS doesn't attack the ATA itself, it just eats the BIOS.

This one locks the drive out -- so you can't even put it into another computer and recover.

Bad stuff.

New Battery

Battery technology is about to take a big bounce up! This is a big deal, because batteries represent the portability of power, which does for the electrical grid what wireless wifi does for the network. Read about it in this article: Toshiba : Press Releases 29 March, 2005

More MP3 Pez Candy

Well, it's official. The folks at Pez are getting into the music business. Hmmm... what's wrong with this picture? Can you say core business competence? Oh well ... here's the mention in Slashdot.

Where's the future going?

Take a look at this seemingly silly article about a PEZ MP3 player. Yes -- it's silly, very manga, very wasted time. Until you start thinking about what it's pointing at.

No doubt, in the next five to ten years, music/data storage is going to become ubiqitous. We already have limited magnetic bar strips printed onto cheap paper for things like tickets and metro cards.

You know what paper is? It's a visual data storage system -- with pretty small capacity per page. Given the higher density available for things like this Pez dispenser idea, it's trending towards a time when anybody will be able to lay their hands on cheap storage being thrown around like paper.

From there, it's a small step to the level that people are using anything nearby to "jot down" information -- in the same way you write a phone number on the corner of a newspaper.

If this Pez thing is any indicator -- the goal is to attach functionality to this future storage as well -- so your newspaper comes with an embedded copy of all the videos for the day, plus some sort of means for watching them. But that's a bit too future trippy for now... high volume magnetic printed storage isn't.