Fork me on GitHub
#off-topic
<
2019-06-24
>
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!

andy.fingerhut02:06:09

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.

andy.fingerhut02:06:21

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

andy.fingerhut02:06:34

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

andy.fingerhut02:06:09

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

andy.fingerhut02:06:17

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

andy.fingerhut02:06:44

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.

andy.fingerhut02:06:55

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.

andy.fingerhut02:06:56

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: https://mathoverflow.net/questions/28684/learning-algebra-group-theory-on-my-own

andy.fingerhut02:06:47

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

csd17:06:29

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.

anonfish00:07:09

Visual Group Theory is a great starting point but it only covers Groups. You can fine some other resources here: https://learnawesome.org/topics/aa319625-1d82-4645-baa7-5649deef6302-abstract-algebra

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 (), but I’d love to know if there’s an article that’s already done this.

sogaiu04:06:28

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 (https://www.youtube.com/watch?v=y1bVJOAfhKY) 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
helios08:06:03

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

dmaiocchi20:06:37

although It might be tech

Aron09:06:55

@helios Cynefin framework

Aron09:06:07

Not exclusively. But really good start

borkdude14:06:35

borkdude14:06:54

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

Conor14:06:24

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

Conor14:06:34

But it does the same job, pretty much

helios14:06:17

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

john18:06:05

Google: "Just do like Datomic and keep as much of your stuff in memory as possible" https://ai.google/research/pubs/pub48030 😉

borkdude18:06:26

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