Как стать автором
Обновить
80
0
arty @arty

Пользователь

Отправить сообщение

Безопасен ли Telegram? Или как я искал закладку в MTProto

Время на прочтение4 мин
Количество просмотров331K
Telegram — мессенджер для смартфонов позиционирующий себя как безопасный, защищающий не только от злоумышленников, но и от гос. структур вроде АНБ. Для достижения этой безопасности Telegram использует собственную разработку — криптографический протокол MTProto, в надежности которого сомневаются многие, сомневаюсь и я.
Читать дальше →
Всего голосов 412: ↑401 и ↓11+390
Комментарии174

Внимание: множественные точки перехода

Время на прочтение4 мин
Количество просмотров636
Поздно ночью в мессенджере намного более молодой программист спросил меня: «Чёрт, вокруг столько всего происходит, это всегда так?» Хм, нет, раньше так не было. Но так может быть в будущем.


Насколько я могу судить, мы сейчас одновременно видим несколько точек перехода в языках программирования, и базах данных, и сетевом программировании, и процессорных архитектурах, и веб-разработке, и бизнес-моделях IT, и рабочих средах. Я ничего не пропустил? Но ещё интереснее то, что такой режим множественных точек перехода может продолжаться еще несколько лет.


Читать дальше →
Всего голосов 56: ↑51 и ↓5+46
Комментарии98

Как выражать несогласие

Время на прочтение5 мин
Количество просмотров11K

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



Многие отвечающие автору несогласны с ним. Это естественно. Согласие менее мотивирует людей, чем несогласие. И когда ты согласен, у тебя есть меньше чего сказать. Ты можешь развить какую-то из мыслей автора, но он, вероятно, уже рассмотрел самые интересные моменты. А когда ты не соглашаешься — ты на территории, которую он, скорее всего, не изучал.



В результате несогласия гораздо больше, особенно если считать слова. Это не означает, что люди больше злятся. Это просто из-за структурного изменения того, как мы общаемся. Но несмотря на то, что рост несогласия вызван не гневом, есть опасность, что это сделает людей злее. Особенно в онлайне, где легко говорить вещи, которые никогда не скажешь лицом к лицу.



Если между нами будет всё меньше согласия, нам лучше быть осторожными, и выражать несогласие правильно. Что это означает? Большинство читателей может отличить простое обзывание и тщательно обоснованное опровержение, но я думаю, будет лучше обозначить и промежуточные стадии. Вот попытка описать иерархию несогласия:


Читать дальше →
Всего голосов 60: ↑57 и ↓3+54
Комментарии44

Новые подробности: Google OpenSocial будет запущен в четверг

Время на прочтение3 мин
Количество просмотров550

Сегодня были раскрыты некоторые подробности о больших амбициях Google в области социальных сетей. Впервые об этом сообщали здесь в сентябре, продолжение было ранее на этой неделе. Новый проект под названием OpenSocial (адрес будет доступен в четверг), превосходит все, о чем мы сообщали ранее. Это набор общих API, которые разработчики могут использовать для создания приложений, работающих в любых социальных сетях, пожелавших присоединиться.


Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии36

boingo vs golden wifi

Время на прочтение2 мин
Количество просмотров1K
многие москвичи с ноутбуками знают о существовании golden wifi — самой большой в мире сети точек доступа wifi, накрывающей значительную часть москвы. 500 рублей в месяц обеспечивают безлимитный доступ к этой радости. Но не каждый захочет набрасываться на первое попавшееся предложение — особо хитрые, вроде меня, будут искать альтернативы, просто на всякий случай

на самом деле, об альтернативе я узнал случайно. Прочитал в жж, что есть такая компания boingo, которая арендует у голден-телекома его точки доступа. Пошёл на их сайт читать подробности и возрадовался: за те же 20 баксов получаешь тот же месяц безлимитного доступа, но уже по всему миру! Причем, в москве ему известны больше 10 тысяч точек — даже если это не все точки golden wifi, уж 10-то тысяч мне хватит: )
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии15

…построю свой Google Reader, открытый и…

Время на прочтение2 мин
Количество просмотров910
Почти с момента запуска многие справедливо любят и ценят Google Reader. Он действительно хорош, и с годами становится только лучше. Правда, довольно неспешно. И не всё, что хотелось бы в нём видеть, добавляется разработчиками. Например, кому-то не хочется видеть упоминания Microsoft или ФАС. Или хочется видеть favicon сайта. Или надоело нажимать «обновить», чтобы увидеть появившиеся с прошлого обновления записи. Или же кто-то мечтает о более удобном управлении с клавиатуры. Теперь это стало реальнее!
teaser screenshot
Читать дальше →
Всего голосов 59: ↑45 и ↓14+31
Комментарии41

Мое дело — Онлайн-бухгалтерия для индивидуальных предпринимателей

Время на прочтение2 мин
Количество просмотров3.8K


Привет!

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

Нашей целью было сделать бухгалтерию доступной для любого человека — поэтому мы сконцентрировались на небольшом сегменте рынка — индивидуальные предприниматели на 6%-ной упрощенке, работающие без кассы. Это позволило сделать сервис очень простым и понятным — без бухгалтерского лексикона, ссылок на нормативные акты и перегрузки ненужной информацией вроде расчета НДС, ЕНВД итд. И, я думаю, у нас это неплохо получилось.

Читать дальше →
Всего голосов 158: ↑151 и ↓7+144
Комментарии231

Создание live-usb для бэкапа/восстановления системы

Время на прочтение6 мин
Количество просмотров6.1K
Каждый раз, когда мне приходится делать резервную копию системы я искал незанятую USB флэшку, на которую заливал установочный образ ArchLinux и грузился в него. В этом способе был очень неприятный момент — мне приходилось искать незанятую USB флэшку размером >512 MiB, при том что под рукой всегда лежала SD карточка на 64 MB, которой для нужд бэкапа и восстановления вполне хватило бы. Но с SD карточкой была одна проблема — редкий дистрибутив мог загрузиться с нее на моем Eee PC 900. Перепробовав с дюжину различных мелких дистрибутивов, ни один из которых мне не подошел полностью, я решил сделать свою live систему.
Читать дальше →
Всего голосов 44: ↑35 и ↓9+26
Комментарии10

Анатомия Linux тролля с благими намерениями

Время на прочтение6 мин
Количество просмотров5.9K
Форумы о Linux всегда будут лакомым кусочком для троллей, и сейчас я расскажу вам почему. Вопреки всем наказам вроде «Не корми тролля!» и «Такие посты лучше игнорировать» люди будут продолжать отвечать, потому что тролли (как и всевозможные дистрибутивы Linux) бывают совершенно разношерстные. В частности, есть тролли, которые выглядят довольно искренними и пылкими, поэтому им всегда отвечают.
Читать дальше →
Всего голосов 208: ↑159 и ↓49+110
Комментарии353

Точка доступа на основе wi-fi карточки D-link DWA-520 (ath5k)

Время на прочтение4 мин
Количество просмотров14K
Хотите получить wi-fi точку доступа из барахла которое завалялось в гараже? Тогда вам под кат т.к., сегодня мы будем собирать программную точку доступа (AP) на основе wi-fi карточки D-link DWA-520 на чипсете Atheros AR5001X+ (ath5k) и Ubuntu Server 9.04.

заинтересовало?
Всего голосов 41: ↑36 и ↓5+31
Комментарии49

Идея: функция форматирования для удобной локализации строк

Время на прочтение2 мин
Количество просмотров1.4K
Проблема: при переводе приложений на другие языки (чаще мы сталкиваемся с русификацией англоязычных продуктов) чаще всего страдает поддержка множественных форм чисел. Например, «1 заметка, 2 заметки, 5 заметки» или якобы универсальное «1 file(s)» и т.д. Дело в том, что во всех языках программирования обычно дело не идет дальше варианта sprintf() или какого-то шаблонизатора, а поддержку множественных форм надо каждый раз программировать ручками: если N = 1, то «1 заметка», иначе «N заметок». А делать это каждый раз лениво. Эту задачу частично решает фреймворк gettext, где есть понятие нескольких вариантов локализованной строки, но это не сильно облегчает жизнь, ибо в одной строке, показываемой пользователю, может быть несколько частей, зависящих от чисел («Найдено 23 файла в 3 папках»), а значит куски строк надо потом все равно склеивать между собой.

Поэтому мне пришла следующая идея: почему бы не придумать какой-то общий формат, микроязык (по аналогии с вполне устоявшимся форматом функции format() или sprintf()), чтобы адресовать эту проблему и упростить в дальнейшем написание локализуемого кода.

Как известно, в разных языках разное количество множественных форм числа. В английском их два («1 file», «many files»). В русском — три («1 файл», «2 файла», «много файлов»). В арабском их вообще, как говорит нам Pootle, аж 6 штук. Поэтому нам нужно иметь возможность задавать прямо в строке набор из нескольких подстрок и параметр, от которого зависит выбор этих подстрок.

Предлагаемый формат подстроки с множественными вариантами:
{%COUNTER%|FORM0|FORM1|FORM2[|FORM3][|FORM4][|...]}

где
%COUNTER% — это некое имя переменной, которое может иметь значения [0,1,2,3,...]
FORM0 — это версия строки для значения COUNTER = 0 (это особый случай, обычно требующий отдельного сообщения)
FORM1, FORM2 и т.д. — это альтернативные варианты текста для каждой множественной формы данного языка; для английского это будет два варианта, для русского — три и т.д.

Пример на английском языке:
{%F%|No files|1 file|%F% files} found in {%D%|0 folders|1 folder|%D% folders}.

Это даст нам следующие конечные варианты строки на выходе при подстановке различных значений %F% и %D%:
%F% = 0, %D% = 1 => No files found in 1 folder.
%F% = 1, %D% = 2 => 1 file found in 2 folders.

Тот же пример строки, переведенной на русский:
{%F%|Не найдено файлов|1 файл найден|%F% файла найдено|%F% файлов найдено} в {%D%|0 папках|1 папке|%D% папках|%D% папках}.

Это даст нам следующие конечные варианты строки на выходе при подстановке различных значений %F% и %D%:
%F% = 0, %D% = 1 => Не найдено файлов в 1 папке.
%F% = 1, %D% = 2 => 1 файл найден в 2 папках.

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

Было бы здорово иметь реализацию подобного микроязыка на разных языках программирования.

Надеюсь, кому-нибудь идея пригодится.

UPD: Результат не заставил себя долго ждать: в данном топике хабраюзер webdew делится реализацией функции на C#, за что ему большое спасибо.
Всего голосов 37: ↑29 и ↓8+21
Комментарии40

Пересборка пакетов для Ubuntu (Debian)

Время на прочтение1 мин
Количество просмотров20K

Думаю, практически все понимают преимущества пакетных менеджеров над установкой при помощи ./configure && make && make install.

На примере недавно появившегося патча для Pidgin я хочу показать, как легко пересобирать пакеты в deb-based дистрибутивах.

Читать дальше →
Всего голосов 50: ↑45 и ↓5+40
Комментарии28

Стимул к обновлению

Время на прочтение1 мин
Количество просмотров1.3K
Как и многие веб-разработчики, я желаю скорейшей смерти для IE6. Устаревшие версии других браузеров не настолько распространены, и поэтому доставляют меньше хлопот, но и им бы тоже неплохо исчезнуть. Эту задачу могло бы решить автоматическое обновление, но его нередко отключают «администраторы», и часто пользователи даже не подозревают о том, в каком прошлом они живут.

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

Принцип его работы очень простой: определить браузер пользователя, определить его версию, сравнить с последней известной версией, при необходимости предложить обновиться. Если пользователь отказался, не беспокоить его ещё неделю. Само предложение более-менее замаскировано под штатное системное сообщение в IE — для простоты восприятия.

Я понимаю, что это может быть изобретением велосипеда, но пока что предшественников не нашёл. Буду рад ссылкам на них, чтобы не умножать сущности.

Если кто-то заинтересован в использовании такого скрипта, я наведу на него блеск: минимизирую, переведу на английский, и т.п. Поэтому интересно мнение сообщества об этой инициативе. Что скажете?

PS: пожалуйста, не думайте, что на странице скрипта он работает неправильно — проверка версий там отключена специально, чтобы все могли увидеть скрипт в действии.
Всего голосов 78: ↑64 и ↓14+50
Комментарии212

русские блоги о javascript

Время на прочтение1 мин
Количество просмотров2.3K
Я давно читаю много английских блогов по теме, но сейчас, в связи с появлением своего standalone блога, хочу влиться в русскоязычную блогосферу. К сожалению, пока что мне не удалось её найти. Обнаруженные блоги либо только мельком затрагивают javascript, либо вообще не ссылаются на коллег, либо производят несерьёзное впечатление.

Поэтому обращаюсь к сообществу с вопросом: подскажите, какие русские блоги о javascript вы знаете или ведёте?

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

Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии78

Кому принадлежит ваша записная книжка?

Время на прочтение4 мин
Количество просмотров2.4K

Кто виноват



Сейчас шумиха вокруг «второй версии веба» уже всем надоела, и понемногу сходит на нет, а одно из основных понятий web2.0 — user-generated content — становится привычным и широко распространенным. Миллионы пользователей создают терабайты публичной и личной информации и размещают её в интернете. Однако немногие задумываются, не меняет ли информация при этом владельца.
Читать дальше →
Всего голосов 52: ↑48 и ↓4+44
Комментарии92

Google Suggest в стиле HTML5

Время на прочтение5 мин
Количество просмотров3.8K

Введение


HTML5 — следующая большая переделка HTML (и XHTML), и разрабатывается совместно группами WHATWG и W3C HTML WG (работа еще не завершена, но в этой статье мы будем называть её просто HTML5). Я уже описывал начала HTML-форм и возможные улучшения с помощью HTML5 в моей предыдущей статье, поэтому сейчас рассмотрю некоторые более сложные аспекты полей ввода в HTML5, и завершу примером, демонстрирующим простоту создания автодополняющегося поля ввода — коротким серверным скриптом и несколькими строчками разметки.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии48

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность