If you're thinking about self-hosting anything, my first recommendation is to get your backups in order now, before doing anything else. I wrote this a while back: <https://photostructure.com/faq/how-do-i-safely-store-files/>. Having a full, offline backup will only cost ~$20/TiB nowadays, which is cheap insurance if whatever app you try out doesn't quite behave as you expected it to.
The situation for self-hosting your photos just a couple years ago was pretty bleak--especially if you had hundreds of thousands (or more!) of photos. That may sound like a lot of photos, but for people shooting digital for 20+ years, it really isn't!
Whatever image manager you pick, make sure the app follows existing metadata storage standards, so in the (seemingly inevitable) future when the app is abandoned, your photos are in directory structures that make sense to you, and the work you've put into organizing them isn't locked up in unreadable databases or folder structures.
Spoiler alert: I got burned by this issue with prior apps, so I designed PhotoStructure from the ground up with exactly this in mind: <https://photostructure.com/faq/why-photostructure/#open-stan...>. Unfortunately, many/most self-hosted solutions don't handle multiple source directories and configurable destination directories.
Elon's primary motivation, his 'Roko's Basilisk', is a massive DoD program, which requires Republicans to fund. Twitter helps him curry favors to earn these (potentially ~$1-2T) Republican-backed contracts.
The DoD program is a space constellation of ballistic missile defense satellites for tracking and targeting nuclear ballistic missiles, including HGVs and hypersonic cruise missiles".[110] " However, (UCS) warns developments could escalate tensions with Russia and China and called the project "fundamentally destabilizing".[111] They later called for a treaty halting development to prevent an arms race in space.[112]
Starlink's military satellite development is overseen internally at SpaceX by retired four-star general Terrence J. O'Shaughnessy.[113][114] O'Shaughnessy advocated before the United States Senate Committee on Armed Services for a layered space capability with lethal follow-on that incorporates machine learning and artificial intelligence to gather and act upon sensor data quickly.[115]
I've mentioned this before but there are serious warnings against getting tested in Sweden.
I was told that it can affect my health insurance, my mortgage and that I can't hold certain licenses (Pilot, HGV).
There are some direct consequences to being diagnosed and some indirect ones; and they warn that once the process of getting diagnosed starts; it cannot be stopped.
So, of course, I didn't seek a diagnosis- despite having many ADHD markers.
Reagent testing [1]. Dance Safe sells a kit that would last a heavy drug user years [2]. It's not fool-proof by any means and it does require some practice when reactions overlap. Ketamine is a relative easy one to test for though, since most of the reagents should not produce a visible reaction.
Black SWE here as well, highly disagree with this. If Microsoft/Github wanted to issue "a useful reminder of the implicit bias that contributes to the lack of diversity in tech", they could've founded an non-profit dedicated to training and job placement for BIPOC and underrepresented white women, they could've kept a continuous banner on their site that linked to relevant legislation, initiatives, causes, etc.
They changed the goddamned name of the master branch.
You're gonna have to explain to me how changing that name makes much more significant headway than any initative I enumerated above or adjacently related. There's a lot of heavy lifting being done by "a useful reminder".
I mean, you or I don't need reminders, that's what the article is about. As for the rest of the tech industry, its a crapshoot to even suggest even half would be moved by changing the name of the branch nevermind possibly not caring at all about the greater issue for whatever reason.
The FTA is about continuous action that requires investment, you're applauding cheap, low-effort PR moves. This country, and you and I, deserve better than what amounts to yet another TikTok affirmation, and it's difficult to discern tangible value for actual Black people that someone somewhere thought to themselves as they typed 'git checkout main', "Ah, yes, let me reconsider the web of power-relations I'm enmeshed in".
> So, next time you are annoyed that you have to fix a script or you accidentally type master when you needed to type main, please just take a deep breath, change the name, and remember to reflect upon whether you have are subconscious habits or biases that work against diversity in tech.
There is no amount of reflection that is ever going to substitute the actual presence of Black folk in the tech workforce, and thinking we'll over come this waiting on some kind of ethical consensus that eventually leads to a beneficial outcome is not reflected by history, see Civil Rights legislation.
Suggesting you're surreptisously altering behavior via minor language changes is just "spooky action at a distance" come alive. It lends the sense that someone is "effecting" outcomes without actually having to be accountable for actual outcomes occuring.
The "postmodernists" (in quotes cause it tells you nothing, more accurate would be to call them postmarxist) developed something resembling this (predominantly American) language theory, though much broader in scope, looking at documents from the 19th, 18th, and early 20th century when there was a small elite regulating knowledge, language, and education. (the official language academies of France, Spain, early communities of biologists, crimonologists etc). Those conditions simply aren't the case today precisely owing to mass communication.
All this that is accomplished by this (IMO as a former philosophy academic) complete bastardization of so-called "postmodern" language theory is a new out/game for standing institutions to play. The FTA points out how Microsoft is changing the name of master with their right hand, but supplying facial recognition software to police to identify protesters and mistake Black folk for Gorillas with their left hand.
I want to share my own reactions to the name change since this is a really interesting topic. For context, I'm an African American, so many of my ancestors were slaves.
- The first time it occurred to me that "master" in this context could offend anyone was when GitHub changed the name (and broke my workflow).
- My immediate reaction was, "this change is by white people for white people," where "white" means anyone who isn't black.
- My next reaction was, "they may be changing the name for the wrong reasons, but the change is brilliant."
Let me explain a little more. Whether motivated purely by virtue signaling or by more genuine intentions, changing the name doesn't fix any of the problems that black people face. The article explains this well.
What's powerful about this name change is that it pushes us to alter a habit, in my case one embedded deeply in my fingers, something that I do every day without realizing that I'm doing it. Thus it is a useful reminder of the implicit bias that contributes to the lack of diversity in tech. Never mind that the old name was harmless, the change brings repeated awareness to an important topic, and it reaches a the developer community in a targeted way.
So, next time you are annoyed that you have to fix a script or you accidentally type master when you needed to type main, please just take a deep breath, change the name, and remember to reflect upon whether you have are subconscious habits or biases that work against diversity in tech.
As another black SWE, I'll add that I disagree with your perspective. I think the name change does more harm than good because it trivializes the movement. If the goal is to change minds and open hearts then where appropriate, we should endeavor to communicate in ways that will be well received by those who need to hear the message. Stuff like this is just preaching to the choir and alienating the rest, but also not actually changing anything that matters in the lives of black people.
Not sure if I'm 100% won over, but it makes some good points, particularly the section about JSON. Using TypeScript at work, one of the most painful (yet quite common) things is dealing with foreign JSON from an API, which is sometimes just... wrong. And then all our carefully-typed code falls to pieces.
The argument is that in a language like Clojure you can skip pretending to make guarantees about messy external data, and trade that for simple and elegant traversal code. Probably this is why dynamic languages tend to gravitate towards "glue code" use cases while static types gravitate towards insulated systems with minimal surface area to the outside world (compilers, anyone?).
How to optimise front end apps? Don't use pure javascript based frontend. Do all normal crud apps on regular server side code. Eg. A normal rails CRUD app is much faster even with the intermediate page loads factored in, than a heavy react app with a spinner to make it appear fast. Want to give the feel of a JS app? Use turbolinks. Really want to use something fancy and dynamically update your content from the server? Use something like Phonix Liveview. I love VueJS and React. But these days I've switched to using Liveview so much that I don't miss them at all. The benefits are also huge. Near instant updates with very little server load (scalable) and ultra-light frontend. Win win win.
He turns 40 on February 5 (at least according to https://en.wikipedia.org/wiki/Brad_Fitzpatrick ). I wonder if that was a factor in his decision. He could predict his path at Google and wants to chart his own course again.
from his update:
"When I first joined Google it was a chaotic first couple years while I learned Google's internal codebase, build system, a bunch of new languages, Borg, Bigtable, etc. Then I joined Android it was fun/learning chaos again. Go was the same when I joined and it was a new, fast-moving experiment. Now Go is very popular, stable and, while there's a lot to do, things--often necessarily--move pretty slowly. Moving slowly is fine, and hyper-specializing in small corners of Go makes sense at scale (few percent improvements add up!), but I want to build something new again.
I don't want to get stuck in a comfortable rut. (And Google certainly is comfortable, except for open floor plans.)
What next?
If you're thinking about self-hosting anything, my first recommendation is to get your backups in order now, before doing anything else. I wrote this a while back: <https://photostructure.com/faq/how-do-i-safely-store-files/>. Having a full, offline backup will only cost ~$20/TiB nowadays, which is cheap insurance if whatever app you try out doesn't quite behave as you expected it to.
The second step is to make sure your server is both hardened (<https://forum.photostructure.com/t/server-hardening-for-begi...>), and ideally, only available via a VPN (like TailScale) or at least via a reverse proxy (Cloudflare has a free solution). I compared and contrasted some of these solutions (along with instructions) here: <https://photostructure.com/faq/remote-access/#accessing-your...>
The situation for self-hosting your photos just a couple years ago was pretty bleak--especially if you had hundreds of thousands (or more!) of photos. That may sound like a lot of photos, but for people shooting digital for 20+ years, it really isn't!
Whatever image manager you pick, make sure the app follows existing metadata storage standards, so in the (seemingly inevitable) future when the app is abandoned, your photos are in directory structures that make sense to you, and the work you've put into organizing them isn't locked up in unreadable databases or folder structures.
Spoiler alert: I got burned by this issue with prior apps, so I designed PhotoStructure from the ground up with exactly this in mind: <https://photostructure.com/faq/why-photostructure/#open-stan...>. Unfortunately, many/most self-hosted solutions don't handle multiple source directories and configurable destination directories.