LINUX.ORG.RU

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

Виртуальные машины

Форум — Development

Решил ради интереса поковыряться с созданием какой-нибудь виртуальной машины, но с ходу не получилось найти никакой толковой литературы именно по VM.

Беглый просмотр гугла выдал русскую книжку Свердлова в которой есть глава с построением стековой VM, по стековым VM я ещё когда-то давно листал методичку Forth'а.

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

 ,

Norgat
()

Фичастый todo list service

Форум — Web-development

Нужно:

  • группы задач, и даже группы групп
  • многоюзерность, назначения и разграничение прав
  • шаблоны (желательно параметризованные, желательно повторяющий права и назначения), т.е. быстрый способ создать некий типичный набор задач
  • события (как провал сроков) и умение реагировать на них (отправлять email или посылать http запрос)
  • просто умение отправлять email когда придет время
  • rest/js api

 ,

special-k
()

Как побороть ужас зависимостей в Linux? Может сделать систему полностью статической?

Форум — Talks

Здравствуйте. Я неадекват и я считаю концепцию современных пакетных менеджеров настоящей проблемой. Главный недостатoк в том что пакеты очень несовместимы. Т.Е:

1 Вы можете лишиться любимой программы просто потому что её больше некому поддерживать или она несовместима с другими компонентами. Наверно много людей мечтало оставить Gnome 2 в арче? :-)

2 Вы не сможете запустить новомодную примочку которая появилась буквально вчера не обновив при этом половину системы включая графический редактор и фиг знает что ещё. (рядом лежит windows версия которая запускается в windows 95/98/2000/xp/vista/7/8 и wine)

И как это побороть? Или может быть система песочниц?

Stuffed_toy
()

глупый вопрос по ABI

Форум — Development

Есть интерфейс плагина, например:

class Embeddable
{
public:
    enum { TypeA, TypeB, TypeC };

    virtual void embed() = 0;
};

Если в будущем я добавлю новые энумераторы в enum, то сломается ли ABI данного класса? И если сломается, то единственный выход - это сделать сейчас

enum { TypeA, TypeB, TypeC, Reserved1, Reserved2, Reserved3 };

?

 ,

former_anonymous
()

Тормоз перестройки

Галерея — Скриншоты

Наконец-то, после метаний от i3 до KDE, нашел что хотел и остановился. Долгое время сидел на ArchLinux с гномом. Сначала пережил приход Gnome3, потом радовался приходу systemd, потом заметил, что от третьего гнома блевать бросает, поставил i3, через месяц надоело, ушел на опенбокс, потом поставил KDE, все было не так. Решил вернуться на третий гном, поставил 3.8 и офигел, этим положительно невозможно пользоваться на десктопе.

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

  • Debian Sid
  • Mate
  • Тема GTK2/GTK3 - Clearlooks Phenix
  • Значки и так угадаете

Шрифты - шняга, знаю. Но Infinality для дебиана нет, а пропатчить фритайп самостоятельно руки еще не дошли, обязательно сделаю попозже. Кстати, как кто решает шрифты на Дебиане? Может, кто умеет делать это проще, ну, там от бубунты пакеты тащить, или еще как-то?

Комп домашний, читаю тырнет, слушаю музыку (две звуковухи, SBLive в усилок смотрит, поэтому две громкости на панельке), смотрю фильмы. Из полезного - только Эклипс - иногда приходится работу домой брать.

Дебиан скучный, но засасывает.

 ,

alex_the_v
()

[C][pool based memory allocator]

Форум — Development

Подскажите какую-нибудь приличную сишную библиотеку для работы с памятью через пул объектов. Года 4 назад что-то находил, но название вылетело из головы совершенно.

Лицензия LGPL, BSD, etc...

 

mv
()

Энергосбережение в thinkpad t430

Форум — Desktop

С новой вот такенной батареей

Battery 0: Charging, 98%, 00:04:44 until charged
Battery 0: design capacity 7274 mAh, last full capacity 7522 mAh = 100%

Мой thinkpad t430 разряжается за 4 часа. А должен хотя бы 10 протянуть. Fedora 18, laptop-mode-tools установлен. Что делать?

P.S. Дискретное видео отключено в биосе.

 , ,

f1xmAn
()

DataModel over TCP/IP

Форум — Development

Последние несколько недель наслаждаюсь Model/View framework из состава Qt.

Там есть все: и доступ к sql-базам данных, и просто создние своих model, и QDataWidgetMapper (позволяет легко создать свой виджет для удобного редактирования конкретного элемента модели), и QProxyModel + QSortFilterProxyModel (позволяют фильтровать данные для view не меняя данных в основной модели), и QSelectionItemModel (позволяет «расшарить» выбор элементов между View). Все круто. Определенно стоит создать цикл статей, который бы подробно описывал использование этого мощного интсрумента, хотя и в официальной документации вопрос раскрыт на должном уровне.

Но тред не совсем об этом. Во всей этой куче приятностей явно не хватает одной очень важной вещи.

Я говорю о QNetworkDataModel и QNetworkView. Можете не искать документацию об этих классах - их не существует. Но они могли бы существовать и выполнять возможность «проброса» данных из модели по сети (TCP/IP). Такие классы помогли бы упростить создание трехзвенных клиентов для баз данных, принесли бы пользу и в других сетевых приложениях, которые используют сеть для передачи данных.

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

 qnetworkdatamodel,

trex6
()

чужой опыт. книги по С

Форум — Development

The C Puzzle Book
C Traps and Pitfalls
The Standard C Library (P.J. Plaucer)
Expert C Programming
Pointers on C
C A Reference Manual

Интересует мнение всякого кто читал 2 и более из списка, их сравнение

что из этого списка must read, что мусор.

 

qulinxao
()

Мониторы в C с помощью семафоров

Форум — Development

Гуглил, яндексил, находится только капельки спертых друг у друга примеров с псевдокодом. А я тупо не понимаю, как это реализовать.

В друг кто-то уже делал такое. Помогите)

ii343hbka
()

Есть ли *нормальная* сишная библиотека?

Форум — Development

Убил вчера весь вечер, пытаясь разобраться в библиотеке libwebsockets. Старая версия (0.5) не работает с новыми браузерами. Новая версия (коммит 5 дней назад) не собирается (подозреваю, что виноваты проклятые autotools).

Я уж от отчаяния решил выкинуть оттуда все ненужное (а там ненужного полным-полно) и оставить лишь нужное мне. Ну и CMake нормальный сделать, а не чертовы autotools.

Так вот, вопрос: маяться ли мне с велосипедостроением или есть приличная сишная библиотека?

 ,

Eddy_Em
()

Указатель на указатель массива указателей

Форум — Development

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

// Из K&R:
int х = 1, у = 2;
int *ip;    /* ip - указатель на int */
ip = &x;    /* теперь ip указывает на x */
y = *ip;    /* y теперь равен 1 */
*ip = 0;    /* x теперь равен 0 */
В чем смысл указателей, если судя по примеру я могу сделать и y = x с тем же успехом, а дополнительные *ip как посредники лишь уменьшат читаемость?

UPDATE: Самое главное еще забыл добавить - зачем к этой кашке еще и «**»?

UPDATE++: посылаю комментаторам доброе слово, без них вопрос затянулся бы

 

minakov
()

libc хэш таблицы

Форум — Development

Glibc 2.17, открываю search.h и вижу такой апи

int  hsearch_r  (item, action, **return, *htable)
int  hcreate_r  (nel, *htable)
void hdestroy_r (*htable)
и все?

Гуглю альтернативы:

  1. uthash макро ад!
  2. khash макро ад!
  3. glib hash тащить целый glib ради хэш таблиц не хочется
  4. strmap хранит char *, а не void *
  5. judy «if you have random access and sparse keys, Judy lookups and deletes could be twice as slow as an optimized hash table». не нужно
  6. hashit GPL v2 без Lesser

Итого выбрал CCAN.

Но тут внезапно гугл выкатывает u-boot где вижу апи

int     hcreate_r  (nel, *htable)
void    hdestroy_r (*htable)
int     hsearch_r  (item, action, **return, *htable, flag)
int     hmatch_r   (*match, last_idx, **return, *htable)
int     hstrstr_r  (*match, last_idx, **return, *htable)
int     hdelete_r  (*key, *htable, flag)
ssize_t hexport_r  (*htable, separator, flag, **responce, size, argc, *argv[])
int     himport_r  (*htable, *env, size, separator, flag, argc, *vars[])
int     hwalk_r    (*htable, *callback);
Етить колотить! Так это же апи моей мечты.

Вопрос почти риторический: почему этот форк уже минимум 2.5 года не видят разработчики glibc?

 , hashtable,

punya
()

GVim непокорен

Галерея — Скриншоты

Ребята, помогите побороть такую фишку, как выделение некоторых элементов жирным шрифтом, даже если шрифт изначально стоит bold. Т.е. вы это можете видеть в GVim'е в нижней статусной строке на словах «NORMAL» и «user_contro...» а так же если посмотреть на оператор «end». В Vim'е та же цветовая схема без этой фишки отображается.
Цветовая схема - https://github.com/chriskempson/tomorrow-theme/blob/master/vim/colors/Tomorro...

P.S.:

  • Сначала кодил в Molokai, но стали вытекать глаза потихоньку и нашел в итоге Tomorrow для себя - идеально
  • :Debian-Wheezy
  • :XFCE
  • Рабочая обстановка Rails
  • GTK :Murrina-Element
  • GUI font :Verdana-12, Console font :Anonymous-Pro-Bold-12
  • Icons :Faenza
  • Убраны заголовки окон и бордюры вообще - забиндены действия с окнами на Alt+Q (свернуть), Alt+W (развернуть), Alt+E (закрыть). Привык за пару недель на столько, что тыкаю эти бинды даже в венде и везде где можно.

 , , , ,

metra
()

Метапрограммирование - проблемы и пути их решения.

Форум — Development

Пичал я тут на днях токенайзел для C++-кода, но всё это меня добило я решил поделится.

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

Шблонную магию плюсов я не люблю, ибо она ущербна чуть более, чем полностью и тут я вспомнил, что оказывается в плюсах хотели ввести компилтайм функции, аля constexpr и подумалось мне - во, плюсы затащат и как всегда я в очередной раз убедился в ущербности плюсов и так и не понял логики тех, кто это запилил.

Чтобы не быть голословным пишем что-то типа

constexpr uint64_t f(uint64_t a, uint64_t b) {
  return a + b; 
}
Всё ок, но пишем что-то сложнее, аля:

uint64_t m[] = {0, 1, 2, 3, 4};
constexpr uint64_t f(uint64_t a, uint64_t b) {
  return m[a] + m[b]; 
}

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

А теперь у меня вопрос к вам, уважаемы батьки и отцы - что мне делать? Я хочу запонять массивы написав генератор, причем и в компилтайме тоже. Я хочу юзать libc, я хочу всё, а у меня нет ничего, почему?

Т.е. я не хочу каких-то макропроцессоров и скриптовых языков - я хочу, чтобы, если я написал constexpr - оно должно до последнего пытаться собрать то, что я написал и уже только тогда, когда оно реально это не сможет - отвалиться.

У меня есть 3 пути: терпеть, пилить свой язык и конпелятор самому( что долго и нудно) и ваш совет.

 , ,

superhackkiller1997
()

Как я перешел на Systemd

Форум — Talks

Не обновлял свой Archlinux с сентября 2012 г. для того, чтобы не связываться с systemd. Думал, зарелизится Debian Wheezy и перееду на него. Но что-то мне стрельнуло, и решил я обновить свой арчик - если обновление будет «кривым», подумал, то сразу перееду, а если все норм... После выкачивания и установки 1.2 Гб обновлений я потратил двадцать минут на прочтения wiki про systemd и никаких проблем! Все работает замечательно, скорость загрузки от меню grub до lxdm - не более 5 секунд,выключение - не более 3 секунд, настройка запуска демонов «сервисов» - элементарно. Думал, что будут «косяки», а их не оказалось. Не впадая в фанатизм сообщу, что не так страшен Поцтеринг, как его малюют. Так где же найти изъян в новой системе инициализации?

 ,

int13h
()