As part of my duties at SitePoint, I’m implementing a Google Custom Search Engine (Business Edition).
One of the neat features of Google’s CSE is Refinements. You can tag portions of your site — subdirectories, subdomains, or even separate sites that you’ve added to your engine — with labels. You can then create refinements that will either boost results from these tagged regions of your site, list only results from specified tags, or exclude certain tags altogether from the result set.
Unfortunately the means of using these programmatically are not so well documented — the API documentation doesn’t specify how to include or exclude certain labels (as far as I’ve been able to determine).
So! For the record, the solution is to use the strings ‘more:<label>’ and ‘less:<label>’ in your query string.
Over the past few weeks, I’ve been working on some iPhone game development. For a long time I’ve wanted to get back into game dev (long abandoned after University as something that I didn’t have time for) — the iPhone is proving to be a fun platform to work with.
So here is a brief treatment of my first project, which for the moment goes by the moniker DotSlashPong. It’s in (working, but early) prototype at the moment, but I’ll tell you more about it as development continues — and provide a few screenshots in about a months’ time!
Pong is an ancient videogame classic. The original game featured a few simple elements — two paddles, a ball bouncing between them. The object of the game was to bounce the ball off your paddle in such a way that your opponent failed to subsequently hit it. If the ball goes off your side of the screen, your opponent scores a point.
Simple. Laughably primitive by today’s standards.
DotSlashPong takes that gameplay and tears its face off. The basic gameplay is the same, albeit sped up somewhat to cater for the faster twitchin’ reflexes of today’s gamer on the go. The paddle is controlled by subtle twisting of the iPhone, using the accelerometers to convert that twisting motion into movement of the paddle. We add a liberal sprinkling of power-ups, some extremely shiny neon graphics, a theme, a subtle whiff of a metagame, and occasional complete breakdown of the expected Pong metaphor.
Then we toss that on the iPhone, liberally apply multiplayer and network connectivity in some unexpected ways, and see what we get.
Tonight’s coverage of the internet censorship debate on Insight (and the subsequent chat, which was … intense — I got quite a few comments in, and responded to by the guests!) featured a lot of the pro-clean-feed side arguing that being against the blacklist, or in support of free speech, is to be in support of criminal behaviour. (You can review the chat here)
I/we are directly opposed to the proposed internet censorship for a variety of reasons:
We hold that people should be able to make their own choices, within the framework of the law…
… but Government mandated censorship should never be a part of the framework of the law
We understand that you are innocent of any crime, until proven guilty in a court of law
The ability to speak freely, do research and come to a conclusion are an inarguable necessity of any democracy — no matter the subject, no matter how odious, there are legitimate purposes for not restricting access to most (if not all) content (how do researchers at the ANU, hypothetically, study the prevalence of illegal material if they cannot access it?)
The proposed clean feed does not block the most common routes taken by criminals for distributing their reprehensible materials (p2p sharing, private non-web filesharing sites, email, etc.)
The proposed clean feed CANNOT block all methods of access, because the world has encryption; it will always be possible to distribute information freely (regardless of the legality of that material)
Experience in Denmark, Finland, South Korea and Thailand has shown that while filtering systems may initially be intended to stop illegal material, they are soon used to stop legal material too
The leak of the ACMA Blacklist has shown that Australian authorities are not up to the task of administering and maintaining the blacklist, which contained several erroneous entries (and therefore blocked legal material).
A government is just a group of people, as fallible as any other. We do not trust them to make the decisions about what we can/can’t view on the Internet on a day to day basis, using taxpayer dollars; as citizens, we believe we have the right to self-inform and self-educate.
A project I’m working on had things that needed to be printed. Initially, I used FPDF to generate and output a PDF document, which was reasonably pretty and very printable.
Somewhere along the way, I lost my mind and re-implemented these as HTML documents. I don’t know what came over me. There was a reason for it at the time. HTML documents are a pain in the backside to print, most of the time — browsers usually feel obligated to stick headers and footers on them with URLs and dates, and in Firefox at least, these are a pain to turn off.
So, the call was made to turn them back to PDFs. For most of them this wasn’t too hard, or they hadn’t been implemented in the first place and needed to be created from scratch in FPDF. One of them was a bit ornate, and had been a PDF before — what a pain, to have wasted all that effort!
Oh-hoh! But I use subversion. My effort was not wasted. Revert to revision 190, code recovered. Bam! I love you, Subversion.
If you’re the technological software developer type, you might be wondering now why I’m not using git or bazaar or the like — one of the new distributed RCS tools. Quite honestly, they’re overkill for me — I have at most 2–3 other people working on my projects, they’re not open source projects that the world will see, so there’s really no point to setting up a new RCS when Subversion does the trick.
The rest of you are already smiling and nodding at the crazy computer-man. :D
“Support for the Government’s plan to censor the internet has hit rock bottom, with even some children’s welfare groups now saying that that the mandatory filters, aimed squarely at protecting kids, are ineffective and a waste of money.”
When the people whose job it is to think of the children are telling you that your plan to save the children is wrong and stupid, it’s seriously time to give it up.
There really does come a point, when you’re trying to put a site together, at which all the fussing and prodding you’re doing to CSS becomes irritating beyond belief. You get it working in one browser, only to discover that another implements the box model slightly differently or doesn’t quite like to float things the way the standard says.
It’s disheartening that the web has become such a big part of our lives, and we still can’t get the layout of things right. Joel Spolsky explains why it’s such a problem, sort of, in his article Martian Headsets.
Spolsky argues that there’s no ‘standard implementation’ for web developers to test against, and that specs are really hard to read (no argument there). I think he’s got the problem around the wrong way though; the problem isn’t web devs testing against a standard implementation, the problem is browsers handling the standards incorrectly — and we do have a reference implementation for browser developers to work against! The ACID2 tests from the Web Standards Project.
However you look at it, sometimes it’s just easier to give up and use tables. Even if it is a dirty, dirty thing to do.
All this stressing about what people are seeing on the Internet though, that’s a symptom of something deeper, and far more insidious.
A bit of a recap, for those who missed the issue: the government wants to set up a filter on all inbound and outbound internet connections in the country (essentially). This would prevent access to material deemed illegal by anyone, and optionally, prevent access to material deemed ‘objectionable’ (unless you opt out of that filtering list). So no more access to the Anarchist’s Cookbook for us.
Unfortunately, what constitutes ‘objectionable’ material has yet to be readily explained, so we’re not exactly sure what else we’ll lose access to, either.
Senator Conroy’s own website has a choice quote:
“The internet is a wonderful tool that is delivering benefits to increasing numbers of Australian families but the Government wants to find ways to make it safer, particularly for children. This report will assist the Government to deliver on its election commitment to create a safer online environment,” Senator Conroy said.
It’s that tired old “won’t somebody think of the children!?” line. The Internet does make it easier for everyone to access information of all sorts, it’s true, and some of that information could be called ‘undesirable’, at best. I certainly can’t argue that young and developing minds should be shielded from some material, or at least guided through any interaction with it by someone of sound mind and good sense.
However — that’s the responsibility of parents and families, not the state. The Internet does not fly into living rooms by magic; data of an undesirable nature must be actively sought out. Gone are the days of porn pop-ups on major sites and search results that contain links to smut — you have to go looking for the bad stuff.
There are consenting adults in Australia who like smut. My generation particularly seem quite comfortable with the idea of pornography (ethical issues aside, that’s a discussion for another day). We are voting, tax-paying adults, many of us of sound mind and good sense. If we say we want smut, then by crikey, smut we shall have.
This filter, as proposed, allows someone in the government — I’m not quite clear whom, yet — to create a blacklist of sites that none of us can see. Better yet, we don’t get to see what that list of sites is; we’re expected to sit quietly by and let the government make those decisions for us. So far, I see no ability for anyone to object to what goes on that blacklist, there’s no way to opt out of it entirely, and no means by which to challenge those decisions.
Any time someone in government starts talking about making these kinds of decisions for you, it’s time to get angry. We’re a nation of adults. Most of us are educated (to some degree or another), at least loosely aware of what we object to, and what we find acceptable.
I’m all for protecting the children; let’s do that. However, let us do that in a way that does not restrict access for every consenting-age adult in the land; make the system opt-in for parents and families who are concerned, and leave the rest of us the hell alone.
It’s a slippery slope from ‘objectionable on moral grounds’ to ‘objectionable because it criticises the government’. This government may, indeed, be well-intentioned. They might not want to use the Rabbit Fence in a way that restricts access to legitimate information. What about the next government? The one after? Once the infrastructure is in place, it’s just a matter of time.
This one needs to be fought, and fought hard, by every legal means. I urge you all to talk about this issue, discuss it, get the word out, and let your representatives in government know that it’s not going to fly — it’s a waste of taxpayer money, and worse, it’s a ridiculous assault on our civil liberties.