Latest Entries »

bouncer
Had a quirky idea the other day, how about using an MSN bot to act as security on a website or fileserver. I’m sure this has already been done elsewhere, but it seemed novel to me. I picture it as some kind of ethereal doorman, who would either ask certain questions that only the intended parties should be able to answer, or react to some kind of secret phrase. It would then show you a list of files available on the server, or some menu options or similar, then would produce perhaps a temp filename for your file of choice.

After a quick Google of something like “Php msn bot”, I downloaded this. Its a nice, simple, though undocumented, outline for using the MSN Protocol in PHP. After entering a freshly made Windows Live username into the default.conf.php file, I was soon able to add the bot to my usual MSN account. I’m having endless fun at the moment, using it for various things from a terminal for my server (just echo’ing the result of shell_exec on the incoming command), to my original idea of a file server helper. I even want to add some personality now! Also I’ve just applied for a Wolfram|Alpha API key, so soon it may be able to answer questions too. I will put some code up and the MSN address for the bot when its a bit more straightened out.

Turing test here we come!

Handy MySQL Queries

I am in the process of updating a CubeCart v2 store to CubeCart v4, which is a bit of a nightmare as the database structures are very different. I’m going to include a few queries that I’ve found for future reference that will make my life easier.

This was for getting the no. of products in each category from the inventory table and putting it in the noProducts field of the category table:
UPDATE
Employees E
SET
E.LeadCount = (
SELECT COUNT(L.EmployeeID)
FROM Leads L
WHERE L.EmployeeID = E.EmployeeID
)

This one is handy just for deleting duplicate entries. Replace dupField for the field containing duplicate values and uniqueField with the primary key.
delete T1
from MyTable T1, MyTable T2
where T1.dupField = T2.dupField
and T1.uniqueField > T2.uniqueField

Now it seems that I’m a hard man to please.. In my last post I talked about how I wasn’t a massive fan of the Macbook and was exchanging it for an Alienware m15x. I chose this laptop after being a fan of Alienware products for years, and wanted something which be able to handle developing and some gaming applications with ease. When I ordered the laptop I tried to choose a spec that combined performance and value.

I went for the 2.5GHz Core 2 Duo, 2 GB ram, 120gb HD and a 8700m-GT 512mb graphics card. With a few various extra bells and whistles, including the glowing FX keyboard this totalled around £1427 (US$2410). You can track the 9 stages of your order on Alienware’s site, and a customer service operative will give you a call at certain key points, which did make me feel like i was buying a special product. The expected shipping date was around 2 weeks from placing the order, however after 2 weeks it was still on the pre-production phase, and I received an email to say that the keyboard was out of stock.

After a further 2 weeks the production started and my laptop was shipped. Opening the package again showed that Alienware know how to make it feel like a special purchase.The black packing foam held a socked laptop, and another thin box contained the various extras, including a leather, ring-bound owners manual,  an Alienware logo emblazoned cap, and a fairly high-quality mouse mat, mine with a dent in the top edge. On booting it up, it seemed like it was quite competent in handling Vista and all of its tarty Aero features, but I did note that the RSS Feeds I had been impressivley asked to chose when ordering were missing from my sidebar.

I duly installed all the necessary vital apps, iTunes, Firefox, etc. and attemped to play an MP3. It sounded like a bowl of Rice Krispies, i.e. full of snaps, crackles and pops. Thinking it may have been my speakers, I tested it out with a pair of headphones and found the same problem. Upon googling, it seemed that it was a problem shraed by many other Alienware customers. Another disappointment was the touch-sensitive controls above the keyboard. These are suppsoed to control things like volume, power settings, and launch various Alienware applications. I don’t know if my fingers are not very conductive, but I found these very difficult to use, sometimes pressing them to no effect, especially the volume, which I had to rub like a stubborn stain to get any louder or quieter.

Next I wanted to see how the machine would fare with some games, after all it is billed as a gaming laptop. I installed Spore, which was playable with some fairly basic settings, but slowed to a jog if I attempted anything like turning on anti-aliasing. Next up to give it a real workout I tried out the new chapter of Crysis, Crysis Warhead. Now Crysis is well known for bringing many systems to its knees, begging for mercy as blood pours out of its pipelines, so I didn’t expect much. The auto-setting switched everything to low, no AA or AF and it looked terrible. Even then in scenes of higher action, it slowed to what I guess was about 25fps. Any higher settings was a no-goer the frame rate dropping below the magical eye-fooling rate.

Overall I was left feeling wholly underwhelmed by the m15x, and felt like I’d paid a massive premium for the brand alone. More disapointing than that though, was finding that the company I once held in high esteem, made nothing more than Dell’s (their parent company) with lights under the keys. I have now sent back the laptop under the 10-Day Moneyback guarentee, and instead going to buy a desktop. For the same price I can get 4x the machine, and use the Macbook if I need to go out and about.

