Pull to refresh
34
0
Вячеслав Радионов @Slaver

веб-разработчик

Send message

Как я обработал один миллиард строк в PHP

Level of difficultyMedium
Reading time12 min
Views18K

Вероятно, вы уже слышали о соревновании под названием "The One Billion Row Challenge" (1brc), если же нет, то предлагаю ознакомиться с репозиторием 1brc Гуннара Морлинга.

Моё участие в проекте было мотивировано присутствием в нём двух моих коллег, которые достигли лидирующих позиций.

PHP не известен своими выдающимися скоростными показателями. Тем не менее, учитывая, что я работаю над профайлером PHP, я решил исследовать его производительность на примере этого вызова.

Читать далее
Total votes 76: ↑74 and ↓2+72
Comments33

Откуда сайт знает, что ты сидишь в уборной?

Reading time4 min
Views45K


Многие не представляют, какой объём данных можно снимать с акселерометра в смартфоне. Думаете, информация используется только для поворота экрана? Далеко не так. На самом деле паттерны движения смартфона и его положение в пространстве многое говорят о действиях пользователя: он сидит, лежит, стоит, бежит… Можно распознать личность человека по голосу из динамика, записав реверберации корпуса смартфона через акселерометр. Определить, кто находится рядом в автобусе или автомобиле (с такими же паттернами движения).

Некоторые приложения постоянно снимают эти данные без разрешения пользователя (в Android и iOS 15 разрешение не требуется). Не только приложения, но и веб-сайты.
Читать дальше →
Total votes 89: ↑87 and ↓2+85
Comments154

Деанонимизируем пользователей Windows и получаем учетные данные Microsoft и VPN-аккаунтов

Reading time6 min
Views127K

Если вы не видите эту картинку, то данные вашей учетной записи Windows уже скомпрометированы.

Введение

Давным-давно, когда компьютеры были одноядерными и прекрасно работали с 256 МБ RAM, а сети под управлением Windows уже использовались очень широко, ребята из Microsoft подумали, что было бы удобно аутентифицироваться только один раз, при загрузке компьютера, а доступ на внутренние ресурсы происходил бы автоматически, без ввода пароля, и сделали так называемую технологию единого входа (Single Sign-on). Единый вход работает очень просто: когда пользователь пытается получить доступ к какому-либо ресурсу с NTLM-аутентификацией (стандартный способ аутентификации в сетях Windows), ОС сразу передает название домена, имя учетной записи и хеш пароля текущего пользователя, и если под этими данными войти не удалось, показывает диалог ввода имени пользователя и пароля. Шли годы, проблемы с безопасностью реализации технологии единого входа давали о себе знать, одни из которых успешно исправляли, другие исправляли менее успешно, а о третьих почему-то совсем забыли. Так и забыли о проблеме передачи учетных данных для единого входа на SMB-ресурсы (сетевые ресурсы: файлы и папки, принтеры, и т.д.) через интернет, которую можно эксплуатировать во всех современных ОС, включая Windows 10 со всеми последними обновлениями. Об этой особенности работы стека аутентификации вспоминают каждые 1-2 года, последний раз о ней рассказывали на Blackhat US 2015, но Microsoft не спешит что-либо менять.
Читать дальше →
Total votes 191: ↑186 and ↓5+181
Comments194

Боты в телеграм: опыт, откровения, советы по разработке

Reading time10 min
Views26K
Давайте сразу по делу. Содержание статьи:
  • С чего мы начали писать ботов в Telegram. Первый опыт.
  • Создание nodejs библиотеки bot-brother для быстрого написания ботов.
  • Разбираем код свеженаписанного бота DeloreanBot
  • Общечеловеческие рекомендации по созданию популярного бота
  • Философские рассуждения о монетизации ботов


Поехали.
Читать дальше →
Total votes 26: ↑19 and ↓7+12
Comments19

«Запустись или забудь»: Как недоработки тормозят ваше развитие

Reading time2 min
Views13K
Наш основной принцип работы — предоставление клиентам простых и понятных инструментов, с которыми смогут работать даже те, кто не сталкивался с ИТ сферой. Для воплощения данной установки мы проводим постоянную оптимизацию всех систем и рассказываем о том, что нам удалось сделать в нашем блоге на Хабре. Пара примеров:


Сегодня мы решили переключиться на необычную тему — исправление недоработок. Для этого мы нашли профильный материал эксперта.

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments3

По-настоящему адаптивные письма. Часть вторая. Фреймворк

Reading time3 min
Views28K

Картинка для привлечения внимания честно сперта у invisionapp (кстати, у них божественная рассылка)

С момента публикации последнего поста прошло ни много ни мало, полтора месяца, но на то были причины. Уйма работы и бредовые мысли задрота-верстальщика. Сначала я собирался просто перенять приемы Николь Мерлин для верстки писем себе, но потом хипстерская голова подумала: А почему бы не зафигачить целый фреймворк? Громкое слово для моей поделки, но мне приятно его так называть. Начнем с простого.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments8

Электронные деньги в Беларуси: апрельские тезисы

Reading time2 min
Views17K
image

Давеча белорусский портал tut.by размышлял о настоящем и будущем электронных денег в стране. В студию, где обсуждали сабж, пригласили и начальника отдела контроля за налогообложением предпринимательской деятельности граждан инспекции Министерства по налогам и сборам по Минску Наталью Подгорную (на фото – третья слева). Мне, как фрилансеру, было интересно узнать, насколько сильно следит налоговая за фрилансерами, и как банки «сливают» информацию об электронных счетах клиентов в налоговую и комитет госконтроля. Всю информацию, которую почерпнул, захотелось привести в краткий тезисный вид под хабракатом – вдруг кому-то поможет.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments15

Домашняя бухгалтерия с использованием Google Docs

Reading time7 min
Views39K
Так уж получилось что меня всегда интересовало сколько и на что я потратил. Долгое время я старательно перебирал различные способы учёта личных финансов. Использовал и оффлайн инструменты, и онлайн решения, носил данные на флешке и так далее. Не скажу что перепробовал всё из доступного, но, как мне кажется, накопил приличный опыт и сделал соответствующие выводы.

Прежде всего всё что написано не мою — написано другим. Это очевидно. Но следствие из этого — это другой разрабатывал логику, исходя из собственных представлений об удобстве и функционале. А значит нет уверенности в том что чужие представления на 100% совпадут с моими. На хабре эта тема уже звучала.

Второй важный момент — если системой будут пользоваться двое (не говоря уже о большем количестве), то вероятность ошибок возрастает многократно. Многие системы подразумевали наличие счёта, отображающего количество денег в кошельке. Ах, как мне нравилась программа GnuCash… Но каждый месяц я должен был добавлять транзакции для корректировки счета по кошельку жены. И на что она тратила деньги оставалось только догадываться потому как сама она не могла вспомнить, а чеки благополучно терялись.

Исходя из вышеописанных проблем я породил ещё одну домашнюю бухгалтерию на Google Docs. Методом проб и ошибок, анализируя чужие решения и исходя из собственных потребностей я пришёл к следующим выводам.
Читать дальше →
Total votes 76: ↑70 and ↓6+64
Comments42

Как не стать спамером со своей уютной рассылочкой

Reading time1 min
Views67K
image
Пользователь когда-то подписался на рассылку, но уже забыл когда, и главное зачем. Теперь ежедневно к нему падает спам, а по собственному опыту он знает, для того чтобы отписаться нужно зайти по ссылке свой профиль, найти и снять там какую-то галку а главное, помнить свой логин и пароль на давно забытом им сайте.
Его действия? «В спам!»

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

И вот, с десяток таких «отписок» и гугл будет удобно отсортировывать ваши рассылки в папочку Спам (584), у ВСЕХ ваших подписчиков.

Однако многие из нас уже успели заметить: некоторые письма в Gmail при попытке отметить их «В спам!» САМИ предлагают отписаться от рассылки в один клик.

Эта фича была введена google более года назад, но лишь единицы рассылок научились ей пользоваться. И не удивительно. В рекомендациях по осуществлению массовых рассылок, лишь косвенно упоминается о том, что Вам нужно сделать.
А сделать нужно не многое.
Читать дальше →
Total votes 238: ↑230 and ↓8+222
Comments60

Что делать, если вам пришла поврежденная посылка?

Reading time3 min
Views29K
eBay
Пока готовится подробная статья про покупку на зарубежных аукционах и в интернет-магазинах, хочу рассказать вам о том, что делать в случае, если вы получили не то, что должны были.
После починки Epson Artisan 800 (см. топик о приключениях с ним), обзор которого уже числится в общем списке материалов к публикации, выяснилось, что СНПЧ для брата-близнеца Epson TX800FW не подходят к нему. Кто-то в комментах поглумился, сказав, что я попал на расходники, но на деле же все куда проще. Принтер покупался для дома, печать не горит, на первое время хватает ресурса родных картриджей. В качестве решения проблемы заказал СНПЧ на том же eBay.
Рассказываю дальше
Total votes 99: ↑91 and ↓8+83
Comments136

Статистика по западным социальным сетям

Reading time2 min
Views5.2K
В США исследовали 49.3 миллиона человек — пользователей социальных сетей. Насколько я знаю, это первое глобальное исследование пользователей социальных сетей. Надеюсь, что вскоре мы увидим данные и по российским социальным сетям.
В большинстве социальных сетей («хедлайнеров») — MySpace, Facebook, Bebo, Hi5 — количество женщин превышает количество мужчин, причём, значительно.

В возрастной группе 18-24 на Facebook женщин: 1 685 029, а мужчин: 977 753 — разница в 1.7 раза. На MySpace, в той же возрастной категории, ситуация с соотношением немного другая, но всё равно, женщины преобладают: 7 091 214 женщин против 5 226 788 мужчин.


Другие интересные особенности:
  • Женщины в возрасте 14-24 ведут более активную деятельность в социальных сетях и имеют больше друзей, чем мужчины того же возраста.
  • Мужчины в возрасте 35 и более ведут более активную деятельность в социальных сетях и имеют больше друзей, чем женщины того же возраста.
  • Средний пользователь социальной сети имеет от двух до двадцати пяти друзей.
  • Странно высокое (непропорциональное) количество пользователей имеет возраст 69 лет. Скорее всего, это связано с «виртуалами» или лживыми данными о себе, а цифра 69 имеет несколько знаковых значений.


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

Исследование было сделано 10 июня 2008 года компанией RapLeaf. Вот данные, основанные на ответах 90% респондентов. Всего опрашивалось, напомню, около 49 миллионов жителей США.

Вот полная статистика.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments30

С чем мы соглашаемся, когда регистрируем номер в ICQ

Reading time1 min
Views526
С признанием правил пользования (Acceptable Use Policy) пользователь передаёт все авторские права на данные, которые он отправил через службу ICQ, компании ICQ Inc.
Читать дальше →
Total votes 150: ↑141 and ↓9+132
Comments219

Выбор python-фреймворка

Reading time2 min
Views8.2K
Вот заинтересовался вопросом веб-фреймворков на python. Направление это сейчас перспективное и очень активно развивается.
Хотел бы вместе с хабралюдьми обсудить эту тему, кто на чем пишет, какие преимущества и т.д.
Список фреймворков, их описание и обсуждение
Total votes 10: ↑8 and ↓2+6
Comments39

Ссылки для начинающих фотографов

Reading time1 min
Views2.3K
Решил собрать здесь несколько ссылок на полезные материалы для начинающих фотографов:

Если у Вас есть чем еще поделиться, сделайте это пожалуйста в комментариях.
Total votes 41: ↑37 and ↓4+33
Comments55

Скандал в белорусской Википедии

Reading time2 min
Views2.2K
В результате усилий группы сторонников советского правописания белорусского языка («наркомовки»), сегодня была уничтожена белорусская википедия. Судьба более чем шести тысяч статей, которые были размещены в ней, пока не известна. Но существует вероятность, что они будут просто удалены. Домен be.wikipedia.org отдан сторонникам «наркомовки».

Беларуская Вікіпэдыя«Беларуская Вікіпэдыя» была основана 12 августа 2004 года. За это время в ней создали более шести тысяч статей.

Еще сегодня утром по адресу be.wikipedia.org была статья, написанная классическим правописанием. Теперь она уничтожена и открывается незаполненная страница. Но пока еще остался логотип с надписью классическим правописанием.

Вместе с первой статьёй исчезли все статьи, что были созданы, начиная с 2004-го года. Также ранее зарегистрированные пользователи не могут теперь входить под своими логинами. «Ошибка входа: Не существует участника или участницы. Проверьте написание, либо используйте форму ниже, чтобы создать новый акаунт участника или участницы,» – такие слова видят бывшие пользователи белорусской «Вікіпэдыі» при попытке войти на сайт.

В течение нескольких месяцев сторонники наркомовки добивались от администрации Википедии создания для них отдельной площадки. До этого момента их проект развивался в так называемом инкубаторе, где было создано 3565 статей, написанных наркомовкой.
Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments34

Fitbit One — трекер физической активности

Reading time4 min
Views62K
image
На Хабре уже были опубликованы обзоры некоторых трекеров физической активности: Nike Fuelband SE и Shine. Пришел черед немного рассказать про Fitbit One.

Трекер Fitbit One фиксирует, собирает и передает в облачный сервис:
  • количество сожженых калорий,
  • сделанных шагов,
  • пройденных этажей,
  • пройденные расстояния,
  • продолжительность и качество сна.
  • Функция беззвучный будильник в заданное время.


Я пользуюсь Fitbit One с декабря 2013 года. За это время он:
  • был около двух десятков раз уронен на пол с высоты в в полтора метра,
  • трижды потерян и найдет в гостиницах и кафе,
  • постиран в кармане брюк (в чехле-прищепке) один раз.
  • Не менее трех раз я умудрился наступить на него ногой в ботинке.
  • Один раз я уронил трекер в лифтовую шахту, и он пролетел 13 этажей в свободном падении.
  • После этого он пролежал двое суток в луже машинной смазки.


Не смотря на то, что мой Fitbit One прошел огонь, воду и Олимпийские игры, все это, трекер продолжает работать как ни в чем не бывало, и на нем практически ни царапинки.

Интересно? Добро пожаловать под кат.


UPD Утерянные трекеры фирмы Fitbit заменяют бесплатно!
трафик 10 мб
Total votes 61: ↑50 and ↓11+39
Comments77

Лучшие бесплатные Photoshop плагины для веб-дизайнеров

Reading time3 min
Views150K

Divine Elemente


image
Один из самых потрясающих проектов, которые я встречал за последнее время. Плагин Divine Elemente дает возможность дизайнерам создавать WordPress темы без каких либо навыков фронт/бэк-енда. К сожалению у меня не было возможности поработать с ним. Он доступен только для Windows. Для того что бы все работало необходимо создавать макет в соответствии со встроенным blueprint — это некий Bootstrap, Boilerplate или даже набор инструкций по наименовании слоев и групп. Разработчики обещают множество всего хорошего, в том числе: SEO friendly, валидную и семантичную верстку, читаемый код. Впечатляет!

Читать дальше →
Total votes 74: ↑66 and ↓8+58
Comments9

PHP RUtils — небольшая библиотека для обработки русского текста

Reading time5 min
Views20K
В работе на языке Python я частенько использую библиотеку Pytils для работы с русским текстом, и мне очень не хватало этой библиотеки при работе на PHP. Возможно, я искал плохо, но все, что я находил, не предоставляло подобных возможностей либо не слишком отвечало моим понятиям о чистом коде.

И вот, однажды я решил портировать библиотеку на PHP, и теперь хочу поделиться ею с народом и очень надеюсь на помощь в ее улучшении: буду рад советам, баг-репортам и особенно pull-реквестам. Библиотека находится на GitHub'е: github.com/Andre-487/php_rutils

UPD от 26.10.2013: теперь библиотека так же доступна через Composer: packagist.org/packages/andre_487/php_rutils
Так же хочу сказать спасибо всем, кто помог улучшить библиотеку и довести ее до стабильного релиза.

Возможности библиотеки


PHP RUtils — порт Pytils на PHP. Это утилиты для работы с русским текстом. Утилиты разделены на следующие модули (классы):

  • Numeral — работа с числами: склонение существительных в зависимости от количества, числа прописью, суммы денег в рублях и копейках прописью.
  • Dt — работа с датами: расширение формата дат PHP русскими именами месяцев, дней недели; временные периоды (например, 24 976 дней назад).
  • Translit — транслитерация, подготовка строк для использования в URL'ях, именах файлов.
  • Typo — небольшой набор правил типографики простого текста.

Примеры кода и подробности
Total votes 94: ↑90 and ↓4+86
Comments26

Самодельный трекинг посылок, или Туда и Обратно

Reading time6 min
Views553K
Наверняка многие, кто заказывал товар из-за границы, задавались вопросом: что происходит с посылками от экспорта до импорта? В каком потустороннем пространстве они иногда проводят месяцы своего путешествия? Какими самолетами прилетают в Новосибирск посылаемые авиапочтой в Москву отправления?

Идея


Проследить, как движутся посылки из-за границы в Москву, подробнее, чем официальный трек. Для этого отправить устройство, способное сообщать свои координаты.

Один мой друг послал почтой другому моему другу…

сколько на это ушло времени, как ходят посылки, почему семь тысяч вёрст не крюк
Total votes 533: ↑532 and ↓1+531
Comments406

Information

Rating
Does not participate
Location
Минская обл., Беларусь
Date of birth
Registered
Activity