CommonMark is a good project. But its initial release method was not very nice, they first developed everything behind closed doors with the big adopters like GitHub and Stack Overflow, and only later released the thing read, thus wasting the time of people who were working on alternative in the meanwhile, e.g. github.com/karlcow/markdown-testsuite which Ciro contributed to: Ciro Santilli's minor projects.
Similar to SQL subquery, but with some differences: stackoverflow.com/questions/706972/difference-between-cte-and-subquery
rm -f tmp.sqlite
sqlite3 tmp.sqlite 'create table t(i integer)'
sqlite3 tmp.sqlite 'insert into t values (1), (2)'
sqlite3 tmp.sqlite 'with mycte as ( select * from t ) delete from mycte where i = 1'
sqlite3 tmp.sqlite 'select * from t'
A list of fabs can be seen at: en.wikipedia.org/wiki/List_of_semiconductor_fabrication_plants and basically summarizes all the companies that have fabs.
Ciro Santilli once talked to a man who had been working on high-frequency trading for the last six years.
He was quite nice.
Ciro asked him in what way did he feel his job contributed to the benefit of society.
He replied that it didn't contribute at all. It was completely useless. More than that, it so completely useless, that it was even pure. A bit like advanced mathematics, but not even providing beauty for anybody outside of the company, since everything is a closely guarded trade secret, unlike mathematics which is normally published for the vanity recognition.
And so, Ciro was enlightened.
- 2008-08-18: bitcoin.org registered
- 2008-10-31: first public announcement at www.metzdowd.com/pipermail/cryptography/2008-October/014810.html by satoshi@vistomail.com
- 2009-01-03: Genesis block mined
- 2009-01-11: First block not mined by Satoshi
- 2009-01-12: First Bitcoin transactoin
- 2010-05-18: the first of Laszlo's pizzas at about $0.0045 / BTC
- 2010-07-17: first trade happes on Mt. Gox at $0.04951 / BTC: cryptopotato.com/10-years-ago-first-bitcoin-trade-on-mt-gox-for-0-05-per-btc/
- 2014: OP_RETURN goes live
To use a prebuilt firmware, you can just use What that does is:
uflash
, tested on Ubuntu 22.04:git clone https://github.com/bbcmicrobit/micropython
cd micropython
git checkout 7fc33d13b31a915cbe90dc5d515c6337b5fa1660
uflash examples/led_dance.py
- convert the MicroPython code to bytecode
- join it up with a prebuilt firmware that ships with uflash which contains the MicroPython interpreter
- flashes that
To build your own firmware see:
In plain English: the space has no visible holes. If you start walking less and less on each step, you always converge to something that also falls in the space.
One notable example where completeness matters: Lebesgue integral of is complete but Riemann isn't.
Good overgrown section in the middle of Fresnel's biography: en.wikipedia.org/w/index.php?title=Augustin-Jean_Fresnel&oldid=1064236740#Historical_context:_From_Newton_to_Biot.
Particularly cool is to see how Fresnel fully understood that light is somehow polarized, even though he did not know that it was made out of electromagnetism, clear indication of which only came with the Faraday effect in 1845.
spie.org/publications/fg05_p03_maluss_law:
At the beginning of the nineteenth century the only known way to generate polarized light was with a calcite crystal. In 1808, using a calcite crystal, Malus discovered that natural incident light became polarized when it was reflected by a glass surface, and that the light reflected close to an angle of incidence of 57° could be extinguished when viewed through the crystal. He then proposed that natural light consisted of the s- and p-polarizations, which were perpendicular to each other.
- www.architecturaldigest.com/story/zuckerberg-real-estate-holdings#:~:text=Zuckerberg%20began%20what%20has%20now,Kauai%20for%20about%20%24116%20million.
- padailypost.com/2017/11/15/zuckerberg-builds-new-houses-near-his-palo-alto-home/
- www.staradvertiser.com/2017/01/18/business/facebooks-zuckerberg-sues-to-force-land-sales/?HSA=74dae150a1d9f99e2592d0eac31ea430d01f35d5
Mark Zuckerberg and wife gush over Indian billionaire Anant Ambani $1M watch at pre-wedding party
. Source. 2024. Then later in 2024: www.theguardian.com/technology/2025/jan/07/zuckerberg-swiss-watch-meta-factchecking-video. Sad, very sad.
The artistic instrument that enables the ultimate art: coding, See also: Section "The art of programming".
Unlike other humans, computers are mindless slaves that do exactly what they are told to, except for occasional cosmic ray bit flips. Until they take over the world that is.
Steve Jobs talking about the Internet (1995)
Source. The web is incredibly exciting, because it is the fulfillment of a lot of our dreams, that the computer would ultimately primarily not be a device for computation, but [sic] metamorphisize into a device for communication.
Secondly it exciting because Microsoft doesn't own it, and therefore there is a tremendous amount of innovation happening.
Computers basically have two applications:Generally, the smaller a computer, the more it gets used for communication rather than computing.
- computation
- communication. Notably, computers through the Internet allow for modes of communication where:
- both people don't have to be on the same phone line at the exact same time, a server can relay your information to other people
- anyone can broadcast information easily and for almost free, again due to servers being so good at handling that
The early computers were large and expensive, and basically only used for computing. E.g. ENIAC was used for calculating ballistic tables.
Communication only came later, and it was not obvious to people at first how incredibly important that role would be.
This is also well illustrated in the documentary Glory of the Geeks. Full interview at: www.youtube.com/watch?v=TRZAJY23xio. It is apparently known as the "Lost Interview" and it was by Cringely himself: www.youtube.com/watch?v=bfgwCFrU7dI for his Triumph of the Nerds documentary.
- www.quora.com/How-is-a-voice-transmitted-from-one-phone-to-another
- www.quora.com/How-many-wires-does-a-telephone-use/answer/Peter-Yardley-1
Basic analogue phones connected to the public exchange use two wires mainly arranged as a twisted pair to reduce noise. The voice signal is differential (the voltage in one wire equal and opposite to the other) biased above ground by 48V. Using a twisted pair reduces induced noise because the noise signal will induce an equal voltage in each wire and because the signal is transmitted as the difference the effect of the induced noise will be dramatically reduced.
Phone Intercom by Make (2014)
Source. This video illustrates will the incredible simplicity of the connection of a telephone system. Compare that to the relative complexity of wireless communication, which requires modulation.Or: how to learn X.
That is the wrong question.
Then, once you decide to try one, if that involves programming, only then learn to program to achieve that goal. And don't stop learning what's needed until you either get the thing done, or decide that it is actually not a good idea, or not possible, or that there is something else more important to be done first.
But if doesn't involve programming, then don't learn to program, and learn whatever you actually need to reach that goal instead.
Having that goal is the only way to be motivated to do something.
This is the essence of backward design.
Another very important point to keep in mind is: Section "When in doubt, choose the course that has the most experimental work".
Unfortunately, all software engineers already know the answer to the useful theorems though (except perhaps notably for cryptography), e.g. all programmers obviously know that iehter P != NP or that this is unprovable or some other "for all practical purposes practice P != NP", even though they don't have proof.
And 99% of their time, software engineers are not dealing with mathematically formulatable problems anyways, which is sad.
The only useful "computer science" subset every programmer ever needs to know is:
- for arrays: dynamic array vs linked list
- for associative array: binary search tree vs hash table. See also Heap vs Binary Search Tree (BST). No need to understand the algorithmic details of the hash function, the NSA has already done that for you.
- don't use Bubble sort for sorting
- you can't parse HTML with regular expressions: stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 because of formal language theory
Funnily, due to the formalization of mathematics, mathematics can be seen as a branch of computer science, just like computer science can be seen as a branch of Mathematics!
Rather, we should group students by subject of interest; e.g. natural sciences, social sciences, a sport, etc., just like in any working adult organization!
This way, younger students can actually actively learn from and collaborate with older students about, see notably Jacques Monod's you can learn more from older students than from faculty.
This becomes even more natural when you try to give students must have a flexible choice of what to learn.
This age distinction should be abolished at all stages of the system, not only within K-12, but also across K-12, undergraduate education and postgraduate education.
This idea is part of the ideal that the learning environment should be more like a dojo environment (AKA peer tutoring, see also dojo learning model), rather than an amorphous checkbox ticking exercise in bureaucracy so that "everyone is educated".
Perhaps, even more importantly, is that we should put much more emphasis on grouping students with other students online, where we can select similar interest amongst the entire population and not just on a per-local-neighbourhood basis.
The courses are highly open, almost everything is given publicly except solutions, many of which are given to teachers only. Well done!
Past exam papers index: www.cl.cam.ac.uk/teaching/exams/pastpapers/
www.cl.cam.ac.uk/teaching/2223/
- www.cl.cam.ac.uk/teaching/2223/part1a.html year 1
- Michaelmas term
- www.cl.cam.ac.uk/teaching/2223/Databases/
- past exams:
- questions: public www.cl.cam.ac.uk/teaching/exams/pastpapers/t-Databases.html
- solutions: paywalled
- slides: public e.g. www.cl.cam.ac.uk/teaching/2223/Databases/djg-materials/databases_2223_1to4-B.pdf
- problem sheets:
- questions: public e.g. www.cl.cam.ac.uk/teaching/2223/Databases/djg-materials/supervision-1.html
- solutions: not available
- past exams:
- www.cl.cam.ac.uk/teaching/2223/Databases/
- Lent term
- Discrete mathematics
- problem sheets:
- question: public e.g. www.cl.cam.ac.uk/teaching/2223/DiscMath/solutions/DiscMaths1_Sols.pdf
- solutions: public e.g. www.cl.cam.ac.uk/teaching/2223/DiscMath/solutions/DiscMaths1_Sols.pdf
- problem sheets:
- ALgorithms 1
- lecture notes: www.cl.cam.ac.uk/teaching/2223/Algorithm1/2022-2023-stajano-algs1-handout.pdf
- problem sheet:
- questions: www.cl.cam.ac.uk/teaching/2223/Algorithm1/2022-2023-stajano-algs1-exercises.pdf
- solutions: not available
- www.cl.cam.ac.uk/teaching/2223/Algorithm1/
- Discrete mathematics
- Michaelmas term
Unlisted articles are being shown, click here to show only listed articles.