My Linux history

I have been a linux user since 1996, this started with Slackware 2.6,
this distribution involved writing xconfig files, lilo configs, I installed kde from source.

Then with Slackware 7 I installed Apache, PHP, MySql, I made bash files, c++ applications and perl scripts.

I then had relatively old hardware compared to the time, so I spent a lot of time reconfiguring the kernel and recompiling it.
I created fvwm configs for my machine which ran very fast compared to other window managers.

From slackware I moved on to Debian, which still involved configuring the xconf file, more recently with debian
I installed applications such a compiz, for 3D window management, I program python scripts using eclipse, or gedit.

I have made Make files, installed the LAMP stack made programs in php using mySQL.

I new use Ubuntu and am a competent CLI user.
I have also installed Gentoo, Sabayon and FreeBSD.

I have looked into Mono for c# development but have a preference for Python and django.

I would prefer to work in an opensource environments than in a Microsoft environment.

I have installed svn, used svn and cvs.

The latest example of my python can be seen at http://code.google.com/p/ajaxmmo

Making an MMO Using Google App Engine

This must come to you as the sillyest idea you have heard, yet what would be the best test for the google app engine than an app that could potentially have 1000s of users interacting on the game at anyone time and in semi-realtime (more about that later)

The basic initial idea is an MMORPG which means that you control only one character, but that character has millions of customization combinations and hundreds of values to tweak.

So I changed my idea to something that would more resemble Wesnoth with a turn based system and small amounts of stats, but with the resources that the user could have control and the strategy element providing a huge part in the game mechanics rather than art-work and multiman team based design and programming.

So what does this MMO-Strategy entail?

First with the frontend which is an Ajax based webpage that retrieves what the server deems visible to that particular user. The ajax system will also send the users clicks to process moves, or orders to the system.

How about everyone moving into the same square at a time would that screw up the game? Well the idea is not to process moves but only directions, that way when more than one player enters a tile when those moves are processed that tile becomes contested and a algorythm will determine the winner, casualties and units that have had to remain put.

This system will be distributed with each refresh of a user doing small operations on the server side.

The first live version of this game will just have character creation and melee attacks without much of a goal within the game, but this will expand to resource management and construction.

Think of it as Civ, but instead of building towns you are building small walls that make a town, etc.. and you are moving individual units.

With the system being web based and point an clicky, my prediction is that some users will take the small managable empire route and keep their armies on a field of about 2-4 screen size (which might have to be limited in the game mechanic if too many unit cause a performance issue)

code.google.com/p/ajaxmmo

How to include JQuery in an HTML file

<br /><script src="/static/jquery-1.2.6.min.js" type="text/javascript"></script>&lt;script src="/static/jquery-1.2.6.min.js" type="text/javascript"&gt;&lt;/script&gt;<br />

then put you custom code such as $(document).ready in this file:

<br />&lt;script src="/static/default.js" type="text/javascript"&gt;&lt;/script&gt;<br /><script src="/static/default.js" type="text/javascript"></script><br />

What google should do next

I have been looking for a job for a month now, and have been constantly frustrated by jobs websites returning “Premium Jobs” in the search results that are nowhere near where i want to work.

One other thing is job agencies thinking it’s a good idea to put multiple locations in order to get a broader number of candidates when in fact those those may even just be fake jobs or summaries or multiple jobs put into one in order to save posting fees.

This industry is saturated with badly made websites that would rather have fancy GIF images floating around instead of returning results that are relevant. A job vacancy should only have 1 location, and I think even making job posters click on the location from a map would be the best bet.

So come on Google (or whoever is reading) make a website that is tailored to finding real jobs nearer to home, with a good search engine for jobs.

And obviously someone like Google can easy offer the same service as Monster.com (for example) but for free.

I have a project down the pipeline of using Google App Engine for a website for jobs postings. So if I am not beaten by google or someone with enough marketing clout to let the word out, I may be the first.

If anyone is reading this and thinks I wouldn’t be the first, just let me know which websites have a map view, and returns relevant result near to my home.

An extensible Database class using Generics in C#

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.Sql;
using System.Data.SqlClient;

namespace MMO
{
public class db
{
SqlConnection dbC;
public SqlCommand cmd;
public SqlDataReader dr;

public db()
{
dbC = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
dbC.Open();
}

public int SetCommand(string CommandName, CommandType type)
{
try
{
cmd = new SqlCommand(CommandName, dbC);
cmd.CommandType = type;
return 1;
}
catch
{
return 0;
}
}

public int AddParam(string name, SqlDbType type, int ParamSize, T value)
{
try
{
cmd.Parameters.Add(name, type, ParamSize).Value = value;
return 1;
}
catch
{
return 0;
}
}

public bool Read()
{
try
{
dr = cmd.ExecuteReader();
return true;
}
catch
{
return false;
}
}

public object RunScalar()
{
return cmd.ExecuteScalar();
}

public bool RunNoQuery()
{
try
{
cmd.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
}
}
}

Accessing Excel with OLEDB C#

String Path;
Path = “.\xls\”;
DirectoryInfo dir = new DirectoryInfo(Path);

String ExcelConnectionString;
OleDbDataReader dr;

ExcelConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” +
Path + f.Name + “;Extended Properties=”Excel 8.0;HDR=Yes;IMEX=1″;”;

con = new OleDbConnection(ExcelConnectionString);
con.Open();

using (OleDbCommand myCommand = new OleDbCommand(“select ” +
“string1,” +
“string2″, con))
{
using (dr = myCommand.ExecuteReader())
{
while (dr.Read())
{

Console.WriteLine(“string1: ” + dr.GetString(0));
Console.WriteLine(“string2: ” + dr.GetString(1));
} // end while

} // end DR using

} // end OLEDB using

validating checkbox values using jquery

$(document).ready(function(){
var siteSelected=new Boolean(false);

/* check the element :before might be a stupid asp.net span */
$(‘.buttonvalidator input’).click(function(){

jQuery(‘.sitesValidator input:checkbox’).each( function(){
if (this.checked == true){
siteSelected=true
}
});

alert(siteSelected);

return siteSelected;
});
});