Brian H. Madsen

Computer says no

LIDNUG & Scott Guthrie – 15th Q&A on the 9th of January

without comments

 

lidnug

LIDNUG presents Scott Guthrie’s 15th Open Q&A and the first event of 2013.

 

Scott has been coming back to LIDNUGs members each quarter for the past couple of years and it’s been one of the best sessions to get answers directly from The Gu himself.

 

In this session Scott answers questions on technical solutions, advices on implementations and draws comparisons between methodologies – all in the span of 90 minutes where his sole focus is to answer whatever question that comes in from the attendees.

 

My name is Scott Guthrie, and I am a Corporate Vice President in the Microsoft Server and Tools Business. I run a development team that works on the following products/technologies:scott-guthrie

  • Windows Azure
  • ASP.NET
  • Entity Framework
  • WCF
  • WF
  • IIS
  • Service Bus
  • Cache
  • BizTalk
  • Visual Studio Tools for Web
  • Web Services and Workflow

Register and attend this event for a chance to win 1 of 2 Telerik Ultimate .Net Collections.

Click here to register

 

FAQs

Where can I contact the organizer with any questions?
Use the following link and send us a question

Is there sufficient parking available at the venue?
Yes, parking is available at this Virtual Online Event. Just make sure you park the car in your drive-way, have a cup of coffee and log in.

Who can I blame if I can’t access the session?
Just blame Brian (it’s easier that way) => brian.madsen@lidnug.org

Will attending this event help my career prospects?
Of course, you will be able to bring a treasure trove of knowledge with you to your next job interview.

 

Written by Brian H. Madsen

January 6th, 2013 at 12:32 pm

Free 2-day Windows Phone 8 workshops in Perth, 7-8 Dec

without comments

Windows Phone 8 Logo

Windows Phone 8

Most have undoubtly heard about Windows Phone 8 and seen some of the awesome handsets that’s being released (one of them, the Nokia Lumia 920 is my current favorite).

With Windows Phone 8 there’s also been a huge range of new features released, such as native C++ support for game developers, NFC, in-app purchasing, wallet and much much more (see here for the Windows Phone 8 Developer Highlights).

How do you then get some hands-on training under your belt? It’s so new that there’s still not many around offering training and that leaves you at a disadvantage…or does it? Nopes – there’s now an opportunity for you to attend a free 2-day Windows Phone 8 developer workshop in Perth. Two days packed full of Windows Phone 8 goodness!

The two days run on the 7th and 8th of December, 2012 (yay, just in time for the chrissy holidays where you’ll have plenty of time to get your hands even more dirty, crunching some awesome code) and they’re free…..

My good friend, Nick Randolph (from Built To Roam) is running the 2 days and it’s great to see him head back to Perth once again. Nick is probably one of the biggest names in Mobile development in Australia and if you’ve ever had the pleasure of attending any of his mobile presentations you’d be aware of the quality you’ll be exposed to.

So what are you waiting for, click here to register.

Written by Brian H. Madsen

November 27th, 2012 at 6:44 am

LIDNUG and Wintellect Presents – .NET Performance Tuning with John Robbins

without comments

LIDNUG & Wintellect Presents – .NET Performance Tuning with John Robbins    John Robbins

One of our most highly anticipated events and presenters is coming up in just a few days (11th of October, 2012) – namely the return of John Robbins. Last time we caught up with John we had a full house, and with currently 700+ registered to attend it’s bound to be a blast.

.NET is an amazing environment. It runs on everything from a small phone in your hand, to the latest touch tablet, to your company’s server, to a cloud environment handling tens of thousands of transactions per second. But with that flexibility comes problems. When your applications performance slows down the issues go from “working OK” to “we are going to get fired any minute” literally overnight. You’ve got a performance problem with your .NET code so what the heck do you do?   In this session John Robbins will talk about the wonderful tools you have to find and fix those performance issues once and for all. There’s a lot of deep thinking over performance that most developers haven’t done because they don’t need to do it every day. Fortunately, John’s done that thinking for you so join him for this session and learn to tackle .NET performance problems. No matter if your performance problem is algorithmic or memory-based you’ll see how to deal with those issues once and for all.


Register to attend the webinar and you’ll be entered to win a Wintellect virtual training course (a $499 value). The winner will be announced during the webinar. You must be present to win.

The LIDNUG and Wintellect series of events are sponsored by Syncfusion.

For more details and to register, click here: http://lidnug-wintellect7.eventbrite.com/

note: for those on the southern hemisphere please be aware that this event is held in the EDT timezone.

Written by Brian H. Madsen

October 9th, 2012 at 6:51 am

New horizons–a change is as good as a holiday

without comments

Back in August 2008 I joined Fujitsu Australia to take on a long term, SharePoint based project, as a SharePoint specialist. The project was challenging and rewarding, not without taking into consideration that I got to work with some excellent people, and as it’s drawing to a close there really isn’t much more for me to do.

Now, 4 years later, its time for me to look for other pastures. I’ve learned a ton of stuff and had a great experience, both by working with some of the best people in the industry, but also from a mentoring perspective. Fujitsu is a massive organisation, not just in Australia where it’s the third largest, but also internationally and the corporate learning that can come by being involved with global service offerings, from the ground up has really given me a new appreciation for enterprise solutions.

thumbs-upI’m leaving some very capable guys behind that truly knows what they’re doing – two colleagues who’s made my time at Fujitsu especially fun, such as Martin Abbott, probably one of the smartest guys I’ve ever had the fortune to work with, and Louis Mierowsky – one truly awesome architect – I appreciate all of you bearing with my eccentricities over the past 4 years. There’s other people who’s been a great influence to me, especially Omar Abdel-Alim has been there, all the way, teaching me so many things about corporate life and business.

This will also be a new experience for me – I get to work with another fellow MVP – in that I’ve actually worked with most of the senior guys there before. Mostly when you step into a new organisation you don’t just have to learn corporate policies, processes and people’s idiosyncrasies (including mine), but you also have to get to know the people you’ll now be working with. Luckily here I’ll know most of them so it should be a breeze to slip right in and get started with the serious stuff.

So now I’m off to join another big corporation – I accepted an opportunity with NEC Australia as a Snr. Solutions Architect in their Perth offices.

I’m very much looking forward to getting started and see where this journey will take me.

Written by Brian H. Madsen

July 28th, 2012 at 5:58 pm

Input, Output and Actions – Back to basics

without comments

I was recently going through my RSS feeds and found an old article that I’d apparently earmarked for later reading. That seemed to start a trend and I kept going further and further back – several years back actually.

And that got me thinking….

What is the one trend that we (broad brush term) keep doing in this industry? We look forward…Constantly looking at what’s coming…what’s next…where do we go from here…where will “this” evolve to. We look at the gadgets, devices, frameworks, tools and services to innovate – because that’s where we are expected to look and then we moan when we don’t understand the basics – when that developer we just hired doesn’t get fundamental program construction or when we make mistakes ourselves.

We are quite often afraid to look at what we left behind – mostly because that’d make us be aware and acknowledge the mistakes we’ve made.

One of the bloggers out there that I quite often enjoy reading (i’m a consumer off his blog, not a participant) is Alberto Gutierrez and he’s the author of the blog that I’d bookmarked an entry from.

His blog entry “Forget about requirements, Software Development is all about inptus, outputs and actions” was what jump started my brain into gear and got me thinking about what I’m often doing wrong.

  • Labelling – i’m fanatical at labelling tasks

This helps me organise my work into segments that I can manage – or so I thought..Alberto’s blog entry must have sparked something that made me bookmark it back in 2009. And here it was. My labelling actually isn’t helping me. It’s making it unnecessarily complex. The fact of the matter is that it’s a task – one which has to be done – one which contributes to an overall goal. So, as Alberto puts it: It’s an input.

The result of that input is output – yeah, once the task has been completed of course.

I then set out to make this change to how I was managing things and the idea was to see if this would speed up what I set out to complete. Over a couple of weeks I did notice that the simplification of what I was doing was helping me spend less time organising and more time achieving.

I scrapped all my previous tasks lists and just made a single list. I use “Remember the milk” to manage my inputs – use whichever you want to use, the important thing really is that it’s available to you when you need it.

Full circle – looking back (or going back to basics) can quite literally be more valuable than to look for the future.

As Confucius said “Study the past if you would define the future”. It rang true with me and I’ve learned a valuable lesson. Making mistakes isn’t bad – as long as you recognise it, you can avoid making it again and that goes for all aspects of life really – not just for the professional side, but also in the personal.

 

 

Written by Brian H. Madsen

July 3rd, 2012 at 7:20 am

Posted in Personal

Tagged with

Upcoming event – Top 10 Features developers love with Jeremy Likness

without comments

 

In less than 24hrs we’ll have our first session focused on Windows 8 and we probably couldn’t be in better hands than with Jeremy Likness.

Jeremy has presented for LIDNUG before and it was one of those sessions where you seriously didn’t want to leave your desk for any reason, just so you didn’t miss anything. Tomorrow’s event promises to be even better!

What i think is cool is that Jeremy will being doing all the demos from a slate, running Windows 8 of course. We did a dry-run today and it worked a treat. Pretty gutsy of Jeremy tho…

So, what are you waiting for? Register here: http://lidnug-wintellect1.eventbrite.com/
Wednesday, June 20, 2012 from 1:00 PM to 2:30 PM (ET).

As if the session isn’t enough, here’s another piece of information. Wintellect is giving away a $499 virtual training course.

Partner offer from Wintellect: Attend and you will be entered to win a Wintellect virtual training course (http://bit.ly/Pnafbx $499 value). The winner will be announced during the webinar. *You must be present to win.

Partner offer from Syncfusion: Get more than 600 Metro-style icons for FREE! Download Syncfusion Metro Studio—a collection of Metro-style icon templates that can be easily customized using an intuitive customization tool to create thousands of unique icons. Download now! ( http://bit.ly/LCl2LB )

Very much looking forward to this event as I attended a full day of geeky goodness, here in Australia, this weekend, on exactly this topic – well, Windows 8 development anyways.

Written by Brian H. Madsen

June 20th, 2012 at 7:04 am

LIDNUG: The Art of Debugging with Mario Hewardt

without comments

We had a great session last night (couldn’t attend due to the storm that hit us..Cat 3 apparently – we all blame my fellow colleague MA for bringing the british weather to Perth).

Anyways, enough of blaming poor MA, what we have here is a brilliant session that’s probably going to surprise some people.

httpv://youtu.be/Xlp4P8pVsY4

All of our events are recorded and uploaded to our YouTube channel

Check out the upcoming list of events from LIDNUG – bound to be something to interest you.

Written by Brian H. Madsen

June 13th, 2012 at 8:11 am

Stick to your guns – why lifecycle management is important in the enterprise

without comments

The concept of Application Lifecycle Management is not a new invention that just popped out last year and hit us in our backsides. It’s a very wide topic with a lot of categories, which includes categories such as:

  • Project Management
  • Change Management
  • Release Management
  • Design, Modelling and Issue Management

Yes, that’s right guys and girls (honestly!!) - Project Management is indeed part of the Application Lifecycle (for real this time!!).

This is spread over an even larger list of methodologies and tools, some fluid/agile and some integrated…

We often hear that IT projects are more likely to run over budget, be delivered late and in a state of looking like a bug-ridden open source project…. statistically that’s quite often the case – so why do we bother when we’re doomed for failure? Well, because when things are done right, it just works.

One of the biggest mistakes I frequently notice on IT projects is the failure to understand that it’s not just the development and project management team which has to adhere to a process. (Yes, i know, those that pay the bills just want things done now…you arguing?…s’ok, there’s the door). IT projects are like a house of cards, the more you add and the more complex the “build” becomes, the more careful you have to be – so that means following that process even if it means you have to get approval before proceeding.

I was once assigned to a project to resolve a few bugs here and there. Nothing major, this was final stage of the project, just a few helpful hours when the cycles where free. The first issue I was assigned wasn’t that complex, but getting to grips with the code base and project layout did take a bit of time. It wasn’t really documented and there was nobody around to give a hand. Anyways, after about 1 1/2 of trying to reproduce the alledged bug, I finally gave up and tracked down the BA who’d lodged the bug to start with. For the first 30secs the BA had to get their head around which particular bug I was referring to – all understandable, the project had run for years.

Then it dawned on the BA which issue i was referring to…the message was…

That issue was fixed 1-2 days before it was assigned to you…

Ok,  naturally I wasn’t entirely impressed, so I chased down the PM that’d assigned the issue to me and got the usual blabber about “being newly assigned onto the project” and “we’re all in this together, please stop strangling me…garggle..ugghh..gasp”.

So the incident at least had a release for my homicidal side..

Why did the Project Manager assign the issue to me in the first place? Well, he’d been running around, trying to get resources stitched together to complete the project and get it out of his hair. Yes, he was a newly assigned PM and the developers on board were largely juniors. Obviously a failure to communicate on one level or another….or….something a bit more sinister?

The steps pretty much showed a full breakdown of the lifecycle.

Test conducted -> Issue Found -> Issue Raised -> Issue Triaged -> Issue Fixed….

And then that’s where things really broke down. No detail was found in TFS that the issue had been fixed. It was still assigned to the PM. Still in active status.

Obviously the PM was never informed that the issue had been fixed..who’s to blame for that? The developer? the tester? the PM?

It’s a very basic example of what can go wrong when the process isn’t followed by everybody involved. That includes developers, testers, project managers, stakeholders etc.

Considering how simple this was, the cost was huge and the ROI so small as to be negligent. Look at that from a project perspective, a drop in the ocean, however if that happened often enough the project would fail (unless we had some seriously generous clients and budgets).

Look at this from an enterprise perspective where cost of delays, additional licensing and hardware, consulting resources et al, then it’s obvious that the lifecycle is paramount. Had a process been in place above (well it was, but it obviously wasn’t followed) the waste of time (and additional cost to the project) could have been avoided.

Shortly after that incident I received an email, asking me to make a small change (just a date calculation, v.simple and quick fix) to another feature. I naturally understood that the work item had been assigned to me so I could see all the details of the change (and ensure nothing had been missed in the email), but alas, it hadn’t. Due to timezone differences I needed to wait for the PM to get back on board for the day, to ensure that the details I’d been given in the email was all encompassing. The work item change had been raised as an issue to be resolved – and lo and behold – it also hadn’t been assigned to me. Great, now due to check-in policies in TFS, I wouldn’t be able to check in before the change to go to the test team. Again, and added piece of delay that ends up costing money in the long run. Of course, I could go and make the change to the code base, wait for the issue to be assigned to me, check in and then move on. But, here’s another idea.

How about I DON’T do the work before the “paperwork” is all sorted?

Yes, I waited patiently for the PM to respond to my email - “S’cuse me, sir..please assign issue xx to me and verify all details…kthxbai” – and then I proceeded.

Did it take a bit of extra time to get this done? Of course it did, but what could the consequences have been had I not gone down that path? Again, wasted time and even possibly impacting code and changing features which wasn’t meant to be changed. Again, more wasted money/time/resources.

This is just a small example of why being very careful to follow a set lifecycle is paramount to IT projects – in the whole scheme of things, this wasn’t something major really - however, the project had already rolled way over budget and deadline, why continue to waste resources when a simple process could have prevented it all.

Written by Brian H. Madsen

June 6th, 2012 at 7:28 am

Posted in Rants,Tools

Measure twice, cut once – The law of professional development

without comments

Over the years, I’ve been fortunate to work with some seriously talented people – people who’s put my own meager skills to the test on a daily basis. It’s been a mix of people – some with strong academic backgrounds (BsC, Masters, Phd, et al) and some with a born knack for development. It has at times been a humbling experience, and in many ways it continues to be, that’s taught me that there’s always somebody out there much better, faster, smarter and stronger than me.

I’ve also been lucky to have people to lean on, for support (not just technical) and guidance, and some of the ways I try to work is reflected in that. I’ll be the first to admit that I don’t do everything absolutely right. I’m human and therefore expected to fail. We’re genetically wired to fail, it’s as simple as that.

One of my long-time mentors once gave me a task to complete (it’s irrelevant what the task in itself was), with no timeline, except I knew that this particular task would only benefit a minute fraction of people that I knew. I started working to complete the task, quickly made headway and was nearly finished when I was stopped to answer some questions. In this case the questions was “Why did you choose to do X, when Y was naturally a much better approach?”. Now method “X” was about 5 times faster to complete than method “Y” – it wasn’t a real kosher way of doing it, but usage was less than a handful of people, I “cut the corner” so to speak and took the risk of failure on my own shoulders. Simple math really.

Risk =  Probability * Damage Potential

So I took the chance based on that and figured that it’s only going to be used by a couple of people – no reason to go all out and design the Eiffel Tower all over again. Naturally as with many things that happens in life, I didn’t quite see the point of the exercise, except I knew that there certainly was one. After I answered the question of my choice of method (“X” over “Y”) I complete the rest of the task.

A couple of things occured to me as I was looking at the final output. Well, it did the trick….buuuuut….I wasn’t necessarily proud of the way it’d been done. First I figured the doubt came from not being 100% sure of what the point of the questions and exercise was, but then it dawned on me. I had used a shoddy approach – yes, it did indeed do the trick and got the job done, but there was very little satisfaction in completing the task. Personally I wasn’t entirely happy with it. It took me a few days to get it all sorted out..the “why” factor had hit me.

If it is worth doing, its worth doing right

It didn’t really matter how many people would be impacted by it – what mattered was the way I’d chosen to go about doing it. From a professional perspective, what did it say about me – I was willing to cut corners when nothing prevented me from doing it the right way. I had no time, budget or complexity constraints. It was a lazy attitude and this was exactly what the point of the exercise was.

Back to present day – I came across a question about why bother use proper techniques in a development shop, seeing as it was a small 1-2 man shop only. Was using MVC, UML, OOD etc overkill for an internal application? Now, very little risk would be associated with the “probability” of failure by the internal application. Impact was tiny and each of those impacted could easily fix any issues that would pop up. It was a supportive application and obviously not business critical (otherwise the question would most likely not have been asked). Many other answers were provided – such as what OOD was and why it was technically implemented. How it helped manage complexity etc etc.

I read through most of the answers, but noticed nobody was looking at the question from another point of view – from the perspective of “What does it say about me, professionally?”. It occured to me here that my lesson learned way back when, was applicable to many other areas and it founded on how I do things.

Do it right, not because its an option not to, but because what you do, and how you do it, is what shapes you as a professional

Does cutting corners, when there’s no reason not to do it right, not signal that something is wrong? Personally I believe so.

 

Written by Brian H. Madsen

April 23rd, 2012 at 7:30 am

Posted in Personal

An April Fool’s Day MVP – MVP 2012

without comments

The 1st of April has been hillarious for me, ever since I got my first Microsoft MVP Award in 2006. Not solely due to the fact that I’ve been honoured by Microsoft by being presented with the MVP Award, but also because quite a few of my friends finds it funny to send me all types of “spoofed” emails on the day.

This year was of course no different – lots of emails (of various dubious qualities), but at the end of the day I did indeed received one particular email that’s bound to bring a smile to my face.

Yeps, I’ve been awarded the 2012 Microsoft MVP Award and I’m very pleased with it. The award is a recognition from Microsoft and irrespectively of why we do what we do for the community, it is indeed very nice to get the recognition. When you take a look at the company and quality of the MVPs out there, I feel truly humbled. Some of the industry’s biggest names are MVPs but it’s like comparing apples and flux capacitors.

So here’s to another great year of more community involvements – but first a big thank you to all of those that’s bothered to listen to me waffle on for hours on end – lets make 2012 even better, and bigger, than 2011.

 Anyways, you can find me floating around in a few places:

 Feel free to ping me if you got any questions..

oh, btw, the category is ASP.Net :)

Written by Brian H. Madsen

April 2nd, 2012 at 4:58 pm