Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.
Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).
Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.
AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.
Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou
… více »Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.
Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.
Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.
Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.
assert(min_teplota < max_teplota);
while (true) {
teplota = getTeplota();
if (teplota <= min_teplota) {
setRele(true);
} else if (teplota >= max_teplota) {
setRele(false);
}
}
Četl jsi špatně otázku... Kdyby to bylo tak primitivní, tak to zvládnu sám....Vzhledem k řazení příspěvků v diskusi není úplně jisté, jestli reaguješ na to, co psal AraxoN, nebo na moji odpověď. Jirka
Mimochodem, myslím, že to, co radil AraxoN, s doplněním počátečního sepnutí, dává smysl, pokud by to běželo na nějakém jednoduchém řídícím čipu, který nedělá nic jiného. Problém by mohly být případné výjimečné situace.Četl jsi špatně otázku... Kdyby to bylo tak primitivní, tak to zvládnu sám....Vzhledem k řazení příspěvků v diskusi není úplně jisté, jestli reaguješ na to, co psal AraxoN, nebo na moji odpověď. Jirka
if aktualni_teplota <= minimalni_teplota || ( rele == 1 && aktualni_teplota < maximalni_teplota) {
rele = 1;
} else {
rele = 0;
}
if (kotel(teplota) < maxtep) zapnout(ohřev);
do {
if (kotel(teplota) > maxtep) vypnout(ohřev);
if (kotel(teplota) < mintep) zapnout(ohřev);
} while(topit());
vypnout(ohřev);
Přidat tam hlídání hladiny a tlaku je triviální.
#include <stdio.h>
#include <stdbool.h>
bool regulace_kotle(float aktualni_teplota, float minimalni_teplota, float maximalni_teplota) {
/*
Funkce pro regulaci kotle.
Argumenty:
aktualni_teplota: Aktuální teplota.
minimalni_teplota: Minimální požadovaná teplota.
maximalni_teplota: Maximální požadovaná teplota.
Vrací:
Stav relé kotle (true/false).
*/
if (aktualni_teplota < minimalni_teplota) {
// Teplota je nízká, zapneme relé.
return true;
} else if (aktualni_teplota >= maximalni_teplota) {
// Teplota je vysoká, vypneme relé.
return false;
} else {
// Teplota je v požadovaném rozmezí, relé zůstane beze změny.
return false; // Předpokládám, že chcete prozatím relé vypnout
}
}
int main() {
float aktualni_teplota = 22.5;
float minimalni_teplota = 20;
float maximalni_teplota = 25;
bool stav_rele = regulace_kotle(aktualni_teplota, minimalni_teplota, maximalni_teplota);
printf("Aktualni teplota: %.1f°C\n", aktualni_teplota);
printf("Minimalni teplota: %.1f°C\n", minimalni_teplota);
printf("Maximalni teplota: %.1f°C\n", maximalni_teplota);
printf("Stav rele: %s\n", stav_rele ? "zapnuto" : "vypnuto");
return 0;
}
if (aktualni_teplota >= maximalni_teplota) {
// Teplota je vysoká, vypneme relé.
return false;
} else {
// Teplota je v požadovaném rozmezí, relé zůstane beze změny.
return false; // Předpokládám, že chcete prozatím relé vypnout
}
jde nahradit za
return false;
#include <stdio.h>
int main() {
int minimalni_teplota = 2050;
int maximalni_teplota = 2400;
int aktualni_teplota;
int rele_stav = 0; // 0 pro vypnuto, 1 pro zapnuto
while (1) { // Nekonečná smyčka
printf("Rele stav: %d\n", rele_stav); // Výpis stavu relé
printf("Teplota v 0.01°C: ");
scanf("%d", &aktualni_teplota);
if (aktualni_teplota < minimalni_teplota) {
rele_stav = 1; // Sepnout relé
} else if (aktualni_teplota >= maximalni_teplota) {
rele_stav = 0; // Rozepnout relé
}
}
return 0;
}
Tento kód vypisuje stav relé a čeká na uživatelský vstup teploty v jednotkách setin stupňů Celsia. Pokud je teplota nižší než minimální teplota, relé se spustí; pokud je teplota rovna nebo vyšší než maximální teplota, relé se vypne.
if (aktualni_teplota < maximalni_teplota) rele_stav = 1; // Sepnout reléNic jednoduššího mě nenapadá. A) Začínat se zapnutým relé
int rele_stav = 1; není úplně čisté řešení. Po spuštění, při (aktualni_teplota >= maximalni_teplota) by relé bylo zapnuto jen na okamžik, v rámci jednoho cyklu - v případě pomalého taktu procesoru, rychlého relé a velkého spínaného výkonu by to teoreticky mohlo způsobit potíže. Šlo by to ošetřit, ale to by bylo zbytečně krkolomné.
B) Testovaní prvního běhu v nekonečném cyklu je nepraktické, zbytečně by se opakovalo a kód by byl složitější.
Tiskni
Sdílej: