Sunday, July 08, 2018

How I think file-system tagging should work

The idea of file-system tags makes intuitive sense.  You might have files of different types -- documents, text files and images -- stored in dispersed places in the directory hierarchy, that may all share a common characteristic, such as all being recipes. The directories containing those files might also contain a whole lot of non-recipe-related files (e.g. one of those directories might be for your website and contain a lot of files that aren't recipes).  If you can tag all the recipe files with a 'recipe' tag then you can get a listing of all those files, and only those files. Or, as another example, you can restrict a search to be only within that collection of files.

Directory structure provides the primary basis for organising, and thus finding and viewing, collections of files. Tagging provides another layer on top of this, where files that may be unrelated in terms of directory structure can be related by the tags they share.

Nowadays, mainstream operating systems like Windows and macOS include some sort of file-system tagging.  (I should note that I only have direct experience with tagging on macOS, and have only read about how it works on Windows, so hopefully there won't be any inaccuracies in my depiction of that).  While I think tagging is a good idea in principle, I think that current importations of the idea leave room for improvement.

There are two common properties of tagging systems that I think can be improved:

1. the tag namespace is flat
2. tags are global

I think it would work better if:

1. tag namespaces were hierarchical
2. tags were private to particular directory subtrees

Why?

In short, hierarchy is an important tool for organising information, and that's what these two suggestions are about.

When the tag namespace is flat, there's a single tag namespace and all the tags are at the same level within that.  This gets too unwieldy. You might have a set of tags associated with recipes, like for the dish type (entree, main, dessert), and for cuisine type (italian, chinese, mexican, etc). But then if you have other sets of tags for other topics unrelated to recipes, the overall collection of tags can soon get too unwieldy. When trying to find a recipe-related tag from the list of tags, you have to find them from amongst all the other tags.

Being able to partition the tag namespace in a hierarchical fashion would help this.

At this point we can note a trade-off at work here.  In some sense, the whole point of tagging is to escape from hierarchy, to be able to specify categories that cut across the hierarchical structure of the file-system.  A tag like italian could be applied to recipes, but also songs and images of paintings. Applying a hierarchical organisation to tags goes against this. But, it doesn't go totally against it. Even with hierarchical organisation of tags, any tag could still be applied to a file anywhere in the file-system. I believe that a flat global namespace for tags is too unwieldy, so I think the tradeoff is a reasonable one.

One way to do this would be for there to be a global tag namespace, which is then hierarchically structured.  On the top level there might be tags like recipe and work. Under recipe we could have the tags like those listed above: entree, main, desert, italian, chinese, mexican, etc. Under work there'd be various work-related tags, and so on.

Like how I've argued that a flat namespace is too unwieldy, so I think a global namespace is too unwieldy.  My solution for the flat namespace was to make it hierarchical, and similarly my solution for the global namespace is to have a kind of hierarchical partitioning of it.

I think it would be better to associate tag hierarchies with particular directories (or more specifically, the directory subtree rooted at that directory), where the namespace for the tag is only within that directory subtree.  Where, outside of that subtree, those tags do not exist.

Despite tags allowing us to cut across hierarchical structure, we may want to only apply tags to files within a particular directory subtree.  Perhaps some tags are only for music files, which are only under the ~/music directory, or photos, which are only under the ~/photos directory. Or if we need the tags to be a bit more general we could put them in ~, or if we do want some to be even more general we could put them in / or C:\.

In terms of GUI file managers like Finder, their side bar could show only those tags that are applicable within the current directory.

Such a scheme would limit the ability of tags to cut across hierarchy, but I think it is a reasonable tradeoff.

Tags are ultimately a kind of metadata about the information in the directory structure, so it makes some sense to organise the tags within the directory structure, associating them to some extent with the information they're about.  A global namespace does not allow specifying any details of how the tags relate relate to the organisation of the information they're about.

Associating tag hierarchies with directory subtrees would make it more explicit as to what the intended use of the tags is - that is, what sort of information they were intended to classify. That, for example, dog is meant to be for pictures of dogs, not for any file in some way related to dogs. If we start using tags in a more haphazard fashion the entropy in the tag use increases over time.

One way to think of this is that, what we're looking to organise is not just, one the one hand, the directories and files, and on the other, the tags, as if these were separate concerns.  We're looking to organise the overall structure including both the directories-and-files and the tags, and how they relate.

Friday, February 02, 2018

Using interaction in a narrative media to enhance the focus on character perspective - sketching a high-level vision

I'm interested in a kind of narrative media where a primary focus (in the whole, or elements of it) is placing the 'player' within a character's shoes (immersion to foster empathy with the character), and where serving this goal is the primary focus of the interaction. Computer games already use interaction to place the player within a character's shoes, but I think there's some directions they haven't yet explored.

What I'm interested in exploring (at some time, post-PhD) is a bit like a computer game, but not necessarily a game, and a kind of interactive storytelling, but not necessarily focused on a story. I'll try to give a high-level view of these thoughts here.

A word of warning: this is all based on intuitions that I can't, at this moment, fully articulate or back up. Seeing if anything could be made of these ideas could only be done by experimenting and actually trying them out. In this post I'm trying to flesh out a kind of launching-off point for such experimentation.

Imagine a life pretty removed from our everyday modern lives. Like a lowly worker on a sailing ship in the 17th century spice trade. What was their day to day life like? What sorts of activities did they undertake, and what was the character of those activities? How did they see the world, and interact with the other people (of various stations and standings) on the ship? What did they want out of life? Imagine if you could see their day to day life through their eyes, and hear their thoughts, and use interaction to have a role in carrying out the activities they go through. This the kind of thing I'm thinking of.

You could try doing this kind of thing as the main focus of the entire work, or it could be done here and there within a more conventionally narrative-focused work. Again, experimentation would be required to see if either of those would work.

I suspect that the basic way of achieving the goal would be through something akin to quick-time events (QTEs), and the overall work being made up of QTE sequences. The primary purpose of the QTEs would not be, as is sometimes the case, providing a challenge for the player, but placing the 'player' in the character's shoes. To try to get them to perceive and think about the details presented to them in a different fashion to how they would the details in a novel or a movie, more like as if they were in that situation and getting more into the character's mindset.

Here's some thoughts about how this could be done.

(And yes, QTEs can suck, but I think there's scope for exploring different ways they can be implemented. The devil is always in the details, and subtle differences can make all the difference in practice).

QTEs could be used in a more granular way, which would mean more frequent interactions. The rationale for this is that the activities the character undertakes have a structure (there's a number of moment-to-moment steps the character undertakes to help set up a sail, for example), and if we want to place the 'player' in the character's shoes, then we want them to click/tap/swipe to "step through" each element of what the character is doing.

To help place them in the character's shoes, the 'player's perspective could be either a first-person one, or a third-person one such as an behind-the-shoulder one that provides a view of what the character is doing but which is still relatively-close to a first-person view. So the QTE interactions would be presented from such a perspective.

As well as using the interactions to initiate elements of an activity, they could be used to shift where the character is looking or what they are focusing on. So if they are reefing in some ropes but then need to look up to the sail to see how much of it has been pulled up, the 'player' could click to shift the character's perspective upwards. Perhaps what they're focusing on could be shown in clear focus to the player, with the other details being shown slightly out of focus.

There could be text labels on the QTE targets, indicating what the action is that the player will be initiating, to help them understand what the character is doing (or rather, about to do).

As well as, or instead of, such labels, there could be narration from the character, about what they are doing and/or thinking. (There might also be a way to engage the 'player' by having them predict or anticipate what the character is going to do, and in some small way reward them for correctly doing so.)

A typical narrative tends to show only plot-relevant details. What I'm thinking of could include more of the details that show what it's like to be in the character's shoes, such as showing the detailed steps of what they are doing in setting up the sails. Such details would likely be tedious in a non-interactive format -- just detail after detail after detail*. The hope is that such details can be interesting, rather than boring, if the player has an interactive role in carrying them out, and can comprehend what is going on (such as from the visuals, text labels, narration and clicking the targets when they are ready rather than it happening in real-time).

[*] I suspect that if you tried to present such details visually in a first-person format, it would be jarring and a bit incomprehensible, as the camera would need to jump around a lot, and without the interaction you wouldn't know where it was going to jump next.
The hope would be that we could show -- that is, demonstrate -- what the character's life is like. That if, in effect, the player could experience what a day in the life of the character is like, they could see it from a perspective that they couldn't get by a more condensed or descriptive account of the character's life (like you'd get in a novel or movie). Let them spend the time doing the work the character would be doing, let them get a true feel for how much rest time the character gets. 

Certain details are hard to appreciate without experiencing them yourself. Like really appreciating how much of a particular kind of job involves X (e.g. paperwork or cleaning or just sitting around). Or on a grander scale, understanding the culture of a place, and understanding why people there hold certain beliefs or act in certain ways. It's hard to convey this in a book or movie. You need to have experienced the place yourself over a period of time. Imagine if an interactive narrative experience could provide a sufficient proxy for actually experiencing such things, to the extent that it would allow the 'player' to appreciate such cultural details. That is, at least, something to aspire to being able to achieve.

Saturday, January 27, 2018

Burger recipe - Cemita Poblana with Pork Milanesa

This is based upon the Cemita Poblana with Pork Milanesa recipe.

This is a Mexican recipe - some background on it can be found on the original recipe description.  Technically you might call it a kind of sandwich, as it uses a pork chop rather than pork mince, but it comes across more as a burger by sight and taste.  And it's pretty good.  A crumbed, marinated pork chop combines well with avocado, pickled vegetables, and chipotle.

Note that the pork chops and vegetables for this recipe need to be marinated overnight.


Makes 2 burgers.

  • boneless pork chops, 2 x 140g
    sprinkled with sugar and marinated overnight in balsamic (alt: apple cider) vinegar
  • flour (or masa harina or bread crumbs), 1/2 cup
  • salt and pepper, to taste
  • egg, 1, whisked
  • peanut or vegetable oil, for frying
  • hamburger buns, 2
  • ripe avocado, 1/2 (if it's a small avocado use a bit more of it)
    sliced, smashed or lightly mashed
  • chipotle chiles in adobo, 2, chopped
  • onions, carrots, and capsicum, all thinly sliced
    marinated overnight in vinegar and sugar to taste (you can substitute fresh onions and capsicum)
  • shredded queso panela or mozzarella cheese, 55g
  • rocket

Prep marinated pork chops

Pound the pork chops to flatten them to 1/2 inch or less.

Mix the flour (or masa harina or bread crumbs) with salt and pepper and place it on a shallow plate.

Dip the pork chops into the flour, dip it into the whisked egg, and dip in the breadcrumbs or back into the flour or masa harina. Set aside.


Cook chops

Heat a frying pan over a medium-high heat and add oil to 1/4 inch. Test a small piece of pork to see if it sizzles.

Fry the pork in the pan for 4 to 5 minutes per side, until golden brown and cooked through, and place on a plate. Cover with foil.


Prep and toast buns

Turn the heat down in the pan to a medium-low heat (the exact temperature doesn't matter much), and wipe the fat and burnt bits out of it with a paper towel.

Cut the buns in half, and scoop out some of the bread from the top half to make more room for the fillings.

Toast the buns, cut side down, until they're lightly toasted. 


Assemble burger

On top of the bottom half of the bun, add the avocado, chopped chipotle, marinated vegetables, pork chop, queso/mozzarella, and rocket.  Add the top half of the bun and you're done.

Friday, January 26, 2018

Basic boil-then-bake BBQ pork ribs recipe

This is based on the Simple BBQ Ribs recipe.

This is easy to make.  The ribs are first boiled, then baked in an oven.

500g of ribs is enough for smallish portions for 2 people.  It could be enough for 2 mains if accompanied by some fairly substantial sides.  It's pretty easy to adjust the recipe for a greater amount of ribs.

  • pork ribs, approx 500g
  • garlic powder, 1/2 tbsp; OR garlic, 4 cloves, roughly chopped
  • salt, 1 tbsp
  • ground black pepper, 1/2 tsp
  • barbeque sauce, 1/2 cup

Boil ribs

Place ribs in a large pot with enough water to cover.

Add garlic, salt, and black pepper.

Bring water to a gentle boil, and cook ribs until tender, about 45 minutes to 1 hour.


Bake ribs

Preheat oven to 165C (325F).

Remove ribs from pot, and lay them out flat in a baking dish.

Pour barbeque sauce over ribs.

Cover dish with aluminum foil, and bake in the preheated oven for 1 to 1.5 hours.


Note
  • There's two types of pork ribs: Loin back (aka baby back) ribs, and Spare ribs (aka St. Louis style spares).  The latter takes a bit longer to cook.  I believe I used the former type for this recipe (the packet of ribs I used didn't specify what type they were).  I would imagine that this recipe would work pretty well without any adjustments for both types.  Shops also sell "boneless" ribs, which aren't actually from the ribs area.  I'd use the proper kind of ribs for this recipe.  More details on the types of ribs here.

Variations

These are from comments on the original recipe.
  • The ribs can be boiled and coated in BBQ sauce in advance, and kept in fridge (e.g. in a zip-lock bag), or even frozen, until you're ready to bake them.
  • The liquid from boiling the ribs can be used to cook accompaniments in, and thus impart some flavour to them.  For example, boil some potatoes (to have whole or mashed) or other vegetables (e.g. carrots, beans, cabbage, broccoli) in it, or cook rice in it.
  • add various additional items to the water to cook the ribs in
    • some onion (about 1/2 an onion)
    • worcestershire sauce (about 1/2 tbsp)
  • before putting the BBQ sauce on the ribs, put them under a grill (or on a BBQ grill) for a few minutes.  Apparently this will make the meat texture more like grilled ribs.
  • at the very end, put the ribs under a grill (or on a BBQ grill) for a few minutes to give them a little bit of a char.
  • leave the ribs in the water for between an hour to a couple of hours after boiling it.  Periodically baste the ribs with more BBQ sauce.  I'm not sure what difference these make, as the results were quite good without doing either of them.

Burgers with Pork-and-Chorizo Patties, Pineapple and a Sriracha Aioli

This recipe is adapted from the Pork and Chorizo Burgers with Pineapple and Sriracha recipe.

The patties are made from a combination of minced pork and minced chorizo sausages.

Makes 6 burgers

  • smoked Spanish chorizo sausages, 225g, with the casings removed
  • pork mince, 455g
  • bread crumbs, 1/3 cup
  • egg, 1 large, beaten
  • scallions, 2, finely chopped
  • red capsicum, finely chopped, 2 tbsp
  • garlic, 1 clove, minced
  • cooking salt, 1/2 tsp
  • pineapple rings, about 1/2-inch thick, 6
  • hamburger buns, 6
  • fresh coriander leaves, as garnish
  • sriracha aioli
    • mayonnaise, 1/2 cup
    • garlic, 1 clove, pressed through a garlic press
    • sriracha chili sauce, 2 tsp
  • optional - asian-style coleslaw with shredded wombok (Napa cabbage) and carrots, sliced scallions and teriyaki salad dressing.


Sriracha aioli

Mix mayonnaise, garlic and sriracha sauce together in small bowl.  Taste and add more sriracha if desired.

(Extra aioli can be stored in the refrigerator for up to 3 days.)


Patties

Finely chop chorizo in a food processor or with a large knife.

Gently mix together pork mince, chopped chorizo, bread crumbs, egg, scallions, capsicum, garlic and salt.

Shape into 6 patties about 3/4-inch thick.

I find this the best way to make patties.  It doesn't overwork the meat, and keeps it loosely-packed in the patties.

Lay some baking paper over a chopping board and pull apart the mince mixture onto it (you don't need to be finicky - just do a rough job of it), and gently spread it over the area.  Add some salt and pepper.

Instead of forming the mince into balls then flattening them out, just form the mince straight into patty-shaped discs.  Push a hole in the middle of each patty with your thumb, so it won't bulge up in the middle while cooking.  The baking paper makes it easy to pick the patty up to transfer it to the pan.

Refrigerate for 10 to 15 minutes.


Cook patties and pineapple rings

At a medium to medium-high heat for 6 minutes, then flip patties and add pineapple rings to the pan.

Cook patties for approximately another 6 minutes, or until the internal temperature reads 70C using a probe thermometer.

Flip the pineapple rings once they're browned on the first side, and take them off when the second side is browned.


Toast buns

Turn the heat down in the pan to a medium-low heat (the exact temperature doesn't matter much), and wipe the fat and burnt bits out of it with a paper towel.

Cut the buns in half, and toast them, cut side down, until they're lightly toasted.


Assemble burger

You'll want the patties to have rested for about 5 minutes before you assemble the burger (so they aren't scorching hot, and so the temperature will be even within them.  Remember that the foil will keep them warm).

Put the patty on the bottom bun, followed by a pineapple ring and some coriander leaves to taste.  Add the optional coleslaw, if using.  Spread 1.5 tbsp of the sriracha aioli on the top bun, add the top bun to the burger, and you're done.

Tuesday, January 16, 2018

Burgers with pork-and-bacon patties and coleslaw

This recipe is adapted from the Perfect Pork Burgers recipe.

Minced bacon is added to the pork mince in the patties.  Surprisingly, you don't really taste the bacon flavour - it just works to enhance the flavour of the patties, and it does that really well.

  • bacon, 5 slices
  • garlic, 1 clove, minced
  • pork mince, 500g
  • cooking salt and freshly ground pepper
  • dried rubbed sage, 1/4 tsp
    • according to this page "Ground sage is made by grinding the entire leaf into a fine powder like any powdered herb. Rubbed sage is made by rubbing dried whole sage leaves to create a light and fluffy mix. Rubbed sage is lighter and less concentrated so a teaspoon of rubbed sage will be less intense than a teaspoon of ground sage."  So you might want to use a little less if you're using ground sage (i.e. sage powder), though I doubt it makes much of a difference whether you do or not.
  • freshly ground pepper
  • hamburger buns, 4, split
  • unsalted butter, softened, for spreading
  • coleslaw, for topping
    • you could use, for example, either of these two recipes.

Patties

Pulse the (raw) bacon and garlic in a food processor until coarsely ground.

Combine the pork mince, 1 tsp salt, 1/4 tsp pepper and the sage in a large bowl.
Add the bacon mixture and gently mix with your hands.

I find the following is the best way to make patties.  It doesn't overwork the meat, and keeps it loosely-packed in the patties.

Lay some baking paper over a chopping board and add the mince mixture in a rough layer over it

Gently form the mixture into 4 10cm-wide, 2.5cm-thick patties (these patties will be fairly large, so you may wish to make 5 or 6 patties from the mixture).

Push a hole in the middle of each patty with your thumb, so it won't bulge up in the middle while cooking.  The baking paper makes it easy to pick the patty up to transfer it to the pan.


Cook patties

Because the patties are pork and bacon, they need to be well-done inside.  The bacon will help to keep them moist, however.  Pre-heat the pan.  Cook, on a medium heat, for approximately 7 minutes on each side.

Loosely wrap the cooked patties in aluminium foil to let them rest.  Before you close up the foil you can sprinkle them with a bit of salt and pepper.


Toast buns

Turn the heat down in the pan to a medium-low heat (the exact temperature doesn't matter much), and wipe the fat and burnt bits out of it with a paper towel.

Cut the buns in half, spread a bit of butter on them, and toast them, cut side down, until they're lightly toasted.


Assemble burger

You'll want the patties to have rested for about 5 minutes before you assemble the burger (so they aren't scorching hot, and so the temperature will be even within them.  Remember that the foil will keep them warm).

Put the patty on the bottom bun, add a fairly generous amount of coleslaw, then finish it off with the top bun.

Beef burgers with a bacon-sauerkraut jam

This recipe is adapted from the Burgers with Bacon-Sauerkraut Jam recipe.

The flavours in this burger work in perfect harmony.

  • beef mince, 500g
  • salt and pepper, to taste
  • burger buns, 4
  • rocket or baby lettuce, 1 cup
  • gouda cheese, 4 slices
  • sauerkraut-bacon jam
    • thick bacon (streaky bacon works well), 225g
    • reserved bacon drippings or butter, 2 tbsp
    • red onion, chopped, 1/2 cup
    • sauerkraut, drained and chopped, 1 cup
    • apple cider or apple juice, 1 cup
    • cider vinegar, 1 tbsp
    • brown sugar, 1/3 cup
    • celery seed, 1/2 tsp
    • paprika, 1/2 tsp 

Bacon-sauerkraut jam

Cook bacon until crisp, then crumble it.  Reserve 2 tbsp of the bacon drippings (or just use butter).

Saute the onion in the bacon drippings (or butter) until soft, then stir in remaining jam ingredients along with the bacon.

Simmer jam over low heat 30-45 minutes or until thick.  Makes one cup of jam.


Patties

I find this the best way to make patties.  It doesn't overwork the meat, and keeps it loosely-packed in the patties.

Lay some baking paper over a chopping board and pull apart the mince onto it (you don't need to be finicky - just do a rough job of it), and gently spread it over the area.  Add some salt and pepper.

Instead of forming the mince into balls then flattening them out, just form the mince straight into patty-shaped discs.  Push a hole in the middle of each patty with your thumb, so it won't bulge up in the middle while cooking.  The baking paper makes it easy to pick the patty up to transfer it to the pan.


Cook patties

To your desired doneness.  Five minutes on each side at a medium-low heat (remember to pre-heat the pan) should get them reasonably well done.

Loosely wrap the cooked patties in aluminium foil to let them rest.  Before you close up the foil you can sprinkle them with a bit of salt and pepper.  If you like your cheese melted, you can add a slice on top of each patty before closing up the foil.


Toast buns

Turn the heat down in the pan to a medium-low heat (the exact temperature doesn't matter much), and wipe the fat and burnt bits out of it with a paper towel.

Cut the buns in half, and toast them, cut side down, until they're lightly toasted.


Assemble burger

You'll want the patties to have rested for about 5 minutes before you assemble the burger (so they aren't scorching hot, and so the temperature will be even within them.  Remember that the foil will keep them warm).

Put the rocket (or lettuce) on the bottom bun (be pretty generous with it, as it will squish down a fair bit when the burger is fully assembled), the patty on top of that, then the cheese (if you haven't already put it on the patty).  Spread a generous amount of the bacon-sauerkraut jam on the cut side of the top bun, add the top bun to the burger, and you're done.

Beef burger with anchovy butter

This recipe is adapted from the Minetta Tavern-inspired anchovy burger recipe.

I was surprised by how well this simple recipe works.  The anchovy butter doesn't give the burger any noticeable anchovy taste.  It just really lifts the flavour of the beef patty.

  • beef mince, 500g
    • this is enough to make 4 or 5 burgers. The instructions are easily modified for making different quantities.
  • anchovy fillets in oil (one anchovy per burger)
  • unsalted butter, at room temperature.
  • sea salt
  • hamburger buns

Anchovy butter

You'll want enough butter to fairly generously spread over the top and bottom half of each bun (so maybe around 2 tbsp per burger), and one anchovy per burger.

Mince those anchovies, and mix them well into the butter.


Patties


I find this the best way to make patties.  It doesn't overwork the meat, and keeps it loosely-packed in the patties.

Lay some baking paper over a chopping board and gently pull apart the mince onto it (you don't need to be finicky - just do a rough job of it), and gently spread it over the area.  Add some salt and pepper.

Instead of forming the mince into balls then flattening them out, just form the mince straight into patty-shaped discs.  Push a hole in the middle of each patty with your thumb, so it won't bulge up in the middle while cooking.  The baking paper makes it easy to pick the patty up to transfer it to the pan.


Cook patties

Heat a frying pan over a medium-high heat, letting it get fairly hot.
Cook the patties for 3 minutes on each side.  You want to get a nice caramelised crust on them.

Loosely wrap the cooked patties in aluminium foil to let them rest.


Toast buns

Turn the heat down in the pan to a medium-low heat (the exact temperature doesn't matter much), and wipe the fat and burnt bits out of it with a paper towel.

Cut the buns in half, and toast them, cut side down, until they're lightly toasted.


Assemble burger

You'll want the patties to have rested for about 5 minutes before you assemble the burger (so they aren't scorching hot, and so the temperature will be even within them.  Remember that the foil will keep them warm).

Spread the top and bottom halves of the buns with the anchovy butter.
Add the burger patty to the buns, and you're done.

Monday, January 15, 2018

The value of basic research

I believe that basic research has far more value to society than is generally recognised. I think it is severely undervalued, across pretty much all segments of society, including many people who work at research institutions such as universities. And I believe this is because people misunderstand its nature, and have the wrong framework for thinking about its value.

In this post, I want to do some initial 'gathering of my thoughts' on this topic.

Basic or applied research is intended to uncover some new knowledge or develop some new technology (so what I'm talking about also includes basic research as part of developing devices and products). Central to the misunderstanding of basic research is the idea that you should evaluate the potential value of some research by looking at what problems it would solve.

So obviously when it comes to applied research this is how we evaluate any proposed research. Basic research, on the other hand, is by definition not about solving specific real-world problems. This doesn't seem to stop people from wanting justifications for the research on the basis of what sorts of real-world problems its results could be applied to. And because basic research isn't focused on solving problems it is typically seen as being about "satisfying curiosity".

So basic research doesn't seem very valuable. It's hard to think of the specific real-world problems it's going to solve, and framing it as "satisfying curiosity" makes it seem of little real-world use, and certainly not something deserving of significant amounts of precious governmental funding.

Seeing the value of potential research in terms of solving real-world problems sounds good. Who wouldn't want to solve real world problems? Isn't anything else being self-indulgent? But, I argue, while this sounds good in principle, it is a lot more problematic than it seems in actuality.


Before I start talking about this framing of basic research, I want to argue that, even for applied research, "what real-world problems could this solve" isn't actually a particularly good way to evaluate potential research. For starters, remember that we're talking about potential value here. It's all well and good to make claims about what sorts of problems the research is going to be potentially useful for. But we have to remember we're talking about a claim, not the actual reality. We're talking about a prediction, not what pans out.


It's very easy to claim some research is going to be useful for some problem, but the real, important question is, does it actually turn out to be useful for it? People are notoriously poor at making predictions. The world is very complex, and we are working with very limited information and aren't very good at making predictions with it. I would bet that a high percentage of research that is claimed to be for solving some particular problem doesn't turn out to be useful for it.

You might respond, but that's just the nature of research, what better alternative is there? My answer to that it is better to evaluate the potential of the researcher rather than the claims of what problems the research is going to address. There's been calls for this in science funding. And this is a lesson that's been learned in the (roughly) post-2000 start-up world (e.g. how Y Combinator evaluates applications made to it), which I think is applicable to research (starting a startup is a kind of research task, basically in figuring out what customers want).


Back to evaluating the value of potential basic research. The key to the perspective I'm arguing for is to understand how research (whether basic or applied) provides value. I am arguing that "what problems it solves" is too narrow a perspective, and that the value it provides comes from what it enables.

To see what I mean by "enables", consider any historical advance that was made through some research, and consider what, if that advance was deleted from history, would not have been practically possible. If calculus had never been invented, how much of the modern world would not have been able to exist? What if Newton's laws of physics was deleted from history? Darwin's theory of evolution? Quantum mechanics? The wheel? The ability to make things from iron? The printing press? And so on. I think we would find that the answer would amount to "a hell of a lot". The research that developed these ideas weren't developed for creating any of the myriad of ways they enable the fabric of modern society, but they were all essential components that enabled those elements of that fabric.

The positive effects of research spans far beyond any problems they were created to solve. In fact, I would argue that the positive effects they have by enabling other developments far outweigh whatever they may have been explicitly created to solve. This is because when we talk about solving problems, we're usually talking about one specific kind of application, but when we talk about what some development enables, we are talking about systemic benefits it has, and systemic benefits are deeper, more widespread, and cumulative.

(Hindsight can obscure this. In hindsight, we can talk of the problem that something like the printing press solves, because we are so deeply familiar with the world that the printing press (eventually) enabled. But at the time things are never this clear, and typically, these things that are so valuable in hindsight because of the systemic changes they enable, are seen by most people as pretty useless).


It will help us if we flesh out this picture of new ideas and technology enabling other developments. There is first-order enabling, where an idea or technology enables some other idea or technology to be developed. There is second-order enabling, where an idea or technology enables some other idea or technology to be developed, which in turn enables yet other ideas or technology to be developed. And in this fashion, there is third-, forth-, fifth- (etc) order enabling. What we are acknowledging here is how complex the web is of the growth of our knowledge and technology. Ideas and technology build on other ideas and technology. The greater the number of previous ideas and technology you have, the more you have to build on, and the more the frontiers of knowledge and technology expand.

If you look at at some technology or knowledge that is vital to the modern world, the web of technologies and knowledge that led up to it (and enabled it) go back a very long way. If you examine that web you'll see that those necessary components come from all over the place. Different ideas or technologies, which were developed at quite different times from each other, by people working in different domains, who developed the knowledge or ideas for quite different purposes. Typically they were seen as having little value when they were first developed.

(The documentary series Connections, by James Burke (Amazon link), provides a pretty good illustration of this process).


The processes of developing new technologies or knowledge are combinative, in the sense that they build on combinations of existing technologies and pieces of knowledge. Basic research provides new building blocks for this combinative process to work with, providing the potential to enable new nth-order developments down the line.

It's not possible to predict where and how a particular piece of knowledge or technology may play a combinative role in enabling some new technology, and thus how useful it will turn out to be. It is, rather, a statistical matter. You can know the overall properties of the process. We can know that, creating new such pieces will overall lead to important developments. We can know that there is value in developing new pieces of knowledge or technology because they increase the number of building blocks that provide potential combinative enablers to useful developments.

Research funding for basic research should be seen more like investing in the stock market. People who invest know that it's a statistical matter: you can't be sure that any individual stock is going to pay well. You know that you need to diversify, and make a number of smaller bets. That overall, the stock market tends to lead to returns. We should be looking at basic research more as an overall endeavour.


The way that basic research is currently funded is analogous to central planning in an economy. It assumes that people can effectively evaluate what is good research to do. And of course, my argument is that, just like with economies, this can't be done. Central planning sounds good on paper, but leads to worse results.

We might ask, how are we meant to choose what basic research to fund, if it is all potentially useful? One part of the answer is one we mentioned earlier: to fund the researcher rather than the research project. That is, to find ways to evaluate the potential of the researcher. Again, this is something that has already been proposed.

Another part of the answer ties in with a concern people have about the perceived lack of utility of basic research, which we might call the "number of angels dancing on the head of a pin" concern. This concern is that basic research will lead to utterly useless kinds of investigation that clearly can have no real-world value.

I think that a lot of this concern comes less from research done in science and more from certain sorts of research done in philosophy. The philosopher Daniel C. Dennett has written a good (and readable) paper how to distinguish between useful and less-useful kinds of basic research (in philosophy), called Higher-order truths about chmess [PDF] (Google search).

As a general rule, I believe that we can avoid the generally-useless kinds of basic research if we focus on trying to understand something new about what exists in reality, or try to develop something new in our ability to manipulate what exists in reality. This rule does not provide any guarantees, but remember that the overall process of basic research is where the value lies. We should see any such input to that process that fits this rule as having intrinsic value as something to look into.


To summarise, instead of seeing basic research in terms of the framing of "what problems does this solve" or as merely "satisfying curiosity", we should see basic research as providing new inputs that can help enable new developments in the statistical, overall process of knowledge/technological development. In this role, history clearly shows it is of tremendous value to society.

.

Update: the ideas in this post are an instance of Considering broader details than specific cases in isolation.

Thursday, November 23, 2017

Transportation between floors in buildings: combining hop-on-anytime with small horizontal footprint

Convenience plays a massive role in our behavior.  Often if there's the tiniest amount of friction, and the effort required rises above a fairly low bar, we won't bother.  Or at least this post is going to assume that's the case.

Here's a way convenience impacts our use of space, which suggests a new mode of specialised transport between floors in buildings.  For the sake of simplicity I'll consider this in the context of shopping.

Lets consider shopping spaces that are distributed over multiple floors.  There are three ways of transporting people between floors: stairs, escalators (I'll lump inclined travelators in with these), and lifts.

These have various trade-offs.  Stairs require the most physical effort, while escalators and lifts require very little.  In normal circumstances, stairs and escalators don't require any waiting to use, whereas a lift will typically require a wait before getting in.  Stairs and lifts can be packed into fairly small horizontal spaces.  For lifts it's basically the horizontal dimensions of the lift itself.  A spiral staircase, or a 'square' staircase (where each flight keeps making a 90 degree turn), can be fairly compact in their horizontal dimensions.  Escalators tend to require a fair amount of horizontal space (they're lengthy).

As far as convenience goes, we can take stairs out of the picture (despite how good they might be for people's health).  That leaves escalators and lifts.  Escalators are very convenient as you can always just hop on them, but they take up a fair bit of horizontal space.  Lifts take up little horizontal space, but you often have to wait to use one. 

In terms of speed, escalators are adequate as long as you only have a few floors to traverse, whereas lifts can be much faster if you have many floors to traverse.

So for a typical multi-floor shopping center, escalators will be your main between-floor transport system.  There's only a handful of floors, so the speed of escalators is adequate, and it's just much more convenient to be able to hop on at any time (plus there's ample room for trolleys).

But what about smaller multi-floor buildings, like you might find on the main street of a smaller town?  Ones that don't have room for escalators (or where it's not worth using the amount of room it would require for an escalator).  (Of course, cost is another factor, but we'll leave that aside for the moment).  They could install a lift, but I think the friction of having to wait for the lift would be too much for the average customer. (And the friction of stairs is going to be too much to have a different set of shops on the second floor).  I suspect this is a contributing factor to why multiple floors often aren't utilised for stores in such situations.  Sometimes you might have the one small store over two floors, but you are less likely to see separate stores on the second or third floor.

What would ideal would be something that has the hop-on-anytime property of escalators but which takes up a smaller amount of horizontal space than they do.

Think of this as setting the requirements for a kind of design challenge.

One design possibility would be where there were vertical shafts running between floors, one carrying platforms up and another carrying platforms down.  The platforms would be like a lightweight form of a lift.  Instead of being an enclosed capsule, they'd just be platforms with railings.  The railings would be designed to fold up, so that so multiple such platforms could be stored in a recessed fashion at each floor, so a person can pretty much always walk up and use one.  They'd be stored there folded up and automatically unfolded for use.

(Another possibility would be a tightly-wound spiral escalator.  As in, a spiral escalator with a small circumference. Spiral escalators exist, but they are quite large, with shallow curvatures.  I suspect a problem with a tightly-wound spiral escalator would be that, even if it could be engineered, it would be a bit disorienting for the rider to be rotating so fast).

Of course, that's just a rough bit of speculation, and the big question is whether a practical system meeting these requirements (of hop-on-anytime and small horizontal footprint) could actually be built.  Another big question is whether it could be cost effective.

What interests me is, if they could, whether it could change the way we use space.  Could it increase the convenience enough such that there would be viable uses of spaces that otherwise would not be viable because of not being sufficiently convenient?  I can imagine applications like making use of multiple floors in smaller retail spaces, that otherwise just wouldn't be convenient enough.  Or perhaps a more convenient way to get between floors in smaller-horizontal-space areas could help people in companies spanning multiple floors communicate and collaborate more effectively.

Wednesday, November 22, 2017

Fact checking and linking to supporting evidence

With all the talk about 'fake news' and the spreading of lies and misinformation on social media, the idea of fact checking has been thrown about a bit.

In this post I'd like to try to situate fact checking within a broader context. I've spoken before about "Improving the spread of truth in the information ecosystem". The basic idea is that we want to find ways to help the truth spread, and to hinder the spread of falsehoods. In that post I gave some fact checking sites as examples of initiatives in this area.

To me, what fact checking is about is trying to enable people to create explicit connections -- links -- between claims and evidence. Fact checking is where you're doing so to check someone else's claim, to see whether it holds up. But connecting claims and evidence also includes where you're using evidence to substantiate your own claims.

The ideal situation, in my view, would be where whenever someone makes a claim, they also try and link to sources that substantiate that claim. Where the default is to always try to show evidence.

This, of course, would not be easy to achieve. But it's worthwhile considering how we can make it as easy as possible to for this to be done.

What I'm suggesting might sound like the way that scientific papers cite sources. I actually think we can do better than this. 1) usually whole papers are cited, and these are often too granular. You have to dig around in the paper to find the bit specifically related to the claim being made, and do a bit of reverse engineering to see why/how that claim was being arrived at in the paper. 2) papers aren't laid out with the intention of clearly showing the evidence supporting the specific claim.

I'm thinking of a setup where a person could link to a web-page that is specifically devoted to the evidence for a particular claim, which might link to other such pages for sub-claims.

The end-goal would be having substantial numbers of people -- volunteers and those supported by institutions -- focused on creating such pages. And where there was a norm whereby people would always try to link to substantiating evidence whenever they make a non-trivial claim (where you'll at least feel uncomfortable when you don't do this).

Of course the big question is, how could we get to such an end-goal? I don't think it'd be easy. I think if it were to happen, it would be drawn-out process, involving small, piece-meal steps forwards.

Momentum would need to grow. I can imagine more and more datasets and statistics being put online, and then people utilising these to create pages showing the evidence for specific claims based upon these (ideally, and whenever possible, they would show their claims as being the results of queries on the datasets, queries that could easily be independently verified). The more that such a thing is done, the more the idea of doing such a thing has the potential to spread.

Sources of such information would need to establish their integrity. So they are known as being a trustworthy source of evidence on claims. Ideally they would be non-partisan, though that obviously couldn't practically be done for all claims.

In addition to making the information available that shows the support for particular claims, we'd also need to make it much easier to find and make use of this information. To lower the friction involved in linking to it.

This is a large topic in itself, but here is an example of what I'm thinking of: auto-suggesting evidence sources and particular claims, through the use of machine learning. Think of a particular forum where people discuss a topic, such as politics. It might be a sub-reddit on politics. A machine learning tool could analyze the text of all the discussions on the forum to get a sense of the kinds of topics discussed, and to get an idea of what evidence sources are relevant to the forum. Whenever a forum member goes to write a comment, it could use the context of the comment they are replying to (and what it is replying to, and so on), plus the comment-text the member has written so far, to suggest possible claims (and evidence pages for them) that the member might be making.

I have no idea how far away we are from a sufficiently-effective tool of this sort -- it's just meant as an illustration of how we might be able to lower the friction for linking to supporting evidence.

Friday, October 13, 2017

"It came out a long time ago" doesn't make spoilers ok

Just a quick rant.  I've often heard spoilers being justified on things that came out a long time ago, because they came out a long time ago.  But there are just so many tv shows, books, movies, games, etc that have been released over the years.  Even if you only count the classics.  There's so many that for any one work, no matter how old, there's always going to be many people who would like to have had experienced it but who haven't yet.

Friday, September 29, 2017

Tropes in fictional TV and movies that damage societal views

I enjoy watching fictional TV shows and movies, but I know that like anything, they have positive and negative effects.  On the negative side, they often present a distorted view of reality, and I think some of these have quite a negative effect on society.


Grief is overt

Most of the times when a fictional TV show or movie shows grief, the person is clearly distraught.  You can see the sadness or deep loss in them.

But grief doesn't work like that.  There's no one way it effects people.  People don't necessarily appear sad.  They can, at the times you might see them, even seem a bit happy or light-hearted.

I think that TV shows and movies have taught the public to expect grief to be like how they portray it.  The average person surely sees many more depictions of grief on the screen than they do in real-life.
  
When the reality of grief comes up against the perception that grief is overt, the people are seen as callous or just not grieving like they should be.  In the cases like of parents whose children have gone missing, it can lead to suspicion of them and witch hunts. 

related: Small-Screen Grief: 10 TV Shows That Got It Right | tv tropes: Five Stages of Grief


Attractiveness correlates with character

Attractive people are good, ugly or unusual-looking people are bad.

This one is fairly obvious, but the trope seems so pervasive that surely it has to have a big influence on how people are perceived in the real-world.  To rewind a bit, that perception of people probably has an innate basis, but even still, having it reinforced so much in media can surely only make it worse.

related: tv tropes: Beauty Equals Goodness | tv tropes: Evil Makes You Ugly


Straw Vulcan

The Straw Vulcan is a straw-man portrayal of intelligence, named after the Star Trek character Spock, who is of the highly-logical Vulcan race.  The term comes from tv tropes.

In the Straw Vulcan, intelligence and rationality are equated with rigidity and narrowness in the way the person thinks, and an inability to make use of intuition or perceive emotional realities. 

Sheldon, in the Big Bang theory, is another full embodiment of this.

It's a pervasive trope in media, and I suspect it has done a lot of harm to our society.  I suspect it has fueled a lot of anti-intellectualism, and has done a lot to make intelligence seem unattractive and uncool, which I think in turn has pushed a lot of people away from striving to be smart.

Gladly, there does seem to have been a fairly recent trend to present intelligence in a more positive light, though it doesn't seem like there's been much of an attempt to kill the Straw Vulcan. 


Individual agency is the cause of good and bad things

This one can be summarised as "good guys and bad guys".  Bad things happen because a bad person its doing it with bad intent.  The good guy does something to make things better.  A person seeing this play out again and again as they're growing up are, I think, going to get a pretty distorted view of how the world works.

Our societies are complex systems.  There are aggregate effects.  Anything that institutions do to try and address issues will always be imperfect means with unintended consequences.  There are structural causes to what happen.  All of these things mean that major problems usually aren't caused by individuals, and are often not caused by ill-intent.  And that also means that solutions often aren't what you'd equate with "doing good".  They might be making changes to the physical or policy infrastructure that society runs on.  They might be technology changes.

In the picture painted by the many many hours of fictional TV shows and movies we are exposed to in our lives, these impersonal causes basically don't exist.






EDIT, Mar 2019: another damaging trope is 'with enough effort, anything can be overcome'.  Sure, that one sounds good.  It's encouraging effort and fortitude.  The problem is that it's not true.  Sometimes things can't be overcome just by putting in enough effort.  Some chronic health conditions, for example.  The reason it's damaging is that it leads people to assume that others just need to "put in the effort" and that if they aren't or aren't overcoming their issue that the fault must be their own for not putting in enough effort.  Or there can be systemic, structural problems that no amount of effort (in the obvious places) are going to really address.  Where to solve the problems you need to look hard at what their source is, rather than thinking of the problem just in terms of trying hard to fight it.




Others

Here's a list of various other ways fictional accounts distort reality.

Thursday, June 30, 2016

Beef and Pork mince, Olive, and Raisin Taco filling recipe (Tacos de picadillo)

This recipe is adapted from "Tacos, Tortas, and Tamales: Flavors from the Griddles, Pots, and Streetside Kitchens of Mexico" by Roberto Santibanez with JJ Goode.


Enough for 24 tacos

Ingredients

  • olive or vegetable oil, 3 tbsp
  • white onions, diced, 2 cups
  • salt, 2 tsp
  • garlic cloves, 3, finely chopped
  • ripe tomatoes, 1kg (2 1/4 lb), cored and chopped
  • dried bay leaves, 2
  • dried thyme, 1/2 tsp
  • sugar, 1 tsp
  • apple cider vinegar, 2 tsp
  • beef mince, 450g (1 lb)
  • pork mince, 450g (1 lb)
  • ground black pepper
  • pimento-stuff manzanilla olives, 1/2 cup, halved (or sliced, if large)
  • raisins, 1/4 cup
  • pickled jalapeno chilies, finely chopped, 3 tbsp - including a little of their liquid
  • capers, drained, 1 tbsp
  • slivered almonds, 1/4 cup
  • chopped coriander, 1/4 cup
  • flat leaf parsley, chopped, 2 tbsp
  • fresh spearmint, chopped, 2 tbsp
  • for serving

Directions
  • Heat oil in a medium pot over medium-high heat.
  • Add the onions and a generous pinch of salt, and cook, stirring occasionally, until the onions are translucent, about 5 minutes.
  • Add the garlic, cook for a minute, then add the tomatoes, bay leaves, thyme, sugar, vinegar, and 1 tsp of the salt.
  • Let the mixture come to a boil, then lower the heat to maintain a vigorous simmer, and cook, stirring occasionally, until almost all the liquid has evaporated, about 45 minutes.
  • Transfer the mixture to a bowl.
  • Wipe out the pot, set it over high heat, and when it's hot, add the beef and pork mince without any oil.
  • Season with black pepper and 3/4 tsp of salt.
  • Cook, stirring and breaking up the meat, until it is cooked through, then add the oilves, raisins, pickled jalapenos, and capers.
  • Cook until the liquid from the meat has evaporated, about 5 minutes.
  • Add the tomato mixture and lower the heat to medium.
  • Cover and cook until the flavours have melded, about 5 minutes, then stir in the almonds and herbs.
  • Serve alongside warm corn tortillas and top with sliced canned pickled jalapeno chilies, crumbled queso fresco, and slices of avocado.

Also a good filling for tortas, enchiladas, chilies rellenos, or for on top of rice.

Sunday, June 12, 2016

Roasted Poblanos and Cream taco filling recipe

This recipe is adapted from "Tacos, Tortas, and Tamales: Flavors from the Griddles, Pots, and Streetside Kitchens of Mexico" by Roberto Santibanez with JJ Goode.


 Enough for 8 tacos

  • poblano chilies, 570g (1.25lb - ~3 large)
    • substitution: green capsicums + 1 jalapeno chilli
  • olive or vegetable oil, 1 tbsp
  • white onion, 1/2 medium, thinly sliced into half-moons
  • salt, 1/2 tsp
  • black pepper, 1/8 tsp
  • garlic, 1 clove, finely chopped
  • mexican crema, 1/2 cup
    • subsitution: creme fraiche
  • epazote leaves, 1 tbsp, finely chopped
    • substitution: dried Mexican (or european) oregano, 1/2 tsp
  • for serving

Directions
  • Roast then prepare the poblanos
    • Turn two stove-top burners to high and roast the poblano chilies (or capsicums and jalapeno) on the racks of the burners (or directly on the element of an electric stove), turning frequently with tongs, until they are blistered and charred all over, 4 to 6 minutes.
      • or, grill them under a hot element, turning them once they're blacked on one side, till they're blackened all over
    • Put the poblanos in a bowl and cover with a plate to sweat for 15 to 20 minutes.
    • Rub off the skin from the roasted poblanos with a paper towel or your fingers (do not run the poblanos under water)
    • Cut the chilies open lengthwise.
    • Cut out the stems, seed pods, and veins, and lay the chilies flat.
    • Wipe the chilies clean of seeds, discard the seeds, and slice the chilies into long 1/4-inch-thick strips
  • Fry onions
    • Heat the oil in a medium pan over a medium heat until the oil shimmers, then add the onion, 1/4 tsp of the salt, and the pepper, and cook until the onion is soft and translucent, about 5 minutes.
  • Add garlic then poblanos
    • Add the garlic, cook for a minute.
    • Then add the poblanos along with the remaining 1/4 tsp of salt.
    • Cook for 3 minutes or so.
  • Add crema and epazote
    • Then add the crema (or creme fraiche) and epazote (or oregano).
  • Simmer
    • Let it come to a simmer and cook, stirring, until the crema thickens slightly and coats the poblanos, about 3 minutes.
    • Season to taste with salt.
Serve alongside 8 warm corn tortillas, and top with crumbled queso fresco and (optionally) a fried chili salsa or smoky tomato salsa.

Wednesday, June 01, 2016

Bourbon chicken recipe

This recipe is adapted from the one found on the Tide and Thyme blog.

It creates a rich, caramelised sauce.  Very tasty. 

Ingredients:

  • chicken thighs, ~900g, cut into bite-size pieces
  • olive oil, 2 tbsp
  • garlic cloves, 4, minced
  • ginger (ground or fresh), 1 tsp
  • red chilli flakes, 1 tsp
  • apple juice, 1/4 cup
  • light brown sugar, 1/2 cup + 2 tbsp
    • dark brown sugar will also work fine
  • tomato sauce (ketchup), 1/4 cup
  • cider vinegar, 2 tbsp
  • water, 1/3 cup
  • bourbon, 1/3 cup
  • low-sodium soy sauce, 1/2 cup
    • if you've got regular soy sauce, use a bit less
  • salt
  • black pepper
  • white or brown rice
  • fresh coriander, for garnish

Heat oil over medium-high heat in a large frying pan.
Add chicken pieces and cook until nicely browned.
Remove chicken to a plate and set aside.

Add remaining ingredients to pan, and whisk to combine.
Return chicken to pan and bring to a boil.

Reduce heat to low and simmer for 20 minutes or until sauce is reduced somewhat and thick.
Season to taste with salt and pepper.

Serve over white or brown rice.
Garnish with roughly chopped fresh coriander.

Monday, May 30, 2016

Hainanese Chicken Rice recipe

I have fond memories of having this dish in Singapore and Malaysia, and this recipe works really well.

I've adapted it from Tastemade's recipe (which I originally saw through facebook).


Ingredients

  • Skin-on chicken thighs, 2
    Skin on is important. The fat from it will better flavour the rice, and it provides a nice texture. If you can't get skin-on thighs, you can use skin-on chicken marylands and remove the leg and bones from it.
  • Jasmine rice, 300 grams (~1.5 250ml measuring cups)
  • Water, 370ml (~1.5 250ml measuring cups)
  • Spring onions, 10cm piece
    'spring onions' has different meanings; use the green and white cylindrical ones without bulbs on the ends.
  • Seasonings for chicken
    • Fresh ginger, 15 grams, thinly sliced
    • Soy sauce, 1 tbsp
    • Powdered chicken stock, 2 tsp
    • Oil, 1 tsp
    • Salt, 1 tsp
  • For garnish
    • Fresh coriander
    • Fried onions
      the ones in jars or packets from asian grocers or asian sections in the supermarket. They look like this. Not essential, doesn't matter if you can't get them.
  • For soy-oyster-honey sauce
    • Soy sauce, 1 tbsp
    • Oyster sauce, 1 tbsp
    • Honey, 1 tsp
  • For chili-fishsauce-lemon sauce
    • Sweet chili sauce, 2 tbsp
    • Fish sauce, 1 tbsp
    • Lemon juice, 1 tbsp
  • For ginger-fishsauce-seasame sauce
    • Fresh ginger, 2 tsp, grated
    • Spring onions, 1 tbsp, minced
    • Fish sauce, 1 tbsp
    • Sesame oil, 1 tbsp
    • Sugar, 1 tbsp
...if you want to save a bit of time and effort, you could make only one or even none of these sauces.  The dish by itself is quite flavoursome.

Wash the rice.
In a large pan, combine the rice, water and the seasonings for the chicken (ginger, soy sauce, chicken stock, oil, salt).
Give it a quick mix so ingredients are well combined.
Place the chicken thighs (skin down) on top, then the spring onion piece on top of that.

Cover and cook over high heat until boiling.
Turn down the heat to low and cook for 12 minutes.
Turn off the heat and let it sit covered for 10 more minutes.
(Check the chicken and rice are adequately cooked - cook longer if necessary).

Slice the chicken into 1 cm pieces and set aside.
Discard the spring onion stalk and mix the rice to combine the flavors.

To make the sauces, simply combine the respective ingredients into three separate bowls and mix well.

Put a mound of chicken rice onto a platter and place cut chicken on top.

Serve with the sauces along with some fresh coriander and fried onions.

Monday, May 16, 2016

Improving the spread of truth in the information ecosystem, and more applied cases of reasoning errors

We live in a big 'information ecosystem'. This includes means for storing and communicating information, such as email, web-sites, the mobile phone networks, mass media like tv and radio, and libraries. These enable us to store information in a kind of common pool that others can access. They enable us to discover and learn new information. Schools, universities and other institutions also play a big part of the information ecosystem.
 
There are finer-grained or more specific elements, too. Regarding the web, there are technologies such as the HTML, and the links it is based on, and search engines. There are sites like Reddit, Facebook, Google News and Wikipedia. There are all the ways we can express data, information and knowledge, whether in relational databases, to different mathematical formalisms, and many others.

Also part of this ecosystem is the actual information content. The information in today's ecosystem is much different, and expanded, compared to what it contained 500 years ago. There are also institutions and practices such as the scientific method.

This description has just scratched the surface of all the elements and factors that play a role in the information ecosystem.

Shifting gear, you can look at properties of the information ecosystem as a whole or specific parts of it (e.g. television). How quickly do they enable information to be transmitted? How cheaply? How well do they preserve information over time? Who is able to add information into the ecosystem, and how many people can that added information reach? And so on.

One of my interests concerns the following -- how do the elements of the ecosystem effect the spread of truths and falsehoods? And what can we do to help the spread of truths, and hinder the spread of falsehoods? Not that we could, of course, prevent falsehoods. But what can we do to reduce the degree to which they spread and continue to be propagated among the population?

There are many potential factors that play a role. To give one or two examples, how does the media being run as a business affect things, given that this makes it biased towards content that will help pay the bills? And regarding what could help improve things, I'd think for example that lowering the barriers to accessing information will, in the longer-term, have a positive effect.

I'm interested in how we can design tools and infrastructure to help improve the spread of truths and reduce the spread of falsehoods in the information ecosystem.

Some examples of initiatives in this space:

  • Hypothesis - annotation of content on the web
  • snopes.com - "the definitive Internet reference source for urban legends, folklore, myths, rumors, and misinformation.
  • PolitiFact - political fact-checking site which "rates the accuracy of claims by elected officials"
  • This article by Thomas Baekdal on how journalistic practice should change to address the increasingly misinformed public.
  • ...and you could argue that tools that help provide access to information such as Wikipedia or the Internet, while not designed just for this purpose, are important parts of addressing the issue.

I wrote earlier about an idea that also fits into what I'm talking about: a web-site providing an authoritative source about current scientific opinion. I think that'd be really useful for linking to in discussions and arguments on the net.

Here's another idea.

Alongside lists of logical fallacies and lists of heuristics and biases, I think there's room for documentation of some more applied kinds of mistaken reasoning and justification. These are errors that might be reduced to logical fallacies or heuristics/biases, but are associated with more specific kinds of reasoning.

Here's an example. A government might propose increasing the tax on cigarettes as a means to address the associated health issues. Regardless of whether you think such measures are effective or not, the point of them is to reduce the amount of people smoking in the medium or longer-term. Yet, so often in discussions about it you'll hear people argue against it on the grounds that it's not going to stop people from smoking, as if it was an all or nothing matter.

Again, I'll point out that regardless of whether such a tax is effective for reducing smoking, that is at least its intention, and arguments of the kinds that I mentioned simply get that intention wrong. It's a common pattern that occurs whenever there's any talk of a measure to reduce some thing or activity that is seen (by at least some people) as harmful.

Treating reduction as a matter of outright prevention is an example of these kinds of 'more applied' mistaken reasoning or justification. I'm not sure if this specific case has been given a name or not, but if it has it doesn't seem to be very well known. The same goes for this class of more applied kinds of reasoning errors.

In any case, I think it would be useful to have a name both for the class, and for the specific instances, and to have a web-site that documents them. That way people could link to them in online discussions where they're pertinent. There could be a page for each of these errors, listing real-world examples - such as when measures were proposed that people said wouldn't stop X, but in fact did turn out to reduce the amount of X over time. The examples would be providing evidence that the reasoning is in fact erroneous.

The idea would be to make the site as comprehensive as possible, so that it could become a 'one-stop shop' and gain enough attention that people would actually refer to it practice. 

Some other examples of these kinds of more applied errors. A person has made a claim from their personal experience that X was the case. This claim is disputed, and others argue for its validity on the ground of "why would they lie about or make up X?". There are many documented cases of where people have done just that, so this argument by itself doesn't hold up. Being able to point someone to a big list of such cases could help in getting them to accept that point.

As mentioned earlier, it might be true that underlying these errors are kinds of fallacies or biases, but the point here is not to get at the most fundamental causes of the problems, but to have a resource that maps more directly into the kinds of errors that occur in practice. Such a resource could be more useful to link to in practice.

In addition to a site that documents these applied errors, there could be sites devoted to particular disputed topics (global warming, for example), that look at how such errors appear in discussions of these topics. Because such topics are political, I think it'd be very important to make these discussions of them totally separate from the basic documentation of the applied errors. There could be multiple sites/pages devoted to each topic, as there are likely to be different takes on the applied errors that come up in discussions of them.

.

(if anyone who knows that my PhD is on understanding the nature of information happens to read this, what I'm doing isn't related to the topic of this post. It's concerned more with the fundamentals of what information is and how a system can understand the meaning of the information.).

Wednesday, May 11, 2016

Idle thoughts on taxes, public goods and journalism

Some "thinking out loud"....

Government is, I think, too adversarial towards citizens.  While government needs to make and enforce laws governing the citizenship, it shouldn't be forgotten that ultimately government should be there to help facilitate a good society for the citizenship, rather than being there just as an authority figure.

Like in the way taxes are framed -- as a tedious thing that each citizen has to do for the government, or else get in trouble.  But paying taxes should be seen as a means for each person to contribute to society as a whole.  Alain de Botton has made this point.  He suggests that paying taxes should be treated as a civic good that the government should thank the citizen for, providing a receipt showing how the person's tax money will be spent (e.g. if they payed $5000, that $100 of that is going towards the education system. I'm making these figures up -- I have no idea how accurate that proportion is).

(I saw de Botton make this point in a tweet, but I haven't been able to locate that tweet.  I did however find an article he wrote on similar lines).

This goes the other way, too.  People should see paying their taxes as making a contribution to society.  Helping them to see where their taxes go would help this change of framing.

Shifting topics a bit, taxes seem basically for funding public goods that market forces aren't very good at funding.  Public goods such as research, and particularly basic research.  With such 'public goods', either market forces can't supply sufficient funding, or if they are relied upon too much for funding they can introduce unfortunate biases (that serve the ends of companies...  which isn't necessarily bad, but can be not-ideal in some circumstances).

It recently occurred to me that journalism is a public good that would probably benefit a lot if it was treated as one.  (Assuming that in the country there was adequate and effective funding of public goods -- I'm thinking about an ideal situation here).

At present, there seems to be severe difficulties in obtaining sufficient funding for journalism from market forces.  And there's too much bias introduced by funding through market forces.  One, biases towards content that will bring in money (e.g. clickbait), rather than on quality content.  And two, biases towards what will suit the companies paying the journalists.

In an ideal country, people would appreciate the value that public goods provide to them.  They would appreciate all the benefits that come from research, for example.  And they would be more willing to pay taxes to fund substantial research in the country.  And the government would distribute the research funding in a merit-based (and non-politically motivated) fashion.

Journalism could be treated in the same way.  In the same way that government could fund research in an ideal situation they could fund journalism in a merit-based (and non-politically motivated) fashion.

Sunday, January 24, 2016

Chayote (Choko) taco filling

This is Rick Bayless' Roast Chayote recipe with a few modifications.

They're called chokos here in Australia, but in Mexico they're called chayote.  This recipe has a mild but flavoursome taste that I really like.

If you're wondering how 'chayote' is pronounced, like I was, it seems to be chiYohteh, with the 'oh' rising and the 'teh' quite short.  These videos seem to show an authentic pronunciation.


Ingredients

  • Chayote (choko), 3 large, peeled, pitted & cut into ~1cm cubes (it's better to cut them smaller rather than larger as more of the surface area will get browned, and you won't get mushy bits at the center of the cubes).
  • Olive oil, 1.5 tbsp
  • Salt
  • Cracked black pepper
  • Lime juice, fresh, 1.5 tbsp (or lemon or other tart citrus)
  • Lime zest, grated, 1 tsp
  • Goats cheese, 120g (or a not-too-briny feta works), crumbled
    • I've found that it's better if the goats cheese is not too strong, so a mixture of goats cheese and ricotta works well.
  • for the Green Chilli Adobo used in the recipe (note: this will make more than is required for this recipe -- but that's ok, it's good as a general-purpose condiment).
    • Garlic, 1/2 head, separated into unpeeled cloves
    • Serrano chillies, 4 to 5 serrano, stems removed
    • Corriander, large bunch, thick bottom stems cut off, roughly chopped (about 2 cups loosely packed)
    • Flat leaf parsley, 1 large bunch, thick bottom stems cut off, roughly chopped (about 2 cups loosely packed)
    • Olive oil, 1 cup
    • Salt, 2 generous tsp
       

Instructions
  • Make the Green Chilli Adobo (this may be done in advance)
    • Pan roast garlic and chillies
      • Set a large (25cm) skillet over medium heat.
      • Lay in the garlic and chillies and roast, turning regularly, until soft and browned in spots, about 10 minutes for the chillies and 15 for the garlic.
        • (If you’re really short on time, you can soften them in a microwave: Cut a slit in each garlic clove and combine with the chillies in a microwavable bowl. Cover with plastic wrap, poke a few holes in the top and microwave on high for 30 seconds.)
    • Chop garlic and chillies
      • Cool until handleable, then slip off the garlic's papery husks.
      • Roughly chop everything (no need to remove the chilli seeds).
    • Blend ingredients
      • In a blender or food processor, combine the garlic and chillies with the corriander, parsley, olive oil and salt.
      • Process, stopping to scrape down the sides if necessary, until nearly smooth (it should look a little like pesto).
    • Transfer to a jar and pour a little oil over the top.
    • Store, covered, in the refrigerator, where it will last several months.
  • Turn on the oven to 220C
  • Prepare and roast chayote
    • Toss the chayote with the olive oil and about 1/2 tsp salt and 1/4 cracked pepper.
    • Spread it onto a rimmed baking sheet.  You want the pieces to be spread out.  Use two pans if you need to.
    • Put it into oven and roast, turning every few minutes
      ...until the chayote is beautifully browned and tender, about 25 minutes (cooking times may vary.  Sometimes I've had to cook them for 45 mins.  Definitely cook them as long as is required to get the pieces a browned)
    • Remove from oven
  • Toss chayote with lime juice, lime zest, and 1.5 tablespoons of the Green Chilli Adobo.
  • Scatter cheese and leftover parsley or corriander on top
  • This makes a fantastic (soft) taco filling.  Once you've added the filling to the taco, spoon a bit more of the adobo on top.
    • Rick Bayless also suggests layering it with black bean refritos as a taco filling, and also serving it over greens such as baby rocket or watercress, for a robust salad.