hitech: (computer)
Friday, April 7th, 2017 02:21
Быть может, свадьба обошлась бы и без драки, но тут ди-джей включил саундтрек из «Мортал Комбат»…

У меня в программулине, которая бежит на Haiku OS внутри виртуальной машины VMWare, должен играть звук. Ну, всякие «пыщ-пыщ» и «пиу-пиу». Дописал кусок, запускаю — нет звука! Потыкался в настройки — звука всё равно нет. Переписал кусок кода — нет звука. Закомментировал свой код и вместо него впихнул готовый пример из официального руководства — нет звука!

Операционная система Haiku — попытка воссоздать операционку BeOS, а у BeOS была очень интересная фишка: документация для программиста была просто напичкана неработоспособными примерами. То есть выглядели они как настоящие, но не работали. Шутка была в том, что документация поставлялась в формате HTML, и, уж не знаю по какой причине, в примерах то тут, то там встречались всякие мерзопакостные юникодные символы. Ни один шрифт их отобразить не мог, поэтому внешне они были абсолютно незаметны, но при копировании текста замечательно копировались и вставлялись в окно среды разработки (оставаясь невидимыми, потому что среда разработки пользуется теми же самыми шрифтами, что и браузер). Это приводило к шизофренической ситуации, когда скопированный из официальной документации пример отказывался даже компилироваться, а перепечатанный вручную точно тот же пример, совпадающий с ранее скопированным до буквы (про невидимость символов помним?), замечательно компилировался и идеально работал. Не один программист разбил себе лицо о клавиатуру, пытаясь разобраться в причине этого явления; этот мем пробрался даже на ItHappens.

Я к тому, что неработоспособность официального примера из официального руководства я воспринял как дань традициям. Но мне это не сильно помогло.

Как я со звуком воевал, и как великий я его в конце концов подебил. )
Tags:
hitech: (computer)
Tuesday, May 21st, 2013 14:56
Моя сексуальная фантазия на выходные — выспаться во всех позах.
О злободневном. И даже немножко наболевшем.

Времени нет ни на что.

Про ультимативный индикатор и три других проекта, которыми я сейчас занимаюсь. Много букв! )

Где на всё это найти время, а?

Tags:
hitech: Основная иконка (Default)
Monday, March 25th, 2013 13:53
Последняя разработка для вашего компьютера! USB-унитаз. Совмещает все достоинства обычного унитаза и быстрый слив содержимого в Интернет.
Реклама нового гаджета.
— Что такое гаджеты?
— Это такие штуки, которые покупаешь, хвастаешься жене, она спрашивает, сколько они стоят, и говорит: «Ну и гад же ты»…
Энциклопедия мужчин.

