Search
Write a publication
Pull to refresh
46
0.7
Send message

Немного креатива — календарь с антипаттернами

Reading time3 min
Views28K
Всем привет!

Пост повышенной несерьёзности, ибо пятница.
Хочу рассказать про антипаттерны, которые выкристаллизовались в нашей компании. Just For Fun.

Каждый раз, когда разработчики/монтажники/схемотехники применяли повторяющуюся отмазу, её фиксировали и заносили в список. Когда список вырос и в нём появилось почти 12 отмазок, нам пришла в голову идея сделать свой календарь с антипаттернами (поскольку отмазки иллюстрируют то, как не стоит думать и делать, приравниваем их к антипаттернам). Для этого нам предстояло осилить вёрстку календаря и к каждому анти-паттерну «родить» соответствующую картинку. Вёрстку делали в LaTex'е, а картинки — в inkscape, в svg-формате. В-общем, получилось вполне open-source'но. Но пост всё-таки больше не о технической реализации, а о самих анти-паттернах. Кому интересно, добро пожаловать.
Читать дальше →

Что такое маркетинг, и почему эти люди пытаются обмануть вас в большинстве случаев — ликбез

Reading time7 min
Views139K


Зацепил меня один кусок дискуссии про маркетинг сегодня на Хабре. Что это, как это, как оно для IT. Всё там хорошо кроме одного — нет понимания, что маркетинг — это не специальный шаман в проекте, который что-то там крутит, а фиговина, в которой должен живо принимать участие каждый. В IT, не в IT — неважно. Поэтому расскажу, почему.

Представьте себе небольшую парикмахерскую на первом этаже жилого дома. Наверняка у вас есть такие рядом. У неё очень ограничен круг потенциальных клиентов – это жители ближайших домов. Маркетинг – это сделать так, чтобы большинство из них стриглись именно там. Каждый косяк – это потерянный клиент (а новому взяться негде, помните?). Каждый успех – это клиент на 5-6 лет минимум, то есть не одна стрижка, а сразу много.

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

Так вот, маркетинг – это сделать так, чтобы продукт и клиент сошлись. В моём понимании – пройти всю цепочку от разработки и производства продукта до его продажи и использования в течение нескольких лет. Найти все места этой цепочки, где можно сделать лучше – и сделать это. Поработать с людьми внутри компании, чтобы они понимали, зачем всё это и почему.
Читать дальше →

Практическое руководство по Unicode'изации

Reading time16 min
Views28K


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

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

Разумеется, первое, что было необходимо для интернационализации проекта, это начать принимать, передавать, обрабатывать и хранить данные в UTF-8. Процедура эта для большого проекта непростая и длительная, по пути нам пришлось решить несколько достаточно интересных задач, про которые мы постараемся рассказать.
Читать дальше →

3D-режим в Diablo 2

Reading time5 min
Views117K
Это перевод поста Don't Starve, Diablo — Parallax 7 из блога Simon Schreibt от 25 февраля 2014 года.
Осторожно, тяжелые гифки.

В 90-х игры начали свое движение от 2D к 3D. Если бы НЛО тогда посетило землю, пришельцы решили бы, что используемые в то время низкополигональные модели без всякой фильтрации никому не нужны, и уничтожили бы Землю.

Со временем они, конечно, научились бы тому, что делало людей особенными: даже в эру 2D у них было невероятное желание рендерить в 3D, даже при том, что тогда это было просто невозможно!
Читать дальше →

Исследование: как пользователи на самом деле работают с сенсорными экранами

Reading time5 min
Views27K
Я занимаюсь исследованиями того, как пользователи взаимодействуют с сенсорными экранами уже много лет, и могу сказать, что понимание темы в профессиональном сообществе только начинает вырабатываться. Тач-устройства все еще являются довольно новым явлением, паттерны взаимодействия с подобными девайсами еще вырабатываются.

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

Методология исследования


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

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

image

Число участников эксперимента было не очень велико, однако даже при таком количестве людей, исследование получилось очень сложным. Только запись 31 сессии заняла почти 100 часов видео.
Читать дальше →

Алгоритмы сжатия данных без потерь, часть 2

Reading time9 min
Views104K
Часть 1

Техники сжатия данных


Для сжатия данных придумано множество техник. Большинство из них комбинируют несколько принципов сжатия для создания полноценного алгоритма. Даже хорошие принципы, будучи скомбинированы вместе, дают лучший результат. Большинство техник используют принцип энтропийного кодирования, но часто встречаются и другие – кодирование длин серий (Run-Length Encoding) и преобразование Барроуза-Уилера (Burrows-Wheeler Transform).
Читать дальше →

Вторая жизнь жестких дисков

Reading time2 min
Views12K
Все началось с того, что на одном из серверов возникла необходимость в дополнительном жестком диске. Стоит заметить, что датацентр в котором он находится – западный, а именно Штаты, причем далеко не самый дешевый, а даже один из топовых. Процедура заказа дополнительно диска проста до невозможности – нажимаешь на кнопочку, оплачиваешь счет, подтверждаешь свое согласие на снятие/остановку сервера.

Обрадовавшись новому железу, черт меня дернул сразу же попробовать его смонтировать (сервер под управлением FreeBSD). И о чудо… мне явилась чужая файловая система!
Читать дальше →

Почему Skype заставляет нас всех обновлять ПО?

Reading time7 min
Views158K
Открыв сегодня ноутбук [оригинальная статья датирована 08.08.2014 – прим. перев.] и запустив Skype, я заметил, что сеанс работы под моей учетной записью был прерван. На экране появилось следующее сообщение: «Вы были отключены от сети, потому что вы пользуетесь устаревшей версией Skype».

Честно говоря, установленная на моем ноутбуке версия Skype была не такой уж и старой: 6.3.0.602. Да, ей уже больше года (датируется мартом 2013 г.), но Skype всегда тем и славился, что «просто работал».

А мы, пользователи, к этому привыкли.
Читать дальше →

Типичные ошибки при защите сайтов от CSRF-атак

Reading time5 min
Views84K


В настоящее время в сфере обеспечения безопасности веб-сайтов и приложений возникла очень интересная ситуация: с одной стороны, некоторые разработчики уделяют особое внимание безопасности, с другой, они напрочь забывают о некоторых видах атак и не считают ошибки, позволяющие выполнить данные атаки, уязвимостями. Например, к такой категории можно отнести CSRF (Сross Site Request Forgery). Эта атака позволяет производить различные действия на уязвимом сайте от имени авторизованного пользователя. Если вы не слышали о таком, то я рекомендую прочитать соответствующую статью в Википедии, чтобы иметь общее представление об этом виде атак. Основная часть статьи предназначена тем, кто обеспокоен правильной защитой своих сайтов от CSRF.
Читать дальше →

Enlarge your pension-3. Примеры. Все познается в сравнении

Reading time4 min
Views29K
Первым же комментарием к предыдущему топику про тушение пожара керосином был вопрос о вкладе эмпирики в формирование накопительного портфеля. Это очень хороший, правильный и своевременный вопрос, сразу чувствуется разумность хабро-сообщества. Конечно «эмпирически» задним умом можно получать какие угодно хорошие цифры. Сама портфельная теория Марковица в лоб не используется именно потому, что все характеристики активов имеют склонность меняться во времени, в том числе после формирования портфеля активов. С классами активов проще.

На западе есть такой термин “портфель простака”, “портфель лежебоки”. Пусть я простак (это предположение недалеко от истины) и у меня нет экономического образования. Я выбираю, куда можно инвестировать. Какие рынки мне могут прийти в голову? Их не так-то много:
Читать дальше →

Инвестирование для чайников

Reading time12 min
Views389K
Финансы для чайниковМногие из читателей хабра неплохо зарабатывают (я надеюсь) и имеют возможность покрывать не только текущие расходы, но и тратить деньги на что-то перспективное. Опять же, многие из нас задумываются — как отложить деньги на будущее, дабы они не «сгорели» со временем (задача минимум) и как заставить деньги делать деньги (задача среднемум средняя). И, снова, многие из нас мечтают, чтобы сбережения росли достаточно быстро, чтобы устроить себе пенсию не в 65 лет, а пораньше. Причем в идеале так, чтобы не надо было тратить все свое время на это, а заниматься любимым делом.

Этим вопросами я заинтересовался года два назад. Как оказалось, задача максимум решаема, а мечта о свободном времяпрепровождении до 60 лет вполне реальна. Более того, на Западе популярен подход «asset allocation», который позволяет тратить на вопрос инвестирования до часа в год и иметь на выходе результаты, сравнимые с профессиональными инвесторами. Причем необходимо всего лишь крепко разобраться в базовой информации и не погружаться в пучины технического и фундаментального анализа.

Как оказалось, этот подход доступен и в нашей стране, в нашей действительности. Результатами исследования я хочу поделиться с вами. Да, пока только исследования… Через 30 лет расскажу о результатах практики.

Сейчас я вижу, что, если бы я об этом задумался десять лет назад, я был бы уже на полпути к своей мечте! Как жаль, что я тогда думал только о компьютерах (ну… не только о них, но о финансах уж точно не думал!)… Впрочем, лучше позже, чем совсем-совсем позже.

P. S. Почему «Сделай сам»? Потому что вы сами можете накопить себе неплохие деньги — вы, а не банки, пенсионный фонд или финансовые компании!
UPD. P. P. S. Мои размышления базируются на статье Сергея Спирина «Портфель лежебоки, или как за 12 лет увеличить капитал в 118 раз». Собственно, от него я и узнал про эту инвестиционную стратегию. Я — IT-шник, а не финансист. Посему за подробностями от эксперта — к нему!
Детали, как водится, под катом!

Новые медиа-приставки на Rockchip RK3288 от компании Tronsmart уже в продаже

Reading time3 min
Views47K

Китайская компания Tronsmart наконец-то анонсировала свои новые медиа-приставки на чипе Rockhip RK3288 под названием Orion R28. Продолжая традиции предыдущей модели Vega S89 будет 3 версии: Pro, Meta, Telos. Отличаются объёмом постоянной памяти и Wifi-чипами, а в версии Telos обещают установить 4GB оперативной памяти!
Ещё одной интересной особенностью является позиционирование устройства как Full Open Source — первые 90 покупателей каждой модели получат microSD карты с полным комплектом разработчика. Начало отгрузки устройств запланировано на 3 сентября.
Читать дальше →

Growth Hacking: как заработать на сервисе еще до его запуска?

Reading time8 min
Views25K
Growth Hacking в проектах обычно применяют на стадии расширения – накачки трафика, когда сервис уже что-то представляет из себя. Рекомендуем к прочтению статью, которая доказывает, что Growth Hacking – это, прежде всего, образ мышления, и если ты настоящий Growth Hacker, то своими способностями ты воспользуешься в любой ситуации. Материал представляет собой конкретный кейс повышения конверсии сервиса в платящих клиентов еще на стадии бета-тестирования. Как же это удалось провернуть?
Читать дальше →

DDoS великий и ужасный

Reading time10 min
Views68K
Знаете ли Вы, что по данным исследований, проведённых Arbor Networks, Verisign Inc. и некоторыми другими компаниями:

  • ежедневно наблюдается порядка 2000 DDoS атак;
  • атака, способная «положить» небольшую компанию на неделю, стоит всего $150;
  • около 2/3 участников исследований (63%) страдали хотя бы раз от DDoS в течение года;
  • помимо прямых убытков и потери лояльности пользователей, атаки также влияют на продуктивность работы персонала;
  • 11% респондентов были под атакой шесть и более раз за год;
  • среди тех, кто за последние 12 месяцев был под атакой, 46% лежали более 5 часов, а 23% — более 12 часов;
  • примерно треть всех случаев даунтайма у респондентов вызваны DDoS атаками.

Каким бывает DDoS, можно ли с ним бороться и как можно предостеречься? Об этом я вкратце поведаю в данной статье.

Читать дальше →

Котфускация исполняемого .net кода

Reading time6 min
Views66K
(пятница)

Обычно развернутое приложение в файловой системе выглядит как-то так:



Совершенно незащищенное от инструментов типа рефлектора или IlSpy, но что если оно станет таким:



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

Сделаем битторрент лучше

Reading time7 min
Views39K
Последнее время среди пользователей файлообменных сетей все чаще звучат призывы к переходу в подпространство: анонимные сети типа i2p tor и т.п.

Несомненно, у этой идеи есть масса положительных сторон, однако, по сути это означает сломать устоявшиеся системы обмена трафиком, некоторые из которых формировались более 10 лет и начать строить заново, пусть с учетом старых ошибок, но и постаравшись не наделать новых. На даный момент сеть битторрент – это десятки, а наверное даже сотни миллионов устоявшихся связей, «разорвав» которые крайне сложно будет восстановить всё в полном обьеме.

Давайте все же посмотрим на нашего старичка, и поразмыслим, настолько ли все плохо, и можно ли исправить те недостатки, которые у него есть.
Читать дальше →

Data Mining. Оптимизация заказов товаров в аптеке (аптечном пункте)

Reading time6 min
Views18K
В небольшом аптечном пункте существует потребность гибкой системы заказов лекарственных средств и пара-фармацевтических товаров чувствительной к постоянным колебаниям рынка. В рамках современной действительности одиночные аптечные пункты не обладают достаточными складскими помещениями (материальными комнатами), что накладывает свой отпечаток и заставляет человека, ответственного за заказы, делать их ежедневно из сводного прайс-листа по нескольким поставщикам, не допуская дублирования, по минимальным ценам, исключая товары с неподходящими сроками годности. При этом общая номенклатура составляет несколько десятков тысяч единиц.

Мы живем в современном мире, где рутинные операции за нас выполняет компьютер. Поэтому Вы можете сказать: «Давайте используем компьютер, и он сделает всю черную работу за нас!». «У вас же есть база данных, содержащая статистику продаж различных лекарств?» – продолжите Вы – «Так почему же не использовать эту статистику для прогноза продаж и создания автоматической заявки на требуемые препараты?»
Читать дальше →

Freemium или Free Trial — какую бизнес модель выбрать при продаже софта?

Reading time10 min
Views34K


Модель монетизации – это именно тот пунктик в стратегии каждого проекта, как облачного сервиса, так и оффлайнового бизнеса, который в конечном итоге определяет его успешность. Правильная модель монетизации — своеобразный ключ от квартиры, где деньги лежат. Если же он не подходит, то вряд ли этот стартап превратится в реальный бизнес. Для облачных сервисов последнее время популярны различные вариации бесплатных версий или пробного периода. В связи с этим мы хотим поделиться статьей Линкольна Мёрфи, которая может помочь подобрать правильный «ключ» к успешному бизнесу, и ответит на вопросы, что лучше – freemium или бесплатный пробный период – free trial. Статья написана от первого лица.
Читать дальше →

Естественный отбор — враг бота

Reading time1 min
Views68K
Интересный баг только что отловили. Рассказываю.

Имеем сервис с капчами. Чтобы уменьшить время отклика логично генерировать картинки по случайному коду в свободное время в час наименьшей нагрузки. Так и делаем — ставим в крон задачку, делаем 100500 капч (картинка + код в базе) и в течение дня их показываем. На тот случай если прегенерированные капчи все-же закончатся, делаем режим аварийного полета — если отгаданная и, в связи с этим, убираемая из базы капча уменьшает общее число капч до опасного уровня (например, остается меньше 50), то генерируем новую капчу вместо убранной.

Казалось бы, простая и рабочая схема. Так и было до недавнего времени.
Читать дальше →

Information

Rating
2,703-rd
Location
Niedersachsen, Германия
Registered
Activity