"rathole proxy" search will find it, vs "rathole software".
1,519 karma · joined March 11, 2011
[ my public key: https://keybase.io/007; my proof: https://keybase.io/007/sigs/5Y1h_Iqgejv7vg5oSLOmaS6TepzFsQ3Hbf_5xoG9i74 ]
"rathole proxy" search will find it, vs "rathole software".
We have a few things hanging that are nice, and they do, indeed, disappear. We also have a few that aren't as nice but where we have a connection to them. A couple travel posters as a reminder of an amazing vacation, a map of Paris where we visited and loved the experience, and a fancy triptych concert poster for a destination concert my wife attended all have meaning beyond "nice art", and I notice them at least once a week.
You can store your password yourself, sure, but how certain are you that you're doing it "right" and that "right" today will be good enough tomorrow? 15 years ago MD5 wasn't perfect, but it was good enough versus the other common/stupid methods of storing the password directly or storing it encrypted vs hashed. How certain are you that Argon2 is going to stand the test of time for another couple decades?
I went through precalc in school, then promptly forgot most of it once I started working. All of the bits I had learned felt rushed, so a lot of them fell out of my brain even while in school. I only had a basic understanding of most of what I "learned".
About a year ago I decided to go back to basics, and start over from zero on Khan Academy. I've been v.e.r.y slow, maybe a lesson a month on average, but have been grinding through the lowest level math to really understand and remember it. Down to addition, subtraction and multiplication even - I've relearned how to multiply small numbers in my head, and gotten much better at quick mental addition and subtraction.
I have scheduled and dedicated more time for it this year, so I hope to catch up to my original math basis. This time, hopefully, remembering all of it instead of skimming. That should set me up well for linear algebra, and then calculus next year and beyond.
One thing that may help regardless of how you choose to learn: pick a problem you want to tackle that needs Fancy Maths. It doesn't need to be anything useful, or anything difficult like "prove this unproven theorem". It will motivate you as long as it keeps your brain engaged. For me it's factoring and primality proving, where I can't even read the equations / algorithms because I don't have the basic tools. As I get further along I keep looking back to those problems and seeing how the bits I'm learning apply around the edges or to simpler factoring algorithms. It keeps me motivated to learn more to be able to dive deeper into the juicy parts.
It doesn't talk about NoSQL or sharding, where random IDs usually perform much better than sequential due to a lack of hot shards.
If you distribute your reads and writes at random across N machines you can get ~Nx performance vs one machine. If you make your writes sequential, you'll usually get ~1x performance because every insert goes to the same machine for this second/minute/day, then rolls to a new one for the next period. There are sharding schemes that can counter this, but they require insight into your data design before implementation.
Per the author's charts you can increase the information density by either switching languages or speeding up the current language, so find the maxima of the information density-vs-syllabic-speed graph and make your chosen language match either / both parameters. That may not end up at 3x, but human perception and understanding is certainly greater than 2x common speed for English speech. I don't have a citable reference at hand, but a motivational speaker from my youth made this point. He said he speaks at about double the standard rate because nearly everyone can still understand him, and it lets him give twice as much detail in a story, or tell a story twice as long as he otherwise could.
You can provide a plaintext experience if you think it's better, but clearly you don't.
Upgrade everything all the time and it will never be hard. You'll have full context for breaking changes, and the diff from A to B is always smaller than from A to Q, and less likely to break in strange and confusing ways.
It looks like there's no general solution possible with Han unification. If you have any two of ZH and JA and KO and VI in a page, you will fail to display one of them correctly for certain characters unless (as in that wiki page) you add a LANG attribute for each element they are contained within.
Personally, I would use the browser's language or user locale to set the page language and give up. Then in Japan the local (Japanese) names would look fine, and same for China, Korea and Vietnam. Local consistency versus complicated perfection (tracking the input language as well as tokens and using them everywhere), and I could blame the browser for doing poorly at its impossible job.
One possible "perfect" fix would be to store the token and <span lang=...>$token</span> as well. The only place the non-wrapped version would be used is plaintext email or SMS, either of which are beyond lost causes for other reasons. Doing it with an embedded SPAN tag presents its own problems with sanitization, as well as guaranteeing it's always wrong if the input language was specified incorrectly when the token was populated, versus as above where it would be corrected to the local-optimal version if the user locale overrides it.
These days everything should be stored as bare UTF-8 data (or utf8mb4 if you're MySQL) and presented without anything else. Don't parse it, don't slice-and-dice it, don't prepend or append titles or honorifics or suffixes, don't make assumptions about length or content beyond "must be > 0 as a whole" and DEFINITELY don't use it as an identifier. Treat it as a non-unique opaque token and you'll be fine greater than 99% of the time.
There are people with no last name. There are people with two or three or twelve middle names. There are people with a number for a last name. There are people with a symbol for their entire name.
Take what they give you and use it and be done with it.
You don't want to set up a VPS, even though I mentioned nothing about one. I said to buy an appliance, same as a Time Capsule or whatever that Apple thing used to be called.
You think rsync+SSH+snapshot is complicated, but you don't know that Time Machine is exactly that, just hidden from you so if anything goes wrong it's a black box that you can't recover from.
You think rsync is too much scripting - what are you trying to do that requires scripting beyond `rsync -aP src dest`?
> It needs to run on linux
That right there is going to imply some level of knowledge from the user. Expecting a zero-config install for Linux is pushing it to begin with.
> It needs to backup files in arbitrary locations, including spanning several partitions (one NTFS, one ext3)
And
> It needs good filtering / curation capabilities
And
> it needs to be easy to setup. I don't want to setup my own instance or mess with config files.
Are pretty much mutually exclusive. If you want it to be powerful you'll need to do the work to configure it. If you don't want to do the work it's not going to meet your needs, period. No product exists that will meet all of these criteria, even for Windows. I don't think a product exists that would meet half of them, and certainly if it does it's not open source.
What you really want is rsync over SSH to a ZFS volume with encryption enabled, or some other CoW filesystem that lets you do snapshots and access them online.
If you want to get close, go buy a Synology NAS and set up a nightly rsync cron to it, then set it up to archive to AWS Glacier. That'll get you most of the way to your ideal, and it'll be done instead of perfect.
Longer answer: I'm confused by the examples given. Nothing there is a best practice IMO, they are only opinions.
This writer is confusing "use git" or more basically "use version control" with the how's and why's underneath. Everything beyond "use it" is an opinion, with multiple "best" options depending on your desired workflow or requirements.
Same for Java - the senior explained why this version of "best" is best for them, but the real best practice of "define your interface as a contract" is hidden behind these opinions.
Contrast this with the civil engineer used as an example, who might say "use a safety factor of 3x rated weight for all fasteners" as their best practice. Using fasteners rated at 2x is a violation of that, but using screws vs bolts vs adhesive are all opinions and depend on the particulars and preferences of whoever is doing the work.
They got 1Mj output from > 500TW input - this is a "major milestone" but only a small step on the path to fusion.
NIF is fascinating, and has been promising for the past decade. The idea of kick-starting fusion with lasers sounds awesome, and then more awesome when you realize just how much energy you need for fusion. They're shooting terawatts of laser at a target the size of a hollow grain of rice, and they're not there yet!
You don't get anything beyond what you ask for AND are granted access to by the user.
FB login gives email and name AFAIK, but you can ask for lots of other stuff and be denied. Google defaults to email, not sure about name, and has separate requests and grants for any additional information. They don't have nearly as much of a profile as FB does, but can give address and some other details. Apparently Apple doesn't even provide a real email, so that seems even better for "collecting [your] personal information" than using... your personal email address!
Social login is much better than storing passwords in any form (plaintext, encrypted, hashed), and gives both the user and site owner the benefit of FAANG security.
You're doing it really really wrong if you spend more time learning git than writing your code. Even with its bad UX it's just not that hard.
Your argument is still the same as the other git detractors, and is still wrong.
It _is_ part of your job, it _is_ part of delivering and fixing code. It's the same as anything else you're using. It may be a larger surface area that you're exposed to, but it's no different from CI/CD, build systems or something like a package manager. You don't need to understand how pip or npm or maven works to deliver software effectively, but if you get into trouble you have no alternative to rm-rf.
> As if I care what an index, staging area, reflog etc. are. I don't.
If you don't want to learn it then stop complaining about how difficult it is to use. That's your problem, not git's.
All of those things are important to the power of git. If you don't want / refuse to learn about them then you're trying to build your software with a car stuck in first gear and complaining about how slow it is. STFU and RTFM.
None of this detracts from your final point, which is valid! Just because the UX is mediocre (at best) doesn't mean you can't learn it.
Don't cookbook it, understand what the thing you're typing means. Don't use a GUI to abstract it away, be familiar with the CLI and what it's doing. Don't default to rm-rf when you get stuck, check git reflog and see if you can unfuck yourself first. Ask someone who doesn't have your problems how they're using it - it's possible you're "holding it wrong" in some obvious way, but in a way that masks the true problem that's biting you.
Some of my coworkers regularly have problems with git - I don't, and some other coworkers also don't. We all use roughly the same workflow, it's the people familiar with "what does pull --rebase really do?" that don't get into trouble and/or can get themselves back out of trouble, and the ones who always type the same command regardless of the situation that have problems.
Learn your tools, inside and out.
Per the blog + spec:
A ZIP file MUST have only one "end of central directory record".
What the hell is wrong with you?
You have no customers and an idea you can't explain. What makes you think you can build this unexplainable cusomerless thing into a business, let alone LITERALLY mortgage your future for it?
As others have said: No. Under no circumstances should you sell your house to fund... whatever this is. Bootstrap it nights and weekends if you feel passionate, maybe go find a co-founder if you can explain it coherently.
I will probably try and take advantage of this API, but I would want a list function of some sort to know what stocks are available. How do I know what's going up / down or sentiment is rising / falling without knowing where to look?
What if you're none of those?
Is it still fair to require a local presence for every single site / app / network to have access to a population?
I would blame MongoDB for its default-insecure configuration. There's no excuse. It's been like that for at least a decade (when I last used it) and it was a bad choice even then. At a _minimum_ when they upgraded the engine to integrate WiredTiger they should have pushed that through as part of the breaking change.
If this was published as one or more torrents it would be ideal: all of those who have downloaded the full set would be able to contribute bandwidth to help newcomers, and could spare the source from having to serve multiple TBs of content directly. Uploading to Archive.org and/or the Chinese equivalent would be even better, since they provide mirroring plus torrents plus direct downloads automatically and for free.
The fact that your primary answer is a tautology is telling.
I'm asking what value I should find from it, what value I get from going down this bespoke, inaccessible, poorly tooled path versus using the web with it's widely-used tools, billions of users and a million onramps?
> Nothing compels people to use Gemini aside from their own personal interest.
Nothing compels me to use it, but nothing incentivizes me to use it, either. I'd like a static site generator for my blog. Why would I pick Gemini over Jekyll, Hugo, etc.? That's the missing part of the story.
> And why paint it in terms of negatives? People tend to compare Gemini to a crippled version of the web simply because that's what most of the world uses, but is more accurate to claim it is a modernized version of Gopher.
People tend to compare Gemini to a crippled version of the web simply because that's what it is. All of your arguments on how it's better than Gopher ignore the fact that the web has all of those same features.
It's negative because the web already did that, it's already a modernized version of Gopher. That's why we use it and not Gopher. That battle was lost when either NCSA Mosaic or Netscape Navigator was released 20something years ago.
If I take effort to go and visit a park then I get some kind of value from it. I get to relax in nature, see some pretty trees, have a space to play on a playground, etc. Those uses are evident even if I personally prefer concrete and steel, have pollen allergies or don't have kids.
This project sounds more like a single tree on a tiny island. You can go and sit under it, but you need to swim out to the island. It has no low branches, so you can't do anything except sit under it. It's scraggly, so it doesn't provide any shade, so sitting under it isn't very pleasant in the hot sun. Oh, and no boats are allowed on the lake, so you have to swim the half-mile each way.
It's the opposite of your story, the only possible reason someone could have in visiting the island is to log the tree, or just to say they've been there.
And my argument is more about the practicality. Why am I going to go from writing my blog about how fluffy alpacas are on the HT(TP|ML) web to writing it on Gemini? What do I get for my effort and for the restrictions that are now placed on my writing?
I could appreciate a text file on my local disk about as much as a gemtext page because nobody will see it. Network effects are really real.
Using Gemini is building an enormous mountain, and the only reason to climb it is "because it's there".