Правильное создание ассоциаций файлов в Windows

На днях столкнулся с интересным багом в своей программе.
При попытке зарегистрировать ассоциации файлов от обычного пользователя возникали ошибка, а от администратора всё происходило нормально. Такая закономерность подсказывает что дело в правах доступа к веткам реестра. И оно оказалось именно так!

Смотрим: на большинстве форумов и статей на сайтах предлагается записывать в HKEY_CLASSES_ROOT. Если посмотреть в реестре, то да, там все наши ассоциации файлов. Но не привилегированному пользователю туда писать НЕЛЬЗЯ.

( Читать дальше )
  • +12
  • 13 февраля 2011, 17:07
  • Mihael
  • 9

Особенности запуска "DOS" программ из под "Slax".

Поскольку большая часть моей работы связана с BC++, QB45, TC++ под DOS, то очень хотелось иметь DOS — совместимую ОС с возможностью загрузки с «системной» flashки.





( Читать дальше )
  • +10
  • 04 февраля 2011, 17:22
  • Markony
  • 4

Бинарные консольные часы

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



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

perl -e 'for(;;)[email protected]=split("",`date +%H%M%S`);print"\r";for(0..5){printf"%.4b ",$d[$_]}sleep 1}'




А вот эта команда —

read -a A<<<".*.**..*....*** 8 9 5 10 6 0 2 11 7 4";for C in `date +"%H%M"|fold -w1`;do echo "${A:${A[C+1]}:4}";done


выдает текущее время в более похожем на светодиодную матрицу формате.

...*
.*.*
....
.*..


Полезно для преподавания систем счисления в школе.
  • +12
  • 04 декабря 2010, 18:14
  • yababay
  • 2

Архив с датой в имени файла

Давно искал нечто подобное. Как ни мощна утилита date, но запомнить необходимые ключи для превращения даты в строку вида «2010-11-17» довольно затруднительно. Во-первых, вместо привычного знака ключа в виде минуса нужно помнить, что при форматировании используются знаки "+" и "%". Во-вторых, логику в форматах обнаружить довольно сложно:

$ date +%F
2010-11-17


$ date +%Y-%m-%d
2010-11-17


Т.е. нужно держать в голове, что Y должно быть заглавное, а m — месяцы, а не минуты (минуты — M). А еще месяцы могут обозначаться как %b, %B. К тому же в некоторых языках программирования нумерация месяцев начинается с 0 и это тоже требует некоторых мозговых усилий. Т.е. каждый раз при формировании строки начинаются «пробы и ошибки», заканчивающиеся чтением man'а и тихими матюгами.

Оказывается, всё гораздо проще:

$ date --iso
2010-11-17


ISO — система международных стандартов, в которой, помимо всего прочего, описывается как формировать строку для обозначения даты. Именно такие строки-даты используются, например в SQL. Они правильно сортируются, свободны от проблемы 2000, понятны для восприятия (от большего, т.е. года, к меньшему, т.е. дню месяца).

А создать архив, содержащий в имени файла дату своего создания, можно так:

tar cfz backup-$(date --iso).tar.gz somedirs


или так

tar cfz backup-`date --iso`.tgz somedirs
  • +8
  • 18 ноября 2010, 02:36
  • yababay
  • 1

О сколько нам открытий чудных...

Тяжела и неказиста жизнь простого программиста!



Программа загрузчик, чей фэйс показан в начале статьи работала всегда верой и правдой, выручала меня неоднократно и вдруг…

( Читать дальше )
  • +7
  • 03 октября 2010, 15:38
  • Markony
  • 7

Пол Грэм: Языки программирования через сто лет

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

Я считаю, что похожая судьба ждёт и Джаву. Люди спрашивают меня: «Как можно говорить, что Джаве не быть? Она уже стала успешным языком». И я не могу не согласиться с ними. Джава — успешный язык, если считать мерилом успеха площадь полок с учебниками Джавы в книжных магазинах или количество студентов, убеждённых, что знание Джавы поможет им найти работу. Я имел в виду другое. Мне кажется, Джава окажется таким же эволюционным тупиком, как Кобол.

Это лишь гипотеза. Я могу ошибаться. Но речь не о Джаве, сейчас я хотел бы поговорить об эволюции языков и побудить всех задуматься о том, на какой ветви эволюционного древа помещается язык Х. Смысл постановки такого вопроса заключается отнюдь не в том, чтобы через столетие наши бестелесные духи могли заявить, дескать, мы же предупреждали. Придерживаться основных ветвей эволюции может оказаться неплохой тактикой при выборе языка и сегодня.

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


Интересные размышления Поле Грэма в переводе на computerra
  • +5
  • 17 июля 2010, 23:46
  • durman
  • 8

Micro PC and PC-based Programmable Microcontrollers. Моделирование процессов.

Продолжение.
Начало смотри:
mtaalamu.ru/blog/938.html
mtaalamu.ru/blog/939.html
mtaalamu.ru/blog/943.html
mtaalamu.ru/blog/959.html
mtaalamu.ru/blog/964.html
mtaalamu.ru/blog/969.html
mtaalamu.ru/blog/980.html

Главное достоинство контроллеров «Octagon 6030», «ADAM-5510»,«I-7188»,«I-8811» — это их полная ( или условная ) совместимость с IBM 386sx. Эта особенность позволяет отрабатывать алгоритмы процессов не имея вналичии контроллера.




( Читать дальше )

Micro PC and PC-based Programmable Microcontrollers. Octagon, Fastwel, ADAM, ICP-DAS, ICP-CON. Продолжение.

Продолжение.
Начало смотри:
mtaalamu.ru/blog/938.html
mtaalamu.ru/blog/939.html
mtaalamu.ru/blog/943.html
mtaalamu.ru/blog/959.html
mtaalamu.ru/blog/964.html
mtaalamu.ru/blog/969.html
mtaalamu.ru/blog/980.html

Первое приложение на ТС++ 3.0
ROM-DOS и часы реального времени.

Я уже подчеркивал преимущества совместимости библиотек под ROM-DOS и стандартных DOS 6.22 для ТС++. Соответственно когда я мог выбирать контроллер — я советовал заказчику брать «I-7ххх» или другие подобные PC-based контроллеры с ROM-DOS, хотя иногда и использовал MiniOS-7. В программах, где высоки требования к скорости цикла — есть смысл использовать MiniOS-7 (кастрация DOS). Но там, где ВВОД и ВЫВОД сигналов идет по последовательным портам — время цикла не столь влиятельно.

Итак — получаем реальное время из структур ROM-DOS.




( Читать дальше )