New ideas for the restaurant reviews site…

cappucinoLike I was saying to Joe earlier, every time I speak to people about this restaurant website they seem to want to get involved or they have some excellent idea to add to the concept.

So the basic premise is a web 2.0 (and by web 2.0 I mean user generated content etc) restaurant reviews website where the reviewers are broken up into various bands according to their karma and the number of reviews they’ve written. New reviewers have their first 5 reviews moderated. Once they’ve got past their “New Reviewer” status they become “Reviewers” who can invite additional people to join the site but they only get 1 invite per review they write.

All the reviews are rated in digg’esqe manner and reviewers gain or lose karma (trust) accordingly.

Reviewers who achieve certain levels of Karma and write a minimum number of reviews become “Food Gurus” who have additional functionally available to them.

Food Gurus are the people who

  • Moderate the “New Reviewers” reviews for quality etc
  • Are also responsible for updating the non-review based restaurant data (addresses etc)
  • Respond to reviews that have been tagged as “inappropriate” or “suspicious” and potentially banning dodgy reviewers etc.

The idea is that the trust based invite system will hopefully keep the site as honest as possible. Continue reading “New ideas for the restaurant reviews site…”

The good, the bad and the overpriced.

I’ve been toying with the idea of creating a web 2.0 restaurant review site with a few twists and the obligatory overuse of gradients, big buttons, whitespace and ajax 😉

Twist 1: The actual review has to be less than 160 characters. This is not so that it can be SMSed but a way to keep people to the point.

Twist 2: When you write a negative review for a restaurant you’ll be asked to provide a “rather go to” restaurant.

Twist 3: I’m thinking of keeping it super simple with just a single star rating accompanying your 160 character review.

Twist 4: Reviewers are brought on board by invitation only… Every user’s first 5 reviews are moderated and you can only invite other people to be reviewers once you’ve reviewed 5 restaurants.

(For those of you who actually read my last rant about systems and rules; The rules I am talking about here are rules that define the specialist functionality… There are plenty of review sites that let anyone paste pages of drivel and never get to the point.)

As any good systems person would, I always test my ideas:

Restaurant: Krugmans, V&A Waterfront

Review: What a lovely surprise of a restaurant! It looks like it’ll cost an arm and a leg but the service is top notch and the food is great. I had their huge camembert & sweet chilli burger at R47. Awesome! (160)

Average Main Cost: R50

Star Rating: 5 out of 5

Restaurant: Cape To Cuba, Kalk Bay Review: Great décor but sadly the quality of food seems to have slipped. We were two large groups and only about 30% of us were “happy”. My meal, the fillet strips in chilli and chocolate, was not worth R99. (160)

Average mains cost: R70

Star Rating: 2.5 out of 5

Rather go to: Polana

Review: Chapmans, near Chapmans Peak, Hout Bay

Review: We only had two deserts and two cappuccinos. The brownies were bad, the tiramisu was bad and the cappuccinos tasted like watered down wimpy coffee and presented similarly. The bill was R90.

Average mains cost: No idea, didn’t look.

Star Rating: 0.5 out of 5

Rather go to: No idea, Where is good in hout bay?

What do you think of the idea? While typing this I thought that one benefit of the 160 character thing would be that you could get the review sms’ed to you… but really, sms is a retarded format that hopefully wont be around in a few more years?

Anyway, let the debate make it stronger or kill it early so I don’t waste my time.

ath,

j

Telkom can get f-ed in the A.

Hi

I had my wallet stolen a few days ago and therefore don’t have a credit card to make payments for additional bandwidth… I thought I would be able to sign up for internet banking and make the payment that way however after going through the online registration process I am now unable to make any payments without visiting my bank and getting my daily limits increased. (Yes, as retarded as it seems the daily limit on a new account is R0).

Having said all that I have a girlfriend at home trying to do research for her PHD and unable to get online. Could you PLEASE make an exception and enable the additional gig. Feel free to bill my account via stop order for the amount or alternatively I’ll make the payment as soon as I can get to my nearest branch.

