Algebraic number by Ciro Santilli 35 Updated +Created
Collaborative writing platform by Ciro Santilli 35 Updated +Created
Mailing list by Ciro Santilli 35 Updated +Created
It boggles Ciro Santilli's mind that people use mailing list to collaborate on projects!
The only explanation is that the dinosaurs who created the projects are unable to adapt to new superior technologies.
Yes, Ciro is talking to you, big fundamental projects from last century: Linux kernel, GNU Compiler Collection (gcc.gnu.org/lists.html), Binutils (sourceware.org/binutils/), etc.
Some of you are already using Bugzilla for the bugs, so kudos. But if you've seen their benefit, why you still use the mailing list for patches?
Advantages of mailing lists:
Disadvantages: everything else:
  • cannot subscribed to a single thread. Which forces you to create an email filter for each one of them you subscribe to.
  • no metadata, notably the notion of closing / merging, but also upvotes
    You have to read thirty messages before you can know if the bug was solved or not.
  • it is insanely hard to reply to messages from before you were subscribed: webapps.stackexchange.com/questions/23197/reply-to-mailman-archived-message/115088#115088
    This forces everyone to subscribe to all lists, and then set up email filters to not be flooded with emails.
  • Unless they use Patchwork, which adds one more website on top of the mess.
    And then Gmail corrupts your patches, and you are forced to use git send-email, which does not work on some network configurations: stackoverflow.com/questions/28038662/how-to-solve-unable-to-initialize-smtp-properly-when-using-using-git-send-ema or setup ThunderBird.
  • often have to subscribe to post at all, thus cluttering your inbox further
  • you can edit posts to make them clearer.
    Yes, people could vandalize their answers when they get mad, and threads might stop making sense after edits. But this can be solved with an undeletable post history like Stack Overflow has (but not any other tracker does).
    Or archive.org :-)
    In any case, what do you think will happen more often and have greater impact:
    • people vandalize their posts
    • people fix their silly typos and improve content
  • searchable by author, keyword, etc. without Google. Yes, mailing list trackers could have decent implementations to overcome that. But no, GNU Mailman which everyone uses does not have it. Google barely indexes it.
    And I don't think Google properly indexes many of the mailing list archives for some reason: I never get hits for my own posts a week later, while I often do on GitHub issues.
  • people have to learn about top posting vs inline posting, and this requires infinite education of new users
  • Line comments in code reviews like GitHub and GitLab.
    On mailing lists: either put a comment in the middle of a huge patch and let other people find it, or (more likely) copy paste the part of the patch that you are talking about.
  • most mail web UIs suck.
    OK, this is not an unsolvable or intrinsic problem, but still a problem.
    E.g.: ezmlm it is not possible to see the entire content in a single page: gcc.gnu.org/ml/gcc/2015-07/threads.html.
    Unless you like reading threads backwards and with 4 levels of > quotations.
    The alternative: do like LLVM and send attachments. Yes, I we all love opening up attachments on our browsers.
    The real solution: everyone can create branches and pull requests. Also has the benefit of running CI on the pull requests.
Not sure:
  • you can have infinitely many trackers to replicate data in case apocalypse happens in some part of the world.
    Although I'm not sure this is an advantage, as you don't know anymore which one is the canonical trackers an advantage, as you don't know anymore which one is the canonical tracker.
    And all web interfaces already have an API to export messages, and someone has already scripted it to import from any web UI to any web UI for you.
    And GitHub offers infinite precise history transparently on its API.
Web page by Ciro Santilli 35 Updated +Created
Lorem ipsum by Ciro Santilli 35 Updated +Created
Molecular biology technologies by Ciro Santilli 35 Updated +Created
As of 2019, the silicon industry is ending, and molecular biology technology is one of the most promising and growing field of engineering.
Figure 1.
42 years of microprocessor trend data by Karl Rupp
. Source. Only transistor count increases, which also pushes core counts up. But what you gonna do when atomic limits are reached? The separation between two silicon atoms is 0.23nm and 2019 technology is at 5nm scale.
Such advances could one day lead to both biological super-AGI and immortality.
Ciro Santilli is especially excited about DNA-related technologies, because DNA is the centerpiece of biology, and it is programmable.
First, during the 2000's, the cost of DNA sequencing fell to about 1000 USD per genome in the end of the 2010's: Figure 2. "Cost per genome vs Moore's law from 2000 to 2019", largely due to "Illumina's" technology.
The medical consequences of this revolution are still trickling down towards medical applications of 2019, inevitably, but somewhat slowly due to tight privacy control of medical records.
Figure 2.
Cost per genome vs Moore's law from 2000 to 2019
. Source.
Ciro Santilli predicts that when the 100 dollar mark is reached, every person of the First world will have their genome sequenced, and then medical applications will be closer at hand than ever.
But even 100 dollars is not enough. Sequencing power is like computing power: humankind can never have enough. Sequencing is not a one per person thing. For example, as of 2019 tumors are already being sequenced to help understand and treat them, and scientists/doctors will sequence as many tumor cells as budget allows.
Then, in the 2010's, CRISPR/Cas9 gene editing started opening up the way to actually modifying the genome that we could now see through sequencing.
What's next?
Ciro believes that the next step in the revolution could be could be: de novo DNA synthesis.
This technology could be the key to the one of the ultimate dream of biologists: cheap programmable biology with push-button organism bootstrap!
Just imagine this: at the comfort of your own garage, you take some model organism of interest, maybe start humble with Escherichia coli. Then you modify its DNA to your liking, and upload it to a 3D printer sized machine on your workbench, which automatically synthesizes the DNA, and injects into a bootstrapped cell.
You then make experiments to check if the modified cell achieves your desired new properties, e.g. production of some protein, and if not reiterate, just like a software engineer.
Of course, even if we were able to do the bootstrap, the debugging process then becomes key, as visibility is the key limitation of biology, maybe we need other cheap technologies to come in at that point.
This a place point we see the beauty of evolution the brightest: evolution does not require observability. But it also implies that if your changes to the organism make it less fit, then your mutation will also likely be lost. This has to be one of the considerations done when designing your organism.
Other cool topic include:
It's weird, cells feel a lot like embedded systems: small, complex, hard to observe, and profound.
Ciro is sad that by the time he dies, humanity won't have understood the human brain, maybe not even a measly Escherichia coli... Heck, even key molecular biology events are not yet fully understood, see e.g. transcription regulation.
One of the most exciting aspects of molecular biology technologies is their relatively low entry cost, compared for example to other areas such as fusion energy and quantum computing.
Linux Kernel Module Cheat by Ciro Santilli 35 Updated +Created
This is the most important technical tutorial project that Ciro Santilli has done in his life so far as of 2019.
The scope is insane and unprecedented, and goes beyond Linux kernel-land alone, which is where it started.
It ended up eating every system programming content Ciro had previously written! Including:
so that that repo would better be called "System Programming Cheat". But "Linux Kernel Module Cheat" sounds more hardcore ;-)
Other major things that could be added there as well in the future are:
Due to this project, some have considered Ciro to be (archive):
some kind of Linux kernel god.
which made Ciro smile, although "Linux kernel documenter God" would have been more precise.
[    1.451857] input: AT Translated Set 2 keyboard as /devices/platform/i8042/s1│loading @0xffffffffc0000000: ../kernel_modules-1.0//timer.ko
[    1.454310] ledtrig-cpu: registered to indicate activity on CPUs             │(gdb) b lkmc_timer_callback
[    1.455621] usbcore: registered new interface driver usbhid                  │Breakpoint 1 at 0xffffffffc0000000: file /home/ciro/bak/git/linux-kernel-module
[    1.455811] usbhid: USB HID core driver                                      │-cheat/out/x86_64/buildroot/build/kernel_modules-1.0/./timer.c, line 28.
[    1.462044] NET: Registered protocol family 10                               │(gdb) c
[    1.467911] Segment Routing with IPv6                                        │Continuing.
[    1.468407] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver              │
[    1.470859] NET: Registered protocol family 17                               │Breakpoint 1, lkmc_timer_callback (data=0xffffffffc0002000 <mytimer>)
[    1.472017] 9pnet: Installing 9P2000 support                                 │    at /linux-kernel-module-cheat//out/x86_64/buildroot/build/
[    1.475461] sched_clock: Marking stable (1473574872, 0)->(1554017593, -80442)│kernel_modules-1.0/./timer.c:28
[    1.479419] ALSA device list:                                                │28      {
[    1.479567]   No soundcards found.                                           │(gdb) c
[    1.619187] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100                 │Continuing.
[    1.622954] ata2.00: configured for MWDMA2                                   │
[    1.644048] scsi 1:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     2.5+ P5│Breakpoint 1, lkmc_timer_callback (data=0xffffffffc0002000 <mytimer>)
[    1.741966] tsc: Refined TSC clocksource calibration: 2904.010 MHz           │    at /linux-kernel-module-cheat//out/x86_64/buildroot/build/
[    1.742796] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x29dc0f4s│kernel_modules-1.0/./timer.c:28
[    1.743648] clocksource: Switched to clocksource tsc                         │28      {
[    2.072945] input: ImExPS/2 Generic Explorer Mouse as /devices/platform/i8043│(gdb) bt
[    2.078641] EXT4-fs (vda): couldn't mount as ext3 due to feature incompatibis│#0  lkmc_timer_callback (data=0xffffffffc0002000 <mytimer>)
[    2.080350] EXT4-fs (vda): mounting ext2 file system using the ext4 subsystem│    at /linux-kernel-module-cheat//out/x86_64/buildroot/build/
[    2.088978] EXT4-fs (vda): mounted filesystem without journal. Opts: (null)  │kernel_modules-1.0/./timer.c:28
[    2.089872] VFS: Mounted root (ext2 filesystem) readonly on device 254:0.    │#1  0xffffffff810ab494 in call_timer_fn (timer=0xffffffffc0002000 <mytimer>,
[    2.097168] devtmpfs: mounted                                                │    fn=0xffffffffc0000000 <lkmc_timer_callback>) at kernel/time/timer.c:1326
[    2.126472] Freeing unused kernel memory: 1264K                              │#2  0xffffffff810ab71f in expire_timers (head=<optimized out>,
[    2.126706] Write protecting the kernel read-only data: 16384k               │    base=<optimized out>) at kernel/time/timer.c:1363
[    2.129388] Freeing unused kernel memory: 2024K                              │#3  __run_timers (base=<optimized out>) at kernel/time/timer.c:1666
[    2.139370] Freeing unused kernel memory: 1284K                              │#4  run_timer_softirq (h=<optimized out>) at kernel/time/timer.c:1692
[    2.246231] EXT4-fs (vda): warning: mounting unchecked fs, running e2fsck isd│#5  0xffffffff81a000cc in __do_softirq () at kernel/softirq.c:285
[    2.259574] EXT4-fs (vda): re-mounted. Opts: block_validity,barrier,user_xatr│#6  0xffffffff810577cc in invoke_softirq () at kernel/softirq.c:365
hello S98                                                                       │#7  irq_exit () at kernel/softirq.c:405
                                                                                │#8  0xffffffff818021ba in exiting_irq () at ./arch/x86/include/asm/apic.h:541
Apr 15 23:59:23 login[49]: root login on 'console'                              │#9  smp_apic_timer_interrupt (regs=<optimized out>)
hello /root/.profile                                                            │    at arch/x86/kernel/apic/apic.c:1052
# insmod /timer.ko                                                              │#10 0xffffffff8180190f in apic_timer_interrupt ()
[    6.791945] timer: loading out-of-tree module taints kernel.                 │    at arch/x86/entry/entry_64.S:857
# [    7.821621] 4294894248                                                     │#11 0xffffffff82003df8 in init_thread_union ()
[    8.851385] 4294894504                                                       │#12 0x0000000000000000 in ?? ()
                                                                                │(gdb)
Code 1.
Terminal dump of a LKMC session with two tmux panes with QEMU on left and GDB on right showing a backtrace of the Linux kernel code currently being under QEMU
.
Athlete by Ciro Santilli 35 Updated +Created
Ciro's Edict #8 by Ciro Santilli 35 Updated +Created
This month included several exciting extremelly user visible web developments.
I can't help to feel how the speed of developments reflects my relative mastery of the stack, I'm very happy about how it went.
Why you should give money to Ciro Santilli by Ciro Santilli 35 Updated +Created
So that he can work full time on OurBigBook.com and revolutionize advanced university-level science, technology, engineering, and mathematics eduction for all ages.
Donating to Ciro is the most effective donation per dollar that you can make to:
Ciro's goal in life is to help kids as young as possible to reach, and the push, the frontiers of natural sciences human knowledge, linking it to applications that might be the the next big thing as early as possible. Because nothing is more motivating to students than that feeling of:
Hey, I can actually do something in this area that has never been done before!
rather than repeating the same crap that everyone is already learning.
To do this, Ciro wants to work in parallel both on:
Ciro believes that this rare combination of both:produces a virtuous circle, because Ciro:
  • wants to learn and teach, so he starts to create content
  • then he notices the teaching tools are crap
  • and since he has the ability to actually improve them, he does
As explained at OurBigBook.com and high flying bird scientist, Ciro is most excited to make contributions at the "missing middle level of specialization" that lies around later undergrad and lower grad education:
  • at lower undergrad level, there is already a lot of free material out there to learn stuff
  • at upper graduate level and beyond, too few people know about each specific subject, that it becomes hard to factor things out
But on that middle sweet spot, Ciro believes that something can be done, in such as way that delivers:
  • beauty
  • power
in a way that is:
  • in your face, without requiring you to study for a year
  • but also giving enough precision to allow you to truly appreciate the beauty of the subject
    Ciro's programming skills can also be used to create educational, or actually more production-like, simulations and illustrations.
Ciro believes that today's society just keep saying over and over: "STEM is good", "STEM is good", "STEM is good" as a religious mantra, but fails miserably at providing free learning material and interaction opportunities for people to actually learn it at a deep enough level to truly appreciate why "STEM is good". This is what he wants to fix.
The following quote is ripped from Gwern Branwen's Patreon page, and it perfectly synthesizes how Ciro feels as well:
Quote 1.
Omar Khayyam's chill out quote
.
Omar Khayyam also came to the Vizier... but not to ask for title or office. 'The greatest boon you can confer on me,' he said, 'is to let me live in a corner under the shadow of your fortune, to spread wide the advantages of Science, and pray for your long life and prosperity.'
In addition to all of this, financial support also helps Ciro continue his general community support activities:
Cosmos: A Personal Voyage (1980) by Ciro Santilli 35 Updated +Created
You can feel the marijuana flowing out of this one, it's just great.
Physics research institute by Ciro Santilli 35 Updated +Created
List of quotes by Ciro Santilli 35 Updated +Created
Standard deviation by Ciro Santilli 35 Updated +Created
Diophantine equation by Ciro Santilli 35 Updated +Created
Polynomial (possibly a multivariate polynomial) with integer coefficients.
Sometimes systems of Diophantine equations are considered.
Problems generally involve finding integer solutions to the equations, notably determining if any solution exists, and if infinitely solutions exist.
The general problem is known to be undecidable: Hilbert's tenth problem.
The Pythagorean triples, and its generalization Fermat's last theorem, are the quintessential examples.
Multivariate polynomial by Ciro Santilli 35 Updated +Created
A polynomial with multiple input arguments, e.g. with two inputs and :
as opposed to a polynomial with a single argument e.g. one with just :
Numerical computing language by Ciro Santilli 35 Updated +Created
All those dedicated applied mathematicians languages are a waste of society's time, Ciro Santilli sure applied mathematicians are capable of writing a few extra braces in exchange for a sane general purpose language, we should instead just invest in good libraries with fast C bindings for those languages like NumPy where needed, and powerful mainlined integrated development environments.
And when Ciro Santilli see the closed source ones like MATLAB being used, it makes him lose all hope on humanity. Why. As of 2020. Why? In the 1980s, maybe. But in the 2020s?
Prime number by Ciro Santilli 35 Updated +Created

Unlisted articles are being shown, click here to show only listed articles.