Как стать автором
Обновить
17
0
Алексей @norlin

software engineer | game developer

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

Самый ценный совет по программированию, который я получил

Время на прочтение1 мин
Количество просмотров15K
«Год или два, с момента начала работы в Bell Labs, я работал в паре с Кеном Томпсоном над интерактивным графическим языком, разработанным Джерардом Хольцманом (Gerard Holzmann). Я печатал быстрее, поэтому я сидел за клавиатурой, а Кен стоял позади меня. Мы работали быстро, и когда компилятор выдавал ошибку, я рефлективно начинал закапываться в проблему, изучая стек вызовов, вывод программы, запускал отладчик и так далее. Но Кен просто стоял рядом и думал, игнорируя меня и код, который мы только что написали. Вскоре я заметил закономерность: Кен зачастую понимал, в чем проблема, раньше меня и произносил: „Я знаю, что не так“. Обычно он был прав. Я понял, что Кен выстраивал ментальную модель кода и, когда что-то ломалось, это была ошибка в модели. И думая о том, как эта проблема могла возникнуть, он выяснял, в каком месте модель была неверна или где наш код мог неправильно эту модель отразить.
Читать дальше →
Всего голосов 254: ↑187 и ↓67+120
Комментарии135

USB TV-тюнеры на rtl2832 — или как услышать в радиоэфире все за 600 рублей

Время на прочтение5 мин
Количество просмотров502K
Давно я собирался купить какой-нибуть универсальный радиоприемник/радиосканер, чтобы полазить по эфиру, послушать о чем говорят ночью матёрые и бородатые радиолюбители…

До недавнего времени, это удовольствие обходилось от 300$ и до бесконечности. Ну а с переходом гос.органов (и России и за бугром) на цифровую (но пока еще не зашифрованную) связь APCO P25 стоимость удовлетворения нездорового любопытства стала ещё выше.

Год назад все изменилось — умельцы выяснили, что многие из продающихся у нас китайских USB TV-тюнеров за 600 рублей — фактически являются универсальным радиоприёмником, на который без каких-либо доработок можно послушать практически все-что угодно в диапазоне 50-900Мгц (если повезет — до 2200Мгц, но там голосом особо ничего не передают): переговоры самолётов с диспетчерами, строителей, такси, жучки в вашей квартире и многое другое.

Под катом я расскажу что и где покупать, как подключить и настраивать, ну и наконец — что можно послушать.
Читать дальше →
Всего голосов 144: ↑137 и ↓7+130
Комментарии147

Японцы разработали новый метод трехмерного сканирования объектов

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


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

Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии33

Хочешь быть iOS разработчиком? Будь им!

Время на прочтение2 мин
Количество просмотров388K
На хабре в прошлом месяце была опубликована статья Конкурс ВК: Мессенджер для Android. Как это было!, в которой автор поделился своими мыслями о конкурсе и опубликовал список ресурсов и статей, которые помогли ему в создании приложения. Так как в последнее время я начал изучать разработку под iOS, то у меня скопилось некоторое количество ссылок, которые могут быть полезны для начинающих. Поэтому я последую его примеру и сделаю то же самое, только для своей платформы. Надеюсь, кому-нибудь они окажутся полезны и сэкономят немного времени.

Читать дальше →
Всего голосов 234: ↑222 и ↓12+210
Комментарии38

Выборочная деанимация видео

Время на прочтение1 мин
Количество просмотров2.5K
На конференции SIGGRAPH 2012 специалисты из Калифорнийского университета в Беркли представили полуавтоматическую технику выборочной деанимации видео. Пользователь отмечает участки видеокадра, которые должны быть статичными, а остальные объекты двигаются, как и раньше. Это позволяет создавать различные художественные эффекты: например гитарист играет на абсолютно неподвижной гитаре.



Другой случай: при видеосъёмке девушки-модели можно создать так называемый кинематографический портрет — нечто среднее между фотопортретом и видеороликом. При этом фигура девушки остаётся абсолютно неподвижной, но глаза моргают и волосы развеваются на ветру. Такой видеоряд можно склеить в бесконечный цикл практически без искажений (см. видео под катом).
Читать дальше →
Всего голосов 71: ↑66 и ↓5+61
Комментарии29

Введение в CSS Regions

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


С появлением большого количества мобильных устройств сайты становятся все более «адптивными», это требует новых, более удобных способов отображения контента. В скором будущем помочь в этом смогут CSS-регионы (CSS Regions) — новый веб-стандарт Adobe.
Читать дальше →
Всего голосов 65: ↑62 и ↓3+59
Комментарии14

Принцип «уверенности» высококачественного веб-дизайна

Время на прочтение10 мин
Количество просмотров21K
Краткий синопсис

Доброго времени суток, уважаемые Хабрапользователи. Я довольно давно наблюдаю за различными постами Хабра, касающихся веб-дизайна, да и дизайна в целом. Чаще всего смысл таких постов сводится к очень подробным описаниям отдельных элементов сайта и их различным вариантам — в этом нет ничего плохого, но, мне кажется, этой теме чего-то не хватает: а именно, освещения более общих и всем понятных принципов высококачественного дизайна, которыми мог бы воспользоваться любой пользователь, даже не владеющий соответствующим профилем. В этой статье речь пойдет об одном из таких основополагающих принципов.

image

Под катом примерно 1.1 Мб трафика.
Читать дальше →
Всего голосов 70: ↑58 и ↓12+46
Комментарии30

«LibCanvas» — фреймворк для работы с Javascript Canvas

Время на прочтение7 мин
Количество просмотров14K
Здравствуй, Хабр! Думаю, люди, которые следят за моим творчеством, заметили, что я очень увлекся рисованием на Canvas в JavaScript. Возможно это немного излишне, но ничего не могу с собой поделать, уж очень нравится эта технология. Так нравится, что я аж буду выступать на конференции с докладом о ней (Пономаренко Павел).

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

Читать дальше →
Всего голосов 74: ↑68 и ↓6+62
Комментарии52

Юнит-тесты в Cocoa

Время на прочтение5 мин
Количество просмотров11K
Ниже описаны основы использования OCUnit — фреймворка для создания юнит-тестов, интегрированного в Xcode. Чтобы наглядно попробовать описываемые вещи, код можно скачать сразу. Писал до эпохи Xcode 4, поэтому картинки немного устарели.

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

Памятка пользователям ssh

Время на прочтение13 мин
Количество просмотров1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8+344
Комментарии148

Фриланс как средство заработка. Ч.2. Приступаем к работе

Время на прочтение6 мин
Количество просмотров26K
Чтож, в первой части я долго и упорно лил из пустого в порожнее, преследуя лишь одну цель — признать, что в провалах проектов по стоимости и срокам виноваты мы, мы и только мы. Не существует мифических дядь Вась, повинных во всех наших бедах, не заказчик выносит мозг нам своими требованиями и сменой приоритетов — это все мы, родимые, учиняем, потом благополучно взращиваем и оберегаем от внешнего воздействия. Так что если вы с этим спорить не будете, то айда под кат, посмотрим что у нас дальше на повестке дня.
Читать дальше →
Всего голосов 60: ↑42 и ↓18+24
Комментарии21

Meteor — Новый способ создания приложений

Время на прочтение2 мин
Количество просмотров23K
Meteor представляет собой набор новых технологий для быстрого создания высококачественных веб-приложений, с которым справятся не только опытные разработчики но даже и новички.

Чистый JavaScript.


Пишите всё приложение полностью на чистом JavaScript. Все API, доступны на клиенте и на сервере — в том числе API базы данных! — Так что один код может легко работать на клиенте и на сервере.

Живые обновления страниц.


Просто напишите ваши шаблоны. Они автоматически обновляются при изменении данных. Meteor поддерживает любой язык шаблонов.

Чистая, мощная синхронизация данных.


Пишите ваш код клиентской части, как если бы она была запущена на сервере, и имела прямой доступ к базе данных. Больше не придется получать данные через REST.
Читать дальше →
Всего голосов 80: ↑67 и ↓13+54
Комментарии71

Как украсть миллион?

Время на прочтение5 мин
Количество просмотров32K
0x00 Предисловие

В детстве мы смотрели фильмы Хакеры, Взлом, Пароль Рыба-меч, и прочие творения голливуда. Не смотря на юный возраст, вдохновившись мы искали информацию о хакинге, фрикинге везде где только было возможно. Помню тогда еще компакт-диски ходили с наборами выжимок с разных эхо-конференций. Осваивали программирование, постигали устройство IP-сетей, операционок и всяких железяк. Игры в промышленный шпионаж и прочие прелести детства. Мечта украсть миллион и желательно баксов с помощью компютеров прочно сидела в наших головах. Но… детство проходит, школа заканчивается, попытки собственного бизнеса, работа в различных телекоммуникационных компаниях, и вот уже желание своровать сформировалось в желание построить честный высокотехнологичный бизнес, что оказалось сложнее, и следовательно интересней. Однако, не зря говорят, возможность украсть создает преступника.
Читать дальше →
Всего голосов 207: ↑190 и ↓17+173
Комментарии201

Маленькие секреты больших графов

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

Если вам интересно, какие знания можно извлечь из большого массива данных, насколько большими бывают графы и какие задачи по анализу социальных графов предлагают Facebook, Twitter и др., то эта статья именно для вас.
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии11

Grunt, инструмент для сборки javascript проектов

Время на прочтение4 мин
Количество просмотров132K
Grunt — это инструмент для сборки javascript проектов из командной строки с использованием задач. Релиз вышел совсем недавно, автор Ben «Cowboy» Alman, проект есть на github. В этой статье я рассмотрю основы Grunt, его установку и использование.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии15

Введение в Javascript Source Maps

Время на прочтение7 мин
Количество просмотров134K
Вы когда-нибудь думали, как было бы здорово, если бы слитый в один файл и минифицированный яваскрипт код в production-окружении можно было удобно читать и даже отлаживать без ущерба производительности? Теперь это возможно, если использовать штуку под названием source maps.

Если коротко, то это способ связать минифицированный/объединённый файл с файлами, из которых он получился. Во время сборки для боевого окружения помимо минификации и объединения файлов также генерируется файл-маппер, который содержит информацию об исходных файлах. Когда производится обращение к конкретному месту в минифицированном файле, то производится поиск в маппере, по которому вычисляется строка и символ в исходном файле. Developer Tools (WebKit nightly builds или Google Chrome Canary) умеет парсить этот файл автоматически и прозрачно подменять файлы, как будто ведётся работа с исходными файлами. На момент написания (оригинальной статьи — прим. перев.) Firefox заблокировал развитие поддержки Source Map. Подробнее — на MozillaWiki Source Map.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии12

Sublime Text 2

Время на прочтение12 мин
Количество просмотров306K
Пару месяцев назад я случайно наткнулся на массу положительных отзывов о текстовом редакторе Sublime Text 2. Попробовав его в деле, я не разочаровался. Теперь это мой основной рабочий инструмент.

Sublime Text 2 — это платный текстовый редактор, написанный на C++, который:

  • Работает в Linux, OS X и Windows
  • Обладает приличной скоростью работы
  • Приятным интерфейсом (включая всевозможные анимации)
  • Гибко настраиваем (правда, не в GUI, а в json-конфигах)
  • Имеет множество плагинов, число которых растёт как на дрожжах
  • Поддерживает VIM-режим
  • Использует fuzzy-поиск
Читать дальше →
Всего голосов 235: ↑208 и ↓27+181
Комментарии284

Социальная архитектура: что нужно, чтобы соцсеть не умерла сразу после рождения?

Время на прочтение7 мин
Количество просмотров14K
Сначала писать в сети было сложно, потому что нужно было обладать определённой грамотностью. Потом писать стало легко. Прошло ещё какое-то время, и информации стало настолько много, что возник хаос. Этот хаос породил спрос на софт, позволяющий организовывать окружающую информацию: отсекать лишнее и показывать главное. Людям сейчас нужна такая штука, которая помогает побороть все потоки данных из сети — и при этом не терять важные вещи по работе, в том числе в группе.


Примерно так обычно представляют корпоративную социальную сеть

Наверняка вы знаете примеры таких вещей: это удобные трекеры, удобные системы совместной работы над кодом, RSS-читалки и так далее. Всё это – средства, которые превращают кучу источников информации в организованную структуру. Главные из них — это соцсети: они дают значимую и интересную для вас информацию.

В прошлом месяце Росс Мейфилд выступал с лекций в Digital October, в которой рассказывал о том, как продумывать архитектуру сети, как делать так, чтобы людям там нравилось, и как инициировать живое общение. Заодно он обяснил что не так с G+ и зачем Фейсбуку понадобился Instagram.
Читать дальше →
Всего голосов 36: ↑25 и ↓11+14
Комментарии12

Введение в CSS3 Multicolumn. Работаем с колонками

Время на прочтение8 мин
Количество просмотров66K
apples

Как расположить текст на странице в несколько колонок? И можно ли это делать автоматически? Наверняка, многие из тех из вас, кто занимается или занимался раньше веб-разработкой, сталкивались с такой задачей — и часто упирались в сложные решения, требующие хитрых стилей, либо применения дополнительных библиотек на JavaScript (см. например Columnizer-плагин для jQuery).

Многоколоночная верстка контента (не путать с задачей общей многоколоночной верстки страницы, которая скорее ближе к проблеме расположения блоков по сетке) долго пробивала себе дорогу в мире веб-стандартов и, наконец-то, не просто достигла статуса Candidate Recommendation в виде соответствующего модуля CSS3 Multi-column Layout, но и получила достаточно широкую поддержку в браузерах: где-то с префиксами (-moz- или -webkit-) и где-то в актуальных (Opera 11.1+) и планируемых версиях (IE10+), причем сразу без префиксов.
Читать дальше →
Всего голосов 127: ↑121 и ↓6+115
Комментарии29

60+ средств для разработки мобильных приложений

Время на прочтение19 мин
Количество просмотров149K
Появилось желание сделать свое приложение — быстро дешево и максимально полезно. Начал собирать информацию о современных инструментах разработки. Чтобы не потерять, а так же получить отзывы, мнения, комментарии и вообще любую полезную информацию, оформил в виде статьи.
Планирую использовать некоторые инструменты, и позже написать по ним более развернутый обзор. Итак, встречайте

1. Appmakr
appmakr.com
Платформы: iOS
Стоимость: free-$999, FREE- if you submit yourself to your own app store
Дополнительные услуги: Бесплатный доступ к ресурсам сайта.
Описание: Appmakr.com — веб-приложение, которое поможет вам создать приложения для айфона быстро и просто.
Замечания: Если вы не знаете как создать приложение для айфона, вы можете запросить помощь по телефону.
Владельцы могут размещать рекламу в своих приложениях и зарабатывать на ней.
Читать дальше →
Всего голосов 106: ↑79 и ↓27+52
Комментарии25

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность