Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2024 (pdf), kde shrnuje své aktivity v loňském roce a přináší i základní popis situace na trhu. Celkový objem přenesených mobilních dat za rok 2024 dosáhl dle odhadu hodnoty přibližně 1,73 tis. PB a jeho meziroční nárůst činí zhruba 30 %. Průměrná měsíční spotřeba dat na datovou SIM kartu odhadem dosáhla 12,5 GB – v předchozím roce šlo o 9,8 GB.
Z novinek představených na Google I/O 2025: Přehledy od AI (AI Overviews) se rozšiřují do dalších zemí. Užitečné, syntetizované přehledy od generativní AI jsou nově k dispozici i českým uživatelům Vyhledávače.
Šestice firem označovaných jako „MAMAAN“ – tedy Meta (Facebook, Instagram), Alphabet (Google), Microsoft, Apple, Amazon a Netflix – je zodpovědná za více než padesát procent světového internetového provozu. Dalšími velkými hráči jsou TikTok a Disney+. Společně tak zásadně určují podobu digitálního prostředí, spotřebitelského chování i budoucích trendů v oblasti technologií. I přesto, že se podíl těchto gigantů od roku 2023 o něco snížil, jejich dominantní postavení zvyšuje volání po regulaci.
Evropská komise (EK) navrhuje zavést plošný poplatek ve výši dvou eur (zhruba 50 Kč) za každý malý balík vstupující do Evropské unie. Poplatek se má týkat balíků v hodnotě do 150 eur (zhruba 3700 Kč), které v EU nepodléhají clu. V loňském roce bylo do EU doručeno kolem 4,6 miliardy takovýchto balíků. Poplatek má krýt náklady na kontroly rostoucího počtu zásilek levného zboží, které pochází především z Číny.
Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Tiskni
Sdílej:
> blassic monte_carlo Syntax horror in 70
70 IF X > U THEN 90
GOTO 90
?
IF X > U THEN GOTO 90
Z Archa jsem vydoloval blassic (a classic interpreter of basic), naťukal source do souboru a hodil mu to.
Možná stojí za úvahu použít skutečný kompilátor - FreeBasic. S různými těmi interprety nemám dobré zkušenosti.
import random, math n = 0 print "No. OF THROWS ; PI" for j in xrange(1,24): for k in xrange(1,500): x = random.random() u = math.sin(math.pi*random.random()) if x < u: n += 1 t = 500*j p = 2*float(t)/float(n) print t, ";", p
real 0m0.053s user 0m0.036s sys 0m0.000s
marek@mantisha:~/pi> time python pi.py 10000 ; 3.11041990669 real 0m0.125s user 0m0.108s sys 0m0.016s marek@mantisha:~/pi> gfortran pi-jehla.f95 marek@mantisha:~/pi> time ./a.out *** 3.122561 real 0m0.009s user 0m0.004s sys 0m0.004s marek@mantisha:~/pi>
PROGRAM PI_JEHLA integer :: i = 1,pocet_iteraci = 10000,vnejsi_citac = 24, splneno = 0, foo = 0 double precision :: pi = 0, random = 0, x = 0, u = 0 double precision,parameter :: const_pi = 3.141592653589793238462643383279 !!print*,"Napiste pocet iteraci" !read(*,*)pocet_iteraci vnitrni: DO call random_number(random) x = random call random_number(random) u = random if(x < sin(u*const_pi)) splneno=splneno+1 i=i+1 ! if(splneno>0) print*,i," -- ",(2*real(i)/real(splneno)) if(i==pocet_iteraci) EXIT vnitrni END DO vnitrni print*,"***",(real(2*pocet_iteraci)/real(splneno)) ENDMístní guruové by to jistě ještě nějak zoptimalizovali.
import random, math n = 0 for k in xrange(1,10000): x = random.random() u = math.sin(math.pi*random.random()) if x < u: n += 1 t = 10000 p = 2*float(t)/float(n) print t, ";", p
radovan@PC1:~/basic$ time basic montecarlo.bas No. OF THROWS PI 500 3.125 1000 3.154574 1500 3.144654 2000 3.167063 2500 3.134796 3000 3.176284 3500 3.146067 4000 3.145891 4500 3.144654 5000 3.143666 5500 3.138374 6000 3.138896 6500 3.129514 7000 3.139717 7500 3.127606 8000 3.121342 8500 3.115265 9000 3.119584 9500 3.133245 10000 3.133323 10500 3.124535 11000 3.126332 11500 3.133942 12000 3.136025 real 0m0.041s user 0m0.036s sys 0m0.004s    Jen mě tak napadlo, když se počítá poměr zásahů uvnitř a vně kruhu, nebylo by lepší, než používat umělou "náhodu", prostě udělat mřížku a vzít to bod po bodu? Zkusím na tom po obědě trochu zapracovat.
kyosuke@gondolin:~> ruby <<EOF
> require 'narray'
> def pi(n)
> x, y = Array::new(2){NArray::float(n).random}
> return 4 * ((x**2 + y**2) < 1).mean
> end
> puts " N | Pi \n =================="
> 14.times do |x|
> x = (x%2==0 ? 1 : 3) * 10**(x/2)
> printf " %8d | %f\n", x, pi(x)
> end
> EOF
N | Pi
==================
1 | 4.000000
3 | 4.000000
10 | 2.800000
30 | 2.800000
100 | 3.040000
300 | 3.200000
1000 | 3.056000
3000 | 3.150667
10000 | 3.134400
30000 | 3.150133
100000 | 3.146520
300000 | 3.137933
1000000 | 3.141056
3000000 | 3.141111
kyosuke@gondolin:~>
Možná právě proto se to takhle nepočítá... echo "scale=$kolik_des_cisel; 4*a(1)" | bc -l
10 d=54: z=d^2 20 for x=-d to d 30 x2=x^2 40 for y=-d to d 50 if x2+y^2<=z then n=n+1 60 next y 70 next x 80 print n/z 90 exit    Při přibližně stejném počtu pokusů to je dokonce rychlejší, s podobnou přesností:
radovan@PC1:~/basic$ time basic pi_mrizka.bas 3.136145 real 0m0.022s user 0m0.020s sys 0m0.004s    Ale pravda je, že abych z toho dostal správně aspoň pět míst, musel jsem dát d=10000 a počkat si deset minut. On BASIC nikdy nebyl z nejrychlejších, už kvůli tomu počítání s reálnými čísly
import sys r = 10 n = 0 for y in xrange(-r,r+1): for x in xrange(-r,r+1): if (x**2 + y**2)**0.5 <= r: sys.stdout.write(".") n += 1 else: sys.stdout.write(" ") if x == r: sys.stdout.write("\n") print "pi =", float(n)/float(r**2)To mi připomíná jeden pěkný bash skript co jsem někde viděl -- do konzole takhle kreslil Mandelbrotův fraktál