Skip to content

Instantly share code, notes, and snippets.

@datagrok
datagrok / keybase.md
Created April 26, 2017 04:00
keybase proof

Keybase proof

I hereby claim:

  • I am datagrok on github.
  • I am datagrok (https://keybase.io/datagrok) on keybase.
  • I have a public key ASCrSLf3jYbRq3V0I7pJgP1UEqtjxqqP5iTBLfN5VXNq-Qo

To claim this, I am signing this object:

@datagrok
datagrok / README.md
Last active June 6, 2021 14:23
Circular imports in Python 2 and Python 3: when are they fatal? When do they work?
@datagrok
datagrok / README.md
Last active November 20, 2023 22:00
What happens when you cancel a Jenkins job

When you cancel a Jenkins job

Unfinished draft; do not use until this notice is removed.

We were seeing some unexpected behavior in the processes that Jenkins launches when the Jenkins user clicks "cancel" on their job. Unexpected behaviors like:

  • apparently stale lockfiles and pidfiles
  • overlapping processes
  • jobs apparently ending without performing cleanup tasks
  • jobs continuing to run after being reported "aborted"
@datagrok
datagrok / README.md
Last active January 14, 2019 07:34
How `mv`'s permission-preserving behavior is a gotcha in group-editable shared directory schemes.
@datagrok
datagrok / README.md
Last active August 29, 2015 14:11
Update a directory upon `git push`
@datagrok
datagrok / if_i_ran_the_company.md
Last active January 14, 2019 07:36
If I ran a company, what would it look like?

The article previously hosted at this location is now published on my website: If I Ran The Company.

@datagrok
datagrok / AGPL3-modifications.md
Last active January 14, 2019 07:43
Some questions and answers about various Free Software licenses.
@datagrok
datagrok / noob-questions.md
Last active September 18, 2015 15:52
Questions while reading stuff

Python

__debug__ vs. -O

Python has a built-in variable __debug__ which is set to True when python is called without -O (optimize). The -O flag disables all assertion code.

This seems at first glance like a very easy and clean construct to rely on when coding in development versus production: in development, don't use -O, defensively litter your code with type- and sanity-checking asserts. Perform development-only debugging by testing __debug__ beforehand.

When in production, run all code is run with -O which disables asserts (speeding execution) and sets __debug__ to False.

@datagrok
datagrok / vendoring.md
Last active November 3, 2023 17:37
"Vendoring" is a vile anti-pattern

"Vendoring" is a vile anti-pattern

What is "vendoring"?

From a comment on StackOverflow:

Vendoring is the moving of all 3rd party items such as plugins, gems and even rails into the /vendor directory. This is one method for ensuring that all files are deployed to the production server the same as the dev environment.

The activity described above, on its own, is fine. It merely describes the deployment location for various resources in an application.

@datagrok
datagrok / ergodox.md
Last active January 14, 2019 07:45
Reflections on my ErgoDox keyboard