Nejvyšší správní soud (NSS) podruhé zrušil pokutu za únik zákaznických údajů z e-shopu Mall.cz. Incidentem se musí znovu zabývat Úřad pro ochranu osobních údajů (ÚOOÚ). Samotný únik ještě neznamená, že správce dat porušil svou povinnost zajistit jejich bezpečnost, plyne z rozsudku dočasně zpřístupněného na úřední desce. Úřad musí vždy posoudit, zda byla přijatá opatření přiměřená povaze rizik, stavu techniky a nákladům.
Organizace Free Software Foundation Europe (FSFE) zrušila svůj účet na 𝕏 (Twitter) s odůvodněním: "To, co mělo být původně místem pro dialog a výměnu informací, se proměnilo v centralizovanou arénu nepřátelství, dezinformací a ziskem motivovaného řízení, což je daleko od ideálů svobody, za nimiž stojíme". FSFE je aktivní na Mastodonu.
Paramount nabízí za celý Warner Bros. Discovery 30 USD na akcii, tj. celkově o 18 miliard USD více než nabízí Netflix. V hotovosti.
Nájemný botnet Aisuru prolomil další "rekord". DDoS útok na Cloudflare dosáhl 29,7 Tbps. Aisuru je tvořený až čtyřmi miliony kompromitovaných zařízení.
Iced, tj. multiplatformní GUI knihovna pro Rust, byla vydána ve verzi 0.14.0.
FEX, tj. open source emulátor umožňující spouštět aplikace pro x86 a x86_64 na architektuře ARM64, byl vydán ve verzi 2512. Před pár dny FEX oslavil sedmé narozeniny. Hlavní vývojář FEXu Ryan Houdek v oznámení poděkoval společnosti Valve za podporu. Pierre-Loup Griffais z Valve, jeden z architektů stojících za SteamOS a Steam Deckem, v rozhovoru pro The Verge potvrdil, že FEX je od svého vzniku sponzorován společností Valve.
Byla vydána nová verze 2.24 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia online tabulky Proton Sheets v Proton Drive.
O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.
Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy
… více »
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.
Tady je funční ekvivalent v pythonu:
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
dobrá práce, díky moc
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á...
A hlavně bych nepoužíval tenhle algoritmus...
echo "scale=$kolik_des_cisel; 4*a(1)" | bc -l
Upřímně, kolik lidí kdy v životě použilo z nějakého praktického důvodu více než 20 číslic z desetinného rozvoje čísla pí? :) Myslím, že jich moc nebude to by mělo stačit i pro mezihvězdné vzdálenosti.
Mno jo, kompilátor.)
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
V tom Chipmunku jsem ještě nenastudoval jak to přepnout do celých, neznáte někdo obdobu DEFINT A-Z? Pak by ten čas mohl být zajímavější.
(což má smysl jen dokud se vleze jeden řádek do konzole, tzn. pro r do 40):
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
.