Как стать автором
Обновить
0
sleepwalker @sleepwalkerread⁠-⁠only

Пользователь

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

Передача анонимных объектов в View

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

Идея состоит в том чтобы пользоваться моделью с новым более удобным dynamic синтаксисом. Главное ограничение тут в том, что нельзя просто передать анонимный объект как модель, потому что анонимные типы имеют модификатор доступа internal.

Читать дальше →
Всего голосов 26: ↑16 и ↓10+6
Комментарии6

Экстренная реанимация epmd

Время на прочтение3 мин
Количество просмотров9K
(Проблема, по всей видимости, чрезвычайно экзотическая, но в плане «как оно внутри устроено» достаточно познавательная.)

Вот, допустим, работает у вас приложение, написанное на Эрланге (ну, скажем, тот же ejabberd). Давно работает, хорошо работает, но в один прекрасный день вы пытаетесь запустить управляющий скрипт (ejabberdctl, соответственно), а он вам выдает «nodedown» или еще что-нибудь страшное в этом духе, мол, не отзывается никто. При этом само приложение прекрасно отзывается на все клиентские запросы и слыхом не слыхивало о том, что оно down. По внезапному наитию вы запускаете epmd -names и — о, ужас! — получаете пустой список.

Программы на Эрланге используют для связи между собой нотацию node@host, физически же каждый узел (читай — системный процесс) открывает для этого случайный высокий порт. Задача сервиса epmd — связать между собой логическую адресацию по имени и физическую адресацию по номеру порта. Своего рода аналог DNS, с той разницей, что без реестра epmd кластер на Эрланге разваливается на кучку отдельных глухонемых узлов — что у нас только что по какой-то загадочной причине и произошло. Можно, конечно, начать искать виновных, но сначала все-таки неплохо бы поднять систему на место.

Что в такой ситуации делать? Можно, конечно, просто насильно перезапустить приложение, но, с одной стороны, клиенты отвалятся, с другой, такой красивый uptime жалко… Вот если б можно было как-нибудь восстановить реестр на живой системе, а?..

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии12

Архитектура WhatsApp, которую Facebook купил за $19 миллиардов

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

В очередной раз хочу предложить свой перевод статьи, на этот раз автор Тодд Хофф, и его статья посвященна архитектуре WhatsApp на момент его покупки Facebook.


Ремарка: в начале статьи содержится рассуждение автора оригинала о том, зачем Facebook купил WhatsApp за баснословные 19 миллиардов. Если это вам не интересно — просто пролистайте, описание архитектуры будет ниже.


Рик Рид в его предстоящем мартовском докладе, озаглавленном "Миллиард с большой 'М': Следующий уровень масштабирования в WhatsApp" раскрывает сногсшибательную статистику WhatsApp:


Что имеет сотни узлов, тысячи ядер, сотни терабайт RAM и надеется обслужить миллиарды смартфонов, которые вскоре станут реальностью по всему миру? Основанная на Erlang и FreeBSD архитектура WhatsApp. Мы столкнулись со многими трудностями при удовлетворении постоянно растущего спроса на наш сервис обмена сообщениями, но мы продолжаем расширять нашу систему с точки зрения размера (> 8000 ядер) и с точки зрения скорости (>70М сообщений Erlang в секунду).
Читать дальше →
Всего голосов 66: ↑62 и ↓4+58
Комментарии58

Безопасность покупателя в рознице: что надо знать лично вам

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


Ценник должен быть с печатью или подписью. Он является документом и обязательно должен быть на товаре. Если вы видите что-то с ценником (неважно, где и как оно стоит), вы имеете право купить его по цене на нём.

Пример: вам говорят, что товар по акции кончился. Вы видите один в витрине в герметичном ящике под потолком, но с ценником. Вам не имеют права отказать в его продаже.

Второй пример: когда обновляются цены, в торговом зале может остаться ценник со старой ценой ниже. Цена в базе другая? Ну и что, вот ваш же документ. Если же вдруг ценник без печати-подписи, и на таком товаре нет правильного ценника — регистрируйте нарушение. Ценники обязательно должны быть хотя бы на одном товаре из пачки.
Читать дальше →
Всего голосов 236: ↑225 и ↓11+214
Комментарии498

Реализуем безопасный VPN-протокол

Время на прочтение12 мин
Количество просмотров47K
Снова тема VPN, конфиденциальной передачи данных, безопасности и криптографии. Сейчас, в эру пост-Сноудена, стало модно клепать безопасные, уважающие приватность, невзламываемые, защищённые от спецслужб и цензуры программы. Однако эта статья – не очередной маркетинговый пиар, а, скорее, демонстрация того, как применяются криптографические примитивы и на что стоит обращать внимание при разработке подобного программного обеспечения.



Результатом этой работы предполагается создание работающего клиент-сервера, пригодного для review разработчиками (то есть немного кода на высокоуровневом языке), достаточно производительного, чтобы использоваться в промышленных условиях, имеющего высокий порог безопасности: GoVPN.
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии56

Обзор Parrot Asteroid Tablet – самый «автомобильный» Android

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


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

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

Поэтому, когда мне предложили потестировать автомобильный андроид-планшет Parrot Asteroid Tablet, я, естественно, вдохновился, предвкушая скорое окончание мучений с зоопарком гаджетов в машине.

Сразу должен сказать главное: то, что выглядит как планшет и работает как планшет, не всегда является планшетом в классическом представлении. Поэтому не спешите делать выводы по внешнему виду, а лучше посмотрите вместе со мной, что на самом деле скрывается за планшетным позиционированием Parrot Asteroid Tablet.

Для начала послушаем, как описывает свое устройство сам производитель. Parrot Asteroid Tablet – автомобильный планшет с multi-touch дисплеем высокого разрешения, который легко и незаметно интегрируется в любой автомобиль с подключением к штатной аудиосистеме и, опционально, к рулевым клавишам. Устройство позволяет взять на себя функции вашего смартфона или планшета в автомобиле, реализуя в полной мере возможности вспомогательных приложений – навигационных, музыкальных, информационных и других. Водитель получает доступ к медиатеке любых внешних устройств, а также может пользоваться продвинутыми функциями hands-free при помощи голоса или дистанционного пульта с сенсорным управлением.
Интересно? Внутри длинный рассказ и 8 Мб фотографий
Всего голосов 56: ↑42 и ↓14+28
Комментарии61

Мифы нашего времени: генетически модифицированные организмы. Так ли страшен черт?

Время на прочтение21 мин
Количество просмотров573K
Человеку давно свойственно интересоваться окружающим миром и находить объяснения тому окружающим вещам и событиям. Собственно, без этого человек не стал бы человеком. На базе верований, мифов развивалась сначала религия, а потом — и современная наука, которая уже весьма успешно объясняет окружающий мир от очень малых до впечатляющих масштабов. Но всегда оставались люди, которые противились прогрессу и распространяли устоявшиеся мифы, уверяя, что они отвечают на все вопросы и незачем двигаться дальше. Гром гремит — это Перун-громовержец злится; кто-то заболел — это Бог его наказывает, вот тебе объяснения, отстань, не задавай вопросов, а лучше помолись.
Современные мифы более глубоки и обычно связаны с наукой. Причины понятна — наука развилась (особенно в последнее время) до такой степени, что часто нужен колоссальный объем знаний, чтобы просто понять, о чем вообще идет речь. У многих людей этого объема нет или безвозвратно потерян, что и снижает их сопротивляемость к разного рода мифам нашего времени. Миф про вредность пищевых добавок Exxx; миф про полезность натурального и вредность «химии»; миф про врачей-убийц, травящих людей прививками; миф про настолько страшное ГМО, что наклейки с надписью «без ГМО» надо клеить даже на салфетки и на пачки с солью.
Картинка для привлечения внимания
Что такое ГМО? Зачем они нужны? Как велика опасность и польза от их использования? Есть ли доказательства безопасности этих организмов?
Рассуждения дилетанта на тему - под катом
Всего голосов 319: ↑291 и ↓28+263
Комментарии832

TPB AFK

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


