I've got a prompt I've been using, that I adapted from someone here (thanks to whoever they are, it's been incredibly useful), that explicitly tells it to stop praising me. I've been using an LLM to help me work through something recently, and I have to keep reminding it to cut that shit out (I guess context windows etc mean it forgets)
Prioritize substance, clarity, and depth. Challenge all my proposals, designs, and conclusions as hypotheses to be tested. Sharpen follow-up questions for precision, surfacing hidden assumptions, trade offs, and failure modes early. Default to terse, logically structured, information-dense responses unless detailed exploration is required. Skip unnecessary praise unless grounded in evidence. Explicitly acknowledge uncertainty when applicable. Always propose at least one alternative framing. Accept critical debate as normal and preferred. Treat all factual claims as provisional unless cited or clearly justified. Cite when appropriate. Acknowledge when claims rely on inference or incomplete information. Favor accuracy over sounding certain. When citing, please tell me in-situ, including reference links. Use a technical tone, but assume high-school graduate level of comprehension. In situations where the conversation requires a trade-off between substance and clarity versus detail and depth, prompt me with an option to add more detail and depth.
I got it pretty early in my career that loyalty for a company is concept to make you work harder without asking anything in return. And the moment the company shifts focus and you are out of it, then suddenly you understand that this loyalty wasn't kind of a credits account which you've been saving all this time. It's simply nothing. You are on your own and can fuck off.
So there's simply no place for loyalty in employer-employee relationships. One side pays money or whatever, the other is delivering the job being done. That's all.
Not sure whether or not this is a little-known feature. iTerm2 has _fantastic_ integration with tmux (software used for persisting a terminal session across multiple logins).
Tmux can be a pretty complex piece of software, but iTerm can basically wrap it all up into a nice package. You don't need to know anything at all about tmux to use iTerm's tmux integration.
If you're SSHed into a server that has tmux installed, try running `tmux -CC` on the server. It'll pop up a new window that looks and feels just like it's running natively (complete with tab support), except it's all tunneled over SSH.
And if you disconnect, you can just reconnect later and your windows will all come back in the same state as when you left them.
I use this one-liner to SSH into a server and reconnect (or start) a tmux session:
iTerm2's tmux integration makes SSH access to remote machines feel almost as native as using your machine locally. It's really a killer feature, and it made iTerm2 worth a donation for me.
>> caring about the results of our actions but having no meaningful control over those outcomes
This really dies sum it up in a useful generic way. Ultimately the balance of this sentence will differ from context to context, but the equation ultimately has to balance.
Put another way, if you care a lot, but have no agency, then ultimately you will be frustrated.
If you care a lot, but have no resources, then again, you get frustrated.
Burnout is just the moment whe you stop fruitlessly caring. But you -want- to care (about something) so not-caring leads to depression.
Matching your care to resources available is a good start. Make sure you care about something that can be materially affected by your resources. Feeling under-resourced is a sign that those allocating the resources have different goals to you.
If your care exceeds your agency in resources product direction, code quality, then you can choose to care less, (find something else to care about), align your caring to match those who do have agency, or move on.
Starting your own business gives you agency, so you're free to allocate resources as you choose. However you still need to aquire those resources (which in turn can change what you care about.)
Starting and running your own business is enormously freeing - it gives you complete agency. But its also HARD. People don't pay you for what -you- care about, they pay you for what -they- care about. Its very hard to find customers who appreciate your priorities, and it's also hard to adjust your priorities (aka what you care -about-) to match theirs.
People will tell you to take a break or find a hobby - but you may be like me and have to build stuff all the time - so they're not really viable options.
I burnt out in 2001/2 - it took a while to get over it - here are some things that stopped it happening again:
- Don't stress about issues out of your control
- Don't self-medicate with alcohol etc.
- Eat something healthy for everything unhealthy (I now bake a lot of sourdough bread and cure meats which is a hobby I guess)
- Get some exercise, even if it's just 15 mins walk
- Buy the best bed and covers you can afford - and try to get 7h sleep
(it took me 15 years to work these things out for myself)
Easy answer: the extra time spent every day helping my daughter with her homework. This has paid off enormously. Not because she's a grade-A student (far from it; she has a lot of difficulty). But because I've been able to consistently, calmly teach her the following skills that I'm now starting to see her pick up:
1. Everything looks difficult the first time. The hardest step is always the first one. Take a deep breath and just "begin".
2. Never give up. Even impossible tasks are just lots of easy, smaller tasks. Learn to break things down into manageable pieces.
3. When in a time crunch (e.g. a test), learning to triage is a very important skill. Don't get stuck. Just skip and move on. Come back later. Learn to prioritize, etc.
4. Don't be scared. Everyone gets it wrong sometimes. You'll never succeed if your too afraid to fail.
5. Trust your gut. If something seems wrong, then it very well may be. Don't just accept someone else's answer because you don't happen to know the answer.
6. Always verify your answers. Don't just finish a problem and assume it's right. And learn to verify the answers of others as well.
Finally, never ever ever say "I'm not good at that." Say "I'm not good at that YET!" That little difference over time is reminding yourself that you could learn/do it if you wanted, you just haven't learned to yet.
The classes of complexity of interest here are P, NP, BPP, and BQP.
— P corresponds to the problems that can be solved by a classical computer (deterministic Turing machine) in polynomial time. For example finding a shortest path between nodes in a graph is in this complexity class.
— NP corresponds to the problems where “verifying a solution” is in P. In other words, it's “easy” to check if a solution is actually valid. We know that P ⊆ NP which means that when it's easy to find a solution, it's also easy to check that a solution is valid (but we don't know if the opposite is true). This class contains interesting problems such as prime factorization on which all the current Web's security depends. It's easy to check if a factorization is valid, but it's hypothesized that it's hard to actually find it. Now the interesting part is that we're not sure it's actually true, so the security house of cards might actually tumble at some point (if it hasn't already secretly).
— BPP contains all the problems that you can solve in polynomial time (so like P) but with a chance of less than 1/3 of being incorrect! In practice, we run the algorithm several times to reduce the probability of being wrong to less than 2^(−ck) (c is a positive constant, k is the number of times it's run).
— BQP is probably the most interesting class here. It's just like BPP but on a quantum computer. Now the interesting part is that we don't know (yet) an efficient way of finding the prime factorization on a classical computer. But on a quantum computer, we have the infamous Shor's algorithm which can solve this problem in polynomial time with a bounded error!
The current knowledge about complexity classes is that P ⊆ BPP ⊆ BQP. We don't know how NP and BQP relate to each other.
What does this mean? We don't know if quantum computers can solve harder problems theoretically. But they seem to do sometimes in practice to the best of our knowledge. Coming back to the Shor's algorithm example, we don't know any classical algorithm that can solve the prime factorization problem as efficiently. But this doesn't mean that such an algorithm doesn't exist!
Now you might think that all of this is only theoretical considerations that only mathematicians care about. After all, we don't care if theoretically there might exist efficient classical algorithms for supposedly hard problems if we don't find them anyway right? This is a valid observation. If big enough quantum computers become a reality one day, we'll be able to solve some hard problems right away. However in the meantime, we might totally find efficient classical algorithms making quantum computers less useful. Actually, it has already happened last year[1]! A recommendation problem that we thought was intractable by classical means (but easy to solve with quantum computers) turned out to be solvable more easily than expected by a classical computer. This classical algorithm draws inspiration from quantum algorithms however. So if anything, quantum computing will force us to look at problems from another perspective and solve them in novel ways.
Something interesting you want to read. Items in this category should be automatically removed after a certain period of time, so it doesn't get out of hand. New RSS feed items would also fit into this category.
2) Save-for-later
Something you're sure will be useful down the road. This should be retrieved first and foremost using a powerful full-text search engine. Minimal tagging can also be very helpful. Lastly, it's critical these items are archived by the bookmark manager so you always have the content even if the website shuts down.
3) Todo
Something you need to take action on. For example, buy this product, try this new open-source library, install an app, etc. These should have optional reminders to alert you at a certain day or time.
Currently my system is a terrible mess: I email myself for read-later and todo but put save-for-later in Pocket. This is very frustrating because there's tons of bookmark manager options but none support all 3 types, most have terrible search, are slow, and don't have full-text search or archival.
So last year I started building what's going to be the Superhuman of Bookmark Managers:
It will be 100% open-source and available as a hosted service.
I'm focusing on the fundamentals: speed, performance, robustness. I'm using PouchDB, so all your data is 100% offline which makes it very, very fast. Of course, it'll support all 3 bookmark types, have full-text search and archival. It'll run on all browsers and platforms, including mobile apps built in react-native. It's UI is going to be fun, geeky, and beautiful sci-fi with multiple light/dark color themes.
If this sounds interesting, sign-up on the site — I'd love to chat with you about this.
> I was SUPER skeptical about the chat widget. I personally found them annoying, overbearing and could not imagine them working for customer support or sales.
> Boy was I wrong. As in completely, utterly, totally wrong.
I've found a chat widget really helpful for my own product (https://www.checkbot.io/) - I find the reduced lag of the chat format means problems get resolved quicker on both ends and the style of replying (e.g. maybe 16 short messages back and forth with chat via 4 longer ones with email) results in you getting more information and making more of a connection with your users.
I use the free tier of https://crisp.chat but most of them are fairly similar for basic usage. I would say avoid using one that has that annoying "Hey! You! How can I help?" automatic pop-up feature though.