Newcastle University Blogs
blogs.ncl.ac.uk · Group blog · on HN since 2014
Andrey Mokhov, a computer scientist then at Newcastle University, writes about functional programming, algebraic graphs, and build systems.
What HN saysCommenters link it as further reading on the algebra of graphs in Haskell and on classifying build systems, noting he later joined Jane Street.
17HN people shared it
9linked it in comments
8stories submitted
196story points
2 years agolast shared
2014people per year2026
Most-shared posts
- 1An Algebra of Graphs2 people · 184 points · first shared 2016 · 69 comments on HN
- 2Build Systems à La Carte2 people · 1 points · first shared 2019 · discussion on HN
- 3Stroll: An Experimental Build System1 people · 3 points · first shared 2019 · discussion on HN
- 4Deleting secret data with public verifiability1 people · 3 points · first shared 2015 · discussion on HN
- 5Connected Components, Concurrently1 people · 2 points · first shared 2019 · discussion on HN
- 6Shaking up GHC1 people · 1 points · first shared 2014 · discussion on HN
- 7Before the Stuxnet attack,a 1982 cyber operation against Trans-Siberian Pipeline1 people · 1 points · first shared 2024 · 2 comments on HN
- 8Build Task Abstraction (2018)1 people · 1 points · first shared 2024 · discussion on HN
- 9On the trust of trusted computing in the post snowden age1 people · first shared 2023
- 10J pake built into google nest thermostats1 people · first shared 2017
- 11B20318641 people · first shared 2017
- 12Algebra1 people · first shared 2017
- 13Moving to jane street1 people · first shared 2023
- 14Spacecraft control1 people · first shared 2019
- 15Every vote counts ensuring integrity in large scale electronic voting1 people · first shared 2015
What HN people wrote when they linked it
theoh · 2017-09-13
Here's an example of a monoidal structure used in the design of an elegant algebra for manipulating graphs (the network-of-nodes kind)
https://blogs.ncl.ac.uk/andreymokhov/an-algebra-of-graphs/
Representing graphs is a bit of a problem in Haskell, due to the difficulty of creating/working with cyclical structures, and the previous solutions were not really convincing. So in some ways this might be seen as a problem immutable data purists created for themselves. (Not my opinion)
But, either way, the ability to reason about and derive algebraic models for some problem domain is worth pursuing in general. Mathematically structured software is a fast track to robust, reliable, verified solutions to problems. That's propaganda but there's a fair amount of support for it.
An idea that comes up in functional programming that has a similar algebraic quality to monoids etc. is the notion of a type which contains only one value (usually called "Unit") and a type which contains no values ("Bottom" or _|_). The latter is described as "uninhabited" and is used, among other things, to usefully describe the type of a function which never returns. https://en.wikipedia.org/wiki/Bottom_type
Unit represents a value which is like a point in a space which contains only one point. It gets used to send signals with no content. For example, in predecessors of Go, there's the pattern of sending on a "channel of unit" as a way to essentially indicate an event to the receiver. Obviously in that…
AceJohnny2 · 2023-07-17
oh, and Andrey Mokhov since works at Jane Street on the build system Dune:
https://blogs.ncl.ac.uk/andreymokhov/moving-to-jane-street/
ufo · 2019-10-10
In the topic of classifying build systems, there was a really interesting paper about that published at ICFP last year
https://blogs.ncl.ac.uk/andreymokhov/build-systems-a-la-carte/
They classify it based on how the build system detects what needs to be rebuilt and how the build system chooses the order things should be built in
snaky · 2019-04-23
Presuming it's not formally verified assembly code https://blogs.ncl.ac.uk/andreymokhov/spacecraft-control/
BooneJS · 2017-09-02
For further reading, Andrey Mokhov has a useful collection of blog posts[0] and a paper[1] on Algebraic Graphs, including his Haskell package Alga[2] which implements these ideas.
[0]: https://blogs.ncl.ac.uk/andreymokhov/tag/algebra/
[1]: https://github.com/snowleopard/alga-paper/blob/master/README.md
[2]: https://github.com/snowleopard/alga
driverdan · 2017-04-11
Source with more details: https://blogs.ncl.ac.uk/security/author/b2031864/
AndonAndonov · 2017-02-28
One of my professors worked on the key exchange protocol [0], used in Nest. When discussing that particular point, he was very complimentary of Google's security practices, especially when it comes to Nest.
[0] https://blogs.ncl.ac.uk/security/2015/07/28/j-pake-built-into-google-n…
tebou · 2015-03-22
Please check out: https://blogs.ncl.ac.uk/security/2014/08/30/every-vote-counts-ensuring…
This is a paper describing an end-to-end verifiable self-enforcing electronic voting system called DRE-i (Direct Recording Electronic with Integrity).
In my opinion this is a superior solution to any other electronic voting system developed to date.
taraharris · 2023-05-02
TPM's true owner is the NSA, not you or I.
https://www.stat.rice.edu/~dobelman/kstorm.txt
https://news.ycombinator.com/item?id=6337282
https://www.militaryaerospace.com/computers/article/16711478/nsa-teams…
https://www.businessinsider.com/leaked-german-government-warns-key-ent…
https://supplychaindigital.com/technology/nsa-trusted-computing-group-…
https://redmondmag.com/articles/2013/08/22/windows-8-security-issues?m…
https://blogs.ncl.ac.uk/security/2015/07/29/on-the-trust-of-trusted-co…