TPB-AFK, документальный фильм о The Pirate Bay и его основателях. Фильм создавался в течение 4-х лет и рассказывает о жизни трех основателей Пиратской Бухты и судебном процессе по их делу в Швеции. Сегодня день премьеры фильма, и вы можете бесплатно скачать и поделиться им с кем угодно.
Читать дальше →
Всего голосов 58: ↑58 и ↓0+58
Комментарии32

iOS 5.1.1 доступна для скачивания

Время на прочтение1 мин
Количество просмотров92K
image
Сегодня, неожиданно для пользователей iOS, вышла прошивка 5.1.1. Обновление не содержит никаких «новинок», устранены прошлые проблемы, и есть улучшения.

Обновления


  • Повышение уровня надежности использования параметра HDR для фотографий, снятых с использованием значка быстрого доступа
  • исправление ошибок, которые могли препятствовать переключению нового iPad между сетями 2G и 3G
  • исправление ошибок, при определенных обстоятельствах влиявших на воспроизведение видео с помощью AirPlay
  • улучшенная надежность синхронизации закладок Safari и Списка для чтения
  • исправления ошибки, которая могла приводить к отображению предупреждения «Не удалось купить», несмотря на успешную покупку.
Читать дальше →
Всего голосов 43: ↑30 и ↓13+17
Комментарии29

История создания Absolute Games

Время на прочтение13 мин
Количество просмотров23K
Статья, которую можно назвать “Тёмная история AG.ru”, представляет собой описание подробностей возникновения и развития проекта Absolute Games, которые смогли сообща вспомнить его создатели — Zombiek и ваш покорный (Sly). Статья написана по просьбам уважаемых хабровчан, интересующихся проектом.

Добавление от Зомбика: ну, моего в тексте мало — основные дифирамбы пойте Слаю. Я лишь дополнял статью техническими деталями, на которые у меня оказалась на редкость хорошая память.

Прошу прощения за сумбурное изложение — ностальгические слёзы периодически душили автора, запас салфеточек убывал с угрожающей скоростью. Также простите за непонятные слова — Фидо, ББС, резидентная программа, MS-DOS и пр. К сожалению, если расшифровывать их все, статья превратится в роман. А писать автобиографию мне ещё рано.
Читать дальше →
Всего голосов 261: ↑250 и ↓11+239
Комментарии131

15 Вопросов на собеседовании в Google, из-за которых вы можете почувствовать себя глупым

Время на прочтение2 мин
Количество просмотров319K
15 вопросов от Google
Google снова набирает людей.
Это отличная новость для тысяч начинающих менеджеров и разработчиков ПО, желающих найти спокойную пристань в эти сложные дни.
Теперь плохие новости:
  • Google предпочитает людей из «Лиги Плюща»
  • Им интересны ваши оценки (в институте), даже если вам уже за 30
  • Они ищут людей, которые хотят изменить мир

Хуже того, если вы подходите по всем этим параметрам, вам все равно надо проходить собеседование.
Льюис Пин (Lewis Pin), тренер по поиску работы из Сиэтла, собрал 140 вопросов, которые в Google спрашивали его клиентов.

Сколько шариков для гольфа поместится в школьный автобус?


Сколько шариков для гольфа поместится в школьный автобус?
Позиция: Менеджер проекта

Читать дальше →
Всего голосов 268: ↑231 и ↓37+194
Комментарии525

Алгоритм генерации QR-кода

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


QR код — это монохромная картинка, на которой некоторые устройства (например смартфон со специальным приложением) распознают текст. Этим текстом может быть не только простая фраза, но и, хоть это и не входит в официальную спецификацию, ссылка, номер телефона или визитная карточка. Такие коды чаще всего используют, чтобы закодировать ссылку и распечатать её на плакате или визитке.

Эта статья — подробная инструкция по созданию QR кода с примерами на каждом шаге, которая требует от вас только базового умения работать с бинарными данными и владения любым языком программирования (если вы хотите создать автоматический генератор QR кода).

За основу этой статьи взят цикл статей «QR Code Demystified» Джейсона Брауна (Jason Brown). В этих статьях опущено много нюансов, что вызвало у меня некоторые проблемы. Все эти нюансы учтены и упомянуты здесь.

Читать дальше →
Всего голосов 106: ↑99 и ↓7+92
Комментарии23

Получаем интернет по USB с компьютера на Android

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

Статья актуальна на 2010 год, современные Android могут проделывать такое одной «галочкой» в настройках

После покупки HTC Hero у меня возник вопрос: как получать интернет на коммуникаторе через компьютер? С моим предыдущим коммуникатором Toshiba G900 под управлением WindowsMobile 6 было все просто: установил «центр мобильных устройств», и на коммуникаторе появился интернет. «Эта функция не нужна», — скажите вы, ведь сейчас много точек доступа Wi-Fi, через которые можно подключиться двумя кликами. Но вот лично у меня нет Wi-Fi точки (есть ноутбук, но Android не обнаруживает Ad-hoс сети). Поэтому я был огорчен отсутствием этой функции. Все мои попытки найти мануалы на эту темы — не увенчались успехом. Поэтому я решил это сам.
Внимание: Для работы ножен root пользователь.
Читать дальше →
Всего голосов 71: ↑58 и ↓13+45
Комментарии87

Почему я не провожу собеседования

Время на прочтение4 мин
Количество просмотров6.2K
Перевод статьи Джейсона Фридмана (Jason Freedman) "Everyone Sucks at Interviewing. Everyone." Оригинал статьи можно прочитать здесь.

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

Последние несколько лет я с большим интересом изучаю все, что связано с отбором и наймом сотрудников. Найти хорошего специалиста безумно сложно, и я вряд ли смогу назвать много фирм, у которых это хорошо получается. Даже у самых успешных в этом отношении компаний есть страшный секрет, заключающийся в следующем: как бы хорошо ни был организован процесс отбора, он все равно не может гарантировать, что нанятый сотрудник преуспеет на новом месте. Ходят слухи, что даже сложнейшие системы оценки кандидатов, применяемые HR-отделом Google, не в состоянии точно предсказать эффективность будущего сотрудника. Некоторые компании отмечают, что единственный показатель, который хоть как-то корреллирует с успешностью молодых разработчиков, — это их результаты в тесте SAT (американский аналог ЕГЭ).

Читать дальше →
Всего голосов 174: ↑151 и ↓23+128
Комментарии246

Однопиксельную контактную линзу проверили на кроликах

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

Концепт контактной линзы: 1 — микросхема со светодиодами, 2 — приёмник энергии и управляющий модуль, 3 — антенна, 4 — шина данных, 5 — прозрачный полимер, 6 — проекция изображения со светодиодов на сетчатку

Всё ближе становится тот день, когда мы сможем читать почту и смотреть фильмы с закрытыми глазами. Группа учёных из США и Финляндии провела успешные испытания на кроликах первой в мире контактной линзы со встроенным дисплеем и радиоприёмником. По словам исследователей, у кроликов не обнаружено никаких побочных эффектов, зрение не пострадало.

Испытания на млекопитающих — один из этапов дорогостоящего процесса проверки безопасности новых медикаментов. Первая версия контактных линз содержит всего один светящийся LED-пиксел, но разрешение дисплеев будет постепенно увеличиваться, и через пару десятилетий наверняка дойдёт до уровня HD.
Читать дальше →
Всего голосов 101: ↑93 и ↓8+85
Комментарии171

Госнаркоконтроль преследует Ализара

Время на прочтение2 мин
Количество просмотров26K
Сравнительно недавно — 14 октября 2011 года — alizar перевёл и выложил на Хабрахабре статью Гленна Гринуолда «Стив Джобс и политика в отношении оборота наркотиков», автор которой завершил свой труд следующим умозаключением:

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

(Конец цитаты.)

Я не уверен, возможна ли лучшая иллюстрация осуждаемой Гринуолдом суровости, нежели та, которая последовала в реальности. Не штатовская, а вполне российская Федеральная служба по контролю за оборотом наркотиков связалась с администрацией Хабрахабра и запросила все данные на Ализара, обвиняя его в пропаганде распространения наркотиков — об этом вчера поведал в Твиттере Денис Крючков (@deniskin, создатель Хабрахабра), а Владислав Михеев пересказал в «Вебпланете».

