diff --git a/posts/from-graphs-to-git.org b/posts/from-graphs-to-git.org index ccf7448..f8e8704 100644 --- a/posts/from-graphs-to-git.org +++ b/posts/from-graphs-to-git.org @@ -54,7 +54,7 @@ of it, using [[https://git-scm.com/docs/git-log][=git log=]]. Here is an example of a repo: -[[file:/images/git-graphs/repo.svg]] +[[file:../images/git-graphs/repo.svg]] In this representation, each commit points to its children[fn:parent-child], and they were organized from left to right @@ -93,7 +93,7 @@ great-grandparent of the current commit. name and acts a simple pointer to a commit. Once again, this is simply an alias, in order to have meaningful names when navigating the graph. -[[file:/images/git-graphs/repo_labels.svg]] +[[file:../images/git-graphs/repo_labels.svg]] In this example, we have three branches: =master=, =feature=, and =bugfix=[fn::Do not name your real branches like this! Find a @@ -122,7 +122,7 @@ committing will be (the new commit is in green): with [[https://git-scm.com/docs/git-commit][=git commit=]]. -[[file:/images/git-graphs/repo_labels_commit.svg]] +[[file:../images/git-graphs/repo_labels_commit.svg]] Two significant things happened here: - Your position on the graph changed: =HEAD= points to the new commit @@ -176,7 +176,7 @@ a commit and all its descendants to another location in the graph. This is called a /rebase/.[fn:rebase:{-} That you can perform with [[https://git-scm.com/docs/git-rebase][=git rebase=]] *(destructive!)*.] -[[file:/images/git-graphs/repo_labels_rebase.svg]] +[[file:../images/git-graphs/repo_labels_rebase.svg]] In this case, we moved the branch =feature= from its old position (in red) to a new one on top of =master= (in green). @@ -206,13 +206,13 @@ where =feature= is:[fn:fastforward] fast-forward with the =--ff-only= and =--no-ff= flags. -[[file:/images/git-graphs/repo_labels_ff.svg]] +[[file:../images/git-graphs/repo_labels_ff.svg]] Another manipulation that we can do on the graph is /squashing/, i.e. lumping several commits together in a single one.[fn:squash:{-} Use [[https://git-scm.com/docs/git-squash][=git squash=]] *(destructive!)*.] -[[file:/images/git-graphs/repo_labels_squash.svg]] +[[file:../images/git-graphs/repo_labels_squash.svg]] Here, the three commits of the =feature= branch have been condensed into a single one. No conflict can happen, but we lose the history of @@ -258,7 +258,7 @@ use [[https://git-scm.com/docs/git-fetch][=git fetch=]], [[https://git-scm.com/d branch automatically), and [[https://git-scm.com/docs/git-push][=git push=]]. -[[file:/images/git-graphs/repo_labels_bob.svg]] +[[file:../images/git-graphs/repo_labels_bob.svg]] The branch name he just got from Alice is prefixed by the name of the remote, in this case =alice=. These are just ordinary commits, and an @@ -270,14 +270,14 @@ he wants to make a new commit on top of Alice's changes. But the repository, so he just creates a new branch just for him named =feature=, where he adds a commit: -[[file:/images/git-graphs/repo_labels_bob2.svg]] +[[file:../images/git-graphs/repo_labels_bob2.svg]] Similarly, Alice can now retrieve Bob's work, and will have a new branch =bob/feature= with the additional commit. If she wants, she can now incorporate the new commit to her own branch =feature=, making her branches =feature= and =bob/feature= identical: -[[file:/images/git-graphs/repo_labels_alice.svg]] +[[file:../images/git-graphs/repo_labels_alice.svg]] As you can see, sharing work in Git is just a matter of having additional branches that represent the graph of other people. Some diff --git a/posts/hierarchical-optimal-transport-for-document-classification.org b/posts/hierarchical-optimal-transport-for-document-classification.org index 143d148..65abd93 100644 --- a/posts/hierarchical-optimal-transport-for-document-classification.org +++ b/posts/hierarchical-optimal-transport-for-document-classification.org @@ -156,7 +156,7 @@ to a deep learning approach, we can make sense of every intermediate step, from the representations of topics to the weights in the optimisation algorithm to compute higher-level distances. -[[file:/images/hott_fig1.jpg]] +[[file:../images/hott_fig1.jpg]] [fn::{-} Representation of two documents in topic space, along with how the distance was computed between them. Everything is interpretable: from the documents as collections of topics, to the diff --git a/posts/operations-research-references.org b/posts/operations-research-references.org index 37ec1fe..4483cae 100644 --- a/posts/operations-research-references.org +++ b/posts/operations-research-references.org @@ -70,7 +70,7 @@ also excellent.) [fn:wentzel] {-}   #+ATTR_HTML: :width 200px -[[file:/images/or_references/wentzel.jpg]] +[[file:../images/or_references/wentzel.jpg]] [fn:mir] {-} Mir also published [[https://mirtitles.org/2011/06/03/physics-for-everyone/][/Physics for Everyone/]] by Lev Landau and Alexander Kitaigorodsky, a three-volume introduction to physics @@ -104,7 +104,7 @@ and other network problems. [fn:williams] {-}   #+ATTR_HTML: :width 200px -[[file:/images/or_references/williams.jpg]] +[[file:../images/or_references/williams.jpg]] Another interesting resource is the freely available [[https://docs.mosek.com/modeling-cookbook/index.html][MOSEK Modeling @@ -155,7 +155,7 @@ algorithms. [fn:kochenderfer] {-}   #+ATTR_HTML: :width 200px -[[file:/images/or_references/kochenderfer.jpg]] +[[file:../images/or_references/kochenderfer.jpg]] ** Online courses @@ -214,7 +214,7 @@ or [[https://github.com/coin-or/pulp][PuLP]] for linear programming. [fn:jump] {-}   #+ATTR_HTML: :width 250px :style background-color: #cccccc; -[[file:/images/or_references/jump.svg]] +[[file:../images/or_references/jump.svg]] Regarding solvers, there is a [[http://www.juliaopt.org/JuMP.jl/stable/installation/#Getting-Solvers-1][list of solvers]] on JuMP's documentation, diff --git a/posts/ponder-this-2021-03.org b/posts/ponder-this-2021-03.org index acd2ba0..2dbd2ff 100644 --- a/posts/ponder-this-2021-03.org +++ b/posts/ponder-this-2021-03.org @@ -64,7 +64,7 @@ E5 D7 05 D7 7D 9C C9 F5 70 0B 17 7B EF 18 83 46 79 0D 49 59 We can parse it easily with the [[https://docs.julialang.org/en/v1/stdlib/DelimitedFiles/][DelimitedFiles]] module from Julia's standard library. -[fn::{-} [[file:/images/ponderthis_202103_grid.svg]]] +[fn::{-} [[file:../images/ponderthis_202103_grid.svg]]] #+begin_src julia using DelimitedFiles @@ -146,7 +146,7 @@ indices = Tuple.(findall(value.(x) .> 0)) indices = sort([(a-1, b-1) for (a, b) = indices]) #+end_src -[fn::{-} [[file:/images/ponderthis_202103_explore.svg]]] +[fn::{-} [[file:../images/ponderthis_202103_explore.svg]]] The resulting objective value is 1424, and the explored indices are