Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
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í :)