For those of you who like making music on a PC but struggle with getting a cool beat, drum machines are excellent tools. For those who want to build a drum machine in C#, this article is an excellent tool. (it gives you the code and the drum machine executable, but requires DirectX 9, and the .Net Framework) I read about it in Duncan Mackenzie‘s blog.
If you’re into the MS technologies, you’ll probably have started to notice that Microsoft are starting to push their “next versions” already. Their codenames are being thrown around in newsgroups, blogs, and development sites: Longhorn (with Inigo, Avalon (including XAML), and the “third pillar of Longhorn” which I can’t remember), Whidbey, Yukon. I even saw someone mention a team at MS working on features for the OS to come after Longhorn (they mentioned its codename, but I can’t remember it)
Recently a couple of the MS employee blogs have been talking about how some customers are complaining at all this “future talk” and that its not very relevant to problems we’re experiencing now.
Unfortunately for my company, we were starting to build tools that would let us do what many of the “new” MS technologies will do when they’re released. I say “unfortunately” because now we need to decide if we spend the development effort now, or wait for MS to release the technology in 1-2 years time. Then we’d still have to wait for the technology to be adopted by our clients, so on the surface it looks like we should just go ahead and build what MS is building.
Coming out of a discussion about how odd it is for there to be code samples coming out for technologies that we don’t yet have access to, and how nice it will be when these technologies come out, we have made up some new names for them:
- Longhorn = Long yawn (it will be quite a wait till it is released)
- Yukon = You Can’t (well, not yet, but in 2 years You can)
- Whidbey = Would be (as in “It would be nice to have whidbey now, but we don’t”)
A while ago I played around with my own photo gallery, it was kinda cool coz you didn’t have to make the HTML for each page, and it used XML files to describe the images and “sub galleries”, and it basically just required you to dump a whole bunch of images in a folder, and it would do the rest for you.
It was great because William could get a gallery of his photo’s up for prospective clients, but it meant that I had to upload all the files (I only have one user that has FTP access to the site, so I’m not keen on giving its password out to anyone)
Then recently (thanks to someone’s blog – I’ve forgotten who), I found out about nGallery. Its a free .Net image gallery which can use XML or SQL (or even an access database in the latest version of nGallery) to store image info, it looks really great, and it has an admin section where the gallery owner can upload new images, add new galleries, etc, all without any intervention from me.
So I’m busy testing it out on my pics, check it out and let me know what you feel. (I haven’t fixed the “Email Paul” link at the bottom of the pages, so you’ll have to contact me via this blog) The gallery is here.
Well, yesterday I decided to find out how much it would cost to add a SQL database to my hosting account at SecureMate. Again, they blew me away with their service. Within 15 minutes I’d got their reply… it took less than 30 minutes for the whole thing to be setup. Why would I want an SQL database? Because now I can run .Text or other blogging systems (like dasBlog) Also, it means that I can actually do something with my site that would look vaguely professional… except for the minor fact that I “don’t do pretty”, but at least it would be technologically professional. Well, maybe not… but at least I would have the potential to have do more on the site. I read an interesting article on TheServerSide.Net yesterday. As an aside: TheServerSide.Net site was launched yesterday and looks like it could be excellent, it generated a fair bit of interest in the blog sphere yesterday, check out Julia’s comment for a start. Anway, the “inaugural” message from the editor made some interesting comments. I often wonder how anyone is meant to build a “best practice” application, when often the technology is not fully understood. I’ve tried to grasp it completely before I confidently move forwards, but that seems rather unlikely to happen quickly – especially with a technology that’s shifted development mindsets as much as .Net has. He comments:
.NET introduces a huge new learning curve to the Microsoft technology developer. Just take a look at the list of namespaces in the MSDN documentation. It’s huge – well over 60 namespaces alone, with even more promised as part of the Whidbey release. And, of course, each of those namespaces in turn contains classes, each of which in turn contains properties, methods, and events, all of which somehow collaborate to create the .NET Base Class Library and related functionality. That still doesn’t even take into account the intricacies of the CLR itself, nor the various technology bases that some of the .NET libraries touch, such as the relational database, the underlying windowing system encapsulated by WinForms, HTTP and the Web, or XML and/or XML-based Web Services. It’s a huge space we’re contemplating, and there’s a lot of lessons to be learned about what to do – and what not to do – when building enterprise .NET applications. [ … ] The truth is, even though the last 3 years of my life have been spent teaching and speaking and researching .NET alongside some of the brightest .NET experts in the world, I can’t claim to “know” how to build .NET enterprise applications. Nobody can, at least not without a serious disclaimer attached.Finally someone’s said what my mind was only begining to think about grasping.
Today, MS South Africa ran what they call “Microsoft Connect” – basically a replacement type event for the old Dev Days. For ONCE, the architect track was actually REALLY good! The last Dev Day’s was about 2 yrs ago – a few months before VS.Net was originally launched. At that time the architect track had none of their demo’s work, and they spoke about concepts that nobody really understood yet (well I can only comment on the 1st two sessions, I moved to the Developer track after the 2nd session in a row was a total failure)
Today was different, we had Kim Midgley and Peter Munnings from NewSolutions, who did the “FootBall247.Net” demo. We got DVD’s with all of the session’s on them (as presented by the guys who made the demo, from Microsoft EMEA), and the DVD’s have a whole bunch of Patterns and Practices PDF’s on them. (Exactly the stuff I’ve been trying to read for a while now).
And to top it all off I won 2 books and a T-Shirt during the day (for questions asked, or answered). I got a white Visual Studio t-shirt (I really wanted the black ones, coz they have the funky .Net blocks on them), a MS Press book (“Application Architecture for .Net: Designing Applications and Services”) which is basically a printout of one of the Patterns and Practices that I started to read a few months ago, but never finished, and a REALLY cool book called “Writing Secure Code, 2nd Edition” which has a quote on it by Bill Gates which says “Required reading at Microsoft”… so clearly it means something to the guys up there in Redmond, so I guess I should try read it too.
And I’m busy finally writing a few small apps that I’ve been wanting to write for a while. I’m probably about 20% of the way through one app which has cool things like “multi-threading”, image manipulation, getting extended properties out of files, and interfacing with digital cameras. I’ve written most of the “work” code in some or other form already (except for the image rotation, and display code), and I’ve got the basics of the application UI up and running. It has 3 main sections, and I’m probably about 90% through the 1st one. I have about 5% of the code for the 2nd section already written, and the 3rd one will be totally new. So you could probably say that I’m actually about 31% through the app as a whole. I’ve already had to get Threading working which is really cool… now I just need to do the image rotation and 2 sets of display code, and I’m done. I’m not sure if the code could be used by anyone else out there, but once I’ve finished it off I’ll post it here. I also think I’ll write out some kind of overview/tutorial on various bits of the app and post those to SADeveloper.Net (a cool South African Development community (focussed on Microsoft Technologies).
Anyway, I better get to bed.
[Listening to: Elysium – Gladiator Soundtrack – (04:18)]