My wife and I decided to make some completely home-made pizza last night. The closest we'd come before was store bought shells and store bought sauce.
We found a sauce recipe we liked and I made that, and we found a dough recipe that looked good and tried that.
First time in the dough was a disaster. Whether the internet sourced recipe was a dud (which is unfortunately too common. Speaking of internet recipes, many try to immortalize themselves by modifying a common recipe slightly, adding their surname on it -- e.g. Dennis' Pizza Dough -- and casting it as their own. Just an observation there), or one of the ingredients was wrong, a mess emerged from the bread maker's dough cycle.
It was getting late (remember that the dough cycle takes 1 hour 45 minutes), and the easy option would have been to run to the store and buy a premade shell, but inevitably that would have meant that we would have soured ourselves on home-made dough. So instead we gave the kids something different for dinner, found another recipe, and tried again. This time the results were much better, and now we can modify the recipe to make exactly, precisely the dough we want. Wonderful. I can't wait to try all of the possibilities (and we'll probably make it tonight as well. I'd love to try a calzone as well)
We got back on the horse after it kicked us off.
The same thing happened when we tried making Nanaimo bars. Time after time the chocolate/egg mixtures started terribly clumping into a disastrous mess, but we kept trying. Eventually we got the right speed and temperature, and made some amazing little treats, opening up lots of options for us in that realm as well.
If your email address is guessable, or if you've ever made it public in any way, you're painfully aware of the massive uptick in pump & dump stock spams over the past couple of months (seemingly growing in quantity by the day).
I'm now receiving about 150 P&D spams in my inbox per day, added to the hundred or so spams trying to sell goods or services. And for those who will ponder, no I don't obfuscate my email address, and I have shared it publicly, however that should no more invite spam than an un-niqab'd woman invites rape.
Despite two heterogeneous layers of spam defense -- an email server spam detection system, and the spam defense in Outlook 2003 -- several dozen make it through to my inbox daily, as the spammers have adapted to bayesian filtering and are using new techniques to circumvent the filters (and I can hardly use a whitelist given that many of the people who contact me are legitimate new contacts who I haven't emailed before).
Spam relay blacklists no longer help much because the majority of spam is coming from mom and pops, their high-speed equipped home PC nefariously and unknowingly acting as a part of a massive worldwide botnet, relaying the latest pump&dump target emails by the billions from points across the globe.
Not only are legitimate emails getting shrouded in the haze of spam, the computational and bandwidth requirements to move all of this garbage -- especially now that spammers are resorting to embedded images -- is enormous. Extrapolate it out, things are looking very grim.
And what an ingenious target for spam, really: Spam to sell a product and inevitably people can track you down, because somehow there has to be a method of getting money to the spammer (or the person who paid the spammer). Spam to boost some irrelevant penny stock, however, and no such direct connection needs to exist, and the monetary path is masked by the cloud of the world capital markets (which makes me wonder if money laundering occurs through the same penny stocks. It isn't hard to envision scenarios where the market could be gamed, particularly among low-end unnoticed stocks, to elicit a loss on one end and a profit on the other).
Of course, the P&D scam isn't new: Buy some penny/low-capitalization stock (where a small amount of activity has a significant market effect). Talk it up as much as possible. Sell to a late comer. Laugh all the way to the bank. It really is a classic pyramid scheme, because once the flow of new suckers stops, the crash occurs. Sort of sounds like the .COM stocks in 2001.
This technique has gone on in usenet newsgroups, or forums, and even by industry heavyweights who give credence to a stock they want to inflate and dump. Doing it through thousands (millions?) of compromised PCs, however, is new.
And the common analysis that I've seen of P&D completely misses the point in my opinion: I don't think the spammers truly think they're going to fool people into thinking these are great investments, but rather they're trying to fool people into thinking that they're fooling other people into thinking these are great investments. They're trying to entice Joe Clever into thinking "Ah...now they're pushing XYZ, and surely a bunch of suckers are going to buy into this nonsense...so I'm going to put $1000 in just to capitalize on those later suckers!" Of course everyone is thinking the same thing, until eventually it collapses on itself and the latecomers end up at an empty table when the waiter arrives with a hefty bill. Alternately it's commissioned work on behalf of insiders who want to cash out some holdings during an upswing, but I find the scenario of completely uninvolved 3rd parties more believable (again because the whole P&D scheme is founded around anonymity and disconnectedness)
It's a monetary game of chicken.
So without much further ado, let me present to you the current target of the game of financial chicken (if only I'd have listened to the wise words of P&D spam! I'd be rich I tell ya!). Since early this week I've been getting a ridiculous number of spams pushing SBNS.PK. Here's how it looks in the 5 day graph (this is up to date, so if you're looking at this entry in the future, it will not make much sense as the spammers will have moved on, the stock likely crashed). It looks like this pyramid is about to fall.
Given that the original spammer almost certainly bought in before starting their pump campaign, this represents a massive potential profit, so expect this to finance the massive next wave of stock spams, and R&D in evading spam filters.
UPDATE: It looks like the P&D target for the following week or two is SRRL.OB, another low-to-no volume bottom feeder. Notice the stocking up that took place in the latter half of the day, could it be the spam-master loading up before the run?
<>
NOTE: If you run an email server, before you bounce a castigating "SPAM FROM YOUR DOMAIN HAS BEEN REJECTED!!!!!" email, check if the domain has an SPF record. If it does, and the spam that claims to be from said domain doesn't come from an approved IP, save the reply. Along with the hundreds of spams a day, I'm also getting assaulted by a hundred or so message bounces/rejections per day because spammers are forging "@yafla.com". Don't pollute the net even more with illegitimate bounces, making the problem even worse.
We -- specifically the humans among us -- are a very uncreative bunch.
While we excel at refining existing ideas and solutions, we're extraordinarily poor at creative, original thought.
And I'm not just talking about business, scientific or engineering creativity: Even in the realm of the creative arts (writing, art, music), many practitioners are simply absorbing (being "inspired by") what others are doing and then making it their own.
In a way we're all unintentional, subconscious plagiarists, and while we often don't even realize it, many of our "original" ideas are nothing more than refinements (or degradations) of those that we've come across elsewhere at some point in our time on this Earth.
Other times it's completely accidental.
Many of the great inventions in science, mathematics, medicine, and healthcare, for instance, weren't scientifically pursued with an engineering discipline, but were rather accidental discoveries (usually stumbled upon while searching for a slightly better way of building a different mousetrap).
And sometimes confused communications yields innovation.
Many of my best ideas weren't the result of quiet time in deep contemplation -- in fact I've found intentional, focused thought to be terribly unproductive -- but rather were the wonderful benefit of the bad habit of not paying complete attention to presentations or media.
Quite a few times I've glanced over an article or casually listened to a presentation while distracted; drawing inferences and conclusions based upon what I think is being presented to me. As my mind casts it into a workable solution, I've often found that what I visualized bears little correlation with what was actually described. A few inputs, and the presumption that it's a logical solution, fooled my brain into creating new solutions out of nowhere, in a way that I could never have done otherwise.
This, I suppose, is the foundation for brainstorming sessions. It's the reason why it's often productive to randomize all sorts of product or business ideas and them merge them into seemingly bizarre combinations (I created this "How Will You Get Rich?" tool as a joke, but was surprized to find me actually stopping on some of the supposedly joke suggestions, imaginary scenarios where they would work).
How do you
innovate? How do you engage the lateral thinking part of your
brain, thinking up creative and novel solutions to
problems?
While I've used Linux for years in the virtual machine space, primarily as a "native" location for many of the UNIX-style command line tools (even if I'm using them against an SMB share on the network, they're still extremely helpful), it has never been a primary operating system on any of my PCs outside of novelty "let's see what stage they're at" usage. Where I did use a Unix variant, it was always FreeBSD.
I've decided to give it another go, this time in an "Internet Appliance" of sorts.
This opportunity arose when a hard drive in an old eMachines Athlon 2400+ 512MB WXGA laptop I had kicking around died. It was running warmer and warmer until finally it stopped running altogether. Now it's just lounging on a park bench.
Given that the laptop saw
limited use -- mostly for my daughter to play PeepAndTheBigWideWorld
games online -- this didn't cause too many tears, and it gives me
an opportunity to pursue the internet
appliance desire (perhaps in the kitchen. Something that is
zero maintenance or security worry, hopefully low power, and that
allows for rich web browsing for the family and guests) that I've
been thinking about for some time. What I'm considering is running
the laptop diskless (meaning no hard drive or floppy drive, though
there will be an optical drive -- unfortunately this particular
laptop - an M5312 - can't boot off of the USB key, though I'm
keeping my eye out for possible bios options. Note that I do
not want a hard drive, so I'm not looking for replacement
options for it. This is a fun effort, and as I already have another
working modern laptop, I just think a diskless device, minus the
noise, heat and power consumption of the hard drive, would be
pretty cool).
After some futile efforts with Knoppix, my initiatives thwarted by the fact that it refused to work with the Broadcom wireless (either with the native driver or with the ndiswrapper driver), I switched over to Ubuntu's "LiveCD" desktop version and it works amazingly (though the wireless worked much better with ndiswrapper and the Windows Broadcom bcm43xx driver). With little hassle the machine is booted from the CD, the wireless is operating (with WPA and everything), Firefox is updated with Shockwave and various updates, and it's brilliantly usable with complete mobility throughout the home, low power, low noise, and limited heat. I could duct-tape it to a wall if I wanted to.
The only problem is that it's a temporal state, and once I shut down (or there's a power outage), I need to start from the delta of the CD image once again. The latest release of Ubuntu does have a rather sketchy persistent option where, with a bootup option (which is lame), it basically loads everything from the CD, overlays the contents of a USB key image, so you're still starting from the base and then consuming some of the ghost filesystem with the delta. This is on top of the fact that the persistent functionality uses the USB key almost like a R/W filesystem, purportedly constantly writing changes, which would lead to a very short key lifespan. Also I really don't want to save continually changing state, but rather want to choose a perfectly configured point and solidfy it, with each reboot starting exactly there.
What I'd really like to do is to configure the machine and somehow persist that onto a new boot CD, such that the starting state is exactly what I want (realizing that in the future, I may need to make newly updated CDs). Indeed, it is possible to make your own Ubuntu bootup CDs, and I've successfully done so to some success. However I need to get the changes from this live, no-persistent storage laptop onto the image for burning onto CD (many of the configuration steps are making changes unknown to me, so I can't just modify a couple of /etc .conf files). So I've got a Ubuntu virtual session running*, and I've extracted the boot-image filesystem, but it's the process of getting the laptop image over to the image for burning that I'm unsure of. I've tried rsync to dismal failure.
If anyone has any ideas, I'd greatly welcome them. The laptop has a 1GB USB key which it can access, and working wired and wireless connectivity. On the other end is a Ubuntu session with plenty of RAM and storage, ready with a decompressed image to be prepared for burning into the ultimate, personalized LiveCD.
* - the process described to make a custom Ubuntu boot CD -- such as creating a filesystem within a file, and then copying over from the compressed filesystem, completely borked VirtualPC...multiple times. Not to mention that performance in general was atrocious. I then tried under VMWare Server (the free product) and it worked absolutely perfectly, and the performance was enormously faster.
Normally I'm a fan of VirtualPC, but from here on in I'll be doing all Linux work under VMware.
I'm a big fan of fall fairs.

The greasy food. The animal displays. The cute baby contests. The best-of-category vegetable competitions. The tractor pulls. How couldn't you love a good agricultural society fall fair?

And it isn't like I wallow in, imagining myself a know-it-all seen-it-all urbanite, taking a chance to get a chuckle at the rural folk. In actuality I often marvel at how ideal and livable many of these small towns are.
Lucky for me and the family then that Ontario has a rich calendar of fall fairs occurring over the coming weeks.
Which brings me to websites - we entirely choose which fall fairs to attend each season based upon their websites (linked from entries in that directory). It gives us comfort that we're not going to drive an hour to find a shack with a couple of pigs running free, and of course with dozens of fairs occurring (and a high degree of mobility allowing us a wide range of possibilities) we want to pick the most interesting one each weekend. While I doubt that all that many of their visitors are provincial tourists browing the OAAS website, it does seem to be a good idea to spend just a little time on the website.
Which brings me to this fair. Contained on a largely useless website (no offense intended to the author -- I doubt it was their highest priority) is the notice that they couldn't post the prize list because of lack of resources. They follow it up with a petition for volunteers.
Really, how tiny must a community be that there isn't anyone will to scan a print out, or better yet type it in? Doesn't this town have a single eager-to-look like a hacker 11 year olds (or 40 year olds for that matter. Or 70 year olds)? How is it even possible that they can't find resources for this?
In any case, it's clear that the fall fair industry is desperately in need of a good content management system. I'm surprized that the OAAS doesn't offer them a half decent shell to advertise their event ("Please check off each event your fair contains - baby beauty contest [ ] apple bobbing [ ]"...).
While Benford's law (a.k.a. the first-digit law) is old hat for those in the mathematics posse, and has long been demystified, it's seeing increasingly frequent references in the online world: From blog subscriber counts, to advice for tax cheats ("make sure to distribute those numbers appropriately!"), to claims that it's a magic technique for detecting real or fake sequences of dice rolls (dubious) -- it's being portrayed as an infalliable method of numerical omniscience, applicable anywhere that sets of numbers can be found.
There's a lot of truth out there, but there's also a lot of mistruth. So after seeing yet another incorrect application of Benford's law (where again it was presumed to magically apply to all number sets), I thought it worth throwing a quick entry together, adding in a little scripting goodness to demonstrate the point (the scripted section may not work in some aggregators and readers). This doesn't really relate to the normal subject matter of this blog, but hopefully it's interesting to people regardless.
I should add the warning that I am not a mathematician, and my interest in this subject came only as a passing interest several years back. It was then that I caught a television program featuring a pundit describing a technique he was advocating to catch fraudulent tax returns. By analyzing the distribution of leading digits on tax return rows, he claimed, they could accurately predict where numbers were artifically generated, and conversely where they were real.
The argument that he was proposing, and the cursory information I then found about this law, struck me as remarkably unintuitive (at the time, though now it seems embarrassingly obvious), so I spent a little time thinking about how this sort of numeric distribution comes about.

What I learned then was that the "law" predicts that approximately 1/3 of numbers in certain sets of data -- in particular those with a logarithmic distribution (this will be discussed later) -- begin with the number 1, with decreasing frequency for each remaining digit (e.g. numbers beginning with a "9" occur in only 4.6% of numeric sets conforming with the law. Of course this is all in regards to base-10 numbers).
Purportedly the first known inklings of the law were described when Simon Newcomb, a Nova Scotian astronomer, noticed that certain pages of a logarithm book had far more wear than other pages, indicating that certain values appeared with more prevalence.
The reason for the unevent lookup wear became evident on further analysis: If one were to accumulate a vast reservoir of data on the populations of cities, the prices of menu items, and so on, the eerie presence of Benford's law would become evident, seemingly against common wisdom. Where one would expect numbers to cover the spectrum, instead the leading digit distribution predictions held true.
The following is a demonstration of Benford's Law materialized, with zero magic or alien intervention. Simply choose the settings (the defaults should be fine) and then click on "Initialize Random Set". This will give you a set of randomly distributed numbers between 0 and the max random number chosen. The table will display the prevalence of leading digits.
Thus far the numbers should be randomly distributed, risking a ticket from a Benford's law enforcement officer. Of course random or linearly distributed numbers aren't expected to conform to Benford's law, so that's entirely expected.
Now click on the "Inflation / Deflation!" button, which will randomly scale each value in the set to anywhere from 25% to 225% of its original value on each press.
Almost immediately the distribution will start to mirror Benford's Law. At most you might require two or three iterations until it accurately comforms.
Try it with a random starting max of 5 (thereby making the initial set only possibly contain the starting digits from 1-5) and then start scaling. Does Benford's Law appear?
| Leading Digit | Count | Proportion |
|---|---|---|
| 1 |
|
|
| 2 |
|
|
| 3 |
|
|
| 4 |
|
|
| 5 |
|
|
| 6 |
|
|
| 7 |
|
|
| 8 |
|
|
| 9 |
|
The explanation is simple and obvious once described: To go from 1 to 2, a number has to appreciate by 100%, whereas to go from 2 to 3 it would only have to appreciate by 50%. To go from 3 to 4 requires only a 33% increase.
This might seem irrelevant, as from a purely additive sense each increase is the same +1 linear increase, however in a logarithmic distribution (e.g. funding that increases or decreases 15% a year), increases and decreases are proportionate with the underlying value.
The same friction-of-appreciation also holds true going from 10 to 20, or 100 to 200, or 100000 to 200000, each representing a much more significant proportionate increase than the following 20 to 30 or 200 to 300 or 200000 to 300000.
For this particular sample, this materializes as random proportionate deltas have a higher probability of "skipping" the higher leading digits, while sticking to the lower leading digits. If an existing value is 50, for instance, and it's going to randomly increase anywhere from 0 to 200%, that yields a 50% probability that the resulting value will have a leading digit of 1.
Think of the population increase or decrease of a city -- it generally scales with the city. A large city might grow or shrink by 50,000 people year over year, albeit representing only a small percentage of the total population, while a small city might increase by 500 people. Yet as a percentage of population change they might be the same.
Similarly, an item at $10.00 will have to see a lot of inflation until it costs $20, but then it's a short ride to $30, and an even shorter hop to $40 -- proportionately speaking, of course.
And units of measure don't actually matter. After Benford's Law has appeared in the set, click on the Multiply Set button - this will multiply every set member by 3.75X (a completely arbitrary value)...yet the pattern remains.
Hopefully this has delivered a bit of food for thought about the applicability (or inapplicability) of Benford's law. It generally only fits larger sets of logarithmically distributed values, although that happens to be what many of the values in society, and in nature, are.
Some time back I wrote a brief entry regarding the adoption of products. In it, I made the blaringly obvious observation that many products that seem to be revolutionary, and that have taken the market by storm, really just made existing products or technologies slightly easier to use, or slightly more useful (as amazing and technologically remarkable an iPod is, for most users it's functionally equivalent to a 1980 Walkman).
It's a better mousetrap model that has driven business, and consumerism, for decades.
In reverse, making something a little less convenient, and a little less accessible, works effectively at avoiding undesired behaviour in a target audience.
Anti-piracy efforts, for instance, have never been pursued with expectations of absolute success, and it really hasn't broken their model when someone sits in IRC #warez channels all day, and then puts their PC at risk of spyware/trojans/viruses with cracks and serial gens. It's the other 99% of the population that's the target of low-barrier anti-piracy technologies. Those are the people who would rather just pay $49.95 at the computer store than waste the time or take the risks.
Authorization, serial numbers, machine keying -- all of these are intended to make it just a little more of a hassle to use unauthorized copies, decreasing the casual piracy of normal people. Of course sometimes it backfires, and the anti-piracy techniques are more of a pain than the alternative, but that's another story.
Manipulating "ease of use" can work for self-control as well. A common bit of wisdom for those looking to pursue healthy eating is "avoid it once at the store, or avoid it countless times at home" -- If you can stop yourself from buying a bag of cookies or box of ding dongs at the grocery store, the adage goes, that one exercise of self-control will save from having to use restraint countless times as said treats sit on your shelf, begging to be consumed. Sure, you could just hop in your car and go buy a box of ding dongs when the munchies hit, but for many people the desire is low enough that it isn't worth the trouble, and you either go without or choose something healthier.
This sort of "front-end self control" came to mind today as I analyzed the things that work, and the things that don't, in my weekly online adventures: Being in software development of course means consuming the news and information in the industry, and conversing (and hopefully debating) with informed, interesting people who have an enlightened point of view. The hope is to consume valuable, worthwhile information, and to engage in conversations that leave me feeling a little more knowledgeable.
On my web adventures, the things that work are those that move me towards goals, help my understanding of industry technologies and trends, or even just entertain me (all work is a recipe for trouble, and a funny YouTube video or The Onion article every now and then is very beneficial for productivity).
The things that don't are basically everything else, which is a set usually comprised of sites that I visit almost reflexively: Sites that once had merit for me personally, but no longer do (perhaps "we've grown apart", and they're at a technology level or scope that I'm not really interested in at this point, or perhaps their content has gone from quality to garbage), but I still find them sitting in my bookmarks listing, usually with shortcut keys.
I habitually find myself typing their URL without even really thinking about it. I'm human, and thus a creature of habit. Once there I'm invariably sucked into unfulfilling content, or annoying, unfulfilling debates.
Yet, while these sites have limited utility for me now, their "ease of use" is extraordinarily high simply as a function of acclimation and habit.
So, much like avoiding the bag of cookies at the grocery store, I've enacted some simple controls to make it just a little more of a hassle to visit them.
Of course there are many ways that I can circumvent this, most directly by just turning off the self-imposed "restrictions", but that's missing the point - that's like hopping in my car and driving to the grocery store because I feel like a cookie. It isn't going to happen simply because the functionality provided is far too low to offset the nuisance of getting there.