Obviously this review is only based on my spec, and I’m sure you can buy a much better performing Alienware if your willing to pay extra, up to £3,000 for the m15x, but to me it just wasn’t worth it. I nearly have all the components for my new desktop build, and am very excited about it, but thats for another post, I just hope it will finally meet my (impossibly? :) ) high expectations!

Apple, the taste of dissapointment.

I was spurred to write this rant post, after randomly reading a post from Elizabeth’s Little Blog. So sorry Elizabeth lol, this is in no way really intended to put you off getting your Mac, I’m sure it works very well for some people and I hope you’re one of those, just had to get it off my chest!

I was obsessed with Macs since the first iMacs and finally got a brand new Macbook about a year ago. Shiny and white, it’s got a 2Ghz Core 2 Duo and 1Gb of RAM.

The Mac OS is so impressive for the first few days, the windows zoom about ready for selection, the dock looks amazing, and everything looks so clean and modern. However, after the novelty wore off, I was less impressed. It might just be me, but programs such as Photoshop run cripplingly slow, and I’ve always considered those to be the homeground of Apple. Applications continually need some alt+cmd+esc treatment, (buttons your fingers soon become shaped to!), and its forever running out of HD, I think because of the way it uses it for memory.

Added to this, and almost as a bigger suprise to me, after owning several iPods whose build quality was faultless, was the flimsiness of the hardware itself. The way the keyboard layer slightly overlaps the edge of the main case means that there is about 2mm of plastic prone to snapping off as your palms brush past them while retracting from the keyboard. This is a problem that a few people have faced, so I’m glad to say its not just down to my heavy-handidness.

Disappointingly the Macbook has put me off of Apple computers for life, and my replacement which should be with us soon fingers crossed, will be an Alienware m15x, which I’ll be dual booting with XP and Ubuntu, because the 5 minutes that I’ve spent with Vista has shown me that there is a lot more memory hogging, plasticy, and mothering OSes than OS X.

Sorry Mac Fanboys’n'Girls!

Smells like community spirit…

Admit it – sometimes we all need to ask for a little help… I’ve been freelancing as a web developer for around 6 months now, so by no means consider myself an expert, and often is the time I need to consult the docs for that all important piece of code that just doesn’t want to behave itself. However there are also times when even RTFM’ing isn’t enough, and you decide to turn to the help of your peers. But how do we go about doing this? Fr me personally the procedure usually goes something like this:

  1. Google a badly grammatised sentence containing as many keywords relating to your problem as possible.
  2. Follow the most promising looking result to a back-alley of a forum or blog whose last post is so old it’s in Latin.
  3. Repeat step 2 until you’ve found a problem that’s kinda similar to your own, and cobble and hack the solution until it fits your needs.

Ok, so the above may be a little dramatized, and all part of the fun of development, but I’ve been thinking recently it would be nice to have a central place for developers, of all platforms, languages, and nationalities, to meet and discuss ideas and solve problems. I’ve been looking around for something already in existence to this end, but can’t really seem to find any, WebMonkey and Devshed are fine but still relatively small scale operations it seems (I know the former is run by WordPress’ parent company, no offence!) and Experts-Exchange has become very commercialised and meh-y.

I’m talking like the Facebook of the Development world, sections for different Languages/Platforms, places for joint editing of open source projects, SourceForge style downloads, the works..

So tell me, where do you go to meet with your fellow developers online, or do you all keep yourselves to yourselves? What’s your favourite Forum? Most educaitonal blog? Best developer hangout that I’ve missed?
If not what would you like to see?

Following the news this week that America’s possible-future-second-in-command, Sarah Palin, had her Yahoo Mail account “hacked”, I started thinking about the vulnerabilities of the systems in place if you happen to forget an important password. I say hacked with the full finger-curling inverted commas, because the was no real code manipulation involved at all. Instead a /b/tard (if your not familiar with the arsehole of the internet known as 4chan’s random board, see /b/ but please be aware that no only is it NSFW, its not safe for anything, you have been warned), used Yahoo’s forgotten password service to reset the password to Palin’s account.
He was able to do this due to the abundance of personal information we put about ourselves on the internet these days. Simple questions such as “What was the name of your first school/pet/car/sexual experience?”, are all to often answered on your social networking site of choice.
So websites that use user login are left with something of a dilemma:

Anything random is secure but forgettable, and anything personal is potentailly discoverable.
So whats the answer? There are a few new security technologies coming to the fore, notably OpenID (wiki), a distributed, open source standard that aims to give users just one digital identity to be used across the entire internet. All well and good, but not without its flaws, as having an identity-checking middleman site adds another link in the authentication chain, which can leave the system vulnerable to phishing attacks.
Biometrics are of course another solution, and one that I personally think is pretty solid, it’s gonna be hard to misplace your finger or eyeball without noticing somethings up, but adding or integrating the necessary hardware could be a challenge with the more mobile of devices.

What are your views on the future of online, or IRL authenticaition?
Please feel free to agree, disagree, educate or down right insult me in the comments box.

R.D.

Follow

Get every new post delivered to your Inbox.