Как стать автором
Обновить
124
0
Михаил Стадник @Mikhus

Software Engineer

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

Флеш-игра RoboKill

Время на прочтение1 мин
Количество просмотров1.2K
Поиск сказал, что такой игры еще не было, поэтому представляю вам RoboKill. Очень затягивающая игрушка. Вам предстоит управлять роботом, который шустро перемещается по локациям и убивает злых противников. В процессе игры Вы можете усовершенствовать своего робота, покупая ему новое оружие, боеприпасы и т.д. Всего 10 затягивающих миссий.



Кликабельно.
Всего голосов 159: ↑97 и ↓62+35
Комментарии66

Три правила

Время на прочтение6 мин
Количество просмотров1.3K
Этот текст – расшифровка моего выступления на семинаре по поисковой оптимизации, который я и s13 проводили 26 ноября в ГрГУ.


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

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

В прошлом году небольшой группе из десяти человек я должен был читать курс по каким-то-там-современным-интернет-технологиям. Я решил этого не делать и вместо того, чтобы учить страшные сокращения типа FOAF, ATOM и RSS, мы разбирали простые (на первый взгляд) психологические кейсы. Я постарался показать, как устроено человеческое восприятие и с какими трудностями могут столкнуться технари, при переносе своих заблуждений в из головы в код. Через некоторое время я узнал, что мои лекции изменили жизнь одному из слушателей. Один из десяти — неплохой выхлоп.

Так как сейчас у меня нет такой возможности, я попытаюсь уложиться в двадцать минут, чтобы рассказать вам о трех правилах. Правилах, которыми я стараюсь руководствоваться последний год. Правилах, которые, надеюсь, помогут и вам. Итак, правило первое —

«Не ссать!»


Читать дальше →
Всего голосов 128: ↑99 и ↓29+70
Комментарии83

Работа в маленьких, средних и больших компаниях

Время на прочтение9 мин
Количество просмотров2.7K
Текст написан убежденным фрилансером (не мной; но я разделяю много из озвученных положений, поэтому публикуется без купюр и комментариев), и содержит достаточно ощутимый негатив в отношении офисной работы. Экстраполировать его на все IT-компании не следует.

Содержит достаточно много крепких выражений.

Географический ориентир: СНГ.

Количество текста: очень много.

Читать дальше →
Всего голосов 47: ↑36 и ↓11+25
Комментарии48

Бесплатная CRM для малого бизнеса — IContracts

Время на прочтение1 мин
Количество просмотров2.4K
Наша компания (IT Сфера) выпустила на свет Божий новую версию CRM-ки для малого бизнеса. Делали когда то для себя, решили поделиться с миром. Называется IContracts. Понятное дело это не Microsoft CRM и даже не TerrasoftCRM, но функционала программы вполне хватает для малого бизнеса, к тому же использование бесплатно.

Что может:
— вести учёт заявок,
— клиентов,
— партнёров,
— сотрудников,
— вести проекты,
— ставить и контролировать задачи,
— формировать договора и пр.

Кому интересно скачивайте и пользуйтесь:
dev.it-sfera.ru/software/freesoft/icontracts.php
Всего голосов 15: ↑12 и ↓3+9
Комментарии19

HP и ASU представляют гибкий дисплей, возвращение к свиткам

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

Спустя четыре года после открытия университетом штата Аризона Центра Гибких Дисплеев (ASU Flexible Display Center) исследователи, совместно с лабораторией HP, представили первый рабочий прототип гибкого дисплея, сделанного по технологии SAIL (self-aligned imprint lithography — самоуправляемая литография).
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии29

Native Client: одной ногой в офлайне

Время на прочтение1 мин
Количество просмотров5.2K
В понедельник в Google Code Blog вышел анонс нового эксперимента веб-гиганта. Технология Native Client призвана ускорить веб-приложения благодаря прямому доступу к ресурсам центрального процессора на локальном компьютере пользователя.

