Monday, August 01, 2005

Weeping update...

Although the title sounds like something you'd take to the doctor, I thought I'd offer something of an update to the last post I wrote about cleaning out my dad's computer.

As one kind commenter wrote, "it is far more productive to think of possible solutions"

Now I'm not proposing that I'm going to put a stop to all the various different flavours of intrusive marketing out there (blog comment spam, IM spam and the great granddaddy of them all, email spam), but I can at least make a note of what I did to try an alleviate the problem somewhat for my dad.

First, let me set the scene.

I have a teenage stepsister, and my teenage stepsister is a great one for IM, file sharing (although, as far as I know, it's all legal now) and generally caning the net for all its socially worth. She is also, at the end of the day, a teenager. Bit impetuous, bit naive, and a little too quick to believe popups that claim that her computer could be running quicker if she installed widget x.

I also have a father. He, like a lot of fathers, just wants his computer for invoicing, perhaps the odd bit of emailing, banking, and that's about it. He also once uttered the immortal line "Why couldn't they just leave it at Windows 3.01? Didn't it already do everything everyone wanted?". Hmmm. Although the gist of it was more about how computers have been getting more complicated than he wants.

So, to summarize:

1 teenage daughter who wants to use her computer to keep up with her mates, but isn't too aware that there are bad people out there who want to user her computer for slightly more nefarious deeds.

1 mature guy who needs his computer for work, but really doesn't want to have to deal with any more stuff to learn just to get his books done, which he's been doing in the same way since Office 97. Oh yes, and he hasn't really got time (who has, really, in the real world) to supervise her every online move.

I see a problem. How to secure his machine without adding the need for any more management. In fact, how to secure his machine network-wise without any apparent change in behaviour (of the machine, not him).

Well, the most thorough (and my preferred method) would be to start from scratch, stash all the documents and data away somewhere and spend a good few hours installing and configuring the machine to be nice and safe from (at least some of the nastier) nasties. Lock everything down, disable all the non-essential services, do some admin-type bits like shift his data onto a different partition from his system bits, stuff like that, and have everyone running on a non-admin account. However, although most of that would cause no noticeable change in the machine's behaviour, bits and pieces would require management, or to put it another way 'More bloody work'.

I would (and did), however, rightly or wrongly, hold short of installing a second firewall. My thinking is that with all the ports and services disabled that aren't needed, Windows firewall will be sufficient. It sits nicely in the background and slots in nicely with the rest of Windows Security Center. It doesn't have the learning overhead of a separate application.

I also whacked on MS Anti-Spyware for exactly the same reason. Although it's just a lightly re-branded version of Giant's Anti Spyware, it does at least integrate nicely with Windows and doesn't seem like too disparate of an app to learn. It's still quite consistent with (particularly the newer parts) the rest of Windows XP. I think I said before, it's perhaps not the swankiest, but it does at least do a reasonable job.

Those were the easy parts. Now came the hard part.

I started with turning the computer off.

I heard someone say once that the biggest security hole in any system lies between the keyboard and the chair. Any system (yes, ANY) can be compromised when you've got a real person pushing buttons at the business end.

So the most difficult part was getting my stepsister to take a bit of responsibility for what runs on her computer. I told her about checking for mysterious processes running in the background, what to do if she found one, how to check if something malicious was running and how to get rid of it. I told her about the perils of hitting 'yes' when asked "Do you want to enhance your browsing experience?". I went explained at great length (you ever tried to talk to a 13 year old girl about 'nerd stuff' for more than 10 minutes?) about how firewalls work, and what they do, and generally tried to make her a bit more aware of what's out there trying to get in.

The last part is the make-or-break factor. Everything before it is almost incidental. I can have an iron-clad OS, be running behind a rock solid firewall and have every scanner known to man running checking everything's OK. However, just like vampires, if I invite nasty things onto my machine, they (potentially) get a free rein over my computer. And that's the bit I really need to work on.

Oh to have longer than a short and hectic weekend to do it all in!

Just wanted to share.

Thursday, July 28, 2005

I am weeping as I write this

So I'm down in Plymouth for a few days. My sister's getting married tomorrow.

With a couple of hours to spare, I thought I'd borrow my dad's computer and check up on a couple of things (news, bank balance, that sort of thing).

I think I've discovered why people get so het up, annoyed and paranoid about their computers and the internet.

Dad's on AOL. Which I can almost forgive. No, I wouldn't go near them with a ten metre cattle prod, but each to their own. And it does automatically configure your web browser and mail client for you if you can stand their proprietary clients for each. Which I can't.) That's not too nasty a problem, I just hate AOL.

However, sadly I haven't got time at the moment to fix all the other stuff that's wrong with this machine. I'm writing this blog entry at what's left of the bottom of the IE browser window, because there's some sort of weird toolbar blocking the rest of the screen, that doesn't even appear in the toolbars menu soI've got no easy way of disabling it. So far I've hidden:

The Google toolbar
The MSN toolbar
The Yahoo toolbar
Some sort of explorer bar-esque toolbar that appears at the bottom of the browser. Goodness knows what that's for.

I'm writing in 3 word bursts, because every few seconds there's yet another popup telling me about today's greatest deals, or asking me whether or not I want to buy some game (it didn't stay open long enough for me to have a look at what it was, I can tell you!).

