I generally download from https://rutracker.org/ (need an account to search not for downloading). They have pretty much everything that you can imagine (not just films) and in proper quality too (BD Remuxes etc). There will be no scene releases here because they add russian/ukrainian dubs and subs to almost all films but that's a small problem.
The other one is Heartive which lists torrents from the DHT network with Magnet links https://heartiveloves.pages.dev/ You just click on the torrent icon in the middle top of the selected film and all the available releases will be listed in plain text. The only downside that you need to be familiar with the release tags
Last but not least https://nyaa.si/ if you have a slight interest in anything japanese from manga to anime to much more
Not necessarily nuclear (since chemical and industrial accidents are much, muhc more likely), but highly recommended if you're interested in such incidents and their causes.
There are many YouTube channels walking through cities as the movement and sound add more to the atmosphere than street-view like experiences. I also happen to cover Prague many times like [1] in 2020 without many tourists.
One thing I started a few years is multicam walks. This means that I carry some 4-6 Osmo Pockets to actually film in several directions simultaneaously - example: Dresden [2].
The editing process is taking multiple hours so I have hundreds of unreleased recordings. If someone has a hint on AI assisted multicam editing, where to start (like better gaze prediction etc. from VR) I'd be interested - especially feeding all camera streams and let a NN decide the best camera angle and cuts to be between 4-11s?
1. whenever you see strncpy(), there's a bug in the code. Nobody remembers if the `n` includes the terminating 0 or nor. I implemented it, and I never remember. I always have to look it up. Don't trust your memory on it. Same goes for all the `n` string functions.
2. be aware of all the C string functions that do strlen. Only do strlen once. Then use memcmp, memcpy, memchr.
3. assign strlen result to a const variable.
4. for performance, use a temporary array on the stack rather than malloc. Have it fail over to malloc if it isn't long enough. You'd be amazed how this speeds things up. Use a shorter array length for debug builds, so your tests are sure to trip the fail over.
5. remove all hard-coded string length maximums
6. make sure size_t is used for all string lengths
7. disassemble the string handling code you're proud of after it compiles. You'll learn a lot about how to write better string code that way
8. I've found subtle errors in online documentation of the string functions. Never use them. Use the C Standard. Especially for the `n` string functions.
9. If you're doing 32 bit code and dealing with user input, be wary of length overflows.
10. check again to ensure your created string is 0 terminated
11. check again to ensure adding the terminating 0 does not overflow the buffer
12. don't forget to check for a NULL pointer
13. ensure all variables are initialized before using them
14. minimize the lifetime of each variable
15. do not recycle variables - give each temporary its own name. Try to make these temporaries const, refactor if that'll enable it to be const.
16. watch out for `char` being either signed or unsigned
17. I structure loops so the condition is <. Avoid using <=, as odds are high that'll will result in a fencepost error
That's all off the top of my head. Hope it's useful for you!
This always comes up in discussions about APL, J, and K.
Have you ever tried reading Euclid's "The Elements"? It's all prose and appreciably less clear than the modern algebraic formulations. Of course, that's only because we're all already familiar with the algebra, but once you know both notations, the terse symbolic one is an obvious win on readability and clarity.
And it's just not that hard to learn some tens of symbols. In practice, languages like Rust and whatnot require you to learn orders of magnitude more words, which require you to learn new mental models to understand what the mnemonic names mean anyway. The "readability" is really just smoke and mirrors, IMHO.
Once you know APL or K, then clusters of "unreadable" symbols become immediately recognizable and, frankly, stupidly straightforward. And to top it off, instead of some opaque identifier, the "name" in APL is usually the entire implementation! That empowers you to make variations as needed, reason about performance, and observe meta-patterns between names. Those are higher-level cognitive tasks that the symbols make much more legible than is possible with "readable names" everywhere.
In our software development industry, the word "readability" is mostly just code for "familiarity to me".
Next time you find yourself reverse engineering a weird protocol - use ImHex. You can literally define patterns (in a C++ / Rust -like language) so that your binary file gets highlighted and processed.
I can't recommend it enough - it's perfect for the job and it's free and Open Source.
I haven't read that one yet, but "Algorithms + Data Structures = Programs" is just an absolutely beautiful gem of a book. It embodies his principles of simplicity and clarity. Even though it's outdated in many places, I adored reading it.
- Art of Computer Programming vols 1, 2, 3, 4A, 4B (editions 3,3,2,1,1) (collectively, "TAOCP") (by Knuth)
- Algorithms (by Erickson) [CC-BY-4.0]
- Algorithms (by Sedgewick & Wayne)
- Introduction to Algorithms (4th ed.) ("CLRS") (by Cormen et al.)
- How to Design Programs (by Felleisen et al.) - crossover between basic programming advice, functional programming, and some limited/basic algorithms coverage [CC-BY-NC-ND-4.0]
- Pearls of Functional Algorithm Design (by Bird)
- Purely Functional Data Structures (by Okasaki)
Publishers? Pragmatic Bookshelf, or O'Reilly (not oreilly.com-selling-Packt). Find what everyone is using as a learning/reference resource for a specific topic and use that, regardless of publisher; it's rarely if ever Packt.
## ospeak --help
<!-- [[[cog
import cog
from ospeak import cli
from click.testing import CliRunner
runner = CliRunner()
result = runner.invoke(cli.cli, ["--help"])
help = result.output.replace("Usage: cli", "Usage: ospeak")
cog.out(
"```\n{}\n```".format(help)
)
]]] -->
```
Usage: ospeak [OPTIONS] [TEXT]
CLI tool for running text through OpenAI Text to speech
Set the OPENAI_API_KEY environment variable to your OpenAI API key to avoid
using the --token option every time.
Example usage:
ospeak "Everyone deserves a pelican" --voice alloy -x 1.5
Options:
--version Show the version and exit.
-v, --voice [alloy|echo|fable|onyx|nova|shimmer|all]
Voice to use
-o, --output FILE Save audio to this file on disk
-x, --speed FLOAT RANGE Speed of the voice [0.25<=x<=4.0]
-s, --speak Speak the text even when saving to a file
--token TEXT OpenAI API key
--help Show this message and exit.
```
<!-- [[[end]]] -->
I can now run "cog -r README.md" any time I want to update that block of text in the README.
That way my tests will fail if I make a change to the help and forget to update the README.
I like reflecting my help output in my documentation mainly because it's a useful way to review if the help makes sense without having to actually run the command.
I maintain these much larger pages using Cog in a similar way:
The word "training" implies creating a new model by fine-tuning an existing model on top of new documents.
As several other comments in this thread have already indicated: this is almost always the wrong direction. Which is confusing because it's the direction everyone always assumes they should go in at first.
The approaches that does work is surprisingly simple: take the user's question, search for snippets of your documents that appear to be about that question, then paste all of those snippets into the prompt along with the user's question and see what answer you get.
This is known as RAG: Retrieval Augmented Generation. It's a very powerful approach.
This has just been my experience with RSI (now recovered), so please take it with a grain of salt.
I used to have debilitating RSI when typing. I tried everything and it just got worse over time. Stretches. Typing a certain way. Taking breaks etc. My wrist would become locked after 10 minutes of typing and stay that way for the rest of the day.
I then read a book claiming that all pain is just based on expectation, so if you think it'll be painful it'll be painful, and get worse overtime as the expectation reinforces.
Quite literally within the space of 5 minutes, it all went away. All gone. That was around 8 years ago and I've not had it since. Doesn't matter how long I type, in what position etc. Doesn't affect me at all.
As per Acceptance and Commitment therapy (not the book, something I discovered much later) this can be defined as "the solution is the problem". When you focus on the solution, it defines itself as the problem and it simply becomes worse (think for example, someone who's overweight so eats to make themselves feel better, thereby becoming more overweight and the cycle repeating itself etc.)
Interestingly, the only time my wrist gets sore is when I get really stressed. So I think there's some merit to it being a response from the brain.
I think a large part of it has to do with the eastern idea of letting go. The basic idea is that suffering is a result of holding on too tightly, as opposed to observing intently. Once you observe, the suffering goes away.
As per PG: “It turns out almost any word or word pair that is not an obviously bad name is a sufficiently good one, and the number of such domains is so large that you can find plenty that are cheap or even untaken. So make a list and try to buy some. That's what Stripe did. (Their search also turned up parse.com, which their friends at Parse took.)”
Having finished a CS undergrad and followed the OSSU curriculum for some years I can confidently recommend https://teachyourselfcs.com/ instead. The courses chosen are more focused on capital-C capital-S Computer Science, and the resources are better suited for self-paced self-direction. One should start with https://teachyourselfcs.com/ and refer to OSSU if they find the former lacking in some measure.
Self-teaching computer science is a long and winding road. OSSU seems to favor a completionist approach that most people would do well to avoid. Grok on the fundamentals and quickly specialize, because life is too short to learn computer science in an encyclopedic way.
ive been making general notes on How To Name Things (from companies to variables) here since its one of the well known hard problems - offering it up for others
> but I want the ability to hear what the enemy says.
Read propaganda written for internal consumption then. I find it much more illuminating. Maybe through Google Translate, I think it's quite decent at ru → en translation these days.
https://docsend.com/ - can protect files with email/pass verification. can revoke access or eSign documents
and many, many more. these are just the ones I've seen that are geared towards direct transfer between two computers, but there's hundreds more sites that offer free file storage, even without an account or any personal info needed.
Long ago, I used to have my favorite pirate sites bookmarked and sometimes the IPs saved. Now, Yandex, is the great piracy search engine. Just type in what you want, and in what format you want it in, and it'll usually show up within the first 10 results. For example:
Here are the recommended film sites https://fmhy.net/video#torrent-sites
I generally download from https://rutracker.org/ (need an account to search not for downloading). They have pretty much everything that you can imagine (not just films) and in proper quality too (BD Remuxes etc). There will be no scene releases here because they add russian/ukrainian dubs and subs to almost all films but that's a small problem.
The other one is Heartive which lists torrents from the DHT network with Magnet links https://heartiveloves.pages.dev/ You just click on the torrent icon in the middle top of the selected film and all the available releases will be listed in plain text. The only downside that you need to be familiar with the release tags
Last but not least https://nyaa.si/ if you have a slight interest in anything japanese from manga to anime to much more