Pull to refresh
46
0
Константин Грибов @grossws

Разработчик

Send message

Двухфакторная аутентификация в OpenSSH: ключ+одноразовый код

Reading time4 min
Views30K
В предыдущей статье я рассказал, как добавить проверку одноразовых кодов при логине на свой сервер по SSH. Статья завершалась словами «если ходим по ключу — двухфакторная аутентификация не работает (не используется PAM)».

С недавнего времени, после выпуска OpenSSH версии 6.2, ситуация поменялась к лучшему.

+

Читать дальше →
Total votes 56: ↑53 and ↓3+50
Comments24

Vim-airline — новая строка статуса для Vim

Reading time2 min
Views27K


Известно что строку статуса в Vim можно легко кастомизировать в соответствии с вашими пожеланиями: вывести информацию о текущем файле, позиции курсора, текущей vcs-ветке. Есть также отдельные плагины, которые полностью заменяют строку статуса, самым используемым из которых является vim-powerline. В данной статье я хочу познакомить вас с одним из таких плагинов, vim-airline, который я с недавнего времени использую вместо vim-powerline.
Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments9

A13AA — миниатюрная числомолотилка для встраиваемых применений

Reading time6 min
Views40K
Недавно на хабре прозвучало предположение, что систему на базе Allwinner AXX пока никто не сделал. Что ж, встречайте.

Введение

Плата на базе мегапопулярного китайского процессора Allwinner A13, незатейливо названная нами A13AA, предназначена для использования в качестве основы разнообразных систем управления, требующих одновременно как компактные размеры с возможностью батарейного питания, так и высокие вычислительные возможности. Плата несет на борту процессор с рабочей частотой 1ГГц, оперативную память DDR3, объемом 256Мб и (опционально) флеш память, объемом 4ГБ.
image

Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments24

Архив интересного кода

Reading time1 min
Views54K
Преподаватель из Стэнфордского университета Кит Шварц (Keith Schwarz) уже несколько лет пополняет свой архив интересного кода — образцы самых лучших алгоритмов и структур данных, когда-либо изобретённых человечеством (Шварц весьма амбициозно оценивает свою коллекцию).

Примеры на сайте преимущественно закодированы в C++, поскольку STL предоставляет прекрасную базу для выражения алгоритмов, работающих с различными типами данных. Структуры данных реализованы на Java.

Кит Шварц дает разрешение использовать свой код всем желающим без всяких ограничений.
Читать дальше →
Total votes 103: ↑92 and ↓11+81
Comments33

Никогда не отвлекай программиста

Reading time2 min
Views240K
Во многих компаниях программистам запрещают работать в наушниках или отвлекают их по мелким вопросам. Вероятно, причина кроется в плохой информированности менеджеров и других сотрудников, насколько вредно так делать.

Крис Парнин (Chris Parnin) из технологического института Джорджии решил восполнить этот недостаток и опубликовал чрезвычайно насыщенную статью со ссылками на различные исследования по этой теме.

Для начала, несколько фактов, которые относятся ко всем работникам интеллектуального труда. Задача, прерванная по ходу выполнения, занимает в два раза больше времени и содержит вдвое больше ошибок, чем та же задача, которая выполнялась без прерывания (Czerwinski:04). Офисные сотрудники вынуждены отвлекаться при выполнении 57% задач (Mark:05). Опросы говорят о том, что сотруднику требуется в среднем 15 минут, чтобы вернуться в нормальный ритм после того, как его отвлекли (vanSolingen:98).
Читать дальше →
Total votes 263: ↑248 and ↓15+233
Comments180

Computer Language Benchmarks Game — хватит самодурства

Reading time1 min
Views6.1K
Появился сервис лет 10 назад назывался «Computer Language Shootout». Сейчас он называется The Computer Language Benchmarks Game. Сервис давал хоть какую-то возможность бегло оценить производительность реализаций языков программирования. Тема, конечно, пикантна. Время идёт, интерес к теме не падает. Есть одно «но». Cервис и раньше-то был весьма специфичен, но теперь дело совсем худо.
Читать дальше →
Total votes 101: ↑70 and ↓31+39
Comments48

Заказ производства печатных плат на заводе — step by step

Reading time5 min
Views109K

Или как получить разработанную плату, не вставая из-за компьютера и не используя химикатов, утюга или ультрафиолета.






Как получить разработанную вами плату не вставая из-за компьютера, используя только мышь и клавиатуру. Получить плату без химикатов, растворов, утюгов, ультрафиолетовых ламп, пленок, и вредных испарений — разве это не прекрасно?

Многие начинающие радиолюбители не заказывают платы на заводе, а изготавливают их дома. В случае если задача состоит в том, чтобы сделать одну единственную плату, то это решение оправданно, а если нужно сделать 5, 10, 20 плат? Или же Вы не можете заняться процессом травления из-за того, что Ваша вторая половинка не разрешает вам устраивать дома лабораторию в миниатюре? Или Вашей платой \ устройством кто-то заинтересовался, и Вы желаете её продать? — ведь намного красивее и более солидно выглядит плата, сделанная на заводе — с маской и шелкографией.

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

Пошаговая инструкция с комментариями
Total votes 3: ↑2 and ↓1+1
Comments12

Кроссбраузерная кастомизация системного скроллбара

Reading time8 min
Views145K


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

Под катом можно узнать, как в ближайшее время будет работать скролл в 2ГИС Онлайн.
Подробности
Total votes 127: ↑116 and ↓11+105
Comments132

Автоматическая блокировка экрана в GNU/Linux

Reading time4 min
Views33K
Часто ли уходя за очередной чашечкой кофе или выйдя из кабинета/офиса совершить личный звонок, ты ловишь себя на мысли что забыл заблокировать экран своего компьютера? А на компьютере в это время осталась открытая переписка в Skype/почте или еще хуже — сессия root'а в консоли? В результате ты стараешься вернуться к своему компьютеру как можно быстрее, чтобы добрые коллеги не успели поставить фоном рабочего стола обои с Черным Властелином.
В данной статье приведу пример решения этой проблемы с блокировкой экрана, которое поможет закрыть доступ к рабочему столу в тот момент когда ты отойдешь от компьютера.
Читать дальше →
Total votes 80: ↑65 and ↓15+50
Comments61

Интерактивная обучалка ветвлению в Git

Reading time1 min
Views79K
Некий Питер Коттл (Peter Cottle) сделал интерактивную обучалку по основам ветвления в Git. Есть несколько простых обучающих уровней, где нужно сделать пару коммитов, а затем merge или rebase, есть и сложные уровни, над которыми придется подумать. Можно также сохранять уровни и делиться ими с друзьями.

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

image
Читать дальше →
Total votes 162: ↑156 and ↓6+150
Comments38

Не надо давать обещания, или Promises наоборот

Reading time4 min
Views9.4K
Каждый программист, начинающий разрабатывать под Node.js, встаёт перед выбором стратегии организации асинхронного кода в проекте. В то время, как в небольших системных утилитах поддерживать гигиену асинхронного кода достаточно просто, при росте массы кода в проекте решение этой задачи начинает требовать введения дополнительного, так называемого control flow средства.

В этой статье будет рассмотрена небольшая control flow библиотека «Flowy», являющаяся развитием идей проекта Step Тима Касвелла, и ядро которой базируется на концепциях CommonJS Promises, а также приведены аргументы, почему же Promises — это так неудобно.


Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments7

LogicDiscovery — простой логический анализатор

Reading time5 min
Views104K
Довольно часто в домашних электронных поделках возникает необходимость посмотреть тот или иной сигнал, причем достаточно его цифрового представления — что передает МК по I2C, правильно ли настроен ШИМ и т.п. Если на работе есть хороший осциллограф, то покупать его для дома — слишком дорогое удовольствие, особенно, когда необходимость возникает лишь от случая к случаю.
В последнее время появились недорогие (в пределах $50) логические анализаторы, однако меня от их покупки всегда останавливало одна мысль: штука то предельно простая, почему бы не сделать её своими руками из подручных материалов?
В данной статье я расскажу, как сделать простой логический анализатор с минимальными финансовыми затратами — все что нужно это отладочная плата Stm32F4Discovery.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments21

Vanilla JS — очень мощный javascript-фреймворк

Reading time4 min
Views190K
Как ни странно, на Хабре упоминание этого мощнейшего фреймворка нашлось лишь в одном комментарии от апреля 2012 года.

Вступление


Для меня эта тема особенно актуальна, ведь последнее время на Хабре упоминается огромное количество js-фреймворков. Какие-то из них авторы различных проектов находят в Сети, какие-то — пишут сами, не очень понимая зачем. Кто-то просто пишет свои велосипеды.

Моё же мнение — надо стремиться к отсутствию избыточного кода, к максимальному минимализму, простите за тавтологию.
Если на весь сайт вам нужно только выбирать html-элементы по их id — глупо подключать jQuery.

Если вам на Node.js проекте надо собрать пачку js-файлов и сжать их — глупо писать или подключать тяжёлые фреймворки с кучей настроек, параметров, дополнений и методов, ведь простейший скрипт, склеивающий файлы и прогоняющий их через Кроукфордский jsmin будет намного быстрее, надёжнее и проще.

Чем больше кода — тем больше ошибок. Чем больше стороннего кода — тем сложнее поддерживать проект. Ведь когда вы берёте чужой код, вы берёте на себя и ответственность за его поддержку. Нельзя будет сказать «этот баг не мой, а вон из той библиотеки».

Vanilla JS


Итак, начнём обзор этого мощнейшего и самого популярного в мире JS-фреймворка.
Total votes 215: ↑151 and ↓64+87
Comments84

Книги для тимлидов и руководителей проектов. Часть 2

Reading time3 min
Views81K
Предыдущая статья очень хорошо была воспринята читателями, поэтому, как и обещал, сегодня подготовил статью-бонус.

Итак, я просил ответить на вопрос какие книги из статьи вы читали?

Результаты опроса:
Название книги
Количество голосов
Процент
Том ДеМарко. Deadline. Роман
об управлении проектами
247
54%
Фредерик Брукс. Мифический человеко-месяц, или Как создаются
программные системы
174
38%
Джоэл Спольски. Джоэл о программировании
165
36%
Том Демарко и Тимоти Листер. Человеческий фактор. Успешные
проекты и команды
148
32%
Джейсон Фрайд, Дэвид Хайнемайер Хенссон. Rework.
Бизнес без предрассудков
108
24%
Джеффри Янг и Уильям Саймон. iКона. Стив
Джобс
94
21%
Том ДеМарко, Тимоти Листер. Вальсируя с Медведями: управление
рисками в проектах по разработке программного обеспечения
70
15%
Том Демарко, Тимоти Листер. Балдеющие от адреналина и зомбированные
шаблонами. Паттерны поведения проектных команд
51
11%
Кармин Галло. iПрезентация. Уроки
убеждения от лидера Apple Стива Джобса
48
11%
Патрик Ленсиони. Смерть от совещаний
21
5%
Патрик Ленсиони. Пять пороков команды. Притчи о
лидерстве
19
4%
Патрик Ленсиони. Пять искушений руководителя: притчи о лидерстве
16
4%
Патрик Ленсиони. Три признака унылой работы. История со смыслом
для менеджеров (и их подчиненных)
11
2%

А теперь еще один бонус — список книг по заданной тематике, которые прислали нам читатели:
Читать дальше →
Total votes 89: ↑81 and ↓8+73
Comments12

Альтернативы для JavaScript

Reading time3 min
Views45K
imageJavascript это практически вездесущий язык программирования. В некотором роде его можно сравнить с C на пике его популярности. На нем можно писать всё что угодно, начиная от красивых выпадающих менюшек, слайдеров на вашем сайте, заканчивая полноценнами приложениями для серверов, мобильных, для десктопа и даже для embedded систем типа arduino.

Но у яваскрипта есть свои заковырки. Прототипная модель объектов, динамические типы, колбек-функции, всё это, можно сказать, на любителя. В результате начали появлятся альтернативные языки, предлагающие свои подходы к реализации тех или иных концептов. В этом посте перечислены самые популярные альтернативы теплому ванильному яваскрипту.

Читать дальше →
Total votes 55: ↑43 and ↓12+31
Comments117

HabraQuotes: Перезагрузка

Reading time2 min
Views16K
imageПриветствую всех и поздравляю с наступающим Новым Годом! Если вы уже запамятовали, то напомню, что HabraQuotes — это такой сборник смешных и веселых комментариев с Хабрахабра, который, увы, был закрыт в мае этого года. И вот он открылся вновь!

С тех пор очень многое поменялось, поскольку код и цитаты старого цитатника были утеряны. Но, может, оно и к лучшему…
Читать дальше →
Total votes 73: ↑60 and ↓13+47
Comments66

Книги, которые должен прочитать Java программист: от новичка до профессионала

Reading time4 min
Views649K

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
Читать дальше →
Total votes 90: ↑77 and ↓13+64
Comments77

Онлайн-инструменты для кодеров

Reading time2 min
Views284K
Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9


«Это Google Docs, только для кода» — так говорят о проекте. Облачный сервис вырос из Mozilla Bespin. Основные фишки: SSH, drag-and-drop и возможность разработки оффлайн.

Читать дальше →
Total votes 204: ↑191 and ↓13+178
Comments55

Тест Джоэла как инструмент собеседуемого

Reading time5 min
Views68K
Многие хабровачане наверняка знакомы с тестом Джоэла (перевод). Если в двух словах, Джоэл Спольски предлагает на основе выбранных им критериев оценить любому инженеру, насколько хороша его команда.

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

Допустим, эта часть Вам понравилась и Вы задумались о том, чтобы перейти в этот проект. Потенциально Вам с этими людьми работать следующие несколько лет (ну минимум — месяцев). Поэтому имеет смысл пораспрашивать о проекте поподробнее. А заодно и будущих сокомандников прощупать — что они за перцы? ;)

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

Читать дальше →
Total votes 104: ↑86 and ↓18+68
Comments82

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity