June 26, 2008

What’s Aptana Up to?

Ever since they first appeared on the scene, I’ve kept an eye on Aptana. First, because I like knowing about the IDE options available to me for the various languages and technologies I work with but also because they had taken on one of the few Ruby IDEs that I had been comfortable with, RadRails.

Of course, I haven’t been using Aptana recently since most of my recent work has been in PHP and with ExtJS and I hadn’t been really happy with Aptana’s support (as I’d last seen it) for either. So I was excited to hear that there was a new beta version of Aptana available that had better PHP support. And when I checked out the news, I was even more excited to learn that there was also something called Aptana Cloud in the new release!

I did some further checking and all that I read seemed to indicate that this was something that I’d be really interested in :) So I went ahead and applied to be a beta tester yesterday and today in the morning, when I checked my e-mail, there was my invitation to join the beta. Talk about fast!

I was busy most of the morning doing other stuff but just got time to start doing a little work with Aptana. And so far, I like what I see :) There is a new home screen which looks sparkly and pretty and there’s lots of new stuff to discover and explore. Of course, the first thing I did was to create a project based on an existing application that I was working on and then create a Cloud for it. And let me tell you, the Cloud creation couldn’t be any simpler (or faster) even if they tried :)

I had my Cloud, and a blank website, up in less than a couple of minutes. Then I used the project synchronization feature in Aptana to upload all my project files to the server. Two or three mouse clicks and the project synchronization was underway. Once the synchronization completed, I took a look at the various server status information displays which are accessible from within Aptana itself. Pretty nifty. I could check on server status, browse the databases on the server and do several other things from one centralized interface!

I then changed one of the project files externally by overwriting the version in the project directory with a different one and tried synchronizing again. Aptana did a comparison of the two sets of files and let me know that the changed file needed to be synchronized again. So far so good! But when I checked, it turns out that Aptana had downloaded the version on the server down to my local machine because the local version was older. Ah well, guess I can’t expect it to be a mind reader :p

There’s a lot of other stuff to explore in the new version of Aptana that I still haven’t gotten around to because the evening’s coming to a close and I have to get going. Hopefully, when I have a spare moment, I’ll be able to come up with another blog entry detailing my further adventures with Aptana Studio …

Tags: , , , ,
Posted by Fahim at 5:58 pm  |  No Comments

June 15, 2008

True Knowledge

Like most people, I use Google most of the time when I need to find some information. I do my unit conversions in Google too – if you didn’t know how to do that, you can simply type in "20 km in miles" or "10 usd in lkr" into the query box and you’ll be provided with the correct conversion. But what about the times when I need specific information? Like say Sir Issac Newton’s birthday?

What I’d normally do is go to Wikipedia, look up Sir Issac Newton and find the information. It’s not that hard but it could get a bit complicated if I misspelt the name or if I’m looking for somebody who might not be listed on Wikipedia yet. And then there’s things like "How old is Michael Jackson?". Nothing that I knew of, till now, would give me that answer because it’s an ever changing answer.

Well, that’s where True Knowledge comes in :) It *can* tell me how old Michael Jackson is! In fact, it is a new search engine which tries to answer your questions with a direct result rather than a list of search results which might (or might not) have the answer you’re looking for. You should really take a look at their demo video to get a clearer overview of the capabilities (and goals) of the search engine than my not very clear or concise explanation :)

True Knowledge does a lot more than tell you how old Michael Jackson is. It can answer questions by inferring the answer using the facts in its database. If True Knowledge does not have the answer, you can even submit a correct answer yourself and expand the extents of the information contained in their database. Pretty cool :)

The search engine is in beta at the moment and so you need to get an invite from them to participate in the beta testing. However, it is well worth testing out if you are geek just to see where search engine technology is headed :)

Tags: ,
Posted by Fahim at 7:01 am  |  2 Comments

June 6, 2008

Ruby, Ruby, Ruby

I formatted my OS partition and re-installed Vista a month or so ago. At the same time, I did a complete overhaul of my old applications partition and removed a lot of folders/apps that I had had installed that I hadn’t used in a long time. Ruby was one of those folders to go since I don’t do much Ruby development. However, I wanted to re-install Ruby yesterday because I wanted to test out the latest crop of Ruby IDEs. But would you believe that there appear to be no instructions anywhere on how to install Ruby on Windows manually?

Most other languages/compilers at least have a text file which describes how to set it up under most of the major platforms. But Ruby simply says something along the lines of "if you don’t know how to set Ruby up manually, then you shouldn’t be trying to do so. Instead, use the one-click installer." Wherever I looked for help on installing Ruby manually under Windows, all I saw were references to the one-click installer. No info on how to do the deed yourself if you wanted a svelte and compact installation that had just the bits you wanted.

So I decided to try it myself :) And here are the steps in case somebody else is looking to find out how to install Ruby manually under Windows.

  1. Download the Ruby binary ZIP file from the Ruby site’s download page. At the moment, the latest stable appears to be 1.8.7 and the development version is 1.9.0. But this will of course change.
  2. Extract the ZIP file (keeping the folder structure intact) to the folder where you want Ruby installed. In my case, I extracted everything to D:\Ruby.
  3. Add the Ruby bin folder (in my case, D:\Ruby\bin) to your system path.
  4. Download zlib for Windows from the site and copy the zlib1.dll (from the bin folder inside the ZIP file) as zlib.dll (the renaming is important) to either your Ruby bin folder or to your Windows system folder. (I believe it just needs to be in your system path somewhere).
  5. Download iconv from the Sourceforge site and add the iconv.dll file (from the bin folder inside the ZIP file) again to your Ruby bin folder or to your Windows system folder.
  6. Now download RubyGems to add gems support to your installation of Ruby. You can either download the ZIP file or get the .gem file but my instructions are for working with the ZIP file since there is no .gem support in the installation of Ruby we’ve done :)
  7. Extract the RubyGems ZIP file to a temporary folder.
  8. Open a command prompt, change the folder to the temporary folder from step #7 above and run the following command:
    ruby setup.rb
  9. Once the gems installation completes successfully, you can remove the temporary folder and your Ruby installation should be ready :)
Tags: , ,
Posted by Fahim at 6:23 am  |  No Comments

June 5, 2008

Plugging Away at Plugins

Interesting how things work sometimes depending on the test data. I use the WP-ShortStats plugin to keep track of the traffic statistics to my blog. And of course, one of the most interesting stats to watch is the search keywords because sometimes you get such weird stuff :)

I like the WP-ShortStat plugin because it is compact, unobtrusive and gives a lot of stats which warm the cockles of a geek’s heart :) However, a couple of days ago, I noticed that the plugin was giving me only a couple of search keywords instead of the longer list I had been used to getting before that and none of the terms which had appeared for a couple of weeks before, were now appearing. I thought maybe there was some automatic purging code in place which removed older entries and thought no more about it. At least for the time being.

Today, I felt like doing a little bit of digging since the ShortStat display was getting cluttered by lots of spam referrers and so on. So I took a look at the plugin code. It turns out that the plugin simply pulls the last 100 records matching certain criteria to give a list of search terms. So I ran the query on my data to see what I got. I noticed that of the 100 records returned, very few actually were search queries :)

So I took a look at the SQL and the ShortStat plugin code to see if there was a way to improve upon the code. It turned out that I could add an extra condition to the SQL query to return results which were more likely to be search queries. I did that and I suddenly had a full list of search terms in my WP control panel again!

I’m sure that the WP-ShortStat developer did a lot of testing of the plugin before you released it. However, as I mentioned initially, sometimes it’s the data which determines what sort of output you get. And no, this is not really a bug in the plugin but it did explain some unexpected behaviour and in case somebody else is in the same position I was in, hopefully this clarifies what is going on :)

Tags: , , ,
Posted by Fahim at 11:31 am  |  No Comments

June 4, 2008

Loafing Around

Some time back, I wrote about my search for a good time tracking application and how I couldn’t find anything which really met my needs. As I mentioned in that post, I coded my own app, named Loafer, since I wanted specific features from a time tracking application. At that point in time, I wasn’t sure if I was going to release Loafer as freeware or not.

However, I realized that I liked releasing applications that I found useful, as freeware. It seems wrong to charge money for an application just because I can code it and somebody else can’t. Besides, if I were to charge money for the app, I would have to handle all the support issues that come along with a paid app 😀

Anyway, even after I had decided to release Loafer as freeware, I never got around to doing it since the app wasn’t totally complete. It was able to track time without any trouble but I wanted reports, I wanted billing management and I even wanted some way to do invoicing. At last, I’ve got most of that in place (minus the invoicing) and so I’m ready to release the first version of Loafer to the public. Go get it from my downloads page

It does what I want from a time tracking app but you might want a lot more. If you do, do drop me a line and I’ll see what I can do about adding the extra functionality in :)

Tags: , ,
Posted by Fahim at 11:18 am  |  No Comments