future memoirs
It was a strange time... Our access to information about ourselves had gotten ahead of our ability to deal with it... We had outgrown our cultural immune system temporarily, and so we were sneezing all the time. Everyone was afraid of pedophiles and terrorists. We had mostly shaken off the simplistic corporate parasites of the 20th century, but we were still stuck in the lifestyle they had created... It was an exciting time to be thinking about the basic questions of how to live.
database design and game design?
It occurred to me today that one of the reasons I'm so indecisive when it comes to database design, is that my brain is used to a totally different set of problems.
In game design, interface, algorithm, and efficiency are first considerations, and data structure generally conforms to the solutions chosen to those problems. When I sit down and try to design a database, I fail, because designing a database answers none of the questions that my brain is asking.
From my perspective, databases only exist because we don't have enough RAM to store everything in memory. They are an artifact of way computers grew up: processing power is expensive, slow, massive storage is cheap. Databases exist to be robust and permanent houses for large volumes of data, their design philosophy presupposes that data in a computer is fragile and volatile (which it is.)
So when I'm thinking about a new app, maybe I don't need to nail down the database first. After all, a database is just a bit bucket. That's not to say database design is trivial or unimportant, it's just to say that it's secondary to application design, which is really what I'm interested in anyway.
So let's get to it then.
In game design, interface, algorithm, and efficiency are first considerations, and data structure generally conforms to the solutions chosen to those problems. When I sit down and try to design a database, I fail, because designing a database answers none of the questions that my brain is asking.
From my perspective, databases only exist because we don't have enough RAM to store everything in memory. They are an artifact of way computers grew up: processing power is expensive, slow, massive storage is cheap. Databases exist to be robust and permanent houses for large volumes of data, their design philosophy presupposes that data in a computer is fragile and volatile (which it is.)
So when I'm thinking about a new app, maybe I don't need to nail down the database first. After all, a database is just a bit bucket. That's not to say database design is trivial or unimportant, it's just to say that it's secondary to application design, which is really what I'm interested in anyway.
So let's get to it then.
steepled roofs
I'm frustrated with modern house construction.
Modern American houses were effectively designed hundreds of years ago by people in other countries with different tools, different requirements, and different constraints.* Land was cheap, material was expensive, labor was cheap, and everything had to be made by hand.
Just by rethinking some of those basic assumptions, we can start to make much better use of the space we have.
Steepled roofs are good for shedding water and snowfall, but in Southern California these things are just not concerns. Why not have a gently sloped, accessible roof with space for a garden, sunbathing, barbecuing, or stargazing? Land in California is amazingly expensive, even in the housing crunch, but when will we start using the space we have?
*Also people were shorter. What is the deal with 8 foot ceilings and 6 foot beds?
Modern American houses were effectively designed hundreds of years ago by people in other countries with different tools, different requirements, and different constraints.* Land was cheap, material was expensive, labor was cheap, and everything had to be made by hand.
Just by rethinking some of those basic assumptions, we can start to make much better use of the space we have.
Steepled roofs are good for shedding water and snowfall, but in Southern California these things are just not concerns. Why not have a gently sloped, accessible roof with space for a garden, sunbathing, barbecuing, or stargazing? Land in California is amazingly expensive, even in the housing crunch, but when will we start using the space we have?
*Also people were shorter. What is the deal with 8 foot ceilings and 6 foot beds?
zeitgeist - vertical farms and airships
A couple of my favorite ideas keep popping up. Do I love them because they are hip, or are they hip for the same reason that I love them?
(Article, via boing boing)
(link)
On reflection, this is probably just what I get for reading boing boing. What is the deal with those guys.
Architects' renderings of vertical farms — hybrids of the Hanging Gardens of Babylon and Biosphere 2 with SimCity appeal — seem to be stirring interest.
(Article, via boing boing)
As the cost of fuel soars and the pressure mounts to reduce carbon dioxide emissions, several schemes for a new generation of airship are being considered by governments and private companies. "It’s a romantic project," said Mr. Massaud, 45, sitting amid furniture designs in his Paris studio, "but then look at Jules Verne."
(link)
On reflection, this is probably just what I get for reading boing boing. What is the deal with those guys.
another code editor feature
As I try to avoid carpal tunnel, I'm using the mouse scroll wheel less, and the page up and page down keys more. But pages are not logical separators in code, so I'd rather that the page up and down keys paged to previous function and next function, instead.
Does any code editor do this?
Maybe it would get annoying if your function were more than a page long and you wanted to scroll within them, but really that should* be rare--your functions should almost always fit on a page.
*that's right, "should." As in, "the universe would be a better place if."
Does any code editor do this?
Maybe it would get annoying if your function were more than a page long and you wanted to scroll within them, but really that should* be rare--your functions should almost always fit on a page.
*that's right, "should." As in, "the universe would be a better place if."
domain name
ofbyandfor.us
The idea is that each sub-project is a subdomain, so we have castle.ofbyandfor.us and moonrocket.ofbyandfor.us and manhattanbeachnaturetrail.ofbyandfor.us.
I'll start with basic membership, level progression, tasks, and claiming, and start to layer on more tools, including conflict resolution, project rules, voting, etc., as they become necessary.
The idea is not build a complete stand-alone social network, but rather just the tools that don't exist anywhere else, and that external tools like emails, forums and wikis will carry the brunt of the actual interaction and work, until it becomes clear that a tighter integration is required.
The idea is that each sub-project is a subdomain, so we have castle.ofbyandfor.us and moonrocket.ofbyandfor.us and manhattanbeachnaturetrail.ofbyandfor.us.
I'll start with basic membership, level progression, tasks, and claiming, and start to layer on more tools, including conflict resolution, project rules, voting, etc., as they become necessary.
The idea is not build a complete stand-alone social network, but rather just the tools that don't exist anywhere else, and that external tools like emails, forums and wikis will carry the brunt of the actual interaction and work, until it becomes clear that a tighter integration is required.
agile issue-specific citizen driven lobbying
I just got an email from democrats.com that goes like this:
This is called lobbying, and it's generally associated with big organizations, trade groups, and corporations. Seeing it spread to the grassroots like this is illuminating, and it makes me hopeful that we're at the start of an era when concerned citizens can compete on an equal battlefield with concerned corporations.
Why not create an escrow fund for your issue, and allow any politician who champions your issue to earn those donations? It's all personal donations, under the cap, totally legal. Want to dismantle the DMCA or 100 year copyright? Start a fund, and the congresscritters who make it happen can claim the support of your grassroots group.
We spend a lot of time wishing politicians would ignore the money and follow their hearts and brains, but money will never leave politics, because getting elected is expensive. Maybe we just need to change the way it flows.
By the way, this is exactly the model of the NRA, and they have been enormously successful. The promise of the internet is that this model can be used instantly, on any issue that people care about, not just long-term cultural issues like guns and abortion.
...In the end, money is speech, and rich people have more access than poor people, but by leveraging superior numbers and distributed organization, poor people can have more of a voice now than they did before.
Let's Escrow Our Money to Keep Obama ProgressiveThis particular email is focusing on the FISA bill, and is trying to get Obama to put his weight on the telecom immunity issue. The idea is that sure, he's probably going to get our support anyway, but by tying a large amount of money up in escrow to a general behavior or a specific policy, diverse groups of citizens can have a big impact.
[...]we are asking you to use your money to ensure that Barack Obama lives up to his promise to deliver "change we can believe in. "
How? By creating a progressive "escrow" fund that you control.
This is called lobbying, and it's generally associated with big organizations, trade groups, and corporations. Seeing it spread to the grassroots like this is illuminating, and it makes me hopeful that we're at the start of an era when concerned citizens can compete on an equal battlefield with concerned corporations.
Why not create an escrow fund for your issue, and allow any politician who champions your issue to earn those donations? It's all personal donations, under the cap, totally legal. Want to dismantle the DMCA or 100 year copyright? Start a fund, and the congresscritters who make it happen can claim the support of your grassroots group.
We spend a lot of time wishing politicians would ignore the money and follow their hearts and brains, but money will never leave politics, because getting elected is expensive. Maybe we just need to change the way it flows.
By the way, this is exactly the model of the NRA, and they have been enormously successful. The promise of the internet is that this model can be used instantly, on any issue that people care about, not just long-term cultural issues like guns and abortion.
...In the end, money is speech, and rich people have more access than poor people, but by leveraging superior numbers and distributed organization, poor people can have more of a voice now than they did before.
learning about plants
I keep learning things about growing things in the ground. Step One has been learning how much I don't know, which is practically everything. Basically, the crows eat my tomatoes, and the snails eat my sprouts. I can do better. I've started following this blog by an Angelino couple, which is a good way to get the flavor of insight I'm looking for.
Also, today's DrMcNinja is particularly choice: "You need me to tell you how to hack a Draculabot so that you can ride it safely to earth from the moon."
Also, today's DrMcNinja is particularly choice: "You need me to tell you how to hack a Draculabot so that you can ride it safely to earth from the moon."
internet famous
Josh Marshall* cites me in a late update:
*My journalism hero. Dude was featured in GQ.
Late Update: TPM Readers NA and CS both note, very cleverly and aptly, that this is pretty much the plot line from The Producers.
*My journalism hero. Dude was featured in GQ.
thoughts and progress
Here are the ground rules for a system to build social capital by collectively generating and fulfilling tasks. Imagine that these tools exist in a web app, and are supplemented with comments, forums, news feeds, and customizable email notifications.
MEMBERS
WHAT ARE TASKS
CREATING AND SPONSORING TASKS
CLAIMING A TASK
CONFLICT
owners can deny claims within 1 week of claim
GIFTS
members can transfer xp to other members at a cost of 2 xp for every 1 xp granted.
PROGRESSION
as members gain xp, they advance in levels
VOTING ON THE SYSTEM PROPERTIES
members vote with their levels, but have to choose where to commit their votes.
STATS
here is an example of a stats system that a community might implement:
ASSOCIATED TOOLS
there are tools for scheduling many tasks
there is maybe a web service to allow web tools to auto-claim certain tasks
***
The first thesis is that this set of capabilities can foster a community to build something big, for free.
Positive interactions quickly multiply the communal xp pool (claiming a task creates 120% of the invested amount of xp, for a total of 220%), negative interactions deplete it; the second thesis is that the total xp of the community is a good measure of the social capital of the group, and represents real-world value in itself.
...I still need a good name for this system.
MEMBERS
- members have an xp count, which is 100 for new members, and 1000 for community founders
- members have a level
- members have membership information
- members have a history of every xp event
- maybe some stats that relate to the types of tasks claimed
- members have a public message board that they control
- members may have additional 'stats' specific to the community
WHAT ARE TASKS
- tasks have names and descriptions
- tasks can have deadlines(default is none)
- tasks with deadlines can be urgent(default is no)
- tasks have a quantity, and the quantity must be finite (default is 1)
- tasks can be repeatable by a member, or not (default is yes)
- tasks can request verifiable proof, or not (default is no)
- tasks have owners and sponsers
- tasks remember their histories
- tasks may have associated stats
- tasks can have comments
CREATING AND SPONSORING TASKS
- owners create tasks and edit them
- any member with positive xp can create a task. That member becomes the owner of the task
- sponsors invest xp to sponsor a task - invested xp temporarily lowers a players total
- sponsors can alter their sponsorship amount at any time (before a claim)
CLAIMING A TASK
- tasks can be claimed by any member with non-negative xp
- when a task is claimed
- the reward is granted to the claimant
- the sponsors are refunded 120%
- claiming your own task fully refunds the debt, but only grants a percentage of the claim amount, this percent starts at 0 and increases to 20 over time. (the vesting time is longer for larger rewards (constant xp rate per time, up to 20%)
- a task cannot be urgent with no deadline, but can have a deadline without being urgent
- tasks that have a deadline and are urgent start off cheap and increase over time until claimed
- the sooner it is claimed, the higher the kickback for the sponsors
- a claim can have comments
- a task can be un-claimed within 1 week of claim
- re-activates it,
- rescinds the refund to the sponsors (including additional award)
- rescinds the award to the claimee
CONFLICT
owners can deny claims within 1 week of claim
- rescinds award from claimant
- debits additional 50% of award as well.
- rescinds refund from sponsors
- temporarily destroys 50% of sponsored xp
- task is re-activated
- denial can be 'blessed' by members, each blessing restores sponsored xp to the task relative to the level of the member
- there is a time frame, after which no further blessings may apply
- (denying a claim is much more destructive than getting the claimant to un-claim it)
- rebuking can drive a player into negative xp, at which point they are effectively suspended from posting or claiming tasks
- a rebuke can be blessed similar to claim denials
- there is a time frame, after which no further blessings may apply
- a squash can be blessed similar to claim denials
- there is a time frame, after which no further blessings may apply
GIFTS
members can transfer xp to other members at a cost of 2 xp for every 1 xp granted.
- xp spent in this way cannot be restored by the community
PROGRESSION
as members gain xp, they advance in levels
- level progression requirements grow geometrically (or exponentially?)
- stats improve along a similar curve to levels.
VOTING ON THE SYSTEM PROPERTIES
members vote with their levels, but have to choose where to commit their votes.
STATS
here is an example of a stats system that a community might implement:
- Strength - physical tasks
- Dexterity - personal development, training, skills, and certification
- Constitution - dirty, boring, or unpleasant tasks
- Intelligence - technical tasks
- Wisdom - artistic tasks
- Charisma - communication tasks
ASSOCIATED TOOLS
there are tools for scheduling many tasks
- such as one task per day for "make dinner"
there is maybe a web service to allow web tools to auto-claim certain tasks
***
The first thesis is that this set of capabilities can foster a community to build something big, for free.
Positive interactions quickly multiply the communal xp pool (claiming a task creates 120% of the invested amount of xp, for a total of 220%), negative interactions deplete it; the second thesis is that the total xp of the community is a good measure of the social capital of the group, and represents real-world value in itself.
...I still need a good name for this system.
the backyard
I want to clear out the bushes around the eucalyptus tree, and put in a deck and an outdoor kitchen. Maybe do some landscaping also, and maybe plant some blackberries with trellises along the east wall. Paint the shed, add some lighting.
Maybe I should ask the landlord first?
Maybe I should ask the landlord first?
in search of the next code editor
What about hyperlinks?
when you've got the ctrl key held down, becomes:
Note, this does not replace good tooltips, which are also requisite. The difference is that hyperlinks denote navigation, whereas tooltips bring the help to you, in context. We should have both, and there should be a back button for reversing all navigations. Some editors already have this.
class Hello
{
public Hello()
{
print("Hello World.");
}
}
when you've got the ctrl key held down, becomes:
When you click the link, keywords and library functions bring up help, symbols navigate to declaration or definition, as appropriate.class Hello
{
public Hello()
{
print("Hello World.");
}
}
Note, this does not replace good tooltips, which are also requisite. The difference is that hyperlinks denote navigation, whereas tooltips bring the help to you, in context. We should have both, and there should be a back button for reversing all navigations. Some editors already have this.
don't open that email!
The New York Times reports today that White House officials simply refused to open an email from the EPA last year because they knew it contained a policy recommendation they didn't like -- part of the Administration's on-going battle with scientists at the EPA over global warming issues. (TPM)The hallmark of this administration, to me, has always been their willingness to break every rule and ignore every convention, if they felt they could do so without facing consequences. It seems to be a deliberate policy: exercise every avenue of power that you can, to prove that you can, in case you need it later. Establish every precedent you can get away with. You see this time and time again in the scandals over the years: signing statements, war propaganda, politicizing the Department of Justice, politicizing science, and warrantless wiretapping... The administration will ignore laws it does not like, and will defy congress and the courts in an attempt to define its own reality.
Ignoring a policy email is childish and dysfunctional, but if no one will hold them accountable for it, it is ultimately an effective tactic. By taking impeachment off the table, and by refusing to enforce its subpoena power, and by ratifying telecom immunity, the Democratic Congress has shown that it is unable or unwilling to enforce discipline. So apparently we just have to ride it out. My prediction is that Congress will remember its oversight powers as soon as the next president takes office. Sucker.
the meta game of castle construction
There's a site called Chore Wars where everyone in your household can create a character, and their character in game earns experience and goes up level every time the player does some housework in real life. You have to trust the players to self report accurately, but for small households that's not a problem. Not only does it wrap a metagame around the (questionable) game of housework, but it provides a reward and accountability system at the same time. If everyone in the house is level 20-25, except John who is level 5, you know who's been shirking.
I think this idea could be applied to castle design, development, construction, and maintenance. It would require maintaining a database of tasks (quests?), allowing users to create accounts, tracking completion of tasks, assigning XP rewards. Generate a list of obstacles to overcome on the path to awesome communal castledom, and create a reward system for individuals who help the community overcome those obstacles. Designing a room is worth 1000XP, creating architectural drawings is worth double, building a wall is worth a 5000XP, making dinner for the crew is worth 70XP, feeding the fish is worth 20XP, etc.. Every dollar you donate to the general fund is worth 1XP. Community administrators and moderators edit the XP values of all tasks, and tasks that go undone accumulate XP, so that eventually they will be picked up by someone, and the system self-regulates.
Then layer a system of IRL rewards for achieving levels. Castle priveleges are the main reward. Level 50+ contributors can live at the castle for the rest of their lives, level 5 contributors can stay free for a few days, and so on. Even (and especially) the founders are bound by these rules, and the rules are voted on by all contributors with voting rights (level 10+?). The community gets the benefits of crowd collaboration, and evades the tragedy of the commons. There's palpable status, not to mention material rewards for participation. The many kinds of participation all funnel in to a common community reward system that's not primarily monetary, which is key for a system built primarily on love.
Thoughts?
I think this idea could be applied to castle design, development, construction, and maintenance. It would require maintaining a database of tasks (quests?), allowing users to create accounts, tracking completion of tasks, assigning XP rewards. Generate a list of obstacles to overcome on the path to awesome communal castledom, and create a reward system for individuals who help the community overcome those obstacles. Designing a room is worth 1000XP, creating architectural drawings is worth double, building a wall is worth a 5000XP, making dinner for the crew is worth 70XP, feeding the fish is worth 20XP, etc.. Every dollar you donate to the general fund is worth 1XP. Community administrators and moderators edit the XP values of all tasks, and tasks that go undone accumulate XP, so that eventually they will be picked up by someone, and the system self-regulates.
Then layer a system of IRL rewards for achieving levels. Castle priveleges are the main reward. Level 50+ contributors can live at the castle for the rest of their lives, level 5 contributors can stay free for a few days, and so on. Even (and especially) the founders are bound by these rules, and the rules are voted on by all contributors with voting rights (level 10+?). The community gets the benefits of crowd collaboration, and evades the tragedy of the commons. There's palpable status, not to mention material rewards for participation. The many kinds of participation all funnel in to a common community reward system that's not primarily monetary, which is key for a system built primarily on love.
Thoughts?
Subscribe to:
Posts (Atom)