В старые добрые времена у двухпроцессорного системника BeBox был замечательный аппаратный гаджет — так называемый «Blinkenlights», две полоски LED`ов на передней панели корпуса, демонстрирующие загрузку каждого из двух центральных процессоров в режиме реального времени.

Один из процессоров полностью загружен; второй получает только питание. Очевидно, пользователь отключил один из процессоров с помощью программы «Pulse».
Историческая справка )

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

Цель проекта: изучить программирование микроконтроллеров. Изучить программное использование USB-интерфейса и получить опыт в написании драйверов для самостоятельно собранных USB-устройств. Попутно — получить удовольствие.

Техническое задание: создать устройство на основе микроконтроллера Atmel AT90USB162, которое выводило бы на некий вид индикаторов информацию о компьютере, как то: загрузка на каждом из четырёх ядер, процентное соотношение занятой и свободной памяти, использование сетевого канала, отображение громкости проигрываемого звука — в общем или в какой-то полосе частот. Предусмотреть лёгкую и простую схему расширения функциональности с помощью дополнительных плагинов, подгружаемых на стороне компьютера, — если я завтра захочу, чтобы устройство отражало мне курс акций Google, мне не должно требоваться перепаивать всю схему. Передача данных осуществляется с помощью USB.

Предлагаемое решение и дополнительные задачи )
Tags:
hitech: (kolodec)
Sunday, September 11th, 2011 13:47
— Пусть тот, кто верит в телепатию, прочтёт мои мысли.
— Легко. Вы думали, что не верите в телепатию. Но я ведь вам доказал, что вы ошибались?
Разговор между скептиком и мистиком.

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

Часть первая. Зачин. )

Часть вторая. Откровение. )

Как, блин?!

hitech: (computer)
Saturday, July 23rd, 2011 17:59
— Как девушке узнать имя своего суженого?
— Проснуться в 3 часа в ночь перед Рождеством и посмотреть его паспорт.
Гадание на Рождество.

Есть такой способ гадания — формулируешь вопрос (обязательно связанный с собой), открываешь книгу на случайно выбранной странице, тычешь пальцем в случайно выбранное место и читаешь одно предложение. После чего пытаешься истолковать прочитанное в контексте своего вопроса, и, если повезёт, понимаешь ответ. В качестве книги торадиционно используется Библия, как Книга, содержащая все ответы в мире, даже Ответ На Главный Вопрос Вселенной, Жизни и Всего Такого1.

Читать дальше. )
Tags:
hitech: (kolodec)
Monday, May 3rd, 2010 17:31
Кактус — это глубоко разочаровавшийся в жизни огурец.
Жизненное наблюдение.

Сегодня у меня день сплошных разочарований.

Читать разочарования. )

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

Единственное (пока) хорошее событие за сегодня — после 45-минутной беседы научный руководитель крайне доволен продвижением проекта. Правда, в проекте ещё конь не валялся, (зато валялся кот), но научрук обнадёжил: он сказал, что остальные проекты в ещё более непотребном состоянии. Интересно, это означает, что они ещё даже название не придумали?..

Update: холодильник заполнили, кулер починили. Пью нормальный кофе. Жизнь потихоньку налаживается.

hitech: (computer)
Monday, July 20th, 2009 00:02
Я чувствую себя, как мокрая соль в солонке... Не высыпаюсь...
Автобиографичное.

На удивление, после перехода на Haiku мой проект EventEditor (о котором я говорил здесь, здесь и здесь) заработал всего-то после перекомпиляции. Даже удивительно. Пришлось, правда, откатить (читай: удалить к дьяволам) работу над одним классом, который и так не был особенно готов, но в целом проект собирается и работает. В августе я освобожусь от других дел, и надеюсь, что смогу вплотную заняться органайзером.

8.70 КБ
Tags:
hitech: (computer)
Monday, June 1st, 2009 22:17
— Запомни, Нео, есть два способа войти в Матрицу — либо интерфейсный кабель в затылок, либо силовой в ж░у.
Морфеус.

В рамках серии интервью с претендентами программы Google Summer of Code 2009 новостной сайт IsComputerOn опубликовал интервью со мной (на английском).

Пояснение для не-BeOS-ников: имя для сайта было выбрано не случайно. В интерфейсе программирования приложений (API) BeOS были определены две крайне полезные функции: int iscomputeron() и int iscomputeronfire(). Функция iscomputeron() при включённом компьютере возвращала 1, а при выключенном получаемое значение было не определено. Функция iscomputeronfire() возвращала 0, если компьютер ещё не полыхает, и неопределённое значение, если он уже загорелся. Поскольку можно предположить, что программы запускаются на включённом и незагоревшемся компьютере, (на самом деле мне очень сложно представить себе какую-либо другую ситуацию), было очень весело использовать эти функции вместо того, чтобы пользваться банальными и надоевшими true и false.

Tags:
hitech: (computer)
Wednesday, October 29th, 2008 18:00
...Мне некогда посещать собрания общества анонимных трудоголиков. У меня работы много...
Цитата с bash.org.ru.

Несколько месяцев назад я записался в OsDrawer — проект поддержки и развития опенсорсных программ под Haiku. Тогда я ещё думал выложить свои бессмертные программные творения на благо массового пользователя. Но, как обычно, сначала надо было эти творения подчистить, чтобы код выглядел красиво; убрать матюки излишне эмоциональные лексемы из комментариев; проверить корректную обработку всяких некорректных событий... Потом выяснилось, что времени у меня на это не так много, как я думал; потом начальство долго не давало мне разрешение* на публикацию моих работ под лицензией с открытым исходным кодом; а потом диск с исходниками благополучно глюкнул, и все мои гениальные творения канули в Лету. Аккаунт на OsDrawer остался, но пользоваться я им не спешил, ибо незачем. Так и не зашёл туда ни разу с момента записи.

И вот приходит ко мне письмо от OsDrawer. Основная идея — «Гы, чувак, ты нас ещё помнишь? У нас тут смена движка намечается! Мы будем такие крутые, что круче нас только горы и яйца после 20 минут варки!» И всё бы ничего, но вот использованное обращение меня буквально убило:

Скриншот под катом )

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


* Согласно договору, весь написанный мной код, в том числе и написанный в моё свободное время, является собственностью фирмы, и выпускать его «в свет» можно только с высочайшего разрешения начальства. Назад...

hitech: (computer)
Monday, July 23rd, 2007 01:36
Нельзя сказать человеку: "Ты можешь творить. Так давай, твори". Гораздо вернее подождать, пока он сам не скажет: "Я могу творить, и я буду творить, хотите вы этого или нет".
Айзек Азимов (1920 - 1992 гг.), писатель-фантаст, учёный-биохимик.

Несколько малозначимых, но достойных упоминания новостей:
  1. Текущее состояние органайзера.
    Мой Органайзер, который я пишу для BeOS, впервые за, наверное, четыре месяца получил очередной толчок. Подробности... ) Итого: сеанса через два-три у меня будет готовый редактор событий, и я смогу сделать парочку-тройку тестовых событий и приниматься за собственно органайзер, он же CalendarView.
  2. На работе мне поручили разработку крайне важного, нужного и полезного приложения, которое я уже полтора года как написал. Но сейчас будет второй релиз (запланирован на ноябрь-декабрь), с дополнительными функциями, собственным сайтом и тому подобной фигнёй. Работают над этой программой сейчас трое: куратор проекта, я (ведущий дизайнер и разработчик) и один товарищ, которого специально для этого проекта наняли (дизайнер и кодер). В общем, чем дальше, тем интереснее! Подозреваю, что интереснее всего будет к концу ноября. Вазелином придётся закупаться заранее...
  3. Для бешеной собаки дюжина вёрст не крюк, особенно если в амобилере.
    Макс Фрай.

    Мы с Шелей начали гулять по району. После тестового периода (2 недели с гулянками раз в 2 дня) уже третью неделю гуляем ежедневно, как штык. Длина маршрута колеблется от четырёх до семи километров, время в пути - от часа до часа сорока. Всё-таки есть что-то в рецептах [livejournal.com profile] vasha_tetya, спасибо ей большое: сейчас я уже не представляю себе вечер без похода, и хочется увеличивать маршрут. Такими темпами и до джоггинга докатиться можно! Искренне надеюсь, что до пауэрлифтинга я всё-таки не дойду. Кстати, ни на массе тела, ни на внешнем виде эти прогулки пока никак не сказываются, но чувствую я себя значительно лучше, вернулся в спортивную форму (догнать автобус спринтом на триста метров и не запыхаться при этом теперь для меня стандарт). Шеля утверждает, что эффект на объёме пуза и на весе проявится к сентябрю.

Вот такие новости.
hitech: Основная иконка (Default)
Saturday, February 17th, 2007 23:18
Помните: 60 кг. нераспечатанных листингов сберегают одно дерево.
Надпись над принтером у меня на работе.

Cкриншот CalendarControl`а.Пытаюсь прикрутить к своему очередному детищу средство ввода даты. В качестве такового выбран CalendarControl Алексея Сарикова (см. скриншот). Просто мне лень писать такую штуку самому, а лицензия этого контрола позволяет использовать его даже в коммерческих проектах, так что всё путём.

Эта штука распространяется в виде статической библиотеки. Скачал. Поставил. Компилирую свою программу. Не компилируется; ругается компоновщик: не находит конструктор этого CalendarControl`а.

Чёрт побери! )

А-а-а!!! Пошёл биться головой о стену. Может, чё умное в голову придёт... Или не умное...
...И последнее, что придёт тебе в голову, будет мой ботинок 45-го размера.
Duke Nukem.

Tags:
hitech: (computer)
Thursday, January 18th, 2007 01:34
В С, ты просто стреляешь себе в ногу.
В С++, ты случайно создаёшь 12 копий себя, а когда прекращаешь изумлённо таращиться, оказывается, что ты уже каждому выстрелил в ногу. А оказать медицинскую помощь невозможно, потому что ты не знаешь, кто на самом деле точная до бита копия тебя, а кто просто тычет пальцем во всех вокруг с криком "Это я, вон там!".
Старая шутка из USENET, взятая отсюда.


Я всё-таки решил эту особо сложную задачу! Чем убедительно доказал, что нет такой задачи, с которой человек не сможет справиться, особенно если у него есть знания, опыт, желание, время, Google и книжка Nicolai M. Josuttis "The C++ Standard Library, Tutorial and Reference"!

Два дня думал :) Но всё же нашёл способ сделать изменяемый критерий сортировки в не поддерживающем его std::set. И даже два разных способа!

PS: Спасибо [livejournal.com profile] shele4ka`е за книжку!
Tags:
hitech: Основная иконка (Default)
Tuesday, January 16th, 2007 03:06
Сложность программы имеет тенденцию расти экспоненциально, пока не превысит способности программиста.
Памятка разработчику.

Продолжаю работу над своим вьюером; переписываю ту часть, которая работает с жёстким диском.

Много компьютерных ругательств )

Итак, проблема изменения метода сортировки решена в теории, время воплотить идею в коде. С этой мыслью я забурился в книгу The C++ Standard Template Library, и в главе 14 (map и multimap) обнаружил задачу № 14.5:

Измените шаблонный класс map так, чтобы можно было менять правила упорядочивания после создания объекта.

Для справки: это именно то, что я собираюсь сделать. Не с map`ом, а с set`ом, но это близнецы-братья.

Около задачи - пометка жирным шрифтом: "очень сложно".

Ну как не вспомнить следующую цитату из великого Конфуция?
Незнание об опасности ведёт к массовому героизму.
Кун Фу Цзы.

Впервые за последние два года я буду решать задачу из учебника по программированию, причём не просто задачу, а Очень Сложную задачу. И не для кого-то, а для себя. И не потому, что больше делать нечего, а потому, что мне интересно. Мне жутко интересно - справлюсь ли я со страшным монстром STL (я с ним со времени учёбы не общался), с шаблонами (шапочное знакомство) и с пойнтерами на функции (вообще в первый раз вижу) одновременно?
Tags:
hitech: Основная иконка (Default)
Tuesday, January 9th, 2007 00:57
Человек гораздо умнее, чем ему это надо для счастья.
Заповедь сисадмина.


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

Написал код, отдебагил, запустил. Отключил свеженаписанное кэширование, сравнил. Без кэширования оно жрёт намного меньше памяти и, вроде бы, работает быстрее, хотя должно быть наоборот. Крепко задумался...
Tags:
hitech: Основная иконка (Default)
Monday, January 8th, 2007 00:28
Последняя разработка для вашего компьютера: USB-унитаз. Совмещает все достоинства обычного унитаза и быстрый слив содержимого в Интернет.
Один из инструментов разработчика.


Установил себе Zeta 1.21. Большего разочарования я не испытывал никогда.

При том, что BeOS - это наше всё, а Zeta 1.21 была одним из самых долгожданных апдейтов для BeOS-сообщества, у компании magnussoft получилось сделать на редкость сырой продукт. Я сумел продержаться в Zeta 1.21 только примерно три минуты.

Причина, которая меня убила - это интерфейс операционной системы.

Подробности и скриншот. )

Г-споди, ну неужели было трудно в конце производства взять англоязычного туриста, заплатить ему минимальную ставку и заставить просмотреть все окна и менюшки, тыкая пальцем в непонятные буквосочетания? Да, потеряли бы ещё немного денюжек, но по крайней мере не опозорились бы перед англоязычным миром, который всё же больше германоязычного...

Там есть и русская локаль тоже. Её я даже пробовать не стал. Русский инсталлятор в одной из старых версий Zeta жизнерадостно осведомлялся: "На этом разделе установлена Windows. Удалить этот ё6аный мастдай?"

Подсчёт потерь времени: 10 минут на установку Zeta 1.21, 3 минуты на работу и 1,5 часа на написание этого поста. Буду ждать Zeta 1.5, которая выходит в январе. Может, хотя бы там они переведут всё то, что не успели допереводить в Zeta 1.21... А пока я буду работать в своей старой доброй Zeta Neo.
Tags:
hitech: (computer)
Tuesday, December 26th, 2006 00:36
За одного битого 1/8 байтового дают.
Программистское.

Я впервые в жизни написал программу, подключающуюся и динамически линкующуюся со мною же написанной shared library. Понимаю, что не Б-г весть какое достижение, но я:
  1. сделал это сам, от начала и до конца, (до сих пор, во всех моих проектах, разбиванием кода на DLLки и линковкой занимались мои компаньоны),
  2. сделал это на BeOS. Не то, чтобы это так уж сильно отличалось от создания DLLек на Windows, но см. пункт 1.
Впереди - море новых возможностей. Теперь запускные файлы моих программ будут весить меньше!.. (А грузиться и работать - дольше, потому что при работе им придётся динамически линковаться с библиотеками).

And on completely different subject, поздравляю всех католиков с Рождеством!
Tags:
hitech: Основная иконка (Default)
Wednesday, December 20th, 2006 01:48
Пока еще не совсем готово, но мы уже
практически начали работать над вопросом.
Любой программист.

Пишу из BeOS, из клиента для ЖЖ, называемого Alive Journal. Пишу, и понимаю, что Semagic лучше. После того, как я нажму кнопку Send, мне придётся зайти на сайт ЖЖ и вручную отредактировать пост. Да ещё и тэги поставить, потому что эта версия Alive Journal вышла тогда, когда тэгов в ЖЖ ещё не было.

Это очень грустно - понимать, что кто-то бесплатно, да ещё и под Винду, чтоб она сгорела (имеется в виду burning новой версии), написал программу, значительно превосходящую лучший её аналог для BeOS. Это грустно - сознавать отсталость того, что мне нравится, чья судьба меня по-настоящему волнует. Ведь клиенты для LiveJournal - это не единственная область, в которой BeOS отстаёт от той же Винды. Взять, к примеру, вот это письмо.

51,65 КБ
Тем, кто не знает: вот как выглядит основное окно AliveJournal.


Что делать? )

Ведь стоит?
hitech: Основная иконка (Default)
Sunday, May 21st, 2006 17:36
"Отлаживание программы" - очищение программы от лажи.
(Глоссарий программиста).

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

  1. Теперь я могу просматривать картинки как вперёд, так и назад, (а раньше было только вперёд, вернуться на предыдущую просмотренную картинку было нельзя).

  2. При открытии программы, сразу загружается первая картинка (а раньше, из-за того, что первая картинка читалась с диска, когда не все конструкторы ещё отработали, показать её было нельзя).


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

Подробнее... )

Планы на будущее: )

В общем, будет весело. Скриншотов пока нет.
Tags:
hitech: (computer)
Monday, March 20th, 2006 17:54
Пользователь всегда прав, но компьютер об этом не знает.
(Учебник курса по основам программирования).

Пишу я свой вьюер. На днях я написал новый модуль доступа к жёсткому диску, позволяющий мне легко и непринуждённо работать разом с несколькими директориями и сохранять history. Но вот проблема: собственно проблема и её решение ) Пять часов на проблему, достойную медали за самую тупую ошибку в коде!

Может, бросить компьютеры и уйти в дворники?
Tags:
hitech: (computer)
Sunday, January 22nd, 2006 14:08
Если в кране нет воды, то всему виной Винды!!!
Любой UNIX`оид.

Например, за неделю в рамках самообучения можно с нуля написать под операционную систему BeOS маленький просмотрщик для графических файлов a-la Windows Picture and Fax Viewer. С функциональностью, которая и не снилась ни одному другому просмотрщику. Чего стоит только (скрытая на скриншоте) опция File > Crash the system. Как проходило тестирование этой опции - я рассказывать не буду.

Общий вид:

Посмотреть в полный размер, 128,75 КБ )

Особенно я горжусь иконками в меню. Вставить в BeOS иконки в меню - задача нетривиальная.
36,62 КБ

Спасибо [livejournal.com profile] shele4ka за идею, поддержку и иконки, которые заменят представленные на скриншоте.
Tags:
hitech: Основная иконка (Default)
Thursday, June 30th, 2005 16:48
Потихоньку приобретаю авторитет в BeOS-коммьюнити - на мой труд (трёхлетней давности :-[) начинают ссылаться! :-)

http://www.qube.ru/forums/item/beginner/message/21691

Пойду домой лопаться от гордости.
Tags: