Myles Braithwaite


Asgard CMS

When I first started developing this website I always wanted to release the source code. Over the months only a select few (the ones who emailed me and asked) have received any code. I have started to release the project slowly at Gitorious under the team Asgard Project. I also bought the domain asgardproject.org (nothing to see yet) for documentation.

My hope is that someone will find it useful.


Why do we need SEO?

Today I received the following email:

From: Petr ******* - File Extensions Resource <****.*******@file-extensions.xxx>
Date: July 15, 2009 3:38:49 PM GMT-04:00
To: me@mylesbraithwaite.com
Subject: Site suggestion - File extension library


Hello,
can you please add a link to our website File-Extensions.xxx at your page http://mylesbraithwaite.com as a useful computer file extensions resource?

Our site URL: http://xxx.xxxx-xxxxxxxxx.xxx/
Large file extension list and file types resource site.

Detailed site description: A huge file extension list including easy-to-understand descriptions and associated applications. Quickly search by extension, view common and most popular file extensions, and click to extension categories including audio and music files, multimedia, graphic and image file types and others.

I look forward to hearing from you soon.

Thanks a lot

Petr
File-Extensions.xxx

I took a look at the email headers and found this X-Mailer: LinkAssistant (http://www.link-assistant.xxx). A quick web lookup brought up an application called LinkAssistant and one of the features is:

Quickly address all partners in personalized emails.
Professional SEOs know how to approach owners of high-PR websites, ask them for a link and have huge chances to get it. You're even smarter with LinkAssistant. You will quickly find hundreds of relevant high-quality websites, instantly send out piles of personal link requests and convince site owners to link to you.

I am not a fan of SEO but this is just crossing a line. A lot of people more intelligent than me have weigh in one this topic but I am going to reiterate one idea: If you write good content Google will index your site and give you a high page ranking.

90% of SEO is simple rules for building clean HTML. The other 10% is that SEOs are really just life coaches who need to transform their clients into something awesome that people actually care about. What you really need to optimize for is being awesome. And that's a bit harder than pulling some SEO out of your magic bag of tricks.



A Django Intranet

29th April 2011 I have started working on a CRM application called Frigga

At work I started developing a intranet, nothing to complicated just an address book, microblog, timesheet, and forum. I knew from the beginning of development I wanted to release the final project open source. But it was developed in the monolithic approach (one project for multiple ideas) so instead I am releasing one sentence ideas:

  • django-blogs: A multi-person blog similar to MovableType.
  • django-bugle: A microblog. (This isn't my originally code I forked it off Simon Willson's Bugle Project and made it a more portable application).
  • django-calendar: This is a fork of my Asgard Calendar.
  • django-contacts: An address book application we are using to keep track of employee contact information.
  • django-forums: A Django Forum application.
  • django-issues: An issue tracker.
  • django-projects: An internal project tracker.
  • django-timecard: A timesheet without projects or issues.
  • django-timesheet: A timesheet for projects, tasks, and issues.
  • django-voting: An Apache Style voting application.

I still have to release django-voting, django-projects, django-forums, django-calendar, django-bugle, and django-blogs which will probably be some time next week and I also want to do a Pinax style release at the end of the month.


Adam Savage’s Colossal Failures

Ryugyong Hotel in Sojang-dong

I don't know, I'm making this up as I go.

Sorry for the second Adam Savage related post, but I thought this one was interesting. Early working as a consultant I found myself saying yes to a project just for a paycheck (or to show my parents why I didn't need to stay in college) even though I really couldn't do what the client is asking for; but I would get the project done.

One time I got a really simple project from a new client, the project was so simple and I had so much school work the project got pushed to two night before it was due (which was the same day as an exam). They were using a custom web framework with no documentation or even comments in the source code and I couldn't finish on time. Around 6:45 am i left for school with the project unfinished. I got to school around 7:00 am took my exam finished by 10:00 am and went to the library to write an email to the project manager and tell him I couldn't finish and I was sorry. While instead of doing the write thing I went home and fell asleep and didn't wake up till 9:00 pm. Where in my email inbox was an email from my project manager which wasn't really good, but I dissevered every word in that email.

Since then I stop taking project I didn't have the time to finish. But this situation taught me two really important thing about myself: one I will always fail horribly at some point and two I will always learn from the horrible failures.

Failure is always an option.


Adam Savage’s Obsessions

TED talk by Adam Savage (of MythBusters) about obsessions, starting with his own obsession over owing a replica of a Dodo skeleton to modeling a the Maltese Falcon Falcon.

I find I am also like this with software, if I see something computer based that I find interesting I do crazy amounts of research to mimic. Recently made my site XML-RPC completely compatible with a WordPress weblog to use WordPress iPhone application.



Lets say you run a website that allows people to store what they ate for lunch. So you have an input box that asks a simple question, What did you eat today for lunch? Your users enter what they ate for lunch and it post on the website. Simple eh. While your users want to be able to share what they ate for lunch with their friends so you add the ability to do that. Still pretty simple eh. Soon you might add cross tagging and the like to create pretty graphs and statistics to show that one of your users has eaten peanut butter and jelly for the last two years. Still some what simple.

One common thing about the features added above is that they are all back-end features. You don't have to change you design to implement them.

Okay so your little startup has become extremely popular and maybe it just got bought by some large corporation. One of your new co-workers keeps talking about how Ajax and how it is the future of web applications and your small fun application should change to a complex JavaScript version soon.

This is the issue that is facing many simple web applications. Lets take as an example Delicious. Why do Delicious users use Delicious? To keep a copy of their bookmarks in a central location. Sounds simple enough. Then why do they have to make it so JavaScript intensive. I use to be able to easily load Delicious on any mobile device (Nokia N800, iPhone, etc.) and it would work. But now it is pretty much unnavigable.

This is why I started iDelicious a simple bare bones front-end to Delicious. No fancy JavaScript any where (while maybe Google Analytics).