Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.
Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -
… více »GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.
V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »
Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.
Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).
Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.
Byl představen emulátor terminálu Ratty (GitHub) s podporu 3D grafiky přímo v terminálu. Inspirací byl operační systém TempleOS od Terryho Davise. Ratty je napsán v jazyce Rust. Využívá knihovnu Ratatui pro tvorbu rozhraní a herní engine Bevy pro 3D vykreslování.
Evropské instituce i některé americké státy dál zpřísňují pravidla pro ověřování věku na internetu. Cílem je zabránit dětem v přístupu k obsahu pro dospělé. Úřady ale narážejí na zásadní problém – stále více lidí používá VPN, tedy služby umožňující skrýt identitu i skutečnou polohu na internetu. Právě VPN nyní Evropská parlamentní výzkumná služba (EPRS) označila za „mezeru v legislativě, kterou je potřeba uzavřít“ [Novinky.cz].
Multiplatformní open source aplikace pro psaní poznámek Joplin (Wikipedie) byla vydána v nové verzi 3.6. Nově lze mít v poznámkách embedovaný externí obsah, např. YouTube videa.
Měl bych se sice šrotit na zkoušky a psát zápočtové programy, ale je to taková nuda... A tak bezcílně brouzdám webem a dnes se mi konečně podařilo najít něco zajímavého. Vždycky jsem si lámal hlavu, jaký mají u Googlů systém pojmenování bloků map a světe div se, dneska jsem to našel úplně náhodou v blogu jednoho machra z Francie.
Podívejte se na to, je to sice francouzsky, ale i bez její znalosti lze pochopit o co jde. Má tam dokonce funkci v C, která podle zoomu a pravoúhlých souřadnic vrátí adresu odpovídajícího bloku mapy.
Napadlo mě tedy, že si prostě musím ty mapy za každou cenu stáhnout a složit z těch bloků
. Tak jsem si na to napsal prográmek. Ten stáhne bloky wgetem a pomocí montage z ImageMagicku ty bloky poskládá dokupy. A ono to dokonce funguje.
Tady je ten prográmek. Přeložíte takto: gcc -std=c99 get-map.c -o get-map. Jsem lenoch líná, tak zoom si musíte nastavit v kódu, ostatní už funguje samo. Přeju hodně zábavy!
Pro ty co mají silné stroje: jak velkou mapu se vám podařilo složit?
#include <stdio.h>
#include <string.h>
char* getBlock(char* url, unsigned int x, unsigned int y, unsigned int zoom)
{
strcpy(url, "http://kh*.google.com/kh?n=404&v=3&t=t")[9] = '0' + (x + y) % 4;
if(!zoom)
return url;
for(unsigned long c = 1 << (zoom - 1); c != 0; c >>= 1)
if(y < c)
{
if(x < c)
strcat(url, "q");
else
{
strcat(url, "r");
x -= c;
}
}
else
{
if(x < c)
{
strcat(url, "t");
y -= c;
}
else
{
strcat(url, "s");
x -= c;
y -= c;
}
}
return url;
}
int main(void)
{
int zoom = 3, num = 0;
char cmd1[100], cmd2[100];
for(int y = 0; y < 1 << zoom; y++)
for(int x = 0; x < 1 << zoom; x++)
{
sprintf(cmd2, "wget \"%s\" -O google-maps-block-%.6d.jpg", getBlock(cmd1, x, y, zoom), num++);
system(cmd2);
}
sprintf(cmd1, "montage -geometry %dx%d +frame -tile %dx%d -verbose google-maps-block-* map-zoom-%d.jpg", 256, 256, 1 << zoom, 1 << zoom, zoom);
system(cmd1);
system("rm google-maps-block-*");
return 0;
}
Tak moje pokusy dopadly následovně
. Těch bloků jsem stáhnul několik tisíc. Asi hodím mezi jednotlivé wgety nějaký sleep, a nechám to běžet přes noc.
Google Error
We're sorry...
... but your query looks similar to automated requests from a computer virus or spyware
application. To protect our users, we can't process your request right now.
We'll restore your access as quickly as possible, so try again soon. In the meantime, if you
suspect that your computer or network has been infected, you might want to run a virus checker or
spyware remover to make sure that your systems are free of viruses and other spurious software.
We apologize for the inconvenience, and hope we'll see you again on Google.
Největší mapu, co se mi podařilo složit byl zoom = 5, čili 1024 bloků, výsledná bitmapa má 8192x8192 bodů a málem se mi u toho upekl počítač. Paměťové nároky toho programy montage jsou nějaké velké.
Tiskni
Sdílej:
Co znak, to 2 bity, ne?
A jak je to tedy s tím Seznam.cz?
trtqtrtsqtqsrtsttr) a přepočítat ho na pravoúhlé souřadnice pomocí tohohle algoritmu:
void code2location(char* code)
{
unsigned int x = 0, y = 0;
for(int i = 1; i < strlen(code); i++)
{
x = (x << 1) | ((code[i] == 'r' || code[i] == 's') ? 1 : 0);
y = (y << 1) | ((code[i] == 't' || code[i] == 's') ? 1 : 0);
}
printf("locatiton = [%d; %d], zoom = %d", x, y, strlen(code) - 1);
}
Výstupem pro trtqtrtsqtqsrtsttr je:
locatiton = [70761; 44382], zoom = 17
Získaná čísla potom dosadíš do toho programu a je to.
Jde o nastavení levého horního rohu. Je třeba upravit ty vnořene cykly takhle:
for(int y = odkud_v_ose_y; y < potud_v_ose_y; y++)
for(int x = odkud_v_ose_x; x < potud_v_ose_x; x++)
A potom ještě tenhle řádek:
sprintf(cmd1, "montage -geometry %dx%d +frame -tile %dx%d -verbose google-maps-block-* map-zoom-%d.jpg", 256, 256, potud_v_ose_x - odkud_v_ose_x, potud_v_ose_y - odkud_v_ose_y, zoom);
Kde location = [odkud_v_ose_x; odkud_v_ose_y] zoom = 17
S těmi daty v té mapě je to stejný jako s datovými soubory u slovníků.