Facebook – how honest are you?

I noticed on Steve Lamb’s blog, the day after I fired off a Facebook invite to him, that he has some security concerns with the Facebook registration mechanism. And rightly so. Were it not for a large element of honesty, it’s remarkably easy for me to sign up to Facebook and pretend to be somebody else.

Steve’s right to question this issue, it and many others have been on my mind for a while now: why do we have so many social networking sites and why do people sign up to them? What’s the attraction? What do we get back from them? How are they improving the quality of our lives? Are they adding any value to the community?

And if you don’t believe this, how do you know that this person is who they say they are? I’m sure that there are clues…but I could easily upload a picture of a celebrity, use their name and basically pretend to be them. Now there’s an experiment! Incidentally, both Steve and I would appear to be “one person removed” from the aforementioned person! [Update, it seems that Steve knows the aforementioned celeb! Or does he?]

Craig Cockburn also has similar concerns:

Did you know that if you upload your date of birth, hometown, occupation and High School info to a social networking site such as this one that you are giving a potential thief more than enough to commit identity fraud?

Anyway, I’m still writing the blog post that I mentioned here, expect this topic to be raised in that post too.

Technorati Tags: , , , ,

Gig: Bryan Adams: Edinburgh: 21 July 2007

For the third time this year I found myself at Murrayfield. Two gigs and one rugby match. I don’t know what was worse, watching Scotland getting beating by Italy in a matter of minutes or the two gigs.

The first gig, back in May was a truly bizarre mix of tribute bands: The Beatles, Abba, Queen and Led Zeppelin…that was 50% “ok” for me. Except that it wasn’t, Led Zeppelin (tribute) weren’t at all good and Queen (tribute) was recognisable, but nowhere near as good as One Night of Queen from 2006.

Today’s gig, Bryan Adams, should have been a “dead cert”. After all, I’d seen him live in 1991 at the Milton Keynes bowl (along with Thunder and three other metal acts that can’t have been that memorable). Sixteen years ago, he played to a full stadium, glorious sunshine. Today, he played to a pitch load of wet fans and some less wet fans in the lower east stand – no sign of the summer sunshine that we should have at this time of year. With the weather we’re having, anybody would think that we’ve done something to alter the weather over the last forty-fifty years.

After this disastrous gig, I have a number of recommendations:

1. Umbrellas should not be allowed. If the band don’t need them, why should you?

2. Camera ‘phones should be banned. It felt like everybody had one of these damn things, filming and photographing, all I could see was a huge array of 2″ screens. People: you are there for the gig – why spend half of the gig trying to get a handful of shots on a low-resolution camera? Not 10 years ago, cameras were banned at gigs, heavyweight bouncer-types would descend upon you and relieve you of your spool (film).

3. Open-air venues only work if the sound system is designed and installed by people who are expert at it. The sound system use at this event and the tribute acts was appalling. Unless you were close to the front at the centre, which was impossible for Silver ticket holders for reasons I will discuss in a moment, the sound was grossly unbalanced, tinny and very distant. I’d like to bet that Metallica at Wembley earlier this month sounded awesome…I won’t be missing my next opportunity to see them live. I was thwarted from getting to the gig because of the excessive cost of that “Joseph & the Amazing Technicolor Dreamcoat” show in the West End – my missus wanted to go to that whilst I was getting a sore neck at the ‘tallica gig. I lost out because of the cost of some other show…how does that work? [rhetoric, of course]. I digress.

4. Scam 1. Never have seen a sizeable square shaped area in front of the main stage reserved for people who bought Gold or VIP tickets. That’s just extortion. I don’t believe for one minute that Bryan Adams would entertain scamming his true fans in this way. I believe that it was a venue scam, designed purely to raise more cash to compensate an ailing events business. With the exception of Yngwie Malmsteen (great video here), I’ve never attended a gig that wasn’t sold out…except at Murrayfield. Don’t scam fans.

5. Scam 2. Just after the ticket desk, there was a portacabin with a banner: “food/drink tokens, 3 for £10”. Naturally we challenged the vendor, “what, can’t we just pay with cash money?” I’m sure you can imagine the response: “no, but you can buy tokens inside, but there will be a queue”. So we bought a 9 tokens for £30. One token == one beer OR one item of food OR two soft drinks. Net result after we got home – three tokens left over. So the venue/event organisers scammed us out of an extra tenner. Well done. This act alone is enough to make me never attend a gig at your venue again. And since everything was served in plastic bottles, I do wonder what the plastic recycle policy is at such an event? Don’t scam fans.


[photo via here]

