Git tips / diff3 Updated +Created
diff3 conflict is basically what you always want to see, either by setting it as the default as per stackoverflow.com/questions/27417656/should-diff3-be-default-conflictstyle-on-git:
git config --global merge.conflictstyle diff3
or as a one off:
git checkout --conflict=diff3
With this, conflicts now show up as:
++<<<<<<< HEAD
 +5
++||||||| parent of 7b0f59d (6)
++3
++=======
+ 6
++>>>>>>> 7b0f59d (6)
7b0f59d is the SHA-2 of commit 6.
instead of the inferior default:
++<<<<<<< ours
 +5
++=======
+ 6
++>>>>>>> theirs
We can also observe the current tree state during resolution:
* b4ec057 (HEAD, master) 5
* 0b37c1b 4
| * fbfbfe8 (my-feature) 7
| * 7b0f59d 6
|/
* 661cfab 3
* 6d748a9 2
* c5f8a2c 1
so we understand that we are now at 5 and that we are trying to apply our commit 6
So it is much clearer what is happening:
  • master changed the code from 3 to 5
  • our feature changed the code from 3 to 6
and so now we have to decide what the new code is that will put both of these together.
Let's say we decide it is 5 + 6 = 11 and continue rebasing:
git add .
git rebase --continue
We now reach:
++<<<<<<< HEAD
 +11
++||||||| parent of fbfbfe8 (7)
++6
++=======
+ 7
++>>>>>>> fbfbfe8 (7)
and the tree looks like:
* ca7f7ff (HEAD) 6
* b4ec057 (master) 5
* 0b37c1b 4
| * fbfbfe8 (my-feature) 7
| * 7b0f59d 6
|/
* 661cfab 3
* 6d748a9 2
* c5f8a2c 1
So we understand that:
  • after the previous step we added commit 6 on top of 5
  • now we are adding 7 on top of the new 6 (which we decided would contain 11)
and after resolving that one we now reach:
* e1aaf20 (HEAD -> my-feature) 7
* ca7f7ff 6
* b4ec057 (master) 5
* 0b37c1b 4
* 661cfab 3
* 6d748a9 2
* c5f8a2c 1
Git tips / git mergetool with meld or kdiff3 Updated +Created
These are good free newbie GUI options:
sudo apt install meld
git mergetool --tool meld

sudo apt install kdiff3
git mergetool --tool kdiff3
https://raw.githubusercontent.com/cirosantilli/media/master/meld.png
https://raw.githubusercontent.com/cirosantilli/media/master/kdiff3.png
Let's make a more interesting conflict:
git-tips-2.sh
#!/usr/bin/env bash

set -eux

add() (
  rm -f f
  for i in `seq 10`; do
    printf "before $i\n\n" >> f
  done
  printf "conflict 1 $1\n\n" >> f
  for i in `seq 10`; do
    printf "middle $i\n\n" >> f
  done
  printf "conflict 2 $2\n\n" >> f
  for i in `seq 10`; do
    printf "after $i\n\n" >> f
  done
  git add f
)

rm -rf git-tips-2
mkdir git-tips-2
cd git-tips-2
git init

for i in 1 2 3; do
  add $i $i
  git commit -m $i
done

add 3 4
git commit -m 4

add 5 4
git commit -m 5

git checkout HEAD~2
git checkout -b my-feature

add 3 6
git commit -m 6

add 7 6
git commit -m 7
Good targets for amateur astronomy Updated +Created
Looking at most astronomical object through a telescope is boring because you only see a white ball or point every time. Such targets would likely only be interesting with spectroscopy analysis.
There are however some objects that you can see the structure of even with an amateur telescope, and that makes them very exciting.
Some good ones:
Good video game to watch Updated +Created
This is a list of video games that are good to watch other people playing, even if you don't play yourself. And often they are better to watch than to play as you don't have to waste your time as much!
Google Passwords Updated +Created
When they disabled this from Chromium, it was one of the things that prompted Ciro Santilli to switch to Proton Pass.
Google X Updated +Created
Wikipedia reads:
Any contributor could create and own new Knol articles, and there could be multiple articles on the same topic with each written by a different author.
so basically exactly what Ciro Santilli wants to do on OurBigBook.com. Ominous.
Like any closed source "failure", everything was deleted. wiki.archiveteam.org/index.php/Knol
Gordon Linoff Updated +Created
Infinitely many SQL answers.
As mentioned at Ciro Santilli's Stack Overflow contributions, he just answers every semi-duplicate immediatly as it is asked, and is therefore able to overcome the Stack Overflow maximum 200 daily reputation limit by far. E.g. in 2018, Gordon reached 135k (archive), thus almost double the 73k yearly limit due to the 200 daily limit, all of that with accepts.
This is in contrast to Ciro Santilli's contribution style which is to only answer questions as he needs the subject, or generally important questions that aroused his interest.
2014 Blog post describing his activity: blog.data-miners.com/2014/08/an-achievement-on-stack-overflow.html, key quote:
For a few months, I sporadically answered questions. Then, in the first week of May, my Mom's younger brother passed away. That meant lots of time hanging around family, planning the funeral, and the like. Answering questions on Stack Overflow turned out to be a good way to get away from things. So, I became more intent.
so that suggests his contributions also take a meditative value.
www.data-miners.com/linoff.htm mentions he's an SQL consultant that consulted for several big companies.
LinkedIn profile: www.linkedin.com/in/gordonlinoff/ says he now works at the New York Times.
2021 Reddit thread about him: www.reddit.com/r/programming/comments/puok1h/a_single_person_answered_76k_questions_about_sql/ mentions that by then he had:
answered 76k questions about SQL on StackOverflow. Averaging 22.8 answers per day, every day, for the past 8.6 years.
History of quantum mechanics Updated +Created
The discovery of the photon was one of the major initiators of quantum mechanics.
Light was very well known to be a wave through diffraction experiments. So how could it also be a particle???
This was a key development for people to eventually notice that the electron is also a wave.
This process "started" in 1900 with Planck's law which was based on discrete energy packets being exchanged as exposed at On the Theory of the Energy Distribution Law of the Normal Spectrum by Max Planck (1900).
This ideas was reinforced by Einstein's explanation of the photoelectric effect in 1905 in terms of photon.
In the next big development was the Bohr model in 1913, which supposed non-classical physics new quantization rules for the electron which explained the hydrogen emission spectrum. The quantization rule used made use of the Planck constant, and so served an initial link between the emerging quantized nature of light, and that of the electron.
The final phase started in 1923, when Louis de Broglie proposed that in analogy to photons, electrons might also be waves, a statement made more precise through the de Broglie relations.
This event opened the floodgates, and soon matrix mechanics was published in quantum mechanical re-interpretation of kinematic and mechanical relations by Heisenberg (1925), as the first coherent formulation of quantum mechanics.
It was followed by the Schrödinger equation in 1926, which proposed an equivalent partial differential equation formulation to matrix mechanics, a mathematical formulation that was more familiar to physicists than the matrix ideas of Heisenberg.
Inward Bound by Abraham Pais (1988) summarizes his views of the main developments of the subjectit:
History of special relativity Updated +Created
Bibliography:
History of the United States Updated +Created
History of the University of Oxford Updated +Created
Video 1.
History of Oxford University by Chris Day (2018)
Source. A large part of the video talks about how the insane system of colleges of the University of Oxford came about organically.
History of Wikipedia Updated +Created
A 2022 clone of phabricator.wikimedia.org/source/mediawiki.git gives first commits from 2003 by:
TODO when was wikipedia open sourced from Nupedia? The early days of Wikipedia are quite obscure due to its transition from Nupedia.
Hofstadter's law Updated +Created
The trivial takes a few hours.
The easy takes a week.
And what seemed hard takes a few hours.
As "deadlines" approach, feature sets get cut down, then there are delays, and finally a feasible feature set is delivered some time after the deadline.
The only deadlines that can be met are those of tasks which have already been done but not announced.
This is of course Hofstadter's law.
On the other hand, as a colleague of Ciro once mentioned, it is also known that the time it takes for a task to be done expands without limits to match the deadline. And therefore, without deadlines, tasks will take forever and never get done.
And so, in a moment, perceiving this paradox, Ciro was enlightened.
How can a chemical substance be unstable but not flammable? Updated +Created
I can't believe there isn't a YouTube video comparing various substances for each flammability and instability ratings, this would be a huge hit.
How to report Ubuntu crashes Updated +Created
Their crash system does not have an amazing user interface.
Tested on Ubuntu 21.10.
After something crashes, look under /var/crash for a crash file, which helps to determine which package to report under on Launchpad.
E.g. a file /var/crash/_usr_sbin_gdm3.0.crash makes you want to file the bug under gdm at: bugs.launchpad.net/ubuntu/+source/gdm/+filebug
Then, while reporting the bug, you want to give the developpers access to that .crash file. But you can't publicly upload it because it contains memory dumps and could contain secret information. The way to do it is to look at the ID under:
sudo cat /var/crash/_usr_sbin_gdm3.0.uploaded
Ubuntu's crash report system has already uploaded the .crash for you, so you just have to confirm it and give the ID on the ticket.
You can view a list of all your uploaded errors at:
xdg-open https://errors.ubuntu.com/user/$(sudo cat /var/lib/whoopsie/whoopsie-id)
and each of those contain a link to:
https://errors.ubuntu.com/oops/<.uloaded error id>
which you yourself cannot see.
Running:
sudo apport-unpack /var/crash/_usr_sbin_gdm3.0.crash /tmp/app
splits it up into a few files, but does not make any major improvements.
apport-retrace
sudo apt install apport-retrace
sudo chmod 666 /var/crash/_usr_sbin_gdm3.0.crash
apport-retrace -g /var/crash/_usr_sbin_gdm3.0.crash
opens GDB with the core dump. Debug symbols are supplied as separate packages, which is a really cool idea: so you should be able to download them after the crash to see symbols. askubuntu.com/questions/487222/how-to-install-debug-symbols-for-installed-packages mentions how to install them. Official docs at: wiki.ubuntu.com/DebuggingProgramCrash#Debug_Symbol_Packages
Tried:
echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ddebs.list
echo -e "deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse\ndeb http://ddebs.ubuntu.com $(lsb_release -cs)-proposed main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ddebs.list
sudo apt install ubuntu-dbgsym-keyring
but then sudo apt update fails with:
E: The repository 'http://ddebs.ubuntu.com impish-security Release' does not have a Release file.
How to store data in the Bitcoin blockchain Updated +Created
There are apparently two methods:
Specific implementations:
How to teach and learn physics Updated +Created
The approach many courses take to physics, specially "modern Physics" is really bad, this is how it should be taught:
This is likely because at some point, experiments get more and more complicated, and so people are tempted to say "this is the truth" instead of "this is why we think this is the truth", which is much harder.
But we can't be lazy, there is no replacement to the why.
Related:
How to teach / Explain how to make money with the lesson Updated +Created
People will be more interested if they see how the stuff they are learning is useful.
Useful 99% of the time means you can make money with it.
Achieving novel results for science, or charitable goals (e.g. creating novel tutorials) are also equaly valid. Note that those also imply you being able to make a living out of something, just that you will be getting donations and not become infinitey rich. and that is fine.
Projects don't need of course to reach the level of novel result. But they must at least aim at moving towards that.
This is one of the greatest challenges of education, since a huge part of the useful information is locked under enterprise or military secrecy, or even open academic incomprehensibility, making it nearly to impossible for the front-line educators to actually find and teach real use cases.

There are unlisted articles, also show them or only show them.