Wednesday, 19 November 2014

Gamers Against Real Violence

I struggle to reconcile my enjoyment of computer games that are often violent with my rejection of real world violence in all but the most extreme of circumstances. This issue doesn't appear to me to be fully resolved by the gaming industry either.

I suggest the creation of a not-for-profit organisation, provisionally titled "Gamers Against Real Violence", to facilitate the gaming industry's response to this issue.

The mission statement of this organisation would be something along the lines of:

We make, play and enjoy computer games that are violent, and that may even glamorise, glorify or trivialise violence. However, we a steadfast in our condemnation of real-world violence. We look forward to the day that violence only exists in fictional media, and we will support causes to this end.

Developers would be allowed to display the GARV logo and mission statement on splash screen before and after games, and on box art etc, if they are members of GARV.

Members would be required to take action to the stated aims of the organisation, for example by donating to relevant charities (e.g. Amnesty International), sponsoring independent research to explore the impact of violent gaming, supporting rehabilitation, etc.

Thursday, 30 October 2014

Scoreboard system

Outlined below is an idea for a scoreboard/leaderboard system for a PvP (player vs player) type game. It would work for games like chess and for team first-person-shooters, and potentially also for soccer (although it doesn't lend itself well to seasons).

The system is designed for players joining at any point into an established leaderboard, much like in online PvP computer games.

  • When a player first starts they get 100 points.
  • Each game you win you take 10% of your opponent's points.
  • Hence, no player can go below zero.
  • For games that are purely skill-based (no luck or pay-to-win), it is very quick to rise to the top of the leaderboard, just challenge and win against players with high scores.
  • To stop players at the top only challenging / accepting challenges from weak players, a player cannot challenge another player if he/she has unanswered challenges and challenges must be accepted in order.
  • To avoid players stalling for time, games can time out, with a penalty to both players in excess of the 10%
It would be possible for a person at the top of the leaderboard to just stop playing any more games, and thereby keep their score. However this would just serve as an incentive for other people to out-do  them.

Wednesday, 29 October 2014

Siri Full Metal Jacket crossover

The current iterations of intelligent personal assistants like Siri are fairly reactive. You ask them a question, they respond. But the future generations, and the ones I will be intrigued to experiment with, will be proactive. They will push information your way. They will remind you of things.

And the step beyond that is the intelligent personal assistant that challenges you. One that tells you off for eating too much, or for slacking off, or for not going for a run. And we'll be able to "skin" them too, so I can have Gunnery Sergeant Hartman (of Full Metal Jacket) calling me a "puke" and "maggot", and pushing me to exercise harder.

Tuesday, 29 July 2014

Supermarket app

Supermarket A produces an app such that enables customers shopping at any other supermarket to scan the items (or perhaps the till receipt) when shopping at any other store. The app the calculates to price difference to shopping at Supermarket A and gives a discount (potentially an amount related to the difference) which can be claimed from a future shop at supermarket A.

The advantage to the supermarket is the data and the discount incentive to shop with them. The advantage to the customer is the discount.

Saturday, 7 June 2014

Obligation not to publish

It seems to me that it could be argued that there is an obligation (potentially even a moral one) not to publish if what you are publishing is not adding novel content to the sum total of human knowledge. Any publication that adds content that is not novel, increases that total amount of content, without increasing the total value of the content, and as such dilutes value in the body of human knowledge. This dilution makes it harder for people to find the right information - effectively an inefficiency in society.

I fully acknowledge that through this blog I am probably failing to fulfil this obligation.

An interesting aspect to this thought is the challenge of establishing whether any content is novel. The existing sum total of human knowledge is not readily searchable for a number of reasons: not all is digitised; not all is in a language the searcher is familiar with; much that is digitsed is behind a paywall (especially books); and, notably, an idea that is equivalent may be expressed in materially different ways that would be hard for a searcher to identify.

Monday, 12 May 2014

Modular reusable construction for adults

Kids have some great toys that harness the power of modular, reusable construction. The most obvious example is Lego, but there are many others.

But there seems to be a dearth of equivalents at a larger scale, for larger scale construction projects. And yet to produce them would be relatively easy. There is already lumber in standard sizes, the ubiquitous 2x4, amongst others. What is needed is connectors for these, for a range of joints: corners, Ts, etc.

It may be possible to have a two-step connector system. One piece of plastic is screwed permanently (or at least semi-permanently) into the ends of the piece of wood. And another piece of plastic joins those plastic fittings, with a simple clip-in and clip-out. This way, each length of wood can be quickly reused in many different configurations, as can the plastic fittings that aren't permanently fixed to the wood.

Obviously the fittings could be made out of metal rather than plastic if load is anticipated to be significant.

How many contracts?

How many contracts does an individual enter into in a lifetime?

If an extant contract is one that could have bearing on a contract decision made by a court (or other authority), how many contracts are people typically party to at one point in time?

How about organisations?

It seems to me the task of tracking contractual rights and obligations is currently an impossible task to achieve to any degree of completeness.

How could a software solution help?

Superhydrophilic coatings

Superhydrophobic coatings have received significant publicity in recent years, particularly in regard to claims of keeping surfaces clean. However, it occurs to me that superhydrophilic coatings will have numerous potential uses as well.

A superhydrophilic coating counter-acts water's surface tension property allowing a thin film of water to be maintained on a surface. In relatively moist environments a superhydrophilic coating may help keep a surface clean by maintaining a thin film of water that prevents the adhesion of "dirt" and may provide lubrication.

Washing line tension

It seems to me likely that as washing on a washing line dries, the tension on the line should reduce as the mass of the clothing on the line will be less. It may be possible for a sensor and processor to monitor the tension of the line, and hence infer when the washing is likely to be dry - the decrease in tension will have levelled off.

The line tension sensor may also be able to warn when it is raining, as the clothes will begin to increase in mass (although an integrated rain gauge or other weather sensors would probably be more accurate.

However, such an approach may be limited by the level of noise in the system due to wind causing fluctuations in tension of the line. Other methods could be: photo-spectroscopic analysis of a laser pointed as a particular (and hopefully representative) item of clothing; humidity sensor placed along the line.

Sunday, 20 April 2014

Tunnelling in loose soil methods

I recently read about the difficulties encountered by the prisoners escaping from Stalag Luft III (the Great Escape) due to the looseness of the soil. When digging downwards the walls of the shaft would cave in before sufficient depth had been dug to put in place the next pieces of wall, and likewise with the horizontal shafts, both the ceiling all walls would cave in before the next pieces of ceiling and walls could be put in place.

It occurs to me that there might be a design solution that could address these problems. To my mind, the key is to have walls that move down (or extend sideways) continuously, and which are able to interlock to withstand the pressure of a cave-in.

The diagram below illustrates walls that interlock (and could actually be bolted in place) sitting inside the existing walls of the tunnel. These would be continuously advanced as the digging continues (for vertical shafts the force of gravity would be sufficient, but for horizontal shafts some other force, e.g. a spring mechanism, would be required). Once the new section of wall has cleared the old section, it is expanded and corner pieces are added to form a rigid structure (probably bolted together).

Obviously a key requirement is that the soil be loose enough that it can accommodate the force of compression to move the sections of wall outwards.

This approach should also work with other shapes. For example, to achieve a cylindrical-like tunnel, four quadrants of a circle would be expanded with straight sections.

Additionally, for horizontal shafts a rhomboid type structure may be preferable as the risk of ceiling cave-in is more significant that side wall cave in.

Friday, 18 April 2014

Using hydrogen in airships

Having read recently about the scarcity of helium has led me to give some thought to whether hydrogen should be reconsidered as the lifting gas for airships.

The advantages of hydrogen over helium are that it is less, cheaper to produce and less scarce (particularly on Earth, but also in the Universe at large). The downside is that it is flammable.

However, I think that good engineering could overcome the issues of flammability. Here are some ideas:

  • Make the envelope out of flame retardant material
  • Make the envelope into a cellular structure, such that one cells can be burst and catch fire without causing all of the other cells to do likewise
  • Fill the outer cells of the aforementioned cellular structure with cheap inert gas (e.g. Nitrogen). This means that outer damage doesn't result in the release of flammable gas, and also means that if both an outer cell and an inner cells are burst, the burn rate is lowered as there's less oxygen in the immediate vicinity of the hydrogen
  • Build in fire suppression systems
  • Structure the gondola to a glider, such that it detaches from the balloon in the event of a fire and safely returns to Earth
  • Add parachutes to both the gondola (as an alternative to the glider functionality) and the balloon. The latter is intended to prevent damage to people or property on the ground when, after a fire, the ballon falls to Earth
  • Deploy such airships as AUVs / drone (at least until such time as a strong safety record could be established)
  • Only use such airships in isolated areas / over the sea (at least until such time as a strong safety record could be established)
Would these safety features be effective? Would they be cost-effective compared with alternative lifting gases and alternative modes of transport?

Saturday, 22 March 2014

Wasted life

I think it is the case that, underneath it all, one of my main drivers is that I not have a wasted life. I wonder how common that sentiment is.

How does the desire for a life that is not wasted manifest itself? For some people, I think that the desire for status is a manifestation for a desire for a life that is not wasted: status is 3rd party evidence of achievement (achievement that is acknowledged by others). How could it be said that a person who attained high position, or achieved great things, wasted their life?

But perhaps the measurement of life should not be through the lens of others' perception. Perhaps we should measure against ourselves? Perhaps what is important is the pursuit of inner peace or enlightenment?

Wifi hotpot spoofing attack

I was thinking today about a possible attack method spoofing wifi hotspots. I'm sure this probably already exists, but I'll write about what I was thinking nonetheless.

I'm pretty sure it would be possible to make a computer with a wifi card appear to be a wifi router. i.e. the computer advertises a wifi network that other computers can join. This could be either a secure or insecure network. For example, if running the spoofing computer in Starbucks, the cracker might use a similar SSID to the Starbucks own SSID, and use the same password.

By spoofing the DNS services once target computers are connected to the spoofing computer, it should be possible to make it appear to users that they are accessing the domain of a particular website, and hence would enter password details. The only defence in this circumstance would be the certificate of the website.

Exercise whilst sleeping

I wonder whether it would be possible to exercise the body whilst the mind is asleep. I don't like exercise, but the evidence suggests it's essential, so why not do it while I'm not conscious of doing it, both saving me the discomfort and the time.

How might this be achieved? A key factor is to monitor the brain to make sure that the user is fully asleep before the exercise programme begins, and also to stop or lessen the exercise programme if the user appears to be waking up.

The exercise itself could be achieved through electrical stimulation of muscles, or through moving limbs via mechanical means (potentially similar to the Puppet Suit concept I wrote about, or some kind of exoskeleton).

It may be possible to develop drugs that deepen sleep to avoid the exercise waking the user. Or to lessen the users sensing of their body.

Implants that stimulate adrenal gland on demand

I would quite like to have implants that stimulate adrenal glands on demand. The ability to stimulate the adrenal glands (releasing adrenaline) would make training harder easier, making it easier to be fitter and healthier.

Such implants should be possible with today's technology - it's not dissimilar to a pace maker, but with some kind of remote control (e.g. via Bluetooth).

Obviously it's essential that safety mechanisms are built in, to prevent hacking and over-stimulation.

Another possible use of the implants would be as an alternative to an alarm clock - allowing the user to have an energetic start to the day.

High Availability Education

Many educational processes that I have experienced have not adequately addressed the weaknesses in human memory.

I think it would be really interesting to apply the component failure system resilience design principles to education: high availability systems are designed on the assumption that hardware components fail, but that when a failure occurs the system continues to operate.

Similarly, educational programmes should be designed on the basis that the learner will forget, and as such, the mechanisms for dealing with a "forget" scenario.

Fundamentally, all there should be an expectation that all educational materials used by a learner are available to that learner for the rest of their life, creating a "non-brain memory". This is all the more possible now that learning materials can be stored electronically.

The key is that learners learn to add to, reference from and refine their non-brain memory. Ensuring learners have a well organised set of non-brain memory should be of upmost importance to educators.

There are numerous techniques to increase the usefulness of non-brain memory. Obviously, the search functionality of electronic media is ideal for allowing a learner to find information relevant to the topic they need to refresh. But there are also techniques such as creating topic summaries or cheatsheets that provide rapid access.

Tuesday, 18 February 2014

Anonymous online community

I have an idea for an anonymous online service that can maintain anonymity whilst facilitating community. The basic concept is that each user would have a unique identifier for each other user. For example:

User 1 User 2 User 3
User 1
Mr Blue Mr Red
User 2 Mr Green
Mr Orange
User 3 Mr Yellow Mr Purple

In the above example, when User 1 sees posts on the online forum that are made by User 2, he/she sees them as coming from Mr Green, but when User 3 sees the same posts he/she sees them coming from Mr Orange. Likewise, when User 1 replies to User 2's posts, User 2 sees that response as coming from Mr Blue.

On all posts, the users would be able to reference the target user names as an object embedded in the text of the response. This would then be changed when viewed by other users. So in the above example, when User 1 responds to User 2, he/she might say "I agree with ". Then when User 3 sees this post, they would see Mr Red saying "I agree with Mr Orange".

When a user first joins the online service they would begin interacting in the public spaces (e.g. forums, Q&A, blogs, micro-blogs etc), but having got to know other users in the public spaces, the user would be able to add the other users as friends (social network functionality) or send private messages (email functionality). It is worth noting that the public spaces would not be open to the internet - the user would need to have an account (similar to existing social media services).

There is a risk that anonymity would deteriorate if users didn't refer to other users by the embedded object method, or if other uniquely identifying information is provided (e.g. photos) (or potentially via stylometry / writeprint). Obviously there would also be a risk in the event the servers are compromised.

Saturday, 8 February 2014

Automated fold out stairs and elevators

In the average house of more than one story, a significant proportion of the space is taken by staircases. This space consumes resource: a larger house for the same living area to accommodate the staircase; and power to maintain the air temperature of the staircase area. So how can this be made more efficient?

One approach is a steeper staircase, but this is likely a false economy due to the increased risk of accidents. Another would be a fold-out staircase that would not consume space when not in use. A fold-out staircase would typically not be an attractive solution however due to the hassle of folding it out each time for use. However, if such a fold-out staircase could be mechanised, this "hassle-factor" could be significantly reduced.

A simple design would be a set of boards that when not in use are folded upwards against a wall. The banisters would be folded against the boards, and would fold up when the board is in down position. Around the hole in the floor in the upper room an automated guard rail would be required.

A similar approach could be taken with an elevator: the floor of the elevator would default to being in the upper floor; guard rails would be folded away when not required.

Such solutions would require relatively sophisticated technology: mechanisms to efficiently fold away the banisters, rails, etc; sufficiently strong materials; sensors to ensure people, pets and other objects aren't in the way when deploying.

Obviously, the space saved could not actually be used to place furniture or any objects, but would enhance the visual space of the house.

Sunday, 2 February 2014

It is relatively easy to learn from books and web resources; it's relatively easy to ask questions to help clarify your knowledge (e.g. Stack Overflow); it's relatively easy to find quiz papers; but, it's hard to the kind of insight you can get from someone reviewing your work without someone actually reviewing your work.

Often it's not about whether your right or wrong, but about why you're wrong, what gaps are there in your knowledge, your mental models, your logic, etc. Some of this can be achieved from Q&A type websites, but often they require the questioner to articulate the question quite specifically. They don't let the user do something like say "Here's what I've been working on, what do you think?". And they're not grading essays.

I think there's a need and an opportunity for a web service for learners that goes beyond Q&A type support, but is actually set up with a focus on people submitting homework and having it reviewed. I suspect it might be necessary to pay people for such review given it would be more time consuming that simple Q&A response.

Such a service could incorporate all of the useful features of existing Q&A type services (e.g. reputation scores for reviewers, published reviews that are easily findable by other users, strong code of conduct and moderation, question tagging / categorisation), along with those of paid online micro-tasks (such as those of Amazon Mechanical Turk).

Build form like functionality into email

In some ways it's surprising that this hasn't already been done (or perhaps it has and I haven't seen it). Often people ask for structured data via email, with that email going to a number of recipients. There are a variety of ways this is currently done: a simple message to and fro; a message with an attachment to hold the data in a structured fashion; or the use of a web-based tool like SurveyMonkey.

It seems to me that most email programs these days handle HTML (and potentially javascript?) and as such it might be possible to build form functionality into the body of an email. The recipient would not need to go online to fill in a form, or download and open an attachment, but natively respond via email in a structured format.

The process would look something like the following:

  • the sender (who requires the data) builds an email with a form generator tool (selecting widgets such as dropdowns and input boxes);
  • the sender then sends the email to the recipients
  • the recipients open the email, fill out the form and reply
  • local javascript input validation would prevent the reply email being sent without required fields being filled in
  • the original sender would receive the reply in a structured format
  • the email application of the original would collate all responses, tracking those not received and build up a database (single table spreadsheet / RDBMS style / object oriented) of the responses (or potentially the receiving email address application could be set up to pump the received data into a server-hosted database)
The advantages of this system are that there is no need to move outside of the email application to use web forms (can be done offline, then sync), and that structured data is collected into a useful format without manual copy-paste.

Abrastraction costs efficiency

I hadn't really thought about it until recently, but it seems to me that often (not necessarily always) that abstraction costs efficiency. In order to provide a abstracted and simple interface, it may be necessary to introduce inefficiency into the design. Or the absence of knowledge at the higher levels of how things work at a lower level mean that the high level makes inefficient user of the lower level.

This concept applies to computers, but I think also to the structure of organisations and societies.


A hypothesis from personal observation: when sleep we are more likely to respond to external stimuli during the REM phase.

GUI object data application

This is probably an anathema to database people, but to my mind spreadsheets are a cousin of relational database management systems: data is stored in tables, there are lookups between them (e.g. vlookups in Excel), there are rows and columns. Often data is stored in spreadsheets that should be stored in RDBMSs, but the flexibility of spreadsheets and their relatively easy GUI mean that they're used instead. They're a gateway drug to RDBMSs, but a lot of people don't progress onto the strong stuff.

It seems to me that there's no such equivalent to spreadsheets for NoSQL / object databases (and even graph databases). There's nothing (to my knowledge) in common office suites for storing object type data (i.e. with a less defined schema) with a user-friendly interface. And this is a gap that should be filled.

Each document (file) would contain combinations of lists and objects similar to JSON. In the GUI, the user would be able to add objects and lists to the document, and remove them and delete them. And then with these elements the user would be able to add items to the list, and add properties to objects.

I would also envisage some kind of ability to do formulae like in spreadsheet programs. For example, the property of object B is calculated by reference to a property of object A. So the user would be able to specify unique identifiers for the object and then be able to look up objects and access their properties.

Such a program would be able to save data in XML and JSON for easy transfer to other applications.

Promises to yourself

Don't make promises to yourself that you can't keep and don't set yourself unrealistic targets: because if you fail to keep those promises, or to meet those targets, you undermine your own confidence in yourself.

Kitchen micro-automation

One day I'd like a fully autonomous humanoid robot that'll do everything in the kitchen for me. But that still seems a little way off unfortunately. So here are some minor automations to help in the meantime:


The auto-toaster would be similar to a normal toaster, but equipped with some kind of reflectivity colour sensor and some kind of smoke/particulate sensor (like those used in smoke alarms). These sensors would allow users to program the toaster to toast "until it's done", rather than relying on fixed time settings.

The ability to sense "when something's done" also allows flexibility around the heating rate: the user would select the heating rate (low, medium, high) rather than time taken. This would allow for foods that toast better under a longer slower heat.

Tilting cooker

Well, not really a tilting cooker, but a tilting pan grid (i.e. the thing that the pan sits on). A very slight rotating tilt movement would cause movement in the contents of the pan, reducing the amount that food sticks to the pan.

(An alternative is a laboratory style magnetic auto-stirrer, but that could potentially be intrusive into the cooking experience, and of course needs to be washed up.)

Auto-filling sink

A sink tap that fills bowl to optimum quantity and temperature (valve actuator, temperature sensor, flow control sensor). The user would program the system once, (potentially "recording" you filling the sink), then press a single button to use.

Auto extractor hood

An extractor hood with humidity / particulate sensor that automatically turns on and off.

Automated dry products dispenser

Dry products such as herbs, spices, flour, sugar are placed in containers within a dispenser. The dispenser will move the container to position, and dispense by volume (teaspoons, tablespoons, etc) and by mass. This product combines storage and dispensing. It saves time in dispensing, and is also an efficient use of space.

Vibration may be required such that the dry ingredients fall from the container into the measuring receptacle.

Automated wet products dispenser

As with the dry products dispenser, this would be a series of contains of liquid products in an array. When selected the dispenser moves a tube to the mouth of the dispenser and opens the valve allowing the fluid to flow into the measuring receptacle. The measurement would be by mass or volume.

It would be necessary to flush the tube with water and some kind of organic solvent after each use. This could be automated.

It may should be possible to combine refrigerated containers for fluids like milk.

This is a bit of a high level concept (and perhaps one that I may flesh out later), but I think it's worth writing down, even if it's only a prelude to an idea.

The problem I'm considering is that whilst there's a lot of data being generated in the world, it's not in a standardised format, and it's not centralised.

I am wondering whether it would be possible to design an online data hosting service where users could submit any form of data, adhering to a specific format (possibly one of a number of formats). For example, if a data point related to a day (e.g. the closing stock price of a particular stock on that day), the day from that dataset would be structured in that dataset in exactly the same way as another dataset recording the average temperature in Los Angeles by day.

A key consideration of this type of service is that there would be strict requirements on metadata, enabling users of the data to understand the tools and methodologies that were used in collecting it.

The advantage of a centralised repository would be a single location from which to search for data sets. It may even be possible to search on something like "find datasets that correlate with my dataset" rather than just a keyword search of the metadata.

I've written before about what I want from an online media service. And I'm still not getting it. So I've come up with an idea of how we might push ourselves in this direction.

The concept is a service-independent website where users can document what media they were unable to find on what services. For example, a user might list the films they're frustrated aren't on Netflix or Hulu. And then other users can vote on these requests, such that the most significant gaps in content become most obvious.

The service would be a bonus for the online media services as: it would link into their libraries such that when a person reports "I can't find X on Netflix" the system tells them "Don't worry, it's on Hulu". And similarly, when the online media services do finally get the content, the website can update the request and put a link out to the site.

The concept applies across all kinds of online media services, but would be particularly relevant to the mainstream services covering TV, music and film.

The service would be relatively easy to build, as many online information sites (e.g. IMDB) provide APIs to allow details of the media content to be pulled in.

It may be necessary to make the documentation of gaps and voting region-specific due to the regional specificity of some online media services.

Sunday, 12 January 2014

Ducting cross-winds to make highways more efficient

There are many stretches of highway are exposed and hence suffer from crosswinds. It occurs to me that it may be possible to harness the energy in the crosswinds using ducts at the side of the highway. The entrance to the duct is parallel to the carriageway, and the exit points in the direct of traffic flow (on each side of the road). The force of the wind blows air through the duct, creating a flow in the direction of the traffic, which reduces fuel consumption of the vehicles travelling on the highway.

Sunday, 5 January 2014

Turn-based stock trading

As far as I understand stock trading on a stock exchange happens in real-time (to borrow terminology from the computer games world), i.e. the matching engine holds a list of buyers with their buy price, and a list of sellers with their sell price, and as soon as the buy price of a buyer matches the sell price of a seller, that exchange takes place.

I wonder whether it would be possible, and whether it would be advantageous, to make this system turn-based (borrowing another turn from the computer games world). A "turn" would execute in full at a particular time. The buyers and sellers have until this time to submit sealed bids. The buyers are ordered by buy-price, and the sellers ranked by sell price, and the buyers and sellers satisfied in order for that turn until the sell price exceeds the buy price, or either list reaches the end.

The advantage of a turn-based system is that it introduces more time into the system, meaning that human traders and those overseeing the market have more chance to respond. There's less opportunity for run-away algotrading to cause a crash. It would potentially mean fewer trades per day, which would mean less commission for brokers.

An example of the turn-interval would be 8 turns per day with an hour in-between them, but other intervals could be explored to find something appropriate for each asset class (any trade-able asset could potentially be traded in this manner).