Mutation Tracking in SQLAlchemy

Mutation means change. Mutation Tracking means ability to detect the change. The term seemed very complex (to me) at first. But it isn't. SQLAlchemy ORM depends on the ability to detect the change in the object so that it can commit it to the DB on session.commit() It is important to understand that if the change is not detected, calling session.commit() won't help. (I think) It internally checks to see if anything is changed.

Emacs for Writers : Part 2

Refer to Part 1 here Here are various other tricks Jay talks about, in his presentation. org-bullets Makes pretty bullets in org-mode. spacemacs already comes with this package. No additional work needed. Off course, you can customize the bullets to your liking, but I am pretty happy with the defaults. notmuch for emails Jay doesn't show notmuch but makes a comment about it. I looked at it, but I think my use case is bit different.

Why did you speak ?

I came across this parable in the book, I am currently reading. It is a Marathi translation of Biography of J. P. Vaswani “Guru of None, Disciple of All” Parable In one of the incarnation, Buddha was a prince, who did not speak. Everyone assumed he “could” not speak. Years passed. Once the prince was traveling thru the forest. He heard two birds “talk”. A hunter heard the sound, and immediately killed one of the birds.

Using ForeignKey in Abstract Base Class (SQLAlchemy)

I was creating an abstract base class containing FK, like this : 1 2 3 class MyBase(Base): name = Column(String(30)) fk1 = Column(Integer, ForeignKey('table1.id')) but kept getting the error : 1 2 sqlalchemy.exc.InvalidRequestError: Columns with foreign keys to other columns must be declared as @declared_attr callables on declarative mixin classes. Reading thru the docs was not helpful because the example used for @declared_attr is somewhat different