I'm an experienced web developer, software engineer, and leader. Welcome to my blog. If you need to reach out you can continue the conversation with a tweet to @geedew. I hope you find what you are looking for here. You can also find me on Github and StackOverflow.

JavaScript / PHP - Source Documentor for JavaScript

I’ve begun putting together an idea for a PHP program that will document JavaScript. In the general sense, it will need to have a good lexical analyzer because it need to understand the syntax and the buildup and creation of the functions and classes. I’m going to outline some goals that are needed for me to use a program like this.

Requirements

  1. Must be autonomous
  2. Must be able to Add/Edit Comments, without having to directly change the source files
  3. Must contain revision controls
  4. Display of the output must be adaptable easily
  5. Must contain an API to access from “afar”
    With those five initial setups, I think I will start to build some thought expirements to figure out exactly what I am talking about. Should I implement SVN into it? ScriptDoc formats? JavaScript engine for analyzing? Lots of different things.

Come back to this post for more info later. I’m going to search out other programs that implement some of these things to figure out if there are any.

Help appreciated :)

Saving Battery on your Lenovo X61 in Linux

here are some issues with the power manager in ubuntu and tablet. There was alarge discussion you can find here.

But basically to save power and time you should run without atime by following these commands

Make sure you have vim-full installed

sudo apt-get install vim-full
This is a powerful editor, the lite edition is confusing to some, ignore this if you would like to use gedit (think graphical editor) just replace `vi` with `gedit` in the commands Next,
sudo vi /etc/fstab
Find the line that looks like this, _ UUID=65d4f3af-6###-4767-b###-4aa28b61b### / ext3 defaults,errors=remount-ro 0 1 _ Do not copy my line, your likely to have issues if you do so. Make the line look like this by pressing `insert` and moving the pointer to the place and typing in the text, hit 'esc' and then 'shift + v' twice _ UUID=65d4f3af-6###-4767-b###-4aa28b61b### / ext3 defaults,errors=remount-ro,**noatime** 0 1 _ Restart your system or run this command
        sudo mount -o remount /

Updating Ubuntu to Newest Wacom

Most users of linux need not be concerned with updating Wacom. But there are many out there that should be. Namely, those that are using tablets or have a tablet PC. Wacom is probably the number one driver manager for tablet hardware in linux. Unfortunately, it’s a driver that too often gets fuddled with and not upgraded.

You can check your current version by running this command in a terminal (Applications->Accessories->Terminal)

dpkg -p wacom-tools  | grep Version

You should get an output of something like this

Version 1:08.1.4-0ubuntu3

If that has 08.2 instead of 08.1.##, then you can disregard updating (Understand that this post is from Dec 08, a new version can be found here when they come out).

To solve this, you should always keep your wacom updated to the newest version. As with this post, the newest version is 0.8.2 (The Linux Wacom Project). Intrepid Ibex, the current release of Ubuntu, ships with .8.1-4. .8.2 adds some new features, like better touch support. Users with an X61T like me would LOVE to have this back after frying Vista.

First thing you should do it download the newest version here - 0.8.2

**This is a pre-built binary. If this doesn’t work for you, you should read below.

Download the file to your Desktop and unpack it using the archive manager. You can delete these files when your finished.

Run these commands

cd Desktop/linuxwacom-0.8.1-6/prebuilt

sudo ./uninstall

sudo ./install

The last step is to press ‘ctrl + alt + backspace’ to restart your X11. This will log you out of X11, so make sure to save anything you have open.

For those users that are unable to follow these steps because of errors. You may need to compile the drivers on your own. You can find out the information on how to do that here.

Enjoy!

Server Accessible Locally, Not from the Internet

You can learn something everyday it seems.

Yesterday, I had some issues that I hadn’t planned on ever occurring with my local development server. Basically, the issue was discovered when my server suddenly did not have ANY access from the internet. Now, it DID have access to the internet, oddly enough, and I could reach it via hostname through my local network. The first issue I figured it would have been was a router problem. Namely port forwarding was getting messed up. My server is set statically on my network, so the port forwarding should be fine, and Remote Desktop to my XP machine works fine from the outside world. So the router is NOT the issue. Next step was DNS. Maybe my dns is messed up? I checked out my /etc/resolv.conf

> vi /etc/resolv.conf

nameserver 192.168.1.149
nameserver ###.###.###.###
I blocked out the ### because this is uneeded information about my ISP. Normally you want your name servers to be a nameserver, or your access to a name server. The first shows my router, from the inner network, which is what can be here. This explains why my hostname works via my network. But it is not the solution to my issue. So I dugg a bit deeper. What was that I said earlier? Ah yes, my server has a STATIC ip. Which means I should have a static route.
> ip route
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.129
default via 192.168.1.1 dev eth0 metric 100
OK! There is my issue! My static route is pointing by default to 192.168.1.1 which is NOT my router (192.168.1.149). So a quick update to that and that should fix it!
> vi /etc/network/interfaces

This file describes the network interfaces available on your system

and how to activate them. For more information, see interfaces(5).

The loopback network interface

auto lo
iface lo inet loopback

The primary network interface

auto eth0
iface eth0 inet static
address 192.168.1.129
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.149
I edited the line in bold. This was 192.168.1.1 and now it is 192.168.1.149
> /etc/init.d/networking restart
Now the networking is reset!
> ip route
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.129
default via 192.168.1.149 dev eth0 metric 100
default via 192.168.1.1 dev eth0 metric 100
And Wa-Laa! All done. Now I can access my server via the internet from anywhere as it should be always.

Lesson learned I guess. Hope this helps some others stump issues they are having with static networking on linux.

How To Fix: InnoDB has been disabled for this MySQL server.

I was in the middle of installing program that I have been working on and I encountered a very peculiar error, but I was able to eventually get the answer. Not many people have been able to come to the conclusions that I have come to, so this, I am sure, will help a few out there.

I went to add some InnoDB tables and was returned with the error :

“InnoDB has been disabled for this MySQL server.”

I was running Ubuntu Gutsy with my MySQL installed via apt-get install mysql-server-5.0.

Now, most places on the internet keep telling me that I have to uncomment out the line ‘skip-innodb’ from my /etc/mysql/my.cnf file. This file is also known as my.ini file on some other *nix distributions. I am running mysql 5.0 SO this is ALREADY uncommented.

After 3 apt-get -f –purge remove mysql-server-5.0 and and upgrade to Ubuntu Hardy, I recovered the answer. You see, InnoDB is very touchy. If it isn’t told what is going on , it just doesn’t start. It will usually throw NO error upon this issue. I’m not an expert as to why it does this, but that seems to be the case. I found that there are files in the /var/lib/mysql folder that were getting pointed to in some tutorials on MySQL.com. These files were the ibdata1 and the ib_logfile0 files. The program is outputting it’s logs to these files. Now, if InnoDB is supposed to be working, but it’s not, and these files are being pointed at by MyISAM… my understanding is there could be an issue with how the files were created. I did this as root (use sudo in front of each command otherwise)..

>cd /var/lib/mysql
>cp ibdata1 ibdata1.bak
>cp ib_logfile0 ib_logfile.bak
I was just backing them up in case of a misshap. Then I had some fun…
>rm ibdata1 ib_logfile0
After that I ran..
>/etc/init.d/mysql restart
And now my InnoDB options are running. The files have been recreated and it solved and fixed the day :)