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

  1. 1
    An Algebra of Graphs
    2 people · 184 points · first shared 2016 · 69 comments on HN
  2. 2
    Build Systems à La Carte
    2 people · 1 points · first shared 2019 · discussion on HN
  3. 3
    Stroll: An Experimental Build System
    1 people · 3 points · first shared 2019 · discussion on HN
  4. 4
    Deleting secret data with public verifiability
    1 people · 3 points · first shared 2015 · discussion on HN
  5. 5
    Connected Components, Concurrently
    1 people · 2 points · first shared 2019 · discussion on HN
  6. 6
    Shaking up GHC
    1 people · 1 points · first shared 2014 · discussion on HN
  7. 7
  8. 8
    Build Task Abstraction (2018)
    1 people · 1 points · first shared 2024 · discussion on HN
  9. 9
  10. 10
    J pake built into google nest thermostats
    1 people · first shared 2017
  11. 11
    B2031864
    1 people · first shared 2017
  12. 12
    Algebra
    1 people · first shared 2017
  13. 13
    Moving to jane street
    1 people · first shared 2023
  14. 14
    Spacecraft control
    1 people · first shared 2019
  15. 15

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
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.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close