Я использую один важный принцип – происхождение которого я расскажу позже – который срабатывает более чем везде где я был. Собственно: в любое время, в любой организации(или процесс, или системе) в которой я находился, всегда было небольшое количество узких мест – это люди, команды, системы, или что-либо еще, что ограничивало результаты всей организации. По факту, обычно, только один.
Андрей Кравчук @prefrontalCortex
Software Engineer
Chocolatey — apt-get для Windows
6 min
119KChocolatey — менеджер пакетов в среде Windows по аналогии с apt-get в Linux Мире.

Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:

Начал использовать по причине разработки на Node.js под Nodester. Мне хотелось бы регулярно обновлять ноду, git, dropbox, да и тот же skype, при этом, не заморачиваясь со скачиванием msi инсталяторов и установками, а просто обновить одной командой:
cup all
+49
Как умирают софтварные компании
3 min
34KTranslation

Условия, которые питают креативных программистов, убивают менеджеров и маркетологов — и наоборот. Программирование — Великая Игра. Оно поглощает игрока полностью, включая и душу и тело. Если ты попался — то ты попался, и ничего уже больше не имеет значения. Когда ты в следующий раз вылезешь из своей берлоги, вполне могут обнаружиться лишние десять киллограммов, борода до колен и такое количество пустых коробок из-под пиццы вокруг, что уже, наверное, наступила весна? Но для тебя это всё не важно. Потому, что твоя программа работает, а код быстр и элегантен. Ты победил.
+207
Стресс-тест Path of Exile назначен на выходные
3 min
11KКак, вы не знаете про Path of Exile?

Если вы любите Diablo II — этот пост для вас.

Если вы любите Diablo II — этот пост для вас.
+10
9facts: разбор полетов
9 min
3.3K
В середине марта мы, фактически, закрыли наш стартап 9facts.com, о котором я писал на Хабрахабре в декабре. И вот к маю я таки созрел на написание этого поста.
Начну с самого важного:
+181
RESTful API для сервера – делаем правильно (Часть 1)
13 min
334KTranslation
В 2007-м Стив Джобс представил iPhone, который произвел революцию в высокотехнологичной индустрии и изменил наш подход к работе и ведению бизнеса. Сейчас 2012-й и все больше и больше сайтов предлагают нативные iOS и Android клиенты для своих сервисов. Между тем не все стартапы обладают финансами для разработки приложений в дополнение к основному продукту. Для увеличения популярности своего продукта эти компании предлагают открытые API, которыми могут воспользоваться сторонние разработчики. Пожалуй Twitter был первым в этой сфере и теперь число компаний, последовавших этой стратегии, растет стремительно. Это действительно отличный способ создать привлекательную экосистему вокруг своего продукта.
+67
Google Knowledge Graph
1 min
8.6KВнезапно Google объявил о запуске проекта, который готовился в недрах Evil Empire уже два года.
Придумав броский слоган things not strings (вещи — не строчки), нам хотят представить нечто вроде автоматической энциклопедии.
Придумав броский слоган things not strings (вещи — не строчки), нам хотят представить нечто вроде автоматической энциклопедии.
+37
Пишем модуль для авторизации в VK API
5 min
94KНа днях возникла необходимость сохранить все фотографии из своего фотоальбома ВКонтакте на жесткий диск. Естественно, вариант, с сохранением фотографий по одной, меня не устроил. Тут вспомнилось, что у ВКонтакте есть API. Пять минут чтения мануалов, и все нужные функции найдены. Единственная проблема – не существует нормального способа, для получения доступа к API. В документации сказано следующее:
На первый взгляд, набросать простенький портабельный скрипт не получится. Хотя, что мешает нам притвориться браузером?
Процесс авторизации приложения состоит из 3-х шагов:
- Открытие окна браузера для аутентификации пользователя на сайте ВКонтакте.
- Разрешение пользователем доступа к своим данным.
- Передача в приложение ключа access_token для доступа к API.
На первый взгляд, набросать простенький портабельный скрипт не получится. Хотя, что мешает нам притвориться браузером?
+26
Азбука NoSQL-инъекций
13 min
65KБывают SQL-инъекции! А возможны ли NoSQL-инъекции? Да! Redis, MongoDB, memcached — все эти программные продукты относятся к классу нереляционных СУБД, противоположному популярным MySQL, Oracle Database и MSSQL. Так как интерес к перечисленным базам данных в последнее время значительно возрос, хакеры всех мастей просто не могли пройти мимо них.