Читать дальше →
Всего голосов 551: ↑527 и ↓24+503
Комментарии612

Организация контентной фильтрации в образовательных учреждениях

Время на прочтение5 мин
Количество просмотров19K
Вряд ли сейчас найдется системный администратор, работающий в сфере образования, который не знает что такое ФЗ-436 «О защите детей от информации, причиняющей вред их здоровью и развитию» со всеми вытекающими последствиями. Наиболее острой для меня эта проблема стала после получения распоряжения от руководителя подготовиться к приходу прокуратуры. Из известных на тот момент мне решений:
  • Squid + DG + каким то образом настраивать обновление списков, которые должны коррелировать со списком запрещенных ресурсов Минюстом
  • Решения для рабочих станций (NetPolice, iCensor и т.п.)
  • Различные «виндосерверные» решения, выступающие в роли шлюза

ни одно не показалось мне привлекательным. Имея маломощный сервер и 50 рабочих станций, нуждающихся в защите, хотелось бы использовать Unix-like решение. Очевидно, что без Squid не обойтись. Начались поиски решения удовлетворяющего установленные требования. В результате был найден интересный вариант от не безызвестной компании Entensys, выпускающей ПО под названием UserGate. Программное решение для контентной фильтрации называется UserGate WebFilter. Основываясь на опыте давно ушедших лет, тех лет, когда интернет траффик был дороже золота, и, когда прокси был просто необходим, UserGate не нравился ввиду своей глючности и ресурсоемкости (в контексте тех самых прошлых лет), однако, позабыв старые обиды, а также несмотря на то, что продукт проприетарный, было решено его опробовать.

Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии11

SSH-туннели — пробрасываем порт

Время на прочтение2 мин
Количество просмотров429K
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Читать дальше →
Всего голосов 93: ↑68 и ↓25+43
Комментарии80

Как начать работать с GitHub: быстрый старт

Время на прочтение6 мин
Количество просмотров1.2M


Распределенные системы контроля версий (DVCS) постепенно замещают собой централизованные. Если вы еще не используете одну из них — самое время попробовать.

В статье я постараюсь показать, как можно быстро начать экспериментировать с git, используя сайт github.com.

В статье не будут рассмотрены различия между разными DVCS. Также не будет детально рассматриваться работа с git, по этой теме есть множество хороших источников, которые я приведу в конце статьи.
Читать дальше →
Всего голосов 182: ↑165 и ↓17+148
Комментарии51

Как я искал работу или Как не надо проводить собеседования

Время на прочтение6 мин
Количество просмотров315K
imageВ общем, решение назревало давно, и вот, одним пасмурным Питерским утром, я сказал шефу, что, к сожалению, тут наши пути расходятся. Было составлено резюме, более или менее описан десятилетний опыт работы в области web-программирования, обдумана сумма оклада, немного выше средней по Питеру, но далеко не топовая (я пока ни разу не гуру), оплачены услуги по поднятию резюме в топ каждые четыре часа, установлена прога, записывающая все входящие звонки (чтоб ничего не забыть), и я сел ждать. Собственно, это был вечер пятницы, так что ждать пришлось аж до понедельника, но в понедельник начался ад.

Звонков было много, за следующую неделю я посетил 17 собеседований, по 3-4 в день, в четверг я уже перестал соглашаться на собеседования, а звонки все шли и шли.

Это не статья из серии, «смотрите как меня все хотят, я офигенен», я просто хочу сказать, что сейчас в России существует дефицит IT специалистов, и когда подходящий человек приходит к вам в компанию, важно не только то, насколько он понравится вам, но и то, насколько вы понравитесь ему, ибо мне кажется, что сейчас конкуренция существует скорее на вашей стороне, на стороне работодателей, чем на стороне программистов. Оговорюсь сразу, речь не пойдет о всяких Яндексах, ВКонтактах и Мэилру, там все ясно, речь идет о компаниях второго эшелона, предыдущей ступени.
Читать дальше →
Всего голосов 533: ↑492 и ↓41+451
Комментарии454

Информация

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