Pull to refresh
19
0
Viacheslav Lotsmanov @unclechu

Haskell enthusiast

Send message

Робот-разведчик на Ubuntu и Node.js

Reading time2 min
Views6.4K


Группа университетских сотрудников в ходе своей квалификационной работы собрала модель робота, предназначенного для работы в опасных условиях, таких как военные действия или места катастроф. Самым любопытным моментом здесь, скорее, является не сам факт наличия такого робота — подобного уже хватает — а то, что робот управляется компьютером с установленной Ubuntu, при этом возможность асинхронного выполнения операций манипуляторами робота обеспечивается при помощи Node.js.
Узнать подробности

Графический стек Linux

Reading time19 min
Views105K
(оригинал — Jasper St. Pierre, разработчик GNOME Shell, взято отсюда)

Это обзорная статья о составных частях графического стека Linux и том, как они уживаются вместе. Изначально я написал её для себя после разговоров об этом стеке с Оуэном Тейлором, Рэем Строудом и Эдэмом Джексоном (Owen Taylor — мэйнтейнер Gnome Shell; Ray Strode — мэйнтейнер большого количества десктопных пакетов сообщества RedHat; Adam Jackson — разработчик графического стека Gnome Shell и интеграции с XOrg; прим. переводчика)

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

Визуальный редактор XUL Gear стал расширением Firefox

Reading time2 min
Views2.8K
В поиске инструментов, облегчающих жизнь начинающему разработчику расширений для Firefox, я наткнулся на XULPIX — простой, но достаточно мощный визуальный редактор для разработки графическиx пользовательских интерфейсов на основе XUL. С тех пор слежу за нелегкой судьбой проекта — автор не смог его развивать. После передачи другому разработчику проект был переименован в XUL Gear и, после долгого застоя, инструмент выпущен в виде расширения к Firefox.

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

JavaScript-фреймворк Meteor получил 11 миллионов долларов инвестиций

Reading time2 min
Views12K
Необычный и амбициозный фреймворк Meteor, пребывая в статусе preview (текущая версия — 0.3.8) уже получил 4500 подписчиков на Гитхабе и восторженные отзывы сооснователя Facebook Дастина Московица. Теперь на него обратили внимание акулы венчурного капитализма. Основным инвестором стал фонд Andreessen Horowitz. По словам Джефа Шмидта — CEO Meteor Development Group, одиннадцать с лишним миллионов гарантируют активную разработку проекта на протяжении ближайших нескольких лет.


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

Централизованная обработка исключений в Node.JS

Reading time6 min
Views9.8K


Преамбула от переводчика: пару месяцев назад я искал решение для возможности использовать исключения в сервере игры, написанном на node.js. К сожалению, исключения в чистом виде не совсем совместимы со средой, работающей на event loop'е. Легче всего это объяснить на примере:
try {
    process.nextTick(function() {
        throw new Error('Catch Me If You Can');
    });
} catch (e) {
    console.log('Exception caught:', e);
}

Это исключение, разумеется, не будет поймано, и оно уронит весь процесс. Месяц назад увидел свет node.js версии 0.8.0 со свеженьким (экспериментальным) модулем domain, который как раз призван решать подобные проблемы. Тем не менее, я бы хотел отдать дань классу, которым я пользуюсь до сих пор. Поехали:
Читать дальше →

Интерактивные уроки Python на Codecademy

Reading time1 min
Views66K
Школа программирования Codecademy открылась в августе прошлого года: за это время миллионы человек изучили основы JavaScript, HTML, CSS и jQuery. Кураторы проекта решили, что пришло время расширить программу обучения с фронтенда на серверную часть — и запустили уроки по Python.

Часть 1: Синтаксис Python (16 упражнений)
  1. Переменные и типы данных
  2. Пробелы и выражения
  3. Комментарии
  4. Математические действия
  5. Проверка (практические задания)
Проект: калькулятор чаевых (5 упражнений)

Уроки проходят в традиционном интерактивном режиме. Пользователь читает инструкции, вводит команды в окно терминала — и сразу видит реакцию системы.
Читать дальше →

Как устроен GIL в Python

Reading time6 min
Views128K
Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.

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

Знакомство с wxPython. Часть первая. Первые шаги

Reading time5 min
Views71K
Доброго времени суток!

image

Введение


Когда-то я вам уже рассказывал о связке Ruby/Tk. Сегодня я собираюсь продолжить знакомство с «быстрыми интерфейсами». На этот раз я расскажу вам о wxPython, а писать мы будем на Python.
На самом деле, wxPython является лишь обёрткой для библиотеки wxWidgets, который в свою очередь представляет графический тулкит, который позволяет писать кроссплатформенные приложения.
Читать дальше →

FLAC-декодер на Javascript

Reading time1 min
Views6K
Ребята из Official.fm Labs задумали совершить настоящую звуковую революцию в вебе: две недели назад они выпустили FLAC.js — декодер аудиофайлов формата FLAC (Free Lossless Audio Codec), а также Aurora.js — фреймворк на CoffeeScript для простого подключения декодеров и создания веб-приложений, работающих со звуком. Таким образом, через Web Audio API теперь можно слушать музыку в идеальном качестве, и все веб-приложения могут обращаться к звуковой карте стандартным образом.

Демо

JavaScript уже так могуч, что браузер декодирует звук, потребляя менее 5% ресурсов CPU. Можно представить, какие крутые звуковые редакторы, миксеры и прочие аудиоприложения появятся в вебе в ближайшее время.

Работающий трансформатор с деревянным сердечником, или простая грозозащита для компьютеров и телевизоров

Reading time10 min
Views98K
У великого русского поэта Тютчева не было компьютера и сети, иначе он бы не писал: «Люблю грозу в начале мая». В последние годы актуальность грозозащит стала поменьше — оптика, беспроводные технологии, но все же все же.
Если к вам в квартиру заходит кабель, и этот кабель — не оптический, гроза представляет угрозу для вашего оборудования.

Если у вас есть телевизор и он подключен к общей сети — кабельное ТВ, коллективная антенна (вдруг) — к чему угодно, что находится за пределами квартиры, гроза представляет угрозу для телевизора, (причем даже бОльшую, чем для компьютера).
Будем защищаться

Я не знаю ООП

Reading time12 min
Views554K
Я не умею программировать на объектно-ориентированных языках. Не научился. После 5 лет промышленного программирования на Java я всё ещё не знаю, как создать хорошую систему в объектно-ориентированном стиле. Просто не понимаю.

Я пытался научиться, честно. Я изучал паттерны, читал код open source проектов, пытался строить в голове стройные концепции, но так и не понял принципы создания качественных объектно-ориентированных программ. Возможно кто-то другой их понял, но не я.

И вот несколько вещей, которые вызывают у меня непонимание.
Читать дальше →

«Паренные пингвины», или Valve рассказывают о своих планах на Linux

Reading time3 min
Views5.8K
image

Последние несколько месяцев всё чаще и чаще стали появляться слухи о том, что Valve продолжают приглашать ведущих разработчиков под Linux в свои ряды. Сегодня Valve открыли свой новый блог под названием «Valve Linux», и перед вами перевод первой записи этого блога:

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

Законопроект № 89417-6 принят во втором и третьем чтении

Reading time5 min
Views15K
википротестУвы, протест Википедии, ВКонтакте, Яндекса, БашИма, ЖЖ и многих других ни к чему не привёл. Как сообщает в твиттере и на сайте Лента.ру со ссылкой на ТАСС, проект был принят большинством голосов Единой России. Во втором чтении принят 441 голосом, в третьем — 434 голосами (по данным твиттера КПРФ). Хотя и в него и были введены некоторые поправки.

ВАЖНО! Совет при Президенте не одобрял принятие закона, см. UPD13 под катом. А как же тогда он прошёл так легко?
Так же стало известно, что список будет публичным. См. UPD14.
По закону специальная организация будет мониторить Сеть и обращаться в Роскомнадзор в случае, если обнаружит на сайте детскую порнографию, инструкции по производству или приобретению наркотиков или советы по осуществлению самоубийства.
Лента.ру

Официальное объявление уже появилось на сайте законопроекта, новостные сайты, видимо, готовят подробные репортажи (если есть интересные, прошу ссылки постить в комменты). Но мы здесь уже можем начать обсуждение: к чему может привести этот закон в мире IT, что делать дальше и прочее. В пост будут добавляться ссылки на другие источники по мере их появления.
Больше ссылок и подробностей

Парсинг BEncode на JavaScript. Просмотр торрент-файлов в Firefox

Reading time10 min
Views6.4K

I. Зачем


Есть несколько способов просматривать торрент-файлы: в торрент-клиенте, в BEncode Editor, в файловых менеджерах с плагинами, возможно в сетевых сервисах (но это немножко стрёмно).

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

— узнать содержимое раздачи;
— узнать количество файлов в раздаче;
— узнать информацию о файлах (некоторые трекеры очень снисходительны к неполноте описаний, а в торрент-файлах появляется всё больше информации о файлах — например, разрешение, видео- и аудиокодеки, продолжительность фильмов и т. д.);
— узнать информацию о самом торрент-файле (время создания, трекеры, флаг приватности и т. д.);
— иметь возможность текстового поиска по всей информации.
Читать дальше →

Осовремененный Unix Way или pipe в браузер

Reading time2 min
Views3.7K
Наверное, каждый, кому когда-нибудь приходилось следить одновременно за большим количеством окошек с логами, подумывал о переносе некоторых из них на экран планшета или телефона.
А, находясь далеко от компьютера, следить за выхлопом недавно запущенного большого и страшного сервиса?
Конечно, можно поставить ssh клиент на телефон, но это не особо удобно.
Поэтому я решил сделать мини-сервис упрощающий «удалённый» просмотр логов.

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

Отправляем заявление в Государственную Думу по законопроекту №89417-6

Reading time2 min
Views29K
image Добрый день всем, кто озабочен проблемой Законопроекта №89417-6 (предлагаемых поправок к закону «Об информации»).

Если вы хотите написать заявление в Государственную Думу, но не знаете, как это сделать, я подготовил пошаговую инструкцию и текст обращения.
Читать дальше →

Привет из свободного от libc мира! (Часть 1)

Reading time5 min
Views30K
В качестве упражнения я хочу написать программу на С. Достаточно простую для того, чтобы дизассемблировать ее и объяснить весь код самой себе.

Звучит несложно, правильно?

У читателя предполагается наличие опыта компиляции программ и работы в Линуксе. Небольшое умение читать ассемблерный код тоже пригодится.
Читать дальше →

7 типичных русских проблем в английской речи

Reading time10 min
Views254K
South Park
Предметом данной статьи является попытка систематизировать культурные различия, и типичные ошибки которые мы допускаем с нашими иностранными коллегами. Большинство примеров взято из книги Русские проблемы в английской речи. Я взял на себя смелость в небольшой популяризации данной темы, снабжению комментариями и собственными примерами.

1. Я прав, а ты нет
Читать дальше →

Разбор Wave файла на JavaScript

Reading time6 min
Views7.4K
icon
Сделано под вдохновением этого топика.
Обычный JavaScript, к которому все привыкли, не даёт средств работы ни с файловой системой, ни с двоичными данными, поэтому все описанное ниже будет про node.js.
подробности

Information

Rating
Does not participate
Registered
Activity