Cheap auction sites…. beware

Don’t be taken in.

You may see ads around for cheap auction sites selling goods for 90% or more off the RRP. Be careful with these sites; the owners are making quite decent profits, effectively selling each item for well above cost.

Let’s take an example: This is one site (which I will leave unnamed) for which the bidding process works thus: All goods start at $0.01. Any bid increases the price by $0.01 and costs some number of “credits”, where the number of credits depends on the price of the item. For something like an iPad, each bid costs 5 credits. You can buy 1000 credits for about $90, so each credit costs $0.09; that bid for the iPad you wanted costs $0.45. (Payments for bidding credits are nonrefundable.)

Let’s say the iPad eventually sellls for $30. That’s less than 5% of the purchase price, right?

But to reach that price required 3000 bids to be placed at $0.45 each. The amount raised from the bidding price is $1350. The auctioneers get about twice the price of the new item.

Whoever wins the auction probably gets lucky. Everybody else just blew a wad on bids and received nothing. It’s basically a scam.

I was (sort of) taken in by this as the way that auctions work isn’t made clear up front. Fortunately the Commonwealth Bank declined the charge and I wound up paying via PayPal, who have an excellent disputes procedure. (Not so excellent if you’re a vendor.) I posted a request for a refund to the site a couple of days ago, so I’m about to lodge the dispute, which I expect will be granted. I’m also going to suggest to PayPal that they cut this particular vendor off…

Comments policy

In general, any posting which does not actually refer to the contents of the article to which it is replying will be tagged as spam and deleted.

I’m quite aware that this blog is pretty much untenanted. It’s not surprising that essentially all comments I see are spam. That doesn’t mean I’m going to permit comments of the “This blog is great!” variety when is self-evidently ISN”T all that great…

Gerry Anderson and Nintendo

It occurred to me last week that Nintendo (the gaming company) has a surprising link to Gerry Anderson, the TV mogul best known for his puppet series such as the Thunderbirds – although he also had a big part to play in several live-action series such as Space: 1999.

In particular, the popularity of Thunderbirds in Japan led to the naming of Nintendo’s best-known mascot.

It is thanks to Gerry Anderson, after all, that Japan is a Super Mario Nation.

If you don’t get the pun, look up Thunderbirds then hang up your geek cred for a week.

A brief lesson in economics to our unesteemed Treasurer

There is a Bachelor of Economics degree in my unhallowed past. I don’t use that material often, but it is occasionally useful in spotting nonsense,

It’s been a while since the Coalition’s first budget was released and there’s been a great deal of discussion about it. On the whole, it’s not very popular, but what’s wrong with it from a purely economics perspective?

I’ll summarise here, then go into the extended discussion.

The budget places additional burdens on the poor while costing the rich relatively little. Because poorer people spend more of their income, and tend to spend it more on local goods and services, the economy is hurt more when the poor are hurt more. Reductions in health and education can expected to be deleterious to long-term productivity. Negative consumer outlook (based both on Government rhetoric and the Budget itself) also has a negative effect on economic growth.

The Coalition’s narrative is:

  1. We’re in a debt crisis, and
  2. everybody has to bear the burden
  3. If we don’t pay the debt off now, our children will pay it off instead.
  4. Too many people are drawing from the public purse needlessly
  5. the debt crisis is all Labor’s fault, because Peter Costello is the best Treasurer Australia has ever had, and
  6. Labor spent a lot of money needlessly.

Part 1: Historical conditions and the “debt crisis”.

Firstly, the “debt crisis”. We’ve had deficits for each year since Labor initially gained power. Lest we forget, the first of those years was under the tail end of the last Coalition budget. While Labor did introduce new spending initiatives post-GFC in order to mitigate the effects of an expected recession, the cost of these was less than the actual deficit that year. In other words, had Labor done nothing to the budget, we would still have had a deficit.

However, this is not inherently a bad thing. The Howard government’s surplus years were propped up consistently by income from the mining boom. Fundamentally, during a boom, government receipts increase (due to higher tax receipts) while expenditures go down (due to lower welfare expenditures). During a recession, the scales tilt the other way. The economy follows a boom/bust cycle; at the moment, we’re probably in a slight recession, compared to the natural year-to-year average growth of the economy.

