Not a good night. After all my progress my Visual Studio 2012 Project for Accountable has bugged out and I get the following error:
Error 5 The name “LayoutAwarePage” does not exist in the namespace “using:Accountable.Common”. G:\Coding Projects\Visual Studio 2012\SAVED\Accountable\Accountable\BasicPage1.xaml 1 1 Accountable
Weird, as all I have been doing is adding new XAML Views to the project, them bamn, Visual Studio has bugged out. So I furiously last night tried the following:
- Had a look on StackOverFlow and found post which didn’t help at all. I then logged my own here ONLY after trying the following triage on my Project:
- Deleted the SUO (Hidden) file from the Solutions folder. No luck.
- Removed my XAML Files, Classes (Models and ViewModels) and deleted the Common Classes and created a new XAML Basic Page. This causes the Project to reload the Common Classes (including LayoutAwarePage.cs). Rebuilt the Solution, no luck.
- Removed the reference Syncfusion Controls for WinRT XAML which I use for Custom DatePickers. Still the same issue.
- Repaired the Visual Studio 2012 installation using Control Panel->Program Features->Visual Studio 2012->Change. Again, nothing happened.
The (very helpful) guys over on Stack couldn’t resolve the issue as well, plus I created a new Project and this works, so i logged a call on Microsoft Connect here:
As you can see, not very helpful! So I’m now left with no option but to create the Project again, and add it bit-by-bit up from existing code. Hopefully the issue doesnt replicate BUT if it does, I might be able to isolate and provide more detail. For the time being I will keep the SO question open. If anyone else gets this issue, comment here or post on the SO question.
As you know I have had a bit of a nightmare over the last couple of weeks whereby my Accountable MVC4 version has come to a bit of a halt due to PC Upgrades etc. I didn’t want to stop while I was on a roll, so I started a Windows 8 Version, and what can I say, I LOVE C#/XAML! Such a powerful tool set plus having Blend included within Visual Studio 2012, makes UI Design easier. Im loving it so far, so even though I have my MVC4 code back, I have decided to continue. Here are some screenshots of Accountable Windows 8 Version:
Windows 8 (Photo credit: Andy_BB)
Now I’m plugging in the input Views to create/edit transactions at the moment, which using the ViewModels and the powerful model binding facility, should be easily done.
What a week from hell! My Windows 7 PC’s PSU decided to blow on the day my new brand spanking new Windows 8 Machine arrived (courtesy of Novatech). Unfortunately all my Accountable MVC4 App code is on that machine and then I found I had booked in and synced my latest code (Checked In) on Team Foundation Service so I didn’t have the latest code #sigh#
This was even more frustrating as the I wanted to enter the project into the Dev Circles Code Crash hackathon. So I have decided while I wait to get my data off (New PSU) to start learning Windows 8 App development and create Accountable as a Windows 8 App. So I have read the MSDN Tutorials and tried them out (best place to start) and studied some of the guidelines:
Part 1 – 5 Tutorials
With the basics out of the way I have decided to read Iris Classon’s brilliant WinRT Series, WinRT app guide…. which Iris takes you through the process of creating an WinRT app from design to code. Very good read and I’m finding helpful.
Here are some links:
For anyone who doesn’t know Iris on Twitter or read her blog, then please read this inspirational post detailing Iris coding career since 2011….yes you read it right, 2011. As you may of guess I’m an Iris fan, and completely blown away by her commitment and passion for a craft I hold dearly above everything in my life (Apart from my wife/children, though I’m sure she will disagree).
Anyway tonight I need to sketch my design of the UI…..wish me luck as I’m not artistic at all!
As the title stipulates, I’m getting Serious and I mean business. So what am I getting serious about? Well, personal coding projects which I never finish. I’m blessed (cursed) with an over-active imagination which can lead to an lack of discipline at home for my personal work, which is perplexing because with everything else I do, I’m very organised which sometimes borders on OCD‘s (Washing up piles ordered into separate piles springs to mind). Yes I lack basic common sense and I tend to mislay and loose things alot…..but hey that is an integral part of who I’am. Even at work I’m organised… really organised and anal about time.
So my problem I think is that my imagination is wild at home. I’m unrestricted. I’m free. I’m wild. I need to tame the need to learn “other stuff” and become a Ninja at something, like MVC……..
Hello Project Personal….
I have limited spare time. I have a wife who likes to do stuff as a family and a gorgeous 2 year old who demands my attention (quite rightly). Plus I use that spare time to run and keep fit, which is also an important feature of my life. But I still have this insatiable urge to learn and code and finish a goddam personal project. Balance is needed, so I have decided to plan my time properly – Hello Project Personal.
- Use Spare time only – which is:
- 7.30am – 8.30am Monday – Friday
- 19.30pm – 21.00pm Monday – Friday
- Some weekends
- Cannot let this project interfere with family life and running.
- Need to complete 1 ASP.NET MVC Project from now until December 2012…..not 2013
- Use reading time (Our bed time reading usually consumed by Fantasy/Sci-Fi Novels) reading upon new stuff.
Tonight I have chosen to finish an App i started 3 months ago for the wife. Easy Accounts app so she can track our outgoings on a daily/weekly/monthly basis. Easy peasy. I’ve started it and i would say its a quarter the way finished so this would be a good to get it out there and finished. Plus I have decided on some reading materials. So here it is, this is my learning stuff – No more and no less:
- Accountable – Wife’s MVC app. The name may change.
- DI for .NET – I will continue reading this book.
- SQL – Enhance my very poor SQL skills.
The rest of the evening I have been planning using Google Calendar and setting up a Trello board:
This is a little bare at the moment, but that’s my plan for this week – to plan,plan,plan. I will keep these updated and post specific milestones here or any code samples I feel are appropriate.
In the new year (2013 if you didn’t know) I want to use the lessons learn’t and move onto a new project. I have a couple I want to do:
- 8weekgame – I really want to build the site which will allow me and Shawson to continue hosting new competitions. I have lots of ideas for this so watch this space!
- Accountable Windows 8 Metro App – If all goes to plan I should have the site live in January, with wifey using it. I would like to write an App for Windows 8 which utilises this system. In October I plan to upgrade to Windows 8 and purchase a Windows 8 Table (Hopefully a Surface) so having Accountable on there would be ace.
What is important though is to complete Accountable and complete it well, while keeping and balancing a family life. If i still have a wife in December I might have succeeded………
This post is a little late as DDD10 was on the 1st September, but I have been extremely busy #cough# attending Gaga concerts and working late. (Yes I’m a big Gaga fan, what of it! :0) )
For anyone that doesn’t know, “DDD” simply means DeveloperDeveloperDeveloper and are community events which are (at the moment) free to the community and sponsored by various partners. Now just because they are free this definitely does not dilute the content on offer. Before I ramble on about the Sessions on offer, I would like to say what a marvellous job the organisers and speakers of the events do, to make these events so successful. You really do feel the passion from these guys and gals. Humbling to say the least.
This is my 2nd year attending the event (again held at Microsoft). This year i wanted to choose Sessions which are applicable to what im trying to achieve now, instead of what interests me from the title. So as I’m learning ASP.NET and MVC at home at the moment, i decided to focus the majority of my efforts around web technologies (where possible), so i chose the following Sessions:
As you can see a good mix of Sessions. Overall, I had an really good day, enjoying myself immensely and learning some stuff along the way. Big thanks to all everyone involved. So how did i find the sessions……
- Keeping JS Sane – The first session of the day was run by an excitable Rob Ashton. The first thing I learnt was “Add Ponies”, which I presume is a reference to Rob’s fascination of “My Little Pony“?Lets set the scene – It is 9.30AM on a Saturday morning, I have been up since 4am and travelled from Durrington-By-Sea to Reading with my laptop bag and overnight bag. I’m tired and ratty but I was looking forward to the day ahead, until I’m bombarded with references to a kiddies toy. I sighed…. alot…. It is a shame, because Rob’s work on line is astounding and in any normal circumstances I’m sure he is a great guy to be around and a good laugh. The problem was the early morning and a ratty Gareth, who didn’t appreciated the finer side to Rob’s hyperactive start.I did learn a few things (considering I’m a JS nOOb that should of been a must), which i will investigate. Specifically using JSLint and Zombie client-side testing framework. I would like to point out though, that I met a (drunk) Rob at the after party and he is a very nice and witty chap and consumed at last count, 3 pizza’s at Pizza Express. Fair play to the chap!
- ASP.NET Gone Wrong – So after the first session, i was hoping for more, and i got it. This session was presented by Stuart Leeks and Simon Ince from Microsoft. The presentation was around the 11 rules of MVC where people slip up. It was a well thought out and well presented session, with some solid code samples, and Stuart and Simon really worked well together. I took a lot from this presentation, and i will be thinking over the coming weeks on how i can use them to improve my coding using MVC. The rules are:
- Controller Rule 1 – NO Business Logic in your Action Methods!
- Controller Rule 2 – A good Action Method should only be approximately 15 lines of code.
- Controller Rule 3 – Action Filters are your friend! Do not use a Base Controller to code generic functionality applicable to a Controller (Like Logging).
- View Rule 5 – Always use strongly-typed Views. Don’t use the dynamic ViewBag or ViewData. Use ViewModels instead for this.
- View Rule 6 – Minimise logic within Views.
- View Rule 8 – Don’t use Base Vie. Create one per View. This is for maintainability purposes.
- Model Rule 9 – Have a separate ViewModel for each View.
- Model Rule 10 – Don’t use base ViewModels. If needed use Child Actions to perform generic functionality.
- Model Rule 11 – Dont add any behavioural logic to the ViewModels.
- Websocket’s and SignalR – This was another solid session by Chris Alcock, and another I’m glad I attended. It was a tough choice as Gary Short’s Raspberry Pi was on at the same time, and my inner-Nerd really wanted to attend. Chris though did an excellent job describing Websocket’s and its implementation within SignalR. Nice session with the following points of interest:
- Websockets Protocol is currently on Version 13.
- Browser support is: Firefox 11+, Chrome 16+ and IE10.
- SignalR doesn’t just use Websockets, so can fall back to older protocols for browsers which doesn’t support Websockets.
- Tip: Never create a SignalR folder in the root of your Visual Studio Project as this will break stuff.
- Tip: Breakpoints can Timeout in SignalR Projects when debugging.
- Performance and Scalability, The Stack Exchange Way – Another one of my favourite sessions. Marc Garvell presented some really interesting ideas using technologies he help build at Stack Exchange to locate performance issues that could be costly to them. It was a insightful presentation talking about Profiling using Miniprofiler which can be used in MVC projects. Its a single assembly which can be included, and you pepper it around your code-base to use its functionality. It can also be used in a production environment which is a nice feature. Another example was their Micro-ORM, Dapper, as a light-weight alternative to EF and LINQ-2-SQL.
- Windows 8 using XAML and C# – I chose this session because i attended Kris Athi DDD9 presentation on WIndows Phone 7 Development and thoroughly enjoyed it. I wasn’t disappointed this time either. A good session on Windows 8 and its feature set like Notifications, Charms and Contracts etc, but nothing i didnt already know. Kris though knows what he is talking about and i was thoroughly impressed again on his talk. This is a good thing, because if he doing future talks, i will probably choose his session based on his skills alone and not the subject matter, so well done Kris!
- Developing a Production Immune System – Out of all the sessions before DDD10 started, it was this one which i was looking forward to the most. I think i had a perception that this was going to be talking about creating systems to detect and fix issues automatically (as per the session brief), but it wasn’t. David Walker did warn us at the beginning of the presentation that he had picked a wide topic, and that he did. I didnt get anything from the presentation I’m afraid, which is testament to the fact with minus no notes to do with this talk! Sorry!
The Winner is….
So after 6 sessions, my top presentation goes too… well its a tie between ASP.NET MVC Gone Wrong and Performance and Scalability, The Stack Exchange Way. Both were really good solid presentations which I thoroughly enjoyed.
Overall though the day itself was marvellous and i think well received by all present. I will end by saying again a massive thank you to the organisers, sponsors and of course the speakers. DDD10 is what it is not because its free, but because of the community and the guys who take the time to organize it. Thank you 🙂
P.S. Pizza Express was brilliant as well and I met some lovely chaps as well.
Simon P Stevens