The long way through Software Craftsmanship

Self-Study in February 2023

Feb 1, 2023 - 2 minute read - Comments - self-study-aggregation2023februaryaddresssanitizeraflasanbare-metalbound-checkcc-languagecbmccheckerclangcrashdumpdr-memoryfirmwarefuzzinggperftoolshacker-newsheapimportedllvmmemcheckmemory-sanitizermemsannubixreini-urbansansat-solverstackstatic-analysistestingtesting-pyramidtoolubsanvalgrind

CBMC: The C Bounded Model Checker CBMC on GitHub: https://github.com/diffblue/cbmc Some usage examples: https://haslab.github.io/MFES/2122/CBMCexamples-handout.pdf https://news.ycombinator.com/item?id=34703004 Tags: cbmc, c, c-language, bound-check, sat-solver, tool, static-analysis, checker, imported, hacker-news Id: bbe38520-a846-11ed-957a-0242ac110002 Read: Wed Feb 8 01:46:40 2023 TESTING BAREMETAL FIRMWARE AT NUBIX Extensive guide on how to test firmware. Lots of tools, good recommendations Tags: bare-metal, firmware, testing, nubix, reini-urban, tool, crashdump, testing-pyramid, addresssanitizer, valgrind, memcheck, dr-memory, gperftools, cbmc, clang, c-language, c, heap, stack, fuzzing, afl, llvm, asan, ubsan, memory-sanitizer, memsan, san

Self-Study in January 2023

Jan 1, 2023 - 2 minute read - Comments - self-study-aggregation2023januaryacceptance-testingaflautomated-testingbddbehavior-driven-developmentbindingc-languagecicommandcontinuous-integrationcucumbercvecve-2022-3502daemondictionaryffiforeign-function-interfacefuzzinggherkinguidehacker-newshannohaystackimportedindexknowledge-baselanguage-featurelinuxmimicryneural-networknoteopensslprivacypunycodereificationrepositoryrumpyrustsystemdtermterminologytest-benchtest-suitetestingtoolunix

Show HN: I built Haystack – your own google for scattered workplace knowledge https://news.ycombinator.com/item?id=34218724 Tags: tool, index, note, knowledge-base, haystack, privacy, neural-network, imported, hacker-news Id: 0fb5be84-8b37-11ed-b09f-0242ac110003 Read: Mon Jan 2 15:14:13 2023 Extending Python with Rust Tags: binding, rust, ffi, foreign-function-interface, tool, rumpy, tool Id: 232ad576-8b37-11ed-bc27-0242ac110003 Read: Tue, 03 Jan 2023 07:20:44 +0000 Why CVE-2022-3602 was not detected by fuzz testing So recently a very hyped memory corruption security vulnerability was discovered in the OpenSSL punycode parser.

Self-Study in December 2022

Dec 1, 2022 - 3 minute read - Comments - self-study-aggregation2022decemberadaptationakrasiaapplicationatomic-habitsbeautybookbugcc++cachecatscertificateclangclicommand-linecompilation-cachecppcraftsmanshipdangerdefecteleganceendavaeoin-woodsevolutionfieldfittingfuzz-testfuzz-testinggccgithubgithub-apigiving-upgravitygrithabithacker-newshackernewsideaimportedjames-clearjavalong-running-systemmatt-mightmodelopenapioptimizationotoolepphilip-o'toolephysicsprivate-keyprocrastinationproductionpsychologyroy-baumeisterrqlitesafeself-controlsignaturesoftwarespeedupsqlitestubbornnesstemptationtest-tooltimetoolwillenergywillpowerzone

CCache: a fast c/c++ compiler cache Related to 027d6f8a-714e-11ed-869a-0242ac110003 Tags: tool, cache, compilation-cache, optimization, speedup, c, cpp, c++, gcc, clang Id: f2423a38-714d-11ed-92b4-0242ac110003 Read: Thu, 01 Dec 2022 07:58:30 +0000 CATS: OpenAPI fuzzing and test generation tool Tags: cats, tool, openapi, fuzz-testing, test-tool, java, endava, eoin-woods Id: 08b0cdb0-714f-11ed-a45c-0242ac110003 Read: Thu, 01 Dec 2022 08:06:18 +0000 I’ve fuzzed a small part of the GitHub API. Here are my findings. Using CATS to fuzz part of the Github API.

Self-Study in November 2022

Nov 1, 2022 - 4 minute read - Comments - self-study-aggregation2022novemberapisixauthbddcc++c-languagecacheclangcomparisoncompilation-cachecppcurlcvedistributiondownloadend-to-end-testingfuzz-testingfuzzinggccgenerator-functionhacker-newshostinghttpimportedinternetjavascriptlearningmeasurementminimum-viable-productmvpopen-sourceopensshopenssloptimizationparserperformancepgsqlplain-textpocpostgresqlpostgrestprogrammingproof-of-conceptprotectionpythonrustspeedupsqlsshsshguardstatisticstestingtom-mewetttooltorrentwebrtcwebtorrentwireguardyield

Doing what you love when the money won’t follow https://news.ycombinator.com/item?id=33434326 Tags: imported, hacker-news Id: 509ce49c-c1a4-11ed-afdd-0242ac110004 Read: Wed Nov 2 12:01:16 2022 Ask HN: How to deal with burnout and its consequences? https://news.ycombinator.com/item?id=33434742 Tags: imported, hacker-news Id: 52f6012e-c1a4-11ed-b778-0242ac110004 Read: Wed Nov 2 12:38:33 2022 Embedded programming is like web development https://news.ycombinator.com/item?id=33450575 Tags: imported, hacker-news Id: 59ea8176-c1a4-11ed-9922-0242ac110004 Read: Thu Nov 3 13:24:05 2022 Ask HN: How to regain focus when you feel overwhelmed?

Self-Study in October 2022

Oct 1, 2022 - 7 minute read - Comments - self-study-aggregation2022octoberasdfassemblyawsaws-accountbashbash-boilerplatecc++c-languagec-programming-languagecareercareer-managementcdncerescheat-sheetcloudflarecomparisonconfigurationcontent-delivery-networkcosmopolitan-libccrdtcrosscompilationcryptographydata-isolationdatabasedebuggingdev-environmentdigraphdockerelectric-sqlemploymentfilefile-systemfreefree-tiergluehacker-newshorocruxhtml-contentimportedinstallationintelionotifyisolationjavascriptjslibclocalmicroservicenon-html-contentnon-linear-optimizationofflineopenssloperatoroptimizationoptimization-librarypatchphysical-isolationportpostgresmlprogrammingprogressive-web-apppwapythonquirkreactredisrisk-managementsafetysalarysalary-transparencyscriptingsetupshamir-secret-sharingshardshellshellchecksqlitessssstacktracesynchronizationtactictipstooltranspilationtrickstrigraphunixvulnerabilitywasmwatchwatchmanweb-assemblywebassemblyx64zero-knowledge-proofzkp

The Art of Logging https://news.ycombinator.com/item?id=33054741 Tags: imported, hacker-news Id: 02a22390-c1a1-11ed-b61a-0242ac110004 Read: Sun Oct 2 10:42:15 2022 “Rust is safe” is not some kind of absolute guarantee of code safety https://news.ycombinator.com/item?id=33056077 Tags: imported, hacker-news Id: 12483f20-c1a4-11ed-84be-0242ac110004 Read: Sun Oct 2 14:20:21 2022 Have lots of AWS accounts Using the physical separation of your AWS accounts as a way to isolate the data and services https://news.ycombinator.com/item?id=33069547 Tags: aws, aws-account, physical-isolation, isolation, data-isolation, risk-management, imported, hacker-news

Self-Study in September 2022

Sep 1, 2022 - 6 minute read - Comments - self-study-aggregation2022september10x-programmeraccountingarchitecturearchitecture-patternbranchbrooks-lawbruteforcebusiness-rulesccarmackcheatingchesscomputer-peripheralcryptographydatabasedavid-allendomain-specificembedded-softwarefabrice-bellardfeature-branchffmpeggetting-things-donegitgithubgtdhacker-newshagiographyhashimportedinbox-zerojohn-von-neumannken-thompsonlate-projectlayermanagementmergemerge-conflictpasswordpassword-crackerproductivityprogramming-languageprojectrainbow-tablerebaserulesseparationsocial-engineeringsolidsolid-principlesteachingtime-managementwindows

The forty-year programmer https://news.ycombinator.com/item?id=32690892 Tags: imported, hacker-news Id: e23d7fb0-c1a4-11ed-a032-0242ac110004 Read: Fri Sep 2 13:55:12 2022 Cheating at chess with a computer for my shoes https://news.ycombinator.com/item?id=32729105 Tags: imported, hacker-news Id: e489c7ce-c1a4-11ed-b44b-0242ac110004 Read: Mon Sep 5 20:34:15 2022 A history of cheating in chess (2) Describes several attempts to cheat in chess, including one by a black dreadlock John von Neumann Tags: chess, cheating, computer-peripheral, ken-thompson, john-von-neumann Id: 2cac0610-2dc2-11ed-8876-0242ac110003 Read: Tue, 06 Sep 2022 08:59:11 +0000