Читать дальше →
Владимир Игнатьев @Vlad911
Пользователь
F**k GTD! (пост добра :)
1 мин
15KБуду краток. Практикуете GTD (иль какой иной таймменеджмент), но вас по-прежнему ломает от ведения и пересмотра (!) списков? А может, на бумаге у вас выходит всё красиво, а как только вы принимаетесь за запланированные дела, вас охватывает скука и желание вот щас прямо заниматься чем-то совершенно другим? Ну и, самое главное, как только проект переходит в рутинную стадию, вам он надоедает?
Поздравляю, вы — иррационал! Плохая новость: хотя нас очень много, во всех гильдиях специалистов по управлению личной эффективностью нас меньшинство. Там правят рационалы, которые изо дня в день лобируют рациональные ценности, а нас, любителей весело и интересно жить, выставляют лентяями, лузерами и раздолбаями.
Но вот недавно один добрый человек дал мне две статьи о подходу к управлению делами для нас: «Спонтанное планирование для тех, кто ненавидит тайм менеджмент» и «Формула успеха: спонтанное планирование и жизнь в потоке».
Прочитайте и дайте прочитать знакомым!
P. S. Это не топик-ссылка, т. к. хотел опубликовать сразу две ссылки.
Поздравляю, вы — иррационал! Плохая новость: хотя нас очень много, во всех гильдиях специалистов по управлению личной эффективностью нас меньшинство. Там правят рационалы, которые изо дня в день лобируют рациональные ценности, а нас, любителей весело и интересно жить, выставляют лентяями, лузерами и раздолбаями.
Но вот недавно один добрый человек дал мне две статьи о подходу к управлению делами для нас: «Спонтанное планирование для тех, кто ненавидит тайм менеджмент» и «Формула успеха: спонтанное планирование и жизнь в потоке».
Прочитайте и дайте прочитать знакомым!
P. S. Это не топик-ссылка, т. к. хотел опубликовать сразу две ссылки.
+109
Самодельный бот с камерой и управлением по wifi
3 мин
46KПрочитав опубликованную статью Однажды фанера, atmega, да малина, я решил поделиться своей поделкой, которая доступна (не сложна) для повторения.
При создании бота ставились следующие задачи:
Для бортового компьютера был выбрал двухъядерный андроидный миникомпьютер UG-802, который имелся под рукой. В качестве операционной системы — полноценный линукс дистрибутив, сборка Ubuntu от Linaro.
При создании бота ставились следующие задачи:
- Управление ботом по беспроводной сети
- Наличие онлайн камеры
- Удобство программирования
Бортовой компьютер
Для бортового компьютера был выбрал двухъядерный андроидный миникомпьютер UG-802, который имелся под рукой. В качестве операционной системы — полноценный линукс дистрибутив, сборка Ubuntu от Linaro.
+40
Как сделать самую лучшую посадочную страницу: чеклист из 50 пунктов
5 мин
98KПеревод
Мы в Alconost предоставляем услуги создания и ведения контекстной рекламы и, по долгу службы, иногда занимаемся разработкой посадочных страниц (landing pages). Мы были очень рады найти и перевести статью, в которой автор изложил все требования, которым такая страница должна соответствовать. Но есть в этой статье и большой минус. Пунктов аж 50, каждый можно отметить в чеклисте, но после доступен лишь результат в баллах, которым можно разве что похвастаться перед друзьями.
Мы против таких способов анализа информации. Потому каждый желающий может скачать подготовленную нами гуглотаблицу, ответить на вопросы “Да” или ”Нет”, отфильтровать ответы и получить результат и план действий.
Те, кому в гуглотаблицу не хочется, просим под кат. Там перевод.
Мы против таких способов анализа информации. Потому каждый желающий может скачать подготовленную нами гуглотаблицу, ответить на вопросы “Да” или ”Нет”, отфильтровать ответы и получить результат и план действий.
Те, кому в гуглотаблицу не хочется, просим под кат. Там перевод.
+52
Метрика #3 — Подкаст о технологиях и проектировании интерфейсов и сервисов
1 мин
5.8KВсем привет! С вами «Метрика» – шоу для тех, кто создает и анализирует продукты и сервисы на различных платформах. Первого апреля мы ударно потрудились и записали аж два выпуска, предлагаем вашему вниманию продолжение нашей беседы:
Платон Днепровский (hryusha), Артем Геллер (heller), Александр Бурт и Дмитрий Кабанов (dmitrykabanov) обсуждают новости из сферы электронного правительства, в частности, последние инициативы и предложения по улучшению юзабилити гос. сайтов.
Сегодня в выпуске
Платон Днепровский (hryusha), Артем Геллер (heller), Александр Бурт и Дмитрий Кабанов (dmitrykabanov) обсуждают новости из сферы электронного правительства, в частности, последние инициативы и предложения по улучшению юзабилити гос. сайтов.
+11
Открытые репозитории кода по открытым данным и открытому государству
3 мин
10KДля всех кто работает с открытыми данными, делает свои проекты для себя, людей, для участия в конкурсах всегда бывает бывает полезен исходный код примеров того как данные собирались и что с ними делалось.
Я предлагаю составить список открытых репозиториев кода нацеленного именно на решение задач по работе с открытыми данными и примеры проектов которые на них основаны.
Вот список репозиториев зарубежных инициатив которые мне известны:
— огромное количество проектов Open Knowledge Foundation — CKAN, расширения к нему, утилиты по преобразованию данных
— репозитории исходного кода Sunlight Labs — очень много примеров того как распарсены многие американские сайты и базы данных, а также библиотеки по работе с данными разного вида
— репозитории OpenGovernment.org — много примеров проектов на Ruby
— репозитории департамента ИТ Оксфорда — их проекты по открытым данным такие как DataVerse;
— открытый код Белого Дома (США) — проекты по петициям, стандартам API и всяким штукам для Drupal
— репозиторий AlphaGov (UK) — материалы проекта www.gov.uk много кода самого проекта и подпроектов
Мы в Информационной Культуре работаем с открытыми данными постоянно и часть того кода что мы производим вполне может быть полезна и другим. Да что уж там, точно будет полезна.
Поэтому мы выложили много материалов в виде публичных репозиториев в которых каждый может найти что-то для себя и свободно использовать.
Я предлагаю составить список открытых репозиториев кода нацеленного именно на решение задач по работе с открытыми данными и примеры проектов которые на них основаны.
Вот список репозиториев зарубежных инициатив которые мне известны:
— огромное количество проектов Open Knowledge Foundation — CKAN, расширения к нему, утилиты по преобразованию данных
— репозитории исходного кода Sunlight Labs — очень много примеров того как распарсены многие американские сайты и базы данных, а также библиотеки по работе с данными разного вида
— репозитории OpenGovernment.org — много примеров проектов на Ruby
— репозитории департамента ИТ Оксфорда — их проекты по открытым данным такие как DataVerse;
— открытый код Белого Дома (США) — проекты по петициям, стандартам API и всяким штукам для Drupal
— репозиторий AlphaGov (UK) — материалы проекта www.gov.uk много кода самого проекта и подпроектов
Мы в Информационной Культуре работаем с открытыми данными постоянно и часть того кода что мы производим вполне может быть полезна и другим. Да что уж там, точно будет полезна.
Поэтому мы выложили много материалов в виде публичных репозиториев в которых каждый может найти что-то для себя и свободно использовать.
+27
Асинхронные API и объект Deferred в деталях
11 мин
22KТуториал
Большинство современных языков программирования позволяют использовать асинхронно выполняемые блоки кода. Вместе с гибкостью, получаемой при использовании асинхронного подхода, рискнувший его применить также получает более сложный для понимания и поддержки код. Однако, любое усложнение, с которым сталкиваются программисты, как правило, находит практическое решение в виде нового подхода или повышения уровня абстракции. В случае асинхронного программирования таким средством служит объект типа отложенный результат или deferred (англ. deferred — отложенный, отсроченный).
В статье будет рассказано о базовых подходах к возврату асинхронных результатов, функциях обратного вызова, объектах deferred и их возможностях. Будут приведены примеры на языке JavaScript, а также произведён разбор типового объекта deferred. Статья будет полезна программистам, начинающим постигать асинхронное программирование, а также знакомым с ним, но не владеющим объектом deferred.
В статье будет рассказано о базовых подходах к возврату асинхронных результатов, функциях обратного вызова, объектах deferred и их возможностях. Будут приведены примеры на языке JavaScript, а также произведён разбор типового объекта deferred. Статья будет полезна программистам, начинающим постигать асинхронное программирование, а также знакомым с ним, но не владеющим объектом deferred.
+13
Django ORM, gevent и грабли в зелени
6 мин
16KОчень многие выбирают Django за его простоту. Код на Django прост и лаконичен, мы меньше думаем о костылях и больше о бизнес-логике.
Gevent тоже выбирают из-за того, что он простой, очень шустрый и не несёт за собой callback hell.
В голове возникает великолепная идея совместить две простые и удобные вещи вместе. Мы патчим Django и радуемся простоте, лаконичности и производительности, делаем множество запросов на другие сайты, создаём подпроцессы, в общем используем наш новый асинхронный Django по максимуму.
Но совместив их, мы незаметно для себя поставили несколько граблей на нашем пути.
Gevent тоже выбирают из-за того, что он простой, очень шустрый и не несёт за собой callback hell.
В голове возникает великолепная идея совместить две простые и удобные вещи вместе. Мы патчим Django и радуемся простоте, лаконичности и производительности, делаем множество запросов на другие сайты, создаём подпроцессы, в общем используем наш новый асинхронный Django по максимуму.
Но совместив их, мы незаметно для себя поставили несколько граблей на нашем пути.
+46
Тестирование тривиального кода
5 мин
24KПеревод
Даже если код тривиален, вы всё равно должны его тестировать.
Пару дней назад, Роберт Мартин опубликовал пост «Прагматичность TDD», (здесь лежит перевод — прим.переводчика) где он рассказал о том, что не тестируют абсолютно весь код. Среди исключительных ситуаций, когда не стоит применять TDD, дядя Боб упоминает написание GUI-кода, и я вижу смысл в таких утверждениях, но среди исключений есть парочка, на мой взгляд, нелогичных.
Пару дней назад, Роберт Мартин опубликовал пост «Прагматичность TDD», (здесь лежит перевод — прим.переводчика) где он рассказал о том, что не тестируют абсолютно весь код. Среди исключительных ситуаций, когда не стоит применять TDD, дядя Боб упоминает написание GUI-кода, и я вижу смысл в таких утверждениях, но среди исключений есть парочка, на мой взгляд, нелогичных.
+10
Принцип цикады и почему он важен для веб-дизайнеров
6 мин
233KПеревод
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.
Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.
Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.
Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
+668
PyBrain работаем с нейронными сетями на Python
8 мин
165KВ рамках одного проекта столкнулся необходимостью работать с нейронными сетями, рассмотрел несколько вариантов, больше всего понравилась PyBrain. Надеюсь её описание будет многим интересно почитать.
PyBrain — одна из лучших Python библиотек для изучения и реализации большого количества разнообразных алгоритмов связанных с нейронными сетями. Являет собой удачный пример совмещения компактного синтаксиса Python с хорошей реализацией большого набора различных алгоритмов из области машинного интеллекта.
Предназначен для:
- Исследователей — предоставляет единообразную среду для реализации различных алгоритмов, избавляя от потребности в использовании десятков различных библиотек. Позволяет сосредоточится на самом алгоритме а не особенностях его реализации.
- Студентов — с использованием PyBrain удобно реализовать домашнее задание, курсовой проект или вычисления в дипломной работе. Гибкость архитектуры позволяет удобно реализовывать разнообразные сложные методы, структуры и топологии.
- Лекторов — обучение методам Machine Learning было одной из основных целей при создании библиотеки. Авторы будут рады, если результаты их труда помогут в подготовке грамотных студентов и специалистов.
- Разработчиков — проект Open Source, поэтому новым разработчикам всегда рады.
+89
Непрерывное тестирование питонопроекта
7 мин
24KПрограммист зверь ленивый, поэтому всё, что будет делаться больше одного раза надо непременно заскриптовать.
Я уже некоторое время ковыряю TDD и задача постоянного контроля качества для меня становится всё актуальней. Особенно при пополнении команды новыми разработчиками.
Сначала я запускал тесты руками: save, switch, $ nosetests. Потом к тестам добавились проверялки качества кода и пришлось всё засунуть в скрипт:
Скрипт запускать каждый раз ужасно лениво, поэтому небольшая оболочка на inotifywait стала запускать тесты и проверки после каждого сохранения:
Тут я стал более-менее доволен происходящим и даже на некоторое время расслабился. Но ведь программист кроме того, что ленив ещё и горд, поэтому результаты хочется кому-нибудь показать. Чтобы вести историю происходящего (которая очень помогает когда заходит начальник начальника и спрашивает: «ну-с, чем вы занимались последний месяц?») уже есть система контроля версий. Но она показывает только, что сделано и не даёт обзора успешности каждой ревизии. Получается что код лежит, но непонятно в каком он состоянии и что где ещё надо сделать.
Кроме того довольно тяжело следить за коллегами, которые тоже могут что-то сделать и забыть прогнать тесты, в результате в репозитории лежит битый код, не прошедший code review и при очередном pull может внезапно начаться clusterfuck.
И тут очень вовремя kmmbvnr@lj выпустил скринкаст, в котором он демонстрировал интеграцию тестирования для django-проектов с сабжем Jenkins (бывш. Hudson). Посмотрел я на все эти красоты, графики и отчёты и тоже захотел чтобы всё само пело и играло. Но у него django-jenkins, как и следует из названия, встраивается в джангу и генерит отчёты используя хитрую систему. Мой проект до джанги не дорос и скорее всего не дорастёт — это достаточно тривиальное WSGI-приложение, которое правда стремительно разрастается. Пришлось поднимать всё с нуля.
Воскресенье я на это убил, но в целом всё довольно прямолинейно и теперь у меня есть симпатичные отчёты:
Что внутри?
Я уже некоторое время ковыряю TDD и задача постоянного контроля качества для меня становится всё актуальней. Особенно при пополнении команды новыми разработчиками.
Сначала я запускал тесты руками: save, switch, $ nosetests. Потом к тестам добавились проверялки качества кода и пришлось всё засунуть в скрипт:
pyflakes *.py
pep8 *.py
pylint *.py
nosetests
Скрипт запускать каждый раз ужасно лениво, поэтому небольшая оболочка на inotifywait стала запускать тесты и проверки после каждого сохранения:
while true; do
inotifywait -e modify project/*.py -qq; clear
./do_tests
done
Тут я стал более-менее доволен происходящим и даже на некоторое время расслабился. Но ведь программист кроме того, что ленив ещё и горд, поэтому результаты хочется кому-нибудь показать. Чтобы вести историю происходящего (которая очень помогает когда заходит начальник начальника и спрашивает: «ну-с, чем вы занимались последний месяц?») уже есть система контроля версий. Но она показывает только, что сделано и не даёт обзора успешности каждой ревизии. Получается что код лежит, но непонятно в каком он состоянии и что где ещё надо сделать.
Кроме того довольно тяжело следить за коллегами, которые тоже могут что-то сделать и забыть прогнать тесты, в результате в репозитории лежит битый код, не прошедший code review и при очередном pull может внезапно начаться clusterfuck.
И тут очень вовремя kmmbvnr@lj выпустил скринкаст, в котором он демонстрировал интеграцию тестирования для django-проектов с сабжем Jenkins (бывш. Hudson). Посмотрел я на все эти красоты, графики и отчёты и тоже захотел чтобы всё само пело и играло. Но у него django-jenkins, как и следует из названия, встраивается в джангу и генерит отчёты используя хитрую систему. Мой проект до джанги не дорос и скорее всего не дорастёт — это достаточно тривиальное WSGI-приложение, которое правда стремительно разрастается. Пришлось поднимать всё с нуля.
Воскресенье я на это убил, но в целом всё довольно прямолинейно и теперь у меня есть симпатичные отчёты:
Что внутри?
+51
TornadIO2 = Tornado + Socket.IO
5 мин
14KЧто такое Socket.IO?
Это библиотека предназначенная для организации постоянного соединения между сервером и браузером.
Главное преимущество библиотеки: она автоматически подстраивается под возможности браузера и использует наиболее эффективный транспортный протокол из поддерживаемых.
Браузер умеет веб сокеты? Отлично, будем использовать их. Браузер умеет AJAX? Будем использовать long polling. Это древний Internet Explorer? Будем использовать html file object. Ну и так далее.
О socket.io уже писали на Хабре. «Родной» сервер Socket.IO написан на node.js.
+45
Всё самое модное
3 мин
5.6KНачитавшись в интернете про новые, простые, быстрые и масштабируемые технологии, захотелось их всех попробовать. Вдруг они окажутся лучше уже привычной мне связки postgresql + django + json-rpc.
Так как никакой идеи не было, но был свободный домен uglyrater.org — пришлось делать рейтинг.
Суть проста: есть список пользователей, которым можно расставить + и -. Новые пользователи в рейтинг добавляются по адресу страницы ВКонтакте.
Идея проекта
Так как никакой идеи не было, но был свободный домен uglyrater.org — пришлось делать рейтинг.
Суть проста: есть список пользователей, которым можно расставить + и -. Новые пользователи в рейтинг добавляются по адресу страницы ВКонтакте.
+52
Управление пальцами: в поисках идеального интерфейса
6 мин
14KТак случилось, что профессиональными болезнями дизайнеров интерфейсов является аллергия на неудобство, повышенная раздражительность при взаимодействии с сложными процессами, гиперчувствительность к вкусовой недостаточности, неадекватная реакция на отсутствие логики. Поэтому им бывает довольно непросто найти подходящее приложение для своих нужд. И если настольные компьютеры и ноутбуки, в силу возраста, уже успели обзавестись качественными программами практически для всех областей применения, то в мире мобильных приложений зачастую царит бездумный копипаст десктопных решений.
Особенно остро качественная недостаточность стала проявлять себя с появлением приложений, в которых разработчики учли особенности управления сенсорным экраном, и сделали ставку на новые способы взаимодействия. И сразу со всех концов интернета посыпались возгласы «революционный дизайн», «инновационное управление», «удобный минималистичный интерфейс».
Давайте попробуем разобраться в тонкостях взаимодействия с сенсорными экранами, и понять как же добиться подобного удобства и легкости управления.
Особенно остро качественная недостаточность стала проявлять себя с появлением приложений, в которых разработчики учли особенности управления сенсорным экраном, и сделали ставку на новые способы взаимодействия. И сразу со всех концов интернета посыпались возгласы «революционный дизайн», «инновационное управление», «удобный минималистичный интерфейс».
Давайте попробуем разобраться в тонкостях взаимодействия с сенсорными экранами, и понять как же добиться подобного удобства и легкости управления.
+8
Карты в браузере без сети: open source наносит ответный удар
14 мин
42KКак-то давно я писал о том как можно в вебе использовать карты без сети и пытался сделать это с помощью гугло карт. К сожалению условия использования запрещали модифицировать ресурсы, а написанный мною код работал только с
localStorage
, поэтому я решил перейти на светлую сторону силы, где код открыт, прост и понятен.+57
Сложность ERP систем
5 мин
66KНаверняка вы видели такую картинку.
Все, абсолютно все мои коллеги, друзья, знакомые, даже я сам смеюсь над этими горе-разработчиками, захламившими программу кнопками, ссылками и прочим шлаком.
Хотя мне то что смеяться. Я, как архитектор ERP систем, сам регулярно прикладываю к этому свои руки, и понимаю, откуда возникает такой хаос.
Все, абсолютно все мои коллеги, друзья, знакомые, даже я сам смеюсь над этими горе-разработчиками, захламившими программу кнопками, ссылками и прочим шлаком.
Хотя мне то что смеяться. Я, как архитектор ERP систем, сам регулярно прикладываю к этому свои руки, и понимаю, откуда возникает такой хаос.
+102
Почему мы (всё ещё) верим в удалённую работу
5 мин
134KПеревод
На дворе 2013, прошло почти три года с момента, как мы заработали первую сумму денег и начали расти из компании из четырёх сотрудников. Недавно Джефф написал хороший пост об удалённой работе, в основном о нашем плане того, как заставить это работать. Сейчас, по прошествии нескольких лет, я бы хотел написать, что же на самом деле происходит.
Итак, что мы представляем из себя на данный момент? В Stack Exchange сейчас работают 75 человек, примерно половина занимается продажами (маркетинг и реклама), остальные же — созданием продуктов (разработка, дизайн, управление сообществами). БОльшая часть удалённо работающих сотрудников занимаются разработкой: 16 удалённых и 18 офисных разработчиков, сисадминов, дизайнеров. У нас команда-гибрид, которая, как мне кажется, лучшая в мире. Я руковожу отделом проектирования, так что буду говорить в основном о разработчиках, но это применимо ко всем должностям.
Итак, что мы представляем из себя на данный момент? В Stack Exchange сейчас работают 75 человек, примерно половина занимается продажами (маркетинг и реклама), остальные же — созданием продуктов (разработка, дизайн, управление сообществами). БОльшая часть удалённо работающих сотрудников занимаются разработкой: 16 удалённых и 18 офисных разработчиков, сисадминов, дизайнеров. У нас команда-гибрид, которая, как мне кажется, лучшая в мире. Я руковожу отделом проектирования, так что буду говорить в основном о разработчиках, но это применимо ко всем должностям.
+142
Экспорт пользовательского интерфейса из Фотошопа
2 мин
2.6KЭкспорт пользовательского интерфейса из Фотошопа
Каждый разработчик игр в сталкивается с проблемой переноса/натягивания пользовательского интерфейса.
Большинство моих знакомых просят художников делать текстурные атласы, и потом в ручную или при помощи встроенных в игру тулзов располагают это на экране.
Самая острая проблема заключается именно в расстановке данных объектов на экране. Я встречал варианты ручного позиционирования через .ini файлы с указанием положения на экране и описание прямоугольника с текстурными координатами. Это вполне приемлемо если у вас немного элементов и есть свободное время.
+23
Фишинг: Новый тренд — переклейка QR кодов в общественных местах
2 мин
74KДень добрый,
сим постом хочу предупредить русскоязычное сообщество о новой фишинг тенденции, семимильными шагами двигающейся по Европе. В настоящее время накрыло Германию. Думаю такими темпами очень быстро доберется до России и СНГ.
Смысл в том, что QR-код на плакате в аэропорту, рекламной брошюре у врача или например на информационном стикере, висящем в банке, аккуратно заклеивается другим, который ведет соответственно на злостную страничку фишера. Иногда он даже вырезается и вклеивается новый, например изнутри банка, на плакате за стеклом на внешней стене или входной двери. Снаружи такая переклейка практически не заметна под стеклом и не вызывает никаких сомнений, что QR-код принадлежит банку.
На такую уловку попадаются даже люди, серьезно относящиеся к безопасности своих данных, например проверяющие URL в браузерах перед оплатой PayPal и т.д. Это объясняется высоким уровнем доверия к информации, висящей например внутри крупного банка.
+142
Информация
- В рейтинге
- Не участвует
- Откуда
- Самара, Самарская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность