Čínský startup Kimi představil open-source model umělé inteligence Kimi K2.5. Nová verze pracuje s textem i obrázky a poskytuje 'paradigma samosměřovaného roje agentů' pro rychlejší vykonávání úkolů. Kimi zdůrazňuje vylepšenou schopnost modelu vytvářet zdrojové kódy přímo z přirozeného jazyka. Natrénovaný model je dostupný na Hugging Face, trénovací skripty však ne. Model má 1 T (bilion) parametrů, 32 B (miliard) aktivních.
V Raspberry Pi OS lze nově snadno povolit USB Gadget Mode a díky balíčku rpi-usb-gadget (CDC-ECM/RNDIS) mít možnost se k Raspberry Pi připojovat přes USB kabel bez nutnosti konfigurování Wi-Fi nebo Ethernetu. K podporovaným Raspberry Pi připojeným do USB portu podporujícího OTG.
Konference Installfest 2026 proběhne o víkendu 28. a 29. března v budově FELu na Karlově náměstí v Praze. Přihlásit přednášku nebo workshop týkající se Linuxu, otevřených technologií, sítí, bezpečnosti, vývoje, programování a podobně lze do 18. února 0:15.
Fedora Flock 2026, tj. konference pro přispěvatele a příznivce Fedory, bude opět v Praze. Proběhne od 14. do 16. června. Na Flock navazuje DevConf.CZ 2026, který se uskuteční 18. a 19. června v Brně. Organizátoři konferencí hledají přednášející, vyhlásili Call for Proposals (CfP).
Z80-μLM je jazykový model 'konverzační umělé inteligence' optimalizovaný pro běh na 8-bitovém 4Mhz procesoru Z80 s 64kB RAM, technologii z roku 1976. Model používá 2-bitovou kvantizaci a trigramové hashování do 128 položek, což umožňuje zpracování textu i při velmi omezené paměti. Natrénovaný model se vejde do binárního souboru velkého pouhých 40 KB. Tento jazykový model patrně neprojde Turingovým testem 😅.
Digitální a informační agentura (DIA) na přelomu roku dokončila rozsáhlou modernizaci hardwarové infrastruktury základních registrů. Projekt za 236 milionů korun by měl zabránit výpadkům digitálních služeb státu, tak jako při loňských parlamentních volbách. Základní registry, tedy Registr práv a povinností (RPP), Informační systém základních registrů (ISZR) a Registr obyvatel (ROB), jsou jedním z pilířů veřejné správy. Denně
… více »Evropská komise (EK) zahájila nové vyšetřování americké internetové platformy 𝕏 miliardáře Elona Muska, a to podle unijního nařízení o digitálních službách (DSA). Vyšetřování souvisí se skandálem, kdy chatbot s umělou inteligencí (AI) Grok na žádost uživatelů na síti 𝕏 generoval sexualizované fotografie žen a dětí. Komise o tom dnes informovala ve svém sdělení. Americký podnik je podezřelý, že řádně neposoudil a nezmírnil rizika spojená se zavedením své umělé inteligence na on-line platformě.
Bratislava OpenCamp pokračuje vo svojej tradícii a fanúšikovia otvorených technológií sa môžu tešiť na 4. ročník, ktorý sa uskutoční 25. 4. 2026 na FIIT STU v Bratislave. V súčasnosti prebieha prihlasovanie prednášok a workshopov – ak máte nápad, projekt, myšlienku, o ktoré sa chcete podeliť s komunitou, OpenCamp je správne miesto pre vás.
Krádež není inovace (Stealing Isn't Innovation). Koalice umělců, spisovatelů a tvůrců protestuje proti používání autorsky chráněných děl velkými technologickými společnostmi pro trénování AI systémů bez povolení či kompenzace.
Stát, potažmo ministerstvo vnitra plánuje zřízení nového, neveřejného virtuálního operátora, který by byl primárně určený na zajištěni kritické infrastruktury státu. Cílem je zajistit udržitelné, bezpečné, mobilní, vysokorychlostní datové a hlasové služby umožňující přístup ke kritickým aplikacím IZS a krizového řízení.
Pokud někde není variabilní symbol (resp. kterýkoli ze 3 údajů), řádek se přeskočí. Sekvenci (1,10,13) můžete nahradit (7,10,13) nebo (8,10,13), podle toho, který datum chcete do přeheldu vkládat.
#!/usr/bin/env python
import urllib2
from HTMLParser import HTMLParser
class MyHTMLParser(HTMLParser):
def parse(self, html):
self.tdcounter = 0
self.within_tbody = False
self.thead_found = False
self.platby = []
self.platba_parsed = []
self.feed(html)
self.close()
def handle_starttag(self, tag, attrs):
if tag == 'td': self.tdcounter += 1
if tag == 'tbody' and self.thead_found:
self.within_tbody = True
def handle_data(self, data):
if 'Variabil' in data: self.thead_found = True
if self.within_tbody:
# if self.tdcounter in (4,13,17):
if self.tdcounter in (1,10,13):
self.platba_parsed.append(data.strip())
def handle_startendtag(self, tag, attrs):
if self.within_tbody and tag == 'br':
self.tdcounter += 1
def handle_endtag(self, tag):
if tag == 'tr':
self.tdcounter = 0
if self.platba_parsed and len(self.platba_parsed) == 3 :
self.platby.append(self.platba_parsed)
self.platba_parsed = []
if tag == 'tbody': self.within_tbody = False
url = 'http://www.rb.cz/firemni-finance/transparentni-ucty/?root=firemni-finance&item1=transparentni-ucty&tr_acc=vypis&account_number=2588438001'
htmlcache = 'ebanka_cache'
try:
contents = file(htmlcache).read()
except:
handler = urllib2.urlopen(url)
contents = handler.read()
handler.close()
file(htmlcache, 'w').write(contents)
parser = MyHTMLParser()
parser.parse(contents)
for datum, varsymb, castka in parser.platby:
print '%s;%s;%s;'%(datum, varsymb, castka)
V konqueroru/opere/firefoxu jsem vzdy ziskal kratky format data. Ten je presneji "22.04.2008 04:12". Dlouhy format je "2008-06-11 09:55:11.0 2008-06-11 09:55:11.0".Jestli si to dobře pamatuju, měl jsem ve FF v prvním sloupci krátký formát data i s časem, a v tom sloupci, kde jsou dvě data, byl krátký formát bez času. Ale ve skriptu mi to vracelo v různých formátech. Docela by mne zajímalo, jak může vůbec takovýhle problém se střídavým formátováním vzniknout, protože se evidentně mění formát i u jednoho stejného řádku – takže to není ovlivněno konkrétní hodnotou data. Chápal bych, kdyby to bylo různou konfigurací počítačů v clusteru, ale jednu stránku snad vygeneruje jeden počítač, pochybuju, že by se na tom střídaly po řádcích…
Jeste to ma nejaky problemy, ale castecne je prikladam tomu ze RB kazdou chvili vraci neco jineho. Jednou mam datum ve formatu "2008-05-07 05:58:54.0" a chvili nato v "27.06.2008". Nicmene s tim si jeste chvili budu hrat sam...A já už jsem přemýšlel, jestli jsem se nezbláznil, když se mi zdálo, že to vrací datum pokaždé v jiném formátu. Jsem rád, že v tom nejsem sám
Zkusil bych poslat e-mail do RB, pochybuju o tom, že je to střídání formátu dat záměr…
tadyhle,
http://www.abclinuxu.cz/forum/show/163882
a už tehdy jsem měl pocit, že se každou chvíli mění formát výpisu. Dík, že jste to potvrdili, už jsem taky myslel, že mi hrabe. Používají dva formáty pro datum i měnu. Někdy je všechno v jednom formátu, někdy v tom druhém a nejčastěji je to smíchanina. Jak to vzniká, to netuším. Zkusil jsem jim posílat jiného user-agenta, ale nepomohlo. Tak tady aspoň přikládám trochu upravenou verzi parseru (nastavitelný user agent a lepší odchytávání chybějících hodnot). Dík Filipovi.
#!/usr/bin/env python
import urllib2
from HTMLParser import HTMLParser
class MyHTMLParser(HTMLParser):
def parse(self, html):
self.tdcounter = 0
self.within_tbody = False
self.platby = []
self.platba_parsed = []
self.recent_data = ''
self.feed(html)
self.close()
def increase_tdcounter(self):
if not self.within_tbody: return
if self.tdcounter in (0, 8, 11):
self.platba_parsed.append(self.recent_data)
self.tdcounter += 1
self.recent_data = None
def handle_starttag(self, tag, attrs):
if tag == 'tbody': self.within_tbody = True
def handle_data(self, data):
data_stripped = data.strip()
if data_stripped:
self.recent_data = data_stripped
def handle_startendtag(self, tag, attrs):
if tag == 'br': self.increase_tdcounter()
def handle_endtag(self, tag):
if not self.within_tbody: return
if tag == 'td':
self.increase_tdcounter()
if tag == 'tr':
self.tdcounter = 0
self.platby.append(self.platba_parsed)
self.platba_parsed = []
if tag == 'tbody': self.within_tbody = False
url = 'http://www.rb.cz/firemni-finance/transparentni-ucty/?root=firemni-finance&item1=transparentni-ucty&tr_acc=vypis&account_number=2588438001'
htmlcache = 'ebanka_cache.html'
try:
contents = file(htmlcache).read()
except:
browser_id = 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9) Gecko/2008061712 Fedora/3.0-1.fc9 Firefox/3.0'
request = urllib2.Request(url)
opener = urllib2.build_opener(urllib2.HTTPHandler())
opener.addheaders = [('User-Agent', browser_id)]
contents = opener.open(request).read()
file(htmlcache, 'w').write(contents)
parser = MyHTMLParser()
parser.parse(contents)
for datum, varsymb, castka in parser.platby:
print 'Datum: %s Var.s.: %10s Castka: %s'%(
datum, varsymb, castka)
2008-07-10 08:29:20.0;2008-07-10 08:29:20.0;3800293;-19665.00; 2008-07-10 08:21:42.0;2008-07-10 08:21:42.0;280000066;-1997.00; 2008-07-10 08:11:49.0;2008-07-10 08:11:49.0;185;1400.00; 2008-07-10 05:47:50.0;2008-07-10 05:47:50.0;167;400.00; 2008-07-10 05:47:37.0;2008-07-10 05:47:37.0;9;400.00; 2008-07-10 05:46:18.0;2008-07-10 05:46:18.0;97;400,00; 10.07.2008;04:21;139;400,00; 10.07.2008;04:20;63;400,00; 10.07.2008;04:16;94;400,00; 09.07.2008;09:51;17885708;-3 174,00; 09.07.2008;01:38;108;400,00; 09.07.2008;12:17;169;400,00; 09.07.2008;11:45;49;400,00; 09.07.2008;10:27;191;2 200,00; 09.07.2008;10:27;175;5 200,00;
Jinak jsem taky nasel ulozenej starej vypis z eBanky a tam jsou vsechny datumy v tom dlouhem formatu, takze to skutecne posila ruznym klientum ruzne.Napadá mne jedině že by to byla primitivní snaha zabránit automatickému zpracování, zvlášť jestli to závisí na user-agentovi. Ale taková snaha zvlášť v této podobě by mi přišla neuvěřitelně hloupá… Pokud by to záviselo na jiných hlavičkách (třeba preferovaný jazyk), mohla by to být nějaká chybná konfigurace, kdy se na některé řádky uplatní formátování odvozené od preferovaného jazyka prohlížeče, a na jiné nějaké výchozí nastavení systému. Ale moc si nedovedu představit tu realizaci, protože to by musel znamenat, že každý řádek tabulky generuje jinak nastavený software, tedy že pravděpodobně každý řádek tabulky může vracet jiný počítač z clusteru. A to si raději ani představovat nechci. Jsem zvědav, co vám řekne někdo z technického oddělení – pokud rovnou nezablokují vaši IP adresu
Mozna by bylo reseni to proste kontrolovat rucne a pripadne rucne preskladat.Problém je, že jeden z těch formátů je úplně bez času, takže by tam pak byl asi čas 0:00:00.
neni bez casu, podivej se znovu. Akorat ten cas je bud spolu s datem v obou sloupeccich dublovane nebo je jen v tom druhem sloupecku.Ahá, pro oči nevidím. Tak proto tam máte 4 sloupečky a ne 3. Tak to jo.
Diky za ten tip s "if self.platba_parsed and len(self.platba_parsed) == 4 :" ted uz to nehavaruje na radcich bez hodnot (i takovy tam jsou, treba "Poplatek za generování výpisu").Ta podmínka se dá zjednodušit na if len(self.platba_parsed) == 4. A krom toho je možné se jí zbavit úplně a žádné řádky nezahazovat - viz výše.
Ta podmínka se dá zjednodušit na if len(self.platba_parsed) == 4No jo, když do
ifu dopisuju druhou podmínku, mohl bych se taky podívat, co dělá ta první…
A krom toho je možné se jí zbavit úplně a žádné řádky nezahazovat - viz výše.Nějak to výše nemůžu najít. Jak to řešíte, když u nějaké platby není např. variabilní symbol?
já jsem sledoval i to staré vlákno a nakonec jsem na ebanku používal wget a potom parser v php. Vše fungovalo dobře, ale teď po změně nemohu wgetem stáhnout stránku s výpisem na disk. Vždy vyleze jen nějaká ořezaná verze bez tabulky pohybů (viz příloha).
Nevíte proč mi stránka nejde stáhnout?
Děkuji, zemji.
Tiskni
Sdílej: