Singpolyma

Generic Achievement System

Posted on

I’ve been thinking a bit recently about generic achievement systems. Basically what I want, is a web service where I’ve got a profile showing off the achievements I’ve unlocked in different ways. This could have some scraping of well-known social web achievements (StackOverflow, FourSquare), but that doesn’t really scale so I’d want an API that any service or application could tie into to publish unlocked achievements to my profile. I’d also want read APIs so I can put achievements I really want to show off on my actual profile page at singpolyma.net. Achievements should be able to take any image+text form, from high scores to badges.

If social web sites can publish achievements to the site and read them back out, that’s great, but there are already a couple of services that sort of serve that purpose (though I’m not sure either serves their own local profile pages). The real benefit here is that applications (especially including games) could easily tie into this as well.

Of course, now that I’ve described it you can see I don’t necessarily want a web service at all. I want an API specification and a reference implementation. Web apps and games should be configurable with my actual “achievement host” (or discover it over LRDD/Webfinger) so that I can just host my own list and not sharecrop on someone else.

Now, on top of all this, I want the same protocol (or something very close to it) to work with a local on-my-machine service that serves a similar purpose: storing scores and achievements for local users. One could then build nice local scoreboard/achievements unlocked display dashboards, which could be very useful in a gaming-heavy environment like the games at www.lionwins.com (some games already do shared local highscores, this is just one up on that).

The right way to build something like this, probably, is to use Activity Streams concepts and publish the content over HTTP as an “achieved” or “scored” event.

Thinking About Aggregators

Posted on

So, I’ve been thinking for awhile about the aggregator experience I want to have for reading my blogs and microblogs. As I’ve increasingly been moving to my own infrastructure for both, my subscription experience has been evolving as well. Right now I have a rather hacky script polling the Twitter and Identi.ca APIs every 2 minutes, putting the content into my WordPress database, and exposing that information over a partial implementation of the Twitter API. I then use a ruby script that polls said Twitter API and sends the messages to me over XMPP (as well as allowing me to post to my self-hosted microblog). I read other feeds using newsbeuter.

This entire setup is a bit suboptimal. Why, for example, is my server polling and then storing content I am subscribed to? Isn’t that normally my aggregator’s job? I’ve realised, that the reason the model has evolved this way elsewhere (such as at status.net) is that in many microblogging services, the service acts as both publisher and aggregator, but this is sort of artificial. My server has no good reason to act as an aggregator, that function is not related to publishing my content.

I thus intend to build a better aggregator infrastructure. My current thought is to build some sort of modular system with data sources and sinks. The primary sources (to start) will be RSS/ATOM feeds and maybe Twitter compatible APIs. On top of this can be built a nice web-feed-reader infrastructure (like Bloglines was), which should support PubSubHubBub for its subscriptions (since it lives on a server asnyway), or an XMPP feed-delivery system (which just connects, delivers the content, and disconnects), or an ncurses or other GUI system for local use.

The system also needs to support replies (via Salmon or Trackback/Pingback) and also cross-posting of said replies (using Twitter-compatible or WordPress-compatible APIs). The public key that goes with the private key the aggregator is using to sign the Salmon slaps needs to be publicly discoverable somewhere (likely at your publishing point), but otherwise the aggregator doesn’t need any kind of public or always-on presence.

Free HTTPS from StartSSL

Posted on

Apparently, some people are still unaware that the can get a TLS/SSL certificate for free from StartCom. StartCom has been providing Class 1 certificates for free for some time now, but they’re certificates were not always widely supported. Having used one of these certificates for my personal site for some time now, I can say with confidence that there are well supported by major browsers and Operating Systems.

Head over to StartSSL Login/Signup and click the “Express Lane” option. The wizard will guide you through creating a new StartSSL account and creating a webserver certificate. You will be asked to give a significant amount of personal information, then asked to verify one of the email addresses associated with your domain name, and finally you will be given the opportunity to have them sign a certificate you have generated (the way to get a CSR is different depending on what webserver you are using or what host you are with, there is good information in the StartSSL FAQ or try Google).

As part of the account creation process a client-side TLS certificate will be generated and stored in your browser or OS keychain. Do not lose this certificate. It is the only way to log into your StartSSL account.

One little gotcha in the way StartCom has chosen to implement their Class 1 CA is that you will not be able to list your main domain as the primary name on the certificate, but will have to list a subdomain. You may list more than one name, and your main domain may be on the certificate, just not as the primary name. I, for example, have www.singpolyma.net as the main name on my certificate, and then have singpolyma.net as a secondary. This is a bit strange, but works fine with most clients (a notable exception being wget).

And that’s about it! Unless you’re on a shared host without a unique IP or host-based TLS support there is no reason for you not to have HTTPS enabled on your personal site.

On Selecting a Spouse

Posted on

I thought I should blog this while the discussion I recently had with Christopher Vollick about the matter.

