LINUX.ORG.RU

Избранные сообщения pacify

Очень не Ъ spectrum

 ,

Привет, LOR. Когда я выкладывал в прошлый раз фото устройства видеозахвата и контроллера ЖК матрицы для старых компьютеров, кто-то предложил сделать тоже самое для zx-spectrum. Конечно, живого спектрума у меня не нашлось, поэтому следуя одному из принципов OpenSource «жри что дают» «если чего-то нет, сделай сам» собрал свой. В основе устройства лежит плата STM32F4discovery, на микроконтроллере которой эмулируется процессор и память. На ПЛИС собран контроллер ЖК дисплея от сломанного дешового китайского нетбука, обеспечивает отображение всех 8 цветов spectrum'а с атрибутами яркости и мигания. Еще к плате к USART подключен контроллер клавиатуры (от тогоже нетбука) на контроллере ATMega32, надо же их куда-нибудь девать. Звук пока выводится только пьезодинамиком, может когда-нибудь сделаю эмуляцию AY. На всем этом запущена Dizzy 3. Извините за качество фото, зеркалки нет.

Rupricht
()

Воскрешение живых мертвецов - 2 : ZX-Spectrum

 ,

На картинке вы можете видеть полностью живой и работающий Sinclair ZX-Spectrum +2, произведённый 26 лет назад. Машина подключена к PC посредством TV тюнера (Pinnacle PCTV USB2), через который PC получает и выводит изображение и звук. На данный момент, загружается один известный в своё время экшн. Лицензионные кассеты, ровесники данной машины, до сих пор отлично выполняют свою роль носителя информации - игры грузятся, сейвы сейвятся (сравните с дискетами, которые столько не живут, да и с оптическими болванками). Картинка и звук от реальной машины - тёплые и ламповые. Например, обратите внимание на цифру «2» на скриншоте - она «коричневая», а не состоящая из кубиков-пикселей, как на эмуляторе. Система на PC - свежеустановленная полностью дефолтная Slackware 14, KDE, картинку выводит Mplayer. Punk's not dead !

lenin386
()

Сколько ГГц можно выжать из z80 на современном техпроцессе 14нм?

 ,

Известно, что до бесконечности увеличивать тактовую частоту ЦП нельзя. Проводники в волноводы превращаются, нагрев возрастает и т.д. Потолок - примерно 5 ГГц, если не охлаждать жидким азотом. Но это современные монструозные ЦП. А если мы возьмём архитектуру Z80? Она ж простая как 3 копейки. Сможем мы её разогнать до 7-8 ГГц на современном техпроцессе? И с воздушным охлаждением? Или же ограничения в физике, а не в сложности архитектуры? А как же тогда транзисторы под сотни ГГц? Ведь они существуют.

tiinn
()

Производительность C++

 ,

Как насчёт производительности у C++ по сравнению с C? Мои предположения на текущий момент:

1) Код, не использующий возможности C++ (то есть по сути plain C), скомпилированный C++ компилятором будет иметь абсолютно ту же производительность, что и код на С.

2) Исключения и dynamic_cast медленные. Если нам важна производительность, лучше их не использовать.

3) Класс без виртуальных методов, должен быть по производительности эквивалентен сишной структуре и функциям, обрабатывающим её. Не считая копирования. Нужно везде, где можно использовать передачу по указателю или ссылке (собственно, если в Си делать memmove при передаче структуры в качестве аргумента, то это вызовет примерно такой же оверхед, как дефолтный конструктор копирования С++. Верно?).

4) Класс с виртуальными методами полностью аналогичен пункту 3, но при вызове виртуальных методов добавляется небольшой оверхед. Сишный эквивалент obj->vtable->func(obj, ...). Если сравнивать с plain C кодом, реализующим ООП в той же манере (каждая структура-объект имеет поле, указывающее на структуру, содержащую адреса функций работы с ней), то оверхеда по сравнению с plain C не должно быть.

5) При использовании атрибута класса final (если компилятор поддерживает соответствующий стандарт) даже при наличии виртуальных методов в нём, их вызов будет превращаться в прямые вызовы функций вместо обращения к vtable, если переменная имеет соответствующий тип, а не указатель/ссылка на его предка (который не final).

6) Шаблоны могут привести к разбуханию кода. Впрочем, #define-ы и inline-функции в C++ могут устроить то же самое. Вопрос: будет ли использование шаблона с одинаковыми параметрами создавать 2 копии реализации или же всё-таки компилятор догадается сделать её лишь один раз. А если шаблон используется с одинаковыми параметрами в нескольких объектных файлах? Будет ли реализация расшариваться между ними или у каждого своя?

7) Что насчёт inline-методов класса? (те, которые описываются прямо в момент определения самого класса, внутри блока class). Может ли их реализация расшариваться между модулями или в каждом будет своя копия (допустим, метод слишком длинный, чтобы инлайнится в момент вызова)?

Я не претендую на правоту, какие-то утверждения могут быть ложными. Хотел бы узнать, как обстоят дела на самом деле. А также какие подводные камни я ещё не знаю. Разумеется, речь идёт о последних версиях gcc/clang с включённой оптимизацией не ниже -O2.

KivApple
()

Турбовинтовые стратегические бомбардировщики. В чём суть?

 

Сабж. Разве винт имеет преимущества перед рекативным двигателем?

next_time
()

Оборонщики получат полностью российский суперкомпьютер

Комплектующие и микроэлетроника для российского суперкомпьютера будут производиться на территории Юго-Восточной Азии.

http://lenta.ru/news/2014/04/09/super/

хе-хе

fish_ka
()

[GCC][MinGW] Кроссплатформенность и wchar_t

 ,

Здраствуйте! Существует проблема. Нужно сделать так чтобы код скомпиленный под разными компиляторами (GCC и MinGW) работал одинаково. Это возможно? PS: Буду оч признателен за советы

Есть код:

// uni.c
#include <stdio.h>
#include <wchar.h>
#include <locale.h>

int main(void)
{
	setlocale(LC_ALL, "ru_RU.UTF-8");
	printf("Size of wchar_t = %d\n", sizeof(wchar_t));
	FILE* f = fopen("/home/maxim/uni.txt", "r");
	if (!f)
		return;
	printf("Read = 0x%04X\n", fgetwc(f));
	printf("Read = 0x%04X\n", fgetwc(f));
	return 0;
}

Есть файл uni.txt записанный в кодировке UTF-8:

$ cat uni.txt
Яблоко

Если скомпилировать программу под gcc и выполнить то получим:

$ gcc -o uni uni.c && ./uniSize of wchar_t = 4
Read = 0x042F
Read = 0x0431

Если скомпилировать программу под mingw и выполнить то получим:

$ i486-mingw32-gcc -o uni.exe uni.c && wine ./uni.exe
Size of wchar_t = 2
Read = 0xFFD0
Read = 0xFFAF

Если запустить нативно программу под виндой то там будет такое:

>uni.exe
Size of wchar_t = 2
Read = 0x00D0
Read = 0x00AF

anterior
()

каталогизация фото и видео файлов. exiftool

 , , ,

Добрый день, накатал скрипт на bash для каталогизации файлов, в основном для фото\видео, но можно вообще для любых файлов. принцип: exiftool берет данные из метатегов, создает каталоги по принципу ГОД ГОД.МЕСЯЦ и ложит туда файлы.

хотелось бы адекватной критики и дополнений

http://www.odmins-it.ru/forum/index.php?action=dlattach;topic=591.0;attach=1750 или http://sourceforge.net/projects/wita/files/

addmaster
()

Есть ли сигнал, уведомляющий о разорванном соединении?

 , ,

Здравствуйте.

Есть один одна прокси-програмка (из fcgi в tcp). Сначала она слушает fcgi-сокет, устанавливает на нем соединение, подключается по TCP к другому сокету и читает из него в блокирующем режиме.

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

Можно ли поймать сигнал о разрыве fcgi-соединения или еще как-то решить проблему, не прибегая к таймаутам и epoll'ам?

makoven
()

Редактор диаграмм под Linux

 , ,

Хочется рисовать MindMaps. Что нового, свежего и красивого появилось за последние 3-4 года?

pacify
()

Непонятки с вызовом метода __init__, определённого для предка

 ,

<ipython-input-28-9a235b20b67c> in __init__(self, path, bound)
     29     def __init__ (self, path, bound):
     30         self.bound = bound
---> 31         super(Rule, self).__init__( path)
     32 

TypeError: must be type, not classobj

Код такой:


class Rule:

    def __init__(self, path):
        self.path = path

class sideRule(Rule):

    def __init__ (self, path, bound):
        self.bound = bound
        super(Rule, self).__init__( path)

Python 2.7.6, IPython 2.0.0

ados
()

Google Chrome repository: main/binary-i386/Packages

 , ,

Записал в /etc/apt/sources.list.d/jessie.list:

# Google Chrome
deb http://dl.google.com/linux/chrome/deb/ stable main

Но apt-get update ругается:

W: Не удалось получить http://dl.google.com/linux/chrome/deb/dists/stable/Release  Невозможно найти ожидаемый элемент «main/binary-i386/Packages» в файле Release (некорректная запись в sources.list или файл)

E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
Неужели адрес репозитория изменился? Ключ добавил:
# wget -O - --no-check-certificate https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
--2016-04-03 16:37:25--  https://dl-ssl.google.com/linux/linux_signing_key.pub
Распознаётся dl-ssl.google.com (dl-ssl.google.com)… 173.194.71.91, 173.194.71.136, 173.194.71.93, ...
Подключение к dl-ssl.google.com (dl-ssl.google.com)|173.194.71.91|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа... 200 OK
Длина: 1745 (1,7K) [text/plain]
Сохранение в: «STDOUT»
/2016-04-03 16:37:25 (28,3 MB/s) - записан в stdout [1745/1745]

OK

pacify
()

Какие книги по С(89) нужно прочесть после K&R?

 ,

Изучил си по книге K&R(2-ое издание), писал мелкие программки. Понравилось. Какую литературу/статьи по C читать дальше?

P.S. Нужен ли C-шнику C++?

Deleted
()

Fedora Workstation 23

 , ,

Привет, ЛОР.

Моя неубиваемая машина Aspire M3910 с Fedora Workstation 23 на борту. Ноль расширений, ну разве только User Themes. В общем Fedora радует.

  • иконки numix* и numix-folders под цвет погоды link.
  • gtk/shell adapta (rev.55) link.
  • lollypop в 2'x режимах раз и два
  • гномоплеер-mpv link.
  • nautilus link.
  • shell link.
region51
()

Вышел первый том книги А. В. Столярова «Программирование: введение в профессию»

 , ,

Группа Документация

На официальном сайте А. В. Столярова объявлено о выходе первого тома книги «Программирование: введение в профессию». Первый том, озаглавленный «Азы программирования», включает две части: «Введение» и «Язык Паскаль и начала программирования». Обе части, как и вся книга в целом, ориентированы на использование ОС Unix (в основном Linux); в предисловии автор, обращаясь к «коллегам-преподавателям», заявляет, что книга вряд ли будет им полезна, если командная строка ОС Unix не станет их основным инструментом для повседневной работы с компьютером.

Электронная версия первого тома (PDF) доступна на сайте в открытом доступе.

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

Как сообщалось ранее в новостной ленте сайта, второй том книги, который выйдет под заголовком «Низкоуровневое программирование», уже практически готов к печати. В него войдут часть о программировании на языке ассемблера NASM для ОС Unix, а также часть, посвящённая языку Си. Пока неясно, войдёт ли в этот же том часть, рассказывающая о принципах построения операционных систем и о возможностях, доступных на уровне системных вызовов ОС Unix, или же эта часть будет оформлена как отдельный том. Сроки издания второго тома также пока неизвестны, поскольку зависят от дальнейшего хода краудфандинговой кампании.

>>> Подробности (stolyarov.info)

Croco
()

Сортировка строк с числами в python

 

Нет ли в стандартной библиотеке python решения для сортировки строк, содержащих числа таким образом:

aa1
aa2
aa10

?

Стандартные sort и sorted сортируют так: «aa1 aa10 aa2», то есть чисто по алфавиту.

Гугл предлагает писать самому. Это не трудно, там пара строчек. Но как-то странно для такого языка, что такой элементарной фичи нет.

te111011010
()

Лидеры свободного программного обеспечения отвечают MS

Группа Open Source

Столлман, Эрик Реймонд, Линус, Мигель де Иказа (Gnome), Ларри Уолл (автор Perl), Гвидо ван Россум (автор Python), Тим O'Орейлли (O'Reily) и многие другие столпы Свободного Мира сочинили по инициативе Брюса Перенса обращение к Microsoft в ответ на нападки Mundie.

>>> Подробности (perens.com)

sevast
()

Философия. Какое хранилище мне нужно?

 , ,

Есть несколько сервисов, которые довольно интенсивно используют немножко общих данных. Конечно, желательно, чтобы у каждого сервиса данные всегда были самыми свежими. Для этого, как я понимаю, сервисы не должны хранить эти данные в себе: каждое чтение/запись должно вестись прямо в БД, которая, видимо, должна находиться в оперативке.

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

Подскажите название хранилища моей мечты?

makoven
()

Даарийский Круголѣтъ Числобога для андроида

 буквица, данилица,

В моём списке необычных сайтов прибыло.

Встречайте,

http://школабуквицы.рф/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B

© Все права защищены, и переданы в Народ. Сайт является Народным Достоянием.

Список

pacify
()

Посоветуйте какой МФУ выбрать

 ,

Понадобился МФУ с Wi-Fi и СНПЧ. Пока выбираю из этих двух: Brother DCP-T500W и Epson L355

Фотографии печатаю редко, но часто приходится печатать на плотной бумаге А4 грамоты, дипломы, благодарственные письма и т.д. Что посоветуете?

foxy_ant
()