14.2.2021 01:42
| programování
|
| Přečteno: 2738×
| Komentářů: 0
| Hodnocení: 100 % (10 hlasů)
ARM ETM trace je velmi silný nástroj, který je součástí mnoha moderních ARM procesorů, paradoxně je nejtěžší získat správnou desku, která ma ETM+debug port správně vyveden z pinů procesoru. Ale když už to máte, tak lze dělat velmi dobrá meření.
25.7.2020 00:59
| programování
| Přečteno: 1692×
| Komentářů: 0
| Hodnocení: 80 % (5 hlasů)
Magic incantations for GDB, openocd, JLink GDB server to enable ITM PC and exception sampling. ARM ITM trace is a feature of Cortex MCUs with CoreSight - it allows you to see what is going inside CPU and can act like profiler. Getting ITM to work with orbuculum. Text is in English so that it's googleable for lost souls wanting to turn it on and work around for some weird bugs.
Target is STM32F4 family.
22.3.2020 03:51
| programování
|
| Přečteno: 2323×
| Komentářů: 13, poslední 5. 4. 2020
| Hodnocení: 100 % (11 hlasů)
Embedded debuggingem - ARM, MIPS, RISC-V - se už zaobírám celkem dost let. Zde je přehled některejch užitečných nástrojů - debuggery, dekódování periferií přes SVD definice, hádání proč nastal fault. A méně známým featurám jako ITM/ETM trace.
14.2.2018 22:28
| programování
|
| Přečteno: 1663×
| Komentářů: 6, poslední 22. 9. 2020
| Hodnocení: 100 % (20 hlasů)
Po delší době jsem měl trocha času prozkoumat, jaký vztah mezi sebou mají Weierstrassovy, Montgomery, a (twisted) Edwards křivky. Jakou mají strukturu, jak je lze mezi sebou převádět, jaký mají řád grupy a řády prvků v grupě. Jaké nebezpečí hrozí a jaké úskalí přináší každá z nich.
3.2.2018 04:32
| vent
| Anketa
| Přečteno: 3636×
| Komentářů: 24, poslední 30. 4. 2019
| Hodnocení: 70 % (10 hlasů)
Měl jsem dnes nevyžádaný telefonát, který se snažil vypadat a byl na začátku deklarován jako
průzkum hospodářské situace v ČR. Místo slíbených 8 minut trval 22, obsahoval řádově 100 otázek, z nichž byli mnohé hodně citlivé a jsem si celkem jistý, že to byl
"socially engineered recon" cílen na nalezení lidí, kteří používají mobilní bankovnictví nebo platby a nejsou moc technicky zdatní, tudíž představují lehké oběti - mobilní banking/platební aplikace de facto nejsou chráněny dvou-faktorovou ochranou, tudíž lze je mnohem jednodušeji napadnout než kombinaci internetbanking v PC + ověřovací SMS (na to potřebujete SS7 přístup nebo dva trojany na obou platformách).
29.6.2017 23:43
| programování
|
| Anketa
| Přečteno: 1247×
| Komentářů: 24, poslední 1. 7. 2017
| Hodnocení: 100 % (2 hlasů)
Krátký dotazovací blog ke zjištění, k čemu využíváte DNSSEC. DNSSEC mi přijde jako dost kontroverzní technologie - i když třeba možná historicky dávala význam, její role mi osobně přijde stále víc překonaná. V podstatě ji tlačí už jen 4 ccTLD - .cz, .se, .nl a .br. Mezinárodně mimo registrátorů pro tyto země ještě pár VPS/CDN providerů. Proto by mě zajímalo, když ji někdo používáte, tak k čemu.
8.6.2017 23:33
| programování
|
| Přečteno: 1623×
| Komentářů: 21, poslední 12. 6. 2017
| Hodnocení: 100 % (13 hlasů)
Na embedded systémech člověk pořád narazí na problém, že se mu jeho binárka nevejde na flash. První, co vás asi napadne, bude něco jako -Os gcc flag a stripnout výslední binárku, ale existují ještě další triky jak donutit linker zahodit přebytečné symboly. Co se hodí v případě, že máte před sebou binárku, která do sebe linkuje miliony řádek kódu, má statisíce symbolů, umí od routingu přes SNMP, integrovaný web server snad i řešení P?=NP problému?
29.4.2016 15:33
| programování
| Přečteno: 1331×
| Komentářů: 9, poslední 1. 5. 2016
| Hodnocení: 80 % (5 hlasů)
Pár skriptů jak nastavovat a měnit částečně DNS resolving kvůli testování webu a TLS. U TLS se při certifikátu verifikuje doménové jméno a asi nejlepší způsob, jak řešit použití vývojových strojů, je lokálně upravovat nastavení DNS resolvingu. Jak to udělat, aby se pořád nemusel upravovat /etc/hosts.
22.12.2015 00:59
| programování
|
| Přečteno: 2831×
| Komentářů: 26, poslední 24. 12. 2015
| Hodnocení: 100 % (17 hlasů)
Když se člověk trochu věnuje hardware a embedded systémům, pod rukama mu projdou různé desky. Nástroje od výrobců nebývají vždy ideální a často nebývá verze pro Linux nebo programování desky nelze naskriptovat. Malý přehled debugování, flashování a "unbrickování" přes JTAG adaptéry v Linuxu.
6.12.2015 00:43
| programování
|
| Přečteno: 1691×
| Komentářů: 17, poslední 10. 12. 2015
| Hodnocení: 94 % (16 hlasů)
Command-line aplikace a daemony se v dockeru nebo lxc sandboxují celkem jednoduše, ale browser potřebuje přístup k X serveru, zvuku, USB atd. - je to jedna z nejsložitějších aplikací systému. Malé HOWTO k sandboxnutí browseru. Funguje všechno, U2F autentizace má pár limitací (pokud nemáte Yubikey, U2F nemusíte řešit).
27.11.2015 23:30
| programování
|
| Přečteno: 1335×
| Komentářů: 1, poslední 28. 11. 2015
| Hodnocení: 100 % (2 hlasů)
Největší nedostatek pythonu z hlediska programátora jsem považoval absenci připojení k běžícímu procesu, pokud nebyl předtím nastartován v debuggeru. Před pár lety jsem na to našel hack a nedávno jsem zjistil, že jeho podobu implementovali do PyCharm IDE, kde to jde teď na pár kliknutí.
17.8.2014 22:42
| programování
|
| Přečteno: 2474×
| Komentářů: 38, poslední 27. 8. 2014
| Hodnocení: 100 % (5 hlasů)
Kwalletmanager je už jistý čas nedoporučován, protože starší verze de-facto používali ECB mód šifry Blowfish. KeePassX je mnohem lépe navržen a napsán, ale migrace z kwallet není už dlouho podporována, protože kwallet změnil export formát. Návod s krátkým skriptem na migraci.
22.3.2014 01:56
| programování
| Přečteno: 8540×
| Komentářů: 8, poslední 24. 3. 2014
| Hodnocení: 60 % (5 hlasů)
Kvůli starším legacy zařízením jako mobil a netbook jsem chtěl mít v Turris routeru funkční dvě AP, jedno v 5 GHz a druhé v 2.4 GHz pásmu. Byla by ale škoda zapojovat přes NAT další router, když stačí přidat další wifi kartu. Malé HOWTO na rozběhnutí dvou wifi karet v Turrisu.
6.8.2013 01:57
| programování
|
| Přečteno: 3488×
| Komentářů: 12, poslední 16. 8. 2013
| Hodnocení: 100 % (9 hlasů)
Krátký návod k rozchození Adafruit shieldu s PN532 čipem. Čip PN532 je jeden z nejrozšířenejších pro NFC/ISO 14443 komunikaci, lze ho třeba najít snad v každém Android zařízení podporující NFC. Zapojení by nebylo nic zajímavýho, kdyby k desce existoval datasheet a nebyla by na silkscreenu chyba v označení.
20.1.2013 16:43
| programování
|
| Přečteno: 1397×
| Komentářů: 21, poslední 21. 1. 2013
| Hodnocení: 100 % (5 hlasů)
OpenSSL utilita s_client je taková stálice na command-line testování SSL/TLS služeb, ale s poslední verzí GnuTLS 3.1.6 uvažuji, že gnutls-cli budu používat přednostně. Proti openssl má podporu IPv6 a nedávno dostalo alpha podporu DANE protokolu. Pořád to není ekvivalent Qualys SSL Labs testu (který je ale IPv4 only), ale s trochou skriptění by to šlo implementovat. Na konci si trocha zanadáváme na Opera TLS Prober.
15.7.2012 18:33
| programování
|
| Přečteno: 1377×
| Komentářů: 7, poslední 16. 7. 2012
| Hodnocení: 100 % (7 hlasů)
Člověk by si myslel, že s věcma jako ffmpeg/ffserver, vlc, pulseaudio, bluetooth, crtmpserver apod. by neměl být až takový problém dostat kopii audio streamu ze zvukovky na nějaké ± rozumné handheld zařízení. Že nastaví streaming na některý podporovaný protokol/kontejner/formát a pak možná už jen bude řešit latenci. V případě Androidu (staršího) to byl ale pořádný oříšek a to jsem zkoušel i věci jako zbuildit komplet patchnutý AOSP s alpha portem pulseaudia.
13.5.2012 15:26
| programování
|
| Přečteno: 2352×
| Komentářů: 1, poslední 13. 5. 2012
| Hodnocení: 100 % (7 hlasů)
Konečně jsem se dostal k flashnutí Linksys WRT320n. Nejvíc mě na původním firmware štvalo, že nešlo vypnout Wifi Protected Setup (WPS). I když to člověk vypnul v nastavení, WPS bylo pořád funkční (naštěstí alespoň na 5 GHz proti němu nefungoval reaver, takže script kiddies by nepochodili). Bohužel jsem ale vychytal dost bugovitý build dd-wrt a WRT320n sám není žádná "super krabička" navzdory jeho tehdejší ceně.
8.4.2012 18:17
| programování
|
| Přečteno: 1407×
| Komentářů: 16, poslední 12. 4. 2012
| Hodnocení: 71 % (7 hlasů)
Nedávno jsem narazil na dost nepříjemný bug v kernelu způsobující kernel panic u wifi připojení v případě některých routerů. V kernelu už fix je, jenže v 3.2 větvi, přičemž RHEL klony jedou na 2.6.32 větvi s backportovanými bugfixmi. Jenže zrovna tenhle bugfix chyběl, tak nezbývalo než upgradovat na 3.x, podle možnosti s minimem vynaloženého úsilí.
17.3.2012 00:05
| bohuzel nelze smazat
|
| Přečteno: 5018×
| Komentářů: 97, poslední 10. 4. 2012
| Hodnocení: 88 % (24 hlasů)
Shodou okolností se téměř v jeden okamžik objevili dvě hodně podstatné informace: o megalomanickém projektu NSA nazvaném Stellar Wind a pokus o opětovné zavedení data retention v ČR. Řešení je jediné: šifrovat všude a všechno. Bez anonymity nemůže být demokracie (viz Syrie, Bahrain, Írán, Čína, Myanmar a další).
20.2.2012 23:56
| programování
|
| Přečteno: 2408×
| Komentářů: 23, poslední 28. 2. 2012
| Hodnocení: 100 % (14 hlasů)
Po publikaci Lenstra et al. o RSA modulech sdílejích prvočíslo se dlouho diskutovalo jak to skutečně udělali, protože jejich paper o tom taktně mlčí. Ukážu několik algoritmů a časové odhady.
18.2.2012 02:09
| programování
|
| Přečteno: 6692×
| Komentářů: 75, poslední 12. 3. 2012
| Hodnocení: 70 % (10 hlasů)
Gentoo je skvělá distribuce, mnoho jsem se u ní naučil, ale jednoho dne mi přišlo že přinejmenším na desktopu mi už nevyhovuje. Po zvažování kandidátů (Arch, Debian, Sabayon, CentOS, RHEL, Suse) jsem si nakonec vybral Scientific Linux (RHEL klon). Aka: krátká recenze Scientific Linuxu po pár měsících provozu na třech strojích.
14.1.2012 20:15
| programování
|
| Přečteno: 1332×
| Komentářů: 8, poslední 16. 1. 2012
| Hodnocení: 100 % (11 hlasů)
Trochu jsem se začal vrtat v tunelování DNSSEC dotazů přes Tor, když jeden uživatel DNSSEC Validatoru zmínil, že při použití s Torem Validator leakuje DNS (což je známé). Po vyzkoušení několika validovacích a tunelovacích metod jsem vybral jednu dostatečne funkční. Nicméně pořád je trocha problém s Firefoxem, protože DNS překlad samotný nelze udělat přes SOCKS5 a Firefox tudíž leakuje DNS requesty mimo Tor. Aneb jak udělat DNS resolving ještě pomalejší.
20.3.2011 04:05
| programování
| Přečteno: 3190×
| Komentářů: 45, poslední 23. 3. 2011
| Hodnocení: 100 % (5 hlasů)
Několik fotek z brmlabu a komentář k akci Bubenska Eins (den otevřených dveří v kulturním domě Vltavská). Např. live demo 3D tiskárny, mapování "epileptického" blikání na frekvenci z EEG, vysílání AM/FM radia přes CRT.
16.3.2011 03:27
| bohuzel nelze smazat
| Přečteno: 2062×
| Komentářů: 57, poslední 19. 3. 2011
| Hodnocení: 89 % (9 hlasů)
Bílý dům se zřejmě zbláznil (aka korporátní tlak zvítězil), protože vymyslel zákon, kde je "streaming" audiovizuálních děl trestní čin (felony), ne jen přestupek (misdemeanor). [Mikroblog]
13.3.2011 01:51
| programování
| Přečteno: 1099×
| Komentářů: 4, poslední 24. 3. 2011
| Hodnocení: 100 % (10 hlasů)
Vrátil jsem se před pár hodinama z eDemocracy workshopu, představím některé online projekty mapující finanční a personální vazby mezi fyzickými osobami a firmami, hlasování politiků, korupci... Projekty se týkají CZ/SK/PL. Když už nám vojenská policie zcounterstrikeovala ČT, data a analýzy na ně!
19.12.2010 13:46
| programování
|
| Přečteno: 1202×
| Komentářů: 14, poslední 21. 12. 2010
| Hodnocení: 100 % (6 hlasů)
Trochu mě štvalo na abclinuxu a redditu, že i když podporuje HTTPS, ne všechno leze přes HTTPS. Ve Firefoxu to lze řešit rozšířením HTTPS Everywhere a napsáním krátkých pravidel.
16.8.2010 23:41
| programování
|
| Přečteno: 2422×
| Komentářů: 13, poslední 18. 8. 2010
| Hodnocení: 100 % (14 hlasů)
Nejspíš jste zaregistrovali, jak postupně více a více zemí se snaží
zakázat/omezit komunikátor BlackBerry nebo se dohodnout s provozovatelem
(Research In Motion - RIM). Saudská Arábie, Emiráty, Indie a další. Při čtení
těchto zpráv mě zajímala otázka, proč je Android nebo iPhone "v pořádku"?
iPhone nemám po ruce, ale podíval jsem se alespoň na Android.
12.10.2009 00:19
| programování
| Přečteno: 1315×
| Komentářů: 0
| Hodnocení: 100 % (6 hlasů)
Opět jsem si zaexperimentoval s Fourierovou transformací nad videemi. Teď byl
cíl najít jednoduše čitelné vyjádření podobnosti encodovaného videa proti
originálu.
29.9.2009 00:58
| programování
| Přečteno: 1239×
| Komentářů: 16, poslední 2. 10. 2009
| Hodnocení: 90 % (10 hlasů)
Konečně jsem si našel čas si vrátit se k Fourierově transformaci a image processingu. Malý experiment jak "ohodnotit objektivně" kvalitu encodovaného videa.
17.9.2009 00:42
| programování
|
| Přečteno: 1259×
| Komentářů: 3, poslední 17. 9. 2009
| Hodnocení: 100 % (13 hlasů)
Pokud vím, neexistuje nástroj jak se attachnout k běžícímu pythonímu procesu,
který nebyl původně spuštěn v nějakém debuggeru. Vyjma low-level debugování v
GDB. S trochou hackování lze přejít i na python-level debugování.
12.9.2009 03:08
| programování
| Přečteno: 1741×
| Komentářů: 29, poslední 21. 9. 2009
| Hodnocení: 100 % (13 hlasů)
Dnes na odlehčenenější tému. Obskurních bugů jsem si užil spousty, ale na tenhle
nezapomenu.
10.9.2009 01:36
| programování
| Přečteno: 1182×
| Komentářů: 0
| Hodnocení: 100 % (9 hlasů)
Jednou jsem ladil pythoní program s race condition, která se vyskytovala
výjimečně (pravděpodobnost cca 1:1000-1:100) když bylo spuštěno mnoho instancí
daného programu paralelně. Identifikovat moment, kdy se invariant porušil nebylo
těžký, jenže zalogování nestačilo - a python nemá nástroj pro "ekvivalent"
coredumpu, který by se pak později mohl prohlédnut debuggerem.
2.9.2009 22:43
| programování
|
| Přečteno: 1416×
| Komentářů: 16, poslední 6. 9. 2009
| Hodnocení: 100 % (1 hlasů)
Nedávno jsem psal pythoní modul pro zjišťování informací o video souborech přes
fmpeg/libavformat. Protože se využívá sdílenou knihovnu slinkovanou proti
libavformat, bylo potřeba dle zadání zajistit, aby segfault ffmpegu neshodil
hlavní pythoní proces.
7.8.2009 01:33
| programování
|
| Přečteno: 1366×
| Komentářů: 1, poslední 17. 8. 2009
| Hodnocení: 100 % (11 hlasů)
Tipy pro přesnější použití valgrind/callgrind, manipulaci
s debugovacími symboly a zjištění stack trace "zaživa".
2.8.2009 20:47
| programování
|
| Přečteno: 1121×
| Komentářů: 2, poslední 7. 8. 2009
| Hodnocení: 100 % (9 hlasů)
VerySleepy je vynikající profiler, jenom mu chybí vizualizace grafů volání
(jak to umí napr. kcachegrind). Tady je jedno udělátko na vizualizaci měření
z VerySleepy.
22.7.2009 18:10
| programování
|
| Přečteno: 2405×
| Komentářů: 55, poslední 7. 8. 2009
| Hodnocení: 100 % (6 hlasů)
Výjimky mají nejspíš jméno odvozeno od faktu, že jejich existence by měla být výjimečná.
Jinak s trochou "štěstí" jejich obsluha "ráda" spolkne i 95% procesorového času.
18.7.2009 02:47
| programování
| Přečteno: 2145×
| Komentářů: 0
| Hodnocení: 100 % (11 hlasů)
Když jste zákázníky mBank, nejspíš víte, že výpis z účtu si můžete stáhnout
jako digitálně podepsané PDF. Jenže typicky v PDF prohlížeči chybí
certifikační autorita, která by potvrdila platnost podpisu daného PDF.
17.7.2009 18:13
| programování
|
| Přečteno: 1764×
| Komentářů: 20, poslední 23. 7. 2009
| Hodnocení: 100 % (20 hlasů)
Nejbizarnejší performance bugy měly vždy do činění s new/malloc. Když 65% času
algoritmu se stráví v new/malloc, je to znamení že alokátor bude třeba nejspíš
vyměnit.
12.7.2009 14:42
| programování
| Přečteno: 1111×
| Komentářů: 14, poslední 15. 7. 2009
| Hodnocení: 100 % (4 hlasů)
Co se stane když se hash_map/hash_set s alokátorem spojí proti vám? Za velmi
specifických podmínek může 15 MB bloků alokovaných hash_mapami/hash_setmi
zabírat i 300 MB (resident size).
11.7.2009 03:59
| programování
| Přečteno: 1465×
| Komentářů: 7, poslední 12. 7. 2009
| Hodnocení: 89 % (9 hlasů)
První část blogu věnována performance. "Testbed" je multiplatformní
C++ aplikace (linux/windows), kompilována gcc 4.1.2, resp. msvc 7.1.
Nejprominentnější struktury jsou dvě: syntaktický strom (AST) a tabulky
symbolů. (Kompilovaný jazyk je nějaká podivná kombinace - "kartézský součin" - Verilogu,
VHDL a MASTu, syntakticky asi nejblíž Verilogu).