Bell EndBell Endquite amusing and drastically geeky at the same time Articles
Metastorm BPM 7.6 and Windows Workflow part 2
2008-06-08 23:18:00 In part 1 I discussed the new Windows Workflow features in Metastorm BPM 7.6. I'll now move onto the database tables used by WF workflows in Metastorm. First we have two tables that contain process metadata. eMSWorkflow is pretty simple, it contains one entry for each workflow published to the database. There is a column for the name of the workflow and a GUID column. The name is the name that will be used when executing a workflow from Metastorm. I'm unclear what the GUID column is for. Multiple workflows with the same name aren't possible so it isn't for differentiating between two workflows with the same name. eMSWorkflowDefinition holds an entry for each workflow version published to the database. Most of this table is pretty self-explanatory. Again there is a GUID column whose purpose isn't clear. There is an interesting column called 'eWorkflowDefinitionType'. I haven't investigated this too far but it suggests that it is possible to publish workflows as assemblies or ... More About: Part
How record companies can save themselves
2008-05-29 22:27:00 I got a lovely book for Christmas, "Factory Record s - The Complete Graphic Album", which shows off the artwork for most of the albums and singles that came out on the Factory label along with other artwork used in ads etc. It got me thinking about why people are not buying music from record labels much anymore, instead choosing to download it free over the internet. Of course, one reason for this is the price but I think there's more to it than that. People have always taped music from friends but they still bought it as well. But look at that Factory artwork again, some of it was superb (and some of it wasn't...). But buying a Factory record wasn't just about music, it generally came in a beautiful package as well. In the days of vinyl, there were little messages in the run-out groove (it wasn't just Factory that did this of course). Being 12" wide meant the artwork could be much more complex. So record companies should go back to vinyl? No, though they could certainly think ab... More About: Companies , Save
Adding code to a XOML workflow
2008-05-27 23:30:00 I was aware that it was possible to add code to a XOML workflow but I hadn't actually seen any examples of it, until I started looking into the Metastorm WF integration. I'm not sure it's something I'd like to do, it's pretty ugly and I like the idea of producing a workflow definition in a purely declarative manner. That way you're forced to put real code in their own activities which I think helps the overall design of your system. However there is one place where it isn't possible to do everything in XML, when you need to add a property to a XOML workflow. So here's an example of that. If you get stuck using this, you're on your own, I don't know much about it and the documentation seems a bit thin on the ground. Here's hoping that MS add support for XOML properties in the next release... <x:Code ><![CDATA[//<?xml version="1.0" encoding="utf-16"?>//<XCodeItem xmlns:xsi="http://www.w3.org/2001/XMLSche ma-instance" xmlns:xsd="http://www.w3.org/2001/XMLSche ... More About: Workflow
Metastorm BPM 7.6 and Windows Workflow part 1
2008-05-26 21:42:00 The new version of Metastorm BPM, 7.6, has several new features (and I may do a full review at some point), but the one that interests me the most is the integration with Windows Workflow . This has been a fairly long time in development, a screenshot appeared on the web about 18 months ago. The first WF integration appeared in 7.5, which allowed BPM functionality to be called from WF workflows. This was not of great interest to me as it always seemed more useful to be able to call WF workflows from Metastorm. This is what has been added in 7.6. Installation is easy, although a complete re-install is required, rather than an in-place upgrade. An upgrade will update the 7.5 pieces, but will not install the new 7.6 pieces. The main thing of interest is the new WF designer (called WF Composer) that is used to develop and publish WF workflows to the Metastorm database. It's quite a nice tool, but my main gripe is that it's not Visual Studio. If it's aimed at developers then integratio... More About: Part
No End in Sight: Iraq's Descent into Chaos
2008-05-15 23:15:00 Iraq doesn't get in the news much currently, with natural disasters and global financial problems overtaking it in the headlines. But a quick search of Google News shows plenty of people are still dying there. So 'No End In Sight ' is still as relevant now as it was when it came out. And a quick précis of the file would be the US (and the UK of course) did one thing right, getting rid of Saddam, then screwed up everything possible after that. It doesn't bother to delve too deeply into the lies that led up to the war but looks at the aftermath instead. First there was no plan, then the plan that was hatched was insanely stupid and it's no surprise that the carnage carried on for so long. Get rid of the army to leave 500,000 soldiers with no work and with a grudge? Brilliant... The director, Charles Ferguson, has made an unusual change of career. He started out in software, running the company that created FrontPage (and writing an entertaining book about it). Nice to see him put... More About: Chaos , Descent
Absolutely
2008-05-12 23:01:00 It's odd that I watched pretty much every episode of Absolutely when it was on and yet I'd completely forgotten about its existence until I came across an article about it in an obscure South London listings magazine. Perhaps not surprising since it being on telly coincided with my time at university when I was mostly drunk. Anyway, all 4 series are now available on DVD. Go and buy it now.
Synchronous execution of a child XOML workflow
2008-05-05 23:41:00 Previously I came up with a reasonable approach to executing a child XOML workflow asynchronously but what I was really after was executing the workflow synchronously. I eventually realised that the solution to this problem was to fire up another Workflow Runtime and execute the workflow using that. I now have a WorkflowExecutor class as below.using System;using System.IO;using System.Text;using System.Threading;using System.Workflow.ComponentModel.Compiler;u sing System.Workflow.Runtime;using System.Xml;namespace WFBuild.Activities{ /// <summary> /// Executes a workflow synchronously /// </summary> public class WorkflowExecutor { private AutoResetEvent waitHandle; private Guid wfGuid; private Exception ex; public void Execute(string fileName) { WorkflowRuntime workflowRuntime = new WorkflowRuntime(); workflowRuntime.StartRuntime(); workflowRuntime.WorkflowCompleted += new EventHandler<WorkflowCompletedEventArg s>(workflowRuntime_Wor... More About: Child , Execution , Synchronous
Removing the iTunes crapware
2008-05-05 00:25:00 I have to admit to liking iTunes, but one thing I don't like is all the crap it installs alongside it. Some of this stuff is probably essential if you have an iPod, but if not it seems to be pretty much useless. I could get upset about this, but I find the simplest thing is to just remove the unneeded stuff (until the next update). Here's a list of what I've found installed on my PC and how to remove/disable it. Startup programs These can be removed using Windows Defender (Tools/Software Explorer/Startup Programs) iTunesHelper.exe QTTask.exe Services These can be disabled using Administrative Tools/Services Apple Mobile Device Bonjour Service iPod service More About: Itunes
Getting a list of services loaded into the workflow runtime
2008-04-27 23:14:00 Getting a list of the services loaded into the workflow runtime is pretty simple. Here's some code to do it.using System;using System.Collections.ObjectModel;using System.Workflow .Runtime ;namespace GetAllServices { class Program { static void Main(string[] args) { WorkflowRuntime runtime = new WorkflowRuntime(); runtime.StartRuntime(); ReadOnlyCollection<object> services = runtime.GetAllServices(typeof(object)); for (int i = 0; i < services.Count; i++) { Console.WriteLine(services[i].ToString()) ; } Console.ReadLine(); } }}If you try to get a service from inside an activity using the ActivityExecutionContext.GetService method, the available services will be different. Looking in Reflector, you'll see there are several services that won't be returned and the IStartWorkflow service will be created on the fly. Also have a look at WorkflowExecutor.GetService called from ActivityExecutionContext.GetService which also special... More About: List , Loaded
Invoking a XOML workflow from a workflow
2008-04-26 18:01:00 The built-in InvokeWorkflow activity requires a compiled workflow type which isn't too useful if you're trying to execute a XOML-based workflow. Initially I thought I could compile the XOML workflow and then use the InvokeWorkflow activity. The problem with this approach is that the InvokeWorkflow's TargetWorkflow property can't be set at run-time. The solution is pretty straightforward, compile the workflow then use the IStartWorkflow service to start the workflow (which is what InvokeWorkflow does internally). But there are still a couple of issues with this. First, there is no way to pass parameters to a XOML workflow, since there is no way to add top-level properties. You could workaround this by sub-classing the SequentialWorkflowActivity and adding properties for the parameters you want to pass. The second problem is if you want the child workflow to finish before continuing with the parent workflow. rather than starting the child workflow asynchronously. I've seen examp...
Become a money lender
2008-04-23 00:31:00 OK, perhaps my dream of a world without money lenders is a pipe dream, but if that isn't a possibility then how about we cut out the middle man and do the lending ourselves? OK, we can't completely cut out the middle man (unless we lend out money to random people down the pub), but we can use a middle man to lend or borrow money directly, rather than effectively lending our money to the bank for a pitiful return. Enter Zopa, who if nothing else, prove that all the good domain names have been taken. Basically you put your money in their system and offer to lend it out at whatever rate you like and it is lent out to people directly for a small fee. They work out the credit-worthiness of borrowers but you take the hit when borrowers default. The claimed interest rates are better than you'll get in a bank account, although it is still taxable. Saying that, tax isn't taken at source, so it's certainly possible to avoid paying tax on the interest earned (although that would clearly b... More About: Money
In defence of geeks
2008-04-21 22:46:00 There's an ad for BT on the telly currently in which a mother talks to her partner about her worries for her daughter who's spending lots of time on the internet. She pauses for dramatic effect, as we are left to think of the terrible things that could be happening to the kid. So what is she concerned about? Some sexual predator grooming her child? Oh no, it's much much worse than that... She's worried that her daughter is turning into a geek. Yeah OK, it's all light-hearted enough, but it misses an important point. If it weren't for geeks, there'd be no internet, no eBay, Amazon, Facebook and all the other crap that we can pass the time with. There'd be no computers for that matter, or iPods or mobile phones or CDs or any other electrical gadgets. I'm sure it was geeks (before they were called that) who developed cars, electrical power generation and the telephone. So let's all the hail the geek, for producing all this stuff to make our lives so much richer (there is a h... More About: Geeks , Defence
More on 0871 numbers
2008-04-20 11:39:00 Somebody posted a comment to my little rant about 0871 numbers. Initially I thought it was just someone trying to defend the use of 0871 numbers but then I noticed the link to some site that sells 0871 numbers. A little search of the internet showed the same guy had posted comments to several other blogs with the same link. So a little spam on my blog, no problem, just delete the comment. But then I found a site that is trying to help people to avoid having to use 0871 numbers and other variants, so I thought I'd post a link to that site to help them out and to show spammers that their tactics may well have completely the opposite effect to what they were after... More About: Numbers
Live Maps, what the ...?
2008-04-11 18:20:00 As of today, if you go to Live Maps and you're based in the UK, you get redirected to Multimap instead. It's still possible to get to the real Live Maps via the URL http://maps.live.com/?mkt=en-us, but why on earth has Microsoft decided to do this? Live Maps has improved drastically over the last few months and is now at the very least on a par with Google Maps. Multimap, whilst certainly better than it was, is still way behind both of them. All I can think is that Microsoft spent a significant amount of money on Multimap so isn't prepared to let it die a natural death. Multimap is plastered with ads as well so I guess they will earn some cash from it, something that presumably isn't happening with Live Maps. Unfortunately what will happen is people will just use Google Maps instead so Microsoft will lose out.
Mapping house buying
2008-04-08 00:18:00 I really like the user interface provided by Globrix to look at houses for sale, in particular the Google Maps integration. It's certainly much better than the UI of Right Move, although Property Bee adds immense power to Right Move and doesn't currently integrate with Globrix. One thing missing from Globrix is the ability to save properties, but apparently that will be coming along shortly. So if we ever move house, finding a new one should be much easier than in the past. More About: House , Buying , Mapping
Control DVD
2008-04-07 00:45:00 Imagine trying to convince your other half to go and see a film about a late 70s post-punk band from Macclesfield whose lead singer killed himself. Oh, and it's in black and white. I didn't even make the effort, so I waited for the DVD and bought that instead. I grew up with New Order but Joy Division had always been that other band that transformed into New Order. It's only over the last few years that I've grown to appreciate their music more. So, onto the film. We all know how it ends (and if you don't, you really should read more, like the start of this blog entry) so there's no surprise there. But given the myth that's grown up around Joy Division and more specifically Ian Curtis, it's perhaps surprising that he's portrayed as a mostly normal bloke, who just had serious problems coping with his increasing fame, epilepsy, fatherhood and his own infidelity. Fact is I think anybody would have trouble coping with all of that. He's also shown as not treating his wife part... More About: Control
Credit crunch, what credit crunch?
2008-04-05 00:20:00 With all this talk of a credit crunch, I'm somewhat confused. Isn't the requirement to have some kind of evidence of an income, a deposit and a clean credit history before being given a mortgage actually a return to the lending practices that were the norm just a few years ago? Now, having a pulse is not the only requirement to be given huge sums of money. Rather than a credit crunch, isn't what we are seeing a return to normal service? And that seems like a good thing to me. More About: Credit , Crunch
What I hate about London
2008-04-03 23:32:00 I'm not sure at what point I switched from enjoying living in London to wanting to escape as soon as possible. It was probably a slow process but I'm definitely in the latter camp now. Here are a few of the reasons... Too expensive - For sure you can get paid more if you work in London, but this is completely wiped out by the cost of living here. Ridiculous house prices, expensive travel costs, over-priced pub and restaurant prices all add up to a fortune. People - I don't have a problem with the people as such, although of course people up North are friendlier, but there are just too many of them. There is nowhere to go to get away from everyone, although deep within the bowels of Wimbledon Common can be pretty quiet on a weekday. The other problem is that a lot of the people here are only here temporarily, generally to earn a bit of cash before heading off somewhere else. It's hard to have a sense of community when your neighbours are constantly changing. Driving - I remember... More About: Hate
SCOPE_IDENTITY() and @@IDENTITY
2008-04-02 14:40:00 Note to self, always use SELECT SCOPE_IDENTITY() instead of SELECT @@IDENTITY. I knew this already but always forget which one I should be using. http://codebetter.com/blogs/john.papa/arc hive/2006/04/07/142503.aspx More About: Identity
A world without money lenders
2008-04-01 23:00:00 It is becoming increasingly clear that the UK's housing boom wasn't caused by a lack of supply and heightened demand, but rather by slack lending practices by the banks. The proof can be seen now that cheap credit has been taken away and house prices have almost immediately started to drop. The question this makes me ask is what would happen if there were no mortgages? Presumably houses would be cheaper, essentially costing whatever they cost to build plus some kind of profit for the builder. And wouldn't we all be richer, since we wouldn't need to service such big debts? OK, we'd all have to save up some money to buy a place, but this would be easier since renting would also be cheaper, given that landlords would have a smaller outlay to buy a place and hence would be happy with a lower rent to still get a decent return.OK, this is all something of a simplification of the economics, but it sure seems like things would be better. I can foresee a few problems. Banks would have t... More About: World , Money , Lenders
0871 numbers
2008-03-27 23:09:00 I've been updating the Random Pub Finder to include phone numbers for the pubs on the site and during my Internet searches I've discovered that a few pub websites are showing 0871 numbers, rather than the actual pub's phone number. The phone call costs 10p a minute and the website gets a cut of the money made. I don't have a problem with advertising on websites as a way to cover costs, so long as it's low key and relevant to the site. Certainly some sites over do it, but mostly it's harmless. The Random Pub Finder has never had advertising because our running costs are pretty low and we prefer not to have ads. Getting several hundred visitors a day is enough to rock my boat. If we ever got so many visitors that we had to pay significant hosting costs, we'd almost certainly have to get some advertising. But something seems wrong about making money out of phone numbers. For a start, if I use the 0871 number I never actually find out the pub's phone number, so I'm stuck if I... More About: Numbers
Property Bee
2008-03-26 23:07:00 If you're obsessed with house prices, this is a lovely little add-on for FireFox that keeps track of any changes made to property ads on Right Move, so you can keep an eye on the impending price crash. More About: Property
Free the postcode
2008-03-19 22:47:00 It seems quite ridiculous that if you want to find out how UK postcodes relate to their geographic location you have to pay the Post Office for the privilege. Of course it's possible to pull this data out of Streetmap via a bit of screen-scraping (like I've done with my partial list of London postcodes) but this is almost certainly breaking copyright, although the Post Office haven't chased after me yet... Anyway, it would appear there is a group of people trying to rectify this situation by getting everybody with a GPS device to find the location of any postcode area they happen to be in. I hope it works out for them, although it's insane that it's necessary. More About: Free
Nothing more to say
2008-03-17 23:23:00 For two and a bit years I've not had any trouble posting things here, ideas have sprung into my mind almost constantly. But over the last month or so, I've not had much inspiration. This may be a temporary problem, it may be a longer term issue, at the moment I don't know but I suspect things will be quiet here for a while. As Depeche Mode said 'Enjoy The Silence' In the mean time, read Joel Spolsky's latest post, which just goes to show that you can regain your mojo, which he had seemed to have lost for some time.
A picture
2008-03-14 00:28:00 I thought I'd add try putting an image onto my header to see how it looks. It's a picture of Darwen Tower, and the view is quite similar to the one from my bedroom window for the first 17 years of my life, although the tower was much further away from our house. The view from my current abode is much less impressive, unless you're a fan of looking in people's windows across the street. It would appear I can use this image as long as I credit the original photographer, one Andy Pagett, whoever he may be. You can find the original image on Flickr. More About: Picture
The big BPM lie
2008-03-08 23:12:00 I've been looking at a few Business Process Management tools on and off and I've noticed something that most of them share in common, they like to brag that no coding is required to get your BPM solution in place.Whilst a laudable aim, I doubt very much that it can be met, especially when integration with other products is required. And integration is one of the key ingredients to a successful BPM implementation. The stock answer to integration is the use of web services. And they could be the answer. They are a standard after all, but unfortunately each development platform seem to implement these standards slightly differently. I've had much fun calling web services authored in Perl and Java from .NET. And that was using code, rather than any web service integration abstraction piece provided by a BPM product, which would almost certainly have made other assumptions about how web services work. Almost every abstraction is leaky. And when an abstraction is leaky, it is necessary...
Solving the Vista "Failed to play test tone" sound problem
2007-12-12 23:04:00 It's almost a year since I installed Vista on my work machine. I sorted out most of the glitches a long time ago but I've not had any sound the whole time, which I kind of learned to live with. I'd pretty much given up trying to fix it, thinking I'd wait for SP1, which I was sure would sort out the problem. So I saw SP1 RC1 was available and installed it and excitedly tried my sound. Still nothing... OK I thought, now is the time to figure out what the problem is. I tried out some of the SysInternals tools to see if they could provide some kind of useful info, basically to see if the audio subsystem was trying to access a registry key or file that didn't exist or it didn't have access to (I'd already decided it probably wasn't a driver problem since a completely different sound card had exactly the same problem). I got nowhere with that so I moved onto my next idea, trying to figure out what was going on in the audio log files. If you change the registry key HKLMSystemCur... More About: Play , Sound , Problem , Test
The last CRT
2007-12-03 00:25:00 Some time ago our TV died, trying to switch it on led to a light coming on for a few seconds, then it turned itself off. My guess was the power supply had died or the screen itself had died (for a few days the picture displayed hadn't been the right size).I did think for a second about getting it fixed but then thought it would be as cheap to buy a new TV. After all, the price of TVs has been dropping for a while. And my brother would no doubt be able to fix it, so the TV wouldn't go to waste. But then I actually had a look for a TV and was unable to find any CRT TVs anywhere. I did find some LCD TVs that were pretty cheap but there were a few problems. Most of them were too big to fit into our living room without removing shelving. Not everybody wants a 32"+ screen. Call me a Luddite but the picture quality of LCD screens doesn't seem that good. OK, when high definition TV becomes ubiquitous, the picture quality may be pretty good, but for a 28" screen I don't really need high... More About: The Last
What can I do with an LCD screen and a COM port?
2007-11-28 21:55:00 There is something particularly gratifying about writing software that drives other bits of hardware. I guess it's the feeling of controlling something in the real world, rather than just making square boxes do things in the virtual world of PCs. .NET 2 made controlling COM ports easy through the SerialPort class, and there is a library available for controlling the USB ports. Then I saw this article about driving LCD screens from .NET, again via the serial port. So now it's all very easy to control hardware from my preferred development environment, I just have to find a useful application to develop. One possibility I've been mulling over for a while is some software to monitor electricity usage. Apparently there are electricity meters out there that will do this for you, showing pretty graphs etc, but the electricity companies aren't keen on installing them. Presumably this is due to the cost and also perhaps because it might encourage people to use less power, which isn't ... More About: Screen
Boethius's Wheel
More articles from this author:2007-11-24 23:39:00 "It's my belief that history is a wheel. 'Inconstancy is my very essence,' says the wheel. Rise up on my spokes if you like but don't complain when you're cast back down into the depths. Good times pass away, but then so do the bad. Mutability is our tragedy, but it's also our hope. The worst of times, like the best, are always passing away." So Boethius wrote about 1500 years ago*. And as far as I can see, it still holds true today, on a personal level and on a national/global level. Gordon Brown may have said "no more boom and bust" but the fact is he always had very little control over the economic cycle. It's human nature to over extend ourselves during the good times, thus driving the boom to unsustainable levels then doing the opposite during the downturn. And it looks to me like the 10 years of boom is just about to come to an end. Interesting times. *I'm not particularly well read, I picked up on this quote when a tramp shouted it at Tony Wilson in "24 Hour Party Peo... More About: Wheel 1, 2, 3, 4 |



