Links (Aka argument amplifiers) =============================== ## Pro DI over serviceLocator - "http://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/" - "https://adamcod.es/2013/11/25/service-locator-vs-dependency-injection-container.html" - "https://stackoverflow.com/questions/10356497/is-is-an-anti-pattern-to-inject-di-container-to-almost-each-class" - "https://www.devtrends.co.uk/blog/how-not-to-do-dependency-injection-the-static-or-singleton-container" ## Pro constructor injection: - "http://olivergierke.de/2013/11/why-field-injection-is-evil/" - "https://www.petrikainulainen.net/software-development/design/why-i-changed-my-mind-about-field-injection/" - "http://blog.schauderhaft.de/2012/06/05/repeat-after-me-setter-injection-is-a-symptom-of-design-problems/" - "http://blog.schauderhaft.de/2012/01/01/the-one-correct-way-to-do-dependency-injection/" - "https://spring.io/blog/2007/07/11/setter-injection-versus-constructor-injection-and-the-use-of-required/" - "http://evan.bottch.com/2009/02/03/setter-injection-sucks/" ## Dependency Injection violation - [Houston, ich glaub mir wird schlecht](https://gitit.post.ch/projects/ISA/repos/houston/pull-requests/410/overview?commentId=231234) ## Pro DI over inheritance: - "https://stackoverflow.com/questions/30767395/when-to-use-di-over-abstract-inheritance" ## Contra global state: - "https://softwareengineering.stackexchange.com/questions/148108/why-is-global-state-so-evil" - "https://dzone.com/articles/why-static-bad-and-how-avoid" - "https://en.wikipedia.org/wiki/Global_variable" ## Contra property injection: - "https://gitit.post.ch/projects/ISA/repos/platform/pull-requests/132/overview" - "https://stackoverflow.com/a/12476575/4415884" ## Dependency inversion example: - "https://softwareengineering.stackexchange.com/a/191725" - "https://lostechies.com/derickbailey/2011/09/22/dependency-injection-is-not-the-same-as-the-dependency-inversion-principle/" - "http://www.oodesign.com/dependency-inversion-principle.html" (Says do not always) ## Strategy Pattern (Class with only one method is OK) - "https://softwareengineering.stackexchange.com/questions/225893/are-classes-with-only-a-single-public-method-a-problem" ## contra static method (aka utility classes): - "https://simpleprogrammer.com/static-methods-will-shock-you/" - "http://vojtechruzicka.com/avoid-utility-classes/" ## static method wrapping: - "https://stackoverflow.com/questions/6523463/how-to-use-dependency-injection-with-static-methods" - "https://medium.com/@slavik57/static-methods-to-dependency-injection-in-3-simple-steps-c3f50bf3f115" ## Contra mocking framework: - "http://www.disgruntledrats.com/?p=620" ## Contra oneliners: - "http://wiki.c2.com/?IntroduceExplainingVariable" - "https://refactoring.com/catalog/extractVariable.html" - "https://github.com/swisspush/apikana/blob/v0.9.19/src/deps/helper.js#L207-L211" ## Git: pro merge, contra rebase: - "https://medium.com/@fredrikmorken/why-you-should-stop-using-git-rebase-5552bee4fed1" ## Git: contra rebase shared/remote: Do NEVER rebase shared branches: - "https://medium.freecodecamp.org/git-rebase-and-the-golden-rule-explained-70715eccc372" ## Git: pro squash: - "https://blog.carbonfive.com/2017/08/28/always-squash-and-rebase-your-git-commits/" ## Git: merge VS rebase: Choose right strategy for right task: - "https://delicious-insights.com/en/posts/getting-solid-at-git-rebase-vs-merge/" ## Git is NOT an artifact storage - [](https://devops.stackexchange.com/q/452) - [Git store CI builds](https://stackoverflow.com/questions/14489684/should-git-be-used-to-store-continuous-integration-builds) ## Pro FailFast, dont ignore errors: - [Should a program fail on errors or silently ignore them](https://softwareengineering.stackexchange.com/a/190535) - [stack-less error message useless](https://jira.post.ch/browse/SDCISA-16702) - [how to handle vertx promise fail/errors properly](https://github.com/swisspost/vertx-redisques/pull/164#discussion_r1562105007) - [Useless stacktrace](https://github.com/swisspost/gateleen/issues/589) - [OOM exit code 137 9 sigkill houston openshift pod](https://jira.post.ch/browse/SDCISA-13746?focusedId=1925526&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1925526) - [Ignore Return IllegalThreadStateException](https://gitit.post.ch/projects/ISA/repos/zarquon/pull-requests/2/overview?commentId=61293) ## Contra Java Optional: - "https://homes.cs.washington.edu/~mernst/advice/nothing-is-better-than-optional.html" ## SOLID: - "https://www.youtube.com/watch?v=TMuno5RZNeE" - SRP "https://blog.ndepend.com/solid-design-the-single-responsibility-principle-srp/" - OCP "https://blog.ndepend.com/solid-design-the-open-close-principle-ocp/" - LSP "https://blog.ndepend.com/solid-design-the-liskov-substitution-principle/" - ISP "https://blog.ndepend.com/solid-design-the-interface-segregation-principle-isp/" - DIP "https://stackify.com/dependency-inversion-principle/#post-18184-_nuqaxpnmvpn7" ## Java how to handle InterruptedException: - "https://www.yegor256.com/2015/10/20/interrupted-exception.html" - "https://stackoverflow.com/questions/3976344/handling-interruptedexception-in-java" - [is-it-ok-to-ignore-interruptedexception-if-nobody-calls-interrupt](https://stackoverflow.com/questions/28544867) - [Ignore InterruptedException](https://github.com/swisspost/vertx-redisques/pull/115#discussion_r1176396149) - "https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/39/overview?commentId=33603" - "https://gitit.post.ch/projects/ISA/repos/zarquon/pull-requests/3/overview?commentId=62065" - "https://jira.post.ch/browse/SDCISA-5624" - "https://gitit.post.ch/projects/ISA/repos/halfrunt/pull-requests/27/overview?commentId=105541" ## Java dropping exception stack traces is a "feature" - [](https://stackoverflow.com/a/3010106/4415884) ## Please don't never not avoid nevative (un)logic - "https://schneide.blog/tag/boolean-statements/" ## maximum line length: - "https://www.codereadability.com/maximum-line-length/" ## composition over inheritance: - "https://medium.com/humans-create-software/composition-over-inheritance-cb6f88070205" - "https://softwareengineering.stackexchange.com/a/371715/306800" - "https://youtu.be/wfMtDGfHWpA" - [Damn! Use it!](https://gitit.post.ch/projects/ISA/repos/bangbang/pull-requests/5/overview?commentId=316867) ## requirements, experts, business: - "https://www.youtube.com/watch?v=BKorP55Aqvg" ## technical dept (technische schulden) - "https://www.youtube.com/watch?v=mSuUPsbqmQ8" ## Why Cant Programmers Program? - "https://blog.codinghorror.com/why-cant-programmers-program/" ## Do Certifications Matter? - "https://blog.codinghorror.com/do-certifications-matter/" ## Single Line If Statements - "https://medium.com/@jonathanabrams/single-line-if-statements-2565c62ff492" ## Why I Have Given Up On Coding Standards - "http://www.richardrodger.com/2012/11/03/why-i-have-given-up-on-coding-standards/" ## slf4j logger dos and donts - [case SO](https://stackoverflow.com/questions/1417190/should-a-static-final-logger-be-declared-in-upper-case) - [case java-styleguide](https://web.archive.org/web/20120911192801if_/http://developers.sun.com/sunstudio/products/archive/whitepapers/java-style.pdf#G3.5426) - [case slf4j](http://www.slf4j.org/api/org/slf4j/Logger.html) - [General rules](https://gualtierotesta.github.io/java/tutorial-correct-slf4j-logging-usage-and-how-to-check-it/) - [logging guards](https://stackoverflow.com/a/12953090/4415884) - [impl VS facade in lib](https://jira.post.ch/browse/SDCISA-15223) - [drop logger impl from lib](https://github.com/swisspost/vertx-redisques/pull/153) - [Should my library attempt to configure logging?](https://www.slf4j.org/faq.html#configure_logging) ## Misleading log msg messages - "https://gitit.post.ch/projects/ISA/repos/zarquon/pull-requests/2/overview?commentId=61283" ## Test Coverage Is Stupid - "https://gitit.post.ch/projects/ISA/repos/vannharl/pull-requests/2/overview?commentId=51611" ## don't never not avoid nevative (un)logic - "https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/226/overview?commentId=73901" - "https://gitit.post.ch/projects/ISA/repos/zarquon/pull-requests/2/overview?commentId=61255" ## CodeLeichen - [no think no brain stupid adopt](https://gitit.post.ch/projects/ISA/repos/zarquon/pull-requests/2/overview?commentId=61313) ## Java Instance initializer (Constructor Alternative) - "https://gitit.post.ch/projects/ISA/repos/zarquon/pull-requests/2/overview?commentId=61316" ## Rest API Change Json Unknown/additional Properties - "https://gitit.post.ch/projects/ISA/repos/zarquon/pull-requests/2/overview?commentId=61312" ## Code Style format auto-formatters - [warning about formatters](https://gitit.post.ch/projects/ISA/repos/trin/pull-requests/79/overview?commentId=235667) - [Linter produces crap](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/567/overview?commentId=237627) - [Linter produces crap js if](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/598/overview?commentId=252867) - [static final java uppercase](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/82/overview?commentId=39126) - [invalid java class name](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/82/overview?commentId=39125) - [spotless produces crap](https://gitit.post.ch/projects/ISA/repos/poodoo/pull-requests/40/overview?commentId=263122) - [spotless produces crap](https://gitit.post.ch/projects/ISA/repos/veet/pull-requests/2/overview?commentId=233638) - [spotless produces crap](https://gitit.post.ch/projects/ISA/repos/trin/pull-requests/79) - [spotless produces crap](https://gitit.post.ch/projects/ISA/repos/houston/pull-requests/449/overview?commentId=263593) - [boolean expression formatting](https://gitit.post.ch/projects/ISA/repos/houston/pull-requests/461/overview?commentId=284022) - [Suddenly NEW formatting rules in PaISA since 2021](https://gitit.post.ch/projects/ISA/repos/watson/pull-requests/1/overview?commentId=234597) - "https://gitit.post.ch/projects/ISA/repos/zarniwoop/pull-requests/20/overview?commentId=85912" - "https://gitit.post.ch/projects/ISA/repos/zarniwoop/pull-requests/21/overview?commentId=87250" - "https://gitit.post.ch/projects/ISA/repos/beeble/pull-requests/126/overview?commentId=70762" - "https://gitit.post.ch/projects/ISA/repos/common-metric-api/pull-requests/4/overview?commentId=71386" - "https://gitit.post.ch/projects/ISA/repos/eagle/pull-requests/257/overview?commentId=72952" - "https://gitit.post.ch/projects/ISA/repos/customer-api/pull-requests/10/overview?commentId=89900" ## Abstractions should not depend on details. Details should depend on abstractions. - "https://stackoverflow.com/questions/52857145/what-is-mean-by-abstractions-should-not-depend-on-details-details-should-depen" - "https://softwareengineering.stackexchange.com/questions/401769/depend-on-abstractions-not-on-concretions-what-is-the-exact-meaning-of-this-t" - "https://sonar.tools.pnet.ch/coding_rules?open=squid%3AS1319&rule_key=squid%3AS1319" - "https://wikit.post.ch/display/ISA/Code+Formatting?focusedCommentId=791239536#comment-791239536" ## Sonar is stupid - [Sorry sonar, you're wrong](https://gitit.post.ch/projects/ISA/repos/houston/pull-requests/461/overview?commentId=281647) - "https://gitit.post.ch/projects/ZEWAS/repos/zewas/browse/zewas-process/src/main/java/ch/post/it/zewas/process/reportgenerator/sql/SqlReportGenerator.java?at=refs%2Ftags%2Fzewas-17.10.00.17#385" - "https://gitit.post.ch/projects/ISA/repos/platform/pull-requests/156" - [Deprecated is a blocker](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/562/overview?commentId=234158) - [Deprecated is a blocker](https://wikit.post.ch/pages/viewpage.action?pageId=716936486#ISASonarProfil-SuppressWarningsAnnotation) ## Plain Old Data (POD, POJO, DTO) - "https://de.wikipedia.org/wiki/Plain_Old_Data_structure#PODs_in_Java" ## Java enums - [Do NOT use enum ordinals](https://jira.post.ch/browse/SDCISA-2212?focusedCommentId=1088884&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1088884) ## C enums - [Never Start Enum At Zero](https://gitit.post.ch/projects/ISA/repos/zarniwoop/pull-requests/5/overview?commentId=50182) ## You SHOULD reinvent the wheel - "https://blog.codinghorror.com/dont-reinvent-the-wheel-unless-you-plan-on-learning-more-about-wheels/" ## Misc - [Java Anti-Patterns](https://www.odi.ch/prog/design/newbies.php) ## Java Memory - "youtube.com/watch?v=f2aNWtt0QRo" - jvm GC statistics "https://stackoverflow.com/a/467366" - [sizeof(java.lang.Object)](https://stackoverflow.com/a/258150/4415884) ## Yaml Is Bullshit - "https://www.arp242.net/yaml-config.html#can-be-hard-to-edit-especially-for-large-files" ## Goto Error Handling - "https://dzone.com/articles/error-handling-via-goto-in-c" - "https://www.cprogramming.com/tutorial/goto.html" - "https://eli.thegreenplace.net/2009/04/27/using-goto-for-error-handling-in-c/" ## Java Streams, forEach stupid - "https://stackoverflow.com/a/20177092/4415884" - "https://github.com/swisspush/gateleen/pull/426#discussion_r813752075" - "https://github.com/swisspush/gateleen/blob/v1.1.61/gateleen-kafka/src/main/java/org/swisspush/gateleen/kafka/KafkaMessageSender.java#L21" - [How to use java fancy streams](https://m.youtube.com/watch?v=x5akmCWgGY0) - [think please ...](https://m.youtube.com/watch?v=hSfylUXhpkA) - [java streams are ugly](https://gitit.post.ch/projects/ISA/repos/nsync/pull-requests/55/overview?commentId=328210) ## Backward compatibility, Breaking Changes - [preflux 2024 storage/redis aws isaVersion](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/780/overview?commentId=396322) - "https://www.redstar.be/backward-compatibility-in-software-development-what-and-why/" - [UserInformation SAP 2023](https://gitit.post.ch/projects/ISA/repos/user-information-api/pull-requests/20/overview?commentId=270157) - [new mandatory fields](https://gitit.post.ch/projects/ISA/repos/vehicleoperation-recording-api/pull-requests/36/overview?commentId=272214) - [thor-DasUnheilNaht](https://gitit.post.ch/projects/ISA/repos/fis-masterdata-api/pull-requests/17/overview?commentId=227703) - [thor-DerBlizHatEingeschlagen](https://gitit.post.ch/projects/ISA/repos/fis-masterdata-api/pull-requests/18/overview) - [PaISA api new enum values](https://gitit.post.ch/projects/ISA/repos/fis-control-api/pull-requests/14/overview?commentId=296012) - [Keep APIs scope narrow as possible](https://gitit.post.ch/projects/ISA/repos/timetable-reservation-api/pull-requests/12/overview?commentId=327819) - [remove but still in use](https://gitit.post.ch/projects/ISA/repos/vending-transaction-api/pull-requests/20/overview?commentId=385689) ## Performance DOES matter - [aws database HMS 2024](https://jira.post.ch/browse/SDCISA-16381) - [Performance gefühlt viel zu langsam in Wikkit bei Linienaufruf und Export erstellen](https://jira.post.ch/browse/SDCISA-16103) - "https://github.com/swisspush/gateleen/pull/456#discussion_r844865066" - [Performance Excuses Debunked](https://m.youtube.com/watch?v=x2EOOJg8FkA) - [Is writing performant code too expensive?](https://www.youtube.com/watch?v=EpYr3T5VP6w&t=1109) - [Simple Code, High Performance](https://m.youtube.com/watch?v=Ge3aKEmZcqY&t=78) - [Houston Last führt zu Neustart](https://wikit.post.ch/x/HDV8T) - [Houston storage request timed out large json](https://jira.post.ch/browse/SDCISA-11294) - [Preflux Garbage Collection issues](https://jira.post.ch/browse/SDCISA-4714) - [Preflux Gatherfacts läuft in Timeout](https://jira.post.ch/browse/SDCISA-8136) - [Performance Fahrplanimports](https://jira.post.ch/browse/SDCISA-11528) - [Houston Optimize EnqueuePatrol](https://jira.post.ch/browse/SDCISA-2876) - [Update beim Fahrzeughersteller dauert zu lange](https://jira.post.ch/browse/SDCISA-9059) - [vortex too slow](https://jira.post.ch/browse/SDCISA-9990) - [2023-10-27 OOM nun auch auf Eagle](https://wikit.post.ch/x/c2U1Tw) - [Fahrplanimports slow](https://jira.post.ch/browse/SDCISA-11528) - [Jenkinsbuild too slow](https://jira.post.ch/browse/SDCISA-14313?focusedId=1914236&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1914236) - [Houston check too slow](https://jira.post.ch/browse/SDCISA-13746?focusedId=1937167&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1937167) - [QueueStatisticsCollector takes up to 10 minutes for ONE SINGLE request](https://github.com/swisspost/vertx-redisques/issues/188) ## Performance is not an issue ... - [houston GC 100%](https://teams.microsoft.com/l/message/19:261fb671bd664d4fb30d6d9e09869a7f@thread.tacv2/1723705177293?tenantId=3ae7c479-0cf1-47f4-8f84-929f364eff67&groupId=dce34a79-5661-41ab-b495-60a46b69d38e&parentMessageId=1723705177293&teamName=SDC-ISA&channelName=%F0%9F%A4%96SDC-ISA%20DevOps-Support&createdTime=1723705177293) - [houston kafka navigation position 2024](https://gitit.post.ch/projects/ISA/repos/houston/pull-requests/633/overview?commentId=396921) - [NowWhat info resource timeout 2024](https://jira.post.ch/browse/SDCISA-16515) - [Houston OOM 2023-06-27](https://wikit.post.ch/x/_Bv6Rw) - [Houston OOM 2023-01-20](https://wikit.post.ch/x/iRepPQ) - [Houston OOM Killed](https://jira.post.ch/browse/SDCISA-10871) - [SDCISA-14967 Houston collects all req bodies into memory](https://jira.post.ch/browse/SDCISA-14967) - [http cache disable](https://gitit.post.ch/projects/ISA/repos/bangbang/pull-requests/1/overview?commentId=287832) - [How to repair KISS for performance](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/304/diff) - [Houston readyness fails often](https://jira.post.ch/browse/SDCISA-13746?focusedId=1899551&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1899551) - [Just one message per minute](https://gitit.post.ch/projects/ISA/repos/eagle/pull-requests/375/overview?commentId=330543) - [Houston down readyness probe timeout](https://wikit.post.ch/x/koO0Vg) - [Json serialization blocking EventLoop for too long #583](https://github.com/swisspost/gateleen/issues/583) ## Wie gesagt .. "DNS probleme gibts in AWS nicht ..." - [houston DNS beeble unresolvable](https://wikit.post.ch/x/KFyqa) ## Common Performance - [Java Exceptions performance is bad](https://www.baeldung.com/java-exceptions-performance) - [going fast is about doing less](https://m.youtube.com/watch?v=5rb0vvJ7NCY) - [HowTo write Java Code MATTERS](https://m.youtube.com/watch?v=EFXxXFHpS0M) - [CppCon Tuning Benchmarks clang CPUs Compilers" ](https://m.youtube.com/watch?v=nXaxk27zwlk) ## Bugs are not an issue - [God Spring JavaMelody ENOMEM stream collect](https://gitit.post.ch/projects/ISA/repos/god-backend/pull-requests/417/diff#god-app%2Fsrc%2Fmain%2Fjava%2Fch%2Fpost%2Fit%2Fpaisa%2Fgod%2Fartifactory%2FArtifactoryConfiguration.java) - [Bistr gateleen Forwarder exception](https://jira.post.ch/browse/SDCISA-11147) ## POSIX shell language syntax - "https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html" ## How to API design - "https://m.youtube.com/watch?v=2xgplCQS1bY" - [How to migrate an API properly via migration path](https://wikit.post.ch/x/pK1WJQ) - [What "Software Architect" means](https://m.youtube.com/watch?v=rPJfadFSCyQ&t=900) ## Posix c API design - "https://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/" - [applications are required to avoid symbols ending in "_t"](https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xsh_chap02.html#tag_22_02_12) - [Names that end with ‘_t’ are reserved by POSIX](https://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html) - [What does a type followed by _t represent?](https://stackoverflow.com/a/12727104/4415884) ## API paisa-api 01.03.00.01 Breaking change ISAGD-6566 - "https://gitit.post.ch/projects/ISA/repos/fis-api/pull-requests/9/overview?commentId=129349" - "https://gitit.post.ch/projects/ISA/repos/user-identification-api/pull-requests/6/overview?commentId=130606" - "https://gitit.post.ch/projects/ISA/repos/iobox-api/pull-requests/6/overview?commentId=129739" - "https://gitit.post.ch/projects/ISA/repos/forms-api/pull-requests/6/overview?commentId=129437" - "https://gitit.post.ch/projects/ISA/repos/communication-alarming-api/pull-requests/8/overview?commentId=129239" - "https://gitit.post.ch/projects/ISA/repos/controlcenter-inquiry-api/pull-requests/7/overview?commentId=129212" - "https://gitit.post.ch/projects/ISA/repos/timetable-export-api/pull-requests/9/overview?commentId=88705" ## Apikana PaISA api contact email - [remove in api.yaml](https://gitit.post.ch/projects/ISA/repos/communication-phonebook-api/pull-requests/8/overview?commentId=149593) - [remove in api.yaml](https://gitit.post.ch/projects/ISA/repos/vehicle-api/pull-requests/9/overview?commentId=149660&action=view) - [pipeline2 email](https://gitit.post.ch/projects/ISA/repos/deployment-upgrade-api/pull-requests/8/overview?commentId=229061) - [pipeline2 email](https://gitit.post.ch/projects/ISA/repos/vehiclelink-power-api/pull-requests/22/diff#Jenkinsfile) - [pipeline2 email](https://gitit.post.ch/projects/ISA/repos/vehicle-setup-api/pull-requests/33/diff#Jenkinsfile) ## API Review Swagger Links - Swagger link please 1 "https://gitit.post.ch/projects/ISA/repos/vending-transaction-api/pull-requests/6/overview?commentId=97141" - Use them! "https://gitit.post.ch/projects/ISA/repos/vending-transaction-api/pull-requests/1/overview?commentId=48983" - Not up-to-date "https://gitit.post.ch/projects/ISA/repos/deployment-masterdata-api/pull-requests/8/overview?commentId=78414" - Swagger link please 2 "https://gitit.post.ch/projects/ISA/repos/timetable-registration-api/pull-requests/7/overview?commentId=98168" - SwaggerUI broken "https://gitit.post.ch/projects/ISA/repos/vehiclelink-power-api/pull-requests/11/overview?commentId=95353" - SwaggerUI broken "https://gitit.post.ch/projects/ISA/repos/vehicle-messaging-api/pull-requests/8/overview?commentId=189586" - SwaggerUI broken "https://gitit.post.ch/projects/ISA/repos/vehicle-setup-api/pull-requests/32/overview?commentId=189587" - parent paisa-api 01.04.00.00 is broken "https://gitit.post.ch/projects/ISA/repos/timetable-registration-api/pull-requests/7/overview?commentId=98172" ## Primitive, restricted API - "https://gitit.post.ch/projects/ISA/repos/vehicle-setup-api/pull-requests/14/overview?commentId=61969&action=view" ## API ugly definitions.ref$ array - "https://gitit.post.ch/projects/ISA/repos/vehicle-profile-api/pull-requests/17/overview?commentId=173135" ## api order property field summary top - "https://gitit.post.ch/projects/ISA/repos/customer-swisspass-api/pull-requests/1/overview?commentId=66513" - "https://gitit.post.ch/projects/ISA/repos/vehiclelink-power-api/pull-requests/9/overview?commentId=80215" ## API Design Topic Subject Spread multiple several repos - "https://gitit.post.ch/projects/ISA/repos/vehicle-setup-api/pull-requests/23/overview?commentId=82379" ## API Ignore documentation - "https://gitit.post.ch/projects/ISA/repos/customer-api/pull-requests/8/overview?commentId=88741" ## Documentation Noise/Clutter Comments, APIs (no response was specified) - [Where's the benefit?](https://gitit.post.ch/projects/ISA/repos/vending-twint-api/pull-requests/1/overview?commentId=87895) - [How to document http status codes meaningfully](https://gitit.post.ch/projects/ISA/repos/deployment-masterdata-api/pull-requests/12/overview?commentId=187097) - [Some good examples](https://gitit.post.ch/projects/ISA/repos/vending-transaction-api/browse/src/rest/openapi/api.yaml?at=refs%2Ftags%2Fvending-transaction-api-01.00.00.00#79-80,96-98,112-113,130-131,162-164,197-199,230-232,250-252,270-272,287-288) - [Why is it so hard to write useful descriptions](https://gitit.post.ch/projects/ISA/repos/vending-payment-api/pull-requests/5/overview?commentId=106020) - [Why all that clutter?](https://gitit.post.ch/projects/ISA/repos/deployment-pipeline-api/pull-requests/22/overview?commentId=278860) - [The Golden Rules of Code Documentation](https://blog.jooq.org/the-golden-rules-of-code-documentation/) ## JenkinsfileRelease Api pipeline broken latest version - "https://jira.post.ch/browse/SDCISA-3378" ## PRs and reviews are important - "https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/251/overview?commentId=87095" - "https://gitit.post.ch/projects/ISA/repos/system-status-api/pull-requests/7/overview?commentId=108200" - "https://gitit.post.ch/projects/ISA/repos/communication-modem-api/pull-requests/7/overview?commentId=103394" ## Preflux Null Check Useless? - "https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/193/overview?commentId=66746" ## bash pipeline exit codes (educational) - "https://www.shellscript.sh/tips/pipestatus/" ## Command Escaping And Injection - "https://jira.post.ch/browse/SDCISA-3602" - [My hopefully bullet-proove shell escaping](https://gitit.post.ch/projects/ISA/repos/jenkins-shared-libraries/pull-requests/82/overview?commentId=237165) - [do NOT use silly replacements](https://jira.post.ch/browse/SDCISA-11235?focusedCommentId=1686016&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1686016) ## logger noise spam verbose - [fix the REAL problem please](https://jira.post.ch/browse/SDCISA-3637?focusedCommentId=1252741&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1252741) - [log spam "is not an issue"](https://jira.post.ch/browse/SDCISA-11145?focusedCommentId=1698730&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1698730) - [log spam "is not an issue"](https://jira.post.ch/browse/SDCISA-11146?focusedCommentId=1745308&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1745308) ## Bashisms - "https://askubuntu.com/questions/1059265/whats-the-problem-with-bashisms" - "https://gitit.post.ch/projects/ISA/repos/wowbagger-kickstart/pull-requests/38/overview?commentId=208533" - "https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html" ## YAGNI (but also KISS and DRY) - [YAGNI, KISS and DRY](https://medium.com/swlh/yagni-and-dry-the-kiss-of-death-for-your-software-project-cfd44b0654b6) - [eagle queue json only](https://gitit.post.ch/projects/ISA/repos/eagle/pull-requests/331/overview?commentId=236944) - [How to repair KISS](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/304/diff) - [won't stream, bcause YAGNI](https://gitit.post.ch/projects/ISA/repos/bangbang/pull-requests/5/overview?commentId=316503) ## How to format method parameters - "https://gitit.post.ch/projects/ISA/repos/god-backend/pull-requests/281/overview?commentId=210650" ## Stringly Typed - "https://jira.post.ch/browse/SDCISA-9678" - "https://devcards.io/stringly-typed" - "https://softwareengineering.stackexchange.com/a/365344/306800" ## Automatically implicit mkdir parents is bullshit - "https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/490/overview?commentId=213152" ## Privacy EBanking ist ein Witz - "https://m.youtube.com/watch?v=KopWe2ZpVQI" ## JavaScript EventLoop Visual Explained - "https://m.youtube.com/watch?v=cCOL7MC4Pl0" ## How to write comments. - "https://m.youtube.com/watch?v=yhF7OmuIILc" ## Danfoss einstellen - "https://m.youtube.com/watch?v=VdIheN-c7G0" - "https://m.youtube.com/watch?v=3fh9qm-ljA8" ## java slf4j parameterized logging log4shell - [SLF4J parameterized logging](https://www.tutorialspoint.com/slf4j/slf4j_parameterized_logging.htm) - [Format string vulnerability](https://beaglesecurity.com/blog/vulnerability/format-string-vulnerability.html) - [slf4shell](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) - [Parameterized logging with exceptions](https://www.slf4j.org/faq.html#paramException) ## java assert - [how to enable](https://stackoverflow.com/a/68893479/4415884) - [When to use them](https://softwareengineering.stackexchange.com/a/15518/306800) - [What are they for](https://en.wikipedia.org/wiki/Assertion_(software_development)#Assertions_for_run-time_checking) - [What are they for](https://stackoverflow.com/a/298933/4415884) - [How and when to use them](https://docs.oracle.com/javase/8/docs/technotes/guides/language/assert.html) - [I dont care](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/505/overview?commentId=219173) ## Mensch verblödet, modern tech, IQ, dumm, test - "https://m.youtube.com/watch?v=_dAtdSVeiLM" ## MultiThreading vertx gateleen - [](https://jira.post.ch/browse/SDCISA-9845?focusedCommentId=1617020&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1617020) - [Vertx concurrency model event-loop single threaded](https://stackoverflow.com/a/26875206/4415884) ## MultiThreading concurrency atomic volatile - "https://gitit.post.ch/projects/ISA/repos/halfrunt/pull-requests/27/overview?commentId=105019" - [volatile](https://gitit.post.ch/projects/ISA/repos/houston/pull-requests/367/overview?commentId=155920) - [locking](https://gitit.post.ch/projects/ISA/repos/houston/pull-requests/367/overview?commentId=155916) ## MultiThreading Dead Lock - [Zarquon IO stream read write](https://gitit.post.ch/projects/ISA/repos/zarquon/pull-requests/2/overview?commentId=61285) ## Backward compatible Support old systems - (32-bit CPU) "https://itsfoss.com/32-bit-os-list/" ## Resilience limit upper bound - [Thought OOM](https://jira.post.ch/browse/SDCISA-10021) - [Thought DB streams](https://wikit.post.ch/pages/viewpage.action?pageId=993270063&focusedCommentId=993272727#comment-993272727) - [in-memory buffer OOM](https://gitit.post.ch/projects/ISA/repos/nsync/pull-requests/55/overview?commentId=324715) ## Resilience reliable end-to-end transport - [How To Prevent Data Loss On A Non-Reliable Transport Channel](https://wikit.post.ch/x/4y_nQg) - [Houston losing hook messages](https://jira.post.ch/browse/SDCISA-13346) - [Not interested in the fix](https://jira.post.ch/browse/SDCISA-11619?focusedId=1913186&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1913186) ## Bugs, Frameworks, Dependencies include them all - "https://medium.com/dinahmoe/escape-dependency-hell-b289de537403" - "https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/119/overview?commentId=46245" - [Stop Ductaping crap together](https://devrant.com/rants/5107044) - [JavaMelody OutOfMemory](https://wikit.post.ch/display/ISA/God+UI+ohne+Inhalt?focusedCommentId=1439580947#comment-1439580947) ## Input validation - [WontDo](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/512/overview?commentId=222672) ## Git for windoof CRLF broken - "https://wikit.post.ch/display/ISA/Code+Formatting?focusedCommentId=791239536#comment-791239536" ## EddieName VS Hostname VS FQDN - "https://gitit.post.ch/projects/ISA/repos/deployment-pipeline-api/pull-requests/2/overview?commentId=50191" ## post architektur Semver - "https://wikit.post.ch/x/oeQKJw#id-20201111I2ArchitectureMeetingProtocol-GitOpsWorkgroup:ReferenceArchitecturePrincipleforVersioning" ## Early-return error handling - "https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/226/overview?commentId=73892" ## Stage Env Specific Conditional TimeBomb - "https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/231/overview?commentId=75315" ## Implicit/Explicit Encoding charset java String getBytes - "https://gitit.post.ch/projects/ISA/repos/halfrunt/pull-requests/10/overview?commentId=76149" - "https://wikit.post.ch/pages/viewpage.action?pageId=193593428#JavaLanguage-Encoding" ## slf4j logger logging paisa platform alice - logger fail "https://jira.post.ch/browse/SDCISA-9903" ## FileLogging is a MUST have (kibana is bullsh**) - [example](https://jira.post.ch/browse/SDCISA-8382?focusedCommentId=1554435&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1554435) - [example](https://jira.post.ch/browse/SDCISA-13655) - [thought loggt nicht ins Kibana?](https://jira.post.ch/browse/SDCISA-17480) - [warning](https://jira.post.ch/browse/SDCISA-7230?focusedCommentId=1550476&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1550476) - [FluentD logging unreliable](https://jira.post.ch/browse/SDCISA-16205) - [K8S: Service logs not streamed to Kibana?](https://jira.post.ch/browse/SDCISA-16335) - [fluentd block EventLoop houston](https://gitit.post.ch/projects/ISA/repos/eagle/pull-requests/402/overview?commentId=380655) ## Automatic variable dynamic version are evil - [Apikana broken by design](https://gitit.post.ch/projects/ISA/repos/notifications-api/pull-requests/7/overview?commentId=232144) - [Apikana broken by design](https://gitit.post.ch/projects/ISA/repos/deployment-playbook-api/pull-requests/11/overview?commentId=234691) ## Java "var" keyword MUST have common sense - [My personal standpoint with links](https://gitit.post.ch/projects/ISA/repos/poodoo/pull-requests/68/overview?commentId=380610) - [style guide about var. Scroll a bit there's more](https://openjdk.org/projects/amber/guides/lvti-style-guide#G3) - [Please don't be silly](https://gitit.post.ch/projects/ISA/repos/poodoo/pull-requests/68/overview?commentId=379722) ## Encoding mime application/octet-stream string utf8 unicode json payload data - [eagle queue browser](https://gitit.post.ch/projects/ISA/repos/eagle/pull-requests/331/overview?commentId=232322) ## Stop using that stupid mouse! For some reason you've got a keyboard - [_](https://www.vice.com/en/article/d3m8ga/i-stopped-using-a-computer-mouse-for-a-week) - [_](https://medium.com/ae-studio/save-a-month-of-your-life-by-using-these-keyboard-shortcuts-a07fdba5dc6e) - [_](https://blog.superhuman.com/keyboard-vs-mouse/) ## How to get real InputStream from RestTemplate - [java spring http web InputStream RestTemplate body](https://stackoverflow.com/a/62649586/4415884) ## Stone age deprecated obsolete for years - [API using naming deprecated for 7 years](https://gitit.post.ch/projects/ISA/repos/notifications-api/pull-requests/7/overview?commentId=238160) ## ImageMagic - [Bulk resize pictures](https://stackoverflow.com/questions/36986436/how-to-batch-resize-millions-of-images-to-fit-a-max-width-and-height) - [mogrify bulk changes](https://www.lostsaloon.com/technology/resize-multiple-images-batch-command-line-linux/) ## Windoof - [Enable w32 crashdump](https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps?source=recommendations) - [FOSS alternative software](https://www.opensourcealternative.to/) ## Cloud is bullshit - [onedrive down 2023 jan](https://answers.microsoft.com/en-us/msoffice/forum/all/cant-sign-into-onedrive-something-went-wrong-on/b0273ef6-29a3-4fbd-87cc-5b1fea4a62a0) ## Spathetti code - [public constants](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/550/overview?commentId=232843) ## Authentication passowrd 2FA - [2FA failed](https://www.techradar.com/news/2fa-compromise-led-to-cryptocom-hack) ## How to use Jenkinsfiles. Reduce dependency to groovy - [_](https://www.jenkins.io/doc/book/pipeline/pipeline-best-practices/) ## Downstream VS upstream request response - [terms explained](https://softwareengineering.stackexchange.com/questions/312401) ## Properties in paisa service git repositories gets forced - [I've warned. Not my problem anymore](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/582/overview?commentId=245258) ## Sync VS Async callbacks - [Sync VS Async callbacks](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/) ## Terms Terminology Words Meaning Glossary Explained - [eg, e.g.](https://dictionary.cambridge.org/dictionary/english/eg) ## Java JDK Tools - [Pure java 1.6 HttpServer](https://stackoverflow.com/a/3732328/4415884) ## Java IntelliJ PaISA import settings code format - [IntelliJ Settings](https://gitit.post.ch/projects/ISA/repos/houston/pull-requests/451/overview?commentId=265197) ## security - [SDCISA-4808] Security flaw due to no-security-if-no-identity policy Open - [Make ISA secure (again?)](https://wikit.post.ch/x/n984Mg) - [platform public IP exposed wont fix](https://jira.post.ch/browse/SDCISA-6998) - [houston public IP exposed](TODO) ## Bus Factor Faktor - [Bus factor definition wikipedia](https://en.wikipedia.org/wiki/Bus_factor) ## identifiers (IDs) MUST be unique - [paisa masterdatas still do bullsh**](https://gitit.post.ch/projects/ISA/repos/deployment-artifact-api/pull-requests/1/overview?commentId=272726) - [ID ownership/responsible](https://gitit.post.ch/projects/ISA/repos/organization-information-api/pull-requests/12/overview?commentId=274738) ## wlan kabel kaufen shop - [Wlan kabel kaufen](https://etel-tuning.eu/produkt/wlan-kabel/) - [Alles ist (Un)möglich! – Der Fake-Shop im Netz](https://traumshop.net/) - [Portable QEMU VM cross-platform](https://www.willhaley.com/blog/simple-portable-linux-qemu-vm-usb/) ## Reactor Pattern [What is reactor pattern](https://stackoverflow.com/q/5566653/4415884) [Original doc (but complicated)](http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf) ## Naming is hard - [Naming is hard. SBB](https://gitit.post.ch/projects/ISA/repos/timetable-reservation-api/pull-requests/4/overview?commentId=284225) ## About True Security - [Tips, Tools and How-tos for Safer Online Communications](https://ssd.eff.org/) ## Qemu is Crap - [Qemu for Windows Host Quirks](https://wonghoi.humgar.com/blog/2021/05/03/qemu-for-windows-host-quirks/) ## Git paisa complain about rebase stuff - [Complain about force-pushes](https://gitit.post.ch/projects/ISA/repos/lazlar/pull-requests/3/overview?commentId=311142) ## Angular is terrible - [Why angular sucks](https://medium.com/dirtyjs/why-angular-2-4-5-6-sucks-afb36567ad68) - [JS bloat everywhere](https://tonsky.me/blog/js-bloat/) ## java try-with-resources behavior [Exception Scenarios for Java's try-with-resources](https://dev.to/moaxcp/exception-scenarios-for-java-s-try-with-resources-63m) [About TLS in isa](https://jira.post.ch/browse/SDCISA-14330?focusedId=1925001&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1925001) ## Tools like tcpdump are incredibly important - [tcpdump discovers the truth once more](https://jira.post.ch/browse/SDCISA-13746?focusedId=1939377&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-1939377) ## MUST have an issue - [no-issue PR gets sued](https://gitit.post.ch/projects/ISA/repos/preflux/pull-requests/721/overview?commentId=349529) ## Format Date ISO 8601, UTC GMT localtime - [public service announcement](https://xkcd.com/1179/) - [3 simple rules](https://dev.to/corykeane/3-simple-rules-for-effectively-handling-dates-and-timezones-1pe0) ## saml2aws broken on windoof - [saml2aws windoof broken needs VM](https://wikit.post.ch/x/M4NlIw#comment-1616906104) ## the c10k problem - [TODO read - long coder blog for c10k](http://www.kegel.com/c10k.html) - [null VS empty](https://jira.post.ch/browse/SDCISA-14534) ## Proxy environ names - (https://about.gitlab.com/blog/2021/01/27/we-need-to-talk-no-proxy/) ## Unix CPU Load Average / Linux System Load Average - [Linux Load Averages](https://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html)