Archives for December 2013

цветы для Элджернона

31 December 2013 | Biology, History | No Comments

пожалуйста, новогодняя, новожизненная история:

[Maurice] Temerlin and his wife raised Lucy [a chimpanzee] as if she were a human child, teaching her to eat with silverware, dress herself, flip through magazines, and sit in a chair at the dinner table. She was taught rudimentary American Sign Language by primatologist Roger Fouts.

<...>

By the time she was 12, Lucy had become very strong and was very destructive in the Temerlin house. Eventually, she was shipped to a chimpanzee rehabilitation center in Gambia, accompanied by University of Oklahoma psychology graduate student Janis Carter. For years, Lucy was unable to relate to the other chimps in the rehabilitation center, and never reproduced, displaying sexual attraction only to humans. Lucy showed many signs of depression, including refusal to eat, and expressed “hurt” via sign language.

а вы говорите Джон Донн.

  

basic values

30 December 2013 | Culturology, Education | 2 Comments

новые занятия @ Coursera, апрель, 2014: Understanding Russians — Contexts of Intercultural Communication.

записался, разумеется (чудесный акцент, кстати, — так скучал без него, так хандрил… денно и нощно, literally).

  

о взглядах

29 December 2013 | Economics, Politics | No Comments

кстати, в частности и поэтому (“can only work if we replace real messy human beings with frictionless spherical humanoids of uniform density”), европейский социализм — даже в самых безумных формах — куда ближе мне, чем анархо-капитализм[1].

это и есть то отличие, что разделяет экономику и математику.

 


  1. что до Айн Рэнд, буде зайдет речь, то она была элеменатрно плохим литератором, слабым философом и никчемным экономистом. как сказал когда-то Джон Роджерс:

    There are two novels that can change a bookish fourteen-year old’s life: The Lord of the Rings and Atlas Shrugged. One is a childish fantasy that often engenders a lifelong obsession with its unbelievable heroes, leading to an emotionally stunted, socially crippled adulthood, unable to deal with the real world. The other, of course, involves orcs.

    почитатели же ее, как всегда говорил мой опыт, — это лишь отдельная разновидность жертв Стокгольмского синдрома.  ↩

  

сферический конь в вакууме

29 December 2013 | Economics, Internet, Lifeform, Politics | 1 Comment

с другой же стороны, Чарли Стросс подводит итог максимально точно:

To editorialize briefly, BitCoin looks like it was designed as a weapon intended to damage central banking and money issuing banks, with a Libertarian political agenda in mind—to damage states ability to collect tax and monitor their citizens financial transactions. Which is fine if you’re a Libertarian, but I tend to take the stance that Libertarianism is like Leninism: a fascinating, internally consistent political theory with some good underlying points that, regrettably, makes prescriptions about how to run human society that can only work if we replace real messy human beings with frictionless spherical humanoids of uniform density (because it relies on simplifying assumptions about human behaviour which are unfortunately wrong).

он абсолютно прав, это прекрасный инструмент для идеального мира. но мы-то живем на Земле.

  

altcoins

29 December 2013 | Economics, Internet, Lifeform | 3 Comments

Брэд ДеЛонг о своих наблюдениях за биткойном:

Underpinning the value of gold is that if all else fails you can use it to make pretty things. Underpinning the value of the dollar is a combination of (a) the fact that you can use them to pay your taxes to the U.S. government, and (b) that the Federal Reserve is a potential dollar sink and has promised to buy them back and extinguish them if their real value starts to sink at (much) more than 2%/year (yes, I know).

Placing a ceiling on the value of gold is mining technology, and the prospect that if its price gets out of whack for long on the upside a great deal more of it will be created. Placing a ceiling on the value of the dollar is the Federal Reserve’s role as actual dollar source, and its commitment not to allow deflation to happen.

Placing a ceiling on the value of bitcoins is computer technology and the form of the hash function… until the limit of 21 million bitcoins is reached. Placing a floor on the value of bitcoins is… what, exactly?

мне кажется, я могу ответить: это договоренность сторон о необходимости альтернативных денег, неподвластных государственому регулированию. и до тех пор, пока такая договоренность в силе, биткойн будет жить (падая и снова возрождаясь). проблема, однако, в том, что формализировать эти договаривающиеся стороны мы, на самом-то деле, не можем. и следовательно, поскольку намерения этих сторон нам неизвестны, сложно расценивать биткойн, как действенную инвестицию — условно говоря, если значимая часть игроков решит денонсировать свое участие, биткойн обесценится и накопления остальных, well, дольщиков элементарно сгорят[1].

поэтому можно говорить разве что об исключительно удачном эксперименте — но он еще не окончен, вот в чем дело. и несмотря на то, как математически прекрасна эта криптовалюта, сегодня она годится разве что для спекуляций в мире стальных нервов.

 


  1. что, впрочем, не делает биткойн пузырем. как и не делает его хавалой. или золотом 2.0.  ↩

  

банки с вареньем

28 December 2013 | HOWTO, Software | No Comments

если активно изпользовать PopClip, то в одним момент с удивлением обнаруживаешь, что различных плагинов у тебя слишком много, они не помещаются рядом, стесняются друг друга и прячутся в закутках.

поэтому некоторые из них так и хочется соеднить в одно целое, связав разные действия с дополнительно зажатыми клавишами-модификаторами. что ж, реализовать подобное несложно, благо у PopClip есть специальная переменная POPCLIP_MODIFIER_FLAGS, которая, натурально, принимает разные значения в зависимости от используемой клавиши.

выглядит это так:

#!/usr/bin/env python

# Markdown tags for PopClip
# By dsjkvf (2013) dsjkvf@gmail.com

import sys
import os

def em():
	sys.stdout.write ("*" + selected_text + "*")

def strong():
	sys.stdout.write ("**" + selected_text + "**")

def quote():
	sys.stdout.write ("> " + selected_text)

def code():
	sys.stdout.write ("`" + selected_text + "`")

def tab():
	sys.stdout.write ("    " + selected_text)
	
def comment():
	sys.stdout.write ("<!-- " + selected_text + " -->")

# get the text selected by PopClip
selected_text = os.environ['POPCLIP_TEXT']
# get the tags set for the corresponding keys (from the extension's settings)
cmd = os.environ['POPCLIP_OPTION_CMD']
opt = os.environ['POPCLIP_OPTION_OPT']
ctr = os.environ['POPCLIP_OPTION_CTR']
non = os.environ['POPCLIP_OPTION_NON']
# special keys: Command + Option, Command + Control
cmo = os.environ['POPCLIP_OPTION_CMO']
cmr = os.environ['POPCLIP_OPTION_CMR']
# transform the settings into the functions name
func_cmd = globals()[cmd]
func_opt = globals()[opt]
func_ctr = globals()[ctr]
func_non = globals()[non]
# special keys: Command + Option, Command + Control
func_cmo = globals()[cmo]
func_cmr = globals()[cmr]
# get the key pressed
key = os.environ['POPCLIP_MODIFIER_FLAGS']
if key == '1572864':
	func_cmo()
elif key == '1310720':
	func_cmr()
elif key == '1048576':
	func_cmd()
elif key == '524288':
	func_opt()
elif key == '262144':
	func_ctr()
else:
	func_non()

и не забудем про свойства:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Actions</key>
	<array>
		<dict>
			<key>Image File</key>
			<string>t.png</string>
			<key>Script Interpreter</key>
			<string>/usr/bin/python</string>
			<key>Shell Script File</key>
			<string>t.py</string>
			<key>Title</key>
			<string>Tagify</string>
			<key>After</key>
			<string>paste-result</string>
			<key>Requirements</key>
			<array>
				<string>paste</string>
			</array>
		</dict>
	</array>
	<key>Options</key>
	<array>
		<dict>
			<key>Option Identifier</key>
			<string>non</string>
			<key>Option Type</key>
			<string>string</string>
			<key>Option Default Value</key>
			<string>em</string>
			<key>Option Label</key>
			<string>No additional key</string>
		</dict>
		<dict>
			<key>Option Identifier</key>
			<string>ctr</string>
			<key>Option Type</key>
			<string>string</string>
			<key>Option Default Value</key>
			<string>code</string>
			<key>Option Label</key>
			<string>Control (^)</string>
		</dict>
		<dict>
			<key>Option Identifier</key>
			<string>opt</string>
			<key>Option Type</key>
			<string>string</string>
			<key>Option Default Value</key>
			<string>tab</string>
			<key>Option Label</key>
			<string>Option (⌥)</string>
		</dict>
		<dict>
			<key>Option Identifier</key>
			<string>cmd</string>
			<key>Option Type</key>
			<string>string</string>
			<key>Option Default Value</key>
			<string>strong</string>
			<key>Option Label</key>
			<string>Command (⌘)</string>
		</dict>
		<dict>
			<key>Option Identifier</key>
			<string>cmo</string>
			<key>Option Type</key>
			<string>string</string>
			<key>Option Default Value</key>
			<string>quote</string>
			<key>Option Label</key>
			<string>Command + Option (⌘⌥)</string>
		</dict>
		<dict>
			<key>Option Identifier</key>
			<string>cmr</string>
			<key>Option Type</key>
			<string>string</string>
			<key>Option Default Value</key>
			<string>comment</string>
			<key>Option Label</key>
			<string>Command + Control (⌘^)</string>
		</dict>
	</array>
	<key>Options Title</key>
	<string>Select tags for key modifiers:</string>	
	<key>Credits</key>
	<array>
		<key>Name</key>
		<string>dsjkvf</string>
	</array>
	<key>Extension Description</key>
	<string>Tags for Markdown</string>
	<key>Extension Identifier</key>
	<string>com.dsjkvf.popclip.extension.tagify</string>
	<key>Extension Name</key>
	<string>tagify</string>
	<key>Version</key>
	<integer>2</integer>
</dict>
</plist>

готовое расширение для опытов можно взять здесь.

  

on simplicity

27 December 2013 | Design, Watches | No Comments

элегантность циферблата.

  

в стане врага

27 December 2013 | Internet, Privacy, Security | 1 Comment

узелки на память:

про обязательные AdBlock [Plus], Ghostery и HTTPS Everywhere даже не говорю. плюс, не надо пользоваться браузерами с закрытым кодом, — такими, как, например, Google Chrome.

что же касается instant messaging, то следует установить Off-The-Record, или — еще проще[1] — взять на вооружение Cryptocat (с почтой все несколько сложнее просто потому, что если не само сообщение, то адресат ваш, уж конечно, в любом случае будет виден).

и, наконец, не стоит забывать про рекоммендации для работы в сети Tor.

а встроенную камеру можно заклеить изолентой.

 


  1. основан на том же OTR, былая дыра успешно закрыта.  ↩

  

not a game

26 December 2013 | Jurisprudence, Politics, Privacy, Security, Software | 1 Comment

дальшебольше:

The FBI has been able to covertly activate a computer’s camera — without triggering the light that lets users know it is recording[1] — for several years.

как насчет законодательного регулирования подобных мер? как насчет необходимости получать ордер, например?

A search warrant would be required to get content such as files from a suspect’s computer, said Mark Eckenwiler, a senior counsel at Perkins Coie LLP who until December was the Justice Department’s primary authority on federal criminal surveillance law. Continuing surveillance would necessitate an even stricter standard, the kind used to grant wiretaps.

But if the software gathers only communications-routing “metadata”—like Internet protocol addresses or the “to” and “from” lines in emails—a court order under a lower standard might suffice if the program is delivered remotely, such as through an Internet link, he said. That is because nobody is physically touching the suspect’s property, he added.

звучит отвратительно:

“Technology is evolving and law enforcement is struggling to keep up,” said Brian L. Owsley, a retired federal magistrate judge from Texas who was not involved in either case. “It’s a cat-and-mouse game.”

 


  1. например, так.  ↩

  

people surveilled

26 December 2013 | Facebook, Privacy, Security | No Comments

не только, впрочем, Ларри и Сергей — Марк тоже без ума от наших секретов:

A couple of months ago, a friend of mine asked on Facebook: “Do you think that Facebook tracks the stuff that people type and then erase before hitting ? (or the “post” button)”

Good question.

<...>

[T]he code in your browser that powers Facebook still knows what you typed — even if you decide not to publish it. It turns out that the things you explicitly choose not to share aren’t entirely private.

scared enough?