Open thread, May 8 - May 14, 2017

If it's worth saying, but not worth its own post, then it goes here.


Notes for future OT posters:

1. Please add the 'open_thread' tag.

2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)

3. Open Threads should start on Monday, and end on Sunday.

4. Unflag the two options "Notify me of new top level comments on this article" and "

Comments

sorted by
magical algorithm
Highlighting new comments since Today at 10:50 AM
Select new highlight date
All comments loaded

For the past few months we've had three developers (Eric Rogstad, Oliver Habryka, and Harmanas Chopra) working on LW 2.0. I haven't talked about it publicly much because I didn't want to make promises that I wasn't confident could be kept. (Especially since each attempt to generate enthusiasm about a revitalization that isn't followed by a revitalization erodes the ability to generate enthusiasm in the future.)

We're far enough along that the end is in sight; we're starting alpha testing and I'm going to be start posting a status update in the Open Thread each Monday to keep people informed of how it's going.

New research out of the Stanford / Facebook AI labs: They train an LSTM-based system to construct logical programs that are then used to compose a modular system of CNNs that answers a given question about a scene.

This is very important for the following reasons:

  • As a breakthrough in AI performance, it beats previous benchmarks by a significant margin.
  • Capable of learning to generate new programs even if only trained on a small fraction (< 4%) of possible programs.
  • Their strongly-supervised variant achieves super-human performance on all tasks within the CLEVR dataset.
  • It is much less of a black box than typical deep-learning systems: The LSTM creates an interpretable program, which allows us to understand the method by which the system tries to answer the question.
  • It is capable of generalizing to questions made up by humans, not found in its training data.

This is really exciting and I'm glad we're moving further into the direction of "neural networks being used to construct interpretable programs."

The Strange Loop in Deep Learning

https://medium.com/intuitionmachine/the-strange-loop-in-deep-learning-38aa7caf6d7d

"The crux of the approach is the use of a ‘cycle-consistency loss’. This loss ensures that the network can perform the forward translation and followed by the reverse translations with minimal loss. That is, the network must learn how to not only translate the original image, in needs to also learn the inverse (or reverse) translation."

I have a neat idea for a smartphone app, but I would like to know if something similar exists before trying to create it.

It would be used to measure various things in one's life without having to fiddle with spreadsheets. You could create documents of different types, each type measuring something different. Data would be added via simple interfaces that fill in most of the necessary information. Reminders based on time, location and other factors could be set up to prompt for data entry. The gathered data would then be displayed using various graphs and could be exported.

The cool thing is that it would be super simple to reliably measure most things on a phone in a way that's much simpler than keeping a spreadsheet. For example: you want to measure how often you see a seagull. You'd create a frequency-measuring document, entitle it "Seagull sightings", and each time you open it, there'd be a big button for you to press indicating that you just saw a seagull. Pressing the button would automatically record the time and date, perhaps the location, when this happened. Additional fields could be added, like the size of the seagull, which would be prompted and logged with each press. With a spreadsheet, you'd have to enter the date yourself, and the interface isn't nearly as convenient.

Another example: you're curious as to how long you sleep and how you feel in the morning. You'd set up an interval-measuring document with a 1-10 integer field for sleep quality and reminders tied into your alarm app or the time you usually wake up. Each morning you'd enter hours slept and rate how good you feel. After a while you could look at pretty graphs and mine for correlations.

A third example: you can emulate the experience sampling method for yourself. You would have your phone remind you to take the survey at specific times in the day, whereupon you'd be presented with sliders, checkboxes, text fields and other fields of your choosing.

This could be taken further in a useful way by adding a crowd sourcing aspect. Document-templates could be shared in a sort of template marketplace. The data of everyone using a certain template would accumulate in one place, making for a much larger sample size.

I used to be very active in the Quantified Self community in the past but currently I still follow the Facebook group. As far as I know there's no app that does a good job at this task.

For background research you might check out: https://gyrosco.pe/ http://www.inputbox.co/#/start http://www.reporter-app.com/ http://brainaid.com/

I think that app also suffers from there being to many clicks if you have a bunch of values to track.

I think it would be unusable for my morning tracking because I have to make 3 clicks for every yes/no checkbox.

It reminds me of the story that when Jeff Bezos told his engineers to do 1-click buying they came back with a solution that took 4 clicks.

That's incorrect if I understood right. Here's how I use it:

  • Click reminder notification (or tracker-specific shortcut) to open
  • Click yes or no (you can have multiple of these in a single tracker)
  • Click save

So it's 1 click to begin, 1 click for each choice, 1 click to save. There's also support for input fields and lists with predefined values.

If you know an app that does this better, I am looking..

So it's 1 click to begin, 1 click for each choice, 1 click to save.

That's three clicks.

If you have a Google form with a checklist of 10 items and you answer half of them with "yes" (tick them) you have 7 (if we count opening the form and sending the form) clicks instead of 30 (or maybe 25 if if you play with predefined values).

If you know an app that does this better, I am looking.

The main argument I'm making here is that there's no app out there that really solves this problem well and there's room for Sandi to create something better than the present options.

I probably explained badly. You can have 10 yes/no questions and fill half with 7 clicks using this app. It works exactly like the example you gave.

Is this what the paid "Multi value" feature does?

Yes.

I recommend the app warmly, but at the same time I'd be happy to switch if something with better design or features came up. I haven't found anything as good yet.

Is there somewhere where I can see a good demo of how the multi value feature looks like in practice?

Gleeo Time Tracker lets you define categories, and then use one click to start or stop tracking the category. You can edit the records and include more specific descriptions in them. You can export all data to spreadsheet. I use it to track my daily time, on very general level -- how much I sleep, meditate, etc.

(Note: When you start integrating with other apps, there are almost unlimited options. You may want to make some kind of plugin system, write a few plugins yourself, and let other users write their own. Otherwise people will bother you endlessly to integrate with their favorite app.)

That's a reduction that is valid for many, many applications.

Your post reads as if you read my mind. :)

