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



building and refining my views
Some interesting-looking loft-style bedroom/desk/storage units (via dornob): 



Posted by
James
at
12:32 am
2
comments
Labels: humourFunInteresting
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.
Posted by
James
at
10:41 pm
3
comments
Labels: communication, natureOfPerceptionAndMental
I thought I'd have a go at Twitter. I'm jamesrcole.
Posted by
James
at
11:17 am
0
comments
Labels: biographical
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.
Posted by
James
at
12:30 pm
0
comments
Labels: effectivePerceptionAndReasoning
[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.
Posted by
James
at
3:28 pm
0
comments
Labels: humourFunInteresting
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.
Posted by
James
at
7:58 pm
0
comments
Labels: computing
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.
Posted by
James
at
6:00 pm
0
comments
Labels: effectivePerceptionAndReasoning
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.
Posted by
James
at
10:25 am
0
comments
Labels: humourFunInteresting
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.
Posted by
James
at
12:01 am
0
comments
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.
Posted by
James
at
8:39 pm
0
comments
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.
Posted by
James
at
10:59 am
8
comments
Labels: miscDevelopmentsAndAdvances
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.
Posted by
James
at
10:47 am
0
comments
Labels: miscDevelopmentsAndAdvances
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.
Posted by
James
at
4:03 pm
0
comments
Labels: computing
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.
Posted by
James
at
11:48 pm
0
comments
18 mins
Rice University professor Richard Baraniuk explains the vision behind Connexions, his open-source, online education system. It cuts out the textbook, allowing teachers to share and modify course materials freely, anywhere in the world.
Posted by
James
at
8:52 pm
0
comments
Labels: computing, miscDevelopmentsAndAdvances
A joke is something that is funny.
But then there's things that are presented in a jokey fashion but which are not really intended to be funny.
For example, you can have insults or threats presented in a jokey manner that are really statements of solidarity or respect. E.g. a lowly business person saying the following to a superior"if you could look at that brief that'd be good, otherwise I'd have to do you in", where the last bit is said in an ironic fashion. That's really a statement of respect to indicate that they're well aware of their relative positions.
The case I want to talk about, though, is statements that are presented as if they were jokes but are really just insults or threats presented in a jokey manner. That is, insults or threats passed off as jokey statements.
The jokey manner may include a wink appended to the end of a written statement -- not that you guys are likely to understand what i'm talking about ;-). Or a chuckle or giggle appended to a verbal statement. Or they might be in the form of over the top threats like "...or we'll beat you to a bloody pulp - ha ha".
These aren't actually funny and aren't intended to make the person laugh -- even if social forces may compel them to do so.
As you may have guessed, I quite dislike these sorts of statements. Even if they're only carrying a quite minor barb, there's something dishonest there. Though I don't like this term much, childish comes to mind.
Posted by
James
at
12:08 pm
0
comments
Labels: communication, thoughts
I can hibernate my laptop so it doesn't drain the battery when I'm not using it. What if I could hibernate individual programs, like my web-browser?
I usually have scores of web-pages open in my browser, and just having it open, even if I'm not actually using it, uses the processor -- often quite a lot of it -- and drains the battery.
So I might leave the house in the afternoon to go out and do some PhD writing at a coffee shop. I won't be using the browser there, and I don't want it to drain the battery, so it'd be nice if I could hibernate it.
That'd be quicker and easier for me than manually closing it down and then manually reloading it all, and guarantee that when I bring it back up everything is in the exact same state.
Posted by
James
at
10:38 am
0
comments
To make code more readable we divide it into units like functions, objects and modules. Following the principles of information hiding we give these units meaningful names that express what their function is, and supplement that with comments providing additional details.
Once a person reading the code is satisfied that those statements do what the name or description says, they can skim the code by paying attention to the names/comments but skimming the details how how the named functionality is implemented. It helps conserve precious mental resources.
There are units of code smaller than a function –- a number of lines of code within a function that togther perform a fairly coherent function like reading a file -– that you want to be able to apply the principles of information hiding to.
I’m talking about cases where separating the lines of code out into a separate function would be too heavyweight a solution – doing so wouldn’t be worth the effort and would actually decrease the code’s readability.
One difference between these and the other units of functionality is that they don’t have some sort of explicit delimiter to indicate their start and end, and this makes the task more difficult. If you put the comment at the start of the lines, does it apply only to the first line or to all of them? If there’s uncertainty you have to look at the code to resolve it, thus destroying the good information hiding properties.
If you have a convention –- that it always applies to all the lines of code till the next blank line, for example -– then you have to learn and remember the convention, and other programmers can always break it by accident or forgetfulness or from simply not knowing it. And if you want to be able to have blank lines within that set of lines of code -– which is often useful to do -– then you have to have an even more complex convention.
Here’s a code formatting idiom that provides a solution to the problem. Write a comment at the start of those lines of code that names/describes the functionality they implement, and then indent all of the lines implementing the functionality:
function X()
statement before task
// comment describing task
statement implementing task
statement implementing task
statement implementing task
statement implementing task
statement following task
statement following task
function X()
statement before task
readFile:
statement implementing task
statement implementing task
statement implementing task
statement implementing task
statement following task
statement following task
Posted by
James
at
10:03 pm
1 comments
Quick sketching:
Here's an idea for a website.
If you wanted to do some research that touches on a field you didn't know that well and wanted to find out what material -- previous research and so forth -- was relevant to your topic, it'd be useful if there was a dedicated website for asking such questions, where you could get responses from people with expertise in the field.
I'm thinking of a site designed like Stack Overflow, which can build up a refined body of knowledge.
Ideally, it'd be a exchange of information between disciplines, and between those with expertise and newcomers. It'd help research that crosses disciplinary boundaries. It could also help out students that are new to an area, or people undertaking amateur research (which I think is important). It could help academia open up a bit more. These are of course just lofty possibilities.
I imagine some people would not want to make such things easier - seeing it as somehow cheating. I don't see it that way. The idea is to help reduce the friction in undertaking research, and give people more time to focus on the more central aspects of research - finding patterns, synthesising new ideas, etc.
If there were something like this, it'd probably be good if students / academics got some amount of institutional recognition for contributing answers. Like they do for for writing papers (not saying it should be the same amount of recognition of course).
Posted by
James
at
10:55 pm
0
comments
Labels: communication, computing, thoughts
The Minute Glass is a design concept for an alarm clock that forces you to shake it vigourously for around 30 seconds – and hopefully thus properly wake up – in order to turn the alarm off.
Posted by
James
at
10:43 pm
0
comments
Labels: humourFunInteresting