This site is a self-contained low down on what's going on in my life, what I'm working on, what I'm thinking about, and how I'm feeling about life in general.

Wednesday, 11 June 2008

It's been hard to find time to get much done this week outside of work, what with rugby and spending time with Michael and Lisa, but the ideas and output are still trickling through.

Digita Solutions

Every time I look at the v3 design for Digita Solutions, I come up against the same brick wall, what do we want to offer. I keep bouncing off the web design question, do we? don't we?

It's very frustrating not having the confidence in yourself to commit to an area of the business, my initial fears were over making it pay, but I think if the quality is there then you make it pay through competitive charging for the product, but not selling yourself short.

I really do believe that once we've finished the products we have in development then we'll have the capital to start looking at different services like web design.

This site

I'm planning something revolving around a photo gallery Silverlight application, and also setting this blog software up to post to multiple blogs simultaneously. With dual posting I can post items of consequence to other sites I maintain such as the digita solutions site. Would be great to do it form a single admin suite.

Life

After I was deeply disappointed with the shortages of Wii's when they first came out, a few years on we've finally bought one. Lisa want's a Wii fit, which frustratingly are in as short supply as the Wii's were. Very frustrating that Nintendo seem to want to create demand for the product even greater by not supplying in sufficient quantities, and then we end up with a situation like this, where hoarders buy up a large volume of the item and sell for £120 plus on eBay. Rediculous profiteering.

I've got dentist Friday, argh, no fillings please.

Work

It's been a slow week, but looks like things will really pick up tomorrow, may be a late night on the cards, I stayed on a little tonight, but the flexi will be useful for a long lunch in town next week I'm sure.



Tags: Rugby Work Blog Site Digita Solutions Lisa Webparts Wii Nintendo Business Plans Dentist Slow Moodle

Saturday, 31 May 2008

image of a banner witha no ie slogan on it

The HTML equivalent of an Anderson Shelter, a meta tag that makes IE8 render websites in an IE7 compatibility mode, has been released by Microsofts Nick MacKechnie in his blog this week.

I'm not sure whether I should say "thanks for the heads up" or "why the hell should I have to?". I mean, my site is standards based, I specify my doctype, and there should only be one way of displaying that document.

So yet again, after spending years slowly adopting web standards, Microsoft has yet again come out with a version of internet explorer that adds their stubborn feature set, prioritised above features that make it easier for developers to develop cross-browser compatible sites.

I really did think that this was Microsofts chance to build on the progress they had made with IE7, but no such luck. A couple of months ago I tried out IE8, and when I hit IBM's W3 intranet, All I got was a little blue bar at the top of the page, and nothing else. The majority of sites I've looked at with IE8 do not handle well, so this meta tag is going to be compulsary.

Perhaps Microsoft should absorb the cost that will be incurred by local business to have this line of code inserted into every page of their website, there bust be billions of pages of markup that will require changing, so profitable times ahead for web developers.



Tags: Standards Microsoft Web_Standards IE7 IE8 Developers Selfish Doctype W3C Stubborn

Monday, 26 May 2008

I thought that a new job and a new baby together would be a clean break all-round. As it turns out it's about the hardest thing I've ever been through, and on top of it all I've got a cold.

But enough moaning, on to some updates.

Firstly, week two at work is over, and things are getting better! More structure, more idea where things are going, more settled and more vision for the future.

On the back of work, I'm learning asp.net, amongst other things. I always knew it would be a huge leap going from asp 3.0 to .net, and there is that ever-present, inherent fear of the unknown to contend with. Now I have no choice but to learn it, and thankfully it's not as hard as I thought. In fact I'm enjoying it, which definitely helps.

Outside of work it's been a tough week. The amount of work that goes into raising a baby is starting to sink in and take its toll, and I'm only doing a quarter of the work (if that). Lisa has been amazing taking care of him, but it's still draining. You just don't have time for anything, and sometimes knowing that just eats away at you, even if you don't have anything to do anyway. I can only update my blog at crazy times of day. It's a tough lifestyle change but I'm getting used to it. Single parents have more than my admiration, they have my vote for sainthood. 

The run of failing electrical items has progressed today as I ordered a replacement fridge freezer. The old one doesn't keep milk for more than a couple of days, bugger. That's now the Xbox, the Camcorder, The Tumble dryer, and the washing machine that have bitten the dust recently, as if things weren't strained enough.

Another positive is that I found a little motivation, and a little time to start working on a few project ideas. Unfortunately I have little of both and things haven't worked out very well so far, but progress is progress. I want to build something to help me save money, and will probably make it into a web service, all singing all dancing. I'm also working on a VLE of my own, probably open source. Hopefully it will be my first asp.net project release, although I plan a php version also.

Well the room is starting to rock back and forth which means one thing, need sleep.



Tags: Work Baby Lisa Michael Tired Sleep Progress ASP.NET Silverlight SharePoint Open-Source VLE Electrical Moaning

Thursday, 27 March 2008

Today in work I spent some time with one of the guys from our office, a knowledge manager, who wants to upskill and become a developer.

We program our web based apps in ASP, but he has very little experience programming, really only a little html knowledge, but he is a very intelligent person. A few month ago he mentioned to me that he wanted to upskill, and wanted guidance on a learning path.

Learning Path

This is actually very difficult to guide on because if you want to start developing while learning, as he does, then you need elements from 4 key families:

 

  • HTML
  • JavaScript
  • CSS
  • VBScript / ASP

 

The order I recommended he focus on these items was HTML, CSS, JavaScript, ASP. The reasoning being is that once you can design the end product, then you can start to substitute static elements for dynamic elements.

Today, he had a task he wanted to complete, add a "Rate this article" feature to an existing application, and wanted me to help him though it. 

As I thought about how I was going to teach him how to program this feature, which combined all four programming areas, I came to the conclusion that for a first lesson, trying to teach syntax for four different languages was a pointless exercise for the time we had (about half a day), so I decided that I would focus on what I consider the hardest thing to master as a developer, non-linear thinking.

Non-linear Thinking

One of the comments I had during our lesson was that it was quite hard for him to wrap his head around developing in a non-linear fashion. Indeed, you call functions from separate documents, use sub routines, pull data from databases, it's a lot to think about.

As an asp developer, developing a standard asp data-driven solution, if I really think about it, there are probably no more that 10 / 15 different vbscript functions and objects or operators that are actually used. Consequentially vbscript becomes one of the simplest components of the education package, but if you cannot wrap your head around how you're going to achieve your programming objective, then the task becomes huge.

The way we approached the project was not on a computer, but in a meeting room, with a pen and paper. our approach was as follows:

 

  1. Define what we want to achieve
  2. Sketch how we want it to look
  3. Define the process the user will go through.
  4. Work out how to achieve these steps programatically.

 

For step three, we decided that the user would firstly see greyed out stars, would click the star rating they want to give the article (1-6) which highlights the rating with gold stars. Finally the user would click submit to save the rating, without reloading the page.

For step four we looked at what we'd just detailed in terms of user interaction, and I helped him detail how we would achieve each item. 

Firstly, I drew the containers for each of the 6 stars, and then outlined the syntax that would create that:

<a href="javascript:void(0);" onClick="ratingFunction('1')">

<img src.......>

</a>

Then I explained the need for a javascript function to accept and set the rating, one to submit the form, and a variable to set to show that the rating had been set (Not essential but makes it easier to understand what is happening).

I implemented an AJAX call for him to send the rating to an asp page that inserted into the DB, and we created the table in sql. 

Summary

From a programming perspective, we agreed that this was a fairly ambitious task for the timeframe, and whilst he picked up bits and pieces, the important thing is he started to learn how to think as a developer, and that sometimes, finding the correct syntax is a lot easier if you clearly understand what you are trying to achieve.

 



Tags: Javascript css Plan HTML Demetrie Developer Training Learning ASP VBScript Education Thinking

Monday, 11 February 2008

This series of articles will cover the theory behind creating a simple eCommerce system.

Of all the components of an eCommerce site, the shopping cart will be the hardest to develop.

We will store an md5 session key that will link back to databased transactions.

 

  1. When hitting the site, an md5 session key will be created and stored as a session variable.
  2. If the user starts a transaction, a database entry is created in a basket table, and the item is entered into an items table. Both the basket and the item entry use the md5 session key to relate themselves. One basket entry can exist to multiple item entries.
  3. The basket will exist as long as the session is active. 
  4. A cron job will remove non-complete baskets after several hours, keeping these temporary tables relatively clear.
  5. After checkout, the user selects the delivery options, then the order is sent through the google checkout api and the user continues to pay for their items.

 

It's easier than you think to build an eCommerce site, sometimes it's just having that guidance on process to complete it.

Below is some example code you can use to create and store your MD5 key.

session_start();

if($cartID == ''){

if(isset($_SESSION['cartID'])) { 

$cartID = $_SESSION['cartID']; 

echo 'Loaded from session: Cart ID: '.$cartID; 

} elseif(isset($_COOKIE['cartID'])) { 

$cartID = $_COOKIE['cartID']; 

$_SESSION['cartID'] = $cartID; 

echo 'Loaded from cookie: Cart ID: '.$cartID; 

} else { 

$cartID = md5(uniqid(rand(),true));

$_SESSION['cartID'] = $cartID; 

setcookie('cartID', $cartID, time() +432000);

echo 'Created md5 key: '.$cartID;

}

}

 



Tags: eCommerce PHP Shopping Tutorial
Featured Articles
Recent Articles