Byla vydána nová verze 9.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Nově také pro NanoPi R3S, R3S LTS, R76S a M5. Přehled novinek v poznámkách k vydání.
bat, tj. vylepšený cat se zvýrazňováním syntaxe a integrací s gitem, byl vydán ve verzi 0.26.0.
Byla vydána první verze 0.0.1 [Mastodon] multipatformního renderovacího jádra webového prohlížeče Servo (Wikipedie). Vývoj Serva započal v roce 2012 v Mozilla Corporation. V roce 2020 bylo Servo předáno nadaci Linux Foundation. Servo je napsané v programovacím jazyce Rust.
Cloudovou službu Amazon Web Services (AWS) americké firmy Amazon dnes postihl globální výpadek. Omezil dostupnost řady aplikací a webů, například populární platformu Snapchat nebo aplikaci s prvky umělé inteligence (AI) Perplexity. Podle webu Downdetector hlásily problémy také uživatelé obchodu Amazon, streamovací platformy PrimeVideo nebo platební služby PayPal.
GNU Octave lze nově používat ve webovém prohlížeči v JupyterLite s jádrem Xeus-Octave.
Od 3. do 16. listopadu proběhnou Dny AI 2025. V úterý 11. listopadu proběhne Open source AI day v Red Hatu v Brně.
Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 158 (pdf) a Hello World 28 (pdf).
Vývojáři GIMPu nově vydávají oficiální snap balíčky GIMPu. Jsou sestavovány přímo v jejich CI (Continuous Integration) systému.
Správce sbírky fotografií digiKam byl vydán ve verzi 8.8.0. Jedná se o převážně opravné vydání provázené aktualizacemi knihoven. Novinky zahrnují implicitní použití systémového barevného profilu monitoru, import/export hierarchie štítků, editační nástroj rozostření aj.
Steve Jobs a superpočítač Cray-1 budou vyobrazeny na pamětních jednodolarových mincích vyražených v příštím roce v rámci série Americká inovace. Série má 57 mincí, tj. 57 inovací. Poslední 4 mince budou vyraženy v roce 2032.
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í :)