Pull to refresh
26
0
Send message

Я, пират

Reading time17 min
Views277K


Все-таки красные у меня глаза или нет? Кажется не очень. Может так и должно быть? Я внимательно разглядывал себя в зеркало. Нет, всё-таки красные, хоть и не так сильно. Может не стоит уже с утра проверять почту и ходить по всем этим сайтам? Ну напишут там что-то, а я не прочитаю, ну и что такого? Нет, каждый раз просыпаюсь и первым делом туда…

Так начинался фантастический рассказ — антиутопия про один день из жизни программиста в недалёком будущем, написанный мной в 2010 году. Меня просили продолжить, и через какое-то время появились идеи, но всё никак не было времени их реализовать. Однако в связи с последними событиями начинает казаться, что придуманный мной сюжет того гляди может стать реальностью. Поэтому сегодня представляю вам вторую главу. Рисунок был сделан в прошлом году совсем по другому поводу, но он хорошо подошел сюда как иллюстрация.
Читать дальше →
Total votes 228: ↑205 and ↓23+182
Comments70

То, чего еще никто не писал про Нокиа, Элопа и горящую платформу

Reading time40 min
Views547K
Взявшись за этот пост, автор полностью отдает себе отчет. И в том что «набило оскомину». И что «только ленивый не кинул камень». И про то что «хватит уже, достали». Однако, вдоволь начитавшись доморощенных и не очень аналитиков, автор решил все-таки выразить собственное мнение, которое отличается от того общепринятого, что с некоей мазохистской истомой доселе перепечатывалось здесь и тут различными авторами, интерпретаторами и переводчиками. Вероятно кому-то будет интересно его прочитать.

Традиционно, для тех кто не любит много буков, краткие (более-менее) тезисы:

  • Будучи долгое время лидером на рынке, Нокиа сильно расслабилась и загадила свою внутреннюю инфраструктуру бюрократией, чрезмерным аутсорсингом и огромным количеством бесполезной «менеджерской прослойки».
  • Будучи долгое время лидером, Нокиа просрала потратила много денег на ненужные операционные расходы, поглощения никому не нужных фирм и на невменяемую модель аутсорсинга.
  • Полностью оторвавшись от реальности с уходом Йормы Оллилла, Нокиа, под управлением гениального юриста CEO Олли-Пекки Каласвуо, потратила кучу денег и усилий на создание бесполезной и неконкурентоспособной сервисной инфраструктуры Ovi. В результате этого, помимо денег, Нокиа потеряла уйму полезного времени, которое можно и нужно было потратить на развитие основного бизнеса — телефонов, софта и т.д.
  • Бюрократия и непотопляемая менеджерская прослойка в Нокиа, последовательно мигрировала из одного передового проекта в другой, в составе одних и тех же групп лиц, самореплицируясь в виде кучи формальных дебилопроцессов комитетов и управленческих групп, немного перетасовываемых с учетом специфики. В итоге именно эта бюрократия убила и Symbian, и Ovi, и MeeGo и остальные попытки догнать уходящий поезд своими силами.
  • Борьба с бюрократией и прослойкой в Нокиа зашла в полный тупик.
  • У великого CEO Элопа просто не было другого выхода кроме как прибить всю старую, неповоротливую и прогнившую организацию, путем создания альянса с Майкрософтом и переходом на Windows Phone. Тем самым все старые процессы, компетенции, технологии и самое главное — люди резко стали, что называется, «не в тему». И следовательно тем самым можно было под благовидным предлогом прибить этот табун менеджеров, бесконечно рисующих фэнтезийные роадмапы с единорогами и перекладывающих бумаги с левого края стола на правый.
  • Новая Нокиа, после 2011 года и старая Нокиа до 2011 года – это две РАЗНЫЕ организации. Их объединяет только общее название и операционка S40 для телефонов Asha.
  • Горящая платформа, это не Symbian и не MeeGo. Горящая платформа, это то состояние в которое Нокиа загнали годы расслабленного лидерства и тупоголовые амбиции предыдущего CEO – Олли-Пекки Каласвуо с кликой подкаркивающих вице-президентов.
  • С бюрократией и бизнес процессами, имеющимися на 2010 год, Нокиа не спас бы ни Андроид, ни половина населения Бангалора, пишущих на Qt под MeeGo. Даже если бы Apple бесплатно передал Нокиа iOS и все сервисы, то они бы выродились руками всяких Requirement Managerов в типичные Нокийские дизайн-химеры и в итоге загнулись через какое-то время.
  • То, что сделал великий CEO Элоп – было единственно возможным разумным решением, дающим хоть какие-то шансы на выживание. Вопрос «каким образом он это сделал?», остается открытым, равно как и вопрос «поможет ли это Нокиа?» в итоге. Не следует забывать, что нынешняя Нокиа — это совершенно новая организация, поэтому глупо предполагать, что она разом вернет себе лидерство. Как и всем новым организациям ей придется за это лидерство долго бороться.
  • Без ошибок и побед Нокиа никогда не было бы ни Андроида, ни Айфона. И Google и Apple тщательно проанализировали достоинства и недостатки более старших конкурентов перед тем как шагнуть вперед.

Все это в деталях — под катом. Предупреждаю что клевых картинок там нет. Сплошное графоманство и ёрничанье.
Читать дальше →
Total votes 548: ↑505 and ↓43+462
Comments330

Windows на RAM-диске

Reading time10 min
Views368K

В наш век мы все любим скорость. Мы любим быстрый транспорт, быстрые службы доставки, скоростной интернет. И, разумеется, быстрые компьютеры. У нас есть шестое чувство, которым мы детектируем милли/микросекундные задержки. Частенько появляется желание что-нибудь да разогнать.
Вы уже поняли из названия, как именно будем разгонять
Total votes 163: ↑155 and ↓8+147
Comments73

Google Play. Распродажа приложений по $0.25. День 5 (09/30/2012)

Reading time2 min
Views95K

Ранее уже писали о новых рекордах Google Play Store и намечающейся распродаже.
В течение 5 дней Google устраивает распродажу с уникальными ценами в $0.25. Каждый день новые приложения!

Список приложений участвующих в распродаже:
Читать дальше →
Total votes 72: ↑64 and ↓8+56
Comments130

iPod nano — самый полезный девайс когда-либо купленный мной!

Reading time3 min
Views169K


Пока еще не успели улечься страсти после недавней пресс-конференции компании Apple. Кто-то считает это событие полным фейлом за всю историю Apple. Кто-то наоборот обрадовался новым устройствам. Лично меня в большей степени огорчила смена форм-фактора нового iPod nano. Но обо всем по порядку.
Читать дальше →
Total votes 230: ↑145 and ↓85+60
Comments186

Регистрируемся как частный предприниматель в Украине

Reading time14 min
Views116K
Осознав необходимость выхода из тени или же просто смены формы деятельности из наемного работника в самозанятого гражданина приходим к тому, что надо бы зарегистрироваться в качестве частного предпринимателя (ЧП, ИП, СПД ФОП). О том, как зарегистрироваться, какую форму налогообложения выбрать IT-шнику, сколько и куда платить читаем под катом. В конце так же приложен бонус «Как получить деньги под открытие от Центра занятости» (на оплату налогов на первое время), какие виды деятельности выбрать согласно КВЭДа, а так же несколько примеров типичных документов. Актуально только для Украины.
Читать дальше →
Total votes 86: ↑75 and ↓11+64
Comments98

Тема для ночного чтения Habrahabr

Reading time2 min
Views19K
Добрый день, хабражители!
Долгое время меня волновала проблема ночного чтения habrahabr: я мешал жене спать, да и глаза быстро устают в темноте читать белый сайт. Я сделал несколько попыток создать ночную темную тему для habrahabr и она выполняла свою функцию, но не была достаточно качественной для того, чтобы отдавать ее в общий доступ — все-таки верстка сайта была весьма консервативной и плохо поддавалась аккуратному рестайлингу.

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


Я тоже хочу такую!
Total votes 82: ↑79 and ↓3+76
Comments54

60 FPS? Легко! pointer-events:none!

Reading time2 min
Views98K


Вы, наверное, уже читали интересную статью о том, как можно отключать эффекты :hover при скроле – это позволяет здорово сохранить отзывчивость сайта, но имеет один недостаток – вам приходится опираться на один общий класс, и это плохо.

.hover .element:hover {
  box-shadow: 1px 1px 1px #000;
}
Читать дальше →
Total votes 144: ↑138 and ↓6+132
Comments58

Верстка для самых маленьких. Верстаем страницу по БЭМу

Reading time14 min
Views387K
Недавно хабраюзер Mirantus написал статью «Как сверстать веб-страницу», в которой рассказывал о том, как же сверстать веб-страничку. В его статье было подробно рассмотрено, как выделить отдельные элементы из заданного шаблона, подобрать шрифты и т.п. Однако его подход к написанию, собственно, веб-страницы мне показался не очень хорошим, о чем я написал в комментариях.

В данной статье я хочу рассказать, о том, как можно сверстать «хорошо» (по крайней мере структурировано ;), а заодно рассказать и о методологии, которая может «упростить жизнь» при верстке. Структура поста будет следующей:

  • BEM
  • Собственно пример — как сверстать страницу

Читать дальше →
Total votes 154: ↑133 and ↓21+112
Comments172

Миссия невыполнима. Мертворожденные проекты

Reading time4 min
Views112K
«Когда человек не знает, к какой пристани он держит путь, для него ни один ветер не будет попутным». (С) Сенека, Луций Анней



Предисловие

Как-то один из топов уважаемой компании, которая занимается продуктовой разработкой ПО, пригласил меня, как эксперта, чтобы я оценил качество нового продукта. Я внимательно просмотрел и прослушал презентацию. Видно было, что коллеги очень старались и работали по 10-12 часов, чтобы продукт выглядел на высшем уровне. После чего меня спросили: «хороший получился продукт или нет?» Я поблагодарил за представленную презентацию, но попросил ответить на свой последний вопрос: «А какие процессы, и с какой целью вы собираетесь автоматизировать с помощью этого инструмента?» Вопрос почему-то вызвал замешательство у докладчиков. После небольшой паузы, топ, который, видимо, был идеологом нового продукта, ответил: «Был бы инструмент хороший, а какие процессы с его помощь автоматизировать мы найдем!» Мне пришлось сказать, что оценить продукт я не смогу. Не зная бизнес-целей, невозможно понять степень их достижения.

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

Для иллюстрации используем проект «Экспедиция за сокровищами Флинта»
Девять пунктов концепции проекта
Total votes 101: ↑96 and ↓5+91
Comments51

7 способов улучшения процесса разработки адаптивного дизайна

Reading time10 min
Views45K
image

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

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

Мы рассмотрим семь техник по улучшению адаптивного дизайна начиная со структуры контента и заканчивая масштабируемыми изображениями.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments11

Разбор регулярных выражений

Reading time1 min
Views100K


Хочу просто поделиться недавно найденным сервисом для работы с регулярными выражениями. Да, это еще один сервис. Но у него есть особенность — он позволяет не только составлять регулярные выражения, но и помогает разбирать уже написанные — эдакий regexp-декомпилятор.
Сервис называется Regex101.

Читать дальше →
Total votes 99: ↑94 and ↓5+89
Comments53

Переход с bootstrap 2 на bootstrap 3

Reading time5 min
Views61K


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

На днях вышла третья версия этого замечательного фреймворка, и, естественно, сразу захотелось посмотреть, как будут выглядеть сделанные на второй версии проекты, если просто поменять 2-ю на 3-ю. Оказалось что никак. Всё расползлось, разъехалось и кое-что перестало работать.

После чего захотелось всё быстренько поправить. И вот, что из этого получилось, читаем дальше.
Читать дальше →
Total votes 72: ↑61 and ↓11+50
Comments25

Немножко анонимен

Reading time5 min
Views230K
Обсуждение анонимности нужно начинать не со слов прокси/тор/впн, а с определения задачи: анонимно подключиться к чужому серверу по SSH это одно, анонимно поднять свой веб-сайт это другое, анонимно работать в инете это третье, etc. — и все эти задачи решаются по-разному. Эта статья о задаче «анонимно работать в интернете как пользователь».

В последнее время на хабре появилось много статей на тему обеспечения анонимности в интернете, но они все описывают подход «немножко анонимен». Быть «немножко анонимным» практически бессмысленно, но, судя по комментариям к этим статьям, многие этого не понимают.

Во-первых, нужно адекватно оценивать потенциального противника. Если вы хотите быть «анонимным», значит вы пытаетесь избежать возможности связывания вашей активности в интернете с вашим физическим расположением и/или настоящим именем. Обычные пользователи и так не имеют возможности вас отслеживать (технически, социальные методы когда по вашему нику на форуме легко гуглится ваш аккаунт в соц.сетях со всеми личными данными мы здесь не рассматриваем). Ваш провайдер/соседи могут иметь возможность прослушать большую часть вашего трафика, но, как правило, вы им не интересны (да, соседи могут украсть ваши пароли, но заниматься отслеживанием вашей активности или вашей деанонимизацией они не станут). Что же касается владельцев используемых вами ресурсов (веб-сайтов, прокси/vpn-серверов, etc.) то у них в распоряжении множество средств по отслеживаю вас (DNS-leaks, Flash/Java-плагины, баннерные сети, «отпечатки браузера», множество разных видов кук, etc.) плюс серьёзный коммерческий интерес к тому, чтобы надёжно вас отслеживать (для таргетирования рекламы, продажи данных, etc.). Ну а правительство и спец.службы могут получить доступ и к данным, которые на вас собирают веб-сайты, и к данным, которые собирают провайдеры. Таким образом получается, что те, кто имеют возможность и желание вас отслеживать — имеют доступ к большинству возможных каналов утечки.

Во-вторых, каналов утечки информации очень и очень много. И они очень разнообразны (от внезапно отключившегося VPN до получения реального IP через Flash/Java-плагины браузера или отправки серийника на свой сервер каким-нить приложением при попытке обновления). Более того, регулярно обнаруживаются (и создаются) новые. Поэтому попытка блокировать каждый из них в индивидуальном порядке, уникальными для каждого методами, просто не имеет смысла, всё-равно что-то где-то протечёт.

В-третьих, при «работе в интернете» используется не только браузер — большинство пользуются так же IM, торрентами, почтой, SSH, FTP, IRC… при этом часто информация передаваемая по этим каналам пересекается и позволяет их связать между собой (.torrent-файл скачанный с сайта под вашим аккаунтом грузится в torrent клиент, ссылка пришедшая в письме/IM/IRC открывается в браузере, etc.). Добавьте сюда то, что ваша ОС и приложения тоже регулярно лазят в инет по своим делам, передавая при этом кучу деанонимизирующей вас информации…

Из всего этого логически следует то, что пытаться добавить «немножко анонимности» путём использования браузера со встроенным Tor, или настройкой торрент-клиента на работу через SOCKS — нет смысла. Большинство вас не сможет отследить и без этих мер, а тех, кто имеет возможности и желание вас отследить эти меры не остановят (максимум — немного усложнят/замедлят их работу).
Читать дальше →
Total votes 121: ↑111 and ↓10+101
Comments175

Посты-рекордсмены

Reading time5 min
Views104K
На Хабре я недавно (чуть меньше месяца), до этого Хабр практически не читал. Пришёл, огляделся, походил по тематическим «хабам», почитал «Лучшее за всё время», просмотрел статьи отдельных, заинтересовавших меня персонажей и понял, что для того, чтобы получше понять, как живёт и чем дышит это замечательное сообщество, мне придётся Хабр распарсить и позадавать ему разные вопросы. К тому же, раз уж в своих статьях я писал в основном об автореферентности в разных её проявлениях, как не написать на Хабре статью о Хабре?

Посмотрю, интересно ли это всё кому-либо кроме меня. Если интересно, напишу ещё несколько постов, идей и материала для этого более чем достаточно.

Если я ничего не пропустил в интерфейсе сайта, единственные списки самых-самых, которые можно посмотреть — это общий рейтинг пользователей и список статей, т.н. «Лучшее за всё время». Оба списка отсортированы по рейтингу (пользователей и статей, соответственно). Между тем, существует ещё куча параметров, по которым было бы интересно всё отранжировать.
Читать дальше →
Total votes 215: ↑202 and ↓13+189
Comments59

Представления (VIEW) в MySQL

Reading time10 min
Views435K
В комментариях Хабра упоминались вопросы по использованию представлений. Данный топик является обзором представлений, появившихся в MySQL версии 5.0. В нем рассмотрены вопросы создания, преимущества и ограничения представлений.

Что такое представление?


Представление (VIEW) — объект базы данных, являющийся результатом выполнения запроса к базе данных, определенного с помощью оператора SELECT, в момент обращения к представлению.

Представления иногда называют «виртуальными таблицами». Такое название связано с тем, что представление доступно для пользователя как таблица, но само оно не содержит данных, а извлекает их из таблиц в момент обращения к нему. Если данные изменены в базовой таблице, то пользователь получит актуальные данные при обращении к представлению, использующему данную таблицу; кэширования результатов выборки из таблицы при работе представлений не производится. При этом, механизм кэширования запросов (query cache) работает на уровне запросов пользователя безотносительно к тому, обращается ли пользователь к таблицам или представлениям.
Читать дальше →
Total votes 105: ↑104 and ↓1+103
Comments22

Проблемы CSS. Часть 1

Reading time7 min
Views99K
От переводчика
Статья большая решил разбить на две части.

Впервые css был представлен примерно в 1995 году, и был предназначен для стилизации простых текстовых документов. Не веб сайтов. Не приложений. А именно текстовых документов. С тех пор, css, прошел долгий путь. Возможно слишком долгий.

Для многих вещей, css, не был предназначен изначально, например для таких как: многоколоночность, отзывчивый веб дизайн и т.д. Вот почему он стал языком полным хаков и глюков, как какая-то древняя машина с кучей расширений.

В лучшем случае — работу с css можно назвать веселым занятием. И это то, благодаря чему мы имеем работу. Потому что, как я считаю, генерация эффективных и кроссбраузерных css стилей невозможна и не будет возможна в ближайшее время.
Читать дальше →
Total votes 79: ↑71 and ↓8+63
Comments53

Проблемы CSS. Часть 2

Reading time7 min
Views233K
Продолжение перевода статьи «Проблемы CSS. Часть 1».

Когда использовать width / height равный 100%?


Height: 100%

Пожалуй, начнем с того, что попроще. Когда использовать height: 100%? На самом же деле, вопрос часто звучит немного по-другому: «Как мне сделать так, чтобы моя страница заняла всю высоту экрана?». Ведь правда?

Для ответа на него нужно понять, что height: 100% равен высоте родительского элемента. Это не магическое «высота всего окна». Так что, если вы захотите, чтобы ваш элемент занял все 100% от высоты окна, то установить height: 100% будет недостаточно.

Почему? А потому, что родителем вашего контейнера является элемент body, а у него свойство height установлено в auto по умолчанию; а значит — его высота равна высоте контента. Конечно, вы можете попробовать добавить height: 100% к body, но этого тоже будет недостаточно.

Почему? А все потому же, родителем элемента body является элемент html, у которого также свойство height равно auto и он также растягивается под размер контента. А вот теперь, если добавить height: 100% и к элементу html, то все заработает.

Стало понятнее? Корневой элемент html на самом деле не самый верхней уровень на странице — им является «viewport». Для простоты, будем считать, что это окно браузера. Так вот, если установить height: 100% элементу html, то это то же самое, что сказать — стань такой же высоты, как окно браузера.
Читать дальше →
Total votes 85: ↑82 and ↓3+79
Comments30

В Disney Research разработали систему тактильной обратной связи на основе вихревой пушки

Reading time2 min
Views46K


Хотя интерфейсы, позволяющие управлять компьютером с помощью жестов, такие как Kinect, получили достаточно широкое распространение, все они пока что не дают тактильной обратной связи. Объектами на экране компьютера можно управлять, но пощупать их нельзя. Исследования в этом направлении ведутся довольно давно, например, в Японии создали прибор, позволяющий ощутить прикосновение виртуальных объектов с помощью ультразвука. В Disney Research пошли по другому пути. Их прототип, названный AIREAL, основан на интересном аэродинамическом эффекте — образовании устойчивого тороидального вихря на выходе из воздушной камеры с круглым отверстием при резком повышении давления внутри. Устройство, производящее такие вихри, называют «вихревой пушкой». В простейшем случае — это картонная коробка с круглым окном.
Вот как она работает:
Total votes 80: ↑78 and ↓2+76
Comments25

Nginx boilerplate: Быстрая и изящная настройка nginx

Reading time1 min
Views38K
Хочу поделиться своими наработками по настройке nginx, которые, возможно, помогут кому-то при старте нового проекта или избавят от необходимости копипастить очередной vhost.

Я отметил две проблемы подавляющего числа конфигов nginx'а, попадавших мне на глаза:
  • «Всё в одном файле»
  • Дублирование настроек

С помощью моего подхода, надеюсь, эти и многие другие проблемы будут устранены.
Читать дальше →
Total votes 87: ↑77 and ↓10+67
Comments31

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity