I ran across an situation today when I wanted to do a build event, but only if my solution was in a specific configuration. Specifically, when the project was in the UnitTest configuration, I wanted to copy a unit test assembly into the main projects output folder so that a number of plugin classes provided by the unit test assembly could be used by the main project. I also wanted to copy in some unit test based configuration.
Unfortunately Visual Studio .NET does not keep Pre and Post Build Events within a configuration's settings, they are stored globally across all configurations. Thankfully, given that build events simply get written to a batch file, then invoked you can use your 3L337 batch file skillz to perform conditional build events.
:: copy unit test assembly to the service folder.
echo Copying "$(TargetDir)UnitTests.dll" to "$(ProjectDir)..\MyProject\bin\debug\"
copy "$(TargetDir)UnitTests.dll" "$(ProjectDir)..\MyProject\bin\debug\"
:end
echo Finished Post Build Event
So, what does this bit of script do? Firstly it compares the current configuration to the configuration that I want to perform my build event for. Secondly, it negates this comparison, so that if the configuration is not what i'm looking for the branch jumps to the end without executing the build event. Lastly, if the configurations match, it performs the real actions of the build event.
It is a bit of a pain having to write this within a build event. It would be less of a pain if they pointed out a way of doing it within the help file for the build event editor. Configuration-based build events would be perfect, so the logic is performed by Visual Studio!
Get Slide for your own webpage
Slide looks like the next evolution of photo sharing websites. It can make slide shows from RSS feeds too, so with a bit of modification to my galleries RSS capabilities, I should be able to get a slide show going for each of my galleries.
Fantastic job! Head over to www.xbox.com to check out the new bits. Here is my gamer card!
For the last few days I have been making use of the Music Genome Project's Pandora. The idea behind Pandora is to create a "Radio Channel" that is based on the musical qualities found in another song or the songs produced by a specific artist. So far I am more than impressed. Other than one song I wanted it to match that it didn't know about (Pass the Vibes by Definition of Sound), it has done a brilliant job at playing me music that is closely related to what I have selected.
The matching seems to be done by analysing the musical qualities of a particular song (for example synchopated rhythms, dark bass lines, fast beats, melodic vocals...) and then cross references those qualities against a database of songs to determine other songs that match the qualities of the selected song/artist. These guys have a blog that provides more information on what they do.
All that we need now is for someone to do the same with humans. For example you enter the name of a famous actress or model (or if you are femme, actor), and it then analyses the traits of that person and picks out a number of other people that match those qualities. In fact, this would be great for a dating service. When you sign up you have to take a picture of yourself (say, in your underwear), it is then analysed and stored into a database. You then look at a group of different people and choose that which is most desirable, those physical characteristics are then used to match you with people that match your preference. Anyone got a blank check? I might start this business up myself! :)
Jumboz (mentioned in my post "Super Low Springs for the FTO"), where are you? Why are you not defending your reputation? Why are you not increasing the quality of your products?, or if you are increasing the quality of your products why are you not letting people know? Where is your blog? Where is your website!!!!!!!
I couldn't find a single post on any bulletin board / forum that said good things about Jumboz Springs (notice however that I did find lots of posts that didn't say a anything either way). The car modification scene would have to be one of the most active groups of internet users on the planet after geeks with their countless forums, bulletin boards and club websites. Not having a web presence here is almost an attempt at suicide.
PS. Sorry if this post sounds a lot like Scoble, but in an instance like this I can see exactly where he is comming from.
If you use GreaseMonkey then please please please read Mark Pilgrims post on a very severe, hugely easily exploitable bug in GreaseMonkey that could potentially send ANY file in your local hard disk to ANY url, ANYWHERE.
For full details: Full details on GreaseMonkey exploit.http://mozdev.org/pipermail/greasemonkey/2005-July/004022.html
Please please uninstall GreaseMonkey until this is fixed, either that or remove all * targets and replace them with targets only to trusted websites.
Thank you Microsoft!
After having to write and modify large schema xml files by hand due to the fact that the VS.NET 2003 Xml Schema Editor was so, so, so horrendously slow, Whidbey has refreshed the Xml Schema Editor in the following ways:
Since July last year I have been working on the design, development and testing of a project designed to provide wireless data access to field workers for a resources client. My role was primarily focussed on the design, development and performance/resilience testing of the EAI solution in Microsoft BizTalk 2004 and our own custom made Resequencer software. This part of the project was initially planned as being a migration from BizTalk 2002 to BizTalk 2004, however as almost anyone tasked with this type of work has learned, there is no point in migrating from one to the other without redesigning your messaging system to take advantage of all the new bits that BizTalk 2004 gives you.
We went live 6 weeks ago, replacing the existing architecture over the course of a weekend, and handling circa 1000 users on the Monday morning without a hitch (bar a few minor things that cropped up in the following weeks). I know this is really classed as a relatively small enterprise application, however it is the biggest single thing I have been involved with to this point with relation to concurrent users on a single system. All my previous work was centered around smaller numbers of users on a site, but distributed among hundreds of individual clients.
I have now moved on to new things and have had time to reflect on the entire development cycle. I think now is a good time to share some of what I believe we did right. Of course there is things we should have done better too. I'll throw them in as well. I'm not such a good writer and I find it hard to squeeze these things out, so I will do this in a couple of parts.
Virtualized Development
This is the single best thing we did. For those who do not know what I mean by virtualized development, the simplest explanation I have found so far is in the first section of the VMWare manual. VMWare is the software we used to run our virtual machines.
"VMware Workstation is desktop software for developers and IT professionals that allows you to run multiple x86-based desktop and server operating systems simultaneously on a single PC, in fully networked, portable virtual machines—with no rebooting or hard drive partitioning required."As an extension to this I would describe Virtualized Development as the process of developing, testing and building software within a virtual machine.
Our virtual machine runs Windows 2000 Advanced Server (as this was the main platform we were developing for), and contained the standard raft of development tools, SQL Server and BizTalk Server. A single contained environment that could operate the entire system.
The main benefits of running in this way were as follows:
Fully Automated Build
Using the virtualized development concept above would have been completely impossible without having a fully automated build process. I'll post more on our automated build process in the next post.
John Carmack (if you really don't know who he is, think the genius behind Wolfenstien 3D, Doom and Quake Series') has been playing a bit with writing games on cell phones. He has some interesting views on Java on the cell and the BREW platform.
I have never understood why Java on more recent cell phones runs so slowly given the hundreds of megahertz they all run at. I can understand the need for a more unified development model for mobile phone platforms, given it would be impossible to write commercial software in any language that gets compiled down to native code unless someone comes out with a cross compiler, however then it has to be updated for each new phone and this is really is a physical impossibility.
I have not previously looked into BREW at all given I am not really seriously interested in developing on mobile [phone] platforms, however if, as Carmack says, code in C/C++, I would be incredibly interested to see what kind of performance can be extracted from BREW platform.
For the last 18 months or so now I have been living in a strong typed managed code world, and given C# 2.0 is taking this even further with generics, It might be kind of refreshing to get back into programming in nice weakly typed C again. I couldn't face developing in C on a Windows or Linux platform again for any kind of user-interactive software, but maybe mobile phone development under BREW might hit the sweet spot and allow me to scratch the itch.
For all those having wet dreams over google maps, then may I point you to MultiMap.com's Aerial View that has existed for at least the last few years.
Here is a the MultiMap Aerial view of central-ish London.

Notice, that the street map is overlaid on top of the sattelite imagery as you move your mouse around the map. It doesn't have the nice ajaxability of google maps, but it has been around for a while now, and the street map overlay is very cool. Aerials are only for the UK, though.
I have just swiched over to using FeedBurner for distribution of my RSS and ATOM feed. This looks quite interesting. Getting it working took a bit of fiddling though, with Feedburner at one point telling my my feed was eating itsself (recursive reference).
The trick is that you need to let Feedburner know when you update your feeds, however at the same time redirect any requests that are made for your original source file to the new Feedburner url. The problem being that Feedburner needs to access the original url for its source of information. My original attempt was just to add a bunch of lines to my .htaccess file so that all requests for the old urls got redirected to Feedburner instead, as below.
Now, Feedburner was configured to use my Atom feed as it's data source. The redirect was causing problems. The answer to this problem was simpler than I originally thought. Make my MovableType Atom template simply write to a brand new url, and make Feedburner consume the new URL. Redirects for the old ones will continue to be redirected to Feedburner which pulls new content from the new source.
I took ownership of a new Nokia 6630 phone this week. So far I haven't been able to find anything worth complaining about. Thankfully the memory card format remains compatible with the SD card reader on my notebook (thanks to the supplied card-extender).
I can also happily report that both mReader and Mark's Plasma both work without any problems on on the Nokia 6630, so go ahead and download them both. The performance of Marks Plasma is still relatively slow when running in full resolution, however when running in quarter resolution, it runs smooth enough to get the idea of what it should be looking like. I might try rewriting this application either natively for Symbian S60, or might try tweaking the algorithm to make it run faster.
Someone has come up with a Windows XP shell extension that allows you to use your gmail account as an online storage device with full drag & drop functionality within explorer.
If you are someone who uses Rss Bandit and use a PalmOS based device and have been lamenting the lack of decent offline Rss Aggregator then worry no longer. Grab a copy of Rss Bandit 2 Plucker, which works with both Rss Bandit and Plucker to synchronise your unread items in Rss Bandit to your device.

It is so simple to use i've made a short video that demonstrates everything from running the setup program to performing your first synchronisation. This video runs through everything that you have to do to get up and running.
View the Demonstration Video (3.9 mb)
Download Now (82.5 kb)
I have just experienced the best customer service, ever.
During my move from the Oz to the UK late 2003 I lost the installation CD for my PalmOne Tungsten E handheld. Unfortunately this CD is the only way of installing the Outlook conduits (that allow me to sync my Outlook email and contacts etc), and other software (Versamail).
I sent a support request to PalmOne asking how I can get ahold of a new CD, and within a few hours had a response asking for my address, informing me they will send me a replacement product CD, free of charge.
Wow, I didn't expect that, I expected to have to pay £10.00 or so for a replacement CD. This was about 10 days ago.
This morning, what should arrive in the mailbox but a brand new product CD. Such a simple thing, but done so well! Thanks PalmOne, thats showing 'em how exceptional customer service is done!
So, whilst preparing to go to Barcelona last week I decided to fire the Tungsten E back into life (haven't touched in at least 6 months) so I could install the brilliant Metro for a bit of navi-help. As it turns out I didn't get around to syncing Metro, and lived without it (not enough time to sync), but I was once again wowed by how nice the screens are on the current gen PalmOne devices. The font is so smooth and readable.
So. I had to find a use and get back into the PDA thing, despite what Russell is preaching about the death of the PDA. I have had, and hated an Orange SPV E200, although I have never extensively used a Symbian based phone, I am thinking my next may be a Symbian.
Anyway I have gone off topic. So what it comes down to is there's no good free Rss aggregator / Offline Rss reader for PalmOS. I challenge someone to prove me otherwise. I don't want no Java, I want native. Oh, I also want it to sync my unread items with Rss Bandit.
So, Plucker is pretty cool it will let me sync online content to my Tungsten, but that alone aint going to do the job, it doesn't understand xml. It certainly doesn't understand Rss. Luckily however you can provide a "Pre-Spider" program to run before the spidering engine does it job. and the spidering engine can spider local content. This smells do-able to me.

When performing a sync of a channel in Plucker, it will automatically launch RssBandit2Plucker, which will analyse Rss Bandit's unread items, and generate a collection of HTML on the local disk that is representative of the unread items in Rss Bandit. From here Plucker takes over, processes the HTML, downloads the images from the web and dumps it out as a palm database file (pdb) that, once synced will appear within the Plucker application on the device.
It's not quite ready yet, the setup program is mostly done, however I have a few things left to sort out with auto configuration of Plucker. My aim is to make it seamless, no manual configuration (Other than selecting a PalmOS device to sync to which is asked the first time you attempt to sync the channel in Plucker.
Im not sure how big the audience is for this (its pretty specialised, linking in only with RssBandit, though im sure it could become quite extensible to handle an arbritrary desktop aggregator without too much effort.
After stumbling across no-www.org, I have added no-www Class B support to markallanson.net.
What does this mean? Well its really quite simple, any request that comes in to markallanson.net with the www prefix will politely be redirected to its no-www equivilant. For Example, "http://www.markallanson.net/" will be automatically redirected to "http://markallanson.net". This is done via modifications to the apache .htaccess.
Head on over to no-www for more information...
PS: I will have a bit of work ahead of my to change all my hyperlinks to remove the www., however I will get around to this in due course. (Note however, that the apache redirection works for the hyperlinks too)
I hereby refer myself to My COM Interop Golden Rule #1 and formally slap myself on the wrist.
Seeings as others seem to be doing this at the moment, its an interesting statistic to track I guess. Here is my browser usage chart since May. This chart covers 2 domains, those being *.ftowa.com and *.markallanson.net. Given that FtoWA.com is a completely non-tech site, this gives a reasonable cross-section of society.
Im not sure if you can glean anything from these charts other than IE is still completely owning the market, despite the fact that Mozilla is slowly edging up. The "Unknown" section on this chart is sources that AWStats can't classify, and all the RSS news aggregators generally get lumped in here. "Others" are those that I couldn't be bothered breaking down into individual sources as they would basically be a straight line at almost zero, this list includes (but is not limited to) Netscape, most Mobile Phone browsers, LibWWW (general purpose http library), Safari, Gaelon, Konqueror, Lynx, etc...
I think out of everyone, Opera seems to be taking the biggest hammering, poor little guy, up and down like a rollercoaster. Without further ago I present my graph.
PS. I tried to do some neat sparklines for this post, but excel sucks to much at creating nice resolution charts. In fact, I even tried generating a nice big graph, then sampling down to a very small one in a photo program, but I don't think I actually have enough samples to generate a nice sparkline. Maybe if I had daily, or even weekly samples since May I might have enough data for some sparklines.
Serialization is a great thing, except when you can't get it to do what you want it to do. Case in point: I was serializing a small class that was going to be farmed off to a logger, which took the data and stored it in a logging database sitting on SQL Server. If you have ever done any serialization before, you will know that when you use the System.Xml.XmlSerialization.XmlSerializer to serialize a class you get a number of artifacts in the resultant xml, something along the lines of that below: (note I was serializing a class called ContextItem)
The artifacts are the xml processing instruction as the root node of the serialized class, and the declaration of the xsd and xsi namespaces within the ContextItem node.
In the case above, serialization was done using an System.Xml.XmlTextWriter combined with the XmlSerializer, and the artifacts are due to a combination of the two working together. The Xml processing instruction is placed in the resultant output by the XmlTextReader, and the xsd and xsi namespace delcarations are placed in the resultant output by the serializer.
Removing the xml processing instruction
Seeings as the XmlTextReader is responsible for writing the xml processing instruction at the top of the above document the trick here is to fool it into not writing the xml processing instruction. This is done by lines 6 and 7 in the above code snippet. Setting the formatting just tells the XmlTextWriter not to apply any type of formatting to the output document (the serialized output will be one long string). Line 7 however, puts the XmlTextWriter current node into mixed mode (the node can contain both text and child xml nodes), therefore causing the xml processing instruction not to be output.
Removing the xsd and xsi namespace declarations
I am not sure if the method I have used to remove the xsd and xsi declaraions is actually embedded in the implementation of the XmlSerializerNamespaces class or if it is an unintended side effect of the implementation. Maybe Dare could clear this up?
An overloaded method of the XmlSerializer.Serialize() function takes a third argument, specifically an XmlSerializerNamespaces object which is normally used as a container for a collection of namespaces and prefixes to use in the serialization of the object. To remove the xsi and xsd namespace declarations you need to create an empty XmlSerializerNamespaces class and add a single entry, specifying an empty namespace prefix and namespace uri as shown in lines 110-111 in the above sample.
Output after these two operations cleans up the xml nicely, ready for logging into a SQL server thousands of times if required. Final output is shown below.
For later: P/Invoke Community Wiki for sharing P/Invoke signatures.
A long time friend of mine recently founded openSubscriber. It is a simple way to create a public archive of a mailing lists that will be accessible to the general public long after it has dissapeared from the harddisks of the subscribers.
This is a neat idea by its self, however the coolest thing about the site is it allows you to subscribe to the mailing lists via RSS, so you can now syndicate any mailing list feed into your favorite aggregator without having to rely on mailing list software authors.
All he needs to do now is find a nice way to allow replying to mailing list posts via the subscribed RSS feeds.
Good to note this information comes straight from the horses mouth.
Damn this thing rocks. Google has beat MS to the punch! Google Desktop Search indexes a bunch of common file formats and allows you to search you entire computer very quickly. Inside documents, outside documents etc. It is hosted in your web browser, and runs on port 4664. Effectively you could search your own PC from outside a firewall if you open up the port. Not that this would be recommended of course due to security concerns.
When capturing a COMException (in my case specifically it was an Automation Error) inside .NET managed code always check the ExcepotionObject.Source parameter as this will contain the error text generated by the COM component that has generated the error.
Don't waste your time checking the Message or Stacktrace parameters as you are just wasting your time (they won't give you any usefull information).
Aparently, this is what computers of 2004 were supposed to look like. Wonder what happened?
Last Updated 08/09/2004
The RSS feed was for aggregation was getting very large (almost 1 meg), so the feed now only publishes the latest 20 items to the site, and size has dropped to about 200kb, much more managable.
I've started searching for Biztalk related blogs recently given that it is now my primary focus at work. I found a few and decided to make use of Addy Santo's excellent Blogwave to create an aggregated version of the weblogs I have found. Effectively this creates something similar to Longhorn Blogs, an aggregated site on a specific topic.
So. You can point your aggregator to my "Biztalk Blogs" aggregation which is updated every 30 minutes (so long as I leave my workstation on at the office, which is almost always). I will try and add an xslt stylesheet to this at some point aswell (Addy, feature request, allow linking to an xslt stylesheet?).
If anyone knows of any Biztalk Blogs I am missing, drop me a line
The List so far:
On Sunday I'm jetting off to Chicago for a Biztalk 2004 training course from IMG. I've been maintaining an existing Biztalk 2002 implementation for a while now, and have just been recruited to help a transition to Biztalk 2004, so its time to go on some formal training as there are currently no books available anywhere!
I have WiFi in my hotel room so will be contactable via email and will be on MSN Messenger at various times over the week. If anyone wants to get together for dinner drop me an email, i'm staying at Club Quarters, Wacker at Michigan (75 E Wacker Drive), near the river on the Magnificent Mile. Training venue is One IBM Plaza.
I have finally had the time and inspiration to dump my 2 year old perl scripts that were running my photo gallery and install and configure the free/open source Gallery software.
I intially tried out this program about 8 or 9 months ago however I found it quite cumbersome to use, and the windows java based client was pretty un-user-friendly. Something that I didn't notice, that was pointed out to me today by Tolli, is that you can install a registry patch that allows you to publish your photo's directly into gallery directly from your local machines file system using the Microsoft Windows XP Web Publishing Wizard. Using this feature of Windows XP updating your photo gallery is a matter of going to the folder that you want to publish as a photo gallery, enter the publishing wizard, follow a few steps that include selecting that you want to publish to Gallery and voila, done.
So, you can now visit the new and improved photo gallery. I still have not migrated over all the old photo galleries, and have not yet migrated over any of the photo descriptions or commentary, but I will get them done soon. Also note that I have published the photo's from our New York City visit. Note that you can also comment on the photo's so if you have something to say about a particular photo please punch it in.
After laying dormant since August 23rd last year [mReader 1.01], I have finally got around to decompiling the mReader from binary form and have thrown it all into the Eclipse 3.0 IDE. Wow, was I blown away by the new version of Eclipse. What a great IDE. I have been using the version 2.xx incarnation at work to do Java work and while great, the new Eye-candy in the version 3.0 incarnation is truly fantastic.
Now, back on topic. For those who don't know, I lost the mReader souce in a Windows incident about 3-4 months ago. I used Jode (Thanks, Rich Fuller for pointing me to it) to decompile the mReader binaries, and it has done a servicable job. After about 10 minutes of playing around Eclipse is finally happy with the java source. I have had to chop out some bits that didnt decompile properly, and will have to re-implement them in the next few days. Jode also pulled some very interesting little things out of its decompiler hat, for example:
public void ImportOPML() {
object = object_1_;
break;
}public void Add(RssItem newItem) {
object = object_0_;
break;
}public progressCanvas(Display display) {
this.display = display;
screen = screen;
if (!this.isDoubleBuffered())
offscreen = Image.createImage(this.getWidth(), this.getHeight());
}Ill keep you posted.
There's not many things more important for a software developer than a great lightweight text editor. Something that sits between the Windows standard notepad.exe and an advanced editor such as UltraEdit32 and TextPad.
That search is over, Notepad2, from my intial usage it is extremely quick and provides customisable syntax highlighting, Simple to access ("Windows-R, notepad2.exe" instead of "Windows-R, notepad.exe"), as well as a few other nice features.
Seems to be a keeper.
I am a reasonably accomplished C#.Net Software Engineer, however one part of the .Net Framework and technologies that I have not explored is those in the area of Asp.Net. In order to learn this part of Microsoft's technology offerings I have embarked upon a small(ish) but extensible project that I can do in stages, and hopefully make use of a wide subset of the technology available.
Rather than discuss the project that I will be developing (as I am sure most are not interested in this), I will instead post a series of writings on the problems that I run into while developing with Asp.Net. Hopefully by having these on a blog with higher google juice may save some people the time I waste with my own occasional stupidity.
Journals
Please check back on this post for an index of what I write about, alternatively just subscribe to my weblog in your news aggregator(ATOM) and never come back here again.You are experiencing the following symptoms when trying to use an <asp:LinkButton> inside a Repeater, DataList or DataGrid.
When you place a LinkButton inside one of the databound repeating controls, asp.net generates a javascript function to deal with the OnClick event of each LinkButton it ends up placing on the page. (Note the number of LinkButtons will depend on how many items of data you are displaying)
Please, oh please make sure that you have closed off all comments in your html <head> section. By failing to close off your comments in your head section you are effectively commenting out the javascript code that asp.net creates to handle your events on the Repeater/DataList/DataGrid Control. By commenting this function out it is now inaccessable during the processing of the OnClick event of the LinkButton, hence your page is broken.
Props to Mun for helping me find this one.
Note: You can visit my Marks Asp.Net Journals Post for an index of all the Asp.Net tips and tricks I have painfully learned during my Asp.Net Adventures.
I know its hardly a slashdotting but Lockergnome pointed at my aparently "new" v1.0 posting of mReader from last August. Along with it cometh the comment spam!
Thank god for mt-blacklist.
Whatever anyone says about Accenture, whether current employee's or alumini, you can't debate that in the development roles you are never going to be short of challenges.
At the end of last week I got reassigned to some system testing and debugging on some middleware we have implemented for a utilities company here in the UK. This may sound a bit dry at first, until you realise that so many consulting companies have their finger in this utilities pie that the integration layers we have developed and are testing are very sensitive to the politics that go along with the situation.
I have had my hands deep into J2EE and EJB over the last week, debugging, ironining out issues, recoding badly implemented portions (thanks to some of the other consulting companies that have managed to get their grubby mitts into the code). Its been an interesting challenge given my skill track is .NET and my Java experience has been quite limited.
After coding in C# for the last umpteen months, coding in Java is like taking a step back in time. It feels ancient, its syntax is clumsy and long winded. Java makes _you_ do all the work, instead of providing mechanisms for simplifying the construction and readability of code.
So, hopefully, when the switch is thrown on > 1100 field workers, everything goes without a hitch and I can move back to a nice modern language created for this millenium, not last.
Thats right, I am dumping Mozilla Firefox 0.8 in favor of Mozilla Firebird 0.7.
FireFox is just too buggy. I am experiencing hangs, high cpu usage, lockups. Nasty stuff, especially when you have 10-20 tabs or so open.
Maybe I could live with the FireFox hangs if they provided a "restore to previous state" like the current build of Opera has so that when you restart you don't have to do _everything_ again!
Orienation day 1 provided a mix of presentation, gifts, food and good company! We have a fantastic bunch of new joiners (about 24 in total from memory).
Luckily I have been placed on some London based .NET and .NET Compact Framework projects. Can't wait to get my hands dirty on the Compact Framework work, it is a very interesting little project even if I am being pulled in only for a short amount of time to finish off some UI elements. My base of work will be in PC based .NET however, and after my short stint of compact framework work I will start that full time.
Its going to be an exciting entrace into the world of Accenture!
I just got myself a new Orange SPV E200 Windows Mobile 2003 Smartphone. Consequently I had to update my MSN Messenger Mobile profile so messages sent to me while offline would go to my new phone.
Upon selecting the new Country (UK) and new Providor (orange), I had to agree to the terms of service which state that Orange can charge ME 10 pence for each message I _RECEIVE_. Yes, thats right, they want to charge me for receiving messages.
Fat chance! Service disabled, sorry!
PS. This smartphone rocks!
I have passwords coming out of my ears, so many in fact that I went to download a trial version of Macromedia Fireworks MX this morning and i couldn't for the life of me remember my password for the Macromedia site.
Time to find a password storage app for Windows. I found Password Keychain, but seeings as i'm a sucker for sexy apps and I have a week or so before I start work it's time to roll my own .NET password storage application, and make it integrate with Mozilla Firefox, and maybe Internet Exploder too.
Keep an eye out.
Tonight I have finally updated my ageing feed standards and you can now subscribe to my blog using RSS 2.0 or ATOM (See subscription links above). I also made use the new "feed:" URI scheme so if you use a compliant News Aggregator a simple single click should subscribe.
I will maintain the RDF, RSS 0.91 and RSS 1.0 feeds in their old locations so nothing will break.
Keep an eye out on this post I will add them as I find them. When I have a few more I will create an OPML.
Mike Klein : http://www.happycynic.com/
Chris Mann : http://www.bigmansun.com/
I wonder why I haven't run into DayPop before? Interesting analysis of word and topic trends amongst webloggers and news makers, as well as search.
Very much like Mun i've recently starting getting a lot of search engine hits for "Accenture+Interview" in my referrer logs recently. Accenture Technology Solutions (ATS) must be on a massive hiring drive, or at least they must be in the UK!
I'm not sure that there is much help either of us can give to anyone that is interviewing with ATS at the moment. If you know your stuff and are a good communicator then you should have no troubles acquiring a position with ATS. The HR interviews are the same you will experience at any medium-large enterprise. The skills interview will catch you out if you don't know your stuff, so shy away from applying for positions that you are not qualified for, and be wary of padding your CV with falsehoods. (I know this is a "durr" type moment but im sure there are people out there that do it :) )
On another note, Mun, maybe we should set up "Accenture Bloggers" OPML file and create a synthetic feed using Feedster along the lines of what Alex Hoffman has done for Australian .NET bloggers? If anyone is interested drop a comment onto this post (if any accenture bloggers actually find my blog).
This template (sort of) makes the Post view within Outlook look like the "News Page" displayed when you select the root NewsGator folder.
To Install:
To get the text centered next to the NewsGator logo at the top I have had to use a 12px top margin. For some reason I couldn' get the vertical-alignment: middle; CSS style working. If someone wants to have a look at the CSS and XSLT files for the template and tell me what i'm doing wrong I would greatly appreciate it, i'm still an infant when it comes to CSS.
Well it seems that NewsGator allows you to create custom transforms for feeds (and even on an individual feed basis!). Unfortuantely the XSLT transform happens very early on right when data is stored into the PST file, which sorta negates the whole concept behind XSLT, doesn't it?
Anyway, this is a post to test my transform. I will post up the files when i'm done.
As you can see (if you are viewing in a browser) I have created a new website design. Not much of the MovableType templates are left.
The new design is a pure CSS based design. There should be no font tags anywhere, and the only table that exists on the entire site is the standard MovableType calendar. I don't think i'm quite ready to try and de-tablify that yet.
I have tested this site design in Mozilla Firebird 0.7 and IE 6.0.2800. It /almost/ looks the same on each browser, the only difference being the menu bar at the top (which is actually an unordered list). On Mozilla there is some padding between each menu item that i'm not quite sure how to get rid of (maybe some css guru out there can give me a point in the right direction?). It wasn't to hard getting both browsers looking very similar, but by the same token my design isn't exactly pushing the boundaries of CSS.
For best effects you should have the Lucida Grande font installed on your system. If you don't have Lucida Grande (which incidently is one of the fonts that makes OSX look gorgeous) it will default to Verdana.
To give the transparent effect I have had to use a halfscreen light grey image. I can't wait till you can do something like this though:
.blogbody
{
background-color: #666666;
background-opacity: 20%;
}
If anyone notices anything that doesn't work on their particular browser (havent tested on opera yet, or any mac or linux browser like konqeror) then please drop me an email so I can have a look at the stylesheet.
Update: I am still working on the photo gallery template page. Note that although it doesnt currently fit together very well, it does actually work.
World66 is nifty. It lets you enter the countries, and states within the US that you have visited and produces a world map highlighting the countries visited in red.
Here is my World map:
And here is my US States map (not bad for an Aussie :), I think):
Anyone got any idea what font is used in the short black scene descriptors in Frasier?
Ugh, Blogjet inserts masses of font tags, and paragraph tags. I think I'll stick with w.blogger.
Oh I thought I should mention, I have been using a new aggregator for about the last month now, IntraVNews, which runs inside Outlook.
It is very handy having RSS inside of outlook, though theres a number of limitations that I have found with outlooks standard display of items that I don't like. Unfortunately these can't be changed.
I have a feeling that standalone aggregators will eventually clearly distinguish themselves as a force to be rekoned with, however for the moment despite the reasons not to use an Outlook embedded aggregator, the convenience wins out and I will be sticking with IntraVNews.
Not sure whats going on with TextAmerica when using Mozilla 0.7. I created a Moblog earlier on today (http://markallans.textamerica.com) for use with Sarah and my new UK website (http://uk.markallanson.net/). Any TextAmerica webpage that is longer that one screen has no scroll bars and does not allow you to scroll. Is it just me that is experiencing this behaviour?
Seems to work fine if I fire up IE though.
I just downloaded and installed WinAmp 5.01, in an effort to compare CPU usage with iTunes. iTunes uses (on average) a ghastly 15-20% of CPU when playing my ripped tracks (Ripped in iTunes), WinAmp on the other hand uses (on average) about 5-7% of CPU). This is on a 1.2Ghz Pentium-M CPU with 384mb RAM.
I just completed an online technical assessment for a job that I recently applied for using .NET technologies. One thing that I have learnt from the test is that Intellisense makes you lazy. The test asked some quite specific questions regarding individual classes that I couldn't remember purely because Intellisense in a way removes the need to remember specifics about individual classes.
Needless to say I'm not confident with my test results. I will find out soon enough.
I know how frustrating it is to find good quality free fonts, but if you are into typewriter style fonts, and want to browse about 300 different types from old style broken typewriters to the just plain wierd typewriter then check out the Free Typewriter Fonts Website. I have been sitting on this link for about 12 months but only just figured it might be helpfull for others. The typewriter style font I use on this website is 1942 Report.
This is pretty cool, here is the process I had to go through to connect to the hotspot.
I sorta expected it to be free-for-all, but I can understand why its not. At least the registration process was incredibly simple.
Well I am waiting in the departure lounge of Perth Airport, laptop in lap, connected to my first wireless hotspot. I wasn't really expecting to find a hotspot here at Perth Airport, but i'm stoked that I did :)
Its a good way to kill some time, however I just need to get my longer battery, I have a long flight ahead of my (about 25 hours in total including stopover time). and my battery that lasts 2.5 hours just isn't going to cut the mustard.
Anyway, Wish me a good flight. I will try and blog again in Brunei :)
Seeya
I decided to give iTunes a fair go. Seeings as I am moving to the UK this month and the last thing I needed to was haul 150 or so CD's globally I decided to rip them all to my laptop as mp3s. This task was entrusted to iTunes.
I can honestly say that there was not 1 hiccup over the few weeks that I was ripping the cds. All of them encoded in sweet 160kbps quality (in my opinion the best compromise between size and quality). I love the jukebox features, smart playlists etc.
Despite the fact that It doesnt act like all other well behaved Windows apps i have now uninstalled Winamp and am using iTunes exclusively.
But the best Windows app ever? Hardly.
PS. This is my first post written in Zempt. Seems to work okay, they just need to eye-candy it up a bit :)
Oh, btw, I thought that I should mention that about a week (give or take) after posting about my problems getting the Calendar to work with Mozilla Firebird 0.7 it just started working. I didn't touch a thing, honest! (I had almost given up on it and had started re-entering my calendar into OutlookXP)
SharpReader display issue? Luke! you don't use standard windows font colors for all yours texts. Using an iTunes WindowsXP theme, I cant see the address text. Click the below image for a larger version of the screenshot. Maybe this could be fixed in the upcoming release?
Okay maybe i'm doing something wrong. Am I the only person that can't get Mozilla Calendar running on Firebird 0.7?
I even installed 0.7 in a fresh folder and reinstalled calendar over the top. What gives?
I know that a fair amount of people have downloaded mReader, but I dont know exact figures for downloads.
So, if you have downloaded and are using mReader, please drop me an email to let me know what you like, and what you think sucks. I know people using the SonyEricsson P800 have been having some problems, so if someone is successfully using mReader on this device I would be interested to know how you got it working.
Despite being a Win32 developer and user, since OSX was released I always had an interest in Mac's. However, when it came down to the crunch and had to by a Laptop, I went for a Win32 ultralight over the 12" powerbook, purely because im too ingrown into windows to change.
However I was excited to see that apple had released iTunes for Windows. I figured that all apple software was cool, so I went and downloaded it to give it a try.
Boy does it suck. Here's why:
I will use it for a while longer and see if there are redeeming features, but for now its a 1/10 rating. It's a shame, I really wanted to like this.
I have dumped my Opera / Outlook combination for my web apps on the new laptop and have gone for the following OSS alternatives.
1. Mozilla Firebird (Browser)
2. Mozilla Thunderbird (Mail & News)
3. Mozilla Calendar (Events / Tasks)
I have used mozilla a lot in the past (but not firebird), and opera was starting to get on my nerves with random crashes etc.
The beauty of using Mozilla Calendar though, is that it follows the open calendar format released by Apple with iCal. This means that I can subscribe to any iCal calendars I find on the web. Mozilla Calendar also allows you to publish your own calendar to an FTP or WebDAV server just in case anyone wants to keep in touch with your whereabouts.
So, now I am sorted! If anyone wants to subscribe to my calendar then click this link.
Wow, I'm impressed. I always figured that packages you are waiting for the most always tend to arrive the latest.
I was pleasently surprised on Thursday to have my Dell Lattitude X300 arrive 5 days ahead of schedule. So, from the time my order was placed till the time that the notebook arrived (including approval of finance) was only 6 days. That was even though I made a number of changes to the spec of the notebook.
Dell has a system that works, and im very impressed.
I have finally got everything worked out with the new server. I almost lost my Movable Type mysql databases on the old web host. After fiddling around with different control panels I finally managed to get a dump of the old databases using phpMyAdmin. After that I uploaded the exported sql using MySQL Control Centre. Thank god for some excellent open source tools. Thanks to all who work on these tools, you saved me lots of work.
If this post works, it means everything is back to normal!
I will be moving www.markallanson.net from its current server to a new server during the weekend. You may get a bit mixed up between old/new depending on how quickly your DNS gets updated. Hopefully there will be no downtime.
Now that I have resigned I must get everything ready for the trip to the UK. My 2 main preparation items are of course, gadgets. Sold is my old Kodak DC3800 Point-and-click camera, replaced with an Olympus C-740.

