Обновить
59
0
Сергей Стоцкий@serjoga

Tech Lead

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

CSS кнопки с помощью псевдо-элементов

Время на прочтение5 мин
Охват и читатели48K


Здравствуйте, друзья. За последний месяц я экспериментировал с псевдо-элементами, особенно, с их использованием в создании кнопок. Таким образом, удалось создать крутые эффекты, которые раньше можно было сделать только со спрайтами.

В этом уроке я покажу как создать кнопку с изюминкой, используя только якорный тег и мощь CSS.

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

Selectik — стильные селекты

Время на прочтение2 мин
Охват и читатели13K
Веб-дизайнеры любят стилизировать стандартные элементы форм. Потом эти элементы приходиться реализовывать нам — верстальщикам.

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

Естественно, после всего этого я решил изобрести свой велосипед.

Пример разработан без дополнительных картинок с помощью CSS3. Демо-страница с песочницей здесь.
Читать дальше →

Виртуальный оператор Siri в дисковом телефоне

Время на прочтение2 мин
Охват и читатели3.4K

Алло, барышня, соедините с Зионом

Представляю вашему внимаю перевод статьи, в которой многоуважаемый Davis D. Remmel сделал из обычного старого дискового телефона, bluetooth-гарнитуры и персонального помощника Siri от Apple подобие виртуального оператора. Пользуясь получившимся девайсом, мы как будто переносимся в начало прошлого столетия, когда, чтобы соединиться с другим абонентом, приходилось сперва пообщаться с оператором (чаще всего девушкой), которая производила коммутацию абонентов между друг другом (небольшой эскурс в историю по данной теме).

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

Процесс изготовления печатной платы на дому

Время на прочтение3 мин
Охват и читатели156K

Введение


Кому не приходилось изготавливать печатную плату? Дело это не очень сложное, а результат придаёт проекту завершённость. В этом посте я бы хотел рассказать о процессе создания печатной платы на дому. Я опишу фоторезистивный метод создания платы. Он довольно прост в применении и позволяет печатать весьма сложные платы. Более того, я обошёлся струйным принтером.

Пост содержит фотографии, видео и схемы.
Читать дальше →

О том, как я заставлял Ubuntu работать 10 часов от батареи

Время на прочтение11 мин
Охват и читатели199K
imageЯ являюсь рядовым линукс-пользователем и поэтому не стоит от этой статьи ожидать очень умных ходов или нестандартных программистских решений. Все по мануалам. Но раз результат достигнут, значит кому-то кроме меня это может оказаться полезным.

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

Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.
Читать дальше →

Data Mining в онлайн играх

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

Мы захотели узнать, почему уходят игроки и можно ли предсказать их уход. Предмет исследования – ММОРПГ Аион, однако наши результаты оказались применимы к широкому кругу игр и онлайн сервисов.
Заглянуть в будущее

Использование bash completion в командной строке, собственных скриптах и приложениях. Часть 2

Время на прочтение5 мин
Охват и читатели27K
Про bash completion на хабре я уже писал тут, и даже конце пообещал рассказать про настройку автодополнения для собственных скриптов.

Однако, прошло уже полтора года, а лично у меня до продолжения руки так и не дошли. Зато эту почетную обязанность взял на себя хабраюзер infthi, опубликую от его имени.

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

HOWTO: свой бизнес в США из России

Время на прочтение6 мин
Охват и читатели158K
    Наверняка многие из нас хоть раз думали про себя: «Черт побери, и везет же этим американцам!». Это касается многого, от магазинов с доставкой «только в пределах 48 континентальных штатов» до вполне серьезных контрактов, которые срываются только потому, что потенциальный заказчик в США категорически не желает иметь дело с иностранцами.

    В этой статье я попробую осветить процесс создания и администрирования американской корпорации для резидента РФ. Наверняка многие из фактов для самих американцев покажутся тривиальными, однако для жителя России все куда сложнее — увы, это данность. Чтоб не сказать — это Родина, сынок. Оговорюсь сразу — я все это проделал более 2 лет назад, так что, некоторые детали могут быть не совсем актуальны. Но вряд ли что-то поменялось принципиально.
Читать дальше →

accounting.js — форматирование чисел и валют

Время на прочтение2 мин
Охват и читатели28K
В одном из проектов мне понадобилось реализовать переключение валют с последующим реформатированием значений денежных сумм, встречающихся на странице.Как это у меня часто получается, я это реализовал и через пару недель наткнулся на небольшую библиотечку, которая позволяет довольно удобно выполнить именно эту операцию.
Читать дальше →

Traits в php 5.4. Разбираем детали реализации

Время на прочтение8 мин
Охват и читатели54K
Совсем недавно вышла первая beta php 5.4, а пока я писал топик подоспела и вторая. Одно из нововведений в 5.4 – это traits (типажи). Предлагаю разобраться во всех деталях в том, что же типажи из себя представляют в php.

Простой пример типажа, чтобы не заглядывать в Википедею:
//определение типажа
trait Pprint 
{
    public function whoAmI()
    {
        return get_class($this) . ': ' . (string) $this;
    }
}

class Human 
{
    use Pprint; //подключаем типаж, ключевое слово use

    protected $_name = 'unknown';
    
    public function __construct($name)
    {
        $this->_name = $name;
    }

    public function __toString()
    {
        return (string) $this->_name;
    }   
}

$a = new Human('Nikita');
echo $a->whoAmI(), PHP_EOL; //=> Human: Nikita

Как видно, к классу Human было добавлено поведение из типажа Pprint.

Но во всём есть свои детали.
О них далее

Простые бинарные часы с будильником на Arduino

Время на прочтение4 мин
Охват и читатели25K


Почитав интересные статьи о том, как люди придумывают и реализуют полезные и просто забавные проекты на платформе Arduino, мне тоже захотелось сделать простую, интересную и одновременно приносящую хоть какую-то пользу конструкцию.

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

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

Использование технологии распознавания голоса в приложении ВКонтакте Offline

Время на прочтение2 мин
Охват и читатели1.9K

Voice Search Technology


Многие знают, что несколько лет назад Google запустили технологию распознавания голоса и сделали ее доступной для простых пользователей. Про эту технологию много где писали, и что приятно, она умеет распознавать слитную русскую речь. Внешне технология крайне проста, и любой вебмастер может применить ее на своем сайте, добавив всего лишь несколько строк в свой HTML-код. Вопрос стоит в другом: где стоит применять эту технологию в вебе?
Читать дальше →

Сетевая игра на bash: шахматы

Время на прочтение5 мин
Охват и читатели9K
Я давно хотел написать какую-нибудь сетевую игру на bash, причём желательно, чтобы управление было удобное, с клавиатуры, обычными курсорным клавишами. Вообще, тема интерактивного взаимодействия в bash глубже, чем «введите число, нажмите „Enter“» не раскопана. Мне пришлось всё изобретать и исследовать самостоятельно. Я очень старался найти что-то похожее по уровню интерактивности, но не нашёл.

Поскольку тонкости управления с клавиатурой съели очень много моего времени, я не стал заморачиваться с тонкостями совместимости, поэтому игра тестировалась только под Mac OS X, есть ненулевая вероятность, что она заработает и под Linux и уж точно её можно допилить там до рабочего состояния.

Для работы игра требует наличия nc (aka Netcat) и терминала с поддержкой 256 цветов (под Mac OS рекомендую iTerm2). При наличие интереса к игре, допилю до терминала на 16 цветов и /dev/tcp. Кстати начал выкладывать все свои шел-поделки на ГитХаб.

Сетевые шахматы на Bash


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

Играть просто — в каждый момент времени активна только одна доска (на скриншоте — правая, у неё буквы и цифры вокруг доски ярче), на активной доске курсор двигается курсорными клавишами — ←, →, ↑ и ↓, взять фигуру и поставить её на доску — по клавише пробела или Enter. Как только вы поставили фигуру на доску, ход переходит к сопернику. «Съесть» фигуру соперника проще простого — достаточно поставить свою фигуру на чужую. В игре есть защита — нельзя «съесть» свою фигуру.

Ничего помимо этого в игре нет — не производится правильность контроля ходов, нет проверки на завершение игры, можно даже ходить фигурами соперника. Было очень сложно придумать как обрабатывать нажатия в shell, так что остальное сделать я просто не успел, не поместилось в формат «игрушка за вечер».

Я постарался снабдить свой код комментариями и писать достаточно структурировано, чтобы можно было разобраться как всё работает самостоятельно.

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

YAF — самый быстрый php фреймворк*

Время на прочтение1 мин
Охват и читатели15K
Yaf — это PHP микро-фреймворк, взявший за основу структуру приложения Zend Framework, но написанный на С и является PHP extension доступным через PECL.

Основной (и единственной) задачей для написания его послужила необходимость максимально быстрой (сравнимой с php) обработки запросов в парадигме MVC но с удобством предоставляемым Zend Framework.

Yaf и Zend Framework, имеют аналогичные API и подобную концепцию, сохраняя при этом совместимость.
Я сгенерировал тестовое приложение (zf create project test) и провел небольшой синтетический тест производительности.
Интересен результат? Добро пожаловать под кат

Getting things done? Не врите себе

Время на прочтение4 мин
Охват и читатели19K
Вы подписаны на блог GTD? Вас волнуют проблемы концентрации? Вы составляете распорядок дня, план на неделю, стратегию на месяц, но вечером внезапно <вставить внезапное> до самой ночи, а утром не можете встать? Всё очень плохо. А если вы знаете значение слова прокрастинация (хотя, справедливости ради, кто на хабре его не знает?), то это практически клинический случай. По крайне мере, все и вся вокруг, осознанно и не очень, пытаются нас в этом убедить, ну или просто говорят об этом… ну или молчат, но думают!

Внимание! Статья не содержит чудо рецептов, не сделает более внимательным или работоспособным. Думаю даже не расскажет о чём то, о чём вы до этого не думали.
Фактически, вся статья — это досужее рассуждение на тему (и не очень).
Однако, все совпадения с реальными людьми и событиями не случайны, и автор несёт всю полноту и меру ответственности за всё выше и ниже сказанное, поэтому, если какой либо абзац, предложение или слово кажется вам оскорбительным — не стесняйтесь выражать своё мнение в моей карме.
Так же позволю себе использовать аббревиатуру GTD в широком, а не конкретном смысле.


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

JavaScript Gaming: Часть 1. Box2d и основы Физики

Время на прочтение28 мин
Охват и читатели24K


Вместо предисловия.


Я всегда любил и буду любить компьютерные игры. Есть в них какая-то своя внутренняя магия, которая всегда привлекает и завораживает одновременно. За всю свою жизнь я переиграл в десятки игр, начиная с ветеранов Wolfenstein и Dune 2 и заканчивая современными блокбастерами. И теперь, добивая очередной хит и наблюдая за финальным роликом и титрами, в голове все чаще и чаще мелькает мысть «А что, если?..»

А ведь действительно, что если взять и написать собственную игру? Конечно же понятно, что ААА-тайтл сделать в одиночку не получится, и это годы работы и прочая и прочая, но ведь осилит дорогу идущий? Так уж получилось, что в Desktop-программироании я откровенно слаб, и вариантов для практикующего веб-разработчика не так уж много. Но за последние годы все кардинально изменилось, и теперь уже у браузера много общего с кофеваркой, а javascript может спокойно удовлетворять даже нужды военных ведомств, не то что мои собственные.

Вот как раз во время очередных раздумий и достаточно серьезной простуды мне попалась на глаза статья о Box2d в игрологе Ant.Karlov'а. Зачитавшись и замечтавшись я очень быстро нашел JS-порт этой библиотеки, и старая шальная идея сделать что-то маленькое и, главное — свое, начала донимать меня с новыми силами.

В общем, меньше патетики, больше дела. Надеюсь, вам будет интересно. Да простят меня суровые боги за использование Angry Birds в КПДВ ^_^
Читать дальше →

Почему фрилансер и заказчик часто считают друг друга идиотами

Время на прочтение10 мин
Охват и читатели97K
Мне повезло: я побывал по обе стороны баррикад и теперь знаю, что и как делает заказчик на проектах разного уровня и что делает фрилансер, чтобы получить или провалить такой проект. В итоге я уверен, что 95% фрилансеров говорят с заказчиком на разных языках.

Осторожно, butthurt.

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

Хакерский квест

Время на прочтение1 мин
Охват и читатели5.8K
image

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

После решения первых 5 уровней предоставляется возможность зарегистрироваться и получить в качестве приятного бонуса shell аккаунт на сервере с Debian Lenny. Дисковая квота до 2 Гб, подробнее про сервер можно узнать тут.

Желаю удачи :)

Кукушка на bash своими руками

Время на прочтение4 мин
Охват и читатели26K
Привет, %username%.

Для организации моей работы удобно видеть или слышать уведомления о том, что прошел час, полчаса и т.д. Это нужно мне для ориентации во временном пространстве и правильного планирования своей работы.
Поскольку у меня стоит Ubuntu, то и статья будет про то, как сделать такие уведомления стандартными средствами Ubuntu.

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

Вышла финальная версия Symfony2. Ура!

Время на прочтение1 мин
Охват и читатели2.3K
image

Оставив позади 12 превью релизов, 5 бета версий и 6 релиз кандидатов, наконец-то вышла финальная версия Symfony2 — претендента на звание самого лучшего на сегодня фреймворка, написанного на языке PHP.

На данный момент, Symfony2 — самый популярный проект на Github в разделе PHP и занимает 12 место по популярности на всей платформе Github.

Всего лишь за 4 месяца, еще до выхода финальной версии, только на одном Github было создано больше 400 бандлов (расширений) для Symfony2. Количество разработчиков на момент релиза составило около 250 и продолжает расти.

Поздравляю всех фанатов Symfony2 с таким значительным событием и желаю всем, кто взял участие в разработке, не останавливаться и продолжать радовать PHP-мир качественными продуктами!

Новость на сайте Symfony2

Информация

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