Forwarding Gmail emails to multiple email accounts

16 Nov

Some years ago I created a joint Gmail account for my wife and I and set it up so that it forwarded emails to each of our personal accounts by setting up two filters; one filter which looked for the @ symbol in the from address (which translates to from:(@) if you were searching Gmail directly) and forwarded matches to my personal account, and a second filter which looked for the same thing but forwarded matches to my wife’s personal account.

It wasn’t until recently that we discovered that some emails were not being forwarded from our joint account to our personal accounts and since we never really logged into our joint account we were oblivious to these emails.

Unfortunately, I didn’t manage to uncover why some emails were not being forwarded, but I’ve modified the filters to something I believe will more reliably match all incoming emails. In both of the filters, I now set the Doesn’t have field to some obscure text that should never appear in an email e.g. fdfjdlkfjdslkfjdsjflkds (which translates to -fdfjdlkfjdslkfjdsjflkds if you were searching Gmail directly) and no longer search for anything in the from address.

I’m hoping this will prove a reliable means of forwarding emails that arrive in our joint Gmail account to our individual email accounts. Watch this space…!

Building Web apps with ASP.NET and Ajax

8 Aug

Last week I spent 4 days getting stuck into learning about ASP.NET on another Learning Tree International course called Building Web Applications with ASP.NET and Ajax: Hands-On. Richard Howells of Dynamisys once again led us through the course very well. With the usual Learning Tree mix of theory and practical exercises, we covered the following topics:

  • .NET application architecture (n-tier architecture, Web Farms, distributed objects vs. clustering, state and data consistency, the anatomy of an ASP.NET web application)
  • Data access via ADO.NET, LINQ to SQL and Entity Framework (custom business objects: ORM-created vs. POCO objects)
  • ASP.NET application infrastructure (Web Form security, Web application state, exception handling, URL routing and page inheritance)
  • Applying business rules (managing business logic, overcoming concurrency issues, message queues and transactions)
  • Ajax Extensions (Controls: ScriptManager, ScriptManagerProxy, UpdatePanel, UpdateProgress, Timer; and asynchronous triggers)
  • Ajax Control Toolkit (control extenders, native script controls, accessing WCF Web services)
  • jQuery (a comprehensive introduction to jQuery including a look at Microsoft jQuery Plugins)
  • Application deployment (Web Deploy, Web Packages, Web.config transformation)

As is always the case with these 4-day courses, the amount of new information to take on board was overwhelming. But the key is to go back over the course notes and exercise manual and to jump in at the deep end with an ASP.NET project.

This was the 8th and final Learning Tree course that I’m required to complete as part of an MSc in Professional Computing. Next up, a large postgraduate diploma level project due to commence next month.

I've just been published!

10 Jun

Back in June last year, I responded to an exciting opportunity to write a collaborative e-book for online media company and information provider, SitePoint. I signalled my interest in writing something about vector languages with a particular focus on SVG and HTML5 Canvas. The folks at SitePoint liked the idea, so I was on-board with a deadline of October to submit my piece.

I decided to write a tutorial on how to build SVG and HTML5 Canvas versions of a game of Noughts & Crosses (Tic-Tac-Toe if you’re across the pond!) as it’s a simple game that many are familiar with. It took longer than I anticipated to build the two versions of the game, but in the end I got there and set about writing words to lead people through the process themselves. I really underestimated just how many words you need to adequately describe a fairly short piece of code, but after many hours of effort I finally finished my draft and submitted it on 26th October 2010. There were no guarantees that my draft would make the grade – especially as it was a pretty detailed technical tutorial – but I hoped it might be good enough. At the very least it had been a worthwhile exercise anyhow – I’d learnt loads.

A few days later, I received an email to say Thinking Web: Voices of the Community (book cover)that the team liked my email – woohoo! I was understandably excited.
A real test of patience followed as my draft was passed to technical editors to work their magic. All went quiet for a number of months until launch day was heralded on
6th June 2011 via a SitePoint Community Blog entry and “Thinking Web: Voices of the Community” was made available as a free download to the public. I was pretty ecstatic and couldn’t sleep properly that night!

Anyway, enough of my ranting! If you’d like to play a game of Noughts & Crosses with a friend, feel free to try out my SVG version or HTML5 Canvas version of the game – hopefully you won’t notice the difference! If you’re a bit more geeky and would like to peruse or download the code, you can do so here.

A taste of a .NET language

30 May

Last week I delved into the world of .NET on an excellent 4-day training course with Learning Tree International called C# Programming: Hands-On. The course was ably and enthusiastically led by Richard Howells of Dynamisys. With an appropriate sprinkling of practical exercises to break up the theory, the course covered:

  • C# syntax and semantics,
  • user interface development (briefly),
  • custom data types (using classes & structs),
  • the .NET Framework which includes a vast library of classes (e.g. collection classes such as List, Queue, Stack and Dictionary) for the developer to exploit,
  • interfaces and polymorphism (including a look at IEnumberable – which can be applied to a class to allow foreach loops to iterate through a collection within that class),
  • databases access via ADO.NET, LINQ and the Entity Framework (LINQ/EF),
  • writing and deploying components
  • miscellaneous C# features (such as symbolic operators, indexers, events and delegates, lambda expressions and disposable objects)

It certainly was a whirlwind of information to take on board, but realistically I need to go back over the course notes and exercise manual for it to really sink in. I’m just installing the free Microsoft Visual C# 2010 Express (including Microsoft SQL Server 2008 Express) now so that I can get stuck in.

As an aside, the course was a good opportunity to refresh my memory on some object-oriented (OO) theory. I do use OO every day at work, but it is nice to remind myself of the theory that underpins it every now and then.

This was the 7th of 8 Learning Tree courses that I need to complete for the MSc in Professional Computing that I’m studying. Next up, ASP.NET in August!