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.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
> 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
Tiskni
Sdílej: