trees

Archive for August, 2010

I’ve decided that this will be my last blog post until after we’re back from our honeymoon holiday on the 5th September.

So if you would like to get in touch, then please do so before the 20th August 2010. After then Beki and I will be getting married (21st August) and going on honeymoon (22nd August - 5th September). I shall be picking up calls and receiving emails again from the 6th September 2010. Of course, you can send me an email during the time that I’m away, but I shan’t answer until I’m back.

Into married-life! It is a very exciting time for me! :-)

Sleeping Cats

My Kitten: Ishtar

Cats! They are amazing creatures, incredibly intelligent too. The above is a picture of one of our kittens, her name is Ishtar (named after the Babylonian/Assyrian Goddess Ishtar) - and as I write this she is currently sleeping. Our other kitten, Lucy, is also sleeping.

The web is free to roam, much like a cat should be. The web was created for collaboration, to share news and to share information etc. Paywalls will fail (see here), because there will always be, and should always be, a free alternative for the web. This is of course, my opinion, but I hope to have a worthy opinion because I’ve worked on the web for many years and have seen it grow in many ways. The web is free.

  1. When organisations first started publishing on the web they treated it very much as a way to advertise in exactly the same way as they can advertise in a printed magazine or newspaper. With a big heavy image, with hardly any detail whatsoever. This wasn’t great! It meant that the web was not a web.
  2. Luckily search engines required text and links in order for sites to be findable. So corporate websites have been slowly seeing the light since then, and have been improving their sites with text, links and search engine optimisation.
  3. Then came the idea of web connectivity. Connecting with your friends, family and business contacts over the web. This was often, but not always, using methods which were free. The Social Web was born! First Yahoo Groups popped up, and LiveJournal and then things like Facebook, MySpace and LinkedIn. Blogs became popular, and then microblogging became even more popular. Wikipedia releases free and open articles about millions of subjects.
  4. Then, in the background to all of the above, we have people making web data real workable data. People and research groups began working on things such as XML and webservice APIs, RDF and the Semantic Web, Microformats, DataPortability, OpenID, OAuth and recently WebID. The Data Boom begins to happen! With Governments, Universities, Public Organisations and Private Companies start releasing real and useful data.
  5. We also have people working on making the web more ambient, and more integrated with other things and physical life itself. Just look at Augmented Reality, Mobile Banking, WebGL, Linux Phones (e.g. Maemo and Android) and web-based operating systems (such as Google Chrome OS).

So where are we headed next? It’s certainly not News Paywalls! That would be more than one step backwards, a step back to number 1 above. There is room for paywalling out there, e.g. for genuinely useful functionality or highly bespoke reporting, but certainly not for news. It just feels wrong. I say that web users such as us need to wake up and say “no” to journalism paywalls, and The Times needs to wake up and understand the web.

Liberté! Egalité! Fraternité!

p.s. the cats can stay sleeping for a bit ;-)

MySQL Find a column

There are some really nuisance times when you just forget where a column in a database is, or possibly due to architectural reasons you know what an unlinked foreign key is called but don’t know where it is. Well, you can find out using a rather simple SQL statement in MySQL (since version 5.0). See here:

SELECT * FROM `information_schema`.`COLUMNS` WHERE TABLE_SCHEMA = "databasename" and COLUMN_NAME = "columnname";

Yes, there is a hidden database schema called “information_schema“, which contains all the metadata from all of your database schemas on that mysql server. Within information_schema is a table called COLUMNS which has details about the columns of each table. By matching the TABLE_SCHEMA variable with your DBN and the COLUMN_NAME with the name that you think it is you’ll find the tables that you’re looking for. This could also quite easily be a LIKE comparator. Yay for metadata analysis!

To give you an example. In Drupal, each node (essentially an object of any type to put it in Object-Oriented terminology) has an nid (roughly equivalent to a universal Object ID to put it in OO terms again). This is called nid in all tables, but there are no explicit foreign key declarations. So we can do this to find all occurrences of the “nid” column, like this:

SELECT * FROM `information_schema`.`COLUMNS` WHERE TABLE_SCHEMA = "drupal" and COLUMN_NAME = "nid";

Property Search Websites (UK)

Hi all,

Some of you may know that Beki and I have recently been looking for a new home, well today we found one but that’s not why I am posting today.

I want to bring to bring to your attention “Property Search Aggregators”. These are websites which grab properties (often both rentals and sales) from various sources (agents and agent indexes) and displays them to the users with some funky search technology and filters. I guess you could call it a “delegator” (to talk in a meta-systems perspective, or even an object-oriented perspective).

These four are of particular interest:

  1. Nestoria: an amazingly easy-to-use interface where you search for a location, and it comes up on a google map. It provides dimension filters such as how many bedrooms, and the price range. Plus there are further trivalued logic filters (yes-either-false), for things like Garden and Garage etc. Incredibly easy to use, and a site I recommend greatly. Nestoria is also available for countries other than those in the UK.
  2. Globrix: Much more awkward to use than Nestoria, but if you can work through that you’ll find that Globrix is packed with a lot more functionality than Nestoria, with more filters and an interesting “or” based logic search for locations. Quite neat :-)
  3. FindAProperty: FindAProperty is advertised in the local newspapers over here in Bristol, England. It is an ok site, not as clean as Globrix and Nestoria, but tends to be a little more up-to-date in terms of availability of properties.
  4. PrimeLocation: This aggregator has a nice colour scheme, it works ok, but its a lot better at providing miscellaneous additional information. It also serves a wide variety of other countries.

The one downside to these sites is that they are sometimes not updated with current statuses of the properties. For example, you may find that a rented property listed on one of the above sites is already taken, simply because its not connected to the agents systems in an effective fashion. What we ended up doing was searching on the above sites, looking at the agents sites to see if there were any further information (or an updated status), and also looking at the other properties on the agents websites. That seemed to work quite well, and that’s how we got our new home.

Thanks for reading!

Daniel

Removing names from a list of emails

You know those annoying times when you see a list of emails like this:

“John Smith” <[email protected]>
Harry Bo <[email protected]>
Lillian Frog <[email protected]>
<[email protected]>

And your task is to get rid of everything that isn’t the email itself?

Well look no more! I have a simple sed command which removes everything up to and including the left arrow for each line. Simply run this linux/unix command on a filename and give it an output filename, press enter, and bobs-your-uncle you have a new file with no names at the start.

sed 's/.*<//g' filename.txt > filename.done.txt

You will still have to open up a file and do a find and replace on the right arrow, but it saves some time! I did this for a file containing lots of email addresses a few months ago, and thought that I’d share it with the world. Hope it helps others out there.

Welcome to the New Vanir Systems Blog.

It is true that I used to have a blog called “Daniels Blog“. I hadn’t posted for a while, and it seemed to become a bit redundant. It will still continue to run in the background, but I’m treating it a bit like an archive now. It will be replaced with this blog, the Vanir Systems Blog.

The mission of this blog is:

  1. To update everybody interested with the work done by Vanir Systems, this will be using the “vanirsystems” category.
  2. To highlight interesting bits of technical news, along with my opinion, using the “technical” category. This may be on the topic of the Semantic Web / Linked Data, or Artificial Intelligence, Programming or Web Development.
  3. To highlight interesting bits of general news, along with my opinion, using the “interesting” category. This may be on the topic of religion, spirituality, theology, philosophy, psychology, or a mixture of science and technology.
  4. To provide code snippets in various programming languages, using the “codesnippets” category.
  5. To provide reviews or previews of products (hardware, software, etc), using the “reviews” category. If you have anything that you would like me to (p)review then please to get in touch, and I am sure that we may be able to work out a deal.

It will attempt to:

  1. Use relevant inbound tags
  2. Use outbound links to relevant information
  3. Be 100% valid XHTML that is reasonably POSH - wish me luck ;-) (maybe with sneaky bits of RDFa or Microformats)

Thank you for reading, and I hope you join me here again soon.

Daniel