Regards

Jonathan Endersby

And less than 10 minutes later:

Jonathan,

Done.

Now seriously, can you EVER imagine that happening with Telkom?

Viva Amobia, Viva!

ath

Doing my bit to punt the community

I just thought I should do the obligatory punt of the GeekDinner, 27 Dinner and Clug park.

Firstly, The GeekDinner is not the 27 dinner.

If your idea of fun is listening to someone talk about the joys of hacking asterisk or joking about routing tables, feel free to sign up for the next GeekDinner. I seriously can not wait… At the last 27Dinner I was lucky enough to end up at the most awesome table full of kindred spirits. I think the conversation at that table played a part in concreting why geeks need their own dinner.

If hearing about the latest affiliate marketing scheme gets you hot then sign up for the next 27Dinner.

Finally, If you enjoy reading technology centric blogs then you should probably bookmark Clug Park, a collection of the finest South African Linux and sundry related blogs money can’t buy.

Also, I’ve got some pretty big news I’ll be dropping in the next few days, but I’d just like to say thank you to all those who know and have made it possible/supported me.

ATH

Kief XHTML

html headA while back while ranting about the lack of qualified (available) web developers I wrote that nasty piece of XHTML that I wanted people to try and correct/comment on.

The awesomeness:

<style>
#H1{
Font-size:10px;
Font-color:Red;
}

Li{
Font-color:white;
}

#greenBox{
Background-color:light-green;
}
</style>

<H1>Hello World</h1>

I’m not fat I’m big boned
<div id=‘greenBox’>
<li>Option 1
<li>Option 2
<li>Option 3
</div>

Of course I want some cheesy poofs
<div id=‘greenBox>
<li>Option 1
<li>Option 2
<li>Option 3
</div>

(excuse the dodgy indenting)

Ok, here goes:

  1. No Document Type
  2. No <HTML>
  3. No <Head>
  4. No Body
  5. Embedded styles are tacky
  6. <h1> is an html element; even if it was possible to create an identity definition called h1 it would still be retarded.
  7. Fixed (px) sized fonts are not good for all kinds of usability reasons.
  8. There is no such thing as “font-color”
  9. While “Red” is currently understood by most browsers, the hex colour code would be a better choice for future compatibility.
  10. Setting your <li>s globally to a foreground colour of white is a bad idea. You’ll be constantly having to override that every time you want it black(ish) again. (I even created an element on the page called greenbox to show that the entire design was going to be on a white background)
  11. id style definitions (#greenBox) really shouldn’t hint at your current presentation (Colours or Layout).  #greenBox is a bad name… especially in a years time when the design calls for that box to be purple.
  12. light-green is not a valid html colour.
  13. Personally I like to use lower case tags… but dammit, don’t mix them up. (H1, h1)
  14. Considering there is no <body>, the “I’m not fat I’m big boned is top level text. It should be inside a body, but additionally it would be better for it to be wrapped in a paragraph or label.
  15. <li>s by themselves, without being wrapped in a <ul> (unordered list) or a <ol> (ordered list) is bad form… but you’d be amazed at how often you see stuff like that on big sites like cnn.com etc.
  16. Reusing the “greenBox” identity will cause various issues in various browsers. It’s an obvious mistake but sadly not picked up by too many people.
  17. greenBox should probably be a class since it’s being used like a class.
  18. The second greenBox quote isn’t closed.

There you go. 18 without any repetition. I’m sure there are some I’ve forgotten. Engage lively debate *now*.

One of those…

This is going to be one of those posts… you know, the ones where you basically just list off a bunch of things you did recently.

Implemented VERP (Variable Envelope Return Path) for something I’m building at work

Spent friday afternoon walking around Kalk Bay with the GF, had supper at the Brass Bell and then went and paid our respects to Obs (where we met 3 years ago)… Obs has not changed at all in 3 years and it’s starting to be a bit like the uncle with the pony tail… just not cool any more. (Obs was probably never cool but it seems to suit certain people at certain phases in their lives). It’s never good for that phase to last longer than 2 years.

Went to look at Cape Gate on Saturday… it’s not worth it. Bought some thermal paste at Canal Walk… Took apart GF’s laptop, cleaned out 2 years worth of dust on the heatsink. Laptop fan no longer constantly spins at full speed and the laptop doesn’t reboot whenever you do something mildly complicated. Didn’t need the thermal paste.

Woke up on Sunday to find a dead DSL link light, once again reaffirming my opinion that it is impossible for anyone at telkom to carry out even the most basic of instructions without fscking something else up. This brought my proposed Amobia switchover forward to Sunday morning. Converted my Linux box to a router, installed squid… then had breakfast.

(Oh… I had my Amobia installed… It was such a non-issue that I didn’t even blog about it… I think I had it installed on the fourth work day after requesting it. Everything is working perfectly. When people finally get their ADSL lines installed they always seem to have this weird sense of self-achievement… like somehow they’ve “Stuck it to the man” and got their ADSL installed. That’s how twisted the state of telecoms in this country is… You dont walk out of the Pick ‘n Pay thinking “Yeah, I really showed them… I got EVERYTHING I wanted!”)

Spent the day hiking in Red Hill (Near simonstown)… Went to Kleinplaas dam and cooled off, walked back to where our car was. GF is now badly sunburnt (again…) Canadians!

Yours Aloe Vera Gellishly.

Want a job? Tell me what's wrong with this html?

Maybe it’s the much talked about “brain drain” that’s retarding our country but I can’t seem to find people who know what they’re doing.

White BoardNow, I am by no means implying that we don’t have skills in this country… We have some of the most brilliant software and hardware people on the planet right on our doorstep — but that community doesn’t seem to be growing at a pace that is going to be able to keep up with the industry’s growing demands… and the industry is going to end up suffering because of it.

Case in point: I’m looking for Web Developers… The most fundamental need is a good understanding of the web and web standards… These things are the building blocks of web development; without them you’re destined to fart around in a world of buggy code and overcomplicated layouts.

Regardless of whether your coding language of choice is perl, python, php or *gasp* .Net, you need to know xhtml, css and web standards. Don’t tell me that your WYSIWYG editor did the markup and it’s therefore not your fault.

Want a job? Tell me what’s wrong with this. (I can quickly point out 15)

Update: I’ve had a few replies which I’m not posting yet because I want to try and keep the answers a little bit secret until I’ve gone through all the interviewees. The two people so far probably got A+ grades.

How I learnt to love myself and stop supporting Telkom

My friend Vhata says I must not moan in my blog so I’ve decided to try and make this post as positive as I humanly possible. However, let me start by saying that Telkom is a filthy disease ridden whore.
roadlit

I could go and explain why I feel this way but honestly I can feel myself getting angry just trying to think of where to start… The important bit is this: I refuse to continue to support Telkom.

Until recently there really wasn’t much of an option when it came to broadband in South Africa. Telkom’s ADSL was the “best” solution, but like I said earlier, Telkom is a dirty whore…

Since Telkom owns all last mile copper the only other option is wireless. Traditionally the wireless market in SA was run illegally by unlicensed operators until a few got licences and the incompetent dogshow that ensued caused everyone, myself included, to decide that wireless was not a feasible solution (yet).

Enter, stage right, Amobia: a wireless communications company partnering with Frogfoot, a company I already have immense respect for.

Besides the pedigree that Amobia inherits from its Frogfoot connections, it’s also a company that is making a marked difference to the lives of the South Africans where it means the most… They’re connecting under-privileged schools; initially for internal communication, Open Source downloads and email, but ultimately to the Internet. They’ve done 35 and are on their way to 100. Not bad for a company a fraction of a fraction of the size of Telkom.

I’ve watched Amobia from afar for a while and two days ago, in the midst of another glorious Telkom blunder that left me discovering that Telkom’s systems really are a mystery even to themselves, I decided to jump ship and order an Amobia connection. Yesterday (the very next day) I had a technician in my house making sure that I would be able to connect properly and I expect to complete the paperwork tomorrow. It costs less per than Telkom’s ADSL and I know that Amobia doesn’t oversell their bandwidth so I should have a flawless, connected future, sans pigs, rats and filthy whores.

I’ll keep you posted.

The 10 irrefutable rules of backing up.

(Ok, so maybe they aren’t irrefutable, but they’re 10 I came up with while writing the article. NB, These are obviously targeted at a business environment but the essence should apply at home too)

1. It can’t be manual

Humans are idiots at the best of times… we’re also forgetful and lazy. Any backup solution that relies on someone to backup various files to a CD or external hard drive just simply isn’t going to work too long unless you’re super-admin-person.

2. It has to be often

Backups that happen weekly just aren’t really good enough. Humans may be idiots but we can get a lot of work done in a week. There’s also that dreaded feeling of knowing that you have to put your brain through that same disgusting task AGAIN… that is assuming you know what you did in the last week. Daily backups are great, twice daily better.

3. It has to be off site or you might as well not do it

The reality is that most times backups are used to rescue idiot users who deleted the wrong version etc. It’s flipping awesomeâ„¢ that you were able to rescue Sue’s excel spreadsheet that she spent the whole morning on, but really, what are you going to do if your server room burns down… or gets stolen… If the backups are sitting on a removable hard drive or on a tape in the tape drive then your backups are gone. Sue’s excel spreadsheet wasted 4 hours. Not having the company data is often a death sentence for a business.

4. Have a backup of the backup

If all your company does is send off dlt tapes to a secure offsite security company then what are you going to do when you discover that the dlt tape was dirty and can’t be recovered? Sure, this is highly unlikely… but so is a fire in your server room… If all it was going to take to fix was a cheapass 500 gig external drive sitting on a rack then you’ll hate yourself for not having one.

5. Test your backups

This really leads on from number 4… Too many times I’ve heard someone say “I thought it was doing a full backup but actually…

6. Publish your backup policy

I’ve personally found out the hard way that the “server” backups didn’t include my code… If you publish the backup policy you at least give the lusers a chance at realising their impending doom.

7. Have backups aimed at mistakes and backups aimed at catastrophes

I’ve hinted at this in some of the rules above. You want to be thinking of backups with two hats on. First hat is “Rescue Sue’s excel from 5 hours ago“. Second hat is “OMFG the server room *actually* burnt down“.

8. Incremental is king

Ideally you want to be doing 4 Days (Mon,Tues,Wed, Thurs), 3 Weeks (Fri1,Fri2,Fri3), 6 Months(M1,M2,M3,M4,M5,M6), 2 Years (Y1, Y2). Yes, that’s a lot of backups… start at the beginning and see what you can do. Yes, it is paranoia, but businesses often need to go back for various reasons… Sometimes it will be as simple as finding an old database that suddenly became important again… or you might find yourself having to sift through mail folders after dodgy employees leave.

9. Dont skimp on cost

This one is particularly targeted at management. Backups are not valuable – they are priceless. If you force your techies to work with substandard gear, old tapes or pathetically slow systems you are putting your business at risk. There is no point in having a backup solution that is so slow that it can’t backup all the data in a day.

10. Grow with your needs.

Storage is not THAT expensive. Budget for backup systems growth just like you would budget for any new server hardware. If your needs can justify it, consider buying a full backup server. It is not a safe or productive solution if you keep on running over your tape limit and not getting a successful backup out the door. If individual departments have stupid amounts of media consider breaking them out of your main backup policy and develop a new one that suits them better… It might be that certain departments don’t need more than a few days incremental backups of their data.

In case you’re wondering what prompted this post… I’ve just set up a backup policy in my house. Our important data (Photographs, Thesises etc) gets stored/backed up on the server; that data is additionally stored (rsync) on a second HDD in case of primary HDD failure and then the most critical data is rsync’d up to a remote server sitting on the internet. This all happens twice daily and takes about 30 seconds due to the magic of rsync.