I currently use a mix between TapLog (for Android) and google forms (with an icon on my home screen so that it mimics a locally installed app).

Neither feels as if they really solve my needs, though. E.g. both lack a reminder feature.

What does TapLog lack, besides a reminder feature? It seems pretty nifty from the few screenshots I just saw.

TapLog is very nifty, it's simply that it would be even better with a somewhat extended feature set.

Here's one use case: I want to log my skin picking and skin care routine (morning/evening).

The first is easy. I just add a button to my home screen that increments by one every time I click it (which is every time I touch my face with my fingers). After a while I can plot number of picks each day, or month, or cumulative, etc. It's very nice.

Logging my skin care routine is more difficult, since TapLog does not support lists. (Only quantity, and/or text-input [with an optional prompt], and/or gps position, for a single entry)

What I would like is for TapLog to let me predefine a list of items (shave, cleanse, moisturizer) then give me a push notification in the morning and/or evening requesting me to check off each item.

(If you use something like Wunderlist with a daily repeat of the list, it is very fragile. If you miss a couple of days you have to reset the date for the reminder, because there's no way for unfinished lists to simply disappear unless you actually check them off. And in Wunderlist there's no way to analyze your list data to see how well you did last month, etc.)

TapLog is designed for entering one piece of data at a time.

If you have a checklist with 10 items and on average 5 are "yes" you have to do 10 clicks. Basically "click 1 yes" "back" "click 2 yes" "back" "click 3 yes" "back" "click 1 yes" "back" "click 1 yes" "back" and "click 5 yes" "back". If you have a Google form it only takes half as much clicks.

Besides pure click counting it's also nice to see the checklist of 10 items together before clicking send to make sure that everything is right.

There's a weird cold war in software design, where everyone knows that they can use 'security' to win any argument, but we must all refrain from doing so, because that ratchet only goes one way.

The deal is that no one can ever argue against 'security', so you always win if you bring it up, but if you use that against me I'll retaliate, and the project will fail (very very securely).

Also, unrelated, if I you ever hear someone bragging about their amazing release process, just nod and ask them about the emergency release process. That's what they ACTUALLY use.

When we get into discussions about security, the best tools I've found are:

  1. Attack Trees: If someone wants to add a new security feature they have to justify it by pointing at an attack that is not covered by other mitigations.
  2. Cost/Risk analysis: Decide if it worth worrying about state-level actors/professionals criminals/script kiddies.

no one can ever argue against 'security', so you always win if you bring it up

Doesn't work for me. I am the guy saying "we should not be doing X, because when you google for X, the first three results are all telling you that you definitely shouldn't be doing X", and everyone else is "dude, you already spent the whole day trying to solve this issue, just do it the easy way and move on to the other urgent high-priority tasks".

Probably depends on the type of a company, i.e. what is the trade-off between "doing the project faster" and "covering your ass" for your superiors. If they have little to lose by being late, but can potentially get sued for ignoring a security issue, then yes, this is really scary.

A possible solution is to tell the developer to just do it as fast as possible, but still in a perfectly secure way. Have daily meetups asking him ironically whether he is still working on that one simple task. But also make him sign a document that you can deduct his yearly salary if he knowingly ignores a security issue. -- Now he has an incentive to shut up about the security issues (to avoid giving a proof that he knew about them).

Can we make a list of all the best (maybe not the best, but the ones people use) implementation intentions/TAPs for rationality? That would be instantly useful to anyone who encounters it.

Also, making a list for general TAPs/implementation intentions LWers find useful in their life would also be very helpful to everyone.

I don't have enough karma to even make a post in discussion, so can someone take up my quest?

Why do you care if you're running in a simulation? Well, if you're a piece of malware, like a computer virus or Internet worm, you care whether you're being analyzed by an anti-malware researcher. If you're running in a researcher's lab instead of actually infecting target systems, you'd want to shut down so the researcher can't observe your real behavior and find out how to exterminate you. However, this means that if you can be fooled into believing you're running in a simulation when you're not, you can be made to shut down in the wild.

Yep, that happened. It's not even the first time.

The WannaCrypt worm contained logic that basically said, "Look for the following properties in the Internet. If you observe them, that means you're not running in the real Internet; you're running in a simulation." But the researcher was able to cause those properties to become true in the real Internet, thereby convincing the live malware that was infesting the actual Internet to believe it was in a simulation and shut down.

Anti-analysis or anti-debugging features, which attempt to ask "Am I running in a simulation?", are not a new thing in malware, or in other programs that attempt to extract value from humans — such as copy-protection routines. But they do make malware an interesting example of a type of agent for which the simulation hypothesis matters, and where mistaken beliefs about whether you're in a simulation can have devastating effects on your ability to function.

Why do you think a piece of software has the same goals as it's creator? My conscious planning mind doesn't have the same goals as evolution.

Current software doesn't even have goals, it has behaviors. Ascribing desires and decision-making to it leads to incorrect beliefs. AIs will have goals, but they'll be influenced and shaped by their creators rather than being fully specified.

Do you find it demotivating to do mathematics which is assigned to you in school compared doing mathematics personally? I'm currently having difficulty getting myself doing mathematics thats assigned to me.

It works similarly for me with programming. I love programming, except when I have a programming task assigned, and must provide reports of how long it took me to solve it, and must debate whether what I am doing now is the highest priority or whether I should be doing something else instead (such as googling for existing solutions for this or similar problems)...

What you need to feel good at deep work) is:

  • a task that optimally fits your abilities (not boringly simple, not scarily difficult);
  • a meaningful context (even if the meaning is: I am playing / exploring);
  • a clear goal (so you have a feedback whether you are approaching it);
  • a working environment without distractions.

Okay... so this draws on a couple of things which can be confusing. 1) perspective projections 2) mapping spheres onto 2D planes.

Usually when we think of a field of vision we imagine some projection that maps the 3D world in front of us to some 2D rectangle image. And that's all fine and well. We don't expect the lines in the image to conserve the angles they had in 3D.

I think what the author of the post is saying is that if you use a cylindrical projection that wraps around 360 degrees horizontally, then the lines will appear parallel when you unwrap it. But there's nothing wrong with this. If it seems like it would be a contradiction, because the lines cross each other at right angles in 3D - it's because in a z-aligned cylindrical projection, the point where the lines cross will be on one of the singularities that sit on each pole. And if the cylindrical projection is not z-aligned, the lines won't be parallel, and will cross each other at some angle.

I guess you can also think of this as two projections. There is the two lines on the floor, which are projected up onto the bird's panoramic view (a sphere), and then the sphere is projected onto a z-aligned cylinder, and then the cylinder is unwrapped to give us our 2D image with the two lines parallel.

Like how if you projected two perpendicular lines up onto the bottom of this globe they might align with say, 0"/180" and 90"/270", but they would appear parallel on the output cylindrical projection

This is assuming that by "perspective" we mean something like "projection onto a sphere". Then the lines become great semicircles and it's true that they are parallel at the horizon, at least in the sense that the great circle representing the horizon meets them each at a right angle.