Wednesday, October 28, 2009

Ping!

Pinging is the act of sending ICMP packets to another device, and waiting for a response. It's a good way of seeing if we're online, or if the hopeful recipient is online. It is prevalent enough that it's become slang for contacting someone, to see if they're around and listening. And it's gone beyond that; I just realized that Google Wave's use of "Pinging" someone makes it official in a way.

But even in the ICMP packet sense, it was in a sense a slang usage. From Wikipedia:

"Mike Muuss wrote the program in December, 1983, as a tool to troubleshoot odd behavior on an IP network. He named it after the pulses of sound made by a sonar, since its operation is analogous to active sonar in submarines, in which an operator issues a pulse of sound at the target, which then bounces from the target and is received by the operator. (The pulse of sound in sonar is analogous to a network packet in ping)."

Here's the other half of the story. I always feel inclined to theme my computer. Really put some life into it. I thought of a really silly idea, and a great way how to do this today while sitting at the Skylark.

So here's where it all comes together: Noisy Ping (for lack of better name)

When you set this up, ping will emit a sonar sound. And if you get a response, you will hear a subdued version of the same sound.

Code licensed under WTFPL, sound was from a creative commons site, so it's under Sampling Plus 1.0. Don't sue me if a whale tries to mate with your computer. Or if my program does something bad (though I promise I didn't mean to do anything bad, and that I'm running this on my own computer).

This was sortof hacked together, because frankly I have better things to do than to do this "properly", but I did my best to make sure that the python script relayed ping's inputs and outputs and kill signals faithfully (though I have a failsafe SIGTERM, followed by SIGKILL, at the end). if you have any suggestions on how to make this more safe, less crash prone, more portable, etc, please feel free to send me a better version.

And hell, it's sortof useful too. If you're pinging something and you don't want to watch the terminal to see if you get anything back.

So there you go.

Saturday, March 7, 2009

What about a "rabbithole" paradigm for all GUIs?

I'm watching a presentation on Zimbra, and I'm noticing that the interface is really busy. I can begin to see why it must be a pain in the ass to set up and maintain (as I've heard). I know I'd hate to have to use it. Where I currently work, as I would imagine is the case at most large businesses, you have a million different services that you can use, a couple of which you have to use, and a couple which you may want to use (the latter group will vary by person or group). A whole lot of things just don't get used by your group, but you keep hearing about it from the company above, it keeps showing up in your web interfaces, and it's just annoying.

A couple posts ago I mentioned an idea of a "rabbithole paradigm" for configurations. What if you did the same thing for your whole GUI?

You start with a big button that says Zimbra. You click on it and get three buttons called Communication, Collaboration, and Settings. You click Communication and you get your email, chat. Click Collaboration you get file sharing, Wiki, etc. Settings gives you GUI settings and Account Settings, each of which gives you more things. Everything is completely straightforward, if cumbersome, as to where you should find them. Certainly no settings or shortcuts that you don't need are in your main interface.

Well, that would make things a lot less confusing, and a pain to get to the services you need, because you have to go all the way down the rabbit hole to get to them. But, as you decide to use them, they would get added to your front page. This includes configuration too, I suppose, as I mentioned in my other post. That way, you always have exactly the services and settings you need and know how to use on your front page and in your menus.

Friday, February 20, 2009

Backing up stuff from websites.

Ok so if I'm going to give in and start being a social media whore, can I at least back up my info? I know my friend Kevin was telling me that "open websites" let you can grab all your info from their DB. I wonder how possible that is for other sites. Could I, say, back up my Twitter contacts? My google reader feeds? My delicious links? (yet to join the latter two). I can concede that these outside sources know what I'm doing and what I'm interested in and who my friends are and where I live, but I don't like depending on them to keep my data.

I should start by setting up IMAP for my Gmail account, sheesh...

What about a "rabbithole" paradigm for configuration GUIs?

You get very basic settings on the main screen, but there's a button for things a bit more advanced. The screen that follows that button has categories, and each category again has buttons for things slightly more advanced. You go as far down the rabbithole as you feel comfortable. You could have everything be configurable, but it's not a choice between a Fischer Price toy and an Airplane Cockpit.

And, and I think this is a kicker here, you save which buttons you clicked, which screens you edited. So you sortof have your own customized config GUI. It's tailored to each user for whatever they feel comfortable with.

Saturday, February 14, 2009

xmsg

Made a handy little script I wanted to share.

I call it xmsg:


#!/bin/bash
"$@" | xmessage -file -


Now, you can put xmsg before any program whose console output you want, and it'll show up in a (albeit archaic looking) dialog box. This is useful when you want to know the console output of something just with the Alt-F2 run dialog, and you don't want to bother opening an actual console.

Put it on the PATH so you don't have to put the whole path to the script, you can just type "xmsg" followed by your command into the Alt-F2 menu (or a console if you want). Quick example:


xmsg df -h


Will give you a nice popup telling you how much space you have on each mount. Now wasn't that more convenient than having to open a console?

How it works (in case a little education can come of this).

"$@" represents all arguments to the script after the name of the script itself. So, this just runs the command you put after xmsg. This pipes to xmessage. xmessage generally makes a dialog with whatever you give it as an argument, but if you say "-file" it will read from a file. If you give "-" as the file, it will read from standard in, which in this case is the output of "$@".

The quotes, btw, on "$@", are because of Bash's annoying quoting rules. Not using them will, I am told, cause arguments with spaces to retokenize.

Tuesday, February 10, 2009

Twitter

I'm only announcing my Twitter usage here for now because I got a great quote from my friend Tim, and it won't fit in Twitter's max characters:

"dude, twitter is perfect for you. you send out a message to no one in particular. If anyone wants to listen, then you're talking to them. You do that without the internet."

I guess if you want to follow me:
http://twitter.com/orblivion

I suppose I'll be extra cool and get identi.ca soon.

Wednesday, January 28, 2009

Where is Google Apps free edition?

This answered my question:

http://googlesystem.blogspot.com/2008/11/free-google-apps-more-difficult-to-find.html

This gave me the same feeling as discovering a secret area in a video game.