Articles

The articles, I write as result of my activities. Computer science, programming, mathematics, typesetting and Aikidō are common themes. You can subscribe to these articles via Atom (use https://lukas-prokop.at/feed/by_tag/TAG.xml to subscribe to a specific tag TAG).

Filter by: math CS reflections life sports languages project work

A modern plea for lean software
“A plea for lean software” (1995) is an influential paper by Niklas Wirth. I post my own modern thoughts on the topic.
cssoftware-development
Which information is encoded in Signal's user QR codes?
A group of IT security interested people wondered which information is encoded. I did a source code analysis.
csIT-securityprivacy
Mutual exchange peers
I came across this idea several times in my life. I think we could elaborate on the idea of 'mutual exchange'. So I wrote down some notes
life
Bildoj de la Universala Kongreso de Esperanto en Turino 2023
Mi vizitis la Universala Kongreso de Esperanto en Turino ĉi-jare. Estis agrabla sperto.
languagesEsperantolife
Du senpreparaj statistikaj illustraĵoj pri Esperanto
Mi trovis datumojn kaj verkis du statistikaj illustraĵojn pri la esperanta komunumo
lifelanguagesEsperanto
Two impromptu esperanto statistics
I looked up some data and decided to create two quick ad-hoc statistical illustrations about the Esperanto community
lifelanguagesEsperanto
Taking a look at the XymosTeX project by Emily Eisenberg
If you want compatibility with LaTeχ in digital typesetting, you need to run its underlying programming language. There is only one implementation in C. XymosTeX is a re-implementation in rust.
software-developmentdigital-typesettingTeχ
Mi finis la duolingan Esperantan arbon
Mi eklernis Esperanton en la jaro 2019 per duolingo. Nun mi finis la tutan arbon en duolingo.
Esperantoreflection
litua release 2.0
litua is an executable I wrote to process a markup language - a neat intersection of Lua and rust
projecttypho
The feature set of ICU4X
ICU4X is a rust library implementation of Unicode's ‘International Components for Unicode’ effort. An overview.
projecttyphodigital-typesetting
La jaro 2022
Mi revizitas la jaron 2022
lifeAustriaEsperantoreflection
Book: ‘Logicomix’ by Apostolos Doxiadis and Christos H. Papadimitriou
I got this book as a gift. I read it. A book review.
mediaGermanreflectionmathdiscrete-mathematics
Book: ‘Maus I: My Father Bleeds History’ by Art Spiegelman
Anita recommended the book “Maus” to me. I read it. A book review.
mediaEnglishreflection
Graph-theoretic considerations for 'text documents as trees'
Text documents can be considered as trees. We look at these trees from a graph-theoretic point of view and introduce four names.
projecttyphodigital-typesetting
DANTE Herbsttagung 2022 notes
The German Teχ User Group held an online event in autumn 2022. I participated online on Friday. Some notes.
projecttyphodigital-typesettingTeχ
A review of finl
I reviewed the plans of finl - finl is not LaTeX ‘Reinventing LaTeX for the twenty-first century’
projecttyphodigital-typesetting
Can declarative rust macros be compiled conditionally?
Can one define declarative rust macros conditionally? Can specific cases of macros be compiled conditionally?
cssoftware-developmentprogramming-languagesrustlang
japan22 trip
I have been to Japan in 2022. Here are some photos.
lifelanguagesJapanese
Miaj interesoj
Mi priparolas miajn interesojn
lifelanguagesEsperanto
classic-mceliece-rust 2.0
We published the 2.0 release of a safe pure-rust Classic McEliece implementation
csIT-securitypqcryptosoftware-developmentprogramming-languagesrustlang
Trying out Pijul
I originally used mercurial. Then I switched to git and never left. Let's try out modern alternative Pijul.
cssoftware-development
I cannot get my xmltex MWE running
I spent way too much time on this issue. I wanted to document how my minimal working example which does *not* run
projecttyphodigital-typesetting
Lua implementation of syntax escaping styles
I wanted to observe algorithmic complexity of syntax escaping styles in a trivial Lua implementation
projecttyphodigital-typesetting
On the concept of syntax escaping
I wanted to look at the fundamentals of syntax escaping
projecttyphodigital-typesetting
The NIST PQC decision
On the 5th of July 2022, NIST published which PQC algorithms they want to standardize. A comment.
csIT-securitypqcrypto
DANTE Sommertagung 2022 Friday notes
The German Teχ User Group held an event in Magdeburg over 4 days. I participated online on Friday. Some notes.
projecttyphodigital-typesettingTeχ
Can one restructure the entire module API of a rust crate from the internal API?
rust uses a file structure to define modules (besides the mod keyword). Can one turn it around in the public API?
cssoftware-developmentprogramming-languagesrustlang
Implementing value delegation in Lua
I like the prototype-based OOP approach of Lua. Let us implement value delegation.
cssoftware-developmentprogramming-languageslua
I step back as organizer of Grazer Linuxtage [soon]
I am a part of Grazer Linuxtage for about 11 years now. I am stepping back [soon].
projectgltreflection
Endorsing the secret types proposal for rust
I think the secret types proposal for rust is interesting and shall be endorsed from LLVM's side.
csIT-securitysoftware-developmentrustlang
ntrust-native 1.0
We published the 1.0 release of a safe pure-rust NTRU implementation
csIT-securitypqcryptosoftware-developmentprogramming-languagesrustlang
Two papers on Open Source and a reflection
I read two papers on open source and reflected on the FLOSS situation
cssoftware-developmentcommunity
Quote by Kawasaki
Ideas are easy. Implementation is hard.
cssoftware-developmentdigital-typesettingprojecttypho
Buch: ‚Die Bienen und das Unsichtbare‘ von Clemens Setz
Das Buch „Die Bienen und das Unsichtbare“ hat mir mein Bruder geschenkt. Gelesen. Ein Review.
mediaGermanEnglishEsperantoreflection
typho log: week #5
In the fifth week, I spent time discussing with other people.
cssoftware-developmentdigital-typesetting
Basic XML Q&A
Software developers usually have some understanding of XML. But what about the details? I answer my own questions.
cssoftware-developmentdigital-typesetting
classic-mceliece-rust 1.0
We published the 1.0 release of a safe pure-rust Classic McEliece implementation
csIT-securitypqcryptosoftware-developmentprogramming-languagesrustlang
Downloading arxiv source files through AWS S3 requester-pays buckets
I want to download a large corpus of Teχ files. How complex can this be?
projecttypho
rusty-saber 1.0
We published the 1.0 release of a safe pure-rust Saber implementation
csIT-securitypqcryptosoftware-developmentprogramming-languagesrustlang
Buch: „Die Farben der Magie“ von Terry Pratchett
Ich habe das Buch „Die Farben der Magie“ gelesen. Ein Review.
mediaGermanEnglishreflection
Annotating a compile-time value to a rust struct
How can I annotate a compile-time value to a rust struct? Not.
cssoftware-developmentprogramming-languagesrustlang
typho log: week #4
I work almost full-time on my typho project. An informal summary of my fourth week
cssoftware-developmentdigital-typesetting
kvarido
Esperanto uses suffixes to attach additional meaning. A random thought.
languagesEsperanto
Why is the current month decisive for PQC?
NIST wants to decide upon the finalists to standardize now. An overview.
csIT-securitypqcrypto
typho log: week #3
I work full-time on my typho project. An informal summary of my third week
cssoftware-developmentdigital-typesetting
Can we get KEMs from signatures (vice versa) in PQC?
RSA allows to swap keys to get digital signatures from the encryption scheme. What about PQC?
csIT-securitypqcrypto
typho log: week #2
I work full-time on my typho project. An informal summary of my second week
cssoftware-developmentdigital-typesetting
On yak shaving and Don Knuth's birthday
I want to comment on the yak shaving article. On the occasion of Don Knuth's birthday.
digital-typesetting
typho log: week #1
I work full-time on my typho project. An informal summary of my first week
cssoftware-developmentdigital-typesetting
NIST's AES CTR random number generator in rust
NIST uses
csIT-securitypqcrypto
Does wrapping/saturating generate branches?
rust provides various multiplication/addition methods. Which one generate branches?
cssoftware-developmentrustlang
FLOSS password manager's data storage
Where do FLOSS password managers store their data? A table.
cssoftware-developmentIT-security
On Description of Teχ
Donald Knuth described the initial design of Teχ in two white papers. A retrospective view.
cssoftware-developmentdigital-typesettingTeχ
Definitions for rust's ownership
rust has a unique ownership model. But how does one explain it?
reflectioncssoftware-developmentprogramming-languagesrustlang
PQC illustrations in public domain
I created PQC logos for free use.
projectcsIT-securitypqcrypto
Saluton
Saluton! Mi estas Luko. Mi volas skribi mallongan tekston en Esperanto regule. Hodiaǔ mi komencas.
languagesEsperanto
Differences in the NTRU ref and pqm4 implementations
I looked at the difference between the NTRU reference implementation and the pqm4 implementation
csIT-securitypqcrypto
Intel's RDTSC instruction with rust's RFC-2873 asm! macro
rust recently updated its asm! macro. Time to look at RDTSC with rust.
cssoftware-developmentprogramming-languagesrustlang
Rust performance results converting slice into array
rust has arrays and slices as data types. Which shall we use for optimal performance?
csIT-securitypqcryptorustlang
Movie review: Tehran Taboo
I think the visual of “Tehran Taboo” are very interesting
reflectionAustriamedia
Neo2 issues on xubuntu
The Neo2 keyboard layout does not feature standardized characters. A list of issues.
digital-typesettingUnicode
Duolingo: Tips for Diamond League
Duolingo has the competitive concept of Leagues. Tips on finishing first in Diamond League
languagesreflection
Running Inkscape 0.92 extensions with python3
Since Inkscape 0.92, you can run Inkscape extensions with a different python interpreter than the application
cssoftware-developmentLinux
Pandoc's data model
Pandoc tries to provide universal conversion between markup languages. Let us look at the data model
cssoftware-developmentdigital-typesetting
Unicode issue: different encodings for diacritics [withdrawn]
There are different encodings for diacritics in Unicode. Two case studies.
digital-typesettingUnicode
The Problem with ‘The Problem with Unicode’
An article “The Problem with Unicode”
cssoftware-developmentdigital-typesettingwriting-systemsUnicode
On the distributivity of arithmetic and boolean operations in 2ⁿ
In hardware security, you often mix arithmetic and boolean operations. But for which operations does distributivity hold true?
csIT-Securitypqcrypto
Pictures: Klagenfurt am Wörthersee
I spent one week in Klagenfurt am Wörthersee. I took some pictures of Klagenfurt and the local lake.
lifeAustriamedia
Pictures: BRG Viktring
I spent one week in „Klagenfurt am Wörthersee“. I took some pictures of my former school building.
lifeAustriamedia
Transposing bits
This article discusses the transpose function of Classic McEliece's reference implementation
csIT-securitypqcryptosoftware-development
Movie review: Quo Vadis, Aida?
Movie review related to the Srebrenica Massacre
media
Movie review: System Crasher
Just a movie review of a better movie
media
mod3 of NTRU's reference implementation
This article discusses the mod3 function of NTRU's reference implementation
csIT-securitypqcryptosoftware-development
Deriving algorithms for computing modulo constant n
“mod 2³” means considering only 3 bits. What about “mod 7”? An article about modulo algorithms
csIT-securitypqcryptosoftware-development
The current state of compile-time evaluations in rust
In which ways can you parameterize a program such that the parameter is a const value in rust?
cssoftware-developmentprogramming-languagesrustlang
entr – run arbitrary commands when files change
A neat tool fundamental to my software stack
cssoftware-developmentLinux
Esperanto resources
I wanted to share my collection of Esperanto resources
languagesEsperanto
Bert Hubert's blog entries on PowerDNS' history
I read Bert Hubert's articles on the history of PowerDNS. I enjoyed them a lot and wanted to share them here.
reflectioncssoftware-development
Esperanto's table of correlatives
One of the advantages of a conlang is that you can achieve regularity in many aspects of a languages. The table of correlatives is one example for me
languagesEsperantoEnglishGerman
#rC3 talk notes continued
I continued watching #rC3 talks. I want to publish my talk notes
csIT-security
‘A Philosophy of Software Design’ commentary
John Ousterhout presents “A Philosophy of Software Design” in his Google Talk. I watched the talk and add my own two cents to it
cssoftware-development
Markup language language servers
Microsoft pushed the idea of language servers. Are language servers for markup languages available?
cssoftware-development
My smartphone's power button broke down
The power button of my smartphone stopped working. How can I retrieve its data?
lifecs
Vivado installation gets stuck at ‘Generating installed device list’
How to solve the Xilinx Vivado 2018.1 installation stuck issue when ‘Generating installed device list’?
cssoftware-developmentusability
More #rC3 talk notes
I continued watching #rC3 talks. I want to publish my talk notes
csIT-security
Software architecture rules and effects
I just wanted to make a summary of (humorous or not) software architecture rules/effects
cssoftware-development
Are languages logical?
Natural languages exhibit some structure in their grammar. Are languages logical therefore?
languages
A Raspberry Pi Sense HAT firework with Lua
We celebrated New Year's Eve by implementing a firework in Lua with the Sense HAT with python.
cssoftware-development
#rC3 my Day Four
#rC3 is taking place between 2020-12-27 and 2020-12-30. I joined some talks on Day Four
csIT-security
#rC3 my Day Three
#rC3 is taking place between 2020-12-27 and 2020-12-30. I joined some talks on Day Three
csIT-security
Movie: Der Trafikant
Austria's national broadcoast premiered ‘Der Trafikant’, a movie about a young tobacconist struggling during upcoming tensions due to nationalsocialism
reflection
#rC3 my Day Two
#rC3 is taking place between 2020-12-27 and 2020-12-30. I joined some talks on Day Two
csIT-security
#rC3 my Day One
#rC3 is taking place between 2020-12-27 and 2020-12-30. I joined some talks on Day One
csIT-security
Introduction to Go concurrency with goroutines and channels
Concurrency in go using goroutines and channels; an introduction
programming-languagesgolang
‘PDF/A considered harmful for digital preservation’ considered harmful
Remarks on the paper ‘PDF/A considered harmful for digital preservation’
digital-typesettingpdf
Conferences during Covid19
Conferences cannot take place on site during Covid19. What are alternatives? A list of examples.
glt
Array, slices and references - rust notes
When developing a rust PQCRYPTO software using arrays heavily, I got confused with related types. A cheatsheet
software-developmentprogramming-languagesrustlang
Division by constant in assembly
In our paper, we mention that division by some constant is often represented as multiplication. How and where?
csIT-securitypqcrypto
Inception
I just watched “Inception” (2010). I praise it for its story line and slow motion scenes
media
Data visualization cheatsheets
I just looked into the 'Cheat Sheets for Visualization Techniques' project
cs
Difference of arithmetic and logical shifts (illustrated in rust)
Every programmer knows. Arithmetic shifts only occur in signed types.
cssoftware-developmentprogramming-languagesrustlang
Introduction to rust and its memory safety
On Friday, I will give a 45–50 minute introduction on rust with a focus on memory safety
workcssoftware-developmentprogramming-languagesrustlang
A review of UNIX shells
I spent one day testing various shells in an unstructured manner and made a summary
cssoftware-developmentLinux
Drawing pixels on a Raspberry Pi Sense HAT with Lua
I controlled the RPi Sense HAT with python, but never with Lua. I implemented it natively.
cssoftware-development
Too much crypto
JP Aumasson wrote a paper proposing parameterizations for cryptographic primitives with a lower security margin. The main motivations are performance and adoption.
csIT-securitypqcrypto
I step back as organizer of PyGraz
I became an organizer of PyGraz about 2 years ago. I am stepping back.
cssoftware-developmentcommunity
Definition: ring-LWE
LWE needs to use very large keys. ring-LWE overcomes this limitation
csIT-securitypqcrypto
The Fujisaki-Okamoto transform
The FO transform is used by PQCRYPTO KEMs to achieve IND-CCA security
csIT-securitypqcrypto
Definition: Ideal lattices
Ideal lattices are used as a basis in many lattice-based crypto schemes
csIT-securitypqcrypto
Movie review: “Big Fish” (2003)
Big Fish is a typical Tim Burton movie teaching about understanding and empathy for other people
media
Contact tracing and the MIT Safepaths project
How can you organize contact tracing globally in a privacy-preserving way?
csIT-securityprivacy
Degree sequence equality iff graph isomorphism?
A simple math question was baffling me since 2013. Here is the answer.
mathdiscrete-mathematics
My experience report with i3wm
I used i3wm over 5 months. It was not a pleasant experience. Here is my summary of aggregated problems.
cssoftware-developmentLinuxusability
Leibniz formula for determinants is zero if any two columns are equal
Leibniz formula defines determinants of matrices. In this blog article, I want to show that understanding a complicated formula can be done by understanding its simple, individual parts.
mathlinear-algebra
Beauty of mathematics
Mathematics is the study of structures. Structures emerge from our environment and can be beautiful. In this article I want you to look at polynomials and how interconnected its principles are.
math
‚Die beste aller Welten‘ von Lisa Eckart
Lisa Eckart is an Austrian poetry slammer performing in the German-speaking DACH region. I like here text “Die beste aller Welten” and decided to translate it (German only)
languagesGerman
Reflections on my rhetorics
In order to improve, you need to reflect on what you have done so far. In this post, I am going to look at my own talks and what I did wrong.
cssoftware-developmentcommunityreflection
Cultural differences in preparing an Enbu
In Japan, we had to prepare demonstrations (jap. 演武, enbu) several times. I enjoyed the concept there a lot. One year later back in Austria, I was assigned the same task for the first time. At this moment, I recognized a lot of cultural differences in the approach.
lifeAustriasportsAikidōreflection
Austrian Power Grid data
I was invited to participate in a small excursion to an electric power transformation station in Sankt Peter-Freienstein, Styria, Austria. A promotion flyer showed data about Austria's electric utility. I want to share it here.
lifeAustria