670 karma · joined April 29, 2019
I moved to Berkeley for university and there are several competing options for gigabit internet (including Sonic, LMI, etc.). When the gigabit service arrived to disrupt the AT&T/Comcast duopoly, suddenly the customer was important, and we were able to get great speeds, prices, and customer service.
What I'm saying is that you don't necessarily need to make internet a public utility to improve service, just to get some real competition. If that competition needs to come in the form of municipal fiber, then that might also work, but it could also be a private company.
When you come up with a new concept, it should also be possible to write out a definition of it. If you can write down your definition (in English, math notation, etc.), then it comes from a countable set, since there are countably many things that you can write down.
At minimum, a Raspberry Pi and an internet connection will do. If you want something a bit more reliable, you can get a virtual server for $5/month and host many repos on it.
As a current undergrad at UC Berkeley, they've moved all classes here online [1], and exams are either being postponed or converted to take-home assignments. I'm currently accessing lectures through Zoom.
[1] https://news.berkeley.edu/2020/03/09/as-coronavirus-spreads-...
[1] https://www.businessinsider.com/wuhan-coronavirus-risk-of-re...
import numpy as np
np.linalg.inv([[1,2],[3,4]])
and this does handle the case where the determinant is 0 (by throwing an error about it being a singular matrix).But, for your own sanity and everyone else's, do not start new projects in C! (Aside from purely academic ones for you to learn.) The point of a programming language is to help humans write safe and correct code. In this sense, C has completely failed. The syntax itself is just begging you to make a subtle mistake. And due to lack of memory safety, even the most well tested and scrutinized projects in C/C++ (such as Chromium) suffer from buffer overflows or memory leaks, potential security vulnerabilities that are automatically prevented by design in other languages. If you need to do something low level with any sort of confidence, use a memory-safe language like Rust, which can even do interop with existing C libraries and code.
(Edit: typo)
I've hosted my own SSH server at home and from a university dorm room. At university, I'd get way more attacks (usually from foreign IPs) than at home. Also, on IPv6-only, I got zero attacks. I run everything behind a Wireguard VPN now, so I don't know how things have changed in the past few years.
It would be interesting to see an analysis of attempts based on IP address type (residential, business, various universities, various clouds). How does the number of attacks compare within and between these categories? Perhaps there could be a cool graphic with arrows (or some other indicator) showing where attacks are coming from and targeting.
When a government is unelected, it needs to show its legitimacy through strength. This means censoring anything that would make it look weak. Censorship is simply a political tool by the CCP, not a cultural practice that deserves respect.
In fact, you could argue that political censorship is the actual enemy of Chinese culture. Historically, China has had a rich history of political theory and thought, but now any views that go against the party line are repressed.
Automatic recognition from PDFs is more promising for accessibility and reformatting, and also seems to be easier to do since typeset math is easier to recognize than handwriting.
More generally, I've been looking for a solution that helps distribute backups in a peer-to-peer way. I have a few friends with their own home servers, and we want to replicate backups across each other's servers for geographical redundancy. Currently, I have a script that uses rsync to copy some tar archives over daily, but this doesn't scale well as more peers want to join our backup-sharing group, since it requires them granting me SSH access.
What I need is a decentralized network to share and retrieve backups from peers. I tried using dat [2] with a Borg Backup repository inside it, but ran into some nasty issues with dat which would cause it to regularly crash and one time even corrupt the data.
Does anyone have any suggestions for such a situation?
[1] https://www.borgbackup.org/ [2] https://github.com/datproject/dat