Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Používatelia desktopového prostredia KDE môžu za prelink
ďakovať Jakubovi Jelinekovi z RedHatu. Prelink upravuje knižnice a binárky
tak, aby sa programy spúšťali rýchlejšie (hlavne aplikácie písané v jazyku
C++, napríklad KDE).
V Gentoo nie je inštalácia prelinku nič zložité (zväčša):
$ su -
Password:
# emerge prelink
Prelink sa však nemusí nainštalovať, ak na prelinkovanie nemáte
pripravený systém. Celý systém by mal byť skompilovaný s USE
flagom pic
. Pridajte ho do súboru
/etc/make.conf
:
USE="pic"
a prekompilujte celý systém:
$ su -
Password:
# emerge --update --deep --newuse world
alebo:
$ su -
Password:
# emerge -uDN world
Po úspešnom nainštalovaní prelinku odporúčam upraviť jeho nastavenia v
súbore /etc/env.d/60prelink
. Pridajte adresáre
/opt
, /mnt
, /tmp
a
/var/tmp
do premennej PRELINK_PATH_MASK:
PRELINK_PATH_MASK="/opt:/mnt:/tmp:/var/tmp:..."
Prelink sa bude týmto adresárom vyhýbať a prelinkovanie bude trvať
kratšie. Môžete pridať aj ďalšie adresáre, v ktorých sa nenachádzajú
binárky ani knižnice. To isté platí aj pre mená súborov, ktoré ma prelink
vynechať (napríklad: *.txt
, *.html
,
*.odt
apod.)
Teraz vygenerujte konfiguračné súbory systému (vrátane
/etc/prelink.conf
):
$ su -
Password:
# env-update
>>> Regenerating /etc/ld.so.cache...
Teraz stačí spustiť prelinkovanie a dať si šálku svojho obľúbeného kofeínového nápoja, pretože to bude chvíľu trvať:
$ su -
Password:
# prelink -amR
Parametre:
-a, --all
-m, --conserve-memory
-R, --random
-q, --quick
-u, --undo
POZOR! Pred prelinkovaním si dajte pozor, aby ste mali dostatok voľného miesta na disku. Stačí len pár megabajtov, ale radšej si ich uvoľnite viac (aspoň 100MB).
Štartovanie KDE sa môže zrýchliť až o 50 %, ak mu oznámite, že už
je prelinkované. Stačí nastaviť premennú prostredia
KDE_IS_PRELINKED
.
Používatelia Gentoo tak môžu urobiť v súbore
/etc/env.d/99kdeenv
:
KDE_IS_PRELINKED=1
Aby sa zmena prejavila, treba obnoviť konfiguráciu systému a načítať
nanovo vygenerovaný súbor /etc/profile
:
$ su -
Password:
# env-update
# exit
$ source /etc/profile
Stále opakujem, že Portage je veľmi pomalý. Nastal čas prestať o tom rozprávať a niečo s tým urobiť. Samozrejme, ak máte výkonný hardvér, rýchlosť Portage vám prekážať nemusí. Vlastníkov starších počítačov teraz prichádza vykúpiť Psyco.
Portage je celý napísaný v programovacom jazyku Python. Python je interpretovaný jazyk, takže je omnoho pomalší ako kompilované jazyky (C, C++, Pascal a podobne).
Psyco kompiluje program do binárnej formy počas behu programu. Skompilovaný program pracuje nezávisle na interpreteri Pythonu, a preto pracuje rýchlejšie. Je to princíp JIT (just-in-time) kompilátora, ale Psyco je trochu odlišný.
Psyco totiž každý blok (časť programu) skompiluje do viacerých binárnych verzií. Každá verzia je optimalizované pre inú situáciu behu programu. Nevýhoda Psyca je, že potrebuje veľké množstvo pamäte. Presné údaje sa mi nepodarilo zistiť.
Podľa autora Psyco urýchľuje Python priemerne štvornásobne a matematické výpočty až desaťnásobne. Moje benchmarky ukazujú nasledovné údaje:
Program emerge
bez Psyco (tretie spustenie):
# time original_emerge -uDNpv world > /dev/null
real 0m3.211s
user 0m2.917s
sys 0m0.242s
Program emerge
s Psyco (tretie spustenie):
# time emerge -uDNpv world > /dev/null
real 0m2.822s
user 0m2.534s
sys 0m0.248s
Program emerge
bez Psyco (tretie spustenie):
Program emerge
s Psyco (tretie spustenie):
# time emerge -uDNpv world > /dev/null
real 0m44.759s
user 0m39.958s
sys 0m2.752s
Inštalácia je jednoduchá a rýchla:
# emerge psyco
Psyco musí byť aktivované z programu, ktorý chceme urýchliť,
preto musíme upraviť súbor /usr/bin/emerge
. Najprv si urobte
kópiu:
# cd /usr/bin
# cp emerge original_emerge
Do súboru /usr/bin/emerge
pridajte riadky označené zelenou
farbou:
#!/usr/bin/python -O
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-src/portage/bin/emerge,v 1.345.2.31
2005/05/18 15:19:52 jstubbs Exp $
import os,sys
os.environ["PORTAGE_CALLER"]="emerge"
sys.path = ["/usr/lib/portage/pym"]+sys.path
import portage
#Added for Psyco
try:
import psyco
psyco.full()
except ImportError:
pass
#Done
import emergehelp,xpak,string,re,commands,time,shutil,traceback,\
atexit,signal,socket,types
A hotovo, program emerge
by mal byť citeľne rýchlejší. Ak
Gentoo nepoužívate, ale chcete Psyco využiť, stiahnite si ho z
domovskej
stránky Psyco.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
emerge --update --deep --newuse world
- tohle překompiluje celý systém? Nemělo to být emerge -e world
?
Nejak mi to pripomina http://www.gentoo.org/doc/en/prelink-howto.xml, vubec nevim proc :). At uz to aspon opise poradne, cili ze v$CFLAGS/$CXXFLAGS
nesmi byt-fPIC
, v$USE
naopak musi bejtpic
(to je spravne). Meziemerge --update --deep --newuse world
aemerge -uDN world
neni absolutne zadny rozdil, proto nechapu dvoji uvedeni tehoz (snaha o natahnuti clanku?). Proc se stale opakujesu -
? Opet to nema vubec zadny vyznam. Ad python a emerge - ten pythoni kod je spatne, protoze neni odsazen, takhle nebude fungovat. Dale testovani "rychlosti emerge" pri tretim opakovaniemerge -ep world
je IMHO nesmyslne, protoze uz jsou tou dobou vsechny udaje nacachovane (cache Portage, ne disku), a navic rozdil 1 sekunda je, ehm, opravdu zanedbatelny. Kdyz uz, tak at si pohraje semerge --metadata
:) .
itsuki spike411 # time emerge --metadata skipping sync >>> Updating Portage cache: 100% real 2m41.791s user 0m15.869s sys 0m9.891s
# time emerge -uDNpv world > /dev/null real 0m15.605s user 0m4.564s sys 0m0.464sprocesor Athlon64 3000+, slušný kousek RAM, relativně rychlý disk, tak teda nevím, kde autor vzal ty svoje necelé tři sekundy ... žeby se o něčem zapomněl zmínit? jako třeba že si hrál s těmi metadaty nebo že používá unstable portage (jak bylo zmíněno výše, že 2.1 je rychlejší než 2.0.x)? není ten článek potom poněkud zavádějící???
1. pridat USE="pic"
2. emerge -uDNv world
3. prelink -aRmv
hotovo :)
--deep
ti rozhodne /var/lib/portage/world
neposkodi.
To je pravda.Chci říct.. máš pravdu, že nemá pravdu
To je pravda. Vhodný je ale dát si na emerge alias emerge --oneshot a do worldu přidávat jen to, co opravdu chciNerozumim - do worldu se pridava pouze to, co si "explicitne" nainstalujes, tj. vsecko, co instalujes jako
emerge foo
. Pokud balicek foo
zavisi na bar
a baz
, tyhle dva so do worldu nepridaji. Lidi, ctete ty manualy...
Tedy IMHO... můj styl aktualizace je následovný: esync -v a pak když vidím třeba novou glib, tak emerge -u glib.. no a díky aliasu se nepřidá do worldu,
--update
ti do worldu nic neprida
což je dobře, protože jí tam nechci a zároveň nechci spouštět emerge -avuNDt world.Nejaky duvod (teda krome toho
--tree
, coz nepouzivam)?
Nerozumim - do worldu se pridava pouze to, co si "explicitne" nainstalujes, tj. vsecko, co instalujes jakoVe výstupu esync vidím novou glib a tak napíšu emerge glib, přestože jí nechci ve worldu. To co píšeš vím.emerge foo
. Pokud balicekfoo
zavisi nabar
abaz
, tyhle dva so do worldu nepridaji. Lidi, ctete ty manualy...
--update
ti do worldu nic neprida
Tak tady je to můj omyl. Ale když nepoužiješ -u, tak přidá.
Nejaky duvod (teda krome toho --tree
, coz nepouzivam)?
Protože to trvá a tohle vyjde rychleji. Když těch updatů není moc, což většinou není, protože aktualizuju často. Jinak důvod není, nemám v tom bordel. Třeba dneska jsem to udělal po patlání s GCC 4.1 Tak tady je to můj omyl. Ale když nepoužiješ -u, tak přidá.Neprida.
-u
== --update
Já psal když nepoužiješ -u, tak přidá a za tím si stojímAle když nepoužiješ -u, tak přidá.Neprida.-u
==--update
emerge -uavtDN world
?
Stále nechápu. Nějaký názorný příklad by nebyl?
Co si pamatuju, tak jsem měl spíše problém s tím, že mi emerge --deepclean
odinstaloval půlku systému, protože fůra věcí nebyla ve wold. Dal jsem jen emerge k3b krusader
, což mi nainstalovalo taky KDE a X, ale ve worldu zapsány nebyly. A nezapsaly se ani při emerge -uavtDN world
Pak stačilo si poplést příkazy a napsat emerge --deepclean
místo revdep-rebuild rebuild
a ráno bylo vymalováno.
Kdyz musim rict KDE, ze bylo prelinkovano, tak to musim rikat i jinym aplikacim?Myslíte tím KDE_IS_PRELINKED="true"? Dle "Gentoo Preling Guide" tímto zakážete natažení kdeinit, které není již třeba a zkrátíte tím start KDE jako takového. Rozumím tomu, že je to spíš takový "bonbónek". Na druhou stranu, ačkoliv mám KDE prelinklé spolu s tou hodnotou TRUE, htop stejně hlásí jeden proces "kdeinit Running" a dále několik málo dalších:
4 x "kio http [kdeinit] http /tmp .... atd" 1 x "kio pop3 [kdeinit] pop3 /tmp .... atd" 1 x "kio file [kdeinit] file /tmp .... atd"- takže nevím. Máte to snad jinak? Prelinkáči / neprelinkáči?
Na dobírku sice ne, ale poštou ano
* Zboží zasíláme poštou pouze na území ČR. * Z eBanky trvá převod obyčejně několik minut, z jiné banky 2 dny, při platbě Českou poštou i 5 dní... * Číslo účtu: 984525028/2400 eBanka. * Poštovné a balné: o 70 Kč (S DPH) Menší objem (obálka) o 140 Kč (S DPH) do 5 [kg] (balík) o 200 Kč (S DPH) do 25 [kg] (balík) o V případě větších zásilek /servery, desktopy atd./ je cena přepravy stanovena dohodou. * Nezasíláme na dobírku.
man gcc
říká, že -fpic
a -fPIC
jsou pro i386 target identické.
If the GOT size for the linked executable exceeds a machine-specific maximum size, you get an error message from the linker indicating that -fpic does not work; in that case, recompile with -fPIC instead. (These maximums are 8k on the SPARC and 32k on the m68k and RS/6000. The 386 has no such limit.)Taky mi není moc jasné proč chcete překompilovat VŠECHNO jako PIC, když samotné programy pro prelink být PIC nemusejí, a DSO jsou PIC defaultně (doufám že i na exotu Gentoo). Se mi tak nějak zdá že autor vůbec netuší jak prelink funguje. Prelink si pouze z nalezených binárek a knihoven vytáhne dependency grafy, z nich spočítá které binárky a DSO jsou potřeba dohromady, podle toho přiřadí jednotlivým DSO preferred load address tak aby se nepřekrývaly, a upraví jejich relokace tak aby se při mapování knihovny na danou adresu nemusely aplikovat.
Vy jste mi ale srandisti..Vis, $CFLAGS a $USE neni az tak uplne to same...man gcc
říká, že-fpic
a-fPIC
jsou pro i386 target identické.