wowmods: updates - user registration, favourites, more!

2008-12-07 Sun – 09:33:12

Hello,

and good day to you. I am writing this to let you know about a site I made. It's actually been around for a while, but hasn't changed much from its original (very much lacking) state after I stopped playing WoW nearly a year ago. Now that started playing again, I've finally gotten round to updating the website with some bits that I hope other people might find useful.

(This is actually a repost of the note I put up in the WoWAce forums - apologies for the duplication!)

It was originally written so I didn't have to check three places whenever I was trying to find an addon, or check for updates.

You can see it here:

Here's a quick overview:

  • lists updates to addons hosted on Curse, WoWInterface, and (*spit*) ui.worldofwar.net
  • updates available for previous hour, day, or three days
  • allows filtering by site
  • allows advanced filtering using Perlish regular expressions
  • supports favourites lists (for registered users)
  • can be accessed via an RSS feed (which should show the same list as set after configuring any filtering)
  • searchable database (8809 addons across all the sites so far) (I find this really useful when I can't remember where I saw an addon)
  • can be added as a Google Gadget to an iGoogle homepage
  • can be added as a Google Subscribed Link
  • supportsOpenSearch (at least, it should do!)
  • includes detailed information for each addon
  • where able, shows: links to sites able to be associated with the addon + changelogs + descriptions + details + update history + version numbers
  • easy-to-use/remember URLs? (nobody else is going to care about this, are they, heh :)

Here's some links in addition to the main page, if anyone's interested in having a look:

(Aside: just noticed ui.w are back to wowui.w - wtf? Another name change? Pff.)

It's not finished; there's lots more to do. But, now that there's finally favourites lists, I figured it might actually be useful for other people as well as me. :)

Any and all comments, criticisms, suggestions, and / or other similar communications, thoughts, opinions, and missives related, indirectly connected, or even nothing to do with the site are of course happily encouraged, welcome, desired, positively lusted over, and will find a soft warm home in my brain where they can relax with buttery toast and a nice cold alcoholic or non-alcoholic beverage of choice and the fine company amongst peers and friends.

cheers,

- pgl / Fin

bash: variable variables

2008-12-05 Fri – 21:54:12

How to use variable variables in bash:

[mimi:pgl]:~ $ tits=arse
[mimi:pgl]:~ $ arse=cheese
 
# this way I figured out myself after a long time pulling my hair out
[mimi:pgl]:~ $ echo ${!tits}
cheese
 
# this I found later at http://www.seocam.net/how-tos/how-to-create-variable-variables-in-bash
[mimi:pgl]:~ $ eval echo $`echo $tits`
cheese
 
# how to assign to a variable variable:
[vini:plowe]:~ $ tits=cheese
[vini:plowe]:~ $ arse=tits
[vini:plowe]:~ $ eval $arse='hello'
[vini:plowe]:~ $ echo $tits
hello

Explained -- obliquely -- in the manual:

   Parameter Expansion

   ...

       If the first character of parameter is an exclamation point, a level of
       variable indirection is introduced.  Bash uses the value of  the  vari-
       able  formed  from  the  rest of parameter as the name of the variable;
       this variable is then expanded and that value is used in  the  rest  of
       the  substitution,  rather than the value of parameter itself.  This is
       known as indirect expansion.  The exceptions to this are the expansions
       of  ${!prefix*} and ${!name[@]} described below.  The exclamation point
       must immediately follow the left brace in order to  introduce  indirec-
       tion.

("This is known as indirect expansion" - rubbish! Everyone calls it variable
variables! :))

YouTomb - archive of removed YouTube videos

2008-12-05 Fri – 15:52:12

Interesting:

YouTomb.

YouTomb is a research project by MIT Free Culture that tracks videos taken down from YouTube for alleged copyright violation.

Also: cool!

Play Auditorium

2008-12-01 Mon – 09:30:12

Interesting:

Play Auditorium

You proceed through the game by redirecting waves of light into targets by positioning things that divert the waves, with the levels getting more complex as you go on. There are "many ways to solve every puzzle"

This demo of Auditorium features 3 Acts. Each Act has at least 5 separate levels. We are currently working on the full version of the game and have estimated around 20 acts total to be released in the near future..

whois gateway finally fixed

2008-11-18 Tue – 01:41:11

Finally fixed my whois tool:

- http://pgl.yoyo.org/whois/

Previously, it arsed up on most domains due to overzealous sanitisation on my part. No longer! Hooray.

bash: arrays - assignment, looping, and indexing

2008-11-16 Sun – 03:40:11
## arrays in bash: assignment, indexing, and looping
##

# assign multiple values to a new array:
array=(tits arse)

# or:
array=([0]=tits [1]=arse)

# or:
array=([0]=tits arse)

# assign single values to specific indices:
array[2]='cheese'

# add a new value to the end of the array (push)
array+=(hmm)

# NB: indices do not have to be congiuous:
array[5]='last'

# view specific element of an array:
echo "first element: ${array[1]}"
echo "----"

# view number of elements in an array:
echo "${#array[*]} total elements"
echo "----"

# loop through an array by index:
for x in ${!array[*]}
do
        echo "\${array[$x]} -> ${array[$x]}"
done

echo "----"

# loop through an array by value:
for y in ${array[*]}
do
        echo $y
done

# ... or...
#for ((i=0 ; i<${#array[*]} ; i++))
#do
#       echo ${array[$i]}
#done


exit

## --
## output
## --

"test.sh" 67L, 1089C written
:!bash -D test.sh
:![ $? -eq 0 ] && test.sh
first element: arse
----
5 total elements
----
${array[0]} -> tits
${array[1]} -> arse
${array[2]} -> cheese
${array[3]} -> hmm
${array[5]} -> last
----
tits
arse
cheese
hmm
last

Reflection

2008-11-16 Sun – 02:37:11

Lovely image taken by Ricky Gervais where "the reflection of the room in the glass makes it look like a giant futuristic temple":

- http://www.rickygervais.com/images/tsott_nywindow.jpg


Double negatives

2008-11-13 Thu – 03:26:11

My favourite quote from bash.org:

#734797 +(3215)- [X]


<Malagmyr> This linguistics professor was lecturing the class.
<Malagmyr> "In English," he explained, "a double negative forms a positive. In some                    languages, such as Russian, a double negative is still a negative."
<Malagmyr> "However," the professor continued, "there is no language wherein a double                  positive can form a negative."
<Malagmyr> Immediately, a voice from the back of the room piped up: "Yeah..... right...."


Warhammer Online "Authentication Failed" solution

2008-09-30 Tue – 16:39:09

I've been having trouble logging on to Warhammer Online, and by the looks of it I'm not the only one - seems that there's hundreds of people out there frustrated by an error saying "Authentication Failed" when trying to start the game.

Thanks to a "rizzo" on a weblog I came across, though, it seems that the issue might be solvable - apparently you need to make sure that your machine has the ports 1380, 8046, and 10622 open - so have a look at your firewall setup and see if that might be the problem.

Thanks, rizzo!

Update

There's a few other things, too:

  • run warpatch.exe (see this FAQ for more)
  • possibly open port 4574 (see this FAQ for more)

I've just run warpatch.exe and have apparently have 815MB to download. Ye gods.

Update #2

Well, looks like that was the issue: just needed to run warpatch.exe. Which admittedly isn't exactly the obvious solution; but it worked. (I even got a response to a mail I sent about something entirely unrelated this weekend, saying to run warpatch.exe, heh). I've just had a nice four hour intro to the game, and, well, I'm pretty happy I'll have something to do for a while yet. Hooray!

LinkedIn's "People you may know" feature

2008-09-29 Mon – 20:06:09

If you weren't already familiar with it, LinkedIn is a social networking site that focuses on the professional side of networking. Essentially it's the same model the rest of them:

  1. Get people signed up through a pyramid scheme based around people's need to feel popular and their ability to believe that relationships are essentially a matter of mass - that 200 superficial relationships is the same as 20 long-lasting friendships
  2. ...
  3. Profit!

And, yes, as it happens I am rather a hypocrite here, because I have spent a considerable amount of time looking for people that I might possible know or have worked with or have sat opposite on the bus once because then I could introduce myself and I'd get another more Connection! Which makes me one step closer to winning at LinkedIn! But I figure, every other idiot or minority or otherwise mockable group is allowed to mock said group they belong to, so, I can too. Anyway. I wanted to write about one particular part of LinkedIn.

On the "Home" page after you log in, there's occasionally a box off to the right labelled "People you may know", with a list of three or so LinkedIn members that you aren't currently linked to, as suggestions for future Linkees. (Linkees? I suppose you'd be a Linkee too then, the Link goes both ways, it doesn't matter who initiated it after an invite's been accepted. Perhaps that would make everyone collectively the Linkii. Too much ee going on there, I'm mentally gurning. Hmm. "We are the Linkii-Gurn, and we come in peace! We would like you to join our professional network!")

So, this "people you may know" didn't seem much of anything at first, I didn't take much notice of it as I was working way through much more efficient methods of mass-linkage ("right, now, I was on 461 bus route back then, so if I just find out the route and search for everyone that lives in the surrounding area and send them all invitations, statistically speaking I'm certain to rack up loads more Connections!). However, after a while I realised that the suggestions were surprisingly accurate - and not just accurate, but remarkably helpful, because people were being suggested that I would never have thought of myself! I mean, I could imagine that had I actually been spamming my fellow bus-travellers from 10 years ago, I might see the bus driver up there - except not the normal bus driver, the guy who we only saw for a week because he was temping while the other driver was ill, and I only had one five minute conversation with, about paint.

I've I've wondered a few times how they did it. Some of the methods must be relatively obvious - they're always encouraging people to import their entire address books and stuff, and things like correlating locations with interests with age would no doubt be very effective in a lot of cases. Some of the suggestions, though, were just so obscure, I just couldn't figure out how on earth the algorithm had been able to connect us. (Was there someone on the bus with me 10 years ago working for LinkedIn?! It's a conspiracy!)

Whatever it was must've been a strong enough link that we were identified as potentially knowing each other, but something (or, more likely, a whole lot of little things) so unobvious that even after some considerable thought (I had to lie down for a bit) it remained a mystery. Considering the fact that I must've come across quite a few of the other members of LinkedIn on a closer level, I would have expected to be seeing other people's faces that I'd heard of, or had worked somewhere I was familiar with, or something - at least more often.

I finally Googled the problem today, and found a question that was answered on LinkedIn itself about the "You might know..." feature. It's not just me, have a look at some of these quotes (actually, the question itself gives a good idea of what I mean):

How does the AI behind the "People you may know" work?

I'm amazed by its accuracy. Just today, it suggested over a dozen people that I do know and am connected to in one way or another. What's the logic behind the code, in simple terms? Is there some code written in the contacts file we upload? Although, some of the people that I "know" weren't hidden somewhere in my address book, so it can't be that. Is there some geo localization at work, or is it a sort of datamining AI? I'm so curious to know how it works!

Clarification added June 24, 2007
It can't be from my "other" contacts because I don't have any stored there. Nor can it be keywords that we have stored in our profiles because some of the "people i may know" have completely different backgrounds, education, jobs, etc.

Clarification added June 24, 2007:
I think there is a cross co-relation between contacts that I upload and those uploaded by others that include me. Even if we don't invite these contacts or even if these contacts don't invite me, then subsequently delete them from our contact list, I suspect LinkedIn stores this information.

The weirdest thing though is when it suggests someone I only know "off the street": someone who's contact info I don't have and vice versa and someone with whom I have no history with (school, employer, same industry, etc.).

Most of the other commenters were equally amazed or even more so - one person in particular made me question whether they were just shit stirring or telling the truth:

was just given two names of people that I do know, but that I have no connection with through LinkedIn. My profile is not filled in with enough data OR the right data to make a connection. Therefore, how would they know I worked with them, if that employer is not listed, how would they know I went to school with them, when that inststution is not listed. I am not a regular LinkedIn user and only have a few connections, and those connections have no connections to the people on my list. SO.... where did those names come from?

There were a couple of comments from staff:

Steven Stegman - Research Scientist and Sr. Product Manager

"People you may know" is powered by a sophisticated predictive model that uses many factors to guess people you might know. it's still in beta, and we've made some significant refinements to it recently.It's pretty cool, no? Please give us feedback on it.

The comments following this essentially ignored him - with everyone saying how amazed they were, until the last post:

David Brabant - Software Architect - Software Development Manager at Siemens IT Solutions and Services

There isn't any kind of magic here, and even less the slightest trace of artificial intelligence. This is simply based on graph theory, starting exploration of the graph of your relations from your node, and filtering those relations according to what is called "homophily". The greater is the homophily between two nodes, the more likely two nodes will be connected. For a good introduction on the social network theory, see the document linked below.
Links:

http://home.earthlink.net/~ckadushin/Texts/Basic Network Concepts.pdf

Well, of course. It's simply graph theory! If anyone had cared to read even the simplest of introductions in the field then we wouldn't've had to waste this man's valuable time, I mean, really, how inconsiderate. Oafs.

So, I went and read (most of) that 63 page PDF, and I'm still convinced it's a little more murky than that. It doesn't explain why I'm not getting more suggestions about people who would be instinctively easily to identify within a degree of accuracy. Also, there are people I haven't attempted to connect with that I could have, but decided against, or simply couldn't remember the email address for and needed to know it before sending an invite. Why haven't they come upas suggestions while these seemingly counter-intuitive others have? After all, they're actually (given the data, if it were being analyzed) much more strongly connected to me than the others.

A couple of things might be along the lines of, someone who's been to visit someone else's page, and gone most of the way towards contacting them, but didn't in the end - which is exactly what I did with a number of people, and relatively easy to look for. Finding people who appeared in, say, two or three people's address books, and is already even though they didn't list their work addresses from 5 years ago, they were already connected to another two people from the company. You could probably tell a lot about who someone might be connected to given their browsing habits - I would say (without any evidence, true) that humans tend to be much more interested in people they know than strangers even when the stranger is famous or rich (or otherwise might tempt people being curious without having their friends to check up on first): for anyone that signed up, the first few profiles they looked at would be huge pointers.

Of course it does have to be some sort of Science in the end (unless they really did have people following me around on the bus!); but I sincerely doubt the specifics are about to be revealed any time soon. My money's on LinkedIn being actually pretty sneaky, even if they're being clever as well (and I guess their money is too), and whatever the case it's still pretty cool. And, as Clarke's third law states, any any sufficiently advanced technology is indistinguishable from magic; while we're still ignorant, who cares how they do it?