Как стать автором
Обновить
12
0

Infrastructure Engineer

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

Где больше платят программистам. Сравниваем 22 страны

Время на прочтение3 мин
Количество просмотров139K
Пару месяцев назад я постила сводную таблицу-сравнение под названием «Лучшая страна для программиста». В ней было 9 стран. Статья была горячо воспринята и в силу некоторых ошибок в ней, и в силу желания читателей получить сходные данные по другим странам. Я обещала доделать таблицу. Сказано – сделано.

В этой статье 22 страны сравниваются по следующим параметрам:

1. Зарплаты программистов
2. Налоги
3. Стоимость жизни (аренда жилья, коммунальные услуги, продукты, транспортные расходы)
4. Развитость рынка IT
5. Социальное обеспечение
Читать дальше →
Всего голосов 68: ↑55 и ↓13+42
Комментарии251

Подключения Go shared library к Ruby

Время на прочтение2 мин
Количество просмотров9.9K
С выходом Go 1.5 появилась возможность делать go library для сторонних программ на других языках. То есть можно написать package который делает что то интересное и тяжело или просто уже готовое решения и подключить его в другую не Go программу. Это может быть C, android, objective C and etc. Я покажу как это легко можно подключить к Ruby.
Для чего это надо?
Всего голосов 36: ↑34 и ↓2+32
Комментарии15

Видео докладов с DevOps Meetup про Docker

Время на прочтение1 мин
Количество просмотров16K
Недавно в офисе Badoo проходил DevOps Meetup про Docker и контейнерную виртуализацию. Делимся с вами видео докладов.

1. «Docker в Badoo: от восторгов к внедрению».
Антон banuchka Турецкий, Раудсепп Илья, Badoo.



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

Лингвистическая загадка. Переводим с «мертвого» языка

Время на прочтение6 мин
Количество просмотров28K
Ответ можно найти здесь — Лингвистическая загадка. Переводим с «мертвого» языка. [§2] Разбор полётов.

Навеяло постом «Продолжение дилетанта».

Хотя оригинал «Манускрипт Войнича. Маньчжурский кандидат» по своему шедеврален, с подходом с лингвистической стороны, изложенной makondo, я бы местами пожалуй не согласился. Но сам разбор полетов прочитал запоем. В отличии от «Продолжение дилетанта», имхо.

К слову, я никогда не понимал людей, пытающихся вот так — нахрапом брать подобные «лингвистические» задачи, и делать на основании (иногда даже огромной) проделанной работы, но базирующейся на сомнительных исходных выкладках, далекоидущие выводы.
А некоторые методы вообще доставляют, в криптографии их назвали бы — брутфорсом и серьезно к анализу «чего либо» так никто не подходит.

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

Скажем так, тот язык за многие лета претерпел некоторые изменения.

Собственно текст

მეაგ პგლოეზგასელ პაგდლრეოლმელეოგ გილრაგლახაგ მოლ კეუგლზდლიმეილ პეალკგლეგ სფაგიხაგ, ეპეალ ფაგსცლგიბიშჩულდგ პაგდლრეოლეუგლშჩეილ, დოლ ფაგშცელეოგეუგლტ პაგდლრეოლინეგილ. გილრაგელეო კეუგლზდლოლ სტიკეალ პაგდლრეოლმეუგლრეოლ პეალკგლეგ ელ კეუგლლდეოჩედგეგ პეალკლეამკეოლეგ. დოლ მეაგ პაგდლიტ უგ პეალკგლეგ კეუგლზდლეგ, ოლ უგ კეუგლზდლეგ პეალკგლეგ ბლგიდ რეცინოგ ნაენოგ, ეპეალ ეოგლ სცლგოშმაგ პაგდლრეოლმეუგლრ, ელ ნმაეუგლ ტოხგ პაგდლრეოლმეუგლგტაგ.

Задача — то же, но по-русски.

Все совпадения с действующими алфавитами случайны (и я ни в коем случае не хотел назвать какой-либо существующий язык — мертвым).
Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии64

x264 + VirtualDub vs XviD. Исследуем возможности, повышаем эффективность

Время на прочтение4 мин
Количество просмотров34K
В предыдущем посте я писал про разработку собственной матрицы под XviD. Той статьи не было бы, если б я сразу занялся x264. А занялся я им, потому что видел, что такие проблемы XviD, как квадратичность, искажение градиента цвета, ореол вокруг объектов, устраняются в x264.
Целью задачи стало выяснение этих возможностей кодека, а также скорости кодирования и размера файла. x264 успешно справился со всеми задачами и ниже вы узнаете, как это сделать легко и непринуждённо.
Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии20

Ruby: cheatsheet для изучения

Время на прочтение14 мин
Количество просмотров59K
Это — статья-roadmap-cheatsheet для изучающих Ruby. Вместо того, чтобы рассказывать очередной how-to я постараюсь расписать все те вещи, которые, на мой взгляд, можно изложить кратко и емко, с упором на то, что программисту пришедшему с других языков и платформ может показаться не очевидным, антипоисковым и просто затратным по времени на изучение без подсказок — на остальное просто дам ссылки. Не смотря на то, что в природе существует множество туториалов/кастов/книг/чего угодно по чему угодно — именно такого формата мне самому всегда не хватает. И по сути, это те вещи, которые чаще всего рассказываю при вопросах «а как оно вообще?», «с чего начать?», «а как делается такая вот штука?», «а какой gem лучше?». Кстати, пока работал над этой статьей на Хабре появилась похожая про Python — видимо, идея витает в воздухе.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии20

Изобретаем JPEG

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

Вы правильно поняли из названия, что это не совсем обычное описание алгоритма JPEG (формат файла я подробно описывал в статье «Декодирование JPEG для чайников»). В первую очередь, выбранный способ подачи материала предполагает, что мы ничего не знаем не только о JPEG, но и о преобразовании Фурье, и кодировании Хаффмана. И вообще, мало что помним из лекций. Просто взяли картинку и стали думать как же ее можно сжать. Поэтому я попытался доступно выразить только суть, но при которой у читателя будет выработано достаточно глубокое и, главное, интуитивное понимание алгоритма. Формулы и математические выкладки — по самому минимуму, только те, которые важны для понимания происходящего.

Знание алгоритма JPEG очень полезно не только для сжатия изображений. В нем используется теория из цифровой обработки сигналов, математического анализа, линейной алгебры, теории информации, в частности, преобразование Фурье, кодирование без потерь и др. Поэтому полученные знания могут пригодиться где угодно.

Если есть желание, то предлагаю пройти те же этапы самостоятельно параллельно со статьей. Проверить, насколько приведенные рассуждения подходят для разных изображений, попытаться внести свои модификации в алгоритм. Это очень интересно. В качестве инструмента могу порекомендовать замечательную связку Python + NumPy + Matplotlib + PIL(Pillow). Почти вся моя работа (в т. ч. графики и анимация), была произведена с помощью них.

Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
Читать дальше →
Всего голосов 356: ↑354 и ↓2+352
Комментарии70

Слушаем правки в wikipedia

Время на прочтение1 мин
Количество просмотров12K
Колокольчик — дополнение, а струны — удаления.
Длина звучания зависит от того насколько большая правка.

Всем успешной пятницы!

Слушаем!

Исходники приложения доступны здесь: github.com/hatnote/listen-to-wikipedia
Всего голосов 87: ↑80 и ↓7+73
Комментарии23

Рейтинг постов хаба

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

Привет, Хабр!

Решил посмотреть лучшие посты своего любимого хаба и с ужасом обнаружил, что такой фичи нет.

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

Читать дальше →
Всего голосов 132: ↑131 и ↓1+130
Комментарии35

Стражи ночи

Время на прочтение9 мин
Количество просмотров81K
Будучи высококвалифицированным исследователем, я потратил немало времени на продвижение науки вперёд. Но я родился на Юге и искренне убеждён, что прогресс — это выдумка, и что нужно готовиться к Судному дню, к жатве того, что мы посеяли и к появлению быстрых зомби, медленных зомби, и даже вежливых зомби, которые обращаются к вам «сэр» или «мадам», но в итоге пытаются съесть ваш мозг дабы заполучить ваши навыки. Когда нагрянет революция, нужно быть готовым; поэтому в моменты тишины и покоя, когда я не произвожу очередной прорыв в науке, я размышляю над тем, что же я буду делать, когда прогноз погоды изменится на «РЕКИ КРОВИ ЦЕЛЫЙ ДЕНЬ ДО СКОНЧАНИЯ ВРЕМЁН».

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

Но! Но… Самым важным членом моей банды будет системный программист, ибо в гоббсовском кошмаре невероятных масштабов умеющему отладить драйвер устройства или распредёленную систему человеку можно доверять; системный программист видел ужасы Вселенной и понимает безысходность бытия. Системный программист писал драйверы для устройств, прошивку которых создавал то ли пьяный ребёнок, то ли трезвый карась. Системный программист отлавливал проблему с сетью через восемь машин, три часовых пояса и с дружеским визитом в Омск, откуда ее перенаправили в левое переднее копыто той лошади, что избавила Трою от перенаселения.1 Системный программист читал исходники ядра для лучшего понимания процессов мироздания и видел комментарий «И ЭТО РАБОТАЕТ ЛОЛ» в коде планировщика, и не смеялся он, но плакал; и отправил он патч ядра для восстановления баланса Силы и устранения инверсии приоритетов, что приводила к зависанию MySQL. Системный программист знает, что делать, когда общество падёт, потому что он уже живет в мире, где царит беззаконие.
Читать дальше →
Всего голосов 157: ↑136 и ↓21+115
Комментарии50

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Зарегистрирован
Активность