Google launches DNS

Google’s just announced a public DNS resolution service.

They control your searches, mail, calendar, documents, phone number, browser, and operating system… it’s really hard to come up with what they’re going to do next. The only question is, how did they get such a badass IP?


Editing key bindings in iceweasel (firefox) in debian

Hello, my name is rabit and I’m posting a guest blog post on Jonathan’s blog.

If you are running a version that is 2.0 or older download this extension and save yourself the trouble.

If you search around the Internet it seems like there is an updated version of that extension that is floating around unsigned, but I figured I would give this a try.

This tutorial is intended for people running Debian Squeeze, but could be applied to other distros as well with some modifications.

I must first preface by saying I’m left handed. And that is probably the only reason why this whole adventure began.
The default mod key for xmonad is alt; most people change this to the windows key but that is just took awkward for me to use. Because of this, a lot of my current alt bindings need to be altered, including those in Firefox.

With my current setup, alt is tied to several different things. The most notable of which is Iceweasel (Firefox).

So I had two options: change Firefox or continue to suffer.

I chose to take on Firefox and change the keys. This is what I did:

Open up a terminal session as root. This can be dangerous, but this is necessary to edit the files we want to change.

sudo -s

Now change your directory to /usr/share/iceweasel/chrome.

cd /usr/share/iceweasel/chrome

Use ls to make sure that browser.jar is in here. Under normal terminal configuration this should show up red. If it is not, search for it.

 find /usr/share/iceweasel -iname "*browser.jar*"

Now that we have found it, we need to get access to the files inside. Use the unzip command for this one. You will need unzip which you can most likely get from your package manager.

 unzip browser.jar

This will extract a whole mess of files but we only want to look at one. Use your favorite text editor to tweak our target.

 nano content/browser/browser.xul

I edited this line and the few behind.
<key id="key_selectTab1" oncommand="gBrowser.selectTabAtIndex(0, event);" key="1" modifiers="alt"/>
To:
<key id="key_selectTab1" oncommand="gBrowser.selectTabAtIndex(0, event);" key="1" modifiers="accel"/>
The key id = the command that you are changing the keys to.
For the modifiers, there are a few important ones:
ctrl = accel
alt = alt
The keys = just about any key.
Once you’re done, save and exit.

Repackage the file as a jar (you can use jar or zip command for this) and you replace the old one. Make sure you back up the original.

Restart Iceweasel and VIOLA keys have been changed.


Free Business Cards with Google Voice

Google Voice announced it is offering 25 free business cards to all GV account holders.

Go to the main page and look at the bottom left side bar for a notification.

Google Voice Promo

In celebration of the relaunch of GrandCentral as Google Voice we are giving away 50,000 sets of 25 Google number cards totally free. Yep, shipping, printing and everything is included. Have a little fun and show off your Google number.


Google Voice

I recently received an invite to Google Voice which is a very interesting VoIP product from Google. Before I continue, I’d recommend you request an invite now. The invitation process is definitely a little quirky as some have reported receiving invites very fast, while others have waited for weeks now with no word.

Google Voice (GV) allows you to pick any number that they have available and use that number as a centralized phone number for all of your phones. You are able to forward calls to your cell or home landline. On top of all this, it allows outgoing text messages and management of your texts and voicemails right from the web interface. GV will also make an attempt at transcribing your voicemail to text and has the option of forwarding these to your cell phone.

Probably the best part of all is the ability to combine GV with Gizmo5 to receive free VoIP! This can be achieved because Google Voice can initiate a call by you calling it and Gizmo5 provides free calls to the US. Not only that, but Gizmo5 makes it easy and all you have to do is go to your account settings and login to GV and it will do the rest of the work for you. A decent VoIP box would allow you to rig your entire house with this service. For more information on that, see the SlickDeals thread.

Now don’t forget to request your invitation!


Installing uzbl on Debian Squeeze

One of my friends just told me about a new browser whose goal is to “adhere to the unix philosophy.” It seems pretty neat to try and I’m always up for new things, so I gave it a go. This browser is currently tested on Arch linux. Because I’m running Debian, I had to do a few things to get it working! There seems to be precompiled binaries for some of the dependencies, but I found it easier just to grab them from the unstable branch.

Here’s a quick preview of the browser before we start:

uzbl

To give you an idea of what I’m running:

$ uname -a
Linux phoenix 2.6.29-2-amd64 #1 SMP Tue May 19 07:17:34 UTC 2009 x86_64 GNU/Linux

I really can’t vouch what I’ve done on any other system, but practically any version of Debian will be fine. Ubuntu could probably be done the same way with some slight modifications.

First we are going to add the unstable branch to sources.list in order to get the required version of libwebkit

Add the following to /etc/apt/sources.list

deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian unstable main contrib non-free

Now before we update the entire system to the unstable branch, we need to configure /etc/apt/preferences; Here’s how mine is setup (note that this configuration is ideal for debian testing)

Package: *
Pin: release o=Debian,a=testing
Pin-Priority: 900

Package: *
Pin: release o=Debian,a=unstable
Pin-Priority: 500

Package: *
Pin: release o=Debian,a=sid
Pin-Priority: 500

Package: *
Pin: release o=Debian,a=experimental
Pin-Priority: 100

Update

$ sudo apt-get update

Install git if you don’t have it already

$ sudo apt-get install git git-core

Install libwebkit-dev – please note that this is the ONLY thing we need to grab; while uzbl’s site lists quite a few necessary dependencies, libwebkit-dev includes all of these so no need to worry!

$ sudo apt-get install -t unstable libwebkit-dev

Now you can get on to compilation. For those of you who are used to compiling other browsers (i.e. Chromium or firefox) this is going to be a different story. It took me about 5 seconds to compile… literally, I thought something was broken

$ git clone git://github.com/Dieterbe/uzbl.git
$ cd uzbl
$ make
$ sudo make install

Now this next step is optional, but I’d strongly recommend setting up the default config first

$ mkdir ~/.config/uzbl
$ cp /usr/share/uzbl/examples/config/uzbl/config ~/.config/uzbl/config

You should be all good to go! I won’t get into the details of using this browser, mostly because I’m still figuring that out myself. Go to the website and see for yourself.

I would like to thank Noah Fontes and some of the guys at #uzbl on freenode for making this possible.

Cheers


DD-WRT and Netgear WNR834B V2

I have been having issues with my home WAP. It’s been dropping connections and I decided it needed an RMA. In the mean time, I wanted something to hold me over, so I decided to purchase a refurbished Netgear WNR834B that Newegg had on sale ($23 Shipped!). In fact, I ordered two: one for our household and one for my sister, who is moving to Tennessee.

After some initial research, I found out that I could slap on DD-WRT; I wasn’t going to be caught dead with this crappy stock firmware.

Reading the post on the DD-WRT forum it seemed it’d be a little complicated to get it on there, but since these were crappy $23 refurbished WAPs I just got in the mail, I decided I would just try to slap the firmware right on there!

I just took a shot and uploaded the firmware to the stock netgear firmware page … and it worked!

Here’s the firmware I used: http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/V24_TNG/svn12424/dd-wrt.v24-12424_NEWD_mini_wnr834bv2.chk

Netgear WNR834B out of box

My next goal is to perform a hardware mod to rip out the internal antennas (yes there are physical antennas hidden in that chassis) and replace them with some 12dBi badboys on eBay. That should come soon!

Happy WAPing.


Setting up WordPress on FreeBSD with lighttpd

I would first like to start off by thanking Mark at RootBSD for hooking me up with a sweet FreeBSD VPS! Their customer service is top-notch. Prices are unbeatable. And best of all… I get an clean untouched installation of FreeBSD.

Please note these instructions are only validated under FreeBSD 7.0-RELEASE and PHP5.

Grabbing the right packages

Install lighttpd:

# cd /usr/ports/www/lighttpd/ && make install clean

Install mysql51-server

# cd /usr/ports/databases/mysql51-server/ && make install clean

Install PHP5

# cd /usr/ports/lang/php5 && make install clean

Install PHP5-MySQL

# cd /usr/ports/databases/php5-mysql && make install clean

Configuring lighttpd

Make changes /usr/local/etc/lighttpd.conf with your favorite editor

Setup your lighttpd configuration as you like; I created a virtual host so I could have blog.friedpancakes.com:

$HTTP["host"] == "blog.friedpancakes.com" {
server.document-root = "/var/www/data/blog.friedpancakes.com" }

That’s not all. In order for lighttpd to handle PHP properly, fastcgi needs to be configured properly.

Continue editing lighttpd.conf:

Enable mod_fastcgi at the top by uncommenting the line at the top of the lighttpd configuration file.

Before you continue, make sure that you compiled PHP with CGI.

# php-cgi -v

You should get some feedback from that. Now if that’s setup properly, you can continue.

Find the section in the lighttpd configuration file where it says fastcgi.server. Since WordPress uses PHP, this step is required for lighttpd to handle PHP properly.

fastcgi.server             = ( ".php" =>
                              ( "localhost" =>
                                (
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/local/bin/php-cgi"
                                 )
                               )
                            )

Ensure that the binary path above is where you have php-cgi.

Setting up MySQL
Open /etc/rc.conf with your preferred editor. Add the following line:

mysql_enable="YES"

This is required to start MySQL. Now start it up!

# /usr/local/etc/rc.d/mysql-server start

Proceed to create the database WordPress will use

# mysql -u root
mysql> create database wordpress;
mysql> grant all privileges on wordpress.* to "wordpress"@"localhost" identified by "your password";
mysql> flush privileges;
mysql> exit;

WordPress

Now that you have your database setup. Let’s get WordPress on the system. Obviously, make the directories specific to how you configured lighttpd.

# cd /var/www
# fetch http://wordpress.org/latest.tar.gz
# tar -xzf latest.tar.gz
# cp -r wordpress/* /var/www/data/blog.friedpancakes.com/
# mv wp-config-sample.php wp-config.php

PHP

One last thing needs to be done to get PHP to work. When you install PHP from the FreeBSD ports tree, you really are getting PHP at its most pure form. While PCRE is included by default with PHP5, it’s not in FreeBSD. So you must install this part separately.

# cd /usr/ports/devel/php5-pcre/ && make install clean

And that’s it! You should now be able to begin blogging away.


Fried pancakes?

I would first like to introduce myself.  My name is Jonathan Vogel and I am a Computer Science student at North Carolina State University.  I created this blog to contribute to the blogging community particularly in regards to computers and technology.  I may also share some of my thoughts and experiences of my everyday life!

Any feedback would be greatly appreciated.

Erm… You may be asking yourself: “What are fried pancakes?”  To tell you the truth, I sat around trying to come up with domain names and this was the first [weird] one that worked!


Search on this site:


Categories:

Links:

Meta