"Trauma" is a very bad name because it sounds violent and extreme, so you can easily think it doesn't apply to you. In actual fact, it can be caused by something as routine as "sleep training" where infants are left to cry themselves to sleep, or being snapped at for expressing emotion, all before the age of 5. The years before 5 are foundational, but you usually no not have memories earlier than 5 so it's very hard to say definitely what happened especially when causes for trauma are relatively routine.
You need a trusted therapist to guide you into exposing what the subconscious mind is holding onto from infancy. It is subtle, deep, difficult, rewarding work. But I do think people discount trauma because it sounds scarier than "someone snapped at me in frustration as an infant for expressing some emotion and I learned to disconnect from myself."
The honest way to handle this, which hopefully your therapist does, is not to claim that you can magically retrieve perfect memories from before 5 because you thought about it hard. What matters is what your impression is of what happened and what messages your subconscious is sending you. Whether or not it literally happened isn't that important and it's impossible to know.
The therapeutic relief comes simply from listening to your gut/subconscious and feeling the emotions that that brings up. Being a loving friend and parent to that part of yourself. You can do that effectively without pretending that you can know if the impressions are literally true or if that message your getting is simply the best way for it to express the emotions it's holding onto.
Again, you can maintain your integrity while being empathic and loving and listening to the message.
You are advocating for some controversial positions in psychology, without naming them – something roughly along the lines of Gabor Maté, "inner child work", reparenting, "Internal Family Systems", etc
Many psychologists who belong to different schools of thought – e.g. CBT, positive psychology – don't agree those practices are helpful and don't agree with their theoretical underpinnings
There is a lack of high quality empirical evidence for both the safety and efficacy of the kinds of practices you advocate, and also for the theories which motivate them. By contrast, more mainstream approaches such as CBT have significantly better empirical support
A big reason the initial plan isn't guaranteed to be optimal, even with all the right indexes, is that table statistics aren't perfect. For example, you might track a column's correlation (how closely the column's logical ordering matches its physical ordering in the heap), but that won't be broken down at a per value level. Postal code X might be very correlated, while postal code Y that is used in your query is completely uncorrelated.
The ideal solution is to pick one plan initially, and then update a temporary query-specific statistic model based on the data you actually read while executing the query. Then periodically re-evaluate if an alternative plan would be faster, switching to it in a way that doesn't throw away the current partial result.
Of course switching plans mid flight is very complicated, but Oracle and SQL server both support this feature, so hopefully it lands in Postgres at some point.
It's been quite helpful when your project needs expertise from other people, and you want them to vet your approach and find gaps. Doing the up-front work of explaining the context and structuring the project in an easy to understand way makes it more likely for busy people to engage with it and help you out. Of course, it's helpful as a rubber-duck exercise on its own, so I would err on creating one, even if just for myself, for anything high-risk or hard to change later.
That's fine, but rate limiting is a solved problem at this point. They need to rate-limit free accounts and be realistic about their limits instead of letting the system fail.
Free (and non-free) accounts are already rate limited. The likely problem is that individual accounts/repos rarely hit those limits, instead the explosive demand is due to a massive growth in the number of small, individual projects being creatd.
This is the core of the issue. We don’t actually want all viewpoints represented because that wouldn’t by itself produce any value.
You want someone to come up with the fundamental theorems of Calculus, linking the area of a curve with its anti-derivative, because that’s incredibly useful. Generically grabbing everyone’s view isn’t a competitive strategy. You need to be selective on things that are intrinsically useful and promote that.
> When I watch a movie, I don't care about the artist's life. I care about character life, that's very different.
It may seem like this, but up to now, you haven't been able to divorce a story from its creator because every story has an author, whether it's a novel like Harry Potter or a movie that has a writer and director. When you're experiencing the story, in the back of your mind, you always know that there is someone who created the story to tell you some kind of message. And so you can't experience something like a movie without trying to figure out what the actual message behind the movie was. It is always the implicit message behind the story that makes it valuable versus just the elements of the story.
The story has more weight because it is the distillation of somebody else's life and most likely, if it's a successful story or book, it is the most important lesson from that person's life and that's what makes it more valuable compared to the random generation of words from a computer.
The food analogy is that a cookie baked and given to you by a friend is going to taste far better than anything you buy in a store.
> you can't experience something like a movie without trying to figure out what the actual message behind the movie was
I believe you that your brain works like that but this is absolutely not how mine works. I care if i enjoy the movie, and if the characters are believable, i absolutely do not care what the message is supposed to be.
"When you're experiencing the story, in the back of your mind, you always know that there is someone who created the story to tell you some kind of message."
Only in as much as their product is a pure commodity like oil. Like yes it’s trivial to get customers if you sell gas for half the price, but I don’t think LLMs are that simple right now. ChatGPT has a particular voice that is different from Gemini and Grok.
For reasons I don't think I understand, using the functions is "discouraged" because "someone might muck with how those functions work" and the python world, in it's perfect wisdom responded "Oh of course" instead of "That's so damn stupid, don't do that because it would be surprising to people who expect built in functions to do built in logic"
Yes but they are not equivalent. dict and list are factories; {} and [] are reified when the code is touched and then never reinitialised again. This catches out beginners and LLMs alike:
They are equivalent. In function signatures (what your article is talking about), using dict() instead of {} will have the same effect. The only difference is that {} is a literal of an empty dict, and dict is a name bound to the builtin dict class. So you can reassign dict, but not {}, and if you use dict() instead of {}, then you have a name lookup before a call, so {} is a little more efficient.
I wrote the link and yes it does. Module evaluations reify {}, [], etc. once. That is why people keep making subtle bugs when they do `def foo(a=[]):` unaware that this will in fact not give you a brand new list on every function call.
Factory functions like list/tuple/set are function calls and are executed and avoid this problem. Hence why professional python devs default to `None` and check for that and _then_ initialise the list internally in the function body.
Adding {/} as empty set is great, sure; but that again is just another reified instance and the opposite of set() the function.
There is no difference between “def f(x={})” and “def f(x=dict())”, unless you have shadowed the dict builtin. They both have exactly the same subtle bug if you are mutating or return x later.
> to see if the serial numbers are out of circulation.
Cash cannot be invalidated like this. It would ruin the value of all cash since you could no longer trust cash from anyone. Only damaged notes are taken out and replaced by the government.
This is something you see in movies. Cash is by nature not traceable, so invalidating notes after issue would make it impossible to trust any cash transaction.
Race conditions are generally solved with algorithms, not the language. For example, defining a total ordering on locks and only acquiring locks in that order to prevent deadlock.
I guess there there are language features like co-routines/co-operative multi-tasking that make certain algorithms possible, but nothing about Java prevents implementing sound concurrency algorithms in general.
Exactly, this thread is full of ignorant comments. I was talking about a certain class of race conditions that can be completely prevented in some languages, like Rust (through its aliasing rules that just make it impossible to mutate things from different threads simultaneously, among other things) and languages like Pony, for example, as the language uses the Actor model for concurrency, which means it has no locks at all (it doesn't need them), though I mentioned Dart because Dart Isolates look a lot like Actors (they are single-threaded but can send messages and receive messages from other "actors", similarly to JS workers).
In Java, racing a field is safe - you can only ever observe the value as one that was explicitly set by a thread, no tearing can happen. Safe data races can happen in Java, but you sometimes do want that (e.g. efficient concurrent algorithms), and avoiding it is not particularly hard (synchronized blocks are not the state of the art, but does make it easy to solve a problem).
Pony and Rust are both very interesting languages, but it is absolutely trivial to re-introduce locks with actors, even just accidentally, and then you are back at square 1. This is what you have to understand, their fundamental model has a one-to-one mapping to "traditional" multi-threading with locks. The same way you can't avoid the Turing model's gotchas, actors and stuff won't fundamentally change the landscape either.
(This was not written by some nobody, he does know what he talks about.)
Contrast this elegant simplicity with the many pitfalls of locks:
Data races. Like forgetting to hold a lock when accessing a certain piece of data. And other flavors of data races, such as holding the wrong lock when accessing a certain piece of data. Not only do these issues not exist, but the solution is not to add countless annotations associating locks with the data they protect; instead, you declare the scope of atomicity, and the rest is automatic.
Reentrancy. Locks don’t compose. Reentrancy and true recursive acquires are blurred together. If a locked region expects reentrancy, usually due to planned recursion, life is good; if it doesn’t, life is bad. This often manifests as virtual calls that reenter the calling subsystem while invariants remain broken due to a partial state transition. At that point, you’re hosed.
Performance. The tension between fine-grained locking (better scalability) versus coarse-grained locking (simplicity and superior performance due to fewer lock acquire/release calls) is ever-present. This tension tugs on the cords of correctness, because if a lock is not held for long enough, other threads may be able to access data while invariants are still broken. Scalability pulls you to engage in a delicate tip-toe right up to the edge of the cliff.
Deadlocks. This one needs no explanation.
But STM doesn't solve e.g. deadlocks - there are automatisms that can detect them and choose a different retry mechanism to deal with them (see the linked article), but my general point you really want to ignore is that none of these are silver bullets.
Not sure what you mean!? Locks, at their core, are not implemented by languages. They’re feature of a task runtime e.g. Postgres advisory locks or kernel locks in a Posix OS.
You need a trusted therapist to guide you into exposing what the subconscious mind is holding onto from infancy. It is subtle, deep, difficult, rewarding work. But I do think people discount trauma because it sounds scarier than "someone snapped at me in frustration as an infant for expressing some emotion and I learned to disconnect from myself."