Fork me on GitHub
Daniel Hines01:06:26

Suggestions for learning group theory? I want to better understand how semirings can be applied to database provenance… but I have no clue what a semiring is (or a ring, or a group, etc.). Video/audio course is preferable!


I wish I did have a suggestion for learning group theory, but do not. I do recall about 30 years reading a book on group theory when the potential usefulness of it finally "clicked" in my head. I will take a very quick stab at explaining what clicked for me.


A "group" is a set of values (e.g. integers), and an operation on them (e.g. +) that is closed (e.g. a+b is always an integer if a and b are), it has an identity element (e.g. 0 where 0+a=a for all a), the operator is associative, and invertible (e.g. for every value a, there is another value negation(a) such that a+negation(a)=identity_element).


Now for integers, that sounds pretty elementary and boring, and no argument from me there.


People have gone off and taken just those few basic properties, and proved lots of consequences that follow from those, and only those, properties.


So, if you come up with another set of values, and an operation on them, and you prove that it meets those 4 basic properties (closed, has an identity element, operator is associative, and every element has a negation), then all of the other properties people have proved about groups will also apply to your (set of values plus operator).


So if you are familiar with those proven-earlier-for-all-groups things, then you know all of them are true for your new thing.


Anyway, not sure if that is useful info at all, and hopefully someone else has a good learning resource to suggest, where unfortunately I do not.

Daniel Hines02:06:19

That explanation makes a lot of sense, thanks!

Daniel Hines02:06:00

I’m particularly interested in this phenomenon of a semiring. The Eve guys were onto it years ago. Apparently it has some really cool applications to databases and explainability.


Again, hopefully someone else will have a good resource to suggest, but perhaps one of the books on this page might be worth reading, if you do not get a better suggestion:


For me, personally, I would expect a book that focused at least as much on the applications as on the basic theory would be more interesting.

Daniel Hines02:06:14

That MathOverflow link had a lot of good resources! Thanks!


Depending on how much time you want to spend on it, Harvard extension school's recorded lectures on Abstract Algebra might be of interest. I had watched the first few and found them interesting.


Visual Group Theory is a great starting point but it only covers Groups. You can fine some other resources here:

Daniel Hines02:06:14

We’ve compiled lists of good “Why FP” articles/talks. Is there a good “Why Logic Programming” article/talk? I feel like it’s the same arguments, taken to their logical ends (troll), but I’d love to know if there’s an article that’s already done this.


i don't know about a why logic programming talk, but if you haven't seen it already, timothy baldridge gave a "build your own logic engine" talk ( at den of clojure. haven't watched it fully yet, but found his "data all the asts" talk to be a great help in appreciating multimethods -- so was thinking his logic talk might do something similar for logic programming. i believe in both these talks he uses a "eval at the repl" style of approach -- this was wonderful at getting first-hand appreciation of multimethods. (on a side note, at the same den of clojure, plexus gave a talk on zippers which was also really helpful -- especially the diagrams)

👌 4

Do you know any good resources to become a (good) product owner? Context: I have a non-technical friend (lawyer) who is interested in becoming a non-technical co-founder, but he has never done product development and I want to gift him a book/resource


although It might be tech


@helios Cynefin framework


Not exclusively. But really good start


I heard about this on linux action news:


it's open source, so it's possible to host it privately for free


I've used Mattermost, it's like Slack but not as good


But it does the same job, pretty much


@borkdude yeah it's also bundled/integrated with gitlab, if i am not mistaken


Google: "Just do like Datomic and keep as much of your stuff in memory as possible" 😉


I have an old Time Machine backup of a Mac machine on a hard drive, but I want to free up some space. I figured I could delete some of the historical snapshots of the time machine backup with tmutil. The historic snapshots probably work like a persistent data structure, so rm will screw things up, but tmutil delete ..../2016-08-02... works? This is how I understood it after reading up on this, but correct me if I'm wrong