October 2007

Regular Expressions For The Win

I’m currently working on the approval application for the NJ LoCo team, and part of it is giving actual evidence of what we discussed — this includes IRC logs. Unfortunately, I never set up a LoCo bot to log the meetings, so I’m currently going through my bip logs for relevant convos. However, bip keeps very precise information. So, while in your irc client it may look like this:

16:16:22 <gQuigs> hi
16:16:49 <harda> gQuigs: You coming Saturday?
16:17:04 <gQuigs> what time does the fair end?
16:17:10 <harda> 14:00.
16:17:18 <gQuigs> oh

In my bip logs, it looks like this:

19-09-2007 16:16:22 < gQuigs!n=bryan@c-24-0-106-77.hsd1.nj.comcast.net: -hi
19-09-2007 16:16:49 < harda!n=harda@pdpc/supporter/silver/harda: +gQuigs: You coming Saturday?
19-09-2007 16:17:04 < gQuigs!n=bryan@c-24-0-106-77.hsd1.nj.comcast.net: -what time does the fair end?
19-09-2007 16:17:10 < harda!n=harda@pdpc/supporter/silver/harda: +14:00.
19-09-2007 16:17:18 < gQuigs!n=bryan@c-24-0-106-77.hsd1.nj.comcast.net: -oh

Lucky for us, we live in a world of regular expressions. A php script and some regex mojo later:

<?
   if(STDIN)
   {
      while(!feof(STDIN))
      {
         $line = trim(stream_get_line(STDIN,10240,"\n"));
         $line = preg_replace('/\d{2}-\d{2}-\d{4} (\d{2}:\d{2}:\d{2}) (?:<|>)? ([^!:]*)(?:![^:]*)?: (?:-|\+)?/','\1 <\2> ', $line); //   normal text
         $line = preg_replace('/\d{2}-\d{2}-\d{4} (\d{2}:\d{2}:\d{2}) (?:<|>)? ([^!:]*)(?:![^ ]*)? /','\1 \2 ', $line); //emotes
         $line = preg_replace('/\d{2}-\d{2}-\d{4} (\d{2}:\d{2}:\d{2}) (?:-!-)? ([^!:]*)(?:![^ ]*)? /','\1 \2 ', $line); // actions
         echo $line."\n";
      }
   }
?>

And we’re right as rain (results can be seen here). That can probably be condensed some, and you could, of course, do that in whatever language you like. On a side note, you won’t realize how difficult WordPress’s Rich Text Editor can really be, until you have to wrestle it into showing properly indented code. Every time I save this post, WordPress mangles my code again.


JoeTerranova.net

linux
New Jersey LoCo Team
Planet Ubuntu
ubuntu

Comments (1)

Permalink

Why I hate Vonage

(and Comcast Voice, Voicewing, Skype, and most other VOIP Companies you’ve probably heard of)

SIP. Asterisk. FreePBX. Open standards, Open Source. The back bone of VOIP. Yet  most VOIP users have never heard of them.

I have an asterisk server set up in my house, connected to a Linksys PAP2 sip to analog client, which is hooked up to two phone lines in my house. I have an account with sipphone.com, which provides me with POTS (plain old telephone service) for free incoming calls and 1.5 cent outgoing calls. I have a direct SIP address for my asterisk box, which allows for completely free direct internet calls. Furthermore, my phone number is registered with ENUM (a service which allows for phone number resolution, ie this phone number goes to this sip address), which allows anyone using ENUM to simply put in my number and connect to me directly through SIP. ENUM allows completely seamless integration of VOIP and POTS: if you’re calling someone still using a regular telephone, your provider connects for you and you’re charged accordingly; if you’re calling someone whose also using SIP, it’s completely free. As more people switch to the new system, the system runs even better.

A few acquaintances of mine (who I apologize to for this rant) use VOIP,  and are one of the reasons I set this all up — so I can have a cheap, low-traffic number which I can use from anywhere with an internet connection, and doesn’t wake up the whole household when someone calls. I gave them the number, but said that they could also just dial my sip address, to connect directly.

Their response?

“What’s that?”

The reason? Almost every provider handles all their telephony using SIP (or AIX) and uses asterisk (or similar) PBX to handle it. Yet, though the protocol is built to do it, none of them use enum, none of them provide a SIP address, and none of them support direct internet connections.

Can you imagine if you were charged every time you emailed someone using a different email provider, because your provider printed out the message, put a stamp on it, and mailed it to the other provider? Of course not! Yet we allow VOIP providers to take our call, run it over an analog phone line, to send it to another VOIP provider, and charge us for it. And why would they do otherwise? Comcast Digital Voice charges 27 cents a minute to make a call to Argentina. If you and your other party were both using a provider that used an open SIP system, you could connect directly, through SIP; instead, they’re collecting quite a bit of money for not a whole lot of effort.

As a result of greedy, commercial VOIP services, we’re transitioning from our analog phone system; instead of transitioning to free, ubiquitous voice service over open standards, consumers are buying into walled gardens, paying for cheap(er) phone service when they can be getting it for cheap(er(er)) and, much of the time, free.

The devices sold in stores are locked to a specific provider, locking out choices and other services. The PAP2 is a Linksys adaptor, coordinating SIP connections with analog phones.  Yet, you’d be hard pressed to find one that isn’t locked to a provider,  stopping you from having incoming or outgoing direct (and free!) SIP calls. Search for SIP at Best Buy, or Circuit City. Nada. Search for voip on Best Buy or Circuit City. Tons of stuff … locked to Vonage, Skype, or some other VOIP provider (many times this is in fine print). I ended up buying mine on ebay from a company in New York. You can usually buy SIP devices online, but you’ll never find an unlocked one in the store.

The world is slowly moving to VOIP, and those of you reading this will be among the first to switch over (if you haven’t already). Please, please, before switching over, consider how the provider you’re choosing 1) handles control over the hardware (usually you have none), 2) connects to other VOIP services (usually it doesn’t). Odds are, you’ll find yourself in a position you’re not very comfortable with. Look at asterisk (a free pbx server), FreePBX (a free frontend to said pbx server), and Trixbox (a free distribution that sets up said systems automatically). Check out Fabian’s How-To on installing FreePBX on an Ubuntu server if you’d like to use Ubuntu instead (like I do).

Most importantly, don’t accept a VOIP provider until you understand exactly what you’re accepting. There is choice, it just won’t be found in your local electronics store.


JoeTerranova.net

New Jersey LoCo Team
Planet Ubuntu

Comments (13)

Permalink

I need more Ubuntu Shirts

Yesterday, I walked around campus with my Ubuntu shirt on, going to 2 classes over the course of 4 hours. During that time, I met 2 people that stopped and said “nice shirt!”, who also used Ubuntu, and were interested in the NJ LoCo team.

Therefore, what I think I need to do is wear as much Ubuntu propaganda I can — an Ubuntu shirt every day, an Ubuntu hat, a bumper sticker that says “Honk if you like Ubuntu! (Also go to nj.ubuntu-us.org)”, maybe even a huge button on my shirt that says “ask me about Ubuntu”. Around 65K people should be using Linux in New Jersey at the moment, so hopefully we’d have a very large LoCo team in a short time span.

Also, as a result of some annoyance yesterday, I wrote a rather long rant about why I hate most commercial VOIP providers. I think I’ll hold onto that until I’ve culled it into being “Informative” instead of “tearing off faces and using them as hats”.


JoeTerranova.net

linux
New Jersey LoCo Team
Planet Ubuntu
ubuntu

Comments (9)

Permalink

Gutsy Continues to Impress

On Tuesdays, I have a 3 hour night class, in which all the outlets don’t work, so I’m only running on battery. Two weeks ago, I hardly had enough battery for 3 hours on a full charge; today I came with 80% charge, which lasted the entire class, and still had some to spare. Looks like those intel patches are starting to pay off for battery life.

Gutsy includes Firefox 3 (gran paradiso) in universe. While I have noticed some strange rendering in places, and some strange crashes, it uses less memory, and starts in 2 seconds instead of 15.

Today I was using Valknut, a Linux Direct Connect client, but noticing some issues with downloads. I went to look for another client, and found that DC++ (for those unaware, the best windows DC client there is) was ported to Linux and in universe.

addremove.png

Lo and behold, works and works great (including those pesky downloads)

linuxdcpp.png

As for what I’m doing besides slacking off, I wrote a little script to solve sudoku (still needs a little work), I’m working on the approval application for NJ, I’ll be at CHLUG on Friday, and hopefully I’ll nail down plans for a release party very soon!

Update:

As markrian pointed out,  the sudoku script had a parse error! Shortly after my post, I fixed an sql injection problem, and accidentally introduced a parse error. Fixed.

Fabian asked  what the heck Direct Connect and Valknut were. Good point! Direct Connect is a file sharing protocol. It’s really popular at universities, as it’s very easy to set up local Direct Connect servers for the University LAN. DC++ is the most popular client for Direct Connect on Windows; Valknut is based off the linux project dc_gui, but never really worked well.


JoeTerranova.net

linux
New Jersey LoCo Team
Planet Ubuntu
ubuntu

Comments (4)

Permalink

Bad Behavior has blocked 185 access attempts in the last 7 days.