Обновить
37
0
Алексей Дубинин@lxyd

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

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

I2P: Принципы функционирования основных сервисов сети

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


Сегодня мы поговорим о том, что такое NetDB, SusiDNS и о начальной инициализации сети I2P.

Совсем скоро интернет в России станет не свободным, уже сейчас различные провайдеры блокируют те или иные сайты.

И у заблокированного ресурса есть два пути:
1) Надеяться, что пользователь будет заходить на сайт через proxy/VPN
2) Перенести сайт в децентрализованную, анонимную сеть
Читать дальше →

Kaylee: распределённые вычисления в браузере

Время на прочтение3 мин
Охват и читатели14K
В 1999 году проект SETI@home предложил пользователям предоставлять ресурсы своих персональных компьютеров для анализа радиосигналов из космоса в целях поиска внеземного разума. В рамках этого проекта в университете Berkley была разработана платформа BOINC (Berkeley Open Infrastructure for Network Computing), на основе которой впоследствии были запущены уже упомянутый SETI@home, ABC@home (доказательство abc-гипотезы), Climateprediction.net (улучшение климатических моделей), LHC@home (симуляция столкновений высокоэнергетических частиц) и другие.

И всё бы хорошо, но для работы BOINC требуется выполнение одного обязательного условия: пользователю требуется скачать, настроить и запустить клиентскую часть. Как же быть, если по каким-либо причинам это невозможно сделать? И как было бы здорово просто кликнуть по ссылке в браузере и вмиг превратить компьютер в звено большой вычислительной сети!

С этими мыслями я взялся за написание Kaylee.

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

Обзор бюджетных аудиофильских наушников

Время на прочтение15 мин
Охват и читатели164K
Настает время, когда человек, слушая музыку, понимает, что удовольствие от этого процесса можно заметно увеличить, например, прикупив качественный плеер с наушниками. В этой статье, я решил сделать детальный обзор наушников, которые будут по душе начинающим аудиофилам. Из нескольких сотен моделей, представленных сегодня на рынке, я постарался отобрать самое лучшее, самое топовое и популярное, но тем не менее уложиться в скромный бюджет 10 тыс. рублей. Слушая, изучая форумы, читая обзоры и анализируя тесты, я выполнил детальный анализ шести пар наушников, которые должны заинтересовать потенциального покупателя.

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

Очередь тяжелых заданий на bash

Время на прочтение3 мин
Охват и читатели30K
Доброго времени суток, хабражители и хабрачитатели!
Возникла у меня недавно следующая задача: требуется мониторить определенный каталог на наличие файлов, и, в случае появления в нем файла необходимо этот файл перенести в более безопасное другое место, и запустить на нем довольно длительную обработку. Казалось бы, все просто, однако ситуация омрачается тем, что нельзя делать обработку одновременно нескольких файлов (обработка тянет файлы с буржуйских серверов, которые не позволяют качать много всего с одного IP).
На ум сразу же пришла очередь заданий (FIFO), которую хотелось бы сделать на bash (чего уж далеко ходить). Желающих получить готовое решение — прошу под хабракат.

Статья расчитана на начинающих, которые впервые слышат буквосочетание FIFO применительно к bash.
Читать дальше →

Создание стереограммы на основе трехмерной модели

Время на прочтение7 мин
Охват и читатели32K
На Хабре уже писали о простом алгоритме создания стереограмм. Стереограмма в нём генерируется на основе карты высот и изображения с повторяющимся рисунком. В данной статье я хочу описать другой подход к созданию стереограмм – на основе трехмерной модели. Основные отличия описанного здесь алгоритма от алгоритма, указанного выше:

  • вместо карты высот (которая по сути представляет из себя карту смещений пикселей по горизонтали) объекты задаются непосредственно в трехмерных координатах;
  • нет ограничений на количество объектов и их расположение (за исключением того, что все они должны находиться в поле зрения и на некотором расстоянии от плоскости стереограммы – для того, чтобы их можно было увидеть), тогда как при использовании карты высот мы имеем дело только с одним слоем;
  • созданная стереограмма обладает перспективой (чем дальше от наблюдателя находится объект, тем меньшим он выглядит);
  • вид объекта зависит от ракурса, с которого он виден (как и для реальных объектов).

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

Какая команда в консоли отнимает у вас больше всего времени?

Время на прочтение4 мин
Охват и читатели25K
У меня — 'cd'.

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

Но должны же быть решения!



В моей любимой оболочке zsh есть такая возможность — «разворачивание» путей по нажатию : например, "/u/in/sy" -> "/usr/include/sys/"

В остальных оболочках можно приноровиться и использовать $CDPATH или pushd/popd, но лично мне это до сих пор кажется неудобным.

А еще есть пара утилиток для ускоренной навигации. Самая известная из них, пожалуй, autojump. Она следит в каких папках пользователь проводит больше всего времени и позволяет указывать только фрагмент пути к папке. Например "incl" приведет вас в "/usr/include", если вы там часто бываете.

Autojump вдохновила другого разработчика на создание утилиты "z". "Z" использует в качестве критерия для перехода т.н. "frecency" - комбинацию частоты посещений папки (frequency) и времени последнего перехода туда (recency).

Обе утилиты хороши по-своему, и я так бы и пользовался autojump или z, однако что-то мне не давало покоя. А недавно я услышал одну фразу:

If the product is used as a tool, its interface should be as unintelligent as
possible. Stupid is predictable; predictable is learnable; learnable is usable.


И тут я понял что самое время придумать свой велосипед. Не-intelligent. Тупой и удобный.
Читать дальше →

Unix как IDE: Компиляция

Время на прочтение4 мин
Охват и читатели59K
Под Unix существует множество компиляторов и интерпретаторов, но здесь мы будем обсуждать лишь gcc как средство компиляции C-кода, и коротко коснемся использования perl в качестве примера интерпретатора.

GCC



GCC — это набор компиляторов, обладающий очень почтенным возрастом и распространяемый под лицензией GPL. Он известен как инструмент работы с программами на C и C++. Свободная лицензия и повсеместная распространенность на Unix-подобных системах стали залогом его неизменной популярности, хотя есть и более современные альтернативы, использующие инфраструктуру LLVM, такие как Clang.
Читать дальше →

Unix как IDE: Работа с текстом

Время на прочтение6 мин
Охват и читатели29K
Текстовый редактор — это основной инструмент для любого программиста, вот почему вопрос его выбора становится причиной яростных дебатов. Unix традиционно тесно связан с двумя своими многолетними фаворитами, Emacs и Vi, и их современными версиями GNU Emacs и Vim. Эти редакторы имеют очень разный подход к редактированию текста, но при этом сравнимы по мощи.

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

Button c обведенным(stroke) шрифтом на Android

Время на прочтение5 мин
Охват и читатели13K
image
Понадобился мне для проекта один специфический элемент — кнопка с обведенным шрифтом. Казалось бы, что тут такого — google точно должен был это предусмотреть. Но, как оказалось, стандартными способами это сделать нельзя и нужно покопаться под капотом Button. Начал я свои поиски с тени для шрифта.
Но попытка сделать stroke шрифт таким способом провалится —
во-первых, линия вокруг букв будет размытой тем больше, чем больше вы укажете число в shadowRadius;
во-вторых, нельзя изменить ширину линии.
Немного поразмыслив, я реализовал класс, который делает все что требуется. Кого заинтересовало — прошу под кат.
Читать дальше →

Эта бесконечная гирлянда

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

Удивительно, что такая книга, как эта, до сих пор не была замечена на Хабре. Не могу не попытаться исправить этот недочет.
Итак, хочу представить вам книгу американского информатика Дугласа Роберта Хофштадтера «Гедель, Эшер, Бах: эта бесконечная гирлянда».

Ахилл: Вот если бы книга называлась «Гориллы, серебро, золото» или «Эму, золото…» — тогда бы я еще мог понять…
Черепаха: Может быть, вы предпочли бы «Медь, серебро, бабуины»?


Будучи написано более тридцати лет назад, это невероятное произведение ничуть не утратило своей интересности.

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

Message dispatching на D

Время на прочтение10 мин
Охват и читатели2.8K
Многие разработчики игр сталкиваются с проблемой описания и реализации протокола общения клиента и сервера, особенно если пишут свои велосипеды для работы с сокетами. Ниже я расскажу о моей попытке решить задачу как можно элегантнее и удобнее для дальнейшего использования и масштабирования приложения. Будет много compile-time'a с автоматической кодогенерацией, нежно приправленный щепоткой run-time'a.
Читать дальше →

Vim :bw, :bd, :bun, :quit, :close. Что со всем этим делать?

Время на прочтение3 мин
Охват и читатели11K
Vim имеет множество команд для закрытия чего угодно и в каких угодно сочетаниях, но чего он не умеет так это закрывать все одной командой. Человеку который начал использовать Vim недавно, это может показаться довольно странным. Попробуем разобраться, как исправить эту ситуацию.
Читать дальше →

Розалинд — платформа для изучения биоинформатики

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

Широко известны сайты для решения олимпиадных задач по программированию, такие, как, например, TopCoder и Codeforces, а также сборники математических задач-головоломок, например, Project Euler. За последний год произошёл бум онлайн образования: возникли стартапы Coursera и Udacity, предоставляющие онлайн курсы от топовых университетов США… но для тех, кто хочет изучить биоинформатику, пока ничего нет.

Розалинд — проект, разрабатываемый в Санкт-Петербуге и University of California, San Diego с мая 2012 года, как раз заполняет эту нишу. Это платформа для обучения биоинформатике с помощью решения задач, бесплатная и открытая.
Читать дальше →

Kiosk Mode приложения на Android

Время на прочтение4 мин
Охват и читатели69K
Привет Хабр. Многие из нас каждый день трудятся на определёнными приложениями, создают что-то своё или выполняют требования нерадивого заказчика. Одним из таких требований может быть что-то вроде: «Хочу что бы из приложения нельзя было выйти, не хочу чтобы можно было делать что-то ещё, кроме как находится в моём приложений». В этом топике хочу поделиться мыслями, как же такое сделать.

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

Continuous Integration для Android

Время на прочтение7 мин
Охват и читатели18K
После реализации пары проектов под Android, стало понятно, что, несмотря на их небольшие размеры и кажущуюся простоту, без автоматизированных сборок и тестирования не обойтись. Родилось желание получить следующие возможности:
  • unit тестирование,
  • интеграционное тестирование,
  • тестирование интерфейса,
  • тестирование этих типов тестов на различных версиях Android и конфигурациях девайсов,
  • рассылка по email в случае сломанного билда;
  • таже не помешает автоматическая сборка релизов.
Читать дальше

Android — Сontinuous Integration. Часть 1

Время на прочтение3 мин
Охват и читатели20K
Не буду описывать в сотый раз что такое CI и зачем это нужно. Выдумщиком данной концепции считается, не безизвестный, Мартин Фаулер, а с его трудом можно ознакомиться здесь.

Я же хочу в серии из нескольких статей рассказать о том, как организовать разработку Android приложений с использованием непрерывной интеграции. Для меня было неожиданностью, что несмотря на всю популярность CI, в интернете до сих пор не существует подробной инструкции, по шагам, для новичков, даже на английском языке, не говоря про русский (ну или я таких попросту не нашел).

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

Шаблоны проектирования: нарушать правила иногда бывает полезно

Время на прочтение11 мин
Охват и читатели7.8K
Это перевод оригинальной статьи Design Patterns: When Breaking The Rules Is OK

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

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

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

Написание музыки в Linux: что есть прямо сейчас

Время на прочтение9 мин
Охват и читатели131K
Недавно я прочитал о том, что Гэйб Ньюэлл всерьёз настроен на то, чтобы перенести хорошие и качественные игры в Linux. Как он считает, это именно то, чего не хватает, и что на данный момент ограничивает развитие платформы. Безусловно, он прав. Тем не менее, лично для меня есть и другая область, которая мне даже намного важнее, чем игры — это музыка. Если без игр я могу обойтись, то музыка для меня необходима — как, впрочем, и для многих других людей.

Рабочее место Niels Ott
На картинке ­— рабочее место Niels Ott, на компьютере запущен Ardour.

Моя жена тоже музыкант, и когда она увидела, какие секвенсоры и синтезаторы есть в Linux — она даже не стала пытаться в них разобраться, просто вернувшись к своим Cubase и Reason. На её ноутбуке есть Windows 7, и когда она пишет музыку, она просто перезагружается туда и запускает там эти программы.

Я же, пользуясь Linux уже около 10 лет, не могу так просто отказаться от того, чтобы хотя бы пробовать имеющиеся программы. В принципе, могу точно сказать, что за 10 лет всё очень сильно изменилось в лучшую сторону. И всё же то, что сейчас есть под Linux для написания музыки, очень далеко от идеала. Давайте вместе разберёмся, почему бо́льшую часть музыки всё ещё пишут на Mac OS X или Windows.
Читать дальше →

Вещи, которые я не знал о WebKit inspector

Время на прочтение2 мин
Охват и читатели5.8K
Прочитав статью jtaby.com/2012/04/23/modern-web-development-part-1.html я узнал несколько полезных вещей, напишу-ка я их здесь дабы не забыть.
Читать дальше →

Бесплатные книги по JavaScript

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

Javascript Enlightenment


Cody Lindley


Уровень знаний: средний
Тщательный обзор мировоззрения JavaScript через разбор встроенных объектов и нюансов.

Открыть

Eloquent Javascript


Marijn Haverbeke


Уровень знаний: начинающий
Вводная книга по JavaScript и программирование в целом.
Открыть

Building A JavaScript Framework


Alex Young


Уровень знаний: продвинутый
Избранные статьи из цикла«Let’s Make a Framework».
Открыть

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

Информация

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