Community night in September 2011 - IMPORTANT INFO
Community Night, the best way to meet, mingle and learn (if you don’t know about it – read here) happens on the second Tuesday of the month… except in September due to an event at the venue on the Tuesday which can’t be moved.
So for September it will take place the Monday before, in other words Monday the 12th September. Please help get the word out to the various user groups and communities!
See you there!
Codename: Roslyn - the next generation of the C# & VB.NET compilers
This past weekend I had the opportunity to present at a fantastic event, Dev4Devs which is a free event where anyone can present on anything (software developer related) for 20min. It is a lot of fun, because of the variety of talks, the variety of people (some new speakers and some experiences speakers) and the HORRID 20min timeline.
This time I presented on a topic I am very interested in, Codename: Roslyn which is the next version of the C# & VB.NET compilers which are fully managed code (C# one written in C# and the VB.NET one written in VB.NET).
Since there is no public bits available I made use of the compiler from Project Mono – which has had similar things (the REPL environment and hosted compiler) for years.
As with all presentations here (or at the end of the post) are my slides, demo notes, demo files and other info!
During my research and prep, I found a bunch of interesting posts and information about it so here is the info I found. I’ve bolded the ones I think are especially interesting.
- http://stackoverflow.com/questions/4222524/what-would-you-do-with-compiler-as-a-service
- http://codebetter.com/patricksmacchia/2010/05/31/c-5-and-meta-programming/
- http://research.microsoft.com/en-us/events/fs2011
- http://social.msdn.microsoft.com/Forums/en-US/async/thread/03a51936-b4fd-4814-9161-46544eda63cf/
- http://blogs.msdn.com/b/ericlippert/archive/2010/12/16/hiring-for-roslyn.aspx
- http://blog.functionalfun.net/2008/10/dynamic-future-of-c-40.html
- http://channel9.msdn.com/Shows/Checking-In-with-Erik-Meijer/Checking-In-Eric-Lippert-On-Compiler-Evolution-Designing-C-and-Blogging
- http://castroller.com/Podcasts/NetRocks/2230612-Eric%20Lippert%20Talks%20About%20Project%20Roslyn
- http://channel9.msdn.com/Shows/Going+Deep/Anders-Hejlsberg-Questions-and-Answers
- http://blogs.msdn.com/b/lisa/archive/2011/03/29/teched-middle-east-2011.aspx
- http://www.mono-project.com/CsharpRepl
Image from Ezu
South African ID Number Tools for Windows Phone 7
16 November 2011: This application has had a major update, see the details in this post
Following the same idea as my AA Rate WP7 app, another very popular spreadsheet I built is one that verifies South African ID Numbers so I also decided to build a Windows Phone 7 app to do that.
This does a little more than the spreadsheet could, so it has lots of info about what in an ID number does not verify which is very useful.
In addition it includes a awesome new feature a South African ID Number GENERATOR! With this you put in a few required details, hit a button and BOOM! An ID number that will validate.
Important to remember that validation of a number doesn’t mean it actually exists, just the math works. So please don’t use this for anything except interest or development!
(btw screenshots are from 1.1, which is soon to be out – so if you download and it looks different then give it a day or two)
AA Rates Calculator For Windows Phone 7
16 November 2011: This application has had a major update, see the details in this post
One of the most popular posts on my website is the AA Rate calculation spreadsheet I built in 2008. The goal of the spreadsheet is you provide the details about your vehicle and it tells you what the AA Rate for your vehicle is. So I decided to rebuild this for Windows Phone 7!
This was a lot of fun because it has some complex issues (matrixes of values) which had to be solved, so that tickled my developer brain.
This also allowed me the opportunity to update the calculations since they change every so often which is important for you!
An interesting thing that I learnt with this release is that the official/documented calculations is NOT equal to what the AA online calculator does. So there is an option now called “quirks mode” which runs it equal to the online calculator where if you turn it off, it runs it using the documented mode!
Kicker - My first WP7 app
Update: This application has been retired - it was my first game (ever) and my first WP7 app and so it was for my son and for my own learning and experimentation. My son has moved on to Angry Birds, I have more impressive apps and as a game, well it wasn't going anywhere. With all that I have retired it away.
Kicker, is my first WP7 application and is a simple time waster. I don’t want to use the term game, because there is no challenges. Touch the screen and unless you are unlucky, you score a goal.
This was written mainly for my young son, who had a game like this on my old Nokia 5800 and he loved it so really just porting it across.
You can get it online RIGHT NOW!!
Nugget: Little compiler optimisation
Found this little C# compiler optimisation which is really cool. Here is start code
int y = 0; int x = 10; if (x * 0 == 0) { y = 123; } Console.WriteLine(y);
If you know a bit of math, anything multiplied by 0 always equals 0 (line 4). So the compiler optimises that out and then because x is never used that is also optimised out and you end up with
int y = 0; if (0 == 0) { y = 123; } Console.WriteLine(y);So very smart
Are you using the .NET name correctly & other interesting brand info
Not talking about the technology but various identifiers in the .NET world are often abused. I know this is SUPER pedantic of me, but it is something I come across watching lots of presentations. Getting this right shows a level of polish and knowledge, and getting it wrong shows that either you not paying attention, don’t know what you are talking about or just don’t care.
So here are some brand/naming problems I see:
- .NET – I often see people use .net or .Net, the correct capitalisation is ALL caps. There is NO excuse for this one, just do it right.
- .NET Framework 4 – With .NET 4, the marketing people dropped the .0 like we had with 2.0 or 3.5, so stop saying four-oh, it’s just 4.
- Windows Phone 7 – It is Windows Phone 7, not Windows Mobile 7 (no such product) or Windows 7 Phone.
- Microsoft Visual C♯ 2010 – I make this one often and call it C♯ 4, it is actually Microsoft Visual C♯ 2010.
- Should you use ♯ or # with C♯ – either is acceptable. However Microsoft recommends the “Music Sharp Sign” for marketing material.
- Microsoft Visual Studio 2010 Ultimate – That is the full product name. The issue I see often is people putting .NET in there, ala Microsoft Visual Studio .NET 2010. There is NO .NET in the name. There was a release in 2002 called Visual Studio .NET, but that was a specific release and is not the product name.
- Microsoft SharePoint Server 2010 – A lot of people are using the term MOSS to describe SharePoint Server. It is not MOSS in 2010. In 2007 it was Microsoft Office SharePoint Server, but the Office part was dropped for the 2010 release and the MOSS acronym along with it.
- Microsoft SharePoint 2010 Foundation – Like MOSS above people love to use WSS for SharePoint Foundation. It’s not called that in 2010…. there isn’t even a W in the whole name now.
- Microsoft Visual Studio 2010 Documentation – There is a very bad habit (I do it too) to call this MSDN. MSDN is not the help that is install on your machine with Visual Studio! MSDN is a website Microsoft runs for developers which has help on it and also a subscription service where you can get Microsoft software legally and cheap for development purposes. So while it is two things on the Internet, it is NOT on your machine.
- MacLean – Thought I would just throw this one in, it’s my surname. It has a ‘a’ in the second position and a capital L. It is not Mclean, McLean, Maclean or ‘Hey you, stop kicking my dog…’
Community night in August
Important Notice for August 2011
Community night is normally the second Tuesday of the month, however since that is a public holiday it has been moved to Monday the 15th of August!
What is community night?
For those who do not know this is a FREE event that happens monthly where a variety of user groups get together at Microsoft's offices. User groups are not influenced by Microsoft, they just use the facilities. User groups that are there on a regular basis:
- Information Worker: Technical focused SharePoint & Office
- Business User Workshops: User group that looks at the issues that face power users in enterprises. This month the understanding where a portal ends and CRM begins.
- Game Dev: One of the biggest with plenty of game developers & artists getting together.
- JavaScript: For all you JS fixes
- Mobi: My good friend Rudi Grobler hosts this group focused on mobile (iPhone, Android, Symbian and Windows Phone)
- UX: For those who understand there is more than 16 colours
- Architecture: For architects of any IT systems!
- Languages: For developers who are interested in learning the pros & cons of other languages.
- SQL: The fantastic Gail Shaw runs the best SQL user group anywhere!
There is also FREE beer, cool drinks & pizza!
Where is Microsoft’s offices?
Microsoft Bryanston Office
3012 William Nicol Drive
Bryanston
2191 Johannesburg
South Africa
Click here for map and more details.
Times?
Various user groups starts at different times. I think the first UG kicks off at 16:00 and it can run to 21:00.
However depends if you attend multiple UG, stay for passage conversation, etc…
So up to you, I have nights where I arrived after 17:30 and other times left at 18:00, no pressure!
Time to move from YallaApps
Stormtrooper: Let me see your identification.
Obi-Wan: [with a small wave of his hand] You don't need to see his identification.
Stormtrooper: We don't need to see his identification.
Obi-Wan:These aren't the droids you're looking for.
Stormtrooper:These aren't the droids we're looking for.
Obi-Wan: He can go about his business.
Stormtrooper: You can go about your business.
Obi-Wan: Move along.
Stormtrooper: Move along... move along.
This memorable quote above is exactly what is happening at the moment, South African Windows Phone 7 developers are being told to move along away from YallaApps, which has helped us to the official Microsoft AppHub, as it is now available here.
Should you do it though is an important question? The answer – YES!
YallaApps is like when Luke decided to leave Tatooine, there is nothing there for him. Yalla has even confirmed this to me:
What about the money you paid to Yalla (or your free $100 credit) – well if you migrate before 20 August 2011 you will be refunded SO GO GO GO!
Last and importantly, how do you do this?
Please note that there is a deadline to complete this process by August 2011 15 September 2011 (edit: this date was extended, and thus the update! More details are the DPE blog) in order to be eligible for a refund.
- Go to http://create.msdn.com. Click on ‘Join to submit your apps & games’ on the left. (You must be a member of a Windows Phone Marketplace supported country, as indicated by your country code – list provided in FAQ).
- Click ‘join now’ and sign in using your Windows Live ID.
- In the ‘personal details’ step, provide the same email address you used when registering with Yalla Apps.
- In the ‘my profile’ step, choose a display picture and enter a Gamertag. This is required to enable your account for Xbox LIVE development.
- In the remaining steps, pay the registration fee using a credit card from one of the Windows Phone Marketplace supported countries (list provided in FAQ). Only the 1st year’s registration fee will be eligible for reimbursement.
- Login to your Yalla Apps account and go to http://www.yallaapps.com/dashboard/apphubmigration-refund. Fill the form and tick the option ‘I have created a new AppHub account and wish to cancel my Yalla Apps account’, and click ‘Update’.
- Remove all your Apps from Yalla Apps and re-publish them normally to AppHub.
- In case you had Paid Apps on Yalla Apps, please send an email to [email protected] to notify Yalla Apps once you have removed your Apps so that your final payout can be processed.
- You will receive the final payout of all amounts due to you from Paid App sales from Yalla Apps within 2 months after you have deleted all your Apps from Yalla Apps. Your payout amount must exceed US $25 in order for the payment to be processed. The payout will be conducted via PayPal or MoneyBookers, according to the payout details you have specified on your user profile. In case of any questions regarding pending payouts, kindly send an email to [email protected] .
- Within 2 months of registering on the App Hub, your registration fee will be reversed on your credit card, if you correctly followed all the instructions. You can review your credit card charges at the Microsoft Billing and Account Management website by following the instructions here.
Presentation Dump - Mid 2011: Windows 7 API CodePack, Development for Nokia, Mercurial, VS Tools, AOP, Multitasking, Cloud
The fact we half way through the year snuck up on me this morning, so it is time again to share some of the presentations I have done in the last 6 months! For those new to the presentation dump, every 6 months or so I share all the slides I can (some I can’t because they contain NDA info, like the one about Microsoft’s Project Double Rainbow) so that you can take these slides and work with them yourself!
So what is included in this dump:
- Windows 7 API Code Pack: This was a very fun session to do since it was showing off a bunch of cool Windows 7 features.
- Development for Nokia: This is maybe one of the best looking slides, but one of the worst timed sessions since shortly after it Nokia announced their move to WP7 so not much could be taken away from this
- Mercurial: This is a difficult session, because the demo’s are so boring (how do you make source control sexy?) – however a ridiculous amount of animation about process made this entertaining to create and present.
- Visual Studio Productivity Tools: This one started off from the idea of answering the question CodeRush vs. Resharper – which is a bit of religious debate more than a this one wins. It includes a bunch of other interesting content about other extensions too. For non-South African’s “Braai Rules” is the same as saying “BBQ Rules” or “Pub/Bar Rules”
- Aspect Orientated Programming: This is a big one for me as I see general development using more of this and the frameworks, like .NET, moving to it more and more in future. Good to get an early look into it.
- Multitasking in applications: This session looks at one of the themes of .NET 4 – TASKS. Why should you care, because multi threading is complex, but multi tasking gives the same benefits with less complexity.
- WebMatrix: Microsoft’s new tool for hobbyist web developers. What is included in that tool? This presentation tells you.
- Welcome to the cloud: I had a great opportunity to present at Tswane University of Technology with Rudi Grobler on the cloud & mobile. This was a very fun session and allowed me to also talk about why BBD is such an awesome place to work.
Slides available in the post! Click below for more