PBS Space Time Updated 2025-07-16
2011 PHYS 485 lecture videos by Roger Moore from the University of Alberta Updated 2025-07-16
Particle physics YouTube channel Updated 2025-07-16
FreeFem Updated 2025-07-16
Started in 1987 and written in Pascal, by the French from Pierre and Marie Curie University, the French are really strong in numerical analysis.
The fact that French wrote it can be seen in the documentation, for example doc.freefem.org/tutorials/index.html uses file extension
mycode.edp instead of mycode.pde where dep stands for "Équation aux dérivées partielles".Besides the painful build, using FreeFem is relatively simple, as can be seen from the examples on the website.
They do use a domain-specific language on the examples, which appears to be the main/only interface, which is a bad thing, Ciro would rather have a Python API as the "main API", which is more the approach taken by the FEniCS Project, but so be it. This domain-specific language business means that you always stumble upon basic stuff you want to do but can't, and then you have to think about how to share data between the simulation and the plotting. The plotting notably is super complex and they can't implement all of what people want, upstream examples often offload that to gnuplot. This is potentially a big advantage of FEniCS Project.
It nice though that they do have some graphics out of the box, as that allows to quickly debug common problems.
Uses variational formulation of a partial differential equation, which is not immediately obvious to beginners? The introduction doc.freefem.org/tutorials/poisson.html gives an ultra quick example, but your are mostly on your own with that.
On Ubuntu 20.04, the
freefem is a bit out-of-date (3.5.8, there isn't even a tag for that in the GitHub repo, and refs/tags/release_3_10 is from 2010!) and fails to run the examples from the website. It did work with the example package though, but the output does not have color, which makes me sad :-)sudo apt install freefem freefem-examples
freefem /usr/share/doc/freefem-examples/heat.pdeSo let's just compile the latest v4.6 it from source, on Ubuntu 20.04:
sudo apt build-dep freefem
git clone https://github.com/FreeFem/FreeFem-sources
cd FreeFem-sources
# Post v4.6 with some fixes.
git checkout 3df0e2370d9752801ac744b11307b14e16743a44
# Won't apply automatically due to tab hell.
# https://superuser.com/questions/607410/how-to-copy-paste-tab-characters-via-the-clipboard-into-terminal-session-on-gnom
git apply <<'EOS'
diff --git a/3rdparty/ff-petsc/Makefile b/3rdparty/ff-petsc/Makefile
index dc62ab06..13cd3253 100644
--- a/3rdparty/ff-petsc/Makefile
+++ b/3rdparty/ff-petsc/Makefile
@@ -204,7 +204,7 @@ $(SRCDIR)/tag-make-real:$(SRCDIR)/tag-conf-real
$(SRCDIR)/tag-install-real :$(SRCDIR)/tag-make-real
cd $(SRCDIR) && $(MAKE) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=fr install
-test -x "`type -p otool`" && make changer
- cd $(SRCDIR) && $(MAKE) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=fr check
+ #cd $(SRCDIR) && $(MAKE) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=fr check
test -e $(DIR_INSTALL_REAL)/include/petsc.h
test -e $(DIR_INSTALL_REAL)/lib/petsc/conf/petscvariables
touch $@
@@ -293,7 +293,6 @@ $(SRCDIR)/tag-tar:$(PACKAGE)
-tar xzf $(PACKAGE)
patch -p1 < petsc-hpddm.patch
ifeq ($(WIN32DLLTARGET),)
- patch -p1 < petsc-metis.patch
endif
touch $@
$(PACKAGE):
EOS
autoreconf -i
./configure --enable-download --enable-optim --prefix="$(pwd)/../FreeFem-install"
./3rdparty/getall -a
cd 3rdparty/ff-petsc
make petsc-slepc
cd -
./reconfigure
make -j`nproc`
make install
cd ../FreeFem-install
PATH="${PATH}:$(pwd)/bin" ./bin/FreeFem++ ../FreeFem-sources/examples/tutorial/Ciro's initial build experience was a bit painful, possibly because it was done on a relatively new Ubuntu 20.04 as of June 2020, but in the end it worked: github.com/FreeFem/FreeFem-sources/issues/141
FEniCS Project Updated 2025-07-16
One big advantage over FreeFem is that it uses plain old Python to describe the problems instead of a domain-specific language. Matplotlib is used for plotting by default, so we get full Python power out of the box!
One downside is that its documentation is a Springer published PDF link.springer.com/content/pdf/10.1007%2F978-3-319-52462-7.pdf which is several years out-of-date (tested with FEnics 2016.2. Newbs. This causes problems e.g.: stackoverflow.com/questions/53730427/fenics-did-not-show-figure-nameerror-name-interactive-is-not-defined/57390687#57390687
system of partial differential equations are mentioned at: link.springer.com/content/pdf/10.1007%2F978-3-319-52462-7.pdf 3.5 "A system of advection–diffusion–reaction equations". You don't need to manually iterate between the equations.
On Ubuntu 20.04 as per fenicsproject.org/download/Before 2020-06, it was failing with:but they seem to have created the Ubuntu 20.04 package as of 2020-06, so it now worked! askubuntu.com/questions/866901/what-can-i-do-if-a-repository-ppa-does-not-have-a-release-file
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fenics-packages/fenics
sudo apt-get update
sudo apt-get install --no-install-recommends fenics
sudo apt install fenics
python3 -m pip install -u matplotlibE: The repository 'http://ppa.launchpad.net/fenics-packages/fenics/ubuntu focal Release' does not have a Release file. Partial derivative symbol Updated 2025-07-16
Partial label partial derivative notation Updated 2025-07-16
Partial index partial derivative notation Updated 2025-07-16
This notation is not so common in basic mathematics, but it is so incredibly convenient, especially with Einstein notation as shown at Section "Einstein notation for partial derivatives":
This notation is similar to partial label partial derivative notation, but it uses indices instead of labels such as , , etc.
Parallelepiped Updated 2025-07-16
Memory semantics Updated 2025-07-16
These are the rules which specify what different concurrent read/write memory accesses from different threads/processes can or cannot see.
Notable such set of rules include:
- C++ memory model. These are also reflected on the semantics of memory of the corresponding instruction set architecture
- SQL transaction isolation level
Parallel computing library Updated 2025-07-16
Read-modify-write Updated 2025-07-16
That's what usually fucks up parallel programs.
Thread (computing) Updated 2025-07-16
Quartz Updated 2025-07-16
Piezoelectric, and notably used in quartz clock.
OurBigBook.com How the website works Updated 2025-07-16
OurBigBook.com Alternatives Updated 2025-07-16
These are websites that offer somewhat overlapping services, many of which served inspirations, and why we think something different is needed to achieve our goals.
Notably, OurBigBook is the result of Ciro Santilli's experiences with:OurBigBook could be seen as a cross between those three websites.
- Wikipedia
- GitHub
- Stack Exchange (or as non techies might point out, Urban Dictionary, or Quora before it was such an incomprehensible shitshow)
Quick mentions:
- handwiki.org/wiki/HandWiki:About: technically the same as Wikipedia, but with more aligned moderation policies
- ecotext.co/ similar goals. Their website seems quite broken now though as of 2021, can't see text properly. Crunchbase entry: www.crunchbase.com/organization/ecotext says they are from Durham, New Hampshire, United States. Cannot see how to publish, curated material only? Twitter: twitter.com/ecotextinc?lang=en One of the founders: twitter.com/BigNel_21 | www.linkedin.com/in/ecotextnelsonthomas/. Their LinkedIn: www.linkedin.com/company/ecotext/people/
- fiveable.me/ bad: separates students and teachers, as a student I don't see where to create my content. Good: focus on teaching university level stuff to people outside of university via Advanced Placement. Bad: Lots of video content. Bad: Can't see the issue tracker attached to each page.
- LessWrong: their website system does have some similar feature sets to what we want. Reputation, Q&A sections, links between articles most likely, sort by upvote everywhere.
- crowdpub.org collaborative writing website, somehow goes to paragraph level, TODO how they reconcile different authors? Closed beta as of writing, so hard to be sure. From quick presentation on beta website, appears to attempt to share revenue to authors proportionally to the size of their contribution. Some blockchain-based reputation. Meh.
- TODO migrate all from: github.com/booktree/booktree/blob/master/alternatives.md
- studynotes.ie/. Admin approval on everything. No ToC. Fixed tag list for university entry exams topics.
- mindstone.com: there appears to be no sharing focus? File upload basesd? Not sure.
- EverybodyWiki
- looking for open source Confluence-alternatives is an interesting way to go:
- lists:
- BookStack:
- fixed 3-level page hierarchy
- writen in PHP
- Markdown support: www.bookstackapp.com/docs/user/markdown-editor/
- no source-level import-export apparently: www.bookstackapp.com/docs/admin/backup-restore/, youtu.be/WUvtzJfCAKE?t=904
- WYSIWYG: www.bookstackapp.com/docs/user/wysiwyg-editor/ via TinyMCE
- page content repeating: www.bookstackapp.com/docs/user/reusing-page-content/ (will be useful for course modelling)
- github.com/shuding/nextra converts Markdown links to Next.js links. We should look into how it works.
- zettelkasten.de/the-archive/ "The Archive" from zettelkasten.de/. Closed source. By German software engineer Christian Tietze twitter.com/ctietze?lang=en
- LLM generated wiki e.g.:
- docs.tigyog.app/cli beautiful website, but doesn't achieve much. Has a Markdown upload mechanism. Ah, those newbs who think the average user will care about markup upload to DB... Oh, wait...
- www.stuvia.com/en-gb/school/uk/oxford-university/physics. PDF uploads. In theory you have to own copyright: www.stuvia.com/en-gb/copyright/guidelines but it feels unlikely that most material was uploaded by the copyright owners. If those people are up, then why can't we? Maybe... Registred in the UK. People: some Dutch dudes:
- Project Xanadu: crazy overlaps, though that project is vaporware apparently?
Administrators of Project Xanadu have declared it superior to the World Wide Web, with the mission statement: "Today's popular software simulates paper. The World Wide Web (another imitation of paper) trivialises our original hypertext model with one-way ever-breaking links and no management of version or contents.
Static website-only alternatives:
- quarto.org/
- vitepress.dev. vitepress.dev/guide/markdown unmanaged internal links. Sample website: wiki.nikiv.dev/.
Conceptual:
- The Final Encyclopedia: science fiction concept, but the name was reused by Paul Allen in a research project
- second brain
- collective intelligence
OurBigBook.com Action plan Updated 2025-07-16
The steps are sorted in roughly chronological order. The project might fail at any point, and some steps may be carried in parallel:
- create a basic implementation of the website, without advanced features like PageRank sorting and WYSIWYG. This is not much more than a blog with some extra metadata, so it is definitely achievable with constrained resources.
- Ciro would like to volunteer to work for free for this teacher and students to help the students learn.Ciro would start by mapping the headers of the lecture notes onto the website, and then slowly adding content as he feels the need to improve certain explanations.Finding teachers willing to allow this will be a major roadblock: how to convince teachers to use CC BY-SA.
- once some level of validation as been done, Ciro will start looking for charitable charitable grant opportunities more aggressively
- if things seem to be working, start adding more advance features: PageRank-like ranking sorting and WYSIWYG editingThe recommendation algorithms notably is left for a second stage because it needs real world data to be tested. And at the beginning, before Eternal September kicks in, there would be few posts written by well educated university students, so a simple sort by upvote would likely be good enough.
Ciro decided to start with a decent markup language with a decent implementation: OurBigBook Markup. Once that gets reasonable, he will move on to another attempt at the website itself.
The project description was originally at: github.com/cirosantilli/write-free-science-books-to-get-famous-website but being migrated here. The original working project name was "Write free books to get famous website", until Ciro decided to settle for
OurBigBook.com and fixed the domain name. OurBigBook.com Philosophy Updated 2025-07-16
OurBigBook.com Feature ideas Updated 2025-07-16
In this section we will gather some more advanced ideas besides the basic features described at how the website works.
OurBigBook.com User acquisition Updated 2025-07-16
The general and ideal user acquisition is of course organic Googling:
However, before that point, it is very likely that Ciro will have to physically do some very hard and specific user acquisition work at some University. Maybe there is a more virtual way of achieving this.
This work will involve going through some open set of university lecture notes, and creating a superior version of them on OurBigBook.com, and somehow getting students to notice it and use it as a superior alternative to their crappy lecture notes.
Another very promising route is publishing the answers to old examination questions on the website. It is likely that we will be able to overcome any copyright issues by uploading only the answers to numbered questions. There is a minor risk that these would be considered derivative works of the copyrighted questions. But universities would have to be very anal to enforce a DMCA for that!!!
Getting in contact with students is an epic challenge, as an incredibly deep chasm separates us:
- it is basically impossible to try and approach teachers: how to convince teachers to use CC BY-SA
- and on the other hand, how will you get university students to trust you are not a pedophile and that you actually want to help them?The missing aspect is how to join their main "class communication group", e.g. a WhatsApp or Discord chat they have. That would be the perfect entry point to communicate with the end users. But that entry point is also generally closed exclusively for students, and sometimes lecturers, and will not accept anyone external.Perhaps Ciro would be able to do something with one of the two Universities he attended in the past: École Polytechnique or University of São Paulo. But there was no clear channel in those institutions for that. There is either an "infinitely noisy Facebook with everyone that bothered" or silence, deathly silence and isolation of no contact. The key hard part is getting a per-course granularity chat. Discord Student Hubs are a fantastic initiative in that area. Shame that Discord is an unusable mess with zero ways to select which notifications you care about: Section "Discord email notifications"!One approach method that shows some promise is to follow the Student societies, which often host open events of interest outside of work hours.
Walking with advertisement t-shirts mentioning specific course names in some university location is something Ciro seriously considers, that's how desperate things are. Watch out: docs.ourbigbook.com/#public-relations for T-shirt news!
There are unlisted articles, also show them or only show them.