Archive for the 'Web 2.0' Category

Well funded web2.0 one day, blurry clip art the next.

Thursday, March 20th, 2008

Here is a postscript to a failed and forgotten Web2.0 venture.

The summary for a story about botnets was decorated with blurry clipart that seemed familiar to me.
From theage.com.au March 21, 2008

Talk about “rooster one day, feather duster the next”. The the logo from officepirates.com is now relegated to blurry clipart status. Although as I said back then, that venture elected to skip over the rooster stage, and take a more “turkey one day, feather duster the next” trajectory.

Maybe it is time I got out of PHP

Wednesday, February 7th, 2007

It struck me at Kiwi Foo that PHP’s place in the world has changed. Ten years ago, it was a niche tool for solving a particular problem, the Web problem. Using it felt like an adventure, clients had to be talked into it, documentation was patchy, you might not know in advance if something was possible.

Today, a great many things are being approached as a subset of the Web problem, and PHP is everywhere. Using it is the safe, easy choice. You are almost certainly not going to be the first person to try to implement some weird functionality. You are almost certainly not going to be the company to test its ability to run large sites. You will know what you intend to do is possible before you start. PHP is on the slow downhill slope to that dusty, tweedy place where boring old programming languages go to be tended to by boring old programmers.

It will not be long before you are driving past an old people’s home near you and see a sign reading “Bingo Mondays, PHP Classes Tuesdays, Lawn Bowls Wednesdays”

The dilemma really, is where would I go?

Clearly I could not switch to Java. Now don’t get me wrong, Java is a fine language for some things, it is just that the main thing it is good for is keeping an army of people who don’t really enjoy programming but enjoy earning a decent living productively occupied and off the streets. It is not ideally suited for the Web, and it is not something I would use for fun.

Ruby is nice in many ways, and although Rails is not as nice, Ruby’s main problem is the user community. I don’t remember the PHP community when it was the same size being infected with the same degree of religious zeal and rampant fanboyism. Trying to advocate a particular piece of technology and clinging to a blind refusal to admit that your technology of choice has any flaws at all is not convincing.

Python syntax annoys me.

Perl has already descended further down the dust, dentures and bingo slope than PHP.

Some things though have not changed over the years. PHP may have its wrinkles, but it is still a great tool for pragmatic people to get a job done quickly and efficiently. That of course is the reason that I will be using PHP tomorrow, and presumably for a while longer too.

Building an Asynchronous Multiuser Web App for Fun … and Maybe Profit

Wednesday, July 26th, 2006

Here are the slides for my talk today.

I will put up a cleaner verison of the code in a couple of weeks, but here is today’s verison. It comes with an iron clad guarantee about its bug free status. I just won’t tell you exactly what I am guaranteeing.
poker.pdf
poker_0.1.zip
The mysqldump of the database

OfficePirates.com - Calling all slackers

Wednesday, March 1st, 2006

OfficePirates.com is an interesting venture*. They are aimed specifically at the 21-34 year old, male, office worker who hates his job and spends more time surfing the web than working demographic. Did you know that was a demographic? Now I will admit it is not quite like one of those job ads you sometimes read that say “To be considered, the applicant should have between 4.3 and 4.32 years C++ experience, like french fry sandwiches and be named Bob,” but it still seems fairly specific to me.

Of course, in time honoured Web 2.0 style, viral marketing is a big part of the plan. Their hordes of office slackers are, as we speak, supposed to be emailing each other to say “Have you seen the Girls in Bras video? It is hilarious.”

There are a few small problems with the plan though, the video is not hilarious, and the people behind it seem to have only passing familiarity with some standard internet practices. For example, the comment field in their blog looks like this whenever I look at it:

Closed?

Did you used to think the internet operated 24 hours a day? So did I. I am not even sure what time zone that 9-6 is in, but apparently there is only one.

Some of their stuff is quite good. I liked Half day man, and they have money and a marketing budget behind them so being initially a bit thin on content will presumably be easy to solve, but it is hard to run a major website when you don’t seem to understand the genre conventions and when parts of your technology suck. I hate the Flash video player they are using. It does not cache content, so if your connection struggles you can’t pause and wait for the download to catch up. You just have to watch it stutter.

I also keep seeing [an error occurred while processing this directive]. What is that? A server side include error message, or an early version of ASP error message? How very Web 1.0.

* and I am not only saying that because I own lots of their stock on Alexadex, or because they have a really cool logo

Update: OfficePirates.com was shut down on September 1 after failing to find an audience. Personally, I only noticed six months later because I had a broken link.

Fun with Alexadex

Monday, February 27th, 2006

In case you are not aware, Alexadex is a virtual stock market game, where the values of stocks depend on their Alexa reach ratings.

Because I have too much time on my hands, I wanted to track my portfolio value in the sidebar of my blog. Look over there somewhere —–> and you will probably see it.

In case it holds amusement value to somebody, here is the code. It relies on PHP and MySQL and just does some simple screen scraping.

The fact that this URL works:
http://alexadex.com/ad/api?&method=getQuote&url=lukewelling.com
hints that there might be an API to do this at some point, but for now, I am screen scraping. (url pulled from Cal Evans’ blog)

The database table looks like this:

CREATE TABLE alexadex (
  timestamp timestamp(14) NOT NULL,
  value int(11) NOT NULL default '0',
  PRIMARY KEY  (timestamp)
)

From a cron job I am running:

<?php
require('functions.php');

connectToDb();

$username = 'tangledweb';
$url = "http://alexadex.com/ad/user/$username";
$marker = 'total:</b></td><td align=right>$';

$current =  scrape( $url, $marker );
if($current!==false)
{
   echo "stored: ";
   storeCurrent($current);
}

echo $current; 

?>


In case it is not obvious, my Alexadex username is tangledweb.

In my blog sidebar I have:

<?php
require('functions.php');
echo '<li><a href = "http://alexadex.com/ad/user/tangledweb"
      >My current portfolio is $';
$temp = getMostRecentFromDb();
echo number_format($temp['value']).'</a>';
?>

The functions these rely on are:

function storeCurrent($value)
{
 $value = intval($value);
 $sql = "INSERT
         INTO alexadex
         VALUES (NOW(), $value)";
  $result = mysql_query($sql);
}

function getMostRecentFromDb()
{
  $sql = "SELECT *
          FROM alexadex
          WHERE 1
          ORDER BY `timestamp` DESC
          LIMIT 1";

  $result = mysql_query($sql);

  return mysql_fetch_array($result);
}

function scrape($url, $marker, $maxLength = 50)
{
  $page = file_get_contents($url);
  if($page === false)
  {
    return false;
  }
  $pos = strpos($page, $marker);
  if($pos === false)
  {
    return false;
  }
  $value= substr($page, $pos + strlen($marker), $maxLength);
  $value= str_replace(',', '', $value);
  $value= intval($value);
  return $value;
}

function connectToDb()
{
  $connection = mysql_connect("host",
                              "user",
                              "pass");
  mysql_select_db("dbname", $connection);
}

This code comes with no warranty of any kind. You can have it as public domain, but I would appreciate a link to this blog if you use it. I hope it still works. WordPress seems to really, really want to mess with it when it saves it.

Tagging vs. Meta Tags

Friday, February 17th, 2006

So everybody ignores Meta Tags right? Search engines know that poeple put any old junk keywords in them to attract traffic, so search engines completely ignore them.

Tagging on the other hand is flavour of the month. For some reason, blog search engines at least give significant weight to tags, and assume that people are not tag keyword stuffing.

I give it three months.

Tags: *

* Any resemblance between these tags and the post content or the top 5 current searches at technorati is purely coincidental.

New Alexadex Season

Wednesday, February 15th, 2006

Alexadex is a stock market game based on Alexa rankings. The current season has just started so now would be a good time to join in.

PS: Yes that is a link with a referrer ID in it. Just go the basic domain if me getting a play money referral bonus offends you.

Ning: Wednesday Feb 15 is International Annoy Marc Andreessen Day

Tuesday, February 14th, 2006

From Wired, there is a certain irony in using Ning to annoy one of its founders, but although I really do like annoying people, I don’t think I will be able to make it.

The trigger for the event was Marc telling an anecdote to analysts, that because somebody came to visit once, Ning took their sign off the door. In his opinion, one of the great things about internet businesses is that you never need to meet your customers. It is always good to see the nerd ethos of shunning human contact thrives at all levels of the Internet community.

visiting.ning.com

Update: the “unannounced visit” is on the official Ning Blog. In the same blog, there is a Ning Magic 8 Ball. I am not sure if it is a one off in-joke, or a really cool piece of conference schwag.

Newsvine.com beta

Saturday, February 11th, 2006

I have been playing with Newsvine tonight. It is pretty slick.

I have often thought that you could run a digg style site for more general news. We will see how it goes. It will obviously live or die on the standard of community it can attract.

Some parts of it work really well. I like the little Ajax feature of telling you if your chosen username is available as you type, rather than after you submit the form.

Some parts of it could be better. The biggest letdown for me is that the article comments are not threaded. Digg and Slashdot seem to attract fairly similar types of readers, but while the best of slashdot comments can be really insightful and better than the articles, digg comments are nearly always 2 line wastes of pixels. If you only let people comment on the main story, you do not get the same degree of interaction as if you let them reply to previous comments.

I am also not sure if it is trying to be a US only site, or a world site, but US News and World News seem odd looked at from outside the US. The region dropdown lists cities in a few countries, so maybe they are confused about which readers they are aiming at.

Can somebody explain read.io to me?

Wednesday, February 8th, 2006

Am I missing the point, or is it kind of … ummm … well, stupid?

It is not live yet, so I have not seen it and might be missing an important detail. As I understand it, you sign up and it takes entries from the feed of your blog and converts them into synthetic speech for others to download.

Here is a sample

I can see why that might be fun once, but except for your blind blog readers, I cannot see why it is a good thing. Even if you have a significant number of blind readers, they presumably already have screen reading software which is doing the conversion at the client end where it should be being done. Who would rather download a 5Mb MP3 file than a 5 Kb html file?

I could kind of see some value in it if you could use it as an aggregator, grabbing new entries from a bunch of blogs that you read regularly and filling your MP3 player with them overnight so you could listen to them on the way to work. I still think the conversion should be done at the client end, but at least I could see a point to it. I don’t see why offering your readers the opportunity to download a stilted, machine converted podcast of your writings would have more than novelty value.