The underlying fault with the Federal budget at present is that the Howard government acted as if any surplus was a good surplus. In fact, during peak year, the surplus should be very high, in the same sort of territory where the deficit is now. What actually happened was that the government cut taxes – particularly at the high end – producing a long-term reduction in tax receipts, particularly affecting one of the areas most sensitive to boom/bust cycles. The “correct” response was either to put the money in the national kitty – as was done, to a limited extent, with the Australia fund – or to spend on infrastructure, to give a long-term boost to the economy.

As a result, when the economy dropped into conditions bordering a recession, the position of the Budget dropped to the “neutral” point determined by the modified position on spending and income. This was a fairly hefty deficit.

The Labor government’s response to the GFC was various types of spending in order to prop the economy up. While the degree to which the economy’s position was actually helped is debatable, it is certain that in the end we were one of very few countries not to get a technical recession (two subsequent periods of negative economic growth). Most of this spending was one-offs, not affecting the long-term budget balance, except for payable interest. Most economists would agree that some level of spending was necessary – even the Coalition supported the initial incentives.

This why why Swan has won international awards as an outstanding Treasurer where Costello has not.

Comparing our position with other countries shows our national debt is relatively small. We’re certainly nowhere near the territory of Greece, Italy or Spain.

We’re also trying to reduce our deficits. To be clear, there is nothing wrong with reducing the budget deficit. The problem is that the Coalition is doing so in exactly the wrong way.

There are also concerns about minor matters such as people being unable to afford food, clothing or housing. Since the Treasurer appears to be a monster with a tightly-wound watch for a soul, we’ll ignore those matters as being unlikely to affect his judgement.

Part 2: How the current budget screws up

Let’s start with some basics. Poor people, on the whole, spend more of their income and save less Richer people spend more in dollar terms, but as a proportion of their income they spend less and save more.

So if you are going to do something to affect incomes, you hit the rich, not the poor. Tax receipts are higher (more dollars per person) and the result of feedback effects is less (as the reduced income affects spending less, and the spending that is reduced is more tilted towards imports.) Taxing the rich is better for the economy than taxing the poor, broadly speaking.

What’s actually been done is that welfare spending has been dropped drastically, particularly in the form of reduced unemployment benefits to the unemployed. Education and hospital expenditures have been reduced; the medicare co-payment has been added; and of course the “Carbon tax” is being repealed in favour of a “direct action” policy that actually costs the Government money – although less than originally budgeted.

Firstly, unemployment benefits and “work for the dole”. In case you haven’t tried lately – search for a job costs money. You need decent clothing, you need to pay travel expenses, you need Internet access for access to the major job boards, and of course you need to pay to stay reasonably healthy and clean. If you turn up to a job half-starved and filthy, you probably won’t get that job. As for “work for the dole”, this amounts to a full-time job at below minimum wage, with time taken blocking opportunities to attend interviews or make phone calls to get a reasonable job in the private sector.

The long and short of it is that the unemployment benefit changes make it harder to get a job.

Overall the costs to the poor are high and costs to the rich are low (and to be phased out after three years). As such, the “burden” is primarily being borne by those least able to support it – and due to multiplier effects, the reduction will have a greater effect on the economy as a whole.

I should probably lever a mention of the PPL (Paid Parental Leave) scheme in here somewhere. I suspect that the moderate opposition to this scheme is not because people want mothers penalised for having a baby. The problem is that women on higher incomes will be paid more than those on lower incomes. It is, in essence, a baby bonus indexed to the mother’s income. It’s difficult to see this as anything but profoundly inequitable.

Second, education. The Coalition draws attention to their “deregulation” of education while carefully avoiding the mention of a 20% drop in funding. Students will need to pay much more for their degrees. However, education is to some degree a public good. You gain advantage from the educations of the people around you – a knowledgeable doctor, an informed accountant – and there are professions such as nursing that require qualification but give very little in the way of monetary reward. Poorer students are less likely to be willing to wear the increased cost. (Recall that a student is already foregoing income for several years.)

Hockey mentions that education has not been free since 1987. He doesn’t mention that the cost at that point was a $250 flat fee, which would be waived under circumstances of hardship. Larger fees were introduced a couple of years later in the form of HECS.

So reduced education spending, in the long run, results in greater income inequality and a less productive population.

Thirdly, hospital spending and the GP co-payment. There is an old saying that an ounce of prevention is worth a pound of cure. It’s better to spot an illness early when it can be more easily mitigated or prevented. A $35 GP payment (the cost to the Government) may avoid a later absence of several days, which might cost a business hundreds of dollars. It’s hard to work productively from a hospital bed. This expense can be absorbed by the doctor – but doctors are not charities. The “absorption” here is an actual cut to the doctor’s income for a consultation. I know doctors who would willingly accept such a cut for the needy; but fundamentally this is the Government forcing charity to itself. The much-mooted medical fund is another matter, addressed below.

In the meantime, hospital funding is being reduced by pushing spending to greater extent to the States. This is not an actual cut in expenditure, but a displacement to a different level of Government. Basically the States are being held to ransom, with the “victim” being the health of their citizens.

Finally, science, technology and the medical research fund.

The research fund is funded entirely by the GP co-payment. In that respect, it is not the government paying for it, but the government forcing the least healthy portions of the population to pay for it. Statistically speaking, that means it will mostly be paid for by the elderly and poor.

However, at the same time funding to the CSIRO has been cut, de-emphasising the importance of science nationally and, in the long term, costing the country in the sort of research results that can be licensed overseas. Research, even “pure” research with no end result in mind, almost always returns a net return in the long run.

The enormous cuts to anything supporting positive action on climate change have also been notable. Essentially, the current government has an ideological view on climate change and an unwillingness to listen to the science. Their approach to reducing emissions is to eliminate the carbon tax (which charges polluters for polluting) and switch to a “direct action” policy that costs money by paying polluters to pollute less – although the amount budgeted is less than originally planned. Actual effects of the carbon tax on pricing have been negligible. Most electricity pricing increases have been due to “gold plating” of electricity networks to support increased demand, even while demand has actually been falling off.

You might also want to look up how much “stopping the boats” costs the budget. It’s around half a million dollars per refugee. I wonder why Alan Jones never mentions that?

So in essence, the budget increases the burden on those whose spending patterns most support the national economy while costing little for those whose spending patterns are least supportive. Reductions in education and health spending will result in a less educated, less healthy and so less productive population. The substantial disapproval of the budget (and the Coalition’s general negativity about what is still a fairly healthy economy) is causing negative consumer outlooks, which can be expected to reduce economic growth.

Overall, we’re probably looking at a long term reduction in the strength of the national economy. The long-term cost to the economy can be expected to be much larger than the cost of extra Government debt over a few years.

The joy of spam posts

All comments on this site are moderated, which means I see all posts before they show up (and most of them I reject).

Usually they’re very generic “This article is very interesting” posts, obviously designed to fit any arbitrary article while stroking the author’s ego. Occasionally something a little more interesting shows up.

The most recent submission reads like this:

{I havе|I’ve} been {surfing|browsing} օnline more than {three|3|2|4} Һours today,
yet I never found anyy interesting article ike yours.

{It’s|It is} prettʏ worth enough for me. {In my opinion|Personally|In my vieԝ},
if alll {webmasteгs|site owners|website owոers|web оwners}
and bloggerѕ made good contеnt as you did, the {internet|net|web} will bbe {mucҺ more|a lot more} useful than ever before.|
I {couldn’t|could nߋt} {reѕist|refrainfrom} commenting.
{Vеryƴ well|Perfectly|Well|Excеptionally well} wгіtten!|
{I will|Ӏ’ll} {rіǥht away|immediately} {take hold
of|grab|clutch|grasp|seizе|snatch} your {rss|гss feed} as I {can
not|can’t} {in finding|find|to find} yօujr {email|e-mail} sսbscription
{link|hyperlinҝ} or {newsletter|e-newsletteг} sеrvice.

It goes on for a while longer along similar lines. Somebody hasn’t read their spam software manual carefully.

Another recent posting looks like this:

Developing Strategic Aims

Deference to author, some excellent entropy.

which is just bizarre. I can only think it’s been authored by somebody with no knowledge of English and a third-rate translation dictionary.

There have been others, but I’ve long since binned them. I may add some other more bizarre examples in future.

On introversion…

Something of an odd topic, I’ll admit.

I’ve recently been poking around YouTube and found a few interesting articles on introversion vs. extroversion. One clip in particular lays out the differences fairly clearly.

