Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.
Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z
… více »Asahi Linux, tj. Linux pro Apple Silicon, oficiálně podporuje čipy M3 (M3, M3 Pro a M3 Max).
Společnost Acer oslavila 50 let. Na tiskové konferenci next@acer představila řadu novinek. Vypíchnout lze přenosný ePaper displej Acer EP130K, přenosné řešení se třemi displeji Acer PD163Q P3 nebo herní handheld a notebook v jednom DualPlay Mini.
Server SiFive BigSky SF-2U870 2U je založený na jádře SiFive P870-D, zatím je naintegrovaných 32 jader 256 GB RAM 2 GHz, škálovat lze do 256 jader na čip. O něco podrobnější popis serveru v článku SiFive BigSky Ships the First RISC-V Server. Is the GPU Head Node the Prize? na futurumgroup.com. Asi ani tento čip nebude na úrovni nejlepších 64-bit ARMů a AMD Zenů, ale splňuje RVA23 specifikaci a je podporovaný Ubuntu 26.04 LTS a RHEL 10. V článku je
… více »Na YouTube lze zhlédnout nový celovečerní dokumentární film The Story of VS Code | Official Documentary věnovaný Visual Studio Code.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 26.08.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
Otázka, zda je lepší odsazovat tabelátorem, nebo mezerou (mezerami), patří (vedle stylu odsazování) mezi základní (a věčné) programátorské otázky. Protože se tu na ábíčku vyskytuje hromada programátorů, tak mi to nedá, abych se nezeptal.
Odsazování bylo něco, co se mě nejprve netýkalo. V BASICu ZX Spectra jsem neodsazoval, ostatně to tam snad ani nešlo
. Později v assembleru 8051 jsem také nepociťoval touho po odsazování. Přelom přišel až s Turbo Pascalem, kdy jsem používal Tabelátory (jak může někdo používat mezery?). Následovalo období, kdy jsem používal jeden čas to, nebo ono, ale nakonec jsem zakotvil u tabelátorů, protože jedno kliknutí na <Tab> je přece jenom rychlejší, než mačkat mezery. Jenže mezery mi přijdou daleko praktičtější, proto jsem to vyřešil jednoduše:
set shiftwidth=4 set shiftround set softtabstop=4 set autoindent set smartindent set expandtab
Takže moje stanovisko je jasné, tabelátory ve zdrojácích nepoužívám, pouze pomocí klávesy <Tab> vkládám více, či méně mezer. Podle mě mají taby význam jen v sazbě jako tabelační zarážky. Proto se mi nelíbí Tab jako součást syntaxe u Makefile (popravdě se mi moc nelíbí ani fakt, že u Pythonu jsou bílé znaky součástí syntaxe).
Tiskni
Sdílej:
Mě by spíš zajímal příklad toho, kdy je na obtíž nastavení šířky tabulátoru, protože si žádný takový nedovedu představit. Pokud já používám tab == 4 mezery a někdo jiný třeba 2 mezery tak oba dva přece uvidíme kód v tom stylu, který nám vyhovuje, ne? Tedy pokud nepoužíváme funkci "nahradit tabulátor mezerami".
Ty tři pixely mi snad tolik neublíží a aspoň poznám, nakolik a kde jsou ty taby mixované s mezerami.
Dávat tam taby, tak se mi zobrazí hezky široké, tak jak je chci já.
Po jednej medzere som odsadzoval zhruba tak 3 roky dozadu (a ďalších ~6 predtým) všetky moje pascalovské výtvory. Zdalo sa mi to tak prehľadnejšie. Lenže potom som prešiel na C, vim, prečítal pár návodov/odporúčaní, a zistil, že ten tabulátor má predsa len čosi do seba.
...není vůbec žádný problém napsat jednoduchý prográmek, který...
man indent
fce_call( prom1, prom2, prom3,
prom4, prom5 );
a = sin(q)*(x*x
+ y*y);
b = function_foo(x - bar(y),
z);
A mají-li se pro odsazení, které neodpovídá nestingu, používat mezery, tak se mohou klidně používat pro všechna odsazení.
indent je váš kamarád.
main() {
printf('this is output'); //< my output
int a = 1 + 2; //< my count
}
po preklopení na tabstop=8 bude nasledovný:
main() {
printf('this is output'); //< my output
int a = 1 + 2; //< my count
}
ak však odsadenie v rámci kódu zameníme za medzery, tak pôvodný indent s tabstop=4 bude pôvodný:
main() {
printf('this is output'); //< my output
int a = 1 + 2; //< my count
}
a po jeho zväčšení sa zmení iba odsadenie blokov a medzery medzi kódom ostanú rovnaké:
main() {
printf('this is output'); //< my output
int a = 1 + 2; //< my count
}
K spomenutej funkcionalite som spravil malý plugin do vim-ka pre verziu 7.0 a vyššiu, sťahovať môžete na CleverTabs
TAB runs `cperl-indent-command' `cperl-indent-command' is an interactive compiled Lisp function -- loaded from "cperl-mode" (cperl-indent-command &optional WHOLE-EXP) Documentation: Indent current line as Perl code, or in some cases insert a tab character. If `cperl-tab-always-indent' is non-nil (the default), always indent current line. Otherwise, indent the current line only if point is at the left margin or in the line's indentation; otherwise insert a tab. A numeric argument, regardless of its value, means indent rigidly all the lines of the expression starting after point so that this line becomes properly indented. The relative indentation among the lines of the expression are preserved.odkedy som zacal pouzivat emacs, nemam s odsadzovanim ziadne problemy ... stlacim tabelator a odsadi ma presne tam kde chcem (ci su to 4 alebo 40 medzier ...)
Jinak tabelátory v makefile mi taky hrozně vadí, je to velmi nepraktické a nepříjemné. Často to řeším tak, že namísto tabelátoru používám jiný znak, třeba ~. Tak je alespoň v makefile vidět, co je co. A makefile posílám programu make přes filtr, který zkonvertuje ~ na tabelátory. Pokud používám přesto originální makefile s tabelátory, tak si alespoň ve vimu dám obarvit všechny tabelátory. Ale vlastně to už dnes skoro neřeším, protože používám IDE, který makefile vygeneruje. Vlastně díky tabelátorům kompletně program make nenávidím. I proto se snažím pracovat s jinými programy pro sestavování, třeba pro C++ uvažuji o jamu. Dokud nebude alternativní možnost, jak v make použít něco jiného namísto tabelátorů, budu se snažit make vyhýbat, kde to jen jde.
Tabelátory prostě obecně považuji za přežitek, který by se měl z používání v běžných plain ascii textech totálně vymýtit. Tabelátor je stejný přežitek jako mnoho dalších věcí. Schválně, který program umí zacházet s klávesou ScollLock na klávesnici? Taky přežitek a nikdo už ho neobhajuje. Ale zastaralý tabelátor pořád někdo obhajuje. Zatím mě někdo nepřesvědčil o žádné SKUTEČNÉ výhodě tabelátorů. Pokud je někdo jiný chce používat, nechť to dělá, ale já svůj názor mám.
Argument o různé šířce tabulátoru mi přijde nesmyslný. Jako by nemohli titíž lidé používat různě mezer -- a jsme tam kde jsme byli.
ScroollLock nechat, hodí se.
Bordel by nebyl, kdyby všichni psali tabulátory a nebyli mezeristi co argumentují, že když dostanou kód s tabulátory do ruky, udělají v něm bordel
man indent
A když se mi nějaký zdroják nelíbí (je špatně zformátovaný), zmáčknu Ctrl+Shift+F a je zformátován dle mých představ. To se fakt ještě tabulátor vs. mezera řeší?
man indent.
$ sudo apt-get install indent ... $ man indentchjo. chjo.
sudo: atp-get: command not foundto bude asi tim, ze tam mam SUSE....
ted uz je to jako windows... boot..while (bavi) do enter..boot..login
atp-get vyvola stiznost shellu na neznamy prikaz...
To bezmyšlenkovitě opisujete z coding style linuxového jádra nebo si to opravdu myslíte?
trochu mi v ankete schazi jak tabulatory, tak mezery, protoze ja pisu asi takto:
void main()
{
int i=3;
if (i!=3)
{
cout>>"mne neuvidis, protoze nemuzu nastat";
}
else
{
cout>>"i je 3";
}
neco=nic;
atd....
return 0;
}
velke mezery v prikladu delam pomoci tabulatoru a mensi odsazeni pomoci jedne, maximalne dvou mezer
void main() ... return 0;- sem jedinej, komu tady neco nesedi ????