Так как к несчастью (после 2011 года) у меня ящик на gmail, и я был вынужден использовать google docs для ведения совместной таблички, мне потребовалось сделать список дублирующихся ячеек при сравнении двух колонок. В интернете я нашел какие-то жуткие ужасные функции, поэтому пришлось лепить все самому. В итоге данная параша все же родилась на свет. Как она работает, я, честно, не знаю. Будем надеяться, что и дальше она будет работать, а не отвалится при очередном обновлении. От google spreadsheets остались после этого только самые мрачные воспоминания. И это при том, что там есть функция unique!! Можно было и duplicate() не полениться сделать. В общем. Предположим, что нам надо найти одинаковые ячейки у колонок A и B. В этом случае, в одну из ячеек вне колонок A и B нужно вписать следующую формулу бессмысленный набор цифр и букв:

=filter(A:A;countif(unique(A:B);A:A)>1)

И они выведутся у нас третьей колонкой.

Раскопал свой старый годовалой давности фреймворк под php. Потыркался в него, понял почему идея классная, но не взлетит. А дело все в том, что php сам по себе язык скриптовый, а apache сам по себе такой сервер. И любые надстройки над этим всем будут выглядеть громоздко и уродливо. Если хочется фреймворков - надо ставить Node.JS и под него писать. И гораздо лучше использовать инструменты в их традиционном способе выполнения. Пускай даже с недостатками. Сделать из топора бензопилу в любом случае не получится. Лучше уж научиться хорошо пользоваться топором (а там есть свои нюансы).

При помощи сервиса pdfonline.com сделал JavaScript ECMA-262 ECMAScript Language Specification 3rd edition (December 1999) html version на английском языке и запихрячил ее к себе на сайт. Хочу еще сделать cheatsheet, но возможно он будет настолько убог, что пригодится только для личного пользования.

Впрочем, html-версия оказалась сверстана криво, но хрен с ней, пусть висит раз уж залил. Все равно она тоже для личного пользования, а психически здоровые люди используют PDF.

The rest of — перевод.

However, what PAM does not provide is the rest of the user account information in /etc/passwd, i.e. the user's UID and GID, home directory, and shell.

Однако, что PAM не предоставляет - так это остальную информацию о пользователе из /etc/passwd, т.е. UID и GID пользователя, домашнюю директорию и шелл.

Поправьте меня, если я не прав. Мне это действительно важно.

Вот тут можно посмотреть установленные на компьютере шрифты, а вот здесь узнать какой шрифт был использован на той или иной картинке

Дело в том, что как бы есть баг, и я не уверен, но, вероятно, вот он и колёсико мыши в firefox не производит onscroll event когда scrollbar hidden. Ну а я, как бы люблю крутить колёсико очень и жить без кручения колес не могу, поэтому ниже рабочее решение для синхронизации этих двух фреймов, а решение подсказал добрый дядя Меф.



  
  
    
    
  

Мое первое знакомство с node.JS

Переписал скрипт монтирования remote sshfs фолдеров из ruby под node.JS. Ruby сосёт не нагибаясь.

Я считаю, что параметры в функции должны передаваться через ассоциативные массивы. Сравните сами:

$string = mb_substr($string, -1, 1, 'UTF-8');

и

$str = mb_substr(array(
  'string' => $str,
  'start' => -1, 
  'length' => 1,
  'encoding' => 'UTF-8'
));

и в PHP-6

$str = mb_substr([
  'string' => $str,
  'start' => -1, 
  'length' => 1,
  'encoding' => 'UTF-8'
]);

Но суть поста не в этом, а в том, как вырезать ненужные параметры из массива, чтобы потом сделать, например, extract.

$svn = array_intersect_key($svn,array_flip(array(
  'bin','url','username','password'
)));

Так гораздо понятнее. Один небольшой шажок в сторону самодокументируемого кода, который, однако, документацию не отменяет.

Вы, конечно, можете возразить, что первый способ самый короткий, и т.д. и т.п., но когда вы используете несколько ЯП, и возвращаетесь через некоторое время к функции, интерфейс которой не помните - вот тут-то жопа и начнется. 90% времени уйдет на просмотр справочников, повторное забывание интерфейса и повторные же просмотры. А если код чужой? И без документации? То-то же.

Что такое bitcoin rpcpassword?

Если bitcoin запускается с ключом "-server" или запускается bitcoind, то использовать его можно либо через командную строку, либо при помощи механизма HTTP-JSON-RPC. В последнем случае, чтобы любой желающий (вот тут я не очень уверен, что прямо-таки любой) не смог командовать bitcoin-кошельком, в ~/.bitcoin/bitcoin.conf прописывается пароль, которым необходимо защитить доступ к HTTP-JSON-RPC.