В пакет Native Client будут входить runtime-плагин для браузера и набор утилит для компиляции, основанных на GNU Compilation Tools. Они позволят веб-приложению, работающему в браузере, в то же время использовать модули, самостоятельно выполняющиеся на ПК. Плюсы от такой модели приложения очевидны: пропадает необходимость перекачивать по каналу «клиент-сервер» большие объемы данных в сетевых приложениях вроде видео- и графических редакторов.

Чтобы обеспечить в приложениях, работающих с Native Client, должный уровень безопасности, Google вводит жесткие ограничения для разработчиков: а) каждое приложение должно быть написано в соответствии с определенными структурными критериями для легкого дизассемблирования; и б) в офлайновых модулях не должны содержаться определенные цепочки инструкций. Такой подход к обеспечению безопасности, однако, сразу вызывает мнение, что Google просто хочет оградить разработчиков, как всегда не пуская их глубоко в свою платформу.

Свои разработки под Native Client можно начинать уже сейчас. Исследовательская версия пакета уже доступна для скачивания и обещает работать на всех популярных ОС под x86 и во всех популярных браузерах, кроме Internet Explorer и Safari на MacOS. Версии для других аппаратных и программных платформ должны появиться в скором будущем.
Всего голосов 38: ↑37 и ↓1+36
Комментарии46

Pano Zero Client — компьютер, в котором ничего нет

Время на прочтение2 мин
Количество просмотров5.5K
Pano Zero Client — cloud computing PC
Как вам нравится идея компьютера, в котором нет: процессора, ОЗУ, винчестера, видеокарты, программного обеспечения… да вообще ничего нет, кроме портов для наушников/микрофона, одного сетевого кабеля, одного порта USB и места для подключения монитора. «Так как же эта маленькая коробочка вообще работает?» — спросите вы. Cloud computing, или т.н. вычислительное облако — технология, позволяющая производить на свет вот такие, очень интересные, экземпляры персональных компьютеров.

Основная идея Pano Zero Client, производимого компанией Pano Logic, — удаленные вычисления с помощью специального софта под названием Console Direct Technology. Все операции, которые проводит пользователь этой маленькой коробочки, проходят и обрабатываются на мощном сервере, который стоит где-то в холодном подвале. Важно понимать, что речь идет не о сетевых cloud-applications, а именно об удаленных вычислениях на своем сервере — по этой причине Pano Zero Client рассчитан на крупные корпорации, которые сейчас стремятся максимально сократить расходы. И этот маленький ПК позволит им это сделать, ведь необходимость в покупке отдельного системного блока на служащего отпадает — нужен лишь производительный центральный кластер.

Цена устройства неизвестна — оно и понятно, компания рассчитывает на заключение крупных договоров на поставку сотен, а то и тысяч таких коробочек в офисы по всему миру. Плюсов, кроме низкой (а иначе и быть не может или теряется весь смысл) цены устройства можно перечислить не так много, но среди них, несомненно — полная безопасность. Ведь в Pano не установлено вообще никакого софта, а значит и заражать нечего. К тому же энергопотребление малютки заставляет открыть рот от восхищения: 5 ватт — это всего лишь 3% от того, сколько электричества «кушает» стандартный персональный компьютер.

Воистину минимализм во всем.
Читать дальше →
Всего голосов 106: ↑100 и ↓6+94
Комментарии188

WordPress Hacked: время собирать камни

Время на прочтение1 мин
Количество просмотров686
По долгу службы я являюсь владельцем несколько довольно популярных сайтов, на движке WordPress. И в последнее время столкнулся с массовым и очень изощренным взломом WordPress. К сожалению, я пока не нашел какие именно дыры/баги используются для взлома и какие версии подвержены взлому (есть мнение, что последняя версия WP также уязвима). Но я могу рассказать, что можно проверить, что бы спать спокойно:

— проверить таблицу wp_options атрибут active_plugins на наличие хитрых файлов, типа ../../../../tmp/XODHG/… Которые мистическим обзаом кладуться в tmpfiles и прописываются в плагины
Читать дальше....
Всего голосов 16: ↑14 и ↓2+12
Комментарии10

Кроссбраузерный text-overflow \(^_^)/