Oh, I almost forgot, the music. Adams did the right thing by opening the gig via the centre stage, as can be seen the photograph above. This meant that the Gold/VIPs folks got a raw deal. However it didn’t last, after a couple of tracks he retreated to the main stage, only to return to the centre stage for the third encore which saw him hand pick the local talent from the audience. Incidentally, the centre stage performance was much better than the main stage, even though the main stage speakers were still in use. Centre stage performances, a’la Def Leppard at the Glasgow SECC, are far better, giving the whole audience a sense of involvement – event organisers, please note.

I couldn’t help but notice what I thought was miming on more than one occasion, it turns out I wasn’t alone in my thoughts about this either. This was confirmed when I spotted Adams running from one side to the other, no microphone in sight, yet still the vocals could be heard…I got the impression that Adams’ primary guitarist (almost a look-a-like) was also chipping in as and when required. Summer of 69 arrived fairly early in the set…which was odd, perhaps because that was one of the few songs I was there for. Anyway, I put up with the rain, the idiots with umbrellas, the pratts with their camera ‘phones, the selfish fans who put their 5 foot tall offspring on their shoulders thus blocking the view for a lot of folks behind them, including my party.

Overall, Adams stage performance was pretty damn good given the weather. However, I don’t think those were his speakers of choice. The event sound did not fill much past the main stage and lacked any depth or power. The light show was basic, little use of the late evening darkness was made. That said, the centre stage lighting was reasonable.

So I’m sorry MurrayFieldLive, I won’t be back at a gig until things change for the better. The truth hurts, but honesty is my only excuse. I’m gonna get me some of those “thumbs up” and “thumbs down” icons from somewhere…

Technorati Tags: , , , , , , , , , , ,

Call For Speakers – UK:SQL Event – 6th October 2007 – Microsoft TVP, Reading

Call For Speakers and Helpers!

What
SQL, SQL, SQL and more SQL
On the 6th October 2007 the UK SQL Server Community will be holding a day long conference full of SQL content. There will have 20 sessions covering everything from Maintenance plans through CLR stored procedures to Data Mining.

Cost
Free

More information
http://www.sqlbits.com/

Technorati Tags: , ,

008 – Community Podcast – Post-GeekDinner – Ben Hall – Chris Gaskell

In this, the eighth Community podcast, I’m chatting to Ben Hall and Chris Gaskell. This podcast was recorded after the DDD5 GeekDinner…it was rather late, many beers had been consumed (but not by me, I might add!) Huge apologies to Ben – a combination of over-zealousness, a wet floor, no grip whatsoever from my shoes, bar stools and me ending up flat on my back…and I took Ben out too, he ended up on the floor! Amazingly, I was sober, having had a mere two pints over many hours. Anyway, in this show, Chris and Ben get vocal about the benefits of attending a developer event like DDD5 and they promote their respective local user groups, NxtGenUG and VBUG.

Download the podcast here. Transcript to follow.


I have a new podcast feed available too, you can subscribe to it here – and it works with Apple’s iTunes!

Related posts:
Podcasting – great advice
001 – Community Podcast – Dave McMahon, NxtGenUG
002 – Community Podcast – Ravi Nar – VistaSquad
003 – Community Podcast – Guy Smith-Ferrier – DotNetDevNet
004 – Community Podcast – Barry Carr, Gary Short, Hamish Hughson – North East of Scotland User Group
005 – Community Podcast – GeekDinner/DDD5 – Adrian Sutcliffe
006 – Community Podcast – DDD5 – Mike Scott – Gary Short
007 – Community Podcast – GeekDinner/DDD5 – Four Cool Guys

Technorati Tags: , , , , , , , , , ,

007 – Community Podcast – GeekDinner/DDD5 – Four Cool Guys

In this, the seventh Community podcast, with no sign of James Bond, I spend a while chatting to four pretty cool guys – I’ll let them introduce themselves. This podcast was recorded at the DDD5 GeekDinner, at the Riverside in Reading…it was late, a few beers had been consumed! In this show, we plug DotNetRocks, discuss the merits of travelling to DDD and face-to-face meetings. Craig also demonstrates his total command of the Polish language…with apologies, of course, to Artur Wasnik.

Download the podcast here. Transcript to follow.


I have a new podcast feed available too, you can subscribe to it here – and it works with Apple’s iTunes!

Related posts:
Podcasting – great advice
001 – Community Podcast – Dave McMahon, NxtGenUG
002 – Community Podcast – Ravi Nar – VistaSquad
003 – Community Podcast – Guy Smith-Ferrier – DotNetDevNet
004 – Community Podcast – Barry Carr, Gary Short, Hamish Hughson – North East of Scotland User Group
005 – Community Podcast – GeekDinner/DDD5 – Adrian Sutcliffe
006 – Community Podcast – DDD5 – Mike Scott – Gary Short

Technorati Tags: , , , , , , , , , , , , ,

Too many MSDN DVDs?

Much that I don’t like rocking the boat, I have to admit, I agree with Phil’s comments about excess MSDN language content DVDs. It seems that most of us here in the UK have an MSDN DVD mountain -Phil has a good photograph to demonstrate this!

I’d like to see the money that could be saved being ploughed into UK Community Events, perhaps being used to purchase 8 * HDD camcorders for community use? (such as this, or this, or this)

Technorati Tags: , , , , , , , ,

006 – Community Podcast – DDD5 – Mike Scott – Gary Short

In this, the sixth Community podcast, I spend a few minutes chatting to DDD5 attendee Mike Scott and DDD5 speaker Gary Short. We discuss the worth of DDD as an event and we think about getting AutoCAD out to redesign the Memphis room to make it bigger.

Download the podcast here. Transcript to follow.


I have a new podcast feed available too, you can subscribe to it here – and it works with Apple’s iTunes!

Related posts:
Podcasting – great advice
001 – Community Podcast – Dave McMahon, NxtGenUG
002 – Community Podcast – Ravi Nar – VistaSquad
003 – Community Podcast – Guy Smith-Ferrier – DotNetDevNet
004 – Community Podcast – Barry Carr, Gary Short, Hamish Hughson – North East of Scotland User Group
005 – Community Podcast – GeekDinner/DDD5 – Adrian Sutcliffe

Technorati Tags: , , , , , , , ,

The Power of Regular Expressions

I have been a fan of regular expressions for a long time now.

Regular expressions provide a concise and flexible notation for matching and replacing patterns of text within a body of text. Some might say that regular expressions are concise and cryptic, perhaps because most regular expressions are built from a combination of metacharacters such as ^$*+?. The actual regular expression itself is known as a pattern.

They are, in my opinion, very much underused. Perhaps they are a visual turn off? After all, looking at this regular expression…

([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})

…and it’s no wonder people don’t use them as much as they should.

However, there is a plethora of good web-sites that list common regular expressions thus relieving us of the need to type them in manually. Equally there are many good tools that will help us build regular expressions using a pleasing visual interface…after which it’s typically a matter of cut’n’paste.

A few months ago I had to write a little application that scraped the HTML that makes up a web-page. I needed to extract all the e-mail addresses that were in the HTML – it was all legit, the e-mail addresses were made available to registered organisations (of which we are one) – it was just a shame that the sheer number of e-mail addresses didn’t lend itself to a mailshot. That was, until I wrote a few lines of code that used a pre-defined regular expression to extract all the e-mail addresses, formatting them nicely on the way.

The application worked by asking the user to paste the HTML source code from the web-page that contained the e-mail addresses, albeit they were embedded withing anchor tags. The user could then run the regular expression over the HTML source code – a treeview of the matches appears on the right-hand side and a neatly textbox appears at the bottom. Here’s a screenshot of the application:

Here’s the source code:

[code lang=”C#”]
[C#]

using System.Text.RegularExpressions;

namespace HTML_Scraper
{
public partial class Extractor : Form
{
public Extractor()
{
InitializeComponent();
}

private void btnProcess_Click(object sender, EventArgs e)
{
Boolean found = false;
lblMessage.Visible = false;

Match m;

Regex r = new Regex(tbRegEx.Text,
RegexOptions.IgnoreCase
| RegexOptions.CultureInvariant
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);

tvTree.Nodes.Clear();

this.Cursor = Cursors.WaitCursor;

for (m = r.Match(tbSource.Text); m.Success; m = m.NextMatch())
{
if (m.Value.Length > 0)
{
found = true;
tvTree.Nodes.Add(“[” + m.Value + “]”);

if (tbOutput.Text.Length > 0) { tbOutput.Text = tbOutput.Text + “, “; }

tbOutput.Text = tbOutput.Text + m.Value;

int ThisNode = tvTree.Nodes.Count – 1;
tvTree.Nodes[ThisNode].Tag = m;
if (m.Groups.Count > 1)
{
for (int i = 1; i < m.Groups.Count; i++) { tvTree.Nodes[ThisNode].Nodes.Add(r.GroupNameFromNumber(i) + ": [" + m.Groups[i].Value + "]"); tvTree.Nodes[ThisNode].Nodes[i - 1].Tag = m.Groups[i]; int Number = m.Groups[i].Captures.Count; if (Number > 1)
{
for (int j = 0; j < Number; j++) { tvTree.Nodes[ThisNode].Nodes[i - 1].Nodes.Add(m.Groups[i].Captures[j].Value); tvTree.Nodes[ThisNode].Nodes[i - 1].Nodes[j].Tag = m.Groups[i].Captures[j]; } } } } } } if (found) { tbOutput.SelectAll(); Clipboard.SetText(tbOutput.Text); lblMessage.Visible = true; } this.Cursor = Cursors.Default; } private void btnGetText_Click(object sender, EventArgs e) { tbSource.Text = ""; tbSource.Text = Clipboard.GetText(); } private void textBox1_TextChanged(object sender, EventArgs e) { btnProcess.Enabled = (tbSource.Text.Length > 0);
}

private void btnEmail_Click(object sender, EventArgs e)
{
tbRegEx.Text = @”([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})”;
}
}
}
[/code]

As long as you don’t get too boiled down in the actual regular expression itself, the code is fairly self-explanatory.

A simple example
Consider the following strings: A123, 234, C456. I’ve deliberately missed the ‘B’ from the second string.

It would be useful to be able to scan these strings to pick out strings similar to A123, i.e. an alphabetic character, followed by some numeric content. Alphabetic characters are represented using character sets enclosed in square brackets. Assuming the alphabetic character was allowed a range of A through to Z, we could represent this set like this: [A-Z]. Numeric sets work in the same way; the range 0 to 9 is the pattern [0-9]. Thus given the pattern [A-Z][0-9]+, we can match the two strings A123 and C456.

If we augmented the strings to be A123, B234, C345, we could use the pattern [A,C][0-9]+ to match A123 and C345, to give us the same result.

Resources:
http://www.regular-expressions.info/
http://regexlib.com/

Tools:
http://www.regular-expressions.info/regexbuddy.html
http://www.editpadpro.com/

Via Search Engines:
http://search.live.com/results.aspx?q=REGULAR+EXPRESSIONS&src=IE-SearchBox
http://www.google.co.uk/search?hl=en&q=REGULAR+EXPRESSIONS&meta=

  

Technorati Tags: , , , , ,

UK credit card marketing

If you live in the UK you’re probably quite used to receiving junk mail. For me, and I know that I’m not alone here, a lot of the junk mail I get emanates from credit card providers. It seems that everybody else’s credit card is better than the one I have currently. There’s the usual carrot and stick, offers of 0% interest for 12 months (longer with some of the more desperate providers), cashback or famous-name High Street store vouchers, etc.

I don’t like naming names, but Capital One would appear to be the worst culprits. I think it was one of their envelopes that has a return address on the back of it – it has a disclaimer stating that a fee will be charged if the item is returned. I find that astounding, albeit I won’t be paying the fee, whoever attempts to deliver it will probably have to, and even then it’ll be very much subject to a response of “two fingers“, “up yours” or “not on your nelly” from the person attempting the return delivery. This weekend, I spent many hours in my study clearing out old magazines, old mail, etc. I lost count of the number of Capital One envelopes that I had to process. I say “process” because I had to open each one – there’s a plastic replica of the “credit card you could have” inside most of the envelopes. My shredder doesn’t like plastic, nor does my paper recycling facility.

Now this presents another problem: a large proportion of the general public will probably just throw the whole envelope in to the general trash. This then opens them up to possible identity theft. This has negative effects for both the individual concerned and the credit card company. Granted, in order to successfully apply for a credit card you do need more information than is present on those forms the credit card company pre-print for you, but it’s a start. The prospective credit card company have essentially established a relationship with you by pre-printing some information on the forms. By making it as easy as possible for you complete the form, they are of course hoping to get you to sign on the dotted line and join their debt mountain.

What’s the solution? Well, I believe that the credit card companies should pull together and rationalise their junk mailings. They should offer their own Mailing Preference Service – and we should be able to register with our current credit card provider. This would mean a huge reduction in the amount of pure junk mail that is sent around the UK and as a side-effect, will see a very small reduction in indentity theft and case of credit card fraud. This approach does have a downside: our current credit card providers will have to wise up and offer existing customers better deals. Existing customers get it in the neck: rarely do they get preferential APRs or 0% offers. But at least they would get to keep their customers, and that has to be a good thing, surely?

Technorati Tags: , , , , , , , , ,

Craig Murphy: author, blogger, community evangelist, developer, speaker, runner