The only reason I can manage to get 3 words typed in a row at all is because I've turned the Messenger service off, killing the millions of net sends a second I was getting. I've disabled it for good measure, just in case...

It's running SP1 at the moment, and I'm guessing that the only reason it hasn't got SP2 installed is that the constant alerts that Windows Update flashes up saying that there are (still) new updates downloaded and ready to install on this computer are being left unheeded.

UPDATE: I have just this seond learnt that 'Bargains.exe' has been forced to close down due to an error. That was a little irrelevant aside, but it's really annoying when spyware interrupts your day crashing.

I don't use the phrase Syphilitic Whore of Intarweb Beelzebub lightly, and it truly does take some doing to get me to even think it. But this machine really is a Syphilitic Whore of Intarweb Beelzebub.

Looks like my job for the weekend's been decided...

  1. Uninstall obvious spyware crap (Honestly, who doesn't smell a rat when there's an entry in Add/Remove programs called 'Internet Optimizer' or 'Select Cashback'
  2. Install ALL updates, SP2, and everything since AND MS Anti-Spyware (Yes, I know it's not the greatest out there, but it's easy to use and better than nothing)
  3. Sort out Startup apps (I'm sure there are some if not nefarious, certainly dubious apps starting automatically)
  4. Wash, rinse, repeat

With a bit of luck, not only will dad's computer run a little swifter, but it'll make it a darned site easier for me to blog from his house!

That's enough for now. I'm gonna shutdown before I see yet another popup and have to throw ths computer out the window. And then I think I'll have a little lie down. And a stiff drink. There is much work to do...

But do you know what the realy depressing thing is? I doubt anyone'll notice. Popups and toolbars taking up two thirds of the screen seem to be de rigeur these days. People accept them in the same way they don't notice people pushing to the front of the queue or how they don't notice when shop staff don't say thank-you or smile (come on, it's not that hard!).

Just wanted to share.

Sunday, July 24, 2005

Two more reasons to own a camera phone...

Nice Melons!
Nice melons Mrs Mawoo!

Saturday, July 23, 2005

Cool marketing.

This site for GAP is right up there with Subservient Chicken for plain coolness.

Just wanted to share.

Thursday, July 21, 2005

Couple of things that I noticed today

2 quick things.

The first is something that's caught me out a couple of times, so I'm committing it to writing so I'll finally remember:

Using a DateTime field in the RowFilter of a Dataset
Since the RowFilter property is a string, it doesn't lend itself terribly well to filtering with DateTime values. Or at least the default DateTime.ToString format doesn't lend itself to being put in a RowFilter property. Picture the scene. You want to filter the DataView for your datagrid on today's date. You'd thing you could do it with:

theView.RowFilter = String.Format("DateField = #{0}#", DateTime.Today

But you'd be wrong. You might even think you'd be able to do it with the ToShortDateString method:

theView.RowFilter = String.Format("DateField = #{0}#", DateTime.Today.ToShortDateString()

And (and here's the rub) in some parts of the world, you'd be right. The ToShortDateString method is sensitive to the culture of the box it's running on. The RowFilter property, however, isn't. So, if you're in 'Merica, your ToShortDateString method produces this string for 23rd October 2004: "10/23/2005". If you're on t'other side of the pond (or anywhere else that formats its short dates properly) ToShortDateString produces: "23/10/2004".

Now because the RowFilter property isn't sensitive to the regional settings of the OS, it slings out the second string as an invalid date. The way to filter on dates, if you're in one of the enlightened countries that formats dates as they were meant to be formatted is thus:

theView.RowFilter = String.Format("DateField = #{0}#", DateTime.Today("MM/dd/yyyy")

The second thing is just something that I wrote today that made me feel good.

Possibly the most elegant peice of code I've ever seen
I like elegant code. I especially like it when elegant code is also (I think) efficient code. It's down the the DataView's RowFilter property again, and it uses my favourite String.Format function. It just looks truly beautiful, though:

theView.RowFilter = String.Format("Name in ('{0}')", String.Join(, "', '", StringArrayOfNames))

I just think it looks really neat. Of course, the String.Format method returns "Name in ('Tom', 'Dick', 'Harry')", but it's the simplicity and elegance of the String.Join function and putting the placeholder inthe format string ({0}) in quotes that just makes me think that everything's alright in the world.

You may have noticed I've had a good day. Just wanted to share some of the joy.

Wednesday, July 20, 2005

Couldn't resist...

This is just too cool!

Just wanted to share.

Monday, July 11, 2005

Day 1. Sweet. and Sour

So it was my first day at work today.

I have to say, the place I'm working is absolutely fantastic!

Get in, first thing I see is not 1 but 2 TFT monitors, both at 1280x1024. Aaaahhhhh! All your pixels are belong to us!

Follow that with a look through some actually well written and architected code, doing some really interesting things, and I was a happy happy boy!

The place is cool. I think I might just stay there.

But...

The journey's almost exactly 2 1/2 hours each way. Mmm nice. Leave at 6.30, get home roundabout 8. Gah! Looks like I'm going to have to get myself some more books...

Just wanted to share the joy.

Saturday, July 09, 2005

Unbundle your products, dammit!

Bundled products are nice, especialy when you can get it cheaper buying the bundle.

However, I wish Logitech would unbundle their keyboards and mice.

I got one of the ealier Logitech cordless desktops a couple of years ago, and after a while the mouse packed up. No wories, I got a nice new MX100 laser mouse. Sweet!

However, it looks like my keyboard might be on its way out as well. Stupid thing - I spilt coffee on it yesterday, and having a look at it this morning, the printed circuity bit under the keys themselves is beginning to corrode. Should last a little longer, but I think I'll be looking at a new keyboard some time soonish.

What I really fancy is the nice Logitech MX 3100.

But...

I already have the mouse, so I just want the MX3000 keyboard on its own. And can I get one? Can I buggery! I can ge the mouse on its own, not problem. But keyboard without the mouse? Hmmph!

Just wanted to rant. Grrr!

Friday, July 08, 2005

Visiting dignitary

Woah, wouldn't you know it? We've got a real life rock star coming to our little hamlet.

How cool's that?

UPDATE: Bugger. I'm gonna miss it. Why did my brother-in-law-to-be have to choose next weekend for his stag night?!

Thursday, July 07, 2005

Quick bit of Woo-age!

I know many of you have been following my glittering career with interest, awaiting every new development from the rollercoaster ride of one man trying to get someone to give him cash for code.

The last exciting installment saw me feeling like a cheap, washed up lady of the night, flaunting myself with that air of desparation common to jobseekers and ladies 'of a certain age' in night clubs.

Well as with all these things, it's paid off. I've found gainful employment with another company.

I'm actually quite chuffed with that. I think all told it took me 3 weeks between being told the old company were going to have to let me go, and finding some other sucker company to give me money for writing code.

I'm really stoked with them too. The interview made me think 'Hey, this is somewhere I really want to work'. There's some interesting stuff on the horizon, they're already looking at and training up on SQL Server 2005, VS 2005, .NET 2.0 and all that good stuff, which is a real rarity in the UK (I've discovered...).

Anyway. Just wanted to share some of my joy.