First, a small disclaimer. I may use words like “spouse” and “marriage” in this post. These words are used for simplicity only and are not intended to indicate a particular legal or religious connotation. You could substitute “life-long helpmate” or “mate” or any word that fits your worldview.

There are a great deal of different models used in the pursuit of spousal selection. I cannot possibly deal with them all, and may not even know about them all, so I will deal here primarily with three idealized models taken from Western Culture.

Modern Common

This is what I choose to call the spousal selection model commonly portrayed in recent Hollywood movies. It is also, unsurprisingly, the most common model in common use in the Western world.

This model consists of selecting a potentially interested party, proposing that said party engage in some sort of social activity, after which the couple quickly becomes formally declared and usually exclusive (“boyfriend/girlfriend”). This process often happens so quickly that, if both parties are more or less interested from the outset, there may be no intervening social activity at all. In all cases the couple transitions very quickly from casual friends (or even total strangers) to a formal romantic relationship.

The couple then engage, at least for some time, in a significant amount of private or semi-private social activity as the primary avenue for relationship building and evaluation.

This model tends to result in people who go through a series of formal, semi-committed, but ultimately disastrous relationships. It also tends towards viewing the relationship as an avenue for two people to evaluate each other, instead of as an avenue for two groups of people (friends and family on both sides) to be slowly evaluated and integrated. This results in weddings where one side may meet close friends or relatives of the other very shortly before the event.

Modern Courting

This model may be unfamiliar to some as it is mostly common among the far right. It claims to be an incarnation of a much older model (discussed next), but is in fact something new and much closer to Modern Common.

This modal is far more formal and legalistic than Modern Common. Instead of having an optional period of socializing between “friend” and “girl/boy friend” this model chooses to force everything to be formally declared up front. Guardians are often consulted, goals set, and rules agreed to. Like much that comes out of the far right this model tends to pride itself on what it does not do. Modern Courting couples often spend little to no time alone, and limit their interactions to a plan.

Modern Courting does emphasize family evaluation more than Modern Common, but only in terms of the context in which it operates. The individuals themselves quite often still do not see this as a primary component of their relationship.

Austin/Dickens Era

This model is the obvious ancestor to Modern Common, but has some very distinct differences. The couple still engage in social activity together in order to evaluate compatibility. The relationship still eventually becomes formalised, and usually exclusive. The couple even, contrary to popular belief, may spend a significant amount of private or semi-private time in relationship building.

The primary differences, are transition and context.

In this model, the transition from casual friend to a formal romantic relationship takes at least as long as the normal transition from stranger to friend. Nothing formal has to happen until the couple is nearing the engagement stage. Before that, the couple is interacting as increasingly good friends in whatever context would be natural for good friends to interact, given their other cultural baggage. This means that, naturally, friends and family who are likely to become a major part of the couple’s future are interacted with and evaluated as part of the social group the relationship is using for context.

This model also gives significantly more wiggle room to pursuit, since a party has not overcommited before an evaluation has taken place, and can exit from the non-relationship gracefully without anyone else being aware of what said party was thinking. Of course, eventually each party’s intentions become easy to discern, but things are not dealt with formally from the outset.

On Arrangement Models

Decently-run “arranged marriage”-based models can work very well. Possibly better than anything else. They cannot, however, be mixed in a society with another prevalent model. If they are, those under the arrangement find the arrangement to be arbitrary as compared with the “freedom” of those around them.

Dystoparx — Part 6

Posted on

Bill is at a meeting. The meeting. Japan and the United States are both very on board with doing whatever it takes to catch major producers of child pornography. There are plenty of issues with sharing the kind of data that they’re talking about, but people at all levels are involved. Both countries have formed small task forces similar to Bill’s, somehow without alerting the media to what they are doing.

Bill takes the heads of these task forces aside into a separate room. He opens up his laptop and shows them the data his team has been pulling together for the last week.

“None of that is admissible in court,” the FBI guy has had the book thrown at him too many times.

Bill is unfazed, “I’m not proposing court measures.”

“You’re aware, I’m sure, of how grossly unethical this sort of data collection is?”

Bill just shakes his head, “Come on, man, I’m talking about taking down child pornography. All the way down. You guys can shoot running criminals, why shouldn’t you be able to comb technically public data to eliminate child abuse?”

The Japanese representative breaks in, “Our people have been thinking along similar lines.”

Bill smiles as the FBI man also nods in agreement. Let the politicians worry about should and ought, these guys worked all the time to protect their citizens from actual evil. The FBI man may talk by-the-book, but every crime fighter feels the need to do what it takes to stop injustices.

Bill, at the very least, is willing.

fakepm: Normal people can’t handle political stress. That’s why I’m so abnormal.
acklas: Someone needs to create a vacation spot where it’s easy to get away from those who are opposed to healthy discussion.
m0rty: I love cookies! Free cookies downtown!
jjdavis: @acklas just stay at home and only visit geeky parts of the Internet
nicnus: @acklas geek monastery?

Jack is back in his apartment in Atlanta. He stares blankly out the window. Without even engaging his brain, his left hand flicks a couple keys and soon some chiptunes are playing quietly from his cheap computer speakers.

He can hear his girlfriend rummaging around in the other room. Staying at home and visiting only the geeky Internet can’t work for him. Some geeks fall in with geek girls, but not Jack. His girlfriend isn’t unreasonable, he wouldn’t be able to deal with that, but sometimes she fails to care about issues he thinks are of vital importance. That may be a part of most relationships, it’s rather hard for him to tell for sure. Probably no matter how bad the political situation in the United States got she would want to stay. Of course, she’s never been outside the country, so it makes sense that she’s not interested in leaving. Still, if he ever has to jump she—

“Hey, babe, have you seen my slippers?” her voice enters the room and disturbs his thoughts.

He thinks for a minute before replying, “You have slippers?”

“Found them!”

Acklas is sitting in the dark. It’s daytime, but that doesn’t keep it from being dark. Curtains were invented for a reason. Acklas is actually between jobs right now. Normally, he works as a consultant, but he doesn’t have any contracts just now. That’s not normally a problem, since he can find an infinite number of things to occupy his time with. Right now, however, he has chosen to occupy his time by sitting in the dark and thinking of nothing.

This is even better sometimes than geeky parts of the Internet. The only person here is himself, and he isn’t really engaging his brain. No one, not even Acklas, can annoy Acklas with a lack of understanding.

Eventually he stirs long enough to notice the LEDs from his computer are putting light out into his space. He grabs a blanket and drapes it over the system. There. Dark.

Bill is much more productively engaged. Now that three teams from three countries are working full-time to gather information from not only legal spyware, but from any source they can find, there is just too much data to go through by hand. That sort of model never made sense in the first place, but now it really doesn’t. Thankfully, their teams are over half made up of IT professionals. These guys are writing lots of little programs they call “scripts” to process the data looking for patterns.

In the process, they are pulling up all kinds of data about people engaged in money laundering, identity theft, and all kinds of suspicious activity. They throw all this data into storage for later. The stuff they’re really interested in is there too. Images and references to child pornography in all its forms showing up in forums, on websites, and in emails. They need to figure out where most of the content is coming from, or where it is being stored. With the amount of data they’re now collecting, privacy laws or no privacy laws, it is only a matter of time before someone finds out a large enough amount of it is correlated in some way.

Of course, as far as the team is concerned, this is all on the up-and-up. Bill and the other two team leaders have seen to it that all the data from every source they could think of to monitor is coming in looking the same as data from MusicBox. It was actually the FBI guy who got all the technical bits going. Bill isn’t sure if the guy is actually technically savvy, or if he let one of his more trustworthy engineers in on it, but either way the data is flowing and the analysis is happening. It’s exactly what has always been needed to solve the problem of the Internet, and maybe, eventually, they can use it to solve other problems as well.

20:03 <nicnus> http://opinion.slashdot.org/story/14/06/24/195123
20:06 <jjdavis> What? What!
20:07 <nicnus> I know.
20:08 <nicnus> I think acklas may have seen this earlier.
20:09 <jjdavis> No wonder he wanted to be alone. This is depressing.
** nicnus le sigh
20:09 <jjdavis> There can’t be many people thinking this way. Can’t be.
20:09 <nicnus> My brother’s girlfriend probably agrees with it.
20:10 <jjdavis> The existence of two crazy people does not prove that we’re screwed.
20:10 <nicnus> Well… someone let him publish it.
20:10 <jjdavis> Man…
** acklas has joined your chat
20:13 <jjdavis> You saw it?
** acklas nods
20:14 <jjdavis> Just wait and see, we’ll have forgotten all about it soon. Luddites are nothing new.
20:15 <nicnus> Militant ones are, at least recently
20:15 <acklas> Well, recently real ones…

Jack sends the link to his girlfriend. Unbelievable.

20:20 <nicnus> Some of the comments are suggesting we take a similar line in reverse.
20:21 <acklas> I’d like that idea if it didn’t make us evil in the process.
20:21 <jjdavis> Peoplereally need to calm down. If this escalates…

Bill is very pleased. The first phase of their media blitz is a complete success. The anarchy of anonymous hackers has taken such offence to their story that they have spread it all over social media. In their efforts to fight the idea, they have spread it to the world. Mainstream media will pick it up tomorrow, and then sympathizers, of which there will be many, will get access to it.

Politicians will get access to it.

Just as the idea is leaving the public consciousness, they will have enough data to make a huge media splash. They won’t have to make the connection themselves, eventually someone else will do it for them. Maybe even one of those hackers they want to take down.