<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"><channel><title>Algorithms for the masses - julian m bucknall</title><link>http://blog.boyet.com/blog/</link><description /><generator>Graffiti CMS 1.2 (build 1.2.0.2308)</generator><lastBuildDate>Tue, 10 Nov 2009 20:53:23 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/boyet/blog" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Professional DevExpress ASP.NET Controls now in print</title><link>http://blog.boyet.com/blog/blog/professional-devexpress-asp-net-controls-now-in-print/</link><pubDate>Tue, 10 Nov 2009 20:53:23 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/professional-devexpress-asp-net-controls-now-in-print/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>0</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;Just a quick post to say I received a copy of &lt;em&gt;&lt;a href="http://blog.boyet.com/blog/blog/book-professional-devexpress-asp-net-controls/"&gt;Professional DevExpress ASP.NET Controls&lt;/a&gt;&lt;/em&gt; in my hot little hands this afternoon. Also, Amazon.com also have it in stock &lt;a href="http://www.amazon.com/Professional-DevExpress-ASP-NET-Controls-Kimmel/dp/0470500832/ref=sr_1_5?ie=UTF8&amp;amp;s=books&amp;amp;qid=1257875713&amp;amp;sr=1-5"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Just to prove it, here's an iPhone shot, taken just now on my desk in DevExpress' Glendale office:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/ProfessionalDevExp.NETControlsnowinprint_B372/image_3.png" width="600" height="450" /&gt; &lt;/p&gt;  &lt;p&gt;Yay! I'll be bringing it home after PDC and adding it to my little collection of books I've had a hand in (one sole author, two co-authored, two edited/typeset). Getting to be quite the bookworm…&lt;/p&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>First impressions of Quicken</title><link>http://blog.boyet.com/blog/blog/first-impressions-of-quicken/</link><pubDate>Sat, 31 Oct 2009 06:15:46 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/first-impressions-of-quicken/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>4</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;Back in June this year, Microsoft announced that they were cutting Microsoft Money. Now, I've been using this app for well over 14 years now (my transactions go back to July 1995), and so I was a little peeved, to put it mildly. I know that the application itself will continue to work — although at some point I would be unable to install it on any new PCs or hard drives I may get: there's good old activation for you — but the online features would also be cut off at some future point. No more automatic downloading of transactional data from the banks I use.&lt;/p&gt;  &lt;p&gt;At the time they made the announcement, they also said they were going to be working with Intuit to provide a complete conversion program that would convert from the MS Money data format to the Quicken format, hinting in the process that Quicken was the way to go.&lt;/p&gt;  &lt;p&gt;This evening, when I went to login to Money, a dialog came up giving me a $10 off coupon for Quicken 2010. Sure, why not, I thought: I might as well try it. The nearest level to my Money Deluxe was Quicken Deluxe ($50 after the $10 off), so I entered my credit card details and purchased it on right there and then. &lt;/p&gt;  &lt;p&gt;After I'd done my transactions for the evening in Money, I shut it down and prepared to spend a little time with Quicken.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/FirstimpressionsofQuicken_3A7/image_3.png" width="322" height="75" /&gt; I installed it. Therein was my first issue. Without asking or providing an &amp;quot;advanced&amp;quot; wizard page, the install slapped four icons onto my desktop. The first would have just about been allowable — all right I confess, a blatant lie: I use Windows 7 now and before that Vista. I love the new Start Menu: I can type faster to launch an app than I can search for its icon under the windows I have open. For Money, it's Windows key, M-O-N, Enter. Blam, it's running. Quicken will probably be Q-U-I, Enter. Putting icons on desktops is passé.&lt;/p&gt;  &lt;p&gt;If the first icon is semi-allowable, the other three are flagrantly obnoxious and egregious. For your edification, we have &amp;quot;Best Card for Quicken users - Great NEW rewards&amp;quot;, &amp;quot;Free Credit Report and&amp;#160; Score&amp;quot;, and &amp;quot;One Month FREE - pay bills right from Quicken&amp;quot;. Excuse me? Some really tacky sales pitches because, you know, the $50 I just paid is not enough? I'm not installing an evaluation version, I'm installing a paid version. I am a PAYING customer, Intuit, not someone watching commercials on TV. No I don't want a stupid-assed credit card with &amp;quot;Quicken&amp;quot; on the front, I know quite well how to get my free annual credit report (besides which I pay for a monitoring service), there no way I want to pay someone else to pay my bills for me. So some nasty egregious sales stuff. After taking the image you see above I deleted them all.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/FirstimpressionsofQuicken_3A7/QuickenDialog_4.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="QuickenDialog" border="0" alt="QuickenDialog" align="right" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/FirstimpressionsofQuicken_3A7/QuickenDialog_thumb_1.png" width="240" height="193" /&gt;&lt;/a&gt; I then ran Quicken. It asked me whether I wanted to create a new database or import one. I selected the &amp;quot;Import Money database&amp;quot; option and it asked me for my credentials.&lt;/p&gt;  &lt;p&gt;But, whoa, look at that dialog. Boy, is that some ugly look-and-feel. Hello? I'm using Windows 7 here (but you can pretend that it's Vista) and Aero is fully active. WTF are those tacky buttons with the bold text? And the MS Sans Serif font? Did I slip back to Windows 95 and no one told me? It's easy enough to query the user's Windows theme and get it right, surely.&lt;/p&gt;  &lt;p&gt;Anyway, it found my existing database and went off to do its stuff. After a little while it came back and said there were issues and it had created a log. This was the next problem on my list.&lt;/p&gt;  &lt;p&gt;The log it created was in HTML format. And it displayed it in a separate window with what looked to be a Quicken browser. WTF? The only options it gave me essentially was to close the window or print the data. WT-double-F? What about, you know, an option to &lt;em&gt;save&lt;/em&gt; the friggin' log? Luckily there was another option to view it in an external browser. Up came Firefox and I then saved it from there. Now, I realize that Money itself, by default, shows HTML content inside its main window (it basically runs IE as a COM object), but at least it makes the effort to make the HTML browsing seamless with the Money window itself. It doesn't pop open a new window with a naff toolbar and try to pass itself off as some kind of real browser. It's all integrated into the look and feel of Money.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/FirstimpressionsofQuicken_3A7/image_6.png" width="581" height="85" /&gt; The next issue is minor: a spelling mistake in the log, but come on. &amp;quot;Schdeuled&amp;quot;?&lt;/p&gt;  &lt;p&gt;The text with this error stated: &amp;quot;To identify the scheduled transaction that was not imported, look for a message in the Details section that says &amp;quot;Failed to convert the X scheduled transaction to Quicken&amp;quot;, where X is the name of the payee for the scheduled transaction.&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/FirstimpressionsofQuicken_3A7/image_9.png" width="524" height="55" /&gt; Therein lies the next issue, as you can see. The detail section for this error did anything but identify the payee, but at the same time propagated the spelling error.&lt;/p&gt;  &lt;p&gt;Now I was in the app itself. Hooray. &lt;/p&gt;  &lt;p&gt;First thing was to customize Quicken. I hate seeing the home page when I start up Money, so the same would apply to Quicken. I just want to see my accounts, thanks very much. I found the &amp;quot;Quicken Preferences&amp;quot; menu option and came across another dialog from the last century.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/FirstimpressionsofQuicken_3A7/image_17.png" width="615" height="465" /&gt; &lt;/p&gt;  &lt;p&gt;Let's dissect. Again, it's good old bit-mapped MS San Serif again, even in bold. But wait! If you look carefully you'll see that the group headers are another font entirely (look at the word &amp;quot;Startup&amp;quot; in both the panel title and the first group header). It's the same font as used in the buttons (which aren't standard anyway). Look at those black shadow lines, mmm-hmm. All kinds of awesome.&lt;/p&gt;  &lt;p&gt;Again, it's some Windows 95 look to the controls themselves. But get this: if you press Tab a few times &lt;em&gt;the group boxes and headers disappear!&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/FirstimpressionsofQuicken_3A7/image_16.png" width="611" height="461" /&gt;&lt;/p&gt;  &lt;p&gt;And they don't come back with more Tab presses. No, I didn't Photoshop this, but man this is just delicious.&lt;/p&gt;  &lt;p&gt;I could show you the fonts dialog here (the listbox shows four, count 'em, 4, visible font names with a teensy weensy scrollbar to scroll through the full list) but we'll move onto the real meat of the app: the transaction window, where I spend most of my time. It seems that Quicken will only display the transaction grid with two lines per row. On the first line you get the date, the the payee, the amount, etc, and on the second line the category and the Memo. You can't get rid of the second line, not that I can see, and it's downright annoying. When I'm talking an overall look at my transactions I'm just not that interested in the category and memo. No, really. I'm just interested in when I paid the payee and how much.&lt;/p&gt;  &lt;p&gt;The reason for the two lines is that you also edit in the grid. Now you can do this in Money (I'd turned it off), but I find it inefficient. I'd rather edit in a separate pane. I suppose that's no longer an option for me.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/FirstimpressionsofQuicken_3A7/image_20.png" width="340" height="257" /&gt; My final issue in this initial pass is this. There's an overview view of a particular account. Kind of nifty, shows the current balance, etc, some details about the account, what you've been spending on category-wise, and a nice graph showing the account balance for the month. &lt;/p&gt;  &lt;p&gt;Unlike me being reticent about showing you what I don't like about the transaction page because it might reveal more than I'd like about my spending habits, I have absolutely no qualms about showing you the Account Balance chart of my main current checking account. It's there on the right. Yes, you didn't read it wrong: it shows that as of today I am $15,000 in the red. I'm causing the banking crisis all by myself.&lt;/p&gt;  &lt;p&gt;Except... I've never gone overdrawn on this account. In fact right now, it's nice and healthily in the black, as the previous pane in the Overview window would readily show. A good job too, since the mortgage payments are due in a couple of days. And it's not like they got the signs wrong: although I wish I had $15K in my checking account, it's nowhere near that. So it's not upside down either. It's not even showing what I owe summed across all my accounts, checking and credit. &lt;/p&gt;  &lt;p&gt;I have absolutely no idea where it's getting this data from. No idea at all. No idea what this chart is supposed to show. &lt;/p&gt;  &lt;p&gt;Time to shut the app down and ponder on whether I just wasted $50.&lt;/p&gt;  &lt;div&gt;Now playing:&amp;#160; &lt;br /&gt;Psykosonik - &lt;strong&gt;Secret Life&lt;/strong&gt;     &lt;br /&gt;(from &lt;em&gt;Unlearn&lt;/em&gt;)&lt;/div&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>Internet Corporation Listing Service, icls.net</title><link>http://blog.boyet.com/blog/blog/internet-corporation-listing-service-icls-net/</link><pubDate>Thu, 29 Oct 2009 02:43:00 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/internet-corporation-listing-service-icls-net/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>2</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;They're baaaaack! &lt;/p&gt;  &lt;p&gt;Back last December I got an invoice — er, sorry, a &lt;em&gt;solicitation for services&lt;/em&gt;, cunningly disguised as an invoice — from this company for another domain I administer. I wrote it up as &lt;a href="http://blog.boyet.com/blog/blog/it-s-scammy-letter-day/"&gt;a blog post&lt;/a&gt;, shredding the invoice, oops, solicitation afterwards.&lt;/p&gt;  &lt;p&gt;Well, they just sent me one for boyet.com, this here domain what you connected to for these pearls of wisdom from yours truly. And the price has gone up to $65! And still they'll accept checks only (because it's too easy for you to get your credit card company to reverse the charge if you pay them in error). Just says &lt;em&gt;respectable company&lt;/em&gt;, doesn't it? &lt;/p&gt;  &lt;p&gt;All for what, exactly? &amp;quot;Domain name submission to 25 established search engines.&amp;quot; Be still my beating heart. &amp;quot;Initial and quarterly search engine positions and ranking reports sent to you by email.&amp;quot; Swoon. Can't wait for them to promise &lt;em&gt;submission to Twitter&lt;/em&gt; or some stupid &amp;quot;social media&amp;quot; pledge.&lt;/p&gt;  &lt;p&gt;If you get one of these, dump it. It's a scam, in my opinion. It's also very annoying that they datamine whois to get administrator names and addresses, something that's prohibited by ICANN if I recall correctly.&lt;/p&gt;  &lt;div&gt;   &lt;p&gt;Now playing:      &lt;br /&gt;Alex Reece - &lt;strong&gt;Jazz Master&lt;/strong&gt;      &lt;br /&gt;(from &lt;em&gt;The K&amp;amp;D Sessions Disc 1&lt;/em&gt;) &lt;/p&gt;    &lt;br clear="all" /&gt;&lt;/div&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>PCPlus 274: Choosing random samples</title><link>http://blog.boyet.com/blog/pcplus/pcplus-274-choosing-random-samples/</link><pubDate>Thu, 29 Oct 2009 01:35:05 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/pcplus/pcplus-274-choosing-random-samples/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>0</slash:comments><category domain="http://blog.boyet.com/blog/pcplus/">PCPlus</category><description>&lt;p&gt;I write a monthly column for PCPlus, a computer news-views-n-reviews magazine in the UK (actually there are 13 issues a year — there's an Xmas issue as well — so it's a bit more than monthly). The column is called Theory Workshop and appears in the back of every issue. When I signed up, my editor and the magazine were gracious enough to allow me to reprint the articles here after say a year or so. After all, the PDFs do appear on each issue's DVD after a few months. When I buy the current issue, I'll publish the article from the issue a year ago. I bought November's issue this lunchtime, so here's November 2008's article.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.pcplus.co.uk/"&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="PCPlus logo" border="0" alt="PCPlus logo" align="right" src="http://boyetblog.s3.amazonaws.com/PCPlusLogo.gif" /&gt;&lt;/a&gt;The premise of this article is pretty simple: for statistical purposes you have to select, at random, &lt;em&gt;n&lt;/em&gt; items from a very large set of them. Then, presumably, you will make some deductions about the whole set from this much smaller sample. There are many applications of this and similar algorithms; the most obvious being political polling.&lt;/p&gt;  &lt;p&gt;It's instructive to think about the issue before reading the article. Say you have to select exactly three items at random from a set of 10. How would you go about it such that you do not skew the selection? That is, such that every item has an equal probability of being selected? (An example I give in the article is to calculate a random number between 0 and 1 for every item in the set: if it's less than 0.3 select the item, stop when you have three. However, this is very biased to the earlier items, and, indeed, you might not even get three items at all.)&lt;/p&gt;  &lt;p&gt;If you manage that, consider the scenario where you don't know the total number of items at the outset, yet you must select 1000 of them such that each has an equal probability of being selected. Totally at random. Without counting them. &lt;/p&gt;  &lt;p&gt;Fascinating stuff.&lt;/p&gt;  &lt;p&gt;This article first appeared in issue 274, November 2008.&lt;/p&gt;  &lt;p&gt;You can download the PDF &lt;a href="http://boyetblog.s3.amazonaws.com/274.randomsamples.pdf"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;div&gt;   &lt;p&gt;Now playing:      &lt;br /&gt;The Alan Parsons Project - &lt;strong&gt;Eye In The Sky&lt;/strong&gt;       &lt;br /&gt;(from &lt;em&gt;The Definitive Collection&lt;/em&gt;) &lt;/p&gt;    &lt;br clear="all" /&gt;&lt;/div&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>The Roomba Kings Play Songs of Love</title><link>http://blog.boyet.com/blog/blog/the-roomba-kings-play-songs-of-love/</link><pubDate>Tue, 20 Oct 2009 04:14:12 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/the-roomba-kings-play-songs-of-love/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>2</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;Excuse the pun, but I really like my &lt;a href="http://store.irobot.com/category/index.jsp?categoryId=3334619&amp;amp;cp=2804605&amp;amp;ab=CMS_IRBT_Storefront_090809_vacuumcleaning"&gt;Roomba&lt;/a&gt;. I'd been thinking of buying one for a long while, just to try it out, and then a couple of months ago I happened to notice a refurbished unit (the &lt;a href="http://store.irobot.com/product/index.jsp?productId=2804959&amp;amp;cp=2501652&amp;amp;ab=CMS_IRBT_100909&amp;amp;parentPage=family"&gt;iRobot Roomba 560&lt;/a&gt;) on &lt;a href="http://buy.com/"&gt;buy.com&lt;/a&gt; at $100 off the new price. So, I thought, why not, plonked the virtual money down and a few days later it arrived on my doorstep.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Roomba 560" border="0" alt="Roomba 560" align="right" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/TheRoombaKingsPlaySongsofLove_138AF/image_3.png" width="250" height="250" /&gt; Let me explain. We have four cats (it was only supposed to be three, but then a neighbor had a litter and there was this cute tabby who purred a lot, and the rest is history) and, despite our best intentions, the carpet gets furry and the little blighters tread cat litter everywhere despite buying those special mats that are supposed to help brush their paws as they exit the box. Neither of us has the time or inclination to vacuum every day, but to be honest that's what it needs. Once a week is just not often enough. Hence the thought about getting a robot to do it for us.&lt;/p&gt;  &lt;p&gt;I recharged the Roomba and pressed the button on the top. I'd given it the biggest level: our lounge plus dining room plus kitchen. After a little trill, off it whirred, vacumming away. Bonk, it hit a table leg, rotated, and went off in another direction. It was fascinating to watch. It found the wall and then tracked along it until, bonk, it hit the sofa. And then, oh &lt;em&gt;mirabile dictu&lt;/em&gt;, it went underneath where no vacuum cleaner had ever gone and yet which was a favorite cat hiding spot. &lt;/p&gt;  &lt;p&gt;Talking of the cats, they were fascinated. They hate — with a passion — the upright vacuum cleaner, but this one they just watched warily. (Now, after two months, the youngest will just play with it, dashing in front of it, jumping over it; it's a wonder anything gets vacuumed any more.)&lt;/p&gt;  &lt;p&gt;After about half an hour, it expired in the middle of the carpet. It was supposed to hunt the docking station and dock to recharge, but not this time. I picked it up, turned it over, and the bin was full. Totally and utterly full, I emptied it, cleaned the brushes, and set it on the docking station again. After it had recharged, I set it going again, only to have the same thing happen. It took in all three runs, before the bin wasn't overflowing and the robot found the docking station properly (another little trill).&lt;/p&gt;  &lt;p&gt;And that was the story with the three levels I've tried it in (the one mentioned above, the family room and our bedroom/bathroom): the first time I had to make at least three runs before the robot decided that the room was clean enough to dock. After that it was fine. It would vacuum in about 25 minutes and then redock. Finally I was able just to set it going and forget about it: it would find the docking station every time.&lt;/p&gt;  &lt;p&gt;It picks up dust and fur, no problem at all. Because I work at home, I can move it from level to level once it's recharged (about an hour, but I haven't really timed it), however I'm really thinking we need another to help out. The carpet looks great. In fact, it all looks so good, I now really notice the stairs need vacuuming, which of course the robot can't do. Gaak.&lt;/p&gt;  &lt;p&gt;The only downside is that the dust/debris bin is fairly small and so really needs emptying after every run. The brushes need cleaning too, but this may be just a function of having four cats (it's their fur that gets wound round the brushes). But I'm willing to clean it afterwards (I've got it down to a fine art now) for the pleasure of heaving clean carpets every day. &lt;/p&gt;  &lt;p&gt;I certainly recommend it, especially if you have the same kind of situation as we do. As I mentioned above, we're going to go for another one so that I don't have to move it around so much. Maybe a Scooba instead, since we're putting in wood flooring? &lt;/p&gt;  &lt;div&gt;Now playing:    &lt;br /&gt;Scott, Mike - &lt;strong&gt;King Electric&lt;/strong&gt;     &lt;br /&gt;(from &lt;em&gt;Still Burning&lt;/em&gt;) &lt;/div&gt;  &lt;br clear="all" /&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>Online surveys</title><link>http://blog.boyet.com/blog/blog/online-surveys/</link><pubDate>Fri, 09 Oct 2009 01:30:36 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/online-surveys/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>3</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;Today I got an email from eBay asking whether I'd mind filling out a survey for them. The survey was one of those that asked questions designed, quote, to improve the user experience when buying, unquote. Generally, with these, I tend to fill them out, providing I have the time, and by that I mean it'd better take much less than 10 minutes or I will just abandon it. Of course, if the survey is on something I feel strongly about, I'll stick it out — at least most times. &lt;/p&gt;  &lt;p&gt;This particular survey was about presentation of items for sale and how that influences my decision. I was asked to imagine I wanted to buy a Canon Powershot camera and was presented with a fake list of such items (here's &lt;a href="http://shop.ebay.com/i.html?_nkw=Canon+Powershot"&gt;the current list&lt;/a&gt;). I was then asked to choose one of the items and answer various questions about that choice. &lt;/p&gt;  &lt;p&gt;Right off the bat, the scenario was meaningless. The reason is that I wouldn't just look for &amp;quot;Canon Powershot&amp;quot;. I would be searching for a particular model (presumably I'd read reviews and was now looking to score an example of the best). The list had every single kind of Canon Powershot, just like the list I linked to. There are older, much cheaper cameras in that list, and there are newer (maybe new) and more expensive cameras. My primary choice therefore would have nothing to do with the presentation of the items, but everything to do with the particular model I putatively was looking for. The survey, in my mind, was poorly designed, at least for me. So I randomly chose one in the middle of the list as the one I wanted to buy. (It also didn't help that the list was presented in &amp;quot;Best Match&amp;quot; order, one of &lt;em&gt;the&lt;/em&gt; most irritating sort sequences ever devised by man.)&lt;/p&gt;  &lt;p&gt;It was only on the next survey screen that I realized that every item in the fake list had a fake page behind it. The survey was assuming that I was going to read the detail pages, all 25 or so of them, before making my decision. Er, not. One, the list is too vague, too diffuse, too unordered, to map to the way I use eBay, and two, there's no friggin' way I'm going to read the made-up descriptions, feedback rankings, shipping policies, etc, etc, yadda, yadda, for 25 or so items in order to fill out a survey. It's like playing blackjack or roulette with funny money: you have no skin in the game and so you don't concentrate, get bored, and do silly things like bet everything on 00.&lt;/p&gt;  &lt;p&gt;So, bye bye, survey.&lt;/p&gt;  &lt;p&gt;There was another kind of survey that I struggled though a couple of years ago, this time for Adobe. Man, this one was like wading through treacle. It asked you to reflect on several scenarios for pricing the next version of Creative Suite. I thought it was only for one scenario though, so I tried my best (&amp;quot;No, I think $500 is too much for upgrading from X to Y, but $400 is reasonable. If X contained Illustrator and Photoshop, I'd be willing to pay such-and-such.&amp;quot;). The setup was just as complex as the eBay one since it posited all these different package possibilities and pricing charts for new purchases versus upgrades and you had to keep all this in mind and be reasonable about your choices and to make sure that you didn't make the Premium option cheaper than the Standard option, and so on. I completed it, went on to the next screen, and suddenly realized that there was more than one such set of scenarios to wade through. It was like completing a level in some game and then being presented with the next, but without the expectation of some fun times ahead blowing away the aliens. I can't remember how many levels there were (at least three) but I sweated through it, and then it asked a bunch of questions about my reasoning. All the way back to the first scenario/level. It was the &lt;em&gt;crème de la crème&lt;/em&gt; of survey torture and I needed a stiff drink afterward to calm my shattered nerves.&lt;/p&gt;  &lt;p&gt;And then there's the survey like I filled in last night as it happened — sheer coincidence, in case you're thinking I just spend my spare time filling in surveys — where I answered X to a question on page 2 only to be presented with a question on page 5 that assumed I'd answered not-X. And, no the survey wouldn't allow you to go back. Cretins.&lt;/p&gt;  &lt;div&gt;   &lt;p&gt;Now playing:      &lt;br /&gt;Collin, Marc - &lt;strong&gt;Les Kidnappeurs (Main Theme)&lt;/strong&gt;       &lt;br /&gt;(from &lt;em&gt;Café del Mar, Vol. 6&lt;/em&gt;)&lt;/p&gt;    &lt;br clear="all" /&gt;&lt;/div&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>Playing your portable music player through your computer speakers</title><link>http://blog.boyet.com/blog/blog/playing-your-portable-music-player-through-your-computer-speakers/</link><pubDate>Wed, 07 Oct 2009 01:08:53 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/playing-your-portable-music-player-through-your-computer-speakers/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>0</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;Got an iPod or similar music player? &lt;/p&gt;  &lt;p&gt;Got Windows 7 on your PC? &lt;/p&gt;  &lt;p&gt;(Harder question) Got a mini stereo jack to mini stereo jack cable?&lt;/p&gt;  &lt;p&gt;If yes to all three, you can play your music player through your computer speakers. This is great if you happen to be travelling and are stuck in your hotel room (er, like I am at the moment): for the minimum extra equipment (the cable) you can listen to your music on your laptop without having to ensure your music library has been copied onto your laptop drive or carry around an external drive with it all on. OK, maybe it's just me, but I do not have enough room on my laptop SSD to fit my music on. Maybe when I win the lottery (or the pools) and can afford a 256GB SDD, or they come down sufficiently in price, all this will be behind me, but until then…&lt;/p&gt;  &lt;p&gt;Plug one end of your cable into your iPod and the other into the microphone socket of your laptop. My hardware causes an interrupt and the driver asks what kind of device I've plugged in. I selected LineIn.&lt;/p&gt;  &lt;p&gt;Go to the Recording Devices tab of your Sound properties dialog:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Sound properties dialog" border="0" alt="Sound properties dialog" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/Playingyourportablemusicplayerthroughyou_10873/image_3.png" width="481" height="589" /&gt; &lt;/p&gt;  &lt;p&gt;Right click on the active input device and select Properties. Click on the Listen tab (this is only available in Windows 7, note) and then click on the Listen to this device checkbox:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Listen tab" border="0" alt="Listen tab" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/Playingyourportablemusicplayerthroughyou_10873/image_9.png" width="481" height="589" /&gt; &lt;/p&gt;  &lt;p&gt;Click Apply and you will be able to listen to your music player through your laptop speakers (along with all the pings and dings from your email/IM/Twitter app).&lt;/p&gt;  &lt;p&gt;I must admit this was hard to find at first. I got the hint from &lt;a href="http://blogs.msdn.com/larryosterman/archive/2009/08/04/a-few-of-my-favorite-win7-sound-features-capture-monitor-aka-listen-to.aspx"&gt;Larry Osterman's blog post&lt;/a&gt; on the topic where he calls it &amp;quot;Monitor capture&amp;quot;.&lt;/p&gt;  &lt;div&gt;   &lt;p&gt;Now playing:      &lt;br /&gt;Scott, Mike - &lt;strong&gt;Bring 'Em All In&lt;/strong&gt;       &lt;br /&gt;(from &lt;em&gt;Bring 'Em All In&lt;/em&gt;) &lt;/p&gt;    &lt;br clear="all" /&gt;&lt;/div&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>The best Sudoku iPhone app (mostly)</title><link>http://blog.boyet.com/blog/blog/the-best-sudoku-iphone-app-mostly/</link><pubDate>Wed, 07 Oct 2009 00:05:51 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/the-best-sudoku-iphone-app-mostly/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>0</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;I was chatting with Mehul in the DevExpress offices yesterday about writing iPhone apps with MonoTouch. He wanted to know what iPhone app had most impressed me, now that I'd had the phone for a little while and therefore what I might be trying to emulate in my own programming. My reply was &lt;a href="http://sudokugrab.blogspot.com/"&gt;Sudoku Grab&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Yeah, yeah, I can hear you saying. There are a bazillion apps out there already that do Sudoku. What's so special about this one?&lt;/p&gt;  &lt;p&gt;Well, it's the grab part that fascinates me and that elevates this app above the run of the mill (I'll admit, the solving part of the app is quite ordinary). What I like is the way it uses other iPhone features rather than just the screen and touch interface. Without embellishing it too much, the grab feature allows you to take a photo using the iPhone camera of a Sudoku puzzle printed in a newspaper or displayed on your screen (say, from &lt;a href="http://www.websudoku.com/"&gt;Web Sudoku&lt;/a&gt;). The program does a bit of image processing and OCR and imports the puzzle into the program's own interface. The program even determines the difficulty of the puzzle. You don't have to transcribe anything to play a puzzle on your phone, the program does it all. It really is quite magic to see it for the first time.&lt;/p&gt;  &lt;p&gt;The author of Sudoku Grab has written &lt;a href="http://sudokugrab.blogspot.com/2009/07/how-does-it-all-work.html"&gt;a very informative blog post&lt;/a&gt; about how the image processing and OCR works. It's fascinating to read if you're at all interested in algorithms.&lt;/p&gt;  &lt;p&gt;So, in short, it's the programs that make use of the iPhone's hardware features (GPS, compass, accelerometer, camera, etc) that I find the most interesting. It reveals that the author is trying to fit what might be after all a pretty bog-standard program into the universe of the iPhone to make it uniquely recognizable as an iPhone program.&lt;/p&gt;  &lt;div&gt;    &lt;p&gt;Now playing:      &lt;br /&gt; Vangelis - &lt;strong&gt;DesolationPath&lt;/strong&gt;       &lt;br /&gt; (from &lt;em&gt;Blade Runner (25th Anniversary Edition, CD2)&lt;/em&gt;) &lt;/p&gt;    &lt;br clear="all" /&gt; &lt;/div&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>Book: Professional DevExpress ASP.NET Controls</title><link>http://blog.boyet.com/blog/blog/book-professional-devexpress-asp-net-controls/</link><pubDate>Mon, 05 Oct 2009 22:02:00 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/book-professional-devexpress-asp-net-controls/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>6</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;Over the summer I spent quite a bit of time on top of my normal work activities (at least those I couldn't put aside) writing a couple of chapters for &lt;em&gt;Professional DevExpress ASP.NET Controls&lt;/em&gt;. Yes, I've been saying for a while that I'd never write a book again, but this was an opportunity to quickly write something that would appear in a book form, without my name being on the cover. Unfortunately Wrox didn't listen to me and put it there anyway :).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/Professional-DevExpress-ASP-NET-Controls.productCd-0470500832.html"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="PDXASPControls" border="0" alt="PDXASPControls" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/BookProfessionalDevExpressAS.NETControls_DAFD/image_3.png" width="431" height="542" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Originally Paul Kimmel was going to be writing all of it, but, as anyone who's written a technical book will tell you, it's very intensive, hard work and difficult to complete in a relatively short period of time. We, DevExpress, also had a deadline: we had to have copies of the book at &lt;a href="http://microsoftpdc.com/"&gt;PDC&lt;/a&gt; in November. In order to make sure that this happened, Joe Kunk and I agreed to take off some of the more specialized chapters (that is, chapters on single specialized products) off Paul and write them ourselves. Joe did the XtraReports chapter, and I did the XtraCharts and asynchronous programming chapters. I also did the section on Javascript for another chapter, basing it quite a bit on my series on &lt;a href="http://blog.boyet.com/blog/javascriptlessons/"&gt;writing Javascript&lt;/a&gt;. Paul wrote the rest, the vast majority of the book and is the real hero.&lt;/p&gt;  &lt;p&gt;So, a book author again...&lt;/p&gt;  &lt;div&gt;   &lt;p&gt;Now playing:      &lt;br /&gt;Jellybean - &lt;strong&gt;Little too good to me&lt;/strong&gt;       &lt;br /&gt;(from &lt;em&gt;Just Visiting This Planet&lt;/em&gt;) &lt;/p&gt;    &lt;br clear="all" /&gt;&lt;/div&gt; &amp;lt;!-- </description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item><item><title>Access to Windows shares from Linux</title><link>http://blog.boyet.com/blog/blog/access-to-windows-shares-from-linux/</link><pubDate>Sat, 26 Sep 2009 23:29:46 GMT</pubDate><guid isPermaLink="true">http://blog.boyet.com/blog/blog/access-to-windows-shares-from-linux/</guid><dc:creator>julian m bucknall</dc:creator><slash:comments>0</slash:comments><category domain="http://blog.boyet.com/blog/blog/">Blog</category><description>&lt;p&gt;I've spent a few hours recently investigating Mono for work. The intent is so that we (all right, I) can talk intelligently about what it would take to get DevExpress' controls working with Mono, rather than just say, no dunna work, or something equally as illiterate and uninformative. To make this easy for the likes of me, the Mono team have set up a virtual machine (VM) running SUSE Linux and containing a complete Mono install. Piece of cake you might say, and so it is. It was the matter of a few minutes to download the VM and to run it in VMware Workstation. &lt;/p&gt;  &lt;p&gt;No problem, at least until the point when I tried to access some shared Windows folders from Linux. No matter what I tried nothing would work. And this is from a guest Linux OS to the host Windows 7 OS, which you'd imagine would be something really simple. It took me a good 3 hours or so over a couple of days to get it to work. Here's what I did.&lt;/p&gt;  &lt;p&gt;Part of the problem, it seems, is LAN Manager from Windows 7. Every time I'd try and mount the share from Linux, this server would give up and post an error to the event log:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The server was unable to allocate from the system nonpaged pool because the server reached the configured limit for nonpaged pool allocations.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Yeah, that makes a lot of sense on a machine with 8GB of RAM. Plus, there's no hint on how to, you know, &lt;em&gt;increase&lt;/em&gt; this configured limit. Back to this later.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/AccesstoWindowssharesfromLinux_F606/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Event in event viewer" border="0" alt="Event in event viewer" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/AccesstoWindowssharesfromLinux_F606/image_thumb.png" width="640" height="133" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On the Linux side, I started off using the GNOME UI from the desktop to connect to the Windows shares. I'd see the icon for Windows Network, double-click and see the workgroup I use at home. Double click on this, and I'll see the computers. Double click on that and nothing, zip, nada, zilch. No list of shares.&lt;/p&gt;  &lt;p&gt;OK, it was time for some command line stuff. First I started up a terminal, and then switched to superuser:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;code&gt;su&lt;/code&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I then had to type the password, of course. I did some searching&amp;#160; and found the command online to list the shares using the &lt;code&gt;smbclient&lt;/code&gt; tool.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;code&gt;smbclient -L //nameofwindowspc&lt;/code&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Nothing. More searching and I found a hint that I had to create a user on my Windows machine that matched my Linux login. Did that, and finally was able to get a list of shares from the tool (still nothing from the UI, by the way).&lt;/p&gt;  &lt;p&gt;Onto the next command, to mount a share (I'd flipped over to Windows, and made sure I added my linux user to the share).&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;code&gt;mount -t cifs -o username=xxx,password=yyy //nameofwindowspc/nameofshare ./windows&lt;/code&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The xxx/yyy stuff is obviously my login details for Linux. The final parameter there is a mount point: you must create this directory first (and the way I ran things is that the superuser was logged into my user's home directory, so this mount point was in that same home directory). Failure: the mount failed with an out-of-memory error (error 12). &lt;/p&gt;  &lt;p&gt;Ah ha! The same error — in a very hand-wavy way — as on the Windows side. Time for more searching.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 0px 20px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://blog.boyet.com/blog/files/media/image/WindowsLiveWriter/AccesstoWindowssharesfromLinux_F606/image_5.png" width="350" height="66" /&gt; I found another hint: Windows 7 (and Vista for that matter) comes with an SMB2 server. Apparently this is the problem, and you must stop it from running. Time for regedit: create a new DWORD value called &lt;code&gt;SMB2&lt;/code&gt; in &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters&lt;/code&gt;, and set it to 0 (the default). This will turn off the SMB2 server and run the SMB1 server instead. Reboot.&lt;/p&gt;  &lt;p&gt;After I did this, the mount command worked successfully. I was able to access the files and folders in the share by navigating to the mount point, even on the GNOME desktop (although the desktop seems to think the share is a &amp;quot;Picture CD&amp;quot; for some reason).&lt;/p&gt;  &lt;p&gt;And, then, it was back to investigating Mono: the share had a bunch of ASP.NET applications in it and I was able to start &amp;quot;playing&amp;quot; around.&lt;/p&gt;  &lt;div&gt;   &lt;p&gt;Now playing:      &lt;br /&gt;Duran Duran - &lt;strong&gt;UMF&lt;/strong&gt;       &lt;br /&gt;(from &lt;em&gt;Duran Duran [The Wedding Album]&lt;/em&gt;) &lt;/p&gt;    &lt;br clear="all" /&gt;&lt;/div&gt;</description><author>Algorithms for the masses - julian m bucknall &lt;julianb@boyet.com&gt;</author></item></channel></rss>
