<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Offtopia</title>
	<atom:link href="http://www.offtopia.net/wp/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.offtopia.net/wp</link>
	<description>nothing personal</description>
	<lastBuildDate>Mon, 01 Oct 2018 13:40:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New Blog</title>
		<link>http://www.offtopia.net/wp/?p=309</link>
		<comments>http://www.offtopia.net/wp/?p=309#comments</comments>
		<pubDate>Mon, 01 Oct 2018 13:40:06 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/wp/?p=309</guid>
		<description><![CDATA[The new Offtopia, powered by Hugo.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://offtopia.net/">The new Offtopia</a>, powered by <a href="http://gohugo.io">Hugo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=309</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Brain Teasers at Job Interviews</title>
		<link>http://www.offtopia.net/wp/?p=292</link>
		<comments>http://www.offtopia.net/wp/?p=292#comments</comments>
		<pubDate>Mon, 26 Jun 2017 18:54:25 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Philosophy]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=292</guid>
		<description><![CDATA[I went to a few job interviews during past weeks. Most interviewers asked me to tell about problems I had solved, and to suggest a solution to a problem they really needed to solve.  Some though offered me to solve brain teasers &#8212; problems they  (or others) invented to test candidates. I solved [...]]]></description>
			<content:encoded><![CDATA[<p>I went to a few job interviews during past weeks. Most interviewers asked me to tell about problems I had solved, and to suggest a solution to a problem they <i>really</i> needed to solve.  Some though offered me to solve <i>brain teasers</i> &mdash; problems they  (or others) invented to test candidates. I solved most, but I felt bad about it. I can imagine many bright candidates who would fail an interview because of  brain teasers.</p>
<p>Brain teasers are wrong &mdash; that&#8217;s my gut feeling, but I had hard time finding an argument to support my gut feeling. Now I have one. Here is the story of a 250 years old job interview.<br />
<span id="more-292"></span></p>
<blockquote><p>
Yechezkel Landau, the rabbi of Prague in the second half of the 18th century and a famous Jewish scholar, applied for the post when he was only 41. Local Jewish intellectual elite gave him a tough examination on the jewish law. The candidate had to analyse and resolve difficult case studies, and provide rulings for complicated situations.</p>
<p>Rabbi Yechezkel answered all questions except for one. But though he failed to solve one particular riddle, he showed clearly that the riddle was not a real case  but a thought-up one, with the sole purpose to humiliate the candidate. </p>
<p>Rabbi Yechezkel said that human wisdom is divine, and because it is divine it only acts in real, God-inspired, situations. When presented with an artificial problem, constructed by one human just to test another human,  the wisest thought is no better than a random guess.
</p></blockquote>
<p>Brain teasers are bad for job interviews. They are no better than choosing a candidate by throwing a coin.</p>
<p>Rabbi Yechezkel got the job, by the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=292</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Social pal-based authentication</title>
		<link>http://www.offtopia.net/wp/?p=290</link>
		<comments>http://www.offtopia.net/wp/?p=290#comments</comments>
		<pubDate>Mon, 12 Jun 2017 05:01:49 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Cup of coffee]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=290</guid>
		<description><![CDATA[We can make multi-factor authentication actually work by relying on human&#8217;s unparalleled ability to recognize acquaintances and detect impersonators.
Multi-factor authentication, a mechanism where the user provides two or more loosely coupled evidences of their identity, has become ubiquitous in access management of computer systems. Compared to a single factor authentication, no single piece of information [...]]]></description>
			<content:encoded><![CDATA[<p>We can make multi-factor authentication actually work by relying on human&#8217;s unparalleled ability to recognize acquaintances and detect impersonators.</p>
<p>Multi-factor authentication, a mechanism where the user provides two or more loosely coupled evidences of their identity, has become ubiquitous in access management of computer systems. Compared to a single factor authentication, no single piece of information about the user is sufficient for authentication, and account take-over requires obtaining multiple kinds of information about the user.</p>
<p>However, known multi-factor authentication schemes rely on a single user&#8217;s knowledge, possession, and inherence. Consequently, while breaking multi-factor authentication is harder than breaking single-factor, password or key based, authentication, it still requires access to a single entity only.</p>
<p><span id="more-290"></span></p>
<p>For example, if an additional authentication requires entering a code sent via an SMS to the user&#8217;s phone, stealing or observing the user&#8217;s phone allows unauthorized access. Similarly, the answer to a &#8217;secret question&#8217;, such as mother&#8217;s maiden name, can be obtained by getting access to the user&#8217;s personal file. With traditional multi-factor authentication, gaining unauthorized access to a computer system still depends on attacking and obtaining information about a single user.</p>
<p>A much harder to break would be an authentication scheme in which multiple people were involved in authentication, and in such a way that identity of people involved in authentication of a user&#8217;s access or action is not known in advance. In addition, human beings are notoriously good at identifying their acquaintances &#8212; in person or by phone, so that it is deemed beneficial to use person-to-person authentication in addition to person-to-computer authentication in a multi-factor authentication scheme with higher security.</p>
<p>Here, we propose to use a network of social connections of the user to establish a stronger multi-factor authentication scheme by requiring another person chosen among the user&#8217;s social connections, or <em>pals</em> to confirm the identity of the user and/or the genuineness of the user&#8217;s intent to perform the transaction.</p>
<p>In the following sections, we first describe the pal-based authentication scheme. Then, we analyse and discuss the added security it provides, as well as implementation issues.</p>
<h2 id="algorithm-outline">Algorithm Outline</h2>
<p>Let us consider a user undergoing access authorization to perform a certain transaction, such as payment, adding or updating financial details, money transfer, or access to sensitive information such as the user&#8217;s medical record.</p>
<p>When the user logs into the system, in addition to entering the password the user is presented with a random choice of a small subset (for example, 2 or 3 people) out of the list of their friends/relatives (whom they registered with the system) so that one of them also authorizes the transaction. Then, the following happens:</p>
<ul>
<li>The user chooses one person (the <em>authentication pal</em>) from the presented random subset.</li>
<li>The user contacts the other person asking to authorize the transaction or log-in, by phone, email, or in person.</li>
<li>The system sends the person the authentication link.</li>
</ul>
<p>From this point on, authentication passes if the other person decides to confirm that the user and the user&#8217;s intent to perform transaction are genuine and confirms the original user&#8217;s identity. The original user does not have to disclose details of the transaction to their authentication pal, just to convince the pal that they are who they pretend to be.</p>
<p>This is a powerful second factor because it involves &#8217;social authentication&#8217; &#8212; the other person must become convinced that the user asking to authenticate is indeed their friend/relative and not an impostor. This can be used selectively when a stronger authentication is required, for example when essential information is changed or disclosed, or when a high-volume transaction is performed.</p>
<h3 id="example">Example</h3>
<p>Consider the following example:</p>
<ul>
<li><em>A</em> logs into the system by sending their user id and password.</li>
<li>The system maintains a list of <em>A</em>&#8217;s pals (registered by A and confirmed by each member of the list, just like friendship in Facebook or connections in LinkedIn): <em>K</em>, <em>L</em>, <em>M</em>, <em>N</em>, <em>O</em>, <em>P</em>.</li>
<li>Out of the above list, the system chooses randomly two users: <em>L</em> and <em>N</em> and presents them to <em>A</em>.</li>
<li><em>A</em> chooses <em>N</em> for pal-based authentication.</li>
<li>The system sends the authentication link to <em>N</em> by email (or by other electronic communication means), along with an explanation that <em>N</em> should only authorize the authentication attempt if they are sure that <em>A</em> is genuine and not an impostor.</li>
<li><em>N</em> and <em>A</em> contact each other. Either side may initiate the interaction.</li>
<li>After talking to <em>A</em>, <em>N</em> becomes convinced that <em>A</em>&#8217;s identity is genuine, and follows the authentication link.</li>
<li><em>N</em> authenticates themself to the system (using any authentication scheme, such as single-factor, traditional multi-factor, or pal-based multi-factor authentication depending on risk level and environment) authorizes <em>A</em>&#8217;s identity.</li>
<li><em>A</em> gains access to the system.</li>
</ul>
<h2 id="special-cases">Special cases</h2>
<p>A problem arises with repeated failing attempts to authenticate using pal-based authentication.</p>
<ul>
<li>
<p>If the system presents a different random choice each time, the attacker must only gain access to the email and credentials of a single member of the pals&#8217; list.</p>
</li>
<li>
<p>On the other hand, if the system re-uses the same choice every time, then the attacker will know which other identity to steal in order to overcome pal-based authentication.</p>
</li>
</ul>
<p>Because of this, if pal-based authentication fails because the other party actively refuses to authenticate the use, the user&#8217;s access should be restricted until the user&#8217;s identity is verified using different means. This is not a major issue however if pal-based identification is used selectively, in cases of high risk or high potential loss.</p>
<p>Related to this are different types of rejection during pal-based authentication. The following scenarios are possible:</p>
<ul>
<li>
<p>The user refuses to use pal-based authentication.</p>
</li>
<li>
<p>The user agrees to use pal-based authentication, however the other party chosen by the user is unreachable or does not take an action (neither confirms nor rejects the user&#8217;s identity) &#8212; which is indistinguishable from the point of view of the system.</p>
</li>
<li>
<p>As discussed above, the other party rejects the authentication attempt.</p>
</li>
</ul>
<p>In each of the cases, a fallback authentication and re-validation mechanism must be provided.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=290</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Field hospital</title>
		<link>http://www.offtopia.net/wp/?p=282</link>
		<comments>http://www.offtopia.net/wp/?p=282#comments</comments>
		<pubDate>Wed, 15 Feb 2017 06:38:27 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=282</guid>
		<description><![CDATA[Saving a failing software project is like working in a field hospital. You may know how to do it the right way but do not have time. There are two choices:

doing it quick and dirty;
starting over, cutting down, and still doing it right.

Quick and dirty is like giving up on antiseptics. The patient will die [...]]]></description>
			<content:encoded><![CDATA[<p>Saving a failing software project is like working in a field hospital. You may know how to do it the right way but do not have time. There are two choices:</p>
<ul>
<li>doing it quick and dirty;</li>
<li>starting over, cutting down, and still doing it right.</li>
</ul>
<p><i>Quick and dirty</i> is like <a href="http://www.medicaldaily.com/surgery-antiseptics-gruesome-bloody-and-often-fatal-397970">giving up on antiseptics</a>. The patient will die anyway, flesh rotting from infection. But you &#8220;did everything you could&#8221;.</p>
<p><i>Starting over</i> is like <a href="http://www.cracked.com/personal-experiences-1604-major-surgery-with-no-painkillers-5-things-i-learned.html">giving up on anesthesia</a>. It&#8217;s hard and unpleasant. But the software project has a chance to get back on track. </p>
<p>It&#8217;s not a choice how to save the project. It&#8217;s a choice whether to save the project or to cover your neck (neck is an euphemism).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=282</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On personal hygiene</title>
		<link>http://www.offtopia.net/wp/?p=277</link>
		<comments>http://www.offtopia.net/wp/?p=277#comments</comments>
		<pubDate>Wed, 15 Feb 2017 06:00:30 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=277</guid>
		<description><![CDATA[Writing unit tests is like washing hands after going to the toilets. If you don&#8217;t, you both get bugs and worms, and also put others in danger. The only remedy is to stay away from you, as far as possible.
]]></description>
			<content:encoded><![CDATA[<p>Writing unit tests is like washing hands after going to the toilets. If you don&#8217;t, you both get bugs and worms, and also put others in danger. The only remedy is to stay away from you, as far as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=277</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>anglican.ml</title>
		<link>http://www.offtopia.net/wp/?p=269</link>
		<comments>http://www.offtopia.net/wp/?p=269#comments</comments>
		<pubDate>Fri, 07 Oct 2016 13:14:30 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Machine Learning]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=269</guid>
		<description><![CDATA[http://anglican.ml/, the proper domain for the Anglican way of machine learning.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://anglican.ml/">http://anglican.ml/</a>, the proper domain for the <a href="http://bitbucket.org/probprog/anglican/"><strong>Anglican</strong></a> way of <strong>m</strong>achine <strong>l</strong>earning.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=269</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software development paradigms</title>
		<link>http://www.offtopia.net/wp/?p=266</link>
		<comments>http://www.offtopia.net/wp/?p=266#comments</comments>
		<pubDate>Mon, 28 Mar 2016 21:00:50 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=266</guid>
		<description><![CDATA[There are only two software development paradigms: test-driven development and bug-driven development. 

Test-driven development results in programs which work well.
Bug-driven development results in programmers which work hard.

]]></description>
			<content:encoded><![CDATA[<p>There are only two software development paradigms: test-driven development and bug-driven development. </p>
<ul>
<li>Test-driven development results in programs which work well.</li>
<li>Bug-driven development results in programmers which work hard.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=266</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Immanuel Kant and Probability</title>
		<link>http://www.offtopia.net/wp/?p=255</link>
		<comments>http://www.offtopia.net/wp/?p=255#comments</comments>
		<pubDate>Thu, 08 Oct 2015 20:18:21 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Probability]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=255</guid>
		<description><![CDATA[ Kant said: there are two a priori intuitions &#x2014; space and time. There are also categories, and &#8220;the number of the categories in each class is always the same, namely, three&#8221;, like unity-plurality-modality, or possibility-existence-necessity. It would be fun to have three a priori intuitions, but only two exist, sigh. Really though?

Kant probably did [...]]]></description>
			<content:encoded><![CDATA[<p> Kant said: there are two <em>a priori</em> intuitions &#x2014; space and time. There are also categories, and &#8220;the number of the categories in each class is always the same, namely, three&#8221;, like unity-plurality-modality, or possibility-existence-necessity. It would be fun to have three <em>a priori</em> intuitions, but only two exist, sigh. Really though?<br />
<span id="more-255"></span><br />
Kant probably did not realize: there is a third one &#x2014; probability, to wit, certainty of our experience. Just like space, probability precedes any experience. Every object is uncertain as much as it is extended. </p>
<p>The three <em>a priori</em> intuitions are related &#x2014; infinite and undirected space, infinite and directed time, finite and undirected probability.  Physics knows of <em>uncertainty principle</em>, we are uncertain about relation of time and space: both time and space cannot be intuited with certainty. Probability is as basic and fundamental as time and space for our cognition. </p>
<p>Just like geometry deals with <em>a priori</em> intuition of space, and mathematical analysis &#x2014; with intuition of time, theory of probability deals with intuition of probability. There is philosophical justification for studying uncertainty, probability, and bayesian inference.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=255</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imagine: eNapkin</title>
		<link>http://www.offtopia.net/wp/?p=251</link>
		<comments>http://www.offtopia.net/wp/?p=251#comments</comments>
		<pubDate>Wed, 17 Jun 2015 07:01:10 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Cup of coffee]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=251</guid>
		<description><![CDATA[Imagine that you have a great idea. You write it down on a napkin, show to your colleagues, they photograph the napkin with their smartphones, and will get back to you with investment proposals.
Now, what if instead of a napkin one of your colleagues has a laptop or a tablet handy? Imagine that you just [...]]]></description>
			<content:encoded><![CDATA[<p>Imagine that you have a great idea. You write it down on a <i>napkin,</i> show to your colleagues, they photograph the napkin with their smartphones, and will get back to you with investment proposals.</p>
<p>Now, what if instead of a napkin one of your colleagues has a <i>laptop</i> or a <i>tablet</i> handy?<span id="more-251"></span> Imagine that you just <b>grab</b> their laptop or tablet, <b>enter URL</b> <a href="http://enapk.in/">enapk.in</a>, <b>type in/draw</b> your idea, and let your colleagues <b>scan the barcode</b> or <b>copy the URL</b> of this napkin. Napkins are stored forever; but are only accessible through their short URLs (just like &#8220;tiny URLs&#8221;).</p>
<p>This way, any computer is just like a napkin, does not require a log-in to take notes or express ideas. Everyone with physical access to the napkin at the time of writing can later retrieve and use it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=251</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imagine: Shopping Selflist</title>
		<link>http://www.offtopia.net/wp/?p=243</link>
		<comments>http://www.offtopia.net/wp/?p=243#comments</comments>
		<pubDate>Tue, 16 Jun 2015 21:03:38 +0000</pubDate>
		<dc:creator>dvd</dc:creator>
				<category><![CDATA[Cup of coffee]]></category>

		<guid isPermaLink="false">http://www.offtopia.net/?p=243</guid>
		<description><![CDATA[Imagine 

a client on an old tablet or laptop in your kitchen, (sitting on the fridge and also holding a recipe book),
and a server serving a web page with shopping check list, automatically updated, to a mobile app.

Every time you run out of something (eggs, sugar, tea, &#8230;), you add this thing to the list [...]]]></description>
			<content:encoded><![CDATA[<p>Imagine </p>
<ul>
<li>a client on an <i>old tablet or laptop in your kitchen,</i> (sitting on the fridge and also holding a recipe book),</li>
<li>and a server serving a web page with shopping check list, automatically updated, to a <i>mobile app</i>.</li>
</ul>
<p>Every time you <b>run out</b> of something (eggs, sugar, tea, &#8230;), you <b>add</b> this thing to the list of &#8216;missing&#8217; goods (lookup/predictive input make adding easier).  When you <b>go shopping,</b> whatever you added is in the shopping list, when you buy, you <b>cross out</b> the entry.</p>
<p>A background <b>knowledge module</b> knows how to <i>measure</i> different things (sugar in kg or packets, eggs are counted, etc.), and suggests default amounts to buy. If you have to buy too often, the amount is automatically increased.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.offtopia.net/wp/?feed=rss2&amp;p=243</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