+57
Разнообразие Android-устройств
1 min
7.8K
Разработчики из OpenSignalMaps визуализировали статистику по скачиваниям своего приложения для мониторинга сетевого трафика. За полгода его скачали на 681900 Android-устройств из 195 стран мира.
Картина получилась красивая: зарегистрировано 3997 моделей различных Android-девайсов. Самое популярный — GT-i9100 (Galaxy SII), 61389 пользователей.
+67
Об организации рабочего стола, работ и документов
7 min
55KДавайте обсудим вопрос организации иконок на рабочем столе. Хочется сказать: «покажи мне свой десктоп, и я скажу, как ты работаешь». Вынесу вверх главную мысль: Рабочий стол предлагается использовать для организации текущей работы над документами. Что на столе — то в сознании, в фокусе. Поэтому важно иметь структуру этого фокуса и важно вовремя убирать из фокуса лишнее.
Часто можно наблюдать следующие стратегии поведения при использовании рабочего стола:
Всё это — варианты нормы, единственный недостаток — рабочий стол не помогает в организации работ. Это примерно как обвинить кота, что он не приносит тапочки. Но ведь мог бы и приносить!!! Достаточно правильно расчертить дорожки.

Сначала я подумал, что я гений и заработаю миллионы на этой идее, но потом решил вбить в поисковик «Organizing desktop wallpaper». Нафантазированная яхта и девушки-поклонницы исчезли, но стало ясно, что, во-первых, желание вполне адекватное, а во-вторых уже есть готовые варианты, чтобы взять и использовать. Т.е. хотя бы тапочки. Картинка выше взята из статьи How to Design and Create a Clean, Organized Desktop.
Ниже будет список найденных статей и вариантов, а также я расскажу о своей идее и тех задачах, которые она должна решать:
Часто можно наблюдать следующие стратегии поведения при использовании рабочего стола:
- заполнить стол значками до предела, периодически «удалять неиспользуемые»
- оставить на столе корзину и красивую картинку, удалять со стола всё, регулярно чистить корзину
- расположить на столе часто используемые ярлыки и некоторые рабочие документы
Всё это — варианты нормы, единственный недостаток — рабочий стол не помогает в организации работ. Это примерно как обвинить кота, что он не приносит тапочки. Но ведь мог бы и приносить!!! Достаточно правильно расчертить дорожки.

Сначала я подумал, что я гений и заработаю миллионы на этой идее, но потом решил вбить в поисковик «Organizing desktop wallpaper». Нафантазированная яхта и девушки-поклонницы исчезли, но стало ясно, что, во-первых, желание вполне адекватное, а во-вторых уже есть готовые варианты, чтобы взять и использовать. Т.е. хотя бы тапочки. Картинка выше взята из статьи How to Design and Create a Clean, Organized Desktop.
Ниже будет список найденных статей и вариантов, а также я расскажу о своей идее и тех задачах, которые она должна решать:
-2
Мастера оффшорных дел
6 min
4.8KМало писать хороший софт. Это умеют многие, и собственно за это вам и платят деньги. Но хотите вы этого или нет, работа в IT требует не только соответствующих технических навыков, но еще и умения работать с людьми, и в первую очередь с заказчиком. Для оффшорной команды, когда команду от заказчика отделяют тысячи километров, это правило становится еще важнее.
Цель этой статьи обратить внимание на специфические моменты, которые сопутствуют написанию программ оффшорными командами, а также на особенности планирования задач и общения с клиентами.
Цель этой статьи обратить внимание на специфические моменты, которые сопутствуют написанию программ оффшорными командами, а также на особенности планирования задач и общения с клиентами.
+38
Бесконечный скролл, как сомнительное улучшение интерфейса
2 min
25KВ данном мини-обзоре плюсов и минусов хотелось бы еще раз поднять холивар понять для чего же всё-таки многие веб-сервисы используют т.н «бесконечный скролл» вместо привычной и понятной организации перехода по страницам.
+47
Не нужно обижать «матрас»
7 min
7.4K
Желаю доброго дня уважаемому Хабра-сообществу. Данная заметка навеяна постом о правильной настройке телевизора. Я не лелею больших надежд на то, что внезапно начнется «неделя настройки телевизоров на Хабре», но поделиться некоторыми мыслями захотелось.
Обращаю ваше внимание на тот факт, что автор не является профессионалом в области ремонта/настройки телевизионных приемников, мониторов и другого проекционного оборудования, а все изложенные мысли лишь теоретические выкладки, с которыми более опытные товарищи могут легко не согласиться и отразить свое негодование в комментариях. За что, кстати, я буду весьма благодарен, ибо это может серьезно расширить мой кругозор.
+47
davfs2 и encfs на box.com
6 min
17KЗдравствуй хабраменш,
Хочу поделиться с тобой сокровенными знаниями, а также пополнить запасы своих. Так вот, все началось с того, что проект syncany.org умер не родившись, ну или по крайней мере, судя по активности, разродится еще не скоро. Так как сил ждать больше не было, то решил я воспользоваться уже существующими и работающими методами для организации удаленного облачного файлохранилища (в дальнейшем УФХ) с открытым клиентом, а также с шифрацией на стороне клиента. Все что написано дальше имеет отношение к юниксоподобным операционным системам, поэтому пользователям ОС Виндовс дальнейшее изложение можно пропустить.
Хочу поделиться с тобой сокровенными знаниями, а также пополнить запасы своих. Так вот, все началось с того, что проект syncany.org умер не родившись, ну или по крайней мере, судя по активности, разродится еще не скоро. Так как сил ждать больше не было, то решил я воспользоваться уже существующими и работающими методами для организации удаленного облачного файлохранилища (в дальнейшем УФХ) с открытым клиентом, а также с шифрацией на стороне клиента. Все что написано дальше имеет отношение к юниксоподобным операционным системам, поэтому пользователям ОС Виндовс дальнейшее изложение можно пропустить.
+14
Бестиповое лямбда-исчисление, комбинаторы, Unlambda и числа Фибоначчи
11 min
6KДалее пойдет рассказ о самом, на мой взгляд, хардкорном способе программирования.
Предмет поста непростой, путь будет долгим, а в качестве печеньки в конце я расскажу, как считать числа Фибоначчи на языке Unlambda.
Предмет поста непростой, путь будет долгим, а в качестве печеньки в конце я расскажу, как считать числа Фибоначчи на языке Unlambda.
+51
Как заработать на десктопном приложении?
4 min
10KСегодня у многих компаний как крупных, так и не очень, возникает желание получить доход и испробовать различные направления. Ориентация на один узкий сегмент рынка — это ошибочная стратегия в условия бурного и высоконкурентого развития современных технологий по всем направлениям и тематическим нишам.
Многие компании разрабатывают небольшие полезные приложения не под заказ, а для себя. Такие приложения составят хорошую репутацию компании в качестве портфолио, позволять познакомить пользователей приложения с компанией, а также получить бесценный опыт разработки. Такие приложения, как правило, распространяются бесплатно, с целью привлечения наибольшего количества активных пользователей. Но рано или поздно становиться вопрос о монетизации приложений. Любой бизнес любит счет и баланс, и если инвестированные в разработку затраты не окупились, то это сигнал для руководителя.
Многие компании разрабатывают небольшие полезные приложения не под заказ, а для себя. Такие приложения составят хорошую репутацию компании в качестве портфолио, позволять познакомить пользователей приложения с компанией, а также получить бесценный опыт разработки. Такие приложения, как правило, распространяются бесплатно, с целью привлечения наибольшего количества активных пользователей. Но рано или поздно становиться вопрос о монетизации приложений. Любой бизнес любит счет и баланс, и если инвестированные в разработку затраты не окупились, то это сигнал для руководителя.
+12
Создание 1k/4k intro для Linux, часть 2
23 min
8.4KНе прошло и полгода! Как вы можете, поднапрягшись, вспомнить, в прошлый раз мы остановились на унынии и обещании нырнуть в ассемблер.
Ну что же, пацан сказал — пацан сделал. Из этого аляповатого нагромождения букв вы узнаете, как можно инициализировать OpenGL-контекст в GNU/Linux в какие-то 450 байт, высвободив ещё больше места для разворачивания таланта.
Под катом вы узнаете, как в один килобайт нарисовать что-нибудь такое:

Заинтересованные пристёгиваются и вдавливают педаль в пол, а глаз — в экран.
Ну что же, пацан сказал — пацан сделал. Из этого аляповатого нагромождения букв вы узнаете, как можно инициализировать OpenGL-контекст в GNU/Linux в какие-то 450 байт, высвободив ещё больше места для разворачивания таланта.
Под катом вы узнаете, как в один килобайт нарисовать что-нибудь такое:

Заинтересованные пристёгиваются и вдавливают педаль в пол, а глаз — в экран.
+101
Трудности перевода в коде
2 min
7.2KПериодически всем, кто трудится на поле разработки программного обеспечения, приходится читать чужой код: код коллеги, код незнакомого разработчика или код популярной библиотеки. Помимо прочих плюсов и минусов невольно наталкиваешься на «трудности перевода». И хорошо если речь о родном языке, ведь когда такие «сложности» возникли у индуса или китайца, то результат порой вообще вызывает спазм мозга.
Например в популярной CMS UMI мы можем найти такое замечательное наименование свойства объекта:
Например в популярной CMS UMI мы можем найти такое замечательное наименование свойства объекта:
izobrazhenie
. Заметьте — не «image» и даже не «picture», а вот так незамысловато.+58
Arduino в снековом автомате
7 min
26KЭтот пост – продолжение истории о начинке торговых автоматов простой и доступной электроникой на базе Arduino. И действительно – возможности платформы просто безграничны! И так, второй автомат – снековый автомат по продаже чипсов/воды/шоколадок/etc.
+68
Information
Specialization
Software Developer, Fullstack Developer
Senior
From 5,000 €
Lisp
Clojure
Unix
Linux
Docker