To summarise somewhat:

  • Introverts aren’t antisocial; they just prefer socialising with small groups (and often need to recharge with “alone time” afterwards).
  • Introverts recharge by being alone. Socialising takes effort and can be exhausting.
  • Introverts tend to be more introspective and thoughtful. Giving the right answer is important.
  • Introverts value a small number of deeper friendships over a large number of shallow ones.
  • Introverts tend to made uncomfortable by overstimulation. Loud music, noisy parties, chaotic environments will make many introverts uncomfortable. I’ll qualify this somewhat; chaos is not necessarily bad, but unfamiliar chaos is. My desk at Ebit was always very messy, but I knew where everything lived. Our network was highly complex, but this didn’t worry me as I knew it in detail. On the other hand, having new devices added without being informed always stressed me out….

I fit this category fairly well, although I developed some adaptations over the years. My main advantage has been a lack of self-consciousness, so with a certain amount of internal editing I can free-associate in conversation and do a reasonable job of appearing social.

On Sturgeon’s Law and the Retro movement

Sturgeon’s law (called by Theodore Sturgeon himself “Sturgeon’s Observation”) is that “Ninety percent of everything is crap.”

This implies that, given that overall quality levels have remained the same, as much “good” material has been produced in the last ten years as has been produced overall in the last year; and as much “good” material in the last fifty years as overall material in the last fifty years.

Humans tend to remember the high points (the “good” material, or in rare cases the exceptionally bad material) much more easily than they remember the mediocre.

Thus we have the belief that all modern games are bad, because they are compared with the best games of the last thirty years; that all modern movies are bad, because they are compared with the high points of movie making since WW2. That all books are bad, because modern bodice-rippers are compared with To Kill a Nightingale and Catch-22.

It’s not really true. We overlook the crap and think the great games are representative of their periods. We overlook the modern classics-in-the-making and elevate the titles that have been proven by time.

There’s nothing inherently wrong with a “retro” view, because the older titles really are as good or better than the new ones, but we shouldn’t overlook excellent new material when it comes along – particularly when the best of it learns lessons from the “retro” titles, giving a richer and more nuanced view overall.

What’s so great about Anime, anyway?

Somebody asked me this a while ago and I couldn’t give them an answer at the time. I’ve spent a fair bit of time thinking about it.

First, best to clarify a couple of things.

Anime is not a genre. It is a medium. Specifically, it is broadly defined as animation created in (or under close direction from) Japan, targeted at a Japanese audience. The word “anime”, as used by the Japanese, means what an English speaker would call “animation.”

Secondly, only a fool would claim that all anime is good. As with almost any genre, it follows Sturgeon’s law: 90% of everything is crap.

To summarise; the main strength of anime is that it allows a very broad variety of styles and genres, with very little restriction. The better series use a solid plot to tie together interesting characters in a novel setting. Something like Beyond the Boundary, for example, has moments both tragic and humourous. The characters develop clearly through the series and have their lighter moments, but the two main protagonists both very dark backgrounds and can hurt others entirely by accident very easily.

By comparison, something like Neon Genesis Evangelion starts as a fairly straightforward giant robot show before ending in a fairly disturbing exploration of the human psyche.

Of course it also has its “cheesecake” series that approach soft porn at times; and a genre of “cute girls doing cute things” shows that seem quite pointless in many cases. However, the flexibility of the medium means that a show is not necessarily nailed down to a single idea or trope. Sturgeon’s law again, although the opinion of where the magic remaining 10% varies considerably between fans.

What almost all anime has in common is a continuity from episode to episode that lends the chance for buildup, rather than each episode standing on its own. It shares this with the best of television drama, while allowing more creative freedom.

Where it loses out in comparison with traditional non-animated drama is that it’s much harder to communicate subtle nuance of expression with animated figures. This is balanced a little by the existence of certain types of visual shorthand for the most common expressions. Unfortunately newcomers to the genre will typically miss these and so miss out on some of the depth of the shows.

“Learning Python”: A quick review

My voyages into the Python programming language have largely been courtesy of a text called “Learning Python”, written by Mark Lutz and published by O’Reilly and Associates.

It has to be said: as a text for an experienced programmer learning Python, it’s severely lacking. For a beginning programmer, it’s probably worse.