Время на прочтение5 мин
Количество просмотров27K
В случае, когда текст не влезает в ширину блока, есть несколько вариантов его визуализации:
  1. Разрешить ему вылезать за пределы блока. В большинстве случаев смотрится весьма косячно.
  2. Обрезать текст по границе блока. То же смотрится некузяво.
  3. Обрезать и нарисовать скроллинг. Это вообще жуть какая-то.
  4. Обрезать и сделать плавное затухание к краю так чтобы места обрезания букв не было видно. Сложно применять в случае неоднородного фона. Приходится вручную прятать затухание, когда текст имеет ширину меньше или равную ширине блока.
  5. Укорачивать текст, вставляя вконце многоточие.
О реализации последней стратегии и пойдёт далее речь...

А теперь долгожданное порево
Всего голосов 80: ↑59 и ↓21+38
Комментарии55

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Время на прочтение5 мин
Количество просмотров10K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →
Всего голосов 160: ↑152 и ↓8+144
Комментарии55

Оптимизация псевдостриминга FLV-видео

Время на прочтение6 мин
Количество просмотров5.7K
Один из проектов нашей компании — это сервис online-видео, аналогичный youtube. Для вещания и реализации возможностей стриминга используется замечательный веб-сервер nginx с модулем ngx_http_flv_module.

Все было хорошо, пока количество просмотров не достигло уровня, когда не только сетевые каналы серверов оказались перегружены, но и перестала справляться с запросами на чтение дисковая подсистема серверов.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии10

Пол Грэм: Как найти идею для стартапа (часть первая)

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

Недавно вышла статья Пола Грэма о поиске идеи для стартапа. Грем — сам по себе культовая личность Кремниевой долины и уже только поэтому достоин внимания. Но на мой взгляд, эта статья одна из лучших в своем роде. Да, о Customer Development и Lean Startup сейчас не пишет разве что ленивый, но она отличается глубокой внутренней философией Грема и обобщает его богатый опыт в качестве основателя YCombinator, общающегося с тысячами стартаперов в год.
Статья очень длинная, поэтому я взял на себя смелость разбить ее на 5 частей, дабы никого не утомить. Поехали:


Лучший способ найти идею для стартапа — не думать о ней. Найдите проблему, и лучше — если она есть у вас самого.
Читать дальше →
Всего голосов 66: ↑60 и ↓6+54
Комментарии32

MaskJS — HMV* фреймворк

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

Разрабатывая MaskJS вот уже больше полугода, удалось превратить DOM шаблонизатор в очень мощный, но при этом производительный веб фреймворк. В статье познакомлю вас с возможно интересными подходами к разработки. Уверен, будет интересно почитать о использовании сигналов и слотов вместо DOM событий. И как компоненты делают нашу жизнь проще. Маска легко интегрируется в уже готовый проект, и даже может быть использована вместе с любым другим фреймворком. Основным же отличием наверное является render flow, где в процессе поэтапно создается Document Fragment / контроллеры / «биндинги». Собственно всю гибкость даже сложно передать, но я попробую, и приглашаю под кат.
Читать дальше →
Всего голосов 35: ↑29 и ↓6+23
Комментарии33

Устранение утечек памяти в приложении на Питоне

Время на прочтение7 мин
Количество просмотров37K
imageНедавно мне довелось разобраться и устранить несколько утечек памяти в популярном фреймворке Торнадо. Не беда, если вы никогда его не использовали, потому что описанное будет мало связано с ним. Рассказать я хочу о методах, которые я использовал для поиска и устранения утечек.

Все сказанное будет по большей части справедливо только для самой популярной реализации Питона — CPython. Как известно, в нем есть два механизма освобождения памяти. Первый из них — подсчет ссылок. Каждый раз, когда вы явно или не явно создаете новый объект, его счетчик ссылок равен единице. Если вы присваиваете этот объект новой переменной или передаете в качестве аргумента, его счетчик ссылок увеличивается. При выходе из функции количество ссылок на объекты, которые были в локальных переменных и аргументах, уменьшается. Если для какого-то объекта количество ссылок становится равным нулю, он немедленно уничтожается.

Это схема отлично работает до тех пор, пока не появляются объекты, ссылающиеся друг на друга. Самый простой пример — узлы какого-то дерева, хранящие ссылки на свои дочерние и родительский узлы. Узлы продолжат ссылаться друг на друга, даже когда не останется других внешних ссылок ни на один из них. Самое неприятное, что такие узлы могут ссылаться на какие-то другие данные и не давать их освободить. Чтобы устранить такие циклические ссылки, в Питоне существует второй механизм освобождения памяти — сборщик мусора. Он запускается время от времени, ставя выполнение остального кода на паузу, и анализирует все неосвобожденные объекты.

Формально, циклические ссылки нельзя назвать утечками: сборка мусора рано или поздно уничтожит такие объекты. Беда только в том, что Питон не может сам определить, когда еще рано, а когда уже поздно. В моем случае система просто прибивала процесс с Питоном, если сборка мусора не начиналась вовремя.
Читать дальше →
Всего голосов 98: ↑95 и ↓3+92
Комментарии8

Мобильная веб-разработка: жесты, фреймворки, цифры

Время на прочтение4 мин
Количество просмотров62K
Продолжая тему веб-разработки мобильных сайтов и приложений под мобильные устройства нельзя не затронуть такую тему как Фреймворки для манипуляции DOM и отправкой асинхронных запросов.
Стандартом на десктопе уже давно стал jQuery, но он никуда не годится для разработки под мобильную платформу. Давайте посмотрим, как jQuery дружит с мобильными устройствами.

Посмотреть
Всего голосов 32: ↑29 и ↓3+26
Комментарии20

Новая разработка MIT позволяет «накладывать» интерфейс на объекты реального мира

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


Smarter Objects — проект лаборатории MIT Media lab, в рамках которого инженеры разрабатывают AR технологию взамодействия с объектами реального мира.
Проект «Smarter Objects» исследует новый способ взаимодействия с повседневными объектами. Система связывает виртуальный объект с физическим, чтобы предоставить простой способ модификации и поведения этого физического объекта, а так же взаимодействия с другими подобными объектами. Как только пользователь наводит смартфон или планшет на объект, приложение дополненной реальности распознает его и предоставляет интуитивный графический интерфейс для программирования его поведения и взаимодействия с другими объектами. Как только он запрограммирован, с объектом возможно взаимодействовать с помощью простого интерфейса, состоящего из кнопок, крутилок и т.п. Таким образом, Smarter Object сочетают в себе адаптивность цифровых объектов с простым интерфейсом физических.

Но, как говорится, лучше один раз увидеть, чем сто раз услышать.
Смотреть видео
Всего голосов 63: ↑58 и ↓5+53
Комментарии85

Кастомизация скроллбаров в браузере: компромисс между технологиями html, css, js и удобством использования

Время на прочтение12 мин
Количество просмотров69K
Приветствую всех!


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



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

Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии54

Оканчивается эпоха восьмеричных чисел с ведущим нулём в языке JavaScript

Время на прочтение1 мин
Количество просмотров18K
Равенство parseInt("042") === 42 (как и другие ему подобные) станет верным в Firefox следующей версии (Firefox 21) и в более новых, хотя прежде Firefox действовал по образу и подобию языка Си, считая восьмеричными числа, запись которых начиналася нулём — так что вызов parseInt("042") давал тогда значение 34.

Обсуждение в мозилловской багзилле показывает, что перемена эта произошла под влиянием ECMAScript 5 и соответствует изменениям, случившимся в других браузерах (Safari 6, Google Chrome 23 и др.), в движке V8 (и в основанном на нём Node.js, например), так что в этом году Firefox оставался последним оплотом восьмеричности.

Теперь оплот этот не устоял, оплот этот пал. Обновите свои сайты по мере необходимости, особенно если они имели дело с обработкою записей времени, где нередко попадаются числа с ведущим нулём.
Всего голосов 74: ↑61 и ↓13+48
Комментарии68

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность