@abde RAII, the STL, arguably exceptions, and debugging other people's C++ code
Twitter nonsense
@mmasnick It sort of makes sense; certainly a lot of people don't think he should be in control of Twitter, including a lot of people who actually work at Twitter. Purges and unpredictable changes are par for the course when ruthless power struggles are afoot, and power (rather than profits) seems to be what Musk is after with his Twitter takeover, as he said in his TED interview. It remains to be seen how works out.
@mattblaze Yeah, it's pretty annoying.
@atomicpoet Hmm, sounds like I misinterpreted your post.
Twitter implosion
@mattblaze It'll be interesting to see what the new Twitter looks like six months from now.
@atomicpoet minor quibble, HTTP didn't exist until a decade after the internet's infancy
@alcinnz Sure, naturally.
@alcinnz It has some similarities to Tomasulo's algorithm, but Tomasulo's algorithm isn't SIMD.
@alcinnz A thing I've been thinking about for a while is heavy multithreading by enqueuing execution states in per-opcode queues, so that you can then do SIMD (or SIMT) execution of a single opcode in 64 or 128 concurrent execution states at once.
Switched out Serial for PPP and ... we can now also use all the on device internet tools like it's 1999. Can telnet to the host with Hermes, so nothing lost.
It's broken. Nothing works. Everything wants https and 50MB downloads.
However this all works the way I want it now. Another revision of the lid and I'll print the final version.
@alcinnz BTW, to the extent that you can do opcode interpretation with array indexing, you can avoid the SIMT idle units problem; see the wc implementation in PoC||GTFO 21 for an example (returning to the earlier question of fast DFAs!)
@alcinnz No worries; was it understandable anyway? I meant N(N-1)/2.
@alcinnz How does #3 help if you have O(N^2) intersections "on" (really just above) that scanline? I agree that it should work fine most of the time because you usually have comparatively few intersections, but in those cases insertion-sorting an array of active lines will also work fine, and will probably be faster than maintaining a binary heap?
@alcinnz By the way, does your instance render the LaTeX in that toot?
@lmonterrosa #ZLibrary has a much larger collection than #libgen. #piracy
@DieselBoom Possibly you intended to respond to the person I was quoting, but they aren't on the Fediverse. I provided a link.
@alcinnz Well, so, the effect of any finite-length string on a particular DFA is a finite map from possible states at the beginning of the string to resulting states at the end of the string. For the empty string it is the identity function.
You can compute the effect of a concatenation of strings by composing these maps. If you do this bottom-up on a long string, starting from all its one-character substrings and then consolidating them into a tree of substrings of length 2, 4, 8, etc., each exhaustively covering the original string, you have a log-time parallel algorithm for DFA evaluation on the string. The final step is to apply the finite map computed for the entire string to the initial state defined by the DFA.
Then, if desired, you can propagate the results back down the tree to find the state of the DFA at every character.
Is precisely the parallel prefix-sum algorithm, with the monoid operation being function composition rather than, for example, integer addition.
Does that make sense? I don't know how to evaluate the clarity of my explanation in part because I don't know how familiar you are with the background.
@alcinnz I don't think matters if you're using a nonzero winding rule or an even-odd winding rule; what you care about is which side of each edge each pixel on scanline Y=218 is on, not whether two edges intersected at Y=217.5 or Y=217.2.
Yes, intersections are what reorder the line segments between scanlines. But if you have \(N\) line segments you can have \(\frac{N(N-1)}{2} = O(N^2)\) intersections between them between two successive scanlines; heapsort can nevertheless get them back into the right order for winding-rule tests in only linearithmic time, which you can't do if part of your algorithm involves enumerating all the intersections.
You could be right about Bentley-Ottman; there are surely aspects of the problem you're trying to solve that I don't understand. I've only ever written extremely simple scanline renderers myself.
Quoting [a post on the orange site](https://news.ycombinator.com/item?id=33639015):
*Me and my colleagues will be affected by the end of Z library and co related projects.*
*Here in Brazil and for sure in most second and third world countries, people don't have money to spend in books.*
*You can argue that people can go to the library, but in most cases it's even expensive to take a bus or taxi even a Uber.*
*I'm a law student at an university in brazil. Law books are really expensive. Even though my university have a library, sometimes it doesn't have the books that the professors ask us to read.*
*Since I found z library I could have access to most of books that I needed.*
*I do know that the writers and publishers have costs and they need to make money, but I don't agree with the fact that we have to pay to have knowledge. It's more like if we don't have money, we can't have knowledge.*
Sad #piracy news, Z-Library founders arrested in South America: https://www.justice.gov/usao-edny/pr/two-russian-nationals-charged-running-massive-e-book-piracy-website
I read a lot. Sometimes I learn things. I like making things. I think reading and doing are complementary.