Its main problem is that it seems to have trouble deciding what it is: a reference or a tutorial. The text is written largely in a tutorial style, going over the details of the language. However, the chapters are arranged largely as a reference, with each component of the language given a chapter or two to itself. Actual programming exercises are left to the end of the section, where each “Section” consists of the set of chapters covering a particular component of the language.

Control constructs, for example, are not introduced until well after page 300 of the eText. They’re introduced after a hundred or so pages introducing you to how Python runs programs (summary: a bytecode) and another couple of hundred introducing the fundamental types.

The net result is that you read hundreds of pages of text without writing a single line of code beyond retyping the chapter examples. I have an above-average memory, but remembering a hundred pages of text in detail without using its contents is not something I would regard as a good pattern for teaching. You learn programming by writing code, and there is precious little of that in this text.

Another minor point is that it uses as its reference version of python the 3.x stream, whereas most of the Python code and libraries available today are from the 2.x stream. As Python 3.x is not entirely compatible (in either direction!) with Python 2.x, you spend most of your time focusing on a version of Python that is just not used very much. It does actually lay down the differences between versions whenever they crop up, but the reference version is 3.x.

Altogether I can’t recommend it. As soon as I find a better text I’ll do a similar review. For now your best bet is probably

Python considered Pretty Good

One of the things I’m spending spare minutes on while looking for a job is filling in gaps in my resume with skills that employers are asking for that I’m currently lacking. The main things I’m looking at are Puppet – a widely used Configuration Management system – Python, a scripting language that’s been around for some years, and Powershell, Microsoft’s recent foray into decent scripting languages. The fact that all 3 start with “P” is an interesting but meaningless coincidence.

Puppet looks very straightforward offhand; it uses a configuration model very similar to Nagios, which I’ve been using for years. Powershell  I’ve used somewhat previously, but don’t know enough to code extensive projects. However, I’ve mainly been looking at Linux based positions so Powershell is the last of the three I’ll be concentrating on.

That leaves Python.

I’ve had the first edition of O’Reilly’s “Learning Python” decorating my bookshelf for some years without really cracking the spine. Recently I picked up the 4th edition as an ebook and have been working my way through it. The book takes a LONG time to get moving. It spends at least fifty pages telling you good reasons to learn the language and how to fire up the scripting engine. However, I’m starting to get into the meat of it now.

I have to say I’m impressed.

For some time my default scripting language has been a bastard mishmash of Bourne shell and awk. Awk can be remarkably powerful due to its associative arrays; the feature was inherited into Perl and also (as it turns out) as “dictionaries”, Python.

Python has a remarkably powerful set of basic types. In addition to the standard integer, floating point, string, boolean and so forth, it has arrays (natch), dictionaries (associative arrays, indexed by object), sets (collections of objects with no duplicates) and tuples, which are basically constant arrays that can be used as indices in dictionaries and representatives of sets. There are also a bunch of standard types in the shipped libraries to handle fractions, complex maths and fixed-point arithmetic. And others (such as files and function references).

There’s also some very nice syntactic sugar constructs that can be applied to make code powerful while still remaining fairly readable.

The very powerful core idea, however, is the extent to which Python combines the idea of types associated with objects rather than variables, and operator polymorphism.

This means that a basic function can be redefined to operate with a different class as long as the class has operations corresponding to the operators used by the class. In a language like C or Perl, if you want to pick a maximum value, your function has to be defined for each class:

int max(int var1, int var2)
    return (var1>var2) ? var1 : var2;

This needs to be defined separately for each type, so you have the same basic code for integers, floating point, and any other relevant types. Generally speaking, it also needs to be defined for each combination of types (depending on how strongly the language is typed).

In Python the type is associated with the object, so as long as you have your operators overloaded with the right types, you can simply call the function with the relevant arguments. The function looks at the object types, picks out the function or code that performs the correct comparisons, and does the job. It’s an extremely powerful approach.

In any case, I’m still working my way through the book so it will be a while before I’m fully familiar with the language. Liking it so far, however…

(The title of this article is a very indirect reference to Dijkstra’s classic letter “goto considered harmful.” It’s been quite a while since I saw an actual goto in code, although modern languages have mechanisms that do similar things in a less horrible way.)