Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a
… více »Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.
Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.
Pravděpodobně všichni znáte Python. Jde o objektově orientovaný programovací jazyk s velmi čistým zápisem. Python má už v základní instalaci spoustu modulů, pro vše možné, nicméně kde to pokulhává, to je grafika a grafické uživatelské rozhraní. Zde je dostupné pouze Tk, které má ale své nedostatky, kupříkladu nevypadá nic moc (chápej, vypadá jinak než GTK+). To se dá řešit rozšířením PyGTK nebo jiným, nicméně pokud chceme psát hry, tak to stále nebude ono.
V tomto případě jistě sáhneme po rozšíření PyGame, to zpřístupňuje funkce knihovny SDL a doplňuje k ní několik dalších užitečných prvků. Výsledek je kombinací jednoduchosti a lehkosti Pythonu a možností SDL.
Abych si to vyzkoušel, pustil jsem si Moonsorrow a zkusil napsat malé přistání na měsíci (nebo na čemkoliv jiném). Výsledek je zatím dost k ničemu, jsou v něm chyby, je neúplné a tak podobně. Přesto, něco to dělá a to na padesáti řádkách a během půl hodiny. Což není vůbec zlý výsledek 
Na malém obrázku vidíte jak to vypadá
Běží to v okně, i když fullscreen pygame zvládne taky. Rovněž je to natrvdo ve velikosti 640x480, ale opět, to je jen pro moji lenost. Raketka je představována jediným červeným pixelem (opět, šlo by to udělat hezčeji, ale zase by to byla práce navíc
), vlevo máte údaje o vaši výšce, palivu a rychlosti. Brzdit můžete mezerníkem. Pohybujete se pouze a jedině nahoru a dolů, přičemž program nekompromisně končí po dosažení nulové výšky, pak už jenom vypíše konečnou rychlost.
Vzhledem k tomu jak je to krátké, tak si můžu dovolit sem dát celý zdroják
Předpokládám, že tam je pár chyb a dost věcí udělaných nic moc, ale pak už se mi chtělo moc spát…
#!/usr/bin/python
import pygame
from pygame.locals import *
grav = 1
def keyboard (rocket):
engine = 0
for event in pygame.event.get (KEYDOWN):
keys = pygame.key.get_pressed ()
engine = keys [K_SPACE]
if engine:
rocket.burn = 0.01
class rocket:
a = 0
burn = 0
def chpos (self, grav):
if (self.burn > self.fuel):
self.burn = self.fuel
burna = (self.burn * 1000) / (self.mass + self.fuel)
self.a = self.a + grav - burna
self.pos[1] = self.pos[1] + self.a
self.fuel = self.fuel - self.burn
self.burn = 0
def draw (self, surface):
surface.lock ()
surface.set_at ([self.pos[0]/100, self.pos[1]/100], [255,0,0,0])
surface.unlock ()
def __init__(self):
self.pos = [32000,0]
self.fuel = 2.0
self.mass = 1.0
disp = pygame.display
surf = disp.set_mode ([640,480])
pygame.init ()
pygame.key.set_repeat (50,30)
x = rocket ()
Fnt = pygame.font.Font (None, 40)
while (x.pos[1] < 48000):
if not pygame.time.get_ticks () % 30:
surf.fill ([0,0,0,0])
keyboard (x)
x.chpos (grav)
x.draw (surf)
osd = Fnt.render (str(48000 - x.pos[1])+' '+str(x.fuel)+' '+str(x.a), 0, [0,255,0,0])
surf.blit (osd, [0,0])
disp.update ()
print x.a
Tiskni
Sdílej: