Byla vydána verze 2.0.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Oficiálně bude představena ve čtvrtek na konferenci KotlinConf 2024 v Kodani. Livestream bude možné sledovat na YouTube.
Byla vydána nová major verze 27.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Přehled novinek v příspěvku na blogu.
Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.
Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.
Příspěvek na blogu Codean Labs rozebírá zranitelnost CVE-2024-4367 v PDF.js, tj. mj. prohlížeči PDF souborů ve Firefoxu. Při otevření útočníkem připraveného pdf souboru může být spuštěn libovolný kód v JavaScriptu. Vyřešeno ve Firefoxu 126.
Lazygit byl vydán ve verzi 0.42.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.
K open source herní konzole Picopad přibyla (𝕏) vylepšená verze Picopad Pro s větším displejem, lepšími tlačítky a větší baterii. Na YouTube lze zhlédnout přednášku Picopad - open source herní konzole z LinuxDays 2023.
Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.
Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.
24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.
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: