Search
Write a publication
Pull to refresh
14
0

Software Developer

Send message

Хабракамп

Reading time1 min
Views11K
Хабракамп — это пост на Хабре, где в комментариях первого уровня IT-специалисты пишут темы, в которых они хорошо разбираются. Темы должны быть специфичные — настройка svn + trac или nginx + apache неинтересны и описаны везде, а вот оптимизация mysql для тысячи баз данных bugzilla или вещание видео потока на 10 гигабит в интернет интересно. Пользователи в ответ к комментариям пишут своим вопросы специалистам.

Просьба на первом уровне не задавать вопросы, а писать только специалистам об их сфере деятельности.
Для специалистов это шанс получить некоторое количество кармы, если им лень писать статьи и отвечать в qa, а для остальных — возможность задать вопросы, ответы на которые сложно найти в Google.
Не забываем плюсовать карму тем кто ответил на ваши вопросы.

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №60 (1 — 8 июня 2013)

Reading time6 min
Views24K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


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

Начался реверс-инжиниринг процессора PlayStation 1: безумству храбрых поём мы песню!

Reading time2 min
Views96K
Вероятно многие из вас уже слышали о проекте Visual6502 — в котором умельцы отсняли по слоям легендарный процессор 6502 (а затем и 6800), восстановили электрическую схему, и написали визуальный эмулятор процессора на JavaScript. Помимо академической ценности, это также позволяет реализовать абсолютно точный эмулятор любых компьютеров, построенных на этих процессорах.

Однако наши соотечественники решили поднять планку выше, намного выше — и начали проект по восстановлению электрической схемы процессора Playstation 1 (MIPS R3051). Этот процессор — изготовлен по намного более тонким нормам чем 6502 (~800нм против ~5000нм), содержит 3 слоя металлизации (вместо 1), и имеет бОльшую площадь (~250тыс транзисторов против 3.5тыс у 6502) — потому объем работы обещает быть по меньшей мере в 100 раз больше.

Цель проекта — создание абсолютно точного эмулятора Playstation 1.
Читать дальше →

Изучаем С используя GDB

Reading time6 min
Views109K
Перевод статьи Аллана О’Доннелла Learning C with GDB.

Исходя из особенностей таких высокоуровневых языков, как Ruby, Scheme или Haskell, изучение C может быть сложной задачей. В придачу к преодолению таких низкоуровневых особенностей C, как ручное управление памятью и указатели, вы еще должны обходиться без REPL. Как только Вы привыкнете к исследовательскому программированию в REPL, иметь дело с циклом написал-скомпилировал-запустил будет для Вас небольшим разочарованием.

Недавно мне пришло в голову, что я мог бы использовать GDB как псевдо-REPL для C. Я поэкспериментировал, используя GDB как инструмент для изучения языка, а не просто для отладки, и оказалось, что это очень весело.
Читать дальше →

Symfony 2.3.0! Первый релиз с долгосрочной поддержкой!

Reading time4 min
Views13K
image

Symfony 2.3.0


Мы все долго этого ждали, многие из нас работали последние 4 года что бы это произошло. Сегодня, Symfony 2.3.0 доступна и это первый релиз с долгосрочной поддержкой(LTS) для Symfony 2.

Я очень счастлив, что мы достигли этой точки в жизни Фреймворка. Спасибо вам, что сделали это возможным!
Читать дальше →

Регулируемая подсветка монитора своими руками

Reading time2 min
Views142K
Всем привет, я Александр, и я фрилансер.

Фрилансом как основным видом работы я занимаюсь уже почти 7 месяцев. По некоторым причинам (магистратура, велосипед, лень и т.д.) я часто работаю вечером.

Но вот беда, освещение в комнате слабое, и яркость монитора в вечернее время суток просто выедает глаза. Мирился с этим я долго. И тут, внезапно, во время очередного вечернего просмотра шедевра кино-индустрии на своём телевизоре Philips, с замечательной технологией Ambilight, посещает меня идея — почему бы не сделать аналогичную белую подсветку для монитора?


Сказано-сделано! Результат работы:

Кому интересны этапы построения — прошу под хабракат.
Читать дальше →

Дайджест интересных новостей и материалов из мира PHP за последние две недели №18 (22.05.2013 — 03.06.2013)

Reading time6 min
Views15K


Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.

Приятного чтения!
Читать дальше →

Сравнение эффективности минимизаторов CSS- и JavaScript-кода

Reading time3 min
Views31K
Логотипы модулей-минимизаторов из Bundle Transformer

Разработчики, использующие Bundle Transformer, часто спрашивают у меня: «Какой минимизатор обладает самой высокой степенью сжатия?». В принципе, в сентябре прошлого года в своей статье «Вышел Bundle Transformer 1.6.2 или что изменилось за полгода?» я уже проводил сравнение минимизаторов по степени сжатия кода, но это сравнение было поверхностным и не было подкреплено цифрами.

В этой краткой статье мы проведем сравнение наиболее популярных алгоритмов минимизации CSS- и JS-кода на примере адаптеров-минимизаторов из Bundle Transformer. В качестве исходных файлов будут использоваться файлы bootstrap.css и bootstrap.js из Twitter Bootstrap версии 2.3.2. Измерять размеры файлов мы будем с помощью YSlow.
Читать дальше →

Система изучения языка в Дании

Reading time8 min
Views139K
В продолжение статьи "Дания: страна здравого смысла" хочу поделиться, как здесь организовано изучение датского языка для иностранцев.

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

Вначале — небольшая вводная, затем затронем техническую часть.

Зачем учить датский язык


Приезжим даётся 3 года, чтобы начать изучать язык за счёт государства, т.е. безвозмездно. Несмотря на это, я размышлял, стоит ли тратить на это несколько часов в неделю — ведь на нём говорит всего-то 5.7 млн человек.

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

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

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №59 (25 — 31 мая 2013)

Reading time7 min
Views30K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


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

Поддержка USB в KolibriOS: что внутри? Часть 1: общая схема

Reading time9 min
Views36K
Архитектура USB содержит несколько уровней. На самом низком уровне специально обученное железо, называемое хост-контроллером (host controller), общается с USB-устройством специальными сигналами. Сигналы кодируют биты, биты складываются в пакеты, пакеты образуют транзакции, транзакции составляют передачи (transfers).

Я рассказываю о программной поддержке USB, поэтому уровни ниже передач почти неинтересны: за них отвечает хост-контроллер. Зато важно, какой интерфейс представляет хост-контроллер софту. Сейчас распространены три интерфейса, и постепенно распространяется четвёртый:
Аббр. Название интерфейса Версия Код поддержки контроллера в KolibriOS
UHCI Universal Host Controller Interface USB 1.1 kernel/trunk/bus/usb/uhci.inc
OHCI Open Host Controller Interface USB 1.1 kernel/trunk/bus/usb/ohci.inc
EHCI Enhanced Host Controller Interface USB 2.0 kernel/trunk/bus/usb/ehci.inc
XHCI eXtensible Host Controller Interface (новый) USB 3.0 В KolibriOS ещё не поддерживается
На этом же уровне взаимодействия с контроллерами находятся файлы kernel/trunk/bus/usb/hccommon.inc, где реализованы некоторые функции, общие для всех контроллеров, и kernel/trunk/bus/usb/init.inc, который запускает всю подсистему. Впрочем, не торопитесь пока лезть в код — во-первых, я ещё не рассказала про то, чего же ожидают от него более высокие уровни, а во-вторых, после демонстрации общей схемы я вернусь к отдельным компонентам с подробностями.
И что же на более высоких уровнях?

Вы опасно некомпетентны в криптографии

Reading time7 min
Views142K
От переводчика: Хоть посыл статьи Najaf Ali, переведённой ниже, и носит слегка рекламный оттенок («оставьте криптографию нам, экспертам»), но описанные в ней примеры показались мне довольно интересными и заслуживающими внимания.
Кроме того, никогда не будет лишним повторить прописную истину: не придумывайте свою крипто-защиту. И эта статья отлично иллюстрирует почему.

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

Вышел Laravel 4

Reading time2 min
Views14K
Состоялся долгожданный релиз четвертой версии замечательного фреймворка.
Также обновился официальный сайт.

Быстрая установка


Для установки Laravel, скачать копию репозитория с Github.
Далее, после установки Composer, запускаем composer install команду в корневой папке. Composer скачает и установит все зависимости.
Читать дальше →

Оптимальный алгоритм игры в морской бой

Reading time4 min
Views996K
Пару дней назад я с удивлением узнал, что некоторые мои знакомые не умеют играть в морской бой. Т.е. правила они, конечно, знают, но вот играют как-то бессистемно и в итоге часто проигрывают. В этой записи я постараюсь изложить основные идеи, которые помогут повысить уровень вашей игры.
Читать дальше →

Дайджест интересных новостей и материалов из мира айти за последнюю неделю №58 (19 — 24 мая 2013)

Reading time6 min
Views24K
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


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

Ruby on Rails. Установка, настройка, начало работы

Reading time7 min
Views112K

Зачем.


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

Установка.


Просто и быстро ror ставится через rvm c rvm.io.

>\curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enabled


Запустить rvm:

>source /Путь_к_домашней_директории*/.rvm/scripts/rvm

*$HOME в дальнейшем.
После этого в $HOME/.bash_profile должна появиться строчка:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*


и при каждом открытии консоли rvm будет подгружаться, но у меня этого не случилось — пришлось ещё в $HOME/bashrc прописывать:

. ~/.bash_profile


Теперь всё точно должно быть хорошо.
Устанавливаем нужную(скорее всего это будет самая последняя) версию руби (сколько их и в чём отличие можно посмотреть здесь -http://www.ruby-lang.org).
>rvm install 1.9.3

Проверка на успешность создания
>ruby -v

должна вернуть более подробную информацию, вроде
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-linux].

В процессе установки я случайно установил несколько версий, что потом доставило некоторые неприятности). Посмотреть список установленных версий руби можно так:
>rvm list
Если версий несколько, то текущая будет помечена "=>", дефолтная — "*", а текущая и дефолтная — "=*". Поменять на нужную используемую версию можно так:
>rvm use ruby-1.9.2-p320 (любая нужная версия)

Чтобы поменять дефолтную версию руби пишем:
>rvm use ruby-1.9.2-p320 --default

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

Каким бы я хотел видеть свой первый проект на Symfony

Reading time5 min
Views25K
Вот уже полтора года я использую Symfony 2 для разработки web-приложений. За это время я трижды начинал новый проект, еще в трех проектах работал с унаследованным кодом, а также провел ревью около 15 тестовых заданий на знание фреймворка.

Наверное, было бы здорово иметь возможность вернуться на полтора года назад и дать себе несколько советов перед стартом своего первого проекта. Увы, это невозможно. Но может быть, мои советы могут пригодятся другим начинающим разработчикам на Symfony?

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

OVH: заказываем микро-сервер у крупнейшего хостера в мире

Reading time3 min
Views112K
OVH — на данный момент является крупнейшим хостинг-провайдером в мире, 120 тысяч серверов в Европе и еще 360 тысяч — в Канаде. Дичайшая конкуренция на французском рынке держит цены на низком уровне (особенно на трафик).

Интерес эта компания у многих вызывала давно, до 2011-года они вообще работали только с резидентами ЕС, после — регистрироваться приходилось в разных отделениях в разное время, оставалось много неясных (для меня) вопросов. Их я и решил прояснить.

Под катом — краткий рассказ о том, в какой валюте придется платить, как избавиться от НДС, какие документы требуют и краткий тест выделенного сервера на Atom-е за 10 евро в месяц.
Читать дальше →

Изображения: форматы и сжатие (1/3)

Reading time9 min
Views55K
Схематичное изображение PCX, GIF и PNG

На что при загрузке сайта расходуется больше трафика? Чаще всего это картинки, и их суммарный «вес» частенько в несколько раз больше, чем у разметки, скриптов и стилей. В файлах изображений распространенных форматов растровые данные хранятся в сжатом виде, и это значительно лучше, чем несжатый BMP. А если хочется ещё лучше? Ведь в достаточно крупных проектах каждый байт на счету (например, в TradingView, чего уж там скромничать).

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

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity