DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.
VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).
ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.
LF AI & Data Foundation patřící pod Linux Foundation spustila Open Platform for Enterprise AI (OPEA).
Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.
Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.
ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.
Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.
#HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.
wget www.seznam.cz --06:13:25-- http://www.seznam.cz/ => `index.html' Resolving www.seznam.cz... 194.228.32.3 Connecting to www.seznam.cz|194.228.32.3|:80... connected. HTTP požadavek odeslán, program čeká na odpověď ... 200 OK Délka: neudáno [text/html] [ <=> ] 31 595 --.--K/s 06:13:25 (5.98 MB/s) - `index.html' saved [31595]Potřebuji získat to index.html. Pokud bych tento výstup poslal rourou, např.
wget http://www.seznam.cz 2>&1|grep saved|sed -e 'blabla', tak sice získám název, ale přijdu tím o ostatní omáčku z wgetu. Potřeuji i tu omáčku i ten název... Dík za tip!
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
wget http://www.seznam.cz 2>&1|tee /dev/stderr|grep saved
07:00:11 (6.83 MB/s) - `index.html.31' saved [31612]
dá to index.html
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
$ echo "07:00:11 (6.83 MB/s) - \`index.html.31' saved [31612]" 07:00:11 (6.83 MB/s) - `index.html.31' saved [31612] $ echo "07:00:11 (6.83 MB/s) - \`index.html.31' saved [31612]" | \ sed -e "s:[[:print:]]*\`::" -e "s?' saved \[[[:digit:]]*\]??g" index.html.31
-O file
--output-document=file
wget $URL 2>&1 | tee /dev/stderr | grep saved | awk '{ print(substr($5, 2, length($5)-2)); }'Dík všem a hlavně Davidovi
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
file=$(wget $url 2>&1 | sed -n "2{h;s/.*\`\(.*\)'$/\1/p;g};w /dev/stderr")
wget http://seznam.czstáhne něco jiného než
wget http://seznam.cz/index.htmlAle přitom název souboru bude v obou případech 'index.html'. Takže buď ten název souboru známe (je součástí URL) nebo ho neznáme a pak je to index.html. Nebo jsou nějaké výjimky?
#!/usr/bin/env python import sys,os,urlparse,urllib2 conn = urllib2.urlopen(sys.argv[1]) realurl = conn.geturl() parsed = urlparse.urlsplit(realurl) url_path = parsed[2] # Here is the path filename = os.path.split(url_path)[1] if not filename: print 'No filename available, using "index.html"' filename = 'index.html' file(filename, 'w').write(conn.read())Jestliže se pokusím stáhnout
http://kf.fyz.fce.vutbr.cz/pub/bletak to název souboru nenajde a stáhne to do "index.html". Zatímco
http://kf.fyz.fce.vutbr.cz/pub/blaobsahuje konkrétní název souboru, ačkoli to z pouhé adresy nelze poznat. No a v tomto případě se použije název "bla". Zrovna tak to udělá i wget.
ahoj 2 slunce 3 moře 1 člověk 5 atd...
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
wget -q -O- ... | sed ... | ...Případně pokud by se jednalo o slušný web, mohl byste k vyčištění použít
xsltproc
.
#!/usr/bin/env python import os,sys,elementtree.ElementTree, urllib2 words = {} def add_to_words(text): for word in text.split(): try: words[word] += 1 except KeyError: words[word] = 1 def find_text(elem): text = elem.text if text: add_to_words(text) for e in elem: find_text(e) conn = urllib2.urlopen(sys.argv[1]) doc = elementtree.ElementTree.parse(conn).getroot() conn.close() find_text(doc) for k in words: print "%d: %s" %(words[k], k)Kéž by všechny stránky byly v XHTML strict...
chorchoj:14:22:02 ~$ wget -q abclinuxu.cz chorchoj:14:22:26 ~$ tidy -xml index.html line 18 column 1 - Error: unexpected </head> in <meta> line 56 column 98 - Error: unexpected </a> in <img> line 57 column 6 - Error: unexpected </div> in <img> line 77 column 1 - Error: unexpected </div> in <img> line 77 column 7 - Error: unexpected </div> in <img> line 96 column 25 - Error: unexpected </form> in <input> 0 warnings, 51 errors were found! Not all warnings/errors were shown. This document has errors that must be fixed before using HTML Tidy to generate a tidied up version. To learn more about HTML Tidy see http://tidy.sourceforge.net Please send bug reports to html-tidy@w3.org HTML and CSS specifications are available from http://www.w3.org/ Lobby your company to join W3C, see http://www.w3.org/ConsortiumZkoušel jsem i víc stránek - na každé je nějaký problém. Neznáte někdo nějaký jiný způsob, jak z HTML udělat well-formed XML?
#!/usr/bin/env python import os,sys,elementtree.ElementTree, urllib2 words = {} def find_text(elem): for word in elem.text.split(): words[word] = words.get(word, 0) + 1 for e in elem: find_text(e) url = 'http://www.w3schools.com/xml/plant_catalog.xml' conn = urllib2.urlopen(url) doc = elementtree.ElementTree.parse(conn).getroot() conn.close() find_text(doc) w = [(y,x) for x,y in words.items()] w.sort() for num, word in w: print "%d: %s" %(num, word)... ale jinak to trpí tím samým neduhem co předchozí verze.
w = [(y,x) for x,y in words.items()] w.sort() for num, word in w: print "%d: %s" %(num, word)jde v Python 2.4 nahradit
for word, num in sorted( words.iteritems(), key=lambda x: x[::-1], reverse=True ): print "%d: %s" %(num, word)Principiálně je to totéž jako
w = [(y,x) for x,y in words.iteritems()] w.sort() for num, word in w: print "%d: %s" %(num, word)Ale vypadá to víc perlish :) (jinak to použití
iteritems
místo items
by mělo ušetřit trochu paměti, ještě trošku paměti by mělo ušetřit
for word in sorted( words.iterkeys(), key=lambda x: (words[x], x), reverse=True ): print "%d: %s" %(words[word], word)ale tam už bude kulhat rychlost) Aneb správný perlista dokáže napsat perlový kód v jakémkoli jazyku
Pichi varuje: Tento příspěvek není kritika, jen má sloužit jako studijní materiál.
w = [(y,x) for x,y in words.iteritems()] del words #šetříme pamětí w.sort() for num, word in w: print "%d: %s" %(num, word)
lynx -dump www.abclinuxu.cz \ | sed -e 's/[^a-z0-9]\+/ /g' -e 's/[ \t]\+/\n/g' \ | sort \ | uniq -c \ | sort -n
Tiskni Sdílej: