Check it out:
The good news is that my “broadband” connection is capable, apparently, of downloading two and half times faster than my old model was — although it certainly doesn’t feel like that with all the timeouts. The bad news is, is can only upload one fifth as fast. It took me more than a dozen attempts to upload the screenshot above, because my browser kept timing out.
This is because “Your peak-time monthly usage has exceeded 30GB” according to an email from PlusNet. Which happens when you work from home, when your whole job is Internet-dependent, and when all five members of your family use the Internet all the time. Plusnet say “Remember that your usage outside of peak-times doesn’t count towards your allowance”, but (A) who watches the BBC iPlayer with their family outside of 4pm-midnight? And (B) in my experience it’s just not true anyway: my usage meter keeps on racking up.
“But Mike, why don’t you upgrade to a bigger plan?” Because the one I’m on is the biggest Plusnet offer that has a static IP address — which I need for work. Upgrade to more bandwidth, lose the static IP.
“But Mike, why don’t you leave Plusnet and go to a sensible ISP?” Har har har. I have tried: it’s another lobster-pot, just like Network Solutions. (Details to follow in another post when I’ve calmed down a bit.)
It’s 2012. The whole idea of metering network use is stupid.
I will leave Plusnet, however difficult they make it.
Today is a big day for the Internet. Nearly everyone reading this site will be aware of the Stop Online Piracy Act (SOPA) and the Protect IP Act (PIPA), two appallingly ill-conceived pieces of legislation under consideration in the US but with profound ramifications for the whole world. Written at the behest of big copyright holders by people with no understanding of how the Internet works either mechanically or culturally, they would be absolutely disastrous if passed.
In response to this, many high-profile web-sites are demonstrating the results such laws would have by going dark for the day. They include Reddit and, most importantly, Wikipedia. (Also, the entire Cheezburger network and many, many others.) We can only hope that this distributed demonstration results not just in SOPA and PIPA being rejected, but in an emphatic smackdown that makes it impossible for similarly dumb legislation to get mind-space in the future.
But there is another threat also making its way through the US Congress — less publicised but also hugely important.
Posted in Everything, Frustration, Me singing folk songs, Not my favourite, Politics, Publishing, Sheer, mind-bending stupidity, Shiny digital future, The Real World, Train wrecks
[This article concludes what's turned out to be a three-part series. You may wish to read part 1 and part 2 before this one.]
I only meant to write two articles on the difficulty of representing a journal article reference in a standard XML format. But an epilogue is warranted because, well, surely there has to be a standard way to do this.
Well, let’s step back a bit from the detail of XML representation. Let’s just look at cataloguing rules.
[This is part two in a series -- you should read part 1 first for context and then you might go on to part 3.]
The Dublin Core — metadata made dumb
Just when librarians were in despair of ever getting their data out to the world in a form it could understand, along came the Dublin Core (DC for short) — a simple set of fifteen metadata elements (contributor, coverage, creator, date, description, format, identifier, language, publisher, relation, rights, source, subject, title, and type) that could be used to describe “document-like objects” such as books, journal articles and web pages.
Everyone in the library world got really excited about the Dublin Core for about three weeks in 1999, before realising that you can’t actually do anything with those elements beyond expressing author (called “creator“), title and date. Everything else was too vague to be of any use — coverage, anyone? Relation? Format?
You will remember that I recently described Amazon.com’s refusal to sell me MP3 files as the stupidest thing in the world. Because of that refusal, and because there was an album of medieval music that my wife really, really wanted, I used some of my store credit to buy a physical CD and have it shipped across the Atlantic.
And so Amazon.com sent me this message in response:
Thanks for sticking with it. You will recall that the third stupidest thing in the world is DVD region encoding, and the second place is held by the wildly differing submission formats of academic journals. But the stupidest of all is:
Amazon.com will not sell MP3s to me in England.
If DVD region locking is the third stupidest thing in the world, then the second stupidest thing is …
The wildly differing submission formats of academic journals.
The third stupidest thing in the world is …
DVD region encoding.
The recent series of Why XYZ Is Not My Favourite Programming Language articles has been fun to do, and it’s been great to see the discussion in the comments (even if it’s mostly people people saying that I am talking a load of fetid dingo’s kidneys). But I don’t want to extend that series beyond the point of diminishing returns, and it’s time to think about what it all means. As duwanis commented on the Ruby article, “I’m a bit lost as to the point of these posts”; now I want to try to figure out just what, if anything, I was getting at.
Java has four different “kinds” of types. Up until Tiger, it had these three:
- Primitive types: longs, shorts, booleans, ints, outs, whatever. They map more or less to machine types.
- Classes, which are the primary mechanism for extending the language.
- Arrays, which are this weird hybrid type that was introduced to make it easy to port C and C++ code to Java. But you can’t make arrays immutable, and you can’t subclass them, and there’s only modest syntactic support for them, and reflecting on them is painful.
The problem, of course, with having different types of types is that all of the code you write, now and forever, has to be prepared to deal with each type-type differently. So you get interfaces like this lovely one. Scroll down to the Method Summary, and looky looky, there are 76 actual methods in the class, but only 10 distinct pieces of functionality.
Just to make things worse, Java 5 added a new kind of type, called an enum. They’re sort of like C enumerations, but they can also have methods. Which makes them sort of like Java classes, but you can’t instantiate them, and you can’t have one enum type inherit from another enum type, so you can’t have polymorphic methods, nor can you declare an enumeration heirarchy. So they’re not really like classes at all.
– Steve Yegge, The Next Big Thing (lightly edited for brevity).