OhLife – private blogging via email

Over the years that I’ve been blogging, quite a few people asked me if I know of any easy way to maintain a private blog.  They seemed to not care about the rest of the world and just wanted a private diary, but without paper and without too much technical hassle.  Of course, there are many applications, like WordPress, that could be installed on a personal computer and used in private mode.  But that still seemed too much work for a diary.  So I never really had a good answer, except use any text editor and save files in some date-based directory structure.

Recently I came across a very elegant solution to the problem though.  OhLife is a simple and straightforward blogging service.  It has two very distinct features that together set it apart from most other blogging services.  It enforces private blogs – only you see your entries.  No public stuff, no friends, no nothing.  And they help you build a habit out of blogging by sending you an email every night with a question “How did your day go?“.  This seems so natural and so simple that I can’t think of anybody who won’t be able to do it.

OhLife sample email

Urchin – Google Analytics in a box

Google Analytics has proven itself over and over again as an extremely valuable tool for pretty much everyone interested in website statistics.  But as awesome as it is, Google Analytics has a number of limitations.  These don’t come handy when you need to analyze non-public websites, such as intranets or web-based services behind closed firewalls.  Sure, there are plenty of alternatives to Google Analytics that you could go with.  But what if you wanted to stick to Google Analytics?  I thought you couldn’t (that is without tricks and ugly workarounds).  Apparently, I was wrong.  You could.

Urchin is a packaged Google Analytics application that you can run on your own servers, under your full control.  There are a few features in Urchin that are not in Google Analytics (mostly due to Google Analytics not having access to your server logs).  Here are the interesting ones:

  • Process historical logs
  • Status & error codes reports
  • Individual visitor history drilldown

These are things that you don’t probably care too much, if you only have a couple of personal blogs to manage.  But if you are a company with a few busy websites and large chunks of your revenues spent on the online advertising, you’d want each and every bit of information, including the above.

One other reason that probably only the enterprises will be interested in Urchin is the price.  While Google Analytics comes to everyone for free, you’ll have to pay USD $9,995 (yes, almost ten thousand!) for the Urchin license.

And even though the price is quite prohibitive and will leave most people still using Google Analytics, I think it’s nice to have this option.

ORM Designer

Here is a tool that might help you with your MVC framework, like CakePHP, Symfony, and others – ORM Designer.  In essence, it is a graphical user interface for drawing a visual representation of your project (such as an Entity Relationship Diagram (ERD)) and than converting it into the code.  You can specify which framework and which  ORM you want to use and it will generate the appropriate bits and pieces.  What’s even more interesting is that it has import functionality, which means that you can start using it with an existing project.  Here is the video that shows and explains more.

[youtube=http://www.youtube.com/watch?v=FNlmU6zX5Ug]

Of course, I got excited about it, downloaded and installed.   Two things that disappointed me were:

  1. It’s a native Windows application, which runs on Linux through the wine emulator.  While it works fine, I’d much prefer a native application that I could integrate with the rest of my development environment.
  2. CakePHP import is not supported at this time.

Other than that though, it looks very promising.  I’ve seen quite a few applications that help with database design, and ORM Designer stands well in that row.  You can create entities, define fields, specify indexes, and associate entities with each other using relationships.  Many-to-many relationships are supported, as are entity inheritance.  While inheritance does make it for a bit more complicated structure of the project (with app/models/base/ folder for CakePHP), it’s very nice to have such support for bigger, more complex projects.

The project is commercial, with a 14 days evaluation version available for download. If you like it enough to buy, the price is very reasonable – 99 EUR per license.

Try and see if you like it, and provide some feedback to the guys who are developing it.  ORM Designer has all the chances of becoming an extremely useful tool and since it is still in its early development, your feedback would be of the most value.

Shell keyboard shortcuts

I came across a very useful post with the listing of many shell keyboard shortcuts.  The article covers a mix of bash, csh, zsh, and Cisco shell keyboard shortcuts.  The article is in Russian, but I think it will be helpful for more people, so I took the liberty to translate it.  Continue reading for the translation.

Continue reading Shell keyboard shortcuts

Convert WordPress tag to existing category

By now most people have figured out what is the difference between categories and tags, and which ones to use where.  But that doesn’t necessarily mean that the problems are over.  Once in a while there is a need to convert from one to another.

WordPress provides the tool to convert from categories to tags.  But I needed something for the reverse process.  In fact, I had a slightly more complicated situation – I already had both a tag and category with exactly the same name, and a whole lot of posts which were tagged, or categorized, or both.  Messy!  I was looking for a quick way to add all posts tagged with specific tag to the category with the same name.  Once that is done, I could easily delete the tag.  After a few Google searches, nothing straight-forward came up, so I decided to not waste anymore time and wrote my own little script.

Below are the pros and cons of my approach.

Pros:

  • Standalone script, not a WordPress plugin.  It is not utilizing any of the WordPress configuration or functionality, but raw PHP and direct connection to the database.  You can do a dump of your database, restore it on a totally different machine and play with this script until you are sure you are getting the expected results.  No worries about screwing up the live database.
  • Requires both the tag and the category to be present.  It will not proceed unless it will find both.
  • Safe.  While there is no undo for the effects of the script, it still works pretty safe.  Nothing is ever deleted or updated in the database.  Only the new records are added – for posts to appear under the selected category.  Nothing else!

Cons:

  • Standalone script, not a WordPress plugin.  It is not utilizing any of the WordPress configuration or functionality.  You will have to specify your database credentials by editing the script.  You will also might need to change SQL queries to reflect your WordPress tables prefix.
  • Runs from the command line.  If you don’t have access to or don’t know how to use the command line – tough luck!
  • Code quality.  I wrote this as a very quick and dirty solution to my problem.  It is not intended to be executed frequently.  Neither it is not intended to be executed by someone other than myself.  Yeah, I know, this will probably change, but I don’t care at this stage.

Now, you’ve been warned, so I won’t be holding you off from the source code any longer.

Continue reading Convert WordPress tag to existing category