Интересные публикации Хабрахабр

Интересные публикации   Хабрахабр

Оцени habrahabr.ru

Статистика habrahabr.ru habrahabrru

Просмотров: 833
Добавлен: 4 года назад
Домен создан: 18 апреля 2006 года
Индекс цитирования habrahabr.ru PR-CY Rank habrahabr.ru

Дополнительно habrahabr.ru

На сайт habrahabr.ru

Описанная в предыдущей статье реализация Vim-like управления имеет пару существенных недостатков: подходит только к GTK-окружению и для перемещения курсора по редактируемым элементам требуется клавиша модификатор. Получается, в общем-то, не совсем и Vim-like, как было верно подмечено в комментариях. Поэтому, было принято решение описать свой опыт построения вимообразной клавиатурной среды с использованием xmodmap и командной оболочки.
В последний год у меня появилось новое правило - каждые 3 месяца изучать новый язык программирования и его экосистему. На это есть несколько причин: новые парадигмы, концепции, инструменты, да и просто интересно что там, по ту сторону набившего с годами оскомину Python. Это простое правило позволило изучить за текущий год современные хипстерские Go, Clojure и Rust, проникнуться их идеями и best practices, что, кстати, очень положительно влияет на стиль и качество кода, когда я пишу на своём основном языке.
Рассматривая стек Luminus, я наткнулся на простую и в то же время шикарную, на мой вкус, библиотеку Yesql для организации SQL-запросов в проекте на Clojure и я не увидел чего-то похожего для Python (может плохо искал). Идея этой библиотеки простая - не морочьте себе голову, используйте обычные SQL-запросы, у вас есть возможность именования этих запросов и мапинга на соответствующие динамические функции. Всё это выглядит как набор микро-шаблонов с SQL и их рендер по какому-то контексту. Просто, эффективно, хочу такое у себя в проекте на Python.
Screentendo – это приложение для настольных компьютеров, которое превращает выделенную область экрана в играбельный уровень для игры Super Mario Bros.
Я раньше не делал приложений для Cocoa app и не использовал Sprite Kit, и это стало для меня отличным упражнением. Исходный код доступен по ссылке.
Как это работает?
При запуске приложения появляется полупрозрачное окно, которое можно двигать и изменять его размер. После размещения окошка над какой-то областью экрана клик внутри него приведёт к тому, что приложение создаст уровень на базе контента, находящегося под ним.
У Screentendo есть два основных этапа работы: обработка картинки для определения структуры выбранного района, и создание уровня.
книг про хакеров на русском языке мало (полторы)
книг про кардинг на русском нет вообще (UPD нашлась одна)
Кевин Поулсен - редактор WIRED, не глупый товарищ, авторитетный
приобщить молодежь к переводу и творчеству на Хабре и получить обратную связь от старших
работать в спайке школьники-студенты-специалисты очень эффективно для обучения и показывает значимость работы
текст не сильно хардкорный и доступен широкому кругу, но затрагивает вопросы информационной безопасности, уязвимости платежных систем, структуру кардингового подполья, базовые понятия инфраструктуры интернет
книга иллюстрирует, что «кормиться» на подпольных форумах - плохо заканчивается
Кто хочет помочь с переводом других глав пишите в личку magisterludi.
(По поводу очередности мне задают много вопросов и советуют публиковать главы по очереди. Я бы тоже так хотел, но увы, так как работаю с с множеством людей, которые, например, уже перевели 80% главы, а потом у них случается форсмажор на 2 недели. С одной стороны на них давить не хочется, с другой стороны откладывать публикацию тех людей, которые перевели уже следующую главу - не совсем честно по отношению к ним. Поэтому, то что есть, публикую.)
Глава 10. «Cris Aragon»
(за помощь с переводом спасибо хабраюзеру Find_The_Truth)
Крис Арагон
Макс встретил своего будущего друга и напарника по криминалу, Криса Арагона, в маленькой Италии Сан-Франциско - Норт Биче, где обшарпанные стрип-бары и гадалки сосуществовали с приятными, безвкусными пекарнями и летниками с горячей пастой. Встреча была назначена в кафе неподалеку от книжного магазина Сити Лайтс, колыбели поколения битников в 50х годах, по направлению к кафе Везувио, стены которого украшали росписи с винными бутылками и символами мира. Ниже по холму, над финансовым районом, упираясь в небо, стояла Пирамида Трансамерика.
Норминтон представил Криса Максу под приглушенные стуки кофейных чашек и блюдец. Эти двое поладили сразу. Сорокаоднолетний Крис был студентом восточной духовной школы, вегетарианцем, который занимался йогой для концентрации ума. Макс с его замашками хиппи, казалось, нашел родственную душу. Они даже читали общие книги. И, как и Макс, Крис неоднократно имел проблемы с полицией.

Описание habrahabr.ru взято либо с meta-тега description (в автоматическом режиме), либо указанно пользователем - при добавлении habrahabr.ru в белый каталог сайтов.

Дайджест интересных материалов для мобильного разработчика #117 (17-23 августа)

На этой неделе получился большой дайджест – более 50 материалов про виртуальную реальность, про новый Android, который теперь маршмэллоу, про Sailfish OS, про борьбу с Google Play и поиск в магазине, про нестандартные способы монетизации приложений и 19 метрик, о которых вы, возможно, не знали. Добро пожаловать!

Настройка окружения для тестирования изменений в ядре Linux

Иногда (редко, но все-же) возникает потребность что-то дописать или переделать в ядре всеми нами любимого линукса. И тогда возникает вопрос: А как все эти изменения запустить и проверить быстро и без перекуров? Одно дело, если мы можем организовать нашу новую функциональность в виде модуля, тогда нам довольно просто можно тестировать его без перезагрузки самого ядра, простым включением и выключением через insmod. Но что делать, если концепция модульности неприменима? Например, как в моем случае, когда потребовалось добавить новую подсистему контрольных групп (cgroups) для Jet9 и нужно было перезапускать ядро каждый раз, чтобы проверить внесенные изменения? Читать дальше →

[Перевод] Какие технологии чаще всего используются на хакатонах?

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

Как исправить ошибку в Node.js и нечаянно поднять производительность в 2 раза

Началось все с того, что я оптимизировал отдачу ошибки HTTP 408 Request Timeout в сервере приложений Impress, работающем на Node.js. Как известно, у нодовского http.Server есть событие timeout, которое должно вызываться для каждого открытого сокета, если тот не закрылся за указанное время. Хочу уточнить, что не для каждого запроса т.е. не для каждого события request, функция которого имеет два аргумента (req, res), а именно для каждого сокета. Через один сокет может последовательно поступить много запросов в режиме keep-alive. Если мы задаем это событие, через server.setTimeout(2 * 60 * 1000, function(socket) {… }) то должны сами уничтожать сокет socket.destroy(). Но если не установить свой обработчик, то http.Server имеет встроенный, который уничтожит сокет через 2 минуты автоматически. На этом самом таймауте можно отдать ошибку 408 и считать инцидент исчерпанным. Если бы не одно но… С удивлением я обнаружил, что событие timeout вызывается и для тех сокетов, которые подвисли и для уже получивших ответ и для закрытых клиентской стороной, вообще для всех, находящихся в режиме keep-alive. Это странное поведение оказалось достаточно сложным, и я расскажу об этом ниже. Можно было бы вставить одну проверку в событие timeout, но со своим идеализмом я не удержался и полез исправлять баг на уровень глубже. Оказалось, что в http.Server режим keep-alive реализован не то что не по RFC, а откровенно не дописан. Вместо отдельного timeout для соединения и отдельного keep-alive timeout, там все на одном таймауте, который реализован на быстрых псевдо-таймерах (enroll/unenroll), но задан по умолчанию в 2 минуты. Это было бы не так страшно, если бы браузеры хорошо работали с keep-alive и переиспользовали его эффективно или закрывали бы неиспользуемые соединения. Читать дальше →

Microsoft добавил средство сбора телеметрии в Windows 7/8/8.1

Сегодня на MS Windows 7 и 8.1 прилетели обновления KB3080149 и KB3075249. Телеметрическая информация передаётся на следующие сервера: vortex-win.data.microsoft.com settings-win.data.microsoft.com Передача осуществляется через TCP по порту 443 с использованием SSL. Для параноиков людей, беспокоящихся о несанкционированной передачи информации Microsoft (далее возможно и третьим лицам) предлагаю добавить следующие строчки в файл hosts (%windir%\System32\drivers\etc\hosts): 127.0.0.1 vortex-win.data.microsoft.com 127.0.0.1 settings-win.data.microsoft.com