Open Source


12
Aug 08

Updated WordPress

I finally decided to update wordpress and the plugins that I use to go with it. The update seemes to have gone well, and I believe that my site is still working fine. My theme still seems to be working too… though I think I need to figure out the Newer, Current, and Older Post links a bit better because

I really don’t like how they show up at the bottom there when you are cycling through the posts. I also found out that the version of wordpress you are running is found in a meta-tag on your site… Might as well have it written down in plain sight (in the footer maybe? No, the number in my footer has nothing to do with versions, it is the number of times that WordPress hits the database to generate the page…). I think I am going to hack that part of the code out of WordPress. The offending bit of code:

<meta content="WordPress 2.6" name="generator"/>

You wouldn’t even need to be clever at all to hack my blog if it were out of date, a lot of the vulnerabilities are made public, a simple search for WordPress + 2.3 + vulnerabilities would turn up a bunch of hits (and it does):

… about 157,000 for wordpress 2.3 vulnerabilities.

You probably would not get the same amount of results if you used cuil.com instead (burn!).

Ok, I think I am done ranting about this for now.

Time for some learning:

You need to a flashplayer enabled browser to view this YouTube video

Zinc Oxide is important.


11
Aug 08

Why implement PHP in Java?

First of all, why not? Everything else can run on the jvm (yes… even c#), so why not php? Well… I certainly don’t see why not… Java is a fairly robust language with a pile of different libraries and (as you saw if you clicked on any of those links) languages that can run on it. It is ideal!

Don’t like php’s random function? Why not use Java’s? Not your cup of tea? Use ruby’s instead, or python’s, orĀ  write one in COBOL if you are really brave.

It also means that you can implement the functionality in Java, the database transactions in Ruby, then write all of the presentation in PHP, no clearer MVC separation than that eh? Admitedly it might get a bit confusing and I may be over exaggerating about the possibility of these implementation’s cross communication abilities… but it would be great if you could (I might test it later…).

http://www.caucho.com/resin-3.0/quercus/index.xtp

Go check it out!


6
Aug 08

Xampp Virtual Hosts

One of the tools in my tool box is xampp, which seems to work better than trying to install everything bit by bit (at least it did at work). One thing I never considered was setting up virtual hosts for each project, I always worked from a folder so that to access the site I went to:


http://localhost/sitename

That is fine, but what happens when you are working with a site that needs to be the root site (ie: it has links like /page_name.php which bounce you out to the root)? In that case you need to set up a virtual server. In xampp they have separated the files out to ‘make it easier’ on a user to find what they want. Sometimes this is not the case… so here is how to setup a virtual server (at least it worked for me) on Windows Vista (and XP, and with some small modifications Linux and Mac as well).

Find the httpd-vhosts.conf file, it should be:

    C:\xampp\apache\conf\extra\http-vhosts.conf

if you installed it in the default location.

Then go to the bottom of that file and add:

<VirtualHost *:80>
  ServerName http://sitename.127.ca
  DocumentRoot C:\xampp\htdocs\sitename
</VirtualHost>

if that doesnt work, then there might be something in the http.conf files that is stopping access to that folder, in that case, add

 <Directory C:\xampp\htdocs\sitename>
    IndexOptions +FancyIndexing NameWidth=*
    Options Includes FollowSymLinks Indexes
    AllowOverride All
    Order allow,deny
    Allow from all
 </Directory>

So, you have:

<VirtualHost *:80>
  ServerName http://sitename.127.ca
  DocumentRoot C:\xampp\htdocs\sitename
  <Directory C:\xampp\htdocs\sitename>
    IndexOptions +FancyIndexing NameWidth=*
    Options Includes FollowSymLinks Indexes
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

While you can probably put the site in any folder on your computer, it makes sense organizationally to keep them all in the htdocs folder (at least it does to me…), so that is why the example uses the path

    c:\xampp\htdocs

You should now be able to access your site by going to:


http://sitename.127.ca

For why 127.ca see this site.


7
Jul 08

Komodo Edit on Ubuntu (Linux)

I use Komodo Edit all the time on Windows (XP and Vista) but up till now I have not used it in any Linux environment. I decided it was time to take the plunge and try things out. First I had to download the tar file from the activestate website (here), that was easy, the one thing that I was wary about was this:

AS package (libcpp6)

I had never heard of that, but as it turns out it is an [A]ctive [S]tate package. So, not a problem. When I got it there was an install .html. It had all of the instructions for all of the operating systems. As it turns out that was a bit overkill considering this was the Linux version not a Windows one or a mac one…

The only thing that I needed from the help file was the information that you had to install these packages (I use apt-get to do it, you might use something else):


scim scim-gtk2-immodule scim-qtimm scim-tables-additional

You might also need to install these ones if they are not already in your Linux of choice:

glibc libjpeg libstdc++

You will also need to have perl installed.

Finally once those packages are all installed you can run the install file

./install.sh

And then once that is done (you get to chose the path that it installs to (I left it as default because I am the only user of this machine), add komodo to your path by entering:

export PATH="/home/[username]/Komodo-Edit-4/bin:$PATH"

in the terminal (well, that is the quick way, you would probably have to type that in every time you wanted to use it… a better way is to add that line to the end of your ~/.bashrc file).

You could also create a symbolic link to it:

ln -s "/home/username/Komodo-Edit-4/bin/komodo" /usr/local/bin/komodo

Finally, you can just type in komodo to run it, or create a link in your menu (or on the desktop) to run it.

Once I get some money, I will probably be buying the full version (Komodo IDE) which has more features in it. Until then, I am more than happy with Komodo Edit 4.

If you have any problems installing it, please refer to the install file that they include as I have skipped some of the stuff that did not have any relevance to me.


23
Jun 08

Batch Editing Photos with Phatch

My dad was looking to edit some photos to be able to send more than just a couple through email. He needed something simple, all he really wanted to do was either lower the quality or shrink the image (make the file smaller than the 2 mb that it started as). The other requirement was that it runs on his eeePC which is the linux version.

There were many options out there, and eventually he did settle on something that was already on the system (what appears to be an equivalent to MS Paint). I however found something way more interesting to play with. It is called Phatch (cleaver name eh?). And yes, it works on Windows too (since Kris was complaining about her large number of overly large photos).

The interface is simple, and I am sure that even a trained monkey could use it, so there is no excuse not to try it out. Well… maybe if you are on a mac there is already a program for this seing as it is monopolistic and all, or you are still running dos or something silly like that… no… wait, you can use the command line too, nevermind… even you DOS traditionalists can use it (ok, don’t quote me on that one, I don’t think it really works in dos… but seriously, upgrade your system). Infact, as I write this post I will be installing it on vista (here’s hoping that it works, or I will look like a dummy (more so than usual)).

First you have to get Python from here. Or if you are on Linux you probably already have it installed (or use apt-get install python). For some reason python does not add itself to the path variables in Vista (not sure about other versions of Windows). Thats not a problem though because python associates all of the .py files with python so all you have to do is double click them (booya!).

Next, you need to install wxPython (Python bindings to the wxWindows cross-platform toolkit) from here. For Windows scroll down and find the one that is suited for your version of python (2.5 is the latest one as of this post) you will most likely want the Unicode version (as it says on the page). Then I am asuming at the end of the install process you want to leave everything checked except the viewReadme (unless you will be using it to write software).

Finally if you want to install pil (Python Imaging Library). Which is available here. Once again, download the one for the version of python that you downloaded (pil 1.1.6 for python 2.5 for me). Install that (there were some “could not create file” messages for me, but we shall see what happens). It all works by the way.

If you are on Linux there is one more step and that is to install findutils. Which is apparently used to add search functionality to programs.

On ubuntu all I had to do was download the .deb file and install it from there.

Now you are ready to install phatch from here (at the bottom of the page beside the number 2).

Ok, moment of truth, I am downloading it, and I will try to install it as soon as I unzip it (if you cannot unzip the file get 7zip and you will be able to do so no problem. Inside the unzipped folder there is a folder called Phatch, this is where the program is run from (mine is at C:\phatch\phatch). And here is the running program:


Moving on…

Once you have what appears to be a working program you can start the magic. Click on the plus sign like it tells you to (see what I mean about monkeys?) and you are confronted with this screen:Phatch Actions

This screen contains what I can only assume are the “most common actions” that the author of the program uses. If all you are doing is changing the size you are fine. So, click on Scale and you are given the options for that action as you can see here:

Scaling options

Each one of the rows that you see here (the last one of which is highlighted in blue) is clickable and editable. In the image I have left the standard settings but you can change them if you want. Once you have chosen all of the things you want to do to the images (or image) add a save action to the end (if you forget phatch will remind you (I think)), choose the options for saving it. Where you want to save them, what you want the files to be called, the type of file (I suggest png as it is quite portable and has really good quality). Then click the play button (Execute the Action). You can actually just leave it all alone and it will automagically use the same file type, and create a folder with _phatch on the end. The end result will be a new folder in the location that you decided full of your creations. Beautiful.

But, we are not done! Thats right, there is more. Once you are happy with the result of all of your tinkering, you can save your Action list for later. If you want to be even more creative, you can do File -> Export -> Action List Droplet. This makes an executable that will carry out all of the actions that you have used in this action list. This means that you can send your action list to a friend and tell them to drag and drop a folder onto the executable and they will get the same fun actions done to their photos. Apparently it just links phatch up to your script and runs a windowless version of python. I think I prefer to just open up phatch and drop a folder on it instead. You need to install the Python Win32 Extensions (which can be found here the one in the big green box) to be able to do this. You might have to restart Phatch after you install this. I am about to find out. The answer appears to be yes.

Here is my Cool Action List Droplet. Try it out!

Apparently it needs python to run, but mine cannot find pythonw. Fortunately this is easy to fix by adding python to your path variables.

Control Panel -> System -> Advanced (Settings) -> Environment Variables (at the bottom)

Look in the System Variables box (the bottom one) for the variable called Path select it, click on Edit and add:

;C:\Python25

To the end of it. Click Ok and then close all of those windows. You should be good. Though apparently mine is still not for some reason. Oh well, all I have to do is look for pythonw (which is in the python folder (C:\Python25) and click it when it asks me to and all is good. I am not really sure why this is a problem (probably a different version of python than this was written with), and I am not about to fix it myself seing as I do not know python. I might inform the author of this small problem though.

Oh ya, and if you want to share with your friends that are not on Windows you can just send them the .phatch file. Like so.

Here is the end result of my phatch file if you don’t want to try it out.