O víkendu probíhá v Bruselu konference FOSDEM 2026 (Free and Open source Software Developers’ European Meeting). Program konference je velice nabitý: 37 místností, 71 tracků, 1184 přednášejících, 1069 přednášek, prezentací a workshopů. Sledovat je lze i online. K dispozici budou jejich videozáznamy. Aktuální dění lze sledovat na sociálních sítích.
Společnost Nex Computer stojící za "notebooky bez procesorů a pamětí" NexDock představila telefon NexPhone, který může funguje jako desktop PC, stačí k němu připojit monitor, klávesnici a myš nebo NexDock. Telefon by měl být k dispozici ve třetím čtvrtletí letošního roku. Jeho cena by měla být 549 dolarů. Předobjednat jej lze s vratní zálohou 199 dolarů. V dual-bootu by měl být předinstalovaný Android s Linuxem (Debian) jako aplikací a Windows 11.
Byla vydána nová major verze 9.0 softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora AI.
Wasmer byl vydán ve verzi 7.0. Jedná se o běhové prostředí pro programy ve WebAssembly. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V reakci na nepopulární plán Microsoftu ještě více ve Windows prohloubit integraci umělé inteligence Copilot, Opera na sociální síti 𝕏 oznámila, že připravuje nativní linuxovou verzi prohlížeče Opera GX. Jedná se o internetový prohlížeč zaměřený pro hráče, přičemž obsahuje všechny základní funkce běžného prohlížeče Opera. Kromě integrace sociálních sítí prohlížeč například disponuje 'omezovačem', který umožňuje uživatelům omezit využití sítě, procesoru a paměti prohlížečem, aby se tak šetřily systémové zdroje pro jinou aktivitu.
NVIDIA vydala nativního klienta své cloudové herní služby GeForce NOW pro Linux. Zatím v beta verzi.
Open Gaming Collective (OGC) si klade za cíl sdružit všechny klíčové projekty v oblasti linuxového hraní počítačových her. Zakládajícími členy jsou Universal Blue a Bazzite, ASUS Linux, ShadowBlip, PikaOS a Fyra Labs. Strategickými partnery a klíčovými přispěvateli ChimeraOS, Nobara, Playtron a další. Cílem je centralizovat úsilí, takže namísto toho, aby každá distribuce udržovala samostatné opravy systému a podporu hardwaru na
… více »V kryptografické knihovně OpenSSL bylo nalezeno 12 zranitelností. Opraveny jsou v upstream verzích OpenSSL 3.6.1, 3.5.5, 3.4.4, 3.3.6 a 3.0.19. Zranitelnosti objevila společnost AISLE pomocí svého autonomního analyzátoru.
Desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. V programovacím jazyce Rust s využitím stavebních bloků z projektu Smithay jej napíše Brian Tarricone. Úprava stávajícího xfwm4 tak, aby paralelně podporoval X11 i Wayland, se ukázala jako špatná cesta.
Desktopové prostředí KDE Plasma 6.8 poběží už pouze nad Waylandem. Vývojáři, kteří s rozhodnutím nesouhlasí, vytvořili fork KDE Plasma s názvem SonicDE (Sonic Desktop Environment) s cílem zachovat a vylepšovat podporu X11.
Znáte multiplatformní open-source závodní hru open4speed (Android) od českého tvůrce? Hra je uvolněna pod licencí GNU GPL v3 a jak již název napovídá, je ve stylu Need for Speed.
Tiskni
Sdílej:
valgrind --tool=callgrindVysledny soubor pak otevres v KCachegrind
.
Existuje docela slušný emulátor. A kdybys do toho šel, tak se hlásím jako tester 
car::car(input *i, std::vector<_edge_> e, const char* filename, bool automatic) {
dalsi "nepeknou konstrukci" je opetovne inicializovani jiz inicializovaneho objektu dynamicky alokovanym objektem. Ano zni to hrozne a hrozne to je:
std::vector<_btRaycastVehicle_*> m_vehicle = *(new std::vector<_btRaycastVehicle_*>); ///< Physical implementation of car transformationTato konstrukce je rozhazena po mrte mistech v kodu... Dalsi problem v implementaci je s pouzitim "interfacu"
/**
* @brief The model interface
*/
class model {
public:
/**
* @brief model destructor
*/
virtual ~model() {}
int cutX, cutY; ///< Size of SS Culling
std::vector<_edge_> *edges; ///< All standalone edges of model
std::vector<_model3d_> models; ///< All parts of model
float minx, miny, minz, maxx, maxy, maxz; ///< Extremes of current model
float width, aplitude, height, size; ///< Dimensions of current model
};
1. toto neni interface, nejsou tam zadne definice metod, coz bych u interfacu cekal 2. trida obsahuje dynamicky alokovanou promenou edges, ale v destruktoru neni dealokovana, ani potomek teto tridy (modelo4s) neprovadi dealokaci. 3. k zamysleni: Musi to byt opravdu dynamicky alokovana promena? :)Ostatni interfacy krome tohoto vypadaji lepe (ale i tak obsahuji porad nejake member attributy) Dalsi mega ulet je, ze konstruktor tridy inicializuje globalni promene... Tak toto me opravdu dostalo. rekl bych ze je to zoufaly pokus o vytvoreni Singletonu?
bulletConfig bcfg = *(new bulletConfig()); ///< Configuration of physical engine
btDynamicsWorld* m_dynamicsWorld; ///< Physical implementation of scene
btDefaultCollisionConfiguration* m_collisionConfiguration;
btCollisionDispatcher* m_dispatcher;
btBroadphaseInterface* m_overlappingPairCache;
btConstraintSolver* m_constraintSolver;
....
/**
* @brief Construct physical model
* @param m is 3D model for physical model
*/
bullet::bullet(model *m) {
/// Get configuration
std::vector<_char_*> atributes = getList("BULLETCFG");
bcfg.brakeAspect = getConfig("brakeAspect", atributes);
bcfg.engineMaxSpeed = getConfig("engineMaxSpeed", atributes);
bcfg.engineSpeedMultiply = getConfig("engineSpeedMultiply", atributes);
bcfg.gasAspect = getConfig("gasAspect", atributes);
bcfg.gravitation = getConfig("gravitation", atributes);
bcfg.overSpeedBraking = getConfig("overSpeedBraking", atributes);
bcfg.rollInfluence = getConfig("rollInfluence", atributes);
bcfg.skinFriction = getConfig("skinFriction", atributes);
bcfg.speedDecrease = getConfig("speedDecrease", atributes);
bcfg.steeringAspect = getConfig("steeringAspect", atributes);
bcfg.steeringSpeedDependency = getConfig("steeringSpeedDependency", atributes);
bcfg.suspensionCompression = getConfig("suspensionCompression", atributes);
bcfg.suspensionDamping = getConfig("suspensionDamping", atributes);
bcfg.suspensionStiffness = getConfig("suspensionStiffness", atributes);
bcfg.underSpeedBraking = getConfig("underSpeedBraking", atributes);
bcfg.vehicleMassAspect = getConfig("vehicleMassAspect", atributes);
bcfg.vehicleStep = getConfig("vehicleStep", atributes);
bcfg.wheelFriction = getConfig("wheelFriction", atributes);
bcfg.worldLimit = getConfig("worldLimit", atributes);
bcfg.worldStep = getConfig("worldStep", atributes);
bcfg.worldSubStep = getConfig("worldSubStep", atributes);
locked = true;
m_collisionConfiguration = new btDefaultCollisionConfiguration();
m_dispatcher = new btCollisionDispatcher(m_collisionConfiguration);
btVector3 worldMin(-bcfg.worldLimit,-bcfg.worldLimit,-bcfg.worldLimit);
btVector3 worldMax(bcfg.worldLimit,bcfg.worldLimit,bcfg.worldLimit);
m_overlappingPairCache = new btAxisSweep3(worldMin,worldMax);
m_constraintSolver = new btSequentialImpulseConstraintSolver();
m_dynamicsWorld = new btDiscreteDynamicsWorld(m_dispatcher,m_overlappingPairCache,m_constraintSolver,m_collisionConfiguration);
m_dynamicsWorld->setGravity(btVector3(0,-bcfg.gravitation,0));
/// Create scene
addModel(m);
}
Ale ted i neco pozitivniho. Autor si s aplikaci dal opravdu hodne prace a pozitivne hodnotim, ze i pres to mracno chyb se aplikaci podari spustit.
Doporucil bych:
void renderSubModel(model* mod, model3d m);
(geometrie celého 3D světa se během vykreslování každého snímku kopírovala).
Objahoba diplomky je naštěstí až za půl roku :D spíš teď do Vánoc chci stihnout upgrade, abych neprošvih vánoční nával stahování aplikací :)