My first programming job was writing Delphi code. Their documentation was excellent. All of the documentation I've used since then has been sad and disappointing.
There needs to be a balance. I don't block ads on sites that respect me enough not to drown out the main content with ads. However, I always block sites that have excessive ads or use pop-ups. On a side note, whoever invented pop-up ads should be sentenced to life in prison on a diet of pickled beets and prune juice.
It looks great. I would suggest changing the kanji next to the label "Kanji" to 字 instead of 出, though. 字 is the second character in the word 漢字 (kanji) and means "character." I would also suggest changing the kanji next to the "Vocabulary" label from 言 to 語. 語 is the second character in the word 単語 (tango) and means "word." The あ next to the "Kana" label is perfect.
出 means "to go out or exit" and doesn't have anything to do with learning Kanji.
言 means "to say" and is only tangentially related to learning vocabulary.
To me, "full self driving" means you can hop in the back seat and have a nap. If you have to keep your hands near the wheel and maintain attention to the road then... shrugs not really the same. IMHO we're in the "uncanny valley" of vehicular automation.
I would add that "full self-driving" also means that the car company or the self-driving development company holds all liability in a car accident that the owner has none. Even Tesla right now states that the owner holds the liability in any accident. [0]
There are no proper retention laws with car manufacturers and self-driving development companies that I know of.
everything a layman would call "AI" is in the "uncanny valley" at the moment!
- Boston Dynamics' Atlas does not move as gracefully as a human
- LLM writing and code is oh-so-easy to spot
- the output of diffusion models is indistinguishable from a photo... until you look at it for longer than 5 seconds and decide to zoom in because "something's wrong"
Maybe it's because we get use to it and therefore recognize it easier, but it does seem to get more and more recognizable instead of the opposite, doesn't it?
I think I could recognize a ChatGPT email way easier in 2025 than if you showed me the same email written by gpt-3.5.
I prefer Elixir's syntax over Gleam's, but my main issue with Gleam is architectural. Specifically, Gleam had to bastardize BEAM and OTP to implement static typing. To me, static typing vs. dynamic typing is like having a shelf with a doily vs. one without a doily (the shelf works fine either way), so messing up a solid Actor Model implementation, for instance, for the sake of static typing seems like the wrong thing to do.
It has been a while since I looked at Gleam. Some things may have changed. However, the last time I used Gleam, I was forced to switch back to Elixir because Gleam:
• Lacks support for named processes.
• Has limited actor abstractions.
• Doesn't support OTP system messages.
• Has implemented supervisors in a way that can lead to improper shutdowns, data loss, and deviations from the expected BEAM behavior.
• Doesn't support pattern matching directly in function definitions. Instead, it requires you to use case statements.
• Doesn't support global mutable variables because it has no way to track variable types and state changes when BEAM modifies these variables, which is one of the hallmark features of BEAM.
• Doesn't support hot code reloading.
All of these features, which are readily available in Erlang and Elixir, are far more important to me than static typing. I've used statically typed languages like C, C++, C#, and Java, and dynamically typed languages like Python, Ruby, and Elixir throughout my 30+ years career. I've never once lamented not having static types, nor have I ever jumped for joy when I do. For me, static vs. dynamic typing is largely irrelevant and doesn't affect my work one way or the other.
I'm curious to know what the parent meant, as well. My understanding, which is incomplete admittedly, is that Gleam's type system lives in Gleam and isn't carried over into the produced Erlang/BEAM code, since BEAM has no concept of types, etc.
Gleam also has an OTP implementation[1] available, which includes Actors and the like. My understanding is that every BEAM language must implement OTP themselves, so there's nothing unusual here.
In some ways, porn is more damaging, isn't it? For example, there's a lot of sex trafficking going on in the porn industry, but not so much in the censorship industry.
I strongly oppose censorship and believe that payment processors and banks should be prohibited from engaging in it. Still, I have to admit that porn can be extremely destructive.
> there's a lot of sex trafficking going on in the porn industry, but not so much in the censorship industry
[citation needed]
I'll grant that there is sex trafficking going on at least in the fringes of the porn industry - but that's at least in part because of censorship. If porn production was widely legal and appropriately regulated, there'd be significantly less market for the edgy stuff filmed in Eastern European basements (i.e. the exact same argument as for marijuana legalisation).
There are also a bunch of regimes around the world who love censorship, and also engage in a bunch of human trafficking. For example, the UAE is notorious for both widespread censorship, and an entire class of foreign workers in various forms of indentured servitude (which for women is often prostitution)...
I'm not clear that any of those run contrary to what I said?
Regulation and enforcement thereof is obviously a necessary part of ensuring that porn producers are operating legally/safely, and if porn production were more widely legal/regulated then these fly-by-night trafficking operations wouldn't thrive
There's no evidence in actual psychological literature that porn is harmful to people beyond making some religious folks feel a little more shame than normal. Porn addiction isn't an actual psychological condition.
I question the bit about sex trafficking. From my perspective a lot of consenting adults are making a lot of money by willingly participating in the industry. If someone is abusing that and forcing someone to participate, that's already a crime that should be prosecuted. It's not an excuse to shut down commerce between consenting adults.
Elixir and Erlang outperform Go when under sustained load, so it may not be necessary to write a GenServer in Swift to achieve Go's performance.
The top four areas where I've seen Elixir and Erlang outshine Go are concurrent workloads, memory management, fault-tolerance, and distributed systems.
It depends what you are doing doesn't it. Maybe with Nx, Axon and EXLA most of the concerns are no longer an issue. However, there will always be some cases where doing things in lower level, mutable languages is faster.
I switched from Obsidian to Logseq because Logseq has better block-level support, better embedded image previews, and more functionality out of the box without having to rely on plugins
Why not Notion or Joplin? I like Logseq's outline format better than Joplin's long-form note taking format, and I just don't like Notion at all for purely subjective reasons.