Completely rebrand Cirodown to OurBigBook by Ciro Santilli 35 Updated 2025-01-29 +Created 1970-01-01
The name cirodown should not appear anywhere now, except with very few exceptions, e.g.:
- github.com/cirosantilli/cirodown to github.com/ourbigbook/ourbigbook
- file extension from
.ciro
to.bigb
- the Node.js NPM package was renamed from
cirodown
toourbibook
. - all in-code instances
I have also squatted
OurBigBook
on all major social media handles for near future usage, e.g.: twitter.com/ourbigbook and so on.I was going to do this sooner or later, it was inevitable, but the timing was partly triggered due to noticing that English speakers (and likely many other nationalities) are not able to easily read/hear/pronounce "Ciro".
Added font awesome icons. github.com/ourbigbook/ourbigbook/issues/151
Didn't manage to subset, but so be it for now: stackoverflow.com/questions/62395038/how-can-i-export-only-one-character-from-ttf-woff-file-to-avoid-load-unnecessa/71197892#71197892
All found so far are also reproduced at: asciiart.website/index.php?art=people/naked%20ladies therefore not blockchain original.
- tx 9206ec2a41846709a59cafb406dd7b07082bfc27664bbc5c6d4df310c1e1b91f (2014-03-16) via cryptograffiti.info: sexually aroused naked woman sitting looking forward with legs open showing her vagina. Vagina row as an identifier for Ctrl + F:A bit bellow tx 8367a48e4a863e37b3749bc9c111327b07a7c383ec9b3e7ce8d41949e71e1c10 has a large hand showing the middle finger and wearing a watch:
. `. .\x./-`--...../' ; :
Reproduced e.g. at: www.textartcopy.com/ascii-middle-finger.html/"\ |\./| | | | | |>~<| | | /'\| |/'\.. /~\| | | | \ [ | | | | \ | | | | | \ | ~ ~ ~ ~ |` ) | / \ / \ / \ / |--//''`\--| | (( +==)) | |--\_|_//--|
- tx 0aab36554c2ac5ec23747e7f21f75dbe3f16739134cf44953ad7ac98927146d6 (2014-09-28) via cryptograffiti.info: naked woman laying on her side showing her vagina from under her legs, signed
fsc
. TODO full author name? - tx 66826fccef3e3ebb34abce25bfeff8f9dcaaf88e4707a5576c494d8a1cf1681a (2015-12-16) has a one liner penis and breasts:soon followed by more breasts at 37c1e90c6ce3e648c51bfa38cbb43e996cd46e038517596d4c90ca2a6425a701:
jEW B====D ( . Y . )
Found by Messages from the mines.jEW ( . Y . )TIDDIES( . Y . )
Made the website navbar and article lists more mobile friendly. Main motivation: improvised demos to people I meet IRL!
Email verification and reCAPTCHA signup protection by Ciro Santilli 35 Updated 2025-01-29 +Created 1970-01-01
Added this basic but fundamental protection layer to the website.
The email setup will of course be reused when notifications are eventually implemented.
Currently using SendGrid as the email provider. Very easy to setup, and has a free plan.
Adding reCAPTCHA immediately after email is a must otherwise an attacker could send infinitely many emails to random addresses, which would lead to the domain being marked as spam. I was pleasantly surprised about how easy the integration ended up being.
Limited the number of articles, and the size of article bodies. This, together with the reCAPTCHA setup from Email verification and reCAPTCHA signup protection should prevent the most basic types of denial-of-service attacks by filling up our database.
The limits can be increased by admin users from the web UI, and will be done generously when it is evident that it is not a DoS attack. Admin users are also a recently added feature.
Article metadata shown next to every header by Ciro Santilli 35 Updated 2025-01-29 +Created 1970-01-01
This is a major feature: we have now started to inject the following buttons next to every single pre-rendered header:
- "Like"
- "By Other On The Same Topic"
- "Discussions", i.e. the issue tracker for the header
- "Create my own version" or "View my version of the page" or "Edit" button depending on wether the user can edit or already has a version of the article or not
This crucial feature makes it clear to every new user that every single header has its own separate metadata, which is a crucial idea of the website.
General information: Micro Bit v1
The file:contains:
/media/$USER/MICROBIT/DETAILS.TXT
DAPLink Firmware - see https://mbed.com/daplink
Version: 0234
Build: Oct 12 2015 14:53:22
2022-10-14: stopped being able to connect to Ubuntu 22.04. Was trying to do a UART video demo, connected USB, disconnected, connected, disconnected several times on different filming attempts. Was working some of the time, Ubuntu did recognize it, I even saw UART output for sure, but was a bit unstable. But then at one point it just stopped getting recognized by Ubuntu 100% of the time. The board is still being powered by USB, and the previously flashed program still runs, but nothing showed on
sudo dmesg -w
at all, and I can't reprogram it!A day later, managed to get tit to connect once more with a different cable, but just once!
[15310.385055] usb 1-5: new full-speed USB device number 38 using xhci_hcd
[15310.534996] usb 1-5: New USB device found, idVendor=0d28, idProduct=0204, bcdDevice=10.00
[15310.535000] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[15310.535001] usb 1-5: Product: MBED CMSIS-DAP
[15310.535002] usb 1-5: Manufacturer: MBED
[15310.535003] usb 1-5: SerialNumber: 9900023436424e45001d30150000005d00000000cb8928bd
[15310.541267] usb-storage 1-5:1.0: USB Mass Storage device detected
[15310.541643] scsi host4: usb-storage 1-5:1.0
[15310.542658] hid-generic 0003:0D28:0204.000A: hiddev1,hidraw2: USB HID v1.00 Device [MBED MBED CMSIS-DAP] on usb-0000:00:14.0-5/input3
[15310.543121] cdc_acm 1-5:1.1: ttyACM0: USB ACM device
[15311.549969] scsi 4:0:0:0: Direct-Access MBED DAPLINK VFS 0.1 PQ: 0 ANSI: 2
[15311.550273] scsi 4:0:0:0: Attached scsi generic sg1 type 0
[15311.550825] sd 4:0:0:0: [sdb] 16512 512-byte logical blocks: (8.45 MB/8.06 MiB)
[15311.551052] sd 4:0:0:0: [sdb] Write Protect is off
[15311.551054] sd 4:0:0:0: [sdb] Mode Sense: 03 00 00 00
[15311.551204] sd 4:0:0:0: [sdb] No Caching mode page found
[15311.551207] sd 4:0:0:0: [sdb] Assuming drive cache: write through
[15311.572160] sd 4:0:0:0: [sdb] Attached SCSI removable disk
[15316.317438] usb 1-5: reset full-speed USB device number 38 using xhci_hcd
[15316.445093] usb 1-5: device descriptor read/64, error -71
[15316.681102] usb 1-5: device descriptor read/64, error -71
[15316.917102] usb 1-5: reset full-speed USB device number 38 using xhci_hcd
[15317.045028] usb 1-5: device descriptor read/64, error -71
[15317.281149] usb 1-5: device descriptor read/64, error -71
[15317.517154] usb 1-5: reset full-speed USB device number 38 using xhci_hcd
[15317.517466] usb 1-5: Device not responding to setup address.
[15317.725358] usb 1-5: Device not responding to setup address.
[15317.933042] usb 1-5: device not accepting address 38, error -71
[15318.061027] usb 1-5: reset full-speed USB device number 38 using xhci_hcd
[15318.061347] usb 1-5: Device not responding to setup address.
[15318.269270] usb 1-5: Device not responding to setup address.
[15318.477018] usb 1-5: device not accepting address 38, error -71
[15318.477153] usb 1-5: USB disconnect, device number 38
[15318.652912] usb 1-5: new full-speed USB device number 39 using xhci_hcd
[15318.785044] usb 1-5: device descriptor read/64, error -71
[15319.021068] usb 1-5: device descriptor read/64, error -71
[15319.257030] usb 1-5: new full-speed USB device number 40 using xhci_hcd
[15319.385075] usb 1-5: device descriptor read/64, error -71
[15319.621147] usb 1-5: device descriptor read/64, error -71
[15319.729170] usb usb1-port5: attempt power cycle
[15320.384941] usb 1-5: new full-speed USB device number 41 using xhci_hcd
[15320.385176] usb 1-5: Device not responding to setup address.
[15320.593188] usb 1-5: Device not responding to setup address.
[15320.801023] usb 1-5: device not accepting address 41, error -71
[15320.928909] usb 1-5: new full-speed USB device number 42 using xhci_hcd
[15320.929073] usb 1-5: Device not responding to setup address.
[15321.137244] usb 1-5: Device not responding to setup address.
[15321.344947] usb 1-5: device not accepting address 42, error -71
[15321.345173] usb usb1-port5: unable to enumerate USB device
[15321.384929] FAT-fs (sdb): unable to read boot sector to mark fs as dirty
Some threads:
- askubuntu.com/questions/1317548/webusb-doesnt-work-connecting-to-microbit after system upgrade, Ubuntu sees it but fails
- askubuntu.com/questions/1288738/cannot-pair-microbit-through-usb-on-xubuntu-16
Exact same USB and port could still mount the Raspberry Pi Pico.
Linux on SSH and bare metal blinker both work on this board, so the rest of the board seems alive.
Serial from
cat /proc/cpuinfo
: 00000000c77ddb77Datasheets: Raspberry Pi 3.
- battery life:
- 2023-04: on-browser streaming + light browsing on Ubuntu 22.10: about 2h45. Too low! Gotta try buying a new battery.
- 2022-01-04 updated firmward after noticing that ubuntu 21.10 does not wake up from suspend seemed to happen every time when not connected to external power.
dmidecode
diff excerpt:used the "Ubuntu Software" GUI as mentioned at: support.lenovo.com/gb/en/solutions/ht510810-how-to-do-software-updates-linux. Kudos for making this accessible to newbs.BIOS Information Vendor: LENOVO - Version: N1UET40W (1.14 ) - Release Date: 09/28/2017 + Version: N1UET71W (1.45 ) + Release Date: 07/18/2018
After doing that, another update became available to: 0.1.56, clicked it and was much faster than the previous one, and didn't auto reboot. After manual reboot,dmidecode
diffed again:plus a bunch of other lines.BIOS Information Vendor: LENOVO - Version: N1UET71W (1.45 ) - Release Date: 07/18/2018 + Version: N1UET82W (1.56 ) + Release Date: 08/12/2021
- 2021-06-05 upgraded to Ubuntu 21.04 with a clean install from an ISO. SelectedAfter this, the GUI felt fast, who would have thought that erasing a bunch of stuff would make the system faster!
- "Minimal installation"
- "Erase disk and install Ubuntu". Notably, this erased the Microsoft Windows that came with the computer and was never used not even once
- "Erase disk ans use ZFS"
- Encrypt the new Ubuntu installation for security
lsblk
contains:andzd0 230:0 0 500M 0 disk └─keystore-rpool 253:0 0 484M 0 crypt /run/keystore/rpool nvme0n1 259:0 0 476.9G 0 disk ├─nvme0n1p1 259:1 0 512M 0 part /boot/efi ├─nvme0n1p2 259:2 0 2G 0 part │ └─cryptoswap 253:1 0 2G 0 crypt ├─nvme0n1p3 259:3 0 2G 0 part └─nvme0n1p4 259:4 0 472.4G 0 part
lsblk -f
:zd0 crypto_LUKS 2 └─keystore-rpool ext4 1.0 keystore-rpool nvme0n1 ├─nvme0n1p1 vfat FAT32 ├─nvme0n1p2 crypto_LUKS 2 │ └─cryptoswap ├─nvme0n1p3 zfs_member 5000 bpool └─nvme0n1p4 zfs_member 5000 rpoo
Then:contains:grep '[rb]pool' /proc/mounts
which gives an idea of how the above map to mountpoints.rpool/ROOT/ubuntu_uvs1fq / zfs rw,relatime,xattr,posixacl 0 0 rpool/USERDATA/ciro_czngbg /home/ciro zfs rw,relatime,xattr,posixacl 0 0 rpool/USERDATA/root_czngbg /root zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/srv /srv zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/usr/local /usr/local zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/games /var/games zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/log /var/log zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/lib /var/lib zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/mail /var/mail zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/snap /var/snap zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/www /var/www zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/spool /var/spool zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/lib/AccountsService /var/lib/AccountsService zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/lib/NetworkManager /var/lib/NetworkManager zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/lib/apt /var/lib/apt zfs rw,relatime,xattr,posixacl 0 0 rpool/ROOT/ubuntu_uvs1fq/var/lib/dpkg /var/lib/dpkg zfs rw,relatime,xattr,posixacl 0 0 bpool/BOOT/ubuntu_uvs1fq /boot zfs rw,nodev,relatime,xattr,posixacl 0 0
Had two GUI freezes since installation, a fixed images shows no matter what I do, possibly graphics only, but impossible to tell (next time I'll try SSH access). No Nvidia drivers installed yet.
2020-06-06: dropped some lemon juice on the bottom left of touchpad. Bottom left button not working anymore... I'm an idiot. There are many other alternatives, but very aggravating, I'll replace it for sure. Can't find the exact replacement part or any videos showing its replacement online easliy, dang. For the T430: www.youtube.com/watch?v=F3lzV9uXRjU Asked at: forums.lenovo.com/t5/ThinkPad-P-and-W-Series-Mobile-Workstations/P51-left-bottom-button-below-trackpad-mouse-left-click-stopped-working-possible-to-replace/m-p/5019903 Also I could not access it because you need to remove the HDD first: www.youtube.com/watch?v=5Klawxc7T_Y and I can't pull it out even with considerable force, unlike in the video... And OMG, those button caps are impossible to re-install once removed!!! Then when I put the whole thing back together, the upper buttons were not working anymore. FUUUUUUUUCK. When first opening I pulled on it without properly removing the cap and it came off, but it didn't look broken in any way and I put it back in. Keyboard works thank God, so right black connector is fine, left white one oppears to be the one for upper keys and trackpoint, both of which stopped working. The hardware manual confirms that they are both part of the same device, so basically a mouse :-) TODO can it be bought separately from te keyboard? Doesn't look like it, photo of keyboard part includes those buttons. The manual also confirms that the bottom buttons are one device with the trackpad "trackpad with buttons", thus forming the second entire mouse.
2019-04-17: popup asking about "ThinkPad P51 Management Engine Update" from from 182.29.3287 to 184.60.3561, said yes.
Ubuntu 17.10 setup after buying it:
- partition setup: askubuntu.com/questions/343268/how-to-use-manual-partitioning-during-installation/976430#976430
- BIOS:
- for NVIDIA driver:
- for KVM, required by Android Emulator: enable virtualization extensions
- TODO fix the brightness keys:
Battery life shown by Ubuntu battery app after installation:
- before NVIDIA driver setup: 8h
- after: 6.5h
Seagate ST1000LM035-1RK1 1TB hard disk by Ciro Santilli 35 Updated 2025-01-29 +Created 1970-01-01
1TB.
www.disctech.com/Seagate-ST1000LM035-1TB-SATA-Hard-Drive 80 USD | web.archive.org/web/20181224201408/https://www.disctech.com/Seagate-ST1000LM035-1TB-SATA-Hard-Drive
www.seagate.com/www-content/datasheets/pdfs/mobile-hddDS1861-2-1603-en_US.pdf | web.archive.org/web/20181225095438/https://www.seagate.com/www-content/datasheets/pdfs/mobile-hddDS1861-2-1603-en_US.pdf
sudo hdparm -Tt /dev/sda3
on Ubuntu 20.04: Timing cached reads: 29594 MB in 1.99 seconds = 14893.89 MB/sec
Timing buffered disk reads: 386 MB in 3.01 seconds = 128.07 MB/sec
....
lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 05)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:15.0 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 (rev f1)
00:1c.2 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 (rev f1)
00:1c.4 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1)
00:1d.4 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #13 (rev f1)
00:1f.0 ISA bridge: Intel Corporation CM238 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (5) I219-LM (rev 31)
01:00.0 VGA compatible controller: NVIDIA Corporation GM107GLM [Quadro M1200 Mobile] (rev a2)
01:00.1 Audio device: NVIDIA Corporation GM107 High Definition Audio Controller [GeForce 940MX] (rev a1)
04:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
3e:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
3f:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
lspci -t
-[0000:00]-+-00.0
+-00.2
+-01.0
+-02.0
+-02.1-[01]----00.0
+-02.2-[02]----00.0
+-02.4-[03]----00.0
+-03.0
+-04.0
+-04.1-[04-63]--
+-08.0
+-08.1-[64]--+-00.0
| +-00.1
| +-00.2
| +-00.3
| +-00.4
| +-00.5
| \-00.6
+-08.2-[65]--+-00.0
| \-00.1
+-08.3-[66]--+-00.0
| +-00.3
| +-00.4
| \-00.6
+-14.0
+-14.3
+-18.0
+-18.1
+-18.2
+-18.3
+-18.4
+-18.5
+-18.6
\-18.7
Pinned article: ourbigbook/introduction-to-the-ourbigbook-project
Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
- topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculusArticles of different users are sorted by upvote within each article page. This feature is a bit like:
- a Wikipedia where each user can have their own version of each article
- a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it. - local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
- to OurBigBook.com to get awesome multi-user features like topics and likes
- as HTML files to a static website, which you can host yourself for free on many external providers like GitHub Pages, and remain in full control
- Internal cross file references done right:
- Infinitely deep tables of contents:
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact