Как стать автором
Поиск
Написать публикацию
Обновить
30
0
Сергей Сахно @Punk_Joker

Software engineer

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

Развитие накопителей

Время на прочтение3 мин
Количество просмотров29K

У нас в планах есть рассказ о перспективных и интересных накопителях будущего, поэтому краткий обзор и немного систематизации будут полезны. Системы хранения — это отдельная область, которая вторична относительно носителей, поэтому её сейчас затрагивать не будем. Сильно в прошлое тоже нет необходимости, обойдемся SATA/SAS временами, новейшей историей, ближайшим будущим и красивыми картинками с цифрами.
Читать дальше →

История PCI — на пути к светлому будущему накопителей

Время на прочтение4 мин
Количество просмотров46K


Современная революция систем хранения данных невозможна без развития интерфейсов, с помощью которых диски подключаются к системе. Одним из главных «героев» этого фронта сейчас является шина PCI Express. Скоростные накопители в наше время работают с интерфейсом PCIe Gen2 x4, обеспечивая скорость до 20 Гб/с, но так было далеко не всегда.
Читать дальше →

Как научиться писать книги

Время на прочтение9 мин
Количество просмотров534K
Полгода назад здесь была опубликована статья, которая меня возмутила. В комментариях я обещал, что напишу свою версию. С другой стороны мне не хотелось этого делать, так как получу закономерные вопросы: «А ты собственно кто такой?». Не люблю подписываться в интернет-постах, у меня портилось мнение о многих писателях после того, как читал их жж-блог. Читаешь книгу, думаешь: «Классный чувак!», почитаешь блог, мнение меняется: «Что за кретин?». Такая разница возникает из-за того, что книга проходит пост-обработку, много раз редактируется.
Данная статья переписывалась несколько раз, в этом варианте, считаю, что она получилась наиболее взвешенной. Статья вполне подходит для хабрахабр, так как от людей технической направленности выходило немало известных произведений. И кому-то из вас захочется написать свою историю.

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

GIT для пользователей subversion (и др scm)

Время на прочтение4 мин
Количество просмотров6.3K
Git это еще одна системы для управления исходным кодом, аналогичная subversion, cvs и другим. Почему аналогичная, а не «новая», «быстрая» и тп? SCM (source code management) прежде всего инструмент, который позволяет выполнять операции необходимые для одного разработчика и команды в целом. При каждый инструмент имеет свои достоинства и недостатки.

В этой статье мы сосредоточимся на основных функциях, без сравнительного анализа (чтобы не повторять миллионы заметок в web). И покажем пример, как применять git при работе с subversion.
Читать дальше →

Про Git на пальцах (для переходящих с SVN)

Время на прочтение8 мин
Количество просмотров280K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...

how to: Как и зачем работать с svn через git

Время на прочтение3 мин
Количество просмотров63K
Добрый день!

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

SVN


Subversion — это централизованная система контроля версий. Это главный ее минус и главный ее плюс :)

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

Главный минус — это merge… Те, кто часто делает мерж средствами svn, понимает о чем я.
Это медленно (даже меееееееедлееенно), требует постоянного соединения с репозиторием, а еще эти svn-properties, которые мешают читать diff.
Читать дальше →

Работа с ветками SVN

Время на прочтение6 мин
Количество просмотров189K
Прежде чем приступать вообще к использованию веток, и даже если вы и не думаете их использовать, необходимо прочесть Этот Священный Талмуд.

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

Пиратство — двигатель прогресса. Научные исследования в области неконтролируемого копирования

Время на прочтение7 мин
Количество просмотров29K
image

После запуска проекта “Время менять копирайт” мы стали получать много различных отзывов и комментариев пользователей по существу предлагаемых нами реформ.

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

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

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

Добавление HDD в «капризный» ноутбук

Время на прочтение4 мин
Количество просмотров129K

О том, что в отсек оптического привода ноутбука можно установить жесткий диск через соответствующий адаптер, известно давно, и я решил заменить неиспользуемый DVD-привод на более полезный второй диск в своём ноутбуке Acer Aspire 5560G. Для этих целей был куплен адаптер Espada SS12, в него установлен жесткий диск, вся эта конструкция была установлена в освободившийся слот ноутбука, нажата кнопка питания и… ничего. Питание подаётся, оба жестких диска раскручиваются, светодиоды ноутбука светятся, вентилятор охлаждения тихонько крутится и чёрный экран.
Читать дальше →

Автоматизируем щелчки мышкой в Linux: xdotool

Время на прочтение4 мин
Количество просмотров50K
Эта очень короткая заметка на примере активации ключей в Steam описывает процесс автоматизации операций, выполняемых при помощи мыши и клавиатуры.

Допустим, вы купили несколько наборов игр Humble Bundle. Теперь у вас есть, например, 5 ключей для активации в Steam. А может быть 15 или даже 25. Вы очень не хотите активировать их вручную, потому что это слишком муторно: в клиенте Steam нужно каждый раз наводить курсор на меню «Games», щёлкать, потом наводить курсор на пункт меню «Activate a Product on Steam…», опять щёлкать, потом нажимать Enter, потом ещё раз Enter, и только затем наконец-то вводить ключ (а потом нужно подождать, ещё раз нажать Enter, затем Escape). А потом повторять то же самое для каждого последующего ключа. Как писал Леонид Каганов, стоило ли вообще ради такого «прогресса» спускаться с пальмы и брать в руки каменный топор?

В общем, вы решили этот процесс автоматизировать — тем более, что задача-то, на самом деле, очень простая. Для её решения нам потребуются консольные утилиты xdotool и xclip — убедитесь, что они установлены у вас в системе.
Читать дальше →

Как подружить MS Office и LibreOffice

Время на прочтение5 мин
Количество просмотров232K
image
Здравствуй, читатель! Ты когда-нибудь занимался переводом своего офиса/школы/института/друзей на Linux? Помнишь, как долго и упорно ты доказывал, что это — путь добра и света? А помнишь первую проблему, из-за которой пришлось все вернуть назад? Дай угадаю. Первый документ созданный в LibreOffice или OpenOffice отказался корректно открываться в MS Office? Слезы, сопли и мольбы оставить Linux ни к чему не привели? Утри нос, читатель! Под катом — о том, как подружить LibreOffice 3.5 и MS Office 2010 так, чтобы все везде открывалось одинаково.

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

Внутренности вордовских файлов: просто ужас

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

Не скрою, что и меня эти файлы интересовали, но дальше первой страницы описания я так продвинуться и не смог. Однако незакрытый гештальт остался.

А теперь вот жизнь заставила (или подкинула возможность) все-таки разобраться во внутренностях всем хорошо известных документов, тем более, что в Штирлица теперь играть не обязательно, достаточно скачать с сайта «Майкрософта» официальные спецификации.

Что тут можно сказать? Невольно вспоминается старый пошлый анекдот: ну ужас. Ну просто ужас, но ведь не ужас-ужас-ужас.
Читать дальше →

Shell – консольный Just for fun

Время на прочтение6 мин
Количество просмотров16K
Значительная часть операционной системы КолибриОС (ядро и большинство драйверов и программ) написаны на языке ассемблера. Тем не менее, программы на языках высокого уровня также есть. Сегодня пойдёт речь об одной из них.

До создания программы командной строки Shell у меня уже был опыт написания программ для КолибриОС. В основном, это были игры – Piton, Donkey, порт эмулятора ZX Spectrum, названный мною e80, порты консольных пятнашек и порт виртуального собеседника Eliza. Я развлекался, как мог.

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

Опубликован список open-source организаций, участвующих в Google Summer of Code 2014

Время на прочтение1 мин
Количество просмотров11K


Только что был опубликован список open-source организаций, участвующих в Google Summer of Code 2014. Google Summer of Code (сокращённо GSoC) впервые состоялся в 2005 году, а в этом году проводится в юбилейный, 10-й раз. В честь юбилея, Google обещал, что в этом году примет на 10 организаций больше, чем когда-либо в прошлом, и на 10% больше студентов, чем когда бы то ни было. Таким образом, в этом году были отобраны 190 open-source организаций (так как максимальное число принятых организаций составляло 180 в 2012 году).

Студенты, желающие принять участие в GSoC, могут начать знакомиться со списком организаций. Приём заявок от студентов в этом году начнётся 10 марта, и окончится 21 марта. Подробнее о GSoC (с точки зрения студента) можно прочитать в этом топике. Единственная разница с прошлыми годами — размер стипендии для студентов увеличили, и теперь она составляет 5,500$ США.
Читать дальше →

Участие в Google Summer of Code

Время на прочтение7 мин
Количество просмотров19K
Приветствую всех!

Думаю, многие слышали о студенческой программе Google под названием Google Summer of Code (GSoC). Если кратко, то суть программы заключается в следующем: проекты с открытым исходным кодом подают заявки, Google их рассматривает и выбирает определённое количество для участия, а затем к участию отбираются студенты силами самих проектов. Естественно, людей надо как-то мотивировать к участию, поэтому в течение тех 3-х летних месяцев, в течение которых студент будет работать, ему выплачивается стипендия в $5000 (в случае удачного завершения работы), его руководителю — $500. Лето уже близится, а это значит, что студентам скоро можно будет подавать заявки на GSoC 2012. Так как я не помню, чтобы на Хабре делились опытом участия в данном мероприятии, я решил это исправить и расскажу подробно о том, что необходимо для подачи заявки, как ее подавать и о дальнейшем участии. Буду рассказывать на примере своего участия в 2010 году. Кому интересно — прошу под кат.
Читать дальше →

Пишем «Hello world!» для KolibriOS на C

Время на прочтение3 мин
Количество просмотров23K
Многие люди задаются вопросом: «Можно ли написать программу на Си под KolibriOS?»
Ответ: «Да, можно!», и ниже я расскажу, как это сделать.


Для написания программы, нам понадобятся:
  • Компьютер или виртуальная машина с KolibriOS (если у Вас не установлена KolibriOS, её можно скачать с нашего сайта). Напомню, что KolibriOS для работы требует минимум 8MB RAM и Pentium-совместимый CPU.
  • Флешка (если Вы пишете код не в самой Колибри).
  • Компилятор TCC (Tiny C Compiler). Сборку для Колибри (mini_c_dev) можно скачать на нашем форуме. Тема с обсуждением ktcc (Kolibri TCC) находится здесь: board.kolibrios.org/viewtopic.php?f=45&t=565
Читать дальше →

MMU в картинках (часть 1)

Время на прочтение11 мин
Количество просмотров81K
Хочу поговорить об устройстве управления памятью (Memory Management Unit, MMU). Как вы, разумеется, знаете, основной функцией MMU является аппаратная поддержка виртуальной памяти. Словарь по кибернетике под редакцией академика Глушкова говорит нам, что виртуальная память — это воображаемая память, выделяемая операционной системой для размещения пользовательской программы, ее рабочих полей и информационных массивов.

У систем с виртуальной памятью четыре основных свойства:
  1. Пользовательские процессы изолированы друг от друга и, умирая, не тянут за собой всю систему
  2. Пользовательские процессы изолированы от физической памяти, то есть знать не знают, сколько у вас на самом деле оперативки и по каким адресам она находится.
  3. Операционная система гораздо сложнее, чем в системах без виртуальной памяти
  4. Никогда нельзя знать заранее, сколько времени займет выполнение следующей команды процессора

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

К сожалению, по какой-то причине все вышеперечисленные товарищи недостаточно почтительно относятся к MMU, а их знакомство с виртуальной памятью обычно начинается и заканчивается изучением страничной организации памяти и буфера ассоциативной трансляции (Translation Lookaside Buffer, TLB). Самое интересное при этом остается за кадром.
Читать дальше →

Python на Хабре

Время на прочтение7 мин
Количество просмотров454K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →

Опубликованы исходники эмулятора x86 на JavaScript

Время на прочтение1 мин
Количество просмотров18K
Исходники эмулятора x86 на JavaScript опубликованы около 1 часа назад на GitHub под лицензией BSD: github.com/copy/v86, а также доступны для скачивания в архиве tar.gz: copy.sh/v24/v86-latest.tar.gz

В самом эмуляторе на сайте автора теперь можно запустить, помимо уже существующих KolibriOS, Linux 2.6, FreeDOS и OpenBSD, также Windows 1.01, и даже поиграть в Reversi (правда, доступна только одна дискета):

Поддержка USB в KolibriOS: что внутри? Часть 5: уровень логического устройства

Время на прочтение7 мин
Количество просмотров7.2K
Обработка подключения устройства, начатая на уровне поддержки хост-контроллеров, остановилась, подготовив нулевую конечную точку устройства к работе. Уровень поддержки каналов предоставил методы работы с каналами. Самое время их применить для продолжения инициализации устройства: включается функция usb_new_device из bus/usb/protocol.inc.

Сейчас устройство мало что может: оно ещё не получило адрес на шине, ещё не сконфигурировано, может использовать только 100 мА питания от шины. В общем-то, всё, что устройство может, — это рассказать о себе в ответ на подходящие вопросы. Рассказ устройства о себе организован в виде дескрипторов. Подходящим вопросом считается команда GET_DESCRIPTOR, отправленная нулевой конечной точке; в команде должны быть указаны тип дескриптора, порядковый номер дескриптора среди всех с таким типом, длина данных для передачи. Каждая команда к управляющей конечной точке занимает 8 байт и может иметь или не иметь дополнительных данных, в некоторых командах некоторые поля не используются. Структура команд по байтам и используемые поля расписаны в главе 9 спецификации USB, здесь я буду только описывать входные и выходные данные для команд.

Уровень логического устройства имеет две задачи: во-первых, сконфигурировать устройство; во-вторых, расспросить его, загрузить соответствующий драйвер — или даже драйверы — и сообщить драйверу о новом устройстве.

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

Информация

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