Tag Archives: computer

Real estate website improvements

Almost all real estate websites I have read are missing the essential information about a lease from their search filters. The core info is whether the property is available from a certain date to a certain date, whether the minimum and maximum lease lengths allow a tenancy for the specified term, what is the monthly rent for that term. Some websites specify that information in the description of the property, but do not allow searches based on it. On some websites, the rent doubles when the term is halved, which would be good to know from the start instead of after clicking on a search result.

If the property is only rented to a specific class people, e.g. requires a number of years of good rental history, a certain income level, etc, then it would be good to know this at the start of the search, instead of during the application process.

Almost useless info like hardwood floors, granite countertops, historic building, etc should be removed or relegated to the bottom of the page.

In general, any search website should allow the user to remove specific results (that the user has deemed irrelevant) from future searches, like Craigslist does. Being able to save the search like in Craigslist is also a useful feature.

App for police reports

Australia would benefit from an app or website for reporting parking and traffic violations (Singapore has such a website) and rating drivers. It would make police work easier, and the greater probability of getting caught would deter illegal parking and dangerous driving. To prevent frivolous reports from overloading the system, people should make the report under their own name, which requires proving their identity to get an account on the app. Proving identity online is easy in countries with a national ID system like Estonia, but may require more red tape in Australia.
The app should allow uploading proof of the violation, for example a photo of an illegally parked vehicle or a dashcam video of someone’s dangerous driving. There should also be an option of uploading a signed statutory declaration describing the crime. In summary, the app should make it as easy as possible to prosecute a violator, so it should follow legal procedure and standards of evidence as much as possible.
The current system of calling the police non-emergency number to report small infringements is slow and cumbersome. For example if the answerer of the call does not understand the address, or the problem does not have a clear address (e.g. a car parked in the middle of a nature park), then it takes time and frustration to explain the place at which the law is being broken. An app could easily solve the address issue by allowing automatic location tracking. The current system of reporting by phone also has no way for a caller to provide evidence that someone is breaking the law.
Privacy laws in Australia are sometimes unreasonably strict. Even emergency services cannot see the location of the mobile phone from which they receive a call (https://www.acma.gov.au/theACMA/emergency-call-service-faq-i-acma) Such draconian privacy laws may prevent the uploading of proofs of violations, e.g. photos of illegally parked vehicles. Statutory declarations testifying to someone’s lawbreaking probably do not infringe on the lawbreaker’s privacy, so do not bring legal trouble to the person reporting the violation. Uploading declarations could be used as a first step to make the app useful for prosecution.
The app could also allow positive feedback, i.e. praising polite drivers. If this feedback is verifiable, because the users of the app have proved their identity, then a person applying for a driving job (bus, taxi, lorry) could use a good rating on the app to prove being a safe driver. This would be a selling point in the job interview.
Philosophically, policing anything means that the community agrees to impose punishments for certain behaviours. This sanctioning may be delegated to specialised workers like police officers, judges, prison wardens. The app for reporting violations could be used for distributed policing instead, meaning that anyone in the community can use the app to check the past feedback on others who they interact with. Then the community members can respond in the interaction according to the feedback they see, for example avoid trusting someone with who has been repeatedly reported for lawbreaking. Such a verifiable feedback system then rewards good past behaviour and punishes the breaking of social norms.

Charge electric cars fast by changing the battery

An electric car drives into a charging station. The driver pushes a button to unlock the battery compartment hatch on the rear bumper. The hatch springs open, which is detected by a camera of the station. A robotic arm swings into motion and, guided by cameras, radar or ultrasound, latches on to well-marked standardised handles on the rear of the battery. The arm pulls out the 300kg, 1×2 metre battery from underneath the floor of the car and slides it onto a conveyor belt. The belt moves the battery to one side and brings up a new battery, which the robotic arm picks up and slides back into the car’s battery compartment. The driver pushes a button to close and lock the battery compartment and drives off. The whole charging process takes less than a minute – significantly faster than filling up a gasoline-powered car.
Due to the weight and size of an electric car’s battery, a robotic arm is probably necessary. It is also faster and more precise than a human.
The usage history of the battery should be recorded securely, in order to make users pay for its depreciation, not just the electricity they used. Blockchain may be useful for keeping track of usage, which is needed to deter the moral hazard of using the battery inappropriately and not paying for the damage, or swapping it for a cheaper alternative before having it changed back to a standard one in a charging station.
The compartment in which the battery is has to be water-tight and locked (like the trunk or hood of a car) to prevent theft. The compartment should also be unlockable remotely by the owner or other authorised person, in case the car is self-driving and has no humans in it.

Improvement for noise-cancelling headphones

Current noise-cancelling headphones deal well with predictable noise that has a short period of repetition, for example engine rumbling or the hum of an air-conditioner or fan. Unpredictable noise is of course difficult to cancel – the headphones would have to detect the new sound and produce the opposite wave of air pressure quicker than the human ear can detect the new sound. This is theoretically possible, because the sound reaches the outside of the headphone before it reaches the inside of the ear, but may not be feasible at the current technology level.
What is possible, but not done, at least by the Sony MDR-1000x headphones I have, is cancelling predictable noise with a longer period of repetition. Specifically, the beeping sound of trucks reversing has a period of 1-2s and is very predictable, but the headphones do not cancel it at all. It seems that a tweak of the noise-prediction algorithm could fix this – no need to invoke machine learning or anything more complicated. The headphones would just have to keep track of the sounds reaching them in the last few seconds and look for simple repeating patterns. Then these patterns can be predicted and cancelled. Currently the headphones seem to predict only based on the last half-second or less, so any longer repetitions of sound are not taken into account.
Some birdsong is repeated beeping, similar to the signal of trucks reversing, but of course slightly less predictable. This bird-noise could conceivably also be cancelled, although if the gaps between the beeps vary, then the first small length of time during an unexpectedly early beep would be difficult. Similarly, if the length of the beeps varies, then a beep that stops unexpectedly early would be over-cancelled (headphones produce a sound that is detectable on the background of silence).
To help the headphones recognise new noise patterns, the user can press a button when an undesirable sound is heard, and release the button when the sound stops. The algorithm can compare the button presses to its sound-recording in the same time interval, which would help it identify the start and end of the noise that needs to be cancelled. Sometimes humans are better at detecting complex patterns than a computer, in which case this user input to the headphones would speed up the identification of new forms of noise.

Online reviews should include more facts

Online reviews are a public good and increase social welfare, but they could be improved by including more concrete data. For example, a restaurant or grocery store review should list the prices of specific foods. A review of a bar or function venue could estimate the number of tables and seats and the distance between tables, thus quantifying how cramped the room is. Currently, most reviews on Google Maps, Yelp and other similar sites are vague, just stating that the reviewer had a bad or great experience, that the staff were helpful or not, etc.
The purpose of a review is (hopefully) to help others (although some people just write rants to vent their emotions). Facts in reviews would help others more than opinions. Photos of the establishment and the food are useful, because they provide factual information. Some photos are more helpful than others. For example, it is more useful to see the inside than the outside of a venue. It is not very useful to see a picture of the outdoor sign of the establishment, but a readable photo of the menu conveys lots of information. In the future, Google Maps and competitors could automatically extract text from photos that contain it, and display the information in search results. Then photos of the menu, or of prices in a grocery store would be even more useful.
The idea for this post came from fruitlessly searching the web for current prices of groceries in different supermarkets in town. It would have been helpful if recent reviews of these supermarkets had included prices of at least some items.
The grocery price comparison apps that I tried had the limitation that the prices were for specific branded products and per package (e.g. Organic Carrots 500g), not per kilogram of a generic product (e.g. 1kg of carrots). This made it difficult to compare general pricing across shops, because each shop has a different range of brands, and only the price of the exact same brand can be compared.
An easy fix to improve the apps would be to allow users to specify which differently-branded products should be treated as identical, for example “Coles orange juice 2 litres” is the same for me as “Woolworths orange juice 2 litres”. Merging similar products would also reduce the memory requirement of the app, because the product database would have fewer entries to keep track of.

Self-balancing computer game

In both tabletop role-playing and computer games where players choose between different characters, some characters may be stronger than others when played optimally. This is undesirable in multiplayer games, because either most players will choose the stronger characters or some players will be handicapped by their weak character, which tends to reduce the enjoyment. Game designers spend time and resources “balancing” the game, i.e. changing aspects of the characters to give them all approximately equal strength. It is difficult to predict all possible ways a character may be played, so players may discover tricks that make a character significantly stronger than others. To counteract this, the game can be made self-balancing: the more players choose a given character, the weaker that character becomes. Then the discovery of ways to play a character better (giving additional strength) initially benefits the discoverer, but is neutralised with widespread imitation, analogously to innovative firms reaping monopoly profits initially from their patents, but eventually losing their competitive advantage to imitators.
The simplest way to self-balance is to subtract some measure of strength, e.g. health points, armor, attack points from the most frequently chosen characters. One in-game interpretation of this loss of strength to crowding is that each character channels power from some source (magic item, god, nature) and if more people channel a given source, then each of them gets less power. There are other ways to impose a negative congestion externality to achieve self-balancing.
One source of congestion-induced weakening is that in-game enemies (NPCs) fight better against characters they frequently encounter. This can be interpreted as learning (if the enemies flee before dying and later come back) or evolution (if the longer-surviving enemies multiply relatively more). In an evolutionary arms race, players pick characters that are strong against frequently encountered NPCs. NPCs vary in their resistance to different attacks and relatively more copies are spawned of those who last the longest under player attack.
Another congestion externality is a shortage of some resource that strengthens a particular class of characters. For example, equipment usable by that class may be in limited supply, in which case if many players choose that class, then they will find themselves under-equipped and weak. There could also be a shortage of materials for manufacturing the equipment, or a shortage of class-specific quests for gaining experience.
To make players (as opposed to NPCs or the game mechanics) the source of disadvantage to a frequently chosen class, the classes should have advantages over each other in a cycle, for example archers defeat riders, riders defeat swordfighters, swords defeat archers. In this case, if a class is frequently chosen, then this invites other players to choose another class that has an advantage over the frequent class, e.g. if many have chosen riders, then this creates an incentive to choose archers. Such a cyclical evolutionary dynamic has been observed in lizards (Rapid Temporal Reversal in Predator-Driven Natural Selection, Science 17 Nov 2006 Vol. 314, Issue 5802, pp. 1111).

Restaurant learning what food people like

A restaurant chain can collect data on what food people like by examining the plates collected from the tables – the more leftovers given the size of the dish, the less popular the food. However, looking at the plates and entering the data takes time. It would be much faster to automate the process. For example, there could be a small conveyor belt for dirty dishes brought back from the eating area. The dishes would be weighed to record the amount of leftovers before scraping and washing. To detect which food was left over, one option is that a camera above the belt photographs the leftovers and then a computer tries to identify the food. This is a complicated machine vision and machine learning problem. A simpler option is to serve different dishes on plates with different shapes, or patterns such as lines and circles that are easily distinguished by computer. Then the plate identifies the dish for the camera, similarly to colour-coded plates identifying the price at sushi-train restaurants.
Even less costly in terms of computation (and without any camera requirement) would be to put RFID tags or other remote-id technology in plates. Each dish would have to be served on a plate with a dish-specific RFID, so the returned plates can be exactly matched to the food served on them. Each plate becomes more costly, but not by much, because RFID tags are cheap.
A single restaurant could also collect data on leftovers, but a chain of restaurants would get a larger dataset faster, thus useful information sooner on which dishes to keep and which to discontinue.

App to measure road quality

The accelerometers in phones can detect vibrations, such as when the car that the phone is in drives through a pothole. The GPS in the phone can detect the location and speed of the car. An app that connects the jolt, location and speed (and detects whether the phone is in a moving car based on its past speed and location) can automatically measure the quality of the road. The resulting data can be automatically uploaded to a database to create an almost real-time map of road quality. The same detection and reporting would work for bike paths.
Perhaps such an app has already been created, but if not, then it would complement map software nicely. Drivers and cyclists are interested in the quality of the roads as well as the route, time and distance of getting to the destination. Map software already provides congestion data and takes traffic density into account when predicting arrival time at a destination. Road quality data would help drivers select routes to minimise damage to vehicles (and the resulting maintenance cost) and to sensitive cargo. This would be useful to trucking and delivery companies, and ambulances.
A less direct use of data on road quality collected by the app is in evaluating the level of local public services provided (one aspect of the quality of local government). Municipalities with the same climate, soil and traffic density with worse roads are probably less well run. For developing countries where data on governance quality and spending is difficult to get, road quality may be a useful proxy. The public services are correlated with the wealth of a region, so road quality is also a proxy for poverty.

Camouflaged encryption

Many governments (US, Australia, all dictatorships) want to make end-to-end encryption illegal and prevent IT firms from providing it. The open-source community can create their own encryption software, but the creators and users of this could be punished as well. The reasoning of the governments for banning encryption is that criminals and terrorists use it. However, the same reasoning applies to knives, guns and cars, which are used much more directly to harm people and yet are strangely excluded from the ban. This contradiction makes me doubt the motives of these governments.
The obvious solution to a ban on some software is to camouflage it and its products. The code for the encryption software could be hidden in a seemingly nonexistent part of computer memory or blended in one log file among many, perhaps encrypted as well.
The encrypted messages passing through the internet should not look like encrypted messages, but would be embedded in innocuous-looking files. A simple way is to change the colour of some pixels in a self-made photo or video file, with the locations of the relevant pixels being known to the sender and receiver, but secret from others. The colours of the pixels can encode the data. Someone intercepting the picture or video would have to spend significant resources analysing it to find whether some pixels are of an unusual colour, especially if the starting image is riotously colourful and confusing. Publicly available images are not useful, because comparing the message-image with the original reveals the changed pixels.
A more sophisticated version of this idea has already been done by http://camouflage.unfiction.com/ A similar idea is to hide one’s browsing history in random websurfing (http://www.qqqtech.com/about.html), but this only hides the relative frequencies of websites visited, not the fact of visiting a site on a government watchlist that most people don’t visit.

On photos at tourist attractions

At every tourist attraction, there are numerous people taking pictures of the attraction, themselves and their companions. The same photos have been taken thousands of times before and are available on the internet. It would save a lot of time for people overall if someone wrote a computer program that photoshops a person or group into these pictures. Basically, pick a location of which there are photos available online and load some pictures of yourself into the program, which returns photos of you at this place. With this, everyone can skip the photoshoot at the tourist sites, save money on the camera(phone) and still obtain all the generic tourist photos they would have had under the current system.

The next step for attractions that consist of sight and sound only is to experience them through virtual reality goggles instead of actually going there. It is more environmentally friendly, safer and cheaper this way. Most tourist attractions fall into the visual-auditory category, e.g. architecture, museums, monuments, some of nature tourism.

Technological advances are required before tourist attractions that rely on smell, taste or touch (physically doing something, e.g. surfing) are replaced with virtual reality.