LINUX.ORG.RU

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

Нужны ваши мысли по code review

Форум — Development

Вообщем у меня есть один долгоживущий проект, посвященный теме ревью кода. Что он делает можно увидеть из этого gif

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

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

Хотелось бы услышать ваши мысли и пожелания, в первую очередь по интерфейсу - как это должно выглядеть для максимального удобства проведения code review.

Например тот же Gerrit мне всегда казался слишком сложным и его использование на практике в коммерческой разработке я не видел.

 ,

alex0x08
()

Классика на свободных движках

Форум — Games

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

  • openKB - движок для King's Bounty - идейного прародителя Heroes Of Might & Magic, Warlords, Disciples, Age Of Wonders.
  • FHeroes2 - Heroes of Might & Magic 2 - прошёл 2 больших карты против AI, всё вполне работоспособно, быстро, красиво, поддерживается вся серия HOMM2, смена разрешений, в настройках можно добавлять плюшки из HOMM3.
  • VCMI - Heroes of Might & Magic 3 - играл против AI, тестировал новые версии движка, испавлял баги, добавлял города. Поддерживаются WOG и ERA, но можно играть и на чистых HOMM3 (поддерживается вся серия). Также много плюшек, новых артефактов, городов, юнитов, героев, смена разрешений и другие вкусности.
  • Dune Legacy - Dune 2 - прошёл несколько миссий за разные дома, играл скирмиши, всё прекрасно работает. Движок вполне современный, взято много идей из последующих игр серии, например выделение множества объектов, очереди строительства, векторы движения, естественно, есть смена разрешений и куча приятных настроек. Также поддерживаются моды.
  • War1gus - движок для Warcraft I, основан на Stratagus.
  • Wargus+Aleona's Tales - свободный движок для Warcraft II + свободные ресурсы (можно играть и с оригинальными) - тоже вполне играбельно и удобно, основа движка - Stratagus, возможность выделять множество объектов, векторы движения, разные разрешения...
  • Stargus - движок для Starcraft I, основан на Stratagus.
  • 7KAA - движок для своеобразной стратегии Seven Kingdoms.
  • OpenRedAlert - движок для Red Alert 1, написанный на C++, в отличие OpenRA (Mono).
  • OpenRA - модифицированный движок для Red Alert, Command & Conquer и Dune 2000 (Achtung! Mono!).
  • OpenXcom - UFO: Enemy Unknown - прохожу капманию, всё работает, с каждой новой версией всё лучше. Также с версии 1.0 поддерживается мод с Ктулху.
  • FreeSynd - Syndicate - тоже вполне играбельно, наконец-то починили радар.
  • Syndicate Wars Port - движок для Syndicate Wars, продолжения Syndicate.
  • GemRB - движок для Baldur's Gate, Icewind Dale и Planescape: Torment. Вполне рабочий, я почти прошёл Baldur's Gate.
  • Micropolis - Свободный движок для SimCity.
  • ECWolf - модернизированный движок для Wolfenstein 3D, Spear of Destiny и Super 3D Noah's Ark, основанный на кодах Wolf4SDL и ZDoom.
  • Cytadela - движок для Cytadela, стрелялки от первого лица для Amiga.
  • Rise of the Triad - движок для уникальной для своего времени игры Rise of the Triad, основанной на сильно модифицированном движке для Wolfenstein 3D.
  • ZDoom+FreeDoom - Модифицированный и современный движок для Doom, Doom 2, Heretic, HeXen, Strife + свободные ресурсы. Множество улучшений: свободный обзор, прицел, приседания и прыжки, объекты больше не имеют бесконечную высоту, высокое разрешение. Также есть замечательный мод BrutalDoom, привносящий моря кровищщи, горы кишок и ультранасилие.
  • GZDoom - OpenGL-форк ZDoom.
  • Doomsday - модифицированный OpenGL-движок для Doom I&2, Heretic, Hexen, HacX, Chex с поддержкой трёхмерных моделей вместо спрайтов.
  • uHexen2 - SDL/OpenGL движок для Hexen II: Hammer of Thyrion.
  • DarkPlaces + Quake Revitalization Project - модифицированный OpenGL-движок для Quake I + обновлённые текстуры.
  • Yamagi Quake II - модифицированный движок для Quake II, также поддерживает дополнения Mission Pack 1 'The Reckoning' и Mission Pack 2 'Ground Zero'.
  • ioquake3 - модифицированный движок для Quake III.
  • Eduke32+HRP - Модифицированный SDL/OpenGL движок для Duke Nukem 3D (свободный обзор, прицел, прыжки, приседания, высокое разрешение) + набор свободных трёхмерных текстур. Прошёл всего Дюка с трёхмерными текстурами и продвинутой отрисовкой Polymer.
  • eRampage - движок для стрелялок Redneck Rampage, Suckin' Grits on Route 66, Redneck Rampage Rides Again и Redneck Deer Huntin'. Основан на EDuke32.
  • BloodCM + HRP for BloodCM - Blood на движке EDuke32 + текстуры в высоком разрешении. Готовы 2 эпизода игры, третий в разработке.
  • Aleph One - модифицированный движок для Marathon, Marathon 2: Durandal и Marathon Infinity. Также сообществом разработаны новые игры Marathon: EVIL, Tempus Irae, Marathon RED, Marathon: Eternal, Marathon: Rubicon X, Marathon: Phoenix. Ещё есть отдельная игра Excalibur: Morgana's Revenge. Эти игры особенно придутся по душе латентным, активным и пассивным любителям Macintosh, ибо изначально Marathon разрабатывался исключительно под эту платформу.
  • Xash3D - свободный движок для Half-Life (аналог GoldSource).
  • D2X-XL - OpenGL движок для трёхмерной леталки-стрелялки Descent. Также разработан редактор уровней DLE.
  • DXX-Rebirth - SDL/OpenGL движок для трёхмерных леталок-стрелялок Descent 1&2.
  • ForsakenX - движок для трёхмерной леталки-стрелялки Forsaken, клона Descent.
  • OpenTTD - свободный движок для Transport Tycoon Deluxe + свободная графика и звуки.
  • JA2-Stracciatella - Jagged Alliance 2. Несмотря на периодические приостановки, проект до сих пор жив и недавно снова вошёл в активную фазу.
  • ScummVM - набор свободных движков в основном для игр в жанре quest (приключение), например от Lucas Arts, Sierra, Westwood, Coktel Vision, The Neverhood Inc., The Dreamers Guild, Revolution Software, Psygnosis, Infocom, Delphine Software International, Adventure Soft, также и для некоторых ролевых игр: Eye of the Beholder I&II, Lands of Lore: The Throne of Chaos. На данном этапе ведутся работы по поддержке таких замечательных игр, как Myst, Riven: The Sequel to Myst, Gabriel Knight, Gabriel Knight 2: The Beast Within, King's Quest VII, Phantasmagoria I&II, Police Quest IV, Police Quest: SWAT, Quest for Glory IV, Space Quest 6: The Spinal Frontier, Leisure Suit Larry 7, Broken Sword 2.5...
  • ResidualVM - движки для трёхмерных игр Grim Fandango и Escape from Monkey Island от Lucas Arts, также добавлена поддержка для Myst 3 Exile. Для Grim Fandango разработан 'point & click интерфейс'.
  • Pentagram - движок для Ultima VIII с поддержкой разных разрешений, разных звуковых систем, миникарты, TrueType.
  • Exult - движок для Ultima VII с поддержкой разных разрешений, разных звуковых систем, статусбаров, Exult Studio для разработки своих игр.
  • Nuvie - движок для Ultima VI.
  • XU4 - движок для Ultima IV с поддержкой VGA и 16-bit графики, смешивание заклинаний как в Ultima V.
  • OpenMW - The Elder Scrolls III: Morrowind. Проект активно развивается, добавляется новый функционал, поддержка модификаций, но на данном этапе поиграть пока не удастся.
  • Lord of the Rings game engine - движок для ролевой игры Lord of the Rings.
  • Arx Libertatis - движок для трёхмерной ролевой игры Arx Fatalis.
  • FS2Open - движок для космического симулятора FreeSpace 2. Также есть fsport - адаптация кампаний FreeSpace 1 для FS2Open.
  • CorsixTH + CorsixTH-Graphics - движок для симулятора больницы Theme Hospital и набор новой свободной графики.
  • Abysmal Engine - движок для System Shock 1 и Ultima Underworld. Проект жив, потихоньку развивается.
  • OpenAge - движок для Age of Empires II. Проект на начальной стадии, ещё сырой. Разработчики пока толком не определились с технологиями, хотят для изометрической графики задействовать OpenGl и шейдеры.
  • Antares - движок для космической стратегии Ares. Трепещите, латентные, активные и пассивные любители Macintosh, игра изначально разрабатывалась исключительно под эту платформу.
  • CaesarIA - симулятор Римской Империи и Цезаря в частности Caesar III.
  • Falltergeist - свободный движок для Fallout 1&2, разрабатываемый на C++ с использованием SDL2. Проект на начальной стадии, но активно развивается.
  • freeablo - свободный движок для Diablo 1 с использованием SDL2. Проект на начальной стадии, готов начальный посёлок с нейтральными персонажами и пара случайно генерируемых подземных уровней.
  • Abuse - аркадная стрелялка-платформер, сюжет вдохновлён вариациями на тему «Хищник против Чужих». Движок использует отрисовку через SDL или OpenGL (на выбор), работает на 32-bit и 64-bit платформах. К игре прилагаются освобождённые ресурсы.
  • New RAW - интерпретатор для аркадной игры Another World.
  • Bermuda Syndrome - SDL-движок для аркадного приключения Bermuda Syndrome.
  • REminiscence - SDL-движок для аркадного приключения Flashback.
  • f2bgl - SDL/OpenGL-движок для трёхмерного приключения Fade To Black.
  • Igor - SDL-движок для испанского квеста Igor: Objetivo Uikokahonia.
  • Carlos - SDL-движок для платформера Carlos.
  • xBaK - движок для уникальной для своего времени ролевой игры Betrayal at Krondor. Относительно играбельно, но некоторых важных функций может не оказаться. Проект, к сожалению, заброшен. Форкайте, господа, пилите для ScummVM.
  • bstone - движок для стрелялки от первого лица Blake Stone: Planet Strike.
  • CatacombSDL - SDL2-движок для фентези-стрелялки Catacomb II.
  • NXEngine - SDL-движок для платформера Doukutsu Monogatari (также известного как Cave Story).
  • Commander Genius - движок для серии платформеров Commander Keen.
  • The Ur-Quan Masters + Ur-Quan Masters HD - движок для космического аркадного ролевого стратегического квеста Star Control II + текстуры в высоком разрешении.
  • OpenJK - движок для Jedi Knight II: Jedi Outcast и Jedi Knight III: Jedi Academy с минимальными измененями, максимально близкий к оригинальному.
  • JediOutcastLinux - ещё один движок для Jedi Knight II: Jedi Outcast.
  • JediAcademyLinux - ещё один движок для Jedi Knight III: Jedi Academy.
  • SDL Sopwith - SDL/GTK+ движок для классического аркадного авиасимулятора Sopwith.
  • Ultimate Stunts - OpenGL движок для классического гоночного симулятора Stunts.
  • Freeserf - SDL-движок для классического симулятора поселенцев The Settlers 1 «Serf City».
  • Return to the Roots - OpenGL-движок для для классического симулятора поселенцев The Settlers II Gold Edition.
  • OpenRaider - OpenGL-движок для серии приключенческих игр Tomb Raider (1-5). 5-я игра серии пока не полностью работоспособна.
  • OpenTomb - ещё один OpenGL-движок для серии приключенческих игр Tomb Raider (1-5).
  • Privateer - Gemini Gold - OpenGL-движок для Wing Commander, основан на кодовой базе Vega Strike.
  • ET: Legacy - модифицированный движок для многопользовательской игры Wolfenstein: Enemy Territory.
  • Zod Engine - движок для уникальной стратегии Z.

Статья на LOR Wiki.

 ,

toney
()

IWYU 0.21

Новости — Разработка
Группа Разработка

Вышел релиз IWYU (или include-what-you-use), программы позволяющей находить избыточные и предлагать недостающие #include в вашем коде на C/C++.

( читать дальше... )

>>> Подробности

 , iwyu

NickNotNick
()

Luau - Lua с «батарейками», написанный на C++17

Форум — Development

Luau (GitHub) - встраиваемый, Lua 5.1-совместимый (и частично с Lua 5.2-5.4), язык со следующими улучшениями (или «улучшениями»?):

function foo(x: number, y: string): boolean
    local k: string = y:rep(x)
    return k == "a"
end
type Point = { x: number, y: number }
type Array<T> = { [number]: T }
type Something = typeof(string.gmatch("", "%d"))
for k, v in {1, 4, 9} do
    assert(k * k == v)
end
  • улучшенный repl (используется C-альтернатива readline Isocline)
  • и другие изменения ;)

По соображениям безопасности отсутствуют io, os, package и debug.

(En|Destr)oy!

 ,

dataman
()

argparse 3.0

Новости — Разработка
argparse 3.0
Группа Разработка

Состоялся выпуск 3.0 C++ (стандарт C++17) header-only библиотеки парсинга аргументов командной строки argparse, распространяемой по лицензии MIT.

( читать дальше... )

>>> Подробности

 , , , ,

dataman
()

XLink Kai на Raspberry Pi

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

Доброго времени суток, уважаемые!

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

Проект называется XLink Kai. Для меня он интересен тем, что ПО может работать на Linux и на одноплатниках типа Raspberry PI. Для быстрого старта есть инструкция на сайте. Я протестировал Xlink Kai, устанавливая на Raspberry Pi от первой B+ до 3-й B+ и XBox Original в качестве игровой консоли. Использовал различные варианты подключения (описаны на сайте) и разные носители. Стабильной и качественной работы добился на Raspberry Pi 3B+ c SD-картой U3 и проводной сеткой. Поддерживается работа с XBox Original/360/One, Playstation 2/3/4/PSP/Vita и т.д, полный список консолей и игр есть на сайте. Данный проект помимо «железных» игровых консолей позволяет играть по сети на некоторых эмуляторах игровых приставок. Я попытался протестировать Xemu, но данный эмулятор у меня работает нестабильно, буду еще копаться в этом направлении.

На скрине:

  • Debian 12 + Sway + Waybar
  • Xbox Original подключен через карту видеозахвата (картинка со звуком выводится через MPV)
  • Raspberry Pi с установленной на ней DietPi и XLink Kai
  • Игра Halo 2
  • Web-интерфейс XLink Kai

Веб-интерфейс XLink Kai доступен на localhost и на порту 34522 по умолчанию. Если вы будете устанавливать XLink на отдельном ПК или одноплатнике, как это делал я, самый простой и быстрый способ получить доступ к веб-интерфейсу - пробросить его порт себе на localhost:


ssh -L 34522:localhost:34522 nuxster@192.168.1.27 

Думаю, вебку можно просто перенастроить на нужный интерфейс, но я не стал в это вникать.

Так же, думаю, будет полезно запускать XLink Kai через systemd:

apt install dnsutils 

cat > /etc/systemd/system/xlink.service<<EOF 
[Unit] 
Description=XLink Kai 
StartLimitBurst=5 
StartLimitIntervalSec=200 
 
[Service] 
StandardError=journal 
StandardOutput=tty 
ExecStartPre=/bin/sh -c "until host google.com; do sleep 1; done" 
ExecStart=/usr/bin/kaiengine 
Restart=on-failure 
RestartSec=1 
Nice=-5 
 
[Install] 
WantedBy=network.target 
EOF 
 
systemctl daemon-reload 
systemctl enable xlink 
systemctl restart xlink 

Уверен, что можно сделать лучше\правильнее, мне просто нужно было его запустить.

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

>>> Просмотр (1918x3237, 978 Kb)

 , , , xlink

nuxster
()

Всё, поцоны, выкидываем Rust – у Бьярне есть план...

Форум — Development

…по повышению безопасности в С++

Решение Бьярне Струструпа по повышению безопасности в С++ опирается на концепцию «профилей». Это наборы правил, при соблюдении которых достигаются определенные гарантии безопасности. Профили будут определены в стандарте ISO C++ и будут касаться таких распространенных проблем безопасности, как указатели, диапазоны массивов и т.д.

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

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

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

Струструп также отметил, что сообщество может внести свой вклад в доработку этих профилей и формализацию их спецификаций. Для этого он создал репозиторий на GitHub.

https://thenewstack.io/bjarne-stroustrups-plan-for-bringing-safety-to-c/

 ,

cocucka_B_TECTE
()

Ускорение загрузки с HDD за счет специальной дефрагментации

Форум — Admin

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

Вручную на неполном диске это сделать несложно. Переместить на свободный диск всю систему. Потом скопировать обратно последовательно /boot, /etc/, /bin/, /lib, /usr/bin, /usr/lib и дальше в порядке вероятности доступа при загрузке. Но на живой системе постоянно поддерживать такое будет затруднительно.

В общем может кто-то уже изобретал такого рода дефрагментатор, который бы мог список указанных файлов держать последовательно и поближе к началу диска?

Перемещено hobbit из general

 

Salol
()

gtk2 сам себя не форкнет

Форум — Development

Что ж, этот день настал. Будем делать gtk 2.26.

Минимальный план работ такой:

  • Обеспечить масштабирование заданных в настройках тулкита размеров иконок в соответствии с DPI.
  • Обеспечить масштабирование заданных темой пиксельных размеров в соответствии с DPI.
  • Предоставить для приложения API для масштабирования размеров из условных пикселей (под 96 DPI) в реальные в соответствии с DPI.
  • Исправить мелкие косяки в теме Redmond, которые остались с тех пор, как отрисовка темы была переведена на cairo.
  • Дополнить дефолтный пакет тем стилями для gtk3, максимально приближенно имитирующими классические темы.
  • Бэкпортировать из gtk3 некоторые улучшения в диалогах открытия/сохранения файлов.

Приглашаются все желающие. Пишите ваши соображения.

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

P.S. @hobbit, верни тэг gtk2 в БД сайта!!!

 , , ,

wandrien
()

Запустил git.org.ru

Форум — Development

В связи с последними новостями о возможной блокировке доступа к сервисам хранения кода, например, github было принято решение о переносе всех репозиториев на сервера размещённых на территории РФ.

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

Серверное оборудование расположено в трёх местах: Москва, Пущино и Новосибирск. Синхронизация данных между ними происходит каждый час.

Веб-сервис будет бесплатным.

https://git.org.ru/

git.org.ru

Перемещено Pinkbyte из development

 , ,

vanzhiganov
()

Как выключить или перезагрузить Void linux?

Форум — General

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

 , ,

amd_amd
()

keenetic ultra бородит. Диагностика

Форум — Admin

Привет. Сабж. У двоюродного брата своя фирма строительная и ему кто-то настроил keenetic ultra в доме с усилителями. Уже 3 раза перенастраивал. Сбрасывал настройки, обновлял проштву и всё равно бородит. Отвал wifi и попроводу, чего не должно быть.

Сейчас у тётки натработе бородит ьакой же. Бородатые одмины, подскажите эта вообще фирма хорошая или tp-link, asus, zyxel лучше?

У брата 6-9 месяцев в использоании. У тётки 2 месяца. Новые аппараты бородят. Пропадает иньернет и wifi и по проводу. У тётки, когда от роутера пропадает, то через свич, попроводам работает. Что втоптсание ещё добавить?

 , , , ,

TheNewDragon
()

Выпуск Thalassa CMS 0.1.10

Новости — Open Source
Группа Open Source

Thalassa CMS – это система управления контентом, позволяющая создавать статические сайты с возможностью комментирования.

Отличительные особенности:

  • Написана на языке C++
  • Нет зависимостей (кроме libc)
  • Поддержка комментариев и каптчи
  • Поддержка RSS

В новой версии:

  • В макрос %[discuss:] добавлены функции ifparent и parent
  • Добавлена поддержка FreeBSD
  • Косметические улучшения в шаблоне Smoky

Автор этой замечательной программы есть на LOR под ником @Croco.

>>> Подробности

 ,

cumvillain
()

Acer Extensa 4220. Еще в строю

Галерея — Рабочие места

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

На HDD там установлена старая версия Void Linux, которую вряд ли получится без бубна обновить до актуального состояния. Ядро, вроде как, 4.19, и в видеодрайвере там есть баг — при переключении видеорежимов система фризится секунд на 30-40.

Поэтому грузимся с флешки. А на флешке стоит Arch Linux, обёрнутый в Bedrock. Без каких-либо оптимизаций под старое железо и прочих уловок. Обычный актуальный Арч.

Внезапно. Всё работает. Firefox воспроизводит музло с ютуба, LO Writer открывает документы. И даже ушла бага с фризом на переключении видеорежимов.

О системе:

Ядро 6.3.2 в пачсетом zen. Настроен swap в ZRAM. В качестве DE - стек программ на gtk2: LXDE + моя SDE. Терминал — Lilyterm. Параллельно в Бедроке установлен Debian Bookworm с XFCE. Просто чтобы был. Всё это стоит на флешке SanDisk Ultra Flair, которую я таскаю с собой в качестве переносной офисной системы.

О железке:

Экран: 14.1', 1280x800
Чипсет: GL960, Socket P
Процессор:
    Заводской: Intel Celeron 550 @ 2.00GHz; 1 core; Mark 514/626
    Текущий:   Intel Core 2 Duo T6570 @ 2.10GHz; 2 cores; Mark 1254/820
Память:
    Тип: 2 x DDR2 533/667/800* MHz; 3GB Max (2GB в верхний слот + 1GB в нижний слот)
    Заводская: 512MB 667 MHz
    Текущая:   2GB + 1GB 800 MHz (работает на 667 MHz; почему?)

Этот чипсет официально поддерживает только 2 гига. Но может работать и с тремя, если сувать двухгиговую планку в нужный слот. На 4-х уже никак не заводится, что-то там в диапазоне адресов с чем-то конфликтует.

CPU по нынешним меркам дрова полнейшие, так же как и пропуская способность ОЗУ. Честно сказать, я ожидал слайдшоу везде и невозможность пользоваться интернетом в актуальной версии браузера. Но ноутбук 2008-го года выпуска всё еще пригоден для современной ОС и современного веба.

Обвес машинки такой, что на боковых стенках почти нет пустого места: https://www.notebook-center.ru/catalog_acer_1684.html. Теперь так не делают. (На самом деле делают, но где-то 1 модель из сотни.)

>>> Просмотр (1240x930, 185 Kb)

 , , , ,

wandrien
()

Ричард Столлман опубликовал «Введение в GNU C»

Новости — Разработка
Ричард Столлман опубликовал «Введение в GNU C»
Группа Разработка

Ричард Столлман опубликовал электронную книгу «Введение и справочное руководство по GNU C».

Труд за авторством Столлмана, Трэвиса Ротвелла и Нэльсона Биба распространяется по лицензии GFDL-1.3 и позиционируется одновременно и как введениие в язык C, и как справочник непосредственно по диалекту GNU C (т.е. включающему gnu-расширения gcc).

RMS просит сообщать о найденных ошибках, неточностях и непонятных, либо неоднозначно написанных пассажах.

>>> Подробности

 , , , ,

Quote
()

Скорая помощь когда тут кому-то снова захочется поныть про сmake

Форум — Talks

Ультра-инновационная, умеренно консервативная, мегаминималистичная, с богатыми возможностями расширения возможностей под нужды проЭкта, не имеющая аналогов среди последних «15 конкурирующих стандартов», вдохновленная многолетним нытьем неосиляторов всех любых систем сборки и соком мозга больных NIH-синдромом... и... И. И! самое главное, встроенная в плюсы система сборки плюсов, которая всегда под рукой, не требует жабы(?), питона(?!), С#(???!!!) и прочей ереси для сборки плюсов, не кушает моск, просто работает и делает то, о чем вы так давно мечтали: собирает плюсами плюсы на плюсах.

/*buildoprog.cpp*/
#define PROJECT_NAME "project1"
#include <cstdlib>
int main(int argc, char** argv)
{
    const char* str = "g++ " 
		      " -std=c++14 "
		      " -o "
		      PROJECT_NAME " "
		      PROJECT_NAME ".cpp"
		      " -I./ "
		      " -L./ "
		      "...";
    return std::system(str);
}

$ g++ -o buildoprog buildoprog.cpp && ./buildoprog

 метабилдопрог,

slackwarrior
()

re2c 3.0

Новости — Разработка
Группа Разработка

В четверг 27 января состоялся релиз генератора лексических анализаторов re2c 3.0. Основное изменение — добавлена кодогенерация в Rust.

Напомним, что re2c специализируется на генерации быстрых и легко встраиваемых лексеров. Он отличается от более известного аналога flex гибким интерфейсом, генерацией оптимизированных нетабличных лексеров и поддержкой захватов (submatch extraction) на основе детерминированных конечных автоматов с тэгами (TDFA). re2c используется в проектах, где важна скорость работы лексера, например в Ninja и в PHP.

На сайте есть много примеров, теперь и на языке Rust.

>>> Подробности

 , , , ,

skvadrik
()

Требуются добровольцы

Форум — Development

Всем бобра!

Как все знают, есть мегапопулярный формат электронных книг HTMLHelp или попросту CHM. Я предпочитаю просматривать такие книги в kchmviewer, который устраивает всем, кроме одного – при открытии большого файла (такого, как wxWidgets-3.1.5) прога надолго задумывается и фризится. С этим мириться было нельзя и я решил запилить асинхронную работу с книгой. И таки я сделал это. Но что-то мне подсказывает, что наверняка есть косяки.

Так о чём это я?

  • Если у вас есть немного свободного времени, а заняться нечем.
  • Есть книги в формате chm.
  • Нет аллергии на Qt.
  • Вы умеете конпелять и собирать проги из сорцов.

То у меня просьба собрать это поделие, пооткрывать им книги и поделиться впечатлениями. Репозиторий https://github.com/u-235/uchmviewer

При сборке нужно переключиться на ветку async-ebook. В qmake нужно добавить флаг USE_ASYNCEBOOK=1, при сборке в cmake – флаг -DUSE_ASYNCEBOOK=ON.

Перемещено xaizek из talks

 , ,

u-235
()

Уязвимости в systemd (CVE-2021-3997) и Flatpak (CVE-2021-43860)

Новости — Red Hat
Группа Red Hat

В systemd-tmpfiles выявлена уязвимость, позволяющая вызвать неконтролируемую рекурсию и отказ в обслуживании системы. Для этого во время загрузки необходимо создать в /tmp большое количество вложенных подкаталогов. Исправление в Fedora и RHEL пока на стадии тестирования, в Ubuntu и Suse уязвимость закрыта.

При создании тысяч вложенных каталогов выполнение операции systemd-tmpfiles --remove приводит к аварийному завершению из-за исчерпания стека. Обычно утилита systemd-tmpfiles в одном вызове выполняет операции удаления и создания каталогов (systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev), при этом вначале выполняется удаление, а потом создание, т.е. крах на стадии удаления приведёт к тому, что не будут созданы важные для работы файлы, указанные в /usr/lib/tmpfiles.d/*.conf.

Уязвимость во Flatpak позволяет при загрузке пакета из непроверенного репозитория через манипуляции с метаданными скрыть использование повышенных прав. Еще одна уязвимость без CVE позволяет во время сборки пакета командой flatpak-builder --mirror-screenshots-url создать каталоги в ФС за пределами сборочного каталога.

>>> CVE-2021-43860

>>> CVE-2021-3997

 , , ,

ipkirill21x
()