Thursday, July 23, 2009

How to backup Winamp song ratings and playcounts, and media library playlists

If you want to backup your Winamp song ratings and playcounts, as well as the playlists you create within the Media Library, this is how you can do it. You can back it up so you don't lose the information when you get a new computer and reinstall Winamp onto it.

I got this information from here and here

The files are in this directory:

%appdata%\Winamp\Plugins\ml
(On Win2k/XP, %appdata% is
    C:\Documents and Settings\(username)\Application Data\
On Vista, it is
    C:\Users\(username)\AppData\Roaming\)


The files are:
main.dat       # ratings and play counts
main.idx # ratings and play counts index file
recent.dat # play history
recent.idx # play history index file
*.m3u8 # playlists stored in the media library
playlists.xml # list of the playlists stored in the media library

The first of the source pages also suggests some alternative strategies for saving this information.

Monday, July 06, 2009

Using a game to teach regular expressions

Quick sketching....

You could have a game to teach people regular expressions. It might even actually be fun. I don't know if anything like this has already been done (a very quick look doesn't seem to show anything like it), but here's one way it could be done.

It might be a war between alien forces. You are commanding one side.

The enemy march in a single line in from the right side of the screen, and as the commander of your side your goal is to stop their troops reaching the left side of the screen. You can send out troops from the left side to attack the right side.

There are some number of diff types of enemy troops, and at your disposal you have specialist troops, each one of which can pick of a particular type of enemy troop.

So if the front of their line of troops is a 'green' alien, you send out a 'green' soldier. your troops will always win, as long as you send out the right type.

So you could just play by sending out the right sequence of troop colours...

But then their troops start moving faster and it gets harder to take our their troops one by one.

Luckily there are patterns in the troops... the front of their line might be one green soldier, followed by five blue soldiers, ending with a red soldier

So if you can set up a single command for 'one green', 'one or more blue', 'one red'.

What i'm talking about so far is like a regular expression where you are matching specific characters; they can also match classes of characters, like 'whitespace' or 'word characters' or you can have character classes...

And the game could gently introduce the ability for the player to have such higher-level control... e.g. some of the enemy might be carrying shields... blue ones with shields, red ones with shields and so on... so your 'attack specification' could allow the player to deal with more abstract classes like this.

Ideally, the game would give the player a gentle ramp up to the sort of abstraction regular expressions afford. the player could handle things fully manually... by manually specifying the pattern to meet... and then they would appreciate the ability to handle it in a higher-level way.

The player should be rewarded by being able to take out as many enemy as possible in the one command (the one reg-ex)... the more they take out, the more spectacular it should look, and perhaps the more points they would get (if there were points).

Here's some other ideas.

I can even imagine building a 'search and replace' mechanism into the game... perhaps the 'search' pattern could be use to specify what to target and the 'replace' pattern what weapons to use on each of those targets.

In addition to the idea of a game based around the idea of regular expressions, I might be actually use them to provide powerful input mechanisms in existing sorts of games... real-time strategy games strike me as a possibility.

Sunday, June 14, 2009

Switching between windows with a directional mouse-gesture (or a map)

Here’s an idea for how a computer operating system could enable you to quickly switch between windows. The idea is that you could press a some key or key combination to indicate you wanted to switch windows, and then you could specify which window simply by shifting the mouse pointer from its current position just a little bit in the direction of the window you wanted to switch to.

The operating system would guess which window you wanted to switch to and make it flash or something. If it had the one you wanted, you could press the mouse key and that window would get the focus. I think the system would have to figure out which window was, overall, most in the direction you've gestured.

If it didn't select the one you wanted, you’d move the mouse again to try to make it clearer which window you wanted. How would this work? Imagine that you’d moved the mouse to the right to indicate a window to the right, but you the one you actually wanted was further to the right of the one the system guessed.

To indicate that other one, you could just move the mouse a bit more to the right and it’d figure out you meant the window more to the right. Whatever the subtleties an actual implementation would have to deal with, I think there’s a good chance you could figure out a workable solution.

(On windows, instead of simply pressing a key, you could press and hold down the Windows Key and move the mouse pointer and then release the key once it has seleted the one you want).

As different approach, instead of gesturing direction, pressing the ‘switch windows’ could bring up, at the place where the mouse pointer was, a small schematic map of the desktop indicating all of the windows’ locations. Mousing over a window on that map would highlight the actual window it corresponds to; clicking it would switch to that window.

Friday, June 12, 2009

More birds-with-arms (pics)

Some more photoshopped pictures of birds with added arms, thanks to the good people on the Something Awful forums.

When I see a picture of a bird now without arms, like this one, my brain is thinking "amputee":



Here they are:










Wednesday, June 10, 2009

"Photoshop Arms Onto Birds!" (pics)

Over on the Something Awful forums, Paradox86 said "It's pretty simple. A friend and I agreed that birds are pretty pissed that they don't have arms. We decided this should be fixed."

Yes, this is what the world has been needing. Pictures of birds with arms. Yet it is somehow strangely compelling - there's some pretty brilliant stuff there... here's a handful of them:










Sunday, June 07, 2009

Rough notes on getting things done

Doing an assignment, writing a book, losing weight -- whatever the task is, there's no doubt that it can be hard to get things done. Here's some rough notes -- that I'd like to clean up sometime -- on ideas to make it a bit easier.

  • Build habits. Habits have momentum, and they can suck you into a task without you trying.
  • Associate a place with a task (if you can). That's one good way to build a habit. I go to a local coffeeshop to do PhD writing. That's all I do there, and I don't go there otherwise. I find it quite useful. If it's a place you don't do any other tasks at, it's less likely to trigger habits associated with them.
  • Make the habits generic, so you can always invoke them. If you make the initial task "start writing" (start writing anything - it doesn't matter what), then this applies regardless of what you are writing or what you are writing it for.
  • Minimised the (perceived) next task. Make it easy to start.
  • Doing has momentum. Make the initial task very simple. Simply by continuing to work on it, it can gather momentum and snowball and if that happens you don't have to even think about trying to do next thing.
  • Impose non-negotiable constraints (where possible). The coffeeshop I do my PhD writing at doesn't have any internet access, so I can't stuff around on the net even if I wanted to. (I understand that many tasks require internet access - this is just an example of the general principle). I also don't have Freecell or Solitare etc installed on my computer.
  • Have others around who can see you. That's another thing I suspect is an benefit of writing in a public place... it feels harder to slack off. May not work for some sorts of tasks.
  • Be prepared for initial Suck when getting into any new sort of task / setup. Basically it’s like developing a skill - it's going to take a while to get into it.
  • Learn to recognise and acknowledge when you’re refusing to consider doing something or how to do it, and just pushing it back. and that if you can do this, this could be all that’s required to actually get your major goals done.
  • We seem to have a tendancy to try to figure things out in our heads before starting. This tends to make the task seem to big, and you just end up staring at a blank page or screen. So learn to recognise when you’re doing this.
  • Related to this, there's a tendancy to want to go into a ‘perceptual response’ mode of thinking – you get stuck. (need to do more work to explain this).
  • As a longer-term proposition, try building up desire to achieve what you want to achieve.
  • Try to have “definite critiera” (I need to do more work here to explain what I mean) -– like writing something that reads from start to finish, rather than just a bunch of notes.

Wednesday, April 08, 2009

Some interesting-looking loft-style bedroom/desk/storage units

 
Some interesting-looking loft-style bedroom/desk/storage units (via dornob):








Monday, April 06, 2009

Interesting persuasive technique in anti-smoking ad

The latest anti-smoking ad being shown on tv here:



As a means of persuasion, it employs an interesting technique, one that I think is pretty effective.

It tries to take on trite kind-of 'excuses'. It doesn't try to counter them by dealing directly what their content. It doesn't explicitly respond to them at all. Each one is followed by a totally separate slice of conversation from a totally separate situation.

That next slice of conversation 'responds' to the triteness by highlighting the seriousness of what is really at stake. What's interesting is how it does this. It takes the syntactical form of the trite statement "I don't think I can quit" and 'responds' with another one with a parallel form "I don't think I can operate".

Something about that parallelism makes the response a powerful smackdown. I think it must be that our brains take that similar structure as meaning the response's content consititutes a very complete and definitive response.

I'm on Twitter now

I thought I'd have a go at Twitter. I'm jamesrcole.

Saturday, April 04, 2009

What does it mean to be open-minded? (video)

What does it mean to be open-minded? I think there's a lot of confusion about this. The following animated video (10 mins) does a lot to clarify.

The video author's criticisms are perhaps a bit too direct, but I think his points are good and the graphics and animation are used well.

Friday, April 03, 2009

Antipodies map

[Update: this map, or at least a similar one, can now be found here]



If you dug a hole through to the other side of the earth, where would you end up? The web-based Antipodies map lets you find out.

Just locate your present location and it'll show exactly where the opposite side of the world is.

Tuesday, March 24, 2009

Articles on some effective newer UI techniques

Mega Drop-Down Menus - which get a big thumbs-up from Jakob Nielsen. He likens them to the ribbon found in the latest version of MS-Office.



Contextual User-Interfaces. Chris Mahon gives some examples. They let the user perform relevant actions without having to shift context. And as the user performs actions, the UI is dynamically modified to take this new context into account, so the user can perform tasks more quickly and easily.

And while I'm here I'll give another plug to Bret Victor's visionary -- and still very relevant -- paper Magic Ink: Information Software and the Graphical Interface.

"It’s easy to make something incredible."

I believe that having high standards is probably the most important thing required for becoming good at anything.

Rory thinks so too

It’s easy to make something incredible. All you do is, don’t let what you’re doing be shit.
...
It baffles me that people think making really, really brilliant, stupendous, worldshocking pieces of work is a particular challenge. It’s mainly a battle of endurance. The longer you try and deshit something, the less shit it is.

Monday, March 23, 2009

Minatur Wunderland - world's largest model railway

5 min video of Miniatur Wudnerland, in Hamburg, Germany -- the world’s largest model railway, and actually quite impressive.

14kms of track, 6 meter high mountains, and highly detailed scenery that also includes moving cars and boats. The whole thing cycles through day and night every 15 mins.

Thursday, March 19, 2009

British man Sean Hodgson 27 years in jail for crime he didn't commit

Recent DNA tests have shown that a British man, Sean Hodgson, spent the last 27 years in jail for a murder he did not commit, the Times Online reports.

Wednesday, March 18, 2009

Programming is always a team activity

So you've written a bit of code. As time passes and you haven't touched parts of it for a while, they'll start to fade from memory, and if you need to know them again, you'll need to refresh yourself on them.

A week after you wrote a function, you may be a bit hazy on how it works. Six months down the line you might've forgotten all of the function's details. Three years later, you might have forgotten about the existence of the entire module.

Down the line you're no longer that person who knew the details of the code. The more time since you looked at a piece of code, the more it is like you're reading someone else's code.

So the entirety of your work on that code is more like a team effort than an individual one - your current self writing code for, and collaborating with, your future selves.

With the exception of simple, throwaway programs -- this is why you should always write code for others to read, even if you're writing something that no one else will ever need to touch.

Sunday, March 15, 2009

Coworking spaces

I just came across the notion of "coworking spaces"

“Coworking is cafe-like community/collaboration space for developers, writers and independents. Or, it's like this: start with a shared office and add cafe culture.”
I'd never heard of it before - it sounds interesting. These places provide facilities like wi-fi, printing, lockers, coffee and meeting rooms.

It seems like they've sprung up all over the place (at least in the US). Here's a smattering of examples: Office Nomads (Seattle), StartPad (Seattle), CubeSpace (Portland), The Network Hub (Vancouver), thinkspace (Redmond), Work Space (Vancouver).

There's one in Melbourne - OpenHub. Didn't see any others in Australia, though apparently this (Monash Enterprise Center and Business Center) works along similar lines.

There's even some general coworking resources: a wiki and associated blog, and a group on Google Groups.

Clay Shirky: Newspapers and Thinking the Unthinkable

Clay Shirky has an excellent post on the future (or lack thereof) of newspapers. Newspapers are going away, and it'll take us some time to invent alternative venues for journalism.

What Eisenstein focused on [in The Printing Press as an Agent of Change], though, was how many historians ignored the effects of the [printing] press circa 1500. To describe life before or after the spread of print was child’s play; those dates were safely distanced from upheaval. The hard question Eisenstein’s book asks is “How did we get from the world before the printing press to the world after it? What was the revolution itself like?”

Chaotic, as it turns out. The Bible was translated into local languages; was this an educational boon or the work of the devil? Erotic novels appeared, prompting the same set of questions. Copies of Aristotle and Galen circulated widely, but direct encounter with the relevant texts revealed that the two sources clashed, tarnishing faith in the Ancients. As novelty spread, old institutions seemed exhausted while new ones seemed untrustworthy; as a result, people almost literally didn’t know what to think. If you can’t trust Aristotle, who can you trust?

During the wrenching transition to print, experiments were only revealed in retrospect to be turning points. Aldus Manutius, the Venetian printer and publisher, invented the smaller octavo volume along with italic type. What seemed like a minor change — take a book and shrink it — was in retrospect a key innovation in the democratization of the printed word, as books became cheaper, more portable, and therefore more desirable, expanding the market for all publishers, which heightened the value of literacy still further.

That is what real revolutions are like. The old stuff gets broken faster than the new stuff is put in its place. The importance of any given experiment isn’t apparent at the moment it appears; big changes stall, small changes spread. Even the revolutionaries can’t predict what will happen. Agreements on all sides that core institutions must be protected are rendered meaningless by the very people doing the agreeing. (Luther and the Church both insisted, for years, that whatever else happened, no one was talking about a schism.) Ancient social bargains, once disrupted, can neither be mended nor quickly replaced, since any such bargain takes decades to solidify.

And so it is today. When someone demands to be told how we are going to replace newspapers, they are really demanding to be told that we are not living through a revolution. They are demanding to be told that old systems won’t break before new systems are in place. They are demanding to be told that ancient social bargains aren’t in peril, that core institutions will be spared, that new methods of spreading information will improve previous practice rather than upending it. They are demanding to be lied to.

Wednesday, March 11, 2009

Not needing to name or save documents - 'Untitled Document Syndrome' & OLPC

When I'm working with a document in a text editor or word processor, I don't want to be forced to give it a filename, nor do I want to have to manually save it.

It shouldn't need a filename - it should be saved anyway. And if I'd prefer to not give it a name, I should still be able to locate it based on when it was created, last modified, and by searching for terms that I know are contained within it (and perhaps by tags I've given it).

I shouldn't have to manually save it. It should automatically save the content as I type. I don't want it to automate periodic saves, I want it to be like paper - once a change has been made it's recorded and can't accidentally be lost. The user shouldn't even need the concept of 'saving' the document.

Related to this, John Gruber has written a post Untitled Document Syndrome that argues similar points.

Also, the OLPC system seems to work in such a fashion.

Tuesday, March 10, 2009

"More Americans say they have no religion"

Yahoo news, reporting on a recent study of religion in America (other reporting):

Fifteen percent of respondents said they had no religion, an increase from 14.2 percent in 2001 and 8.2 percent in 1990, according to the American Religious Identification Survey.

Northern New England surpassed the Pacific Northwest as the least religious region, with Vermont reporting the highest share of those claiming no religion, at 34 percent. Still, the study found that the numbers of Americans with no religion rose in every state.