Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.
V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.
Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.
Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.
Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.
Apple dnes představil (YouTube) iPhone Duo, iPhone 18 Pro, Watch Series 12, Watch Ultra 4 a AirPods 5.
Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.
DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.
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í :)