Pull to refresh
124
0
Михаил Стадник @Mikhus

Software Engineer

Send message

Флеш-игра RoboKill

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



Кликабельно.
Total votes 159: ↑97 and ↓62+35
Comments66

Три правила

Reading time6 min
Views1.3K
Этот текст – расшифровка моего выступления на семинаре по поисковой оптимизации, который я и s13 проводили 26 ноября в ГрГУ.


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

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

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

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

«Не ссать!»


Читать дальше →
Total votes 128: ↑99 and ↓29+70
Comments83

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

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

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

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

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

Читать дальше →
Total votes 47: ↑36 and ↓11+25
Comments48

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

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

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

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

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

Reading time1 min
Views1.1K
image

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

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

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

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

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

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

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

Reading time2 min
Views5.4K
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% от того, сколько электричества «кушает» стандартный персональный компьютер.

Воистину минимализм во всем.
Читать дальше →
Total votes 106: ↑100 and ↓6+94
Comments188

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

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

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

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

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

А теперь долгожданное порево
Total votes 80: ↑59 and ↓21+38
Comments55

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

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

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

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

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

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

Reading time5 min
Views187K

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


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

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

Reading time11 min
Views11K

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

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

Reading time7 min
Views37K
imageНедавно мне довелось разобраться и устранить несколько утечек памяти в популярном фреймворке Торнадо. Не беда, если вы никогда его не использовали, потому что описанное будет мало связано с ним. Рассказать я хочу о методах, которые я использовал для поиска и устранения утечек.

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

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

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

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

Reading time4 min
Views62K
Продолжая тему веб-разработки мобильных сайтов и приложений под мобильные устройства нельзя не затронуть такую тему как Фреймворки для манипуляции DOM и отправкой асинхронных запросов.
Стандартом на десктопе уже давно стал jQuery, но он никуда не годится для разработки под мобильную платформу. Давайте посмотрим, как jQuery дружит с мобильными устройствами.

Посмотреть
Total votes 32: ↑29 and ↓3+26
Comments20

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

Reading time2 min
Views45K


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

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

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

Reading time12 min
Views68K
Приветствую всех!


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



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

Читать дальше →
Total votes 39: ↑29 and ↓10+19
Comments54

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

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

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

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity