Highlight: Utah - most any part of Utah is stunning and truly awesome. The desert is beautiful and quite unique to a Kiwi - we don't really have any deserts here. Bryce, Glen Canyon and Zion National Parks are very pretty but I wouldn't want to be there in busy season. Lowlight: Las Vegas. It takes about 1 hour to realise what a scummy place it really is. On the outside it looks interesting but as soon as you walk into any of the hotels on the strip they all look identical - full of sad pathetic losers glued to brain washing machines. I just hate all casinos... Highlight: The people are friendly and actually quite normal! Highlight: Apart from Seattle the weather was clear and hot - which is apparently unusual for March. Lowlight: San Francisco - I feel violated! For a big city it's not bad but we had a hotel in a very seedy part of town and we were constantly pestered by street bums, beggars and people trying to sell stuff. Waiting in line for a cable car we were hassled by 'entertainers' and beggars - not my idea of a great time. Highlight: Seattle - despite the weather I like Seattle. It has a nice feel to it despite having it's fair share of street people. I didn't feel as taken advantage of as I did in San Francisco. The pace seems more relaxed there too. Lowlight: Grand Canyon. From the air this is breath taking but like most of the USA, it takes more time to absorb than most people have in a life time. We only had 2 hours to spend looking over the edge but I felt it was too commercially exploited compared to Bryce or Glen Canyon. Lowhighlight: It's not that expensive. It's a lot cheaper than Europe or the UK for a holiday and certainly very easy to get around. Highlight: Driving in the USA is a joy. The roads in Utah, Nevada and Arizona are long, wide, mostly straight and not too busy. We drove about 1100 miles from Salt Lake City to Las Vegas in 6 days. Our biggest trip was about 450 miles on the first day which was a very leisurely 8 hour drive. Sticking to the wrong side of the road was a lot easier than I thought it would be. We spent most of our time in the Utah desert so overall, it was very happy experience - the lowlights of Las Vegas & San Francisco where very minor in comparison. We are thinking about Vancouver and/or Colorado for the next trip - once we pay for this one.
I’m a little late blogging about the MVP Summit – it finished on the 15th – but I’ve only arrived home yesterday. The wife and I took the opportunity to do some tripping around – more on this later.
The Summit this year was great. It was very well organized, the venue’s – Seattle’s Convention Center & Microsoft – were spacious and accessible. Transportation was very easy and well organized this time.
As usual, we also got to here from some great & famous speakers, including: Bill Gates, Anders Hejlsberg & Scott Guthrie – all of which were highlights in one way or another. We also got to learn about a few upcoming products and new releases – much of which I cannot repeat here – but here’s a few teasers.
- Orcas – there are a lot of nice new features and enhancements in this – particularly around testing, Javascript, AJAX, design etc. Debugging and development Javascript is a place I am very keen to see enhancements on and we saw some nice demos of improvements in these areas (including a fix for a long running complaint from many people). I think the March CTP has some or all of these features included already so check it out.
- ASP.Net v Next – Scott talked about and demo’d a few new features of the next version of ASP.Net in Orcas. Again, I think this stuff is probably in the March CTP but without looking I’m not willing to risk the lawyers! Lets just say that you will see more code-less provider model type things a some new controls that will save you a LOT of coding.
- LINQ – Anders did a great demo of LINQ for Objects & SQL. If you have been living in a cave and not heard of LINQ or have been ignoring it then RUN – don’t walk – to your nearest search engine and learn as much as you can about it now! LINQ will change the way you work with objects and data in ways you may not have realized… eg PLINQ.
- AJAX – Scott demoed some of the new Orcas features for AJAX. He also detailed some features of the current release I was unaware of, including pageLoad(). There’s a great blog post here that shows how to use this and some other nifty features.
- Team System – Rosario is the code name for VSTS after Orcas. There’s not much public information on this so I can’t say anything but the very few tidbits I did here about it sounds intriguing. Use your imagination and look at some of the research and tools the team has been talking about and you will get a fair idea of where they are heading.
- Lastly, some estimated delivery schedules were mentioned for Orcas & Longhorn… and I’m certainly not going to repeat those but it’s safe to say – I think – that by this time next year I’ll be blogging about Orcas SP1 :]
Here's the sample code from User Group demo I did this week on using JSON & ATLAS to create lightweight asynchronous web pages.
Enjoy!
JSON.zip (20.48 KB)
If you are into small devices in a big way then you should take a look at the new .Net Micro Framework, which will be released very soon. You can run this on your watch or similarly tiny devices as long as you have 300k RAM and 1M flash. There is a LOT of stuff missing from the MF but you generally wont want to do most of that sort of stuff - e.g., database access. As with the compact framework you can use Visual Studio to create, compile and debug via emulators, then deploy via USB or serial connections.
One aspect of this I find very intriguing is that the MF is self bootable - i.e., you don't need and OS.
Can you think of a use for this?
According to RNZ this morning rumors are spreading - again? - that Telecom's CEO, Teresa Gattung, is very likely to quit the job soon. Under her guidance, the company has managed to nearly halve it's share price, alienate a nation, invoke legislation, relegate us to 3rd world status and generally piss off a lot of customers and staff.
Well done Teresa! You've earned a nice long retirement.
Next month I'm off to the Global MVP Summit. This is a semi annual event for MVP's and provides the opportunity to meet with the product teams - yes real Microsoft developers and managers - plus some of the top execs. This year, Bill Gates is presenting the keynote - last time, Oct 2005, it was Steve Ballmer.
So, I've been thinking a lot about what I want to see and say during this 4 day pilgrimage. Here's my list thus far. I'd love you to add to it! Tell me what is important to you and I will endeavour to ask the right people and get an answer.
Orcas
- anything about Orcas, esp. Team System. At the 05 summit we where asked about some of the wizz bang new stuff they were thinking about putting into Orcas and beyond. It will be interesting to see how much of these ideas made it to a real product. At the time I was very excited by some of these ideas, particularly in the debugging area.
SQL Server v next
- it's hard to see how they could improve on SQL 05 in any major way but apparently the next version is under development.
- what's the future for WF, WCF & WPF?
- the expressions tools are very impressive. How will these fit in a development team currently using Visual Studio? Yes, I understand the promise but it would be good to here about the reality. I seriously worry about mixing developers and designers :)
Languages
- C# 3 is changing in many ways. The language gods are certainly taking note of functional and dynamic languages. It's hard to separate the language from the tool some times - i.e., what is C# like if you only have Notepad ? Will it be impossible to use C# 3 or VB 9 without Visual Studio or one of it's spin offs? Not that I would dream of doing this you understand, but I think it's an indication of the level of purity in the language.
AJAX & JavaScript
- I have a few issues with AJAX and the Asp.Net platform. I need to know if this is just me or not. Also, I have an idea for working with JavaScript in Visual Studio - I'd like to see if Microsoft have the same idea. I'd like to have Visual Studio provide better support for js files - the intellisence is not as good as it could be, but more importantly I'd like to have .JSX files - these would be JS files but with the ability to include server controls and markup (<% %>). So you'd have a CS or VB code behind file for them - this could also be the same code behind as the ASPX/ASCX that uses the JSX file.
Software Factories
- we have software factories for web services, web sites, smart client. What's next? What about EFx? I'd like to see this in action.
Can you add to this list? Please comment and let me know.
Oh, just remembered. Most of what we discuss and see at the summit is provided under a non disclosure agreement so I can ask your questions, but I may not be able to tell you the answer - at least not precisely :)
Well, not really free, but a great way to get Vista or Office is to attend the 2007 Technical Briefings. There are some good looking sessions there for developers. I'd reccommend attending the Sharepoint sessions in particular. This is a fantastic platform for back-ending many types of applications - it's not just for departmental intranets.
It's also a great event to smooze with local devs and business people. Unfortunately, I'll be out of the country for most of March so will miss it.
Go get it now!
ASP.Net 2.0 AJAX Extensionis officially RTM.
There's a few minor
changes from the release candidate, most notably the removal of the validation
controls, but it's a pretty simple upgrade.
Yet another reason
to use IIS and not the built in web server in Visual Studio (Cassini). I
have some PageMethods I'm calling from the page that tell me the progress of a
search. In Cassini these calls queue up while the async search methods are
running becuase it does not know how to handle multiple requests
concurrently.
Also, Cassini always
has Windows Auth turned on. It ignores the NTLM Auth setting in your
project.
I do find Cassini
fine for simple web pages though and I use it on my notebook for small site
development without problems.
Well, the ‘5 things about me tagging game’ has finally caught with me, thanks Darryl. I did miss your link though as I’ve been spending a lot of time lately getting Vista working sweetly, working on a couple of web sites and preparing a presso for the local .Net User Group - which conveniently gave me plenty of time to think about the 5 things – just in case I got asked. So here goes.
-
I lived in Sydney for a while in my youth and drove a cab for a year. Famous fare’s included Tim Finn, Barry Humphries (thankfully not in costume) and Yana Vent (spelling?) (but you have to be Australian to know her). Other interesting jobs include TV Aerial Installer, Bakers Assistant, Storeman, Egg Collector, Night Porter, Barman, Bouncer, Telephone ‘Operator’.
-
I live about ½ an hour out of Christchurch and have a lifestyle block with 500 or so olive trees, 3 kids, 8 chickens and 2 cats. Oh, and a wife :]
-
I seem to get sucked (?) into starting user groups and community ‘things’. I started the Christchurch Clipper User Group back in the early 90’s and I STILL think Clipper is a great development language.
-
Most exotic(?) place I’ve been to would be Brunei. My most favorite city? Have to be Florence. I spent a few days there about 18 years ago. Definitely want to go back and see more of Italy. Scariest place I’ve been? Johannessburg at night.
-
I hated school. I’ve never attended university and didn’t get UI either. Consequentially, my kids get off too easy from homework.
I’ll need to do some research to see who hasn’t been tagged yet. I’ll update this post later.
I've been doing a lot of fun JSON stuff lately using ASP.Net AJAX (aka ATLAS). This really is Fun with a capital 'F' but I struck a small problem today.
Given the following C# class:
public class PageData {
public string Name;
public string Address;
public DateTime DOB;
...
}
I serailize this to the page thus:
C#
protected void getPageData() {
PageData pd = new PageData("Peter Jones", "New Zealand", DateTime.Now());
return "(" + JavascriptSerializer.Serializer(pd) + ")";
}
ASP:
<DEFANGED script type="text/javascript">
var pagedata = eval('<%= getPageData() %>');
</script>
Now this works fine for all data types except DateTime. When you serialize a DateTime you get a value in JSON like this:
@7895678963897@
This is the number of milliseconds since 1 Jan 1970. When this is de-serialized with eval() you just get a string.
Instead of using eval() you need to use Sys.Serialization.JavaScriptSerializer.deserialize().
Update
This appears to have changed in the RTM release. Dates are now serialized thus: /Date(millseconds)/. However, I cant get this to deserialize using Sys.Serialization.JavaScriptSerializer.deserialize() so have reverted to using a string in yyyymmddThhmm format, which Date.parse() will happily convert.
I was reading a post from Rod about Telecom's stupid idea to sell Yellow Pages. I couldn't agree more, it is a dumb idea, but I have a more cynical POV on this. As a (very) small time share hold who bought at $8.60 I'll be very pleased to get some money back - even if it's just $0.25 per share.
Bad company decisions from bad companies and bad management hasten the demise of the company. Telecom is long overdue for annihilation. Govmint legislation and stupid ideas like this are a good thing if they lead to the death of Telecom - provided that it's a slow lingering death that gives the employees, vendors and customers time to 'adjust'. So I'll be sending a thank you note to Ms Gating and encouraging her to stay on for another few years. Think of all the future cock-ups we will miss out on when she leaves!
Heros by peter@jonesie.net.nz
I watch more TV than I really want to and I
generally hate most of it (note to self – get a life!) but one show I’ve
been watching recently (downloaded rather than live) is Heros. I see TV3
is playing this from next week. If you can’t get the clean HDTV
downloads then bear the pain of the advertisements and watch this show.
It is excellent – a great story with lots of twists and turns.
Holidays are great. You get lots of time to do all the work you don’t normally have time for. Yesterday I finally got around to upgrading my notebook to Vista from XP. Here are a few things I did that made the job easier.
-
Upgraded the RAM to 1 Gig. Previously I only had 256 + 128. How I have 1024 + 128. This cost $279 from Global PC. The tech in the local shop fitted it for me. I’m sure I could have found something cheaper on the Interweb but given the usual no return policy on RAM it’s sensible to let someone else take the risk.
-
Used the Vista Upgrade Advisor. This told me that I would have some compatibility issues with Visual Studio 2005, SQL 2005 and a few other items but that I could install anyway. It also told me that Aero wouldn’t work with my Graphics card which surprised me a little.
-
Downloaded Vista from MSDN. Thanks to Telecom’s Go Large / Go Slow plan this took 10 days for 2.5 GB. Thankfully though, the MSDN downloaded ensured that I had a clean uncorrupted download. Burnt this image to DVD.
-
Installed Business edition using the upgrade option rather than a full install. I figured I could always do a clean install later if I wasn’t happy with the performance or setup.
The upgrade took about 2½ hours. Once finished I uninstalled a bunch of stuff including Visual Studio Team Suite, SQL 2000, SQL 2005. For the small development work I do on my notebook I find that Visual Web Developer Express and the new Expressions tools work just fine – in fact, Web Dev Express is much easier and faster to use than the full VS 05. I also configured the standard windows components – removing IIS and installing Games – what’s the point of a home computer without Spider Solitaire???
At first, the hard drive was grinding for a long time and the whole install seemed very slow. However, I used a 1GB memory stick to provide some Readyboost and over night the search indexes completed building. Now the machine works very well. Outlook even manages to seem speedy! I’m very happy and not having Aero does not seem such a bad thing.
It seems I have a lot of fans in Poland. Actually I suspect there are a lot of spammers in Poland who are trying to scrape my site for emails or send comment spam. UAE & Lithuania also appear to be a problem. I'd really like to block big chuncks of the planet from getting to my site but I'm not sure this is possible. Anyone got any idea how to do this?
I just upgraded my blog site to dasBlog 1.9. It's been a long time between releases - which is a good thing - but so far I can't see a lot of difference from 1.8. There are a few new themes and 3 new settings - auto expire comments, html comments & gravatar icons (whatever they are). There is no support for Comment RSS and the activity reports still only work a day at a time (my biggest complaint). Still, it's a rock solid product and the upgrade was extremely painless, although my customised theme has broken so I need to do some work on that.
I switched my Xtra account to the new unlimited Go Large plan 2 weeks ago and have found that for anything other than surfing it is incredible slow - dialup slow. Yes, I know it's managed for peer to peer and bit torrent type stuff, but even basic file downloads over HTTP are rediculously slow. At the current rate, downloading Vista from MSDN will take 3 or more days. Now I can fully understand having some sort of restrictions but I live in an semi-rural area where there are not too many users and I do my big download at non peak times - from 6am to 6pm usually. Prior to Go Large I was getting about 5-8 times the performance.
There's a few others complaining about Xtra and reccommending a switch to Orcon or others which is a great idea for some people but where I live, Telecon are the only cable providers so while switching will not reduce Telecon's monopoly or profits it may restore my bandwidth.
The other option is to switch back to the previous 5Gb plan I was on. In most months this was sufficient but with school holidays 5Gb usually lasts about 2 weeks.
So, all I can really do is moan about it here and make sure I cross link as much as possible to get up the google hit list.
Oh, crap, just found this, I should have checked more before switching plans.
Ah, cancel that, just found this. However, it really does show how incompitant Telecon & Xtra are. I really feel sorry for the people that work there - and I know a few. It must be hard working for a company that is so hated by so many people, but really this is the fault of senior exec's and a few idiots in marketting. They will be the first against the wall when the revolution comes. Viva le revolution!
I just spotted this excellent set of posts. If you want to learn about MSBuild then this is a great starting point. You should probably also subscribe to the MSBuild teams blog here.
It never ceases to amaze me how hard it can be to sell good software development practices to business people. All they see is the dollars or increased delivery times. As a 20 year veteran(vintage?) programmer, analyst and amateur architect I like to think that I know a little about creating good software and how to do it well. However, I'm not so good at creating a business case for this.
I'm now working for a company that care about doing things the 'right way', or at least the Intergen way. We care passionately about professionalism and doing what is right for the customer - even if that means saying no occasionally. This is an ongoing battle however, we are not perfect at it. We are still subject to the whims of business requirements and real world financial constraints.
I'm currently assigned to a customer with a team of about twenty internal and contract developers. The code base for the current systems is being migrated to an SOA model using .Net 3.0 and some external components from 3rd parties. The business is driving hard for delivery on critical requirements, some of which are driven by regulatory agencies.
There are a number of issues with the project that I'm sure are common to a lot of other businesses. The existing code that I am working on is, shall we say, challenging, very challenging. It was created rapidly with little care for future requirements or expansion and has been patched by many developers for about three years. There is little or no documentation. Teams working on similar projects are separated physically and logically. There is no real architecture plan that I have seen. Testing is at the bottom of the cliff. There is only lip service paid to agile practices. The list goes on but despite the issues, the team still produces quality solutions that service the business requirements, to a certain degree at least.
As a fan of Team System I am very keen to see this introduced but I understand that it's a big task and may not offer a speedy fix to these issues. It's also hard to sell. Why is this? I think there are several reasons:
- It's hard to describe. Business doesn't want to hear about improved source control, work item tracking and unit testing. They want to know about reduced cost and increased profits. Describing how Team System aids in these areas is hard. The intangible benefits, like improved communication, are hard to estimate because they are very subjective.
- The perception is that it's expensive. This is clearly crap and I'm sick of people saying that it's expensive. What is the real cost of a software defect that takes eight passes through QA to be fixed? What is the cost of a defect in a shared library that stops twenty devs from working for three hours? What is the cost of not tracking defects at all? These are things that are easily measured. A few thousand dollars per developer is NOT expensive. If you think it is then you are in the wrong business.
- Developers don't want to work in a factory. We like to be creative and have freedom to work on what we want, when we want and how we want. The thought of being controlled by a large system and spoon fed tasks to complete on the production line is disturbing. Some developers take this to extremes and refuse to follow any common best practice such as writing comments, documenting systems or proving their code works. This attitude is not prevalent but it is something I encounter occasionally. It is very naive and must be stamped out! If you want to be that free, go work for yourself. Most businesses demand that you work at work and deliver something occasionally. Team System helps you focus on the work without dictating how to do it. You can configure as many or as few rules are you like.
I'm not saying that Team System is the only solution to bad practices, far from it, but it's one solution that I have seen work and feel passionate about.
So, if you've read this far then I'm hoping you agree with me, at least in part. What can we as developers do to sell good software practices? Like any expense or investment, it must be justified. You need to make a case for it. Show the bottom line. Record and measure the failures and use these as weapons. Set good examples by following good practice - unit testing & TDD does not reduce productivity, it increases it. Read and learn. Talk to your managers - if they don't listen, look for a new job - if they don't care about losing your skills then you are better off somewhere else. There are plenty of great companies out there and some of them even respect your opinion!
This is the first weekend in several months I’ve had time to catch up on geek stuff. It’s a nice rainy day (geeze, the weather sucks this year) so I plan to keep my dressing gown on and read and write blogs all day. Apologies for the sickening image of that.
WPF/E was released in CTP last week. If you don’t know what it is, think Flash, but for .Net & XAML. I haven’t had much time to do more than test out the samples so far, but the runtime is only 1mb and is available for Windows & Mac already with good support for the 2 main browsers.
There are as many applications for this as Flash but my feeling is that WPF/E will attract a bigger market than Flash because:
-
XAML for the desktop will translate painlessly(?) to the browser or device
-
Javascript is still used so no huge relearning curve for the hard stuff
-
The runtime is small but very powerful
-
It’s targeted at devices of all sizes and configurations
-
It’s 8(?) years newer
-
It will have great developer tools available from day 1 (Expression, Visual Studio etc)
-
It has Microsoft behind it
My dream is that XAML will kill HTML & CSS. Now wouldn’t that be a great day?
Noticeably absent from the list of supported platforms is Linux. It’s not even planned. The stated reason for this is the lack of Linux clients. If you take a look at some public browser & platform stats, e.g., then this is in fact true- < 5% is hardly worth a mention :]
More interesting in the W3School stats is the trends in screen resolution, javascript acceptance and browser usage. If you are coding public web sites then you should keep an eye on these sort of stats, but do remember that these are for the whole planet and your particular market segment is likely to be quite different. For example, the stats from the www.dot.net.nz site are very heavily biased towards Windows platforms and browsers with high resolutions and 100% javascript acceptance – as you would expect from a highly intelligent Microsoft focused developer community. I’m sure the stats for SlashDot are considerably different.
I think David Kirk made a mistake. TradeMe is doomed and he wasted $700m on a web site that can’t survive with a radical change.
Why?
Because everyone I talk to about TradeMe has been burnt to one extent or another – either by not receiving the goods/money, getting the wrong goods, being slagged off by a buyer or seller, etc. TradeMe is unwilling and probably unable to provide anything more than rudementary protection to it’s users – it’s no better than the notice board at your local supermarket.
Sooner or later the number of pissed off users is going to exceed the satisfied users. Sooner or later, the number of dodgey dealers is going to exceed the genuine dealers. Sooner or later people are going to get bored with idiots trying to sell crap for rediculous amounts – it’s just not funny any more. The joke is over. Time to move on to something that gives a better service to traders.
This is new for me -
maybe for you too. To debug a javascript block from Visual Studio, add the
following to your script block:
debugger;
Make
sure your IE advanced settings have Disable Script Debugging turned off.
When the browser hits the debugger statement it will display the page source in
Visual Studio and allow you to step over the code, examine variable values and
do all the lovely debugging stuff you need to do.
Wish
I'd know about this a few years ago!
Darryl and others have mentioned recently about the impending doom that is IE 7 :] If you are like me and decided not to use it - for one reason or another - then beware that it is very likley to be automatically installed on your favourite computer weather you want it or not.
Now, dont get me wrong, I like IE7 but during the early betas I had an issue with it and Visual Studio Team Suite so I haven't used it on my work machine since then. I do use it at home though and it works fine, but from a user POV I don't think it works any better than IE6. From a dev POV I've just realised that I haven't done any testing on my sites (personal or otherwise) so I should probably stop blogging and get testing!
Anyways, my main gripe is that this is rolling out as a critical (or at least high priority) update so most users will get it without asking for it. I can understand the justification for doing this - it does fix a lot of potential security issues so it would fall into that category - but I can see this causing some problems for a lot of people.
We (actually my wife) purchased a camera on the weekend. It's a Nikon D80. We got it from Photo & Video International in Merivale Mall and I must say that they are without doubt the best camera shop in Christchurch - if not the whole of NZ. Very professional, very friendly, efficient and knowledgeable. It's so refreshing finding real service again!
As for the camera, it appears to work very well. It has a quick shutter speed, is not too heavy - we got the 18-135mm lens so it's a bit heavier than the smaller lens - and comes with all the features we want in a SLR. The previous model, the D200 is a little faster if you are taking lots of rapid shots but otherwise the D80 is identical - same lens and chips - but is also cheaper by a few hundred bucks.
Alex has just released Base4 version 2.1.
I haven't been following the progress of Base4 that closely but it appears that it has matured into a very stable and innovative product - take a look at the 15 minute video if you doubt my word! I can't see how any other product could be simpler to use than Base4. It's awesome.
Alex: it might be a good idea to do some benchmarks like the NHibernate v ADO one I saw recently - sorry can't find the link now. It would be interesting to see the comparison. I'm thinking that Base4 would stack up very well against NHibernate :)
|