3.2Mp, 10x Optical Zoom 3x Digital zoom (max zoom 30x). This camera rocks! Image quality is fantastic.
Second is the fact that I cannot live without a computer, seeings as I cant really ship my desktop over to the UK (well I can, but I dont want to), I have jumped in and bought a new Laptop. Pre-requisites: 1. must be an ultra-light. 2: Must have 802.11b/g.
So I splashed out on a new Dell Latitiude X300 Ultralight.

this thing is awesome. only 1.3kgs and 0.8" thick. Unfortunately it won't arrive for 10-12 business days.. Of course, being a geek I couldn't leave it at the base specs so I chopped and changed it a bit
I already can't wait and I still have 9-11 business days left :)
Look for a Clarion 6 XML Primer that I am writing up, its going into the bits that the current release candidate doesnt document including how to access the DOM, plus some other tricky bits that are hard to pick out.
Should be done this weekend.
Scoble has a new blog over on Longhorn Blogs.
I've had my own Longhorn Blogs RSS stream for a while now. Its called Feedster. Subscribe to this Feedster Search: http://www.feedster.com/rss.php?q=longhorn&sort=date&ie=UTF-8
It will give you a balanced mix of Longhorn information.
This post over on eric's blog gave me a bit of a laugh. Its funny who we can blame for the things that go wrong in our lives :)
I am trying to write a simple tracert program in .net and have come across a problem. Assume that the rest of the packet data is correct.
I set the sockets TTL to 10 using the following code:
Anyone got any idea on this?
I have been using SharpReader for about 6 Months now and with my modest list of feeds SharpReader now takes up well over 100meg of RAM when loaded. I wonder if Luke has any plans to fix this by using a database store instead of XML, or some smarter XML handling?
After completing Monkey Island 2 and 3 from the collectors edition boxed set I bought last month I have begun to dig into the 4th in the series, Escape from Monkey Island.
Initially I was looking forward to the 3d graphics and new UI, however after the gorgeousness of Curse of Monkey Islands hand drawn 2d, the 3d was blocky and edgy, I was disheartened to say the least, until I decided to force anti-aliasing on in the nVidia driver, and suddenly the graphics became so so silky smooth.
If you're playing EFMI and are dissapointed in the graphics, go to your display properties and force your graphics driver into the highest Anti-Aliasing mode possible, its a dream.
Raymond Chen has an interesting blog post regarding how software needs to be tolerant to various cultures around the world, citing an example of the two different Windows 95 box holograms, one featuring a topless baby, another featuring a clothed baby. Aparently the topless baby was offensive to a certain unnnamed government.
Aparently topless babies can almost be considered a collectors item. Unfortunately my Windows 95 box has a clothed baby :( Ohwell no riches for me!
Out of interest, my Windows ME box, and my Windows 2k box both have no hologram. I wonder if that is a consequence of the above? Any idea on that Ray?
Thankfully where I work we haven't ran into these issues yet (other than currency display problems). Interesting stuff!
I know this is probably not news to most people, however for those who don't know, Feedster provides an excellent mechanism for keeping updated on what the blog world is saying about things that interest you in your standard RSS aggregator (yes, including mReader).
When you perform a search in Feedster, you get provided with an XML link to those search results. By using that XML link as a feed in your RSS aggregator you will get new posts that match your search criteria appear in your aggregator whenever feedster indexes. Feedster even provides quick subscription buttons for common desktop aggregators to the right side of your search results.
For example, if you want to know when I release a new version of mReader, aswell as whenever someone writes something about mReader then you can perform the following steps
It's as simple as that. You should now have a new feed in your RSS aggregator, and it should be titled something similar to "Feedster RSS Search Results for mReader". Whenever someone writes something new about mReader, you will know about it. Note that this also works with mReader itsself. You can enter the XML link provided by Feedster as a new feed in mReader itsself, now whenever you load the "Feedster RSS Search Results for mReader" in mReader, you will have the latest 10 things written about mReader.
Thanks Scott&Co. Thanks for providing us with an awesome tool!
mReader 1.01 is now ready for download. You can download both the JAR and the JAD file. Note that I don't think the Jad file I supply will work directly with the Sun Jar->JRC PalmOS converter. As with the previous version, point your wireless device's web browser to http://mobile.markallanson.net/ to download it using OTA.
Changes in this version:
Things that are still annoying:
All my testing has been done on the default emulators supplied by Sun with their Wireless toolkit, and the Nokia 7210 and 6310i emulators.
If you have any problems or feedback please email me.
Thanks to Omer Trajman there is now an mReader 1.0 binary (PRC) for PalmOS devices. This can be downloaded onto a PalmOS handheld running Sun's J2ME VM.
If you have a PalmOS Device and want to use mReader on it, Check it out.
Omer, Thanks again!
I've been doing some work on mReader and should have a version 1.1 ready to release sometime during the next week. The following things have been addressed so far:
1. More tolerant to post content in general. You shouldn't get any more empty lists of posts when you try to load a feed.
2. an attempt to translate some HTML tags and &...; codes into something readable on Midp devices (ie lists are given asterix's etc).
3. Proper Progress Indicators and Threading to make the device look like it is doing something, not just telling you it is doing something.
4. An out of memory exception catcher so that you know if a feed is too big. (ie .Net Notes)
If anyone has some feature requests give me a holler.
I won't be at TechEd Australia but ill be looking forward to reading what the bloggers have to say about the event. Is anyone setting up TechEd Bloggers for the Australian TechEd?
[Update: If you have come from Lockergnome you might want to know that v1.0 of mReader is deprecated and version 1.01 has been available as of 23rd August 2003]
Okay, I have put a version of the mReader jar online. To get a copy of it point your J2ME midp enabled devices web browser to http://mobile.markallanson.net, alternatively the direct link to the jar file is http://mobile.markallanson.net/j2me/mReader.jar.
The jar file is 42kb in size, most of this comes from the kXML2 and XmlPull libraries I am using for XML processing. I might try and cut out a bunch of functionality from these libraries in the future to make the jar smaller.
Features so far
1. Processing of RSS 0.91, 1.0, 2.0, RDF. In case you are interested, the processing for each of the above formats is identical.
2. Importing of an OPML outliner file from the web. For SharpReader users (and any others who use a reader that can export to OPML), ftp your exported OPML to a website and point mReader to it to download a list of existing feeds.
3. HTML tags are stripped out of post descriptions. Later versions will have a "link list" functionality for a post so you can see what links the post contains.
Limitations/Annoyances at the moment
1. You can only store up to 50 Feeds in your feed list.
2. mReader will only allow you to view the first 50 items in a downloaded feed.
3. Once a feed is in your list, you can't remove it. (this will be fixed in a later version)
4. mReader doesnt handle some feeds too well due to the way I currently make use of the kXML2 parser. If you try to load a feed and you get a blank list of items, then mReader has most probably had an error trying to download. Email me a copy of the RSS file (or weblog URL) and I will see whats going on.
5. mReader does not display any "I am currently downloading" type messages. Once you have selected a Feed, wait a while, I can assure you it hasn't crashed!
6. mReader currently doesnt look at content:encoded fields for post text. it uses the description tag instead. For memory reasons.
I have currently tested this jar on the default color phone provided with Sun's Wireless toolkit, aswell as the Nokia 7210 emulator (the phone I use).
Note that there is currently minimal error checking in the app, so you may get an exception every now and then.
If you have any problems, please email me the details.