Pull to refresh
99
0
Владислав Степанов @Utter_step

Пользователь

Send message

Как заставить хлам приносить пользу?

Reading time20 min
Views31K

О чём это я?


Задачи бывают разные… Бывают простые, бывают сложные, а бывают такие, на решение которых может уйти не одна неделя и достаточное количество нервных клеток. Одной из подобных задач как можно считать разворачивание чего-то серьёзного на большом количестве слабого железа. А именно…

(Здесь и далее будет говориться о немного специфичной и оптимизированной настройке LTSP и поднятии на его основе кластера серверов).
Читать дальше →
Total votes 179: ↑175 and ↓4+171
Comments38

Инструменты командной строки для веб-разработчика

Reading time3 min
Views39K
Жизнь веб-разработчика омрачена сложностями. Особенно неприятно, когда источник этих сложностей неизвестен. То ли это проблема с отправкой запроса, то ли с ответом, то ли со сторонней библиотекой, то ли внешний API глючит? Существует куча различных прилад, способных упростить нам жизнь. Вот некоторые инструменты командной строки, которые лично я считаю бесценными.
Читать дальше →
Total votes 227: ↑217 and ↓10+207
Comments30

Расширение функциональности не имея исходного кода

Reading time4 min
Views3.2K
Думаю, у каждого из вас было ощущение, что в той, или иной программе не хватает какой-нибудь must have фичи. Если программа идет с исходным кодом, то проблем не возникает. Любой желающий может дописать нужную функциональность. А что если программа закрытая? Не стоит отчаиваться, это не пропащий случай. Сейчас расскажу, как можно дописать за автора то, чего не хватает.
Читать дальше →
Total votes 112: ↑109 and ↓3+106
Comments31

Создание операционной системы на базе ядра linux. С нуля

Reading time7 min
Views204K
Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.
Читать дальше →
Total votes 184: ↑118 and ↓66+52
Comments61

Мой подход к созданию ТЗ на шаблонные сайты

Reading time6 min
Views19K
eyestopper

Вместо эпиграфа.


Поймал дед золотую рыбку. Она ему говорит:
— Чего тебе, дед?
— Хочу чтоб мой аппарат был длиной до колен.
Взяла рыбка и укоротила деду ноги.
Мораль: ставьте корректно техническое задание.

Добрый день великий и могучий Хабр.
Некоторое время назад было несколько постов о технических заданиях (Как поставить задачу для простого (шаблонного) сайта, Почему мы никогда не составляем ТЗ. А что взамен?, Правила технического задания), которые хотелось бы продолжить и рассказать про мой подход к написанию ТЗ на шаблонные сайты.
Читать дальше →
Total votes 116: ↑110 and ↓6+104
Comments70

Программирование для Nintendo DS. Простейшая игра

Reading time7 min
Views4.4K
В этой статье рассмотрим работу с тайловой графикой, прерываниями, сенсорным экраном и клавиатурой. На основе этого напишем всем с детства известную игру — «пятнашка».
Для начала поподробнее разберём работу с видеоконтроллером DS.

Инициализация видеоконтроллера


Практически все видеорежимы используют «многослойную» структуру организации вывода на экран, то есть одновременно мы можем отображать до 4-х планов (background). Не знаю хорошенько какой термин лучше использовать, пусть будет «план» — «задний план».

Всего имеется 6 типов задних планов:
  • framebuffer — Самый простой тип заднего плана. Каждое слово (16бит) в видеопамяти отображается в виде пикселя на экране. (Использовался в прошлом примере);
  • 3D — Картинка на экране формируется OpenGL-подобными командами;
  • text — Текстовый задний план (он же тайловый) разделён на блоки 8х8 пикселей, в каждом из которых отображается один из тайлов;
  • rotation — Тайловый план с возможнотью вращения и масштабирования;
  • extended rotation — Тоже что и фреймбуфер, но ещё позволяет отображать глубину цвета 8 бит на пиксель, а также поддерживает скроллинг, масштабирование и вращение, кроме того может использовать альфа-бит;
  • large bitmap — Большие 512х1024 или 1024х512 изображения с 8 битами на пиксель.


Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments11

Случайные числа из звуковой карты

Reading time15 min
Views13K
Многие когда-либо интересовались случайными числами. Хочу поделиться моими экспериментами по получению истинно случайных чисел с помощью «аппаратного генератора» встроенного в практически любой компьютер — звуковой карты.

При подготовке материала, я переписал свой старый Си код на Питоне, поэтому данный опус также является примером по использованию Windows DLL из Питона с использованием стандартной библиотеки ctypes.

В конце статьи сравниваются данные полученные от двух звуковых карт Realtek и Audigy 2, приведены результаты статистических тестов на случайность.

UPD Исправил пропавшие в коде нули, которые съело НЛО.
Читать дальше →
Total votes 143: ↑137 and ↓6+131
Comments72

Pull request'ы на GitHub или Как мне внести изменения в чужой проект

Reading time6 min
Views495K
По просьбе tulskiy делаю вольный перевод частей официальной документации GitHub'а Fork A Repo и Send pull requests.

Итак, что же такое «запрос на включение (сделанных вами изменений)» (именно так я перевёл pull request)? В официальной документации гитхаба говорится следующее:
Pull request'ы позволяют вам рассказать другим о тех изменениях, которые вы разместили в своём GitHub-репозитории. Как только pull request отправлен, заинтересованные стороны рассматривают ваши изменения, обсуждают возможные правки или даже добавляют дополняющие коммиты, если нужно.

Говоря своим языком: Посылая pull request, вы говорите автору изначального репозитория (и всем заинтересованным лицам): «Смотрите, что я сделал, не хотите ли принять мои изменения и влить их в проект?»
Читать дальше, но теперь уже обо всём по порядку
Total votes 84: ↑80 and ↓4+76
Comments31

Выбираем платежную систему

Reading time6 min
Views139K
Всем привет!

На днях я делал интеграцию своего сайта с платежными системами для отъёма денег у населения. Решил поделиться своими наблюдениями по поводу качества работы и быстроты настройки некоторых систем.

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

В общем виде технически подключение выглядит следующим образом: пользователю выписывается счет на оплату. Он выбирает платежную систему, после чего ему генерируется форма с параметрами платежа для отправки на сайт платежной системы. Когда платеж прошел (или не прошел), сервер платежной системы запрашивает определенный URL магазина, а магазин, в свою очередь, зачисляет платеж на счет пользователя. После этого пользователя перекидывает на страницу с комментарием о том, что платеж прошел или не прошел.
Читать дальше →
Total votes 62: ↑59 and ↓3+56
Comments166

Что веб-дизайнеры могут почерпнуть из видео игр

Reading time12 min
Views4.4K
Игры становятся более похожими на веб-страницы, а веб-страницы все больше напоминают игры. Посмотрите на Хабр: народ пишет топики, за который начисляют карму и рейтинг. Это работает согласно психологии успеха и игровой механике, таким образом, поощряя взаимодействие. Отсюда возникает вопрос: что веб-дизайнер может почерпнуть из игр, а точнее видео игр?

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

image
Читать дальше →
Total votes 88: ↑78 and ↓10+68
Comments22

CSS хаки

Reading time4 min
Views126K
Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время.
Читать дальше →
Total votes 290: ↑242 and ↓48+194
Comments147

Шортики — короткие и смешные, или как мы готовили сайт к Хабраэффекту

Reading time7 min
Views3.1K


Намба 0: Вступление

Однажды, задумчиво листая башорг, я вдруг понял, что большинство цитат довольно длинные и очень часто их просто лень читать. В наш век всеобщей спешки — на это уходит много времени. Таким образом родился новый формат: Шортики (от английского слова Short — короткий). Шортик — это короткая (из одного-двух предложений) шутка, жестко ограниченная 255 символами (чтобы не повадно было).

Как раз в этот момент я хотел подучить программирование и искал несложную задачу. Сайт я накидал довольно быстро — за пару вечеров, рассказал о нем коллегам по работе и паре знакомых в IRC, и собирался уже о нем забыть, как вдруг обнаружил, что за два дня сайт посетило 500 человек, из которых чуть ли не треть подписалась на RSS. Стало понятно, что концепция людям понравилась. Немного прилизав сайт внешне, я решился показать его Хабрасообществу — Шортики — короткие и смешные, прошу любить и жаловать.

P.S. Учитывая то, что это не совсем стартап (проект пока некоммерческий, да и «стартап» — слишком громкое слово для моей поделки), приобретенная за годы пребывания на сайте хабрасовесть не позволила мне написать нетехническую статью. Поэтому, под катом вас ждет занимательная история о том, как мы готовили Шортики к Хабраэффекту.

Читать дальше →
Total votes 230: ↑193 and ↓37+156
Comments205

Chosen: сделай выпадающие списки более дружественными

Reading time1 min
Views54K
Плагин Chosen создан для оформления красивых и удобных выпадающих списков с помощью jQuery и Prototype. Для установки плагина достаточно просто скачать файлы и прописать одну строчку:

$(".chzn-select").chosen()
(версия для jQuery)

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

Поскольку Chosen заменяет стандартный элемент HTML, то не нужно беспокоиться, как он работает с браузерами без поддержки JavaScript. Также не нужно ничего менять в бэкенде: формы сабмиттятся как обычно, изменения только в пользовательском интерфейсе.

Некоторые форки:
Chosen для MooTools
Модуль Chosen для Drupal 7
Total votes 264: ↑250 and ↓14+236
Comments57

Онлайн генератор паролей с энтропией

Reading time1 min
Views134K
Хочу познакомить вас с еще одним онлайн генератором паролей.
Основное его достоинство — возможность генерации паролей с энтропией. Т.е. случайность пароля напрямую зависит от того, как вы будете перемещать мышь и какие кнопки на клавиатуре при этом нажмете.
Режимы работы — полностью рандомный пароль либо произносимый пароль по алгоритму pwgen.
Ну и набор опций нормального генератора паролей — выбор диапазонов символов, возможность исключения похожих символов (например B и 8), настройка длины и количества паролей, отображение безопасности пароля в битах.
Собственно вот он: genpas.peter23.com
Протестирован на работу во всех браузерах.
Под катом немного технических подробностей.
Читать дальше →
Total votes 57: ↑46 and ↓11+35
Comments46

Упрощаем жизнь: сервис автораспаковки архивов на C#

Reading time2 min
Views6.3K
hateЭто, конечно, не статья, а небольшая путевая заметка, но тем не менее. Так получилось, что 99% архивов попадают на мой компьютер, чтобы быть тут же распакованными, дабы добраться до их содержимого. И если в маке сафари сам это делает за меня, то в windows приходится каждый раз нажимать пункт в контекстном меню.

В какой-то момент мне это безумно надоело и я написал простой сервис, который распаковывает все самостоятельно. Мне он показался удобным и я решил поделиться с народом.
Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments58

Реализация серверной части в многопользовательских онлайн играх

Reading time3 min
Views16K
За свою недолгую жинь я ни разу не встречал программиста, который бы не любил игры. И уж тем более, программиста, который никогда их не писал.
Кто-то начинает с тетриса, кто-то со змейки. У кого-то это увлечение проходит, а кто-то этим «заболевает» и превращает свою болезнь в любимую работу или занятное хобби.

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

Читать дальше →
Total votes 195: ↑174 and ↓21+153
Comments76

RentACoder vs oDesk

Reading time5 min
Views19K
В последние дни вышла пара блогов о RentACoder. Хотелось бы сравнить эту систему с другой — oDesk — что бы начинающие фрилансеры знали с чего начинать

Сразу оговорюсь — я не являюсь ни сотрудником RentACoder ни oDesk, и все нижеизложенное является исключительно моим мнением основанным на собственном опыте

image vs image

Читать дальше →
Total votes 57: ↑50 and ↓7+43
Comments72

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

Reading time6 min
Views13K
Сайт — это отличный инструмент для решения задач, связанных с узнаваемостью бренда и повышением продаж. Казалось бы — закажи сайт, и проблема решена: потенциальные клиенты находят сайт компании через поисковую систему, знакомятся с услугами и товарами и покупают их.

Но зачастую всё бывает иначе. Сайт запущен, а клиентов не прибавляется. В то же время у конкурентов дела идут как нельзя лучше. Заказчик обвиняет во всем разработчиков сайта, обращается к новым разработчикам, сайт переделывается, но история повторяется. В чем же ошибка? Давайте разберемся.
Читать дальше →
Total votes 118: ↑95 and ↓23+72
Comments68

Оптимизации в компиляторах. Часть 1

Reading time7 min
Views31K
Копаясь в дебрях LLVM, я неожиданно обнаружил для себя: насколько всё же интересная штука — оптимизация кода. Поэтому решил поделиться с вами своими наблюдениями в виде серии обзорных статей про оптимизации в компиляторах. В этих статьях я попытаюсь «разжевать» принципы работы оптимизаций и обязательно рассмотреть примеры.
Я попытаюсь выстроить оптимизации в порядке возрастания «сложности понимания», но это исключительно субъективно.
И ещё: некоторые названия и термины не являются устоявшимися и их используют «кто-как», поэтому я буду приводить несколько вариантов, но настоятельно рекомендую использовать именно англоязычные термины.
Начнём...
Total votes 114: ↑110 and ↓4+106
Comments36

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity