zwegner | 3 years ago | on: I only care about the helpful notifications, not the promotional ones
zwegner's comments
zwegner | 3 years ago | on: Rippling and the Return of Ambition
zwegner | 3 years ago | on: Speedsolving Rubik's Cube: 8355 Method
[1] https://www.ryanheise.com/cube/human_thistlethwaite_algorith... [2] https://www.youtube.com/watch?v=GmjYWYDPhiM
zwegner | 3 years ago | on: What chords do you need?
Some of the chord charts are machine readable (available as just plain text), while others are images, but looks like all/almost all of them are available as MIDI as well.
zwegner | 3 years ago | on: Xor swap trick and add/sub swap trick (2010)
This is only true for AMD cpus, on Intel xchg is 3 uops. Still better than the xor trick, though.
zwegner | 4 years ago | on: Arguing Without Warning
(using a web archive link since the current page tries to force a login)
zwegner | 4 years ago | on: Asahi Linux alpha release
zwegner | 4 years ago | on: Cubeast – Cubing the Smart Way
I have a basic case recognition feature, though no statistics are tracked there yet. I also have some code for tracking splits (only CFOP), though I haven't integrated it into the app for tracking stats.
csTimer has a ton of features too, but I've completely stopped using it, since CubingB has everything I need for basic timing and lots of improvements (like not losing session data, easily moving solves between sessions, partial scramble diagrams).
zwegner | 4 years ago | on: Cubeast – Cubing the Smart Way
I haven't had much time to work on it lately, and there's limitations like only supporting Bluetooth on macOS and only one type of cube (the MoYu AI), but it's open source and works pretty well as a timer (both for smart cubes and regular cubes).
zwegner | 4 years ago | on: Show HN: I made a little math game named Summle
Pretty cool puzzle, reminds me of this: https://blog.plover.com/math/24-puzzle.html
zwegner | 4 years ago | on: Vim – Minimal Setup Explained
The whole thing would be something like <ctrl-v>5jecs<esc>. Ctrl-v starts rectangular block mode, go down 5 lines and to the end of the word, change selection to "s", return to normal mode.
zwegner | 4 years ago | on: Let's Settle This
zwegner | 4 years ago | on: Show HN: Evil Wordle
My solution is static and doesn't take any clues into account, so what you're saying just doesn't feel very relevant. The only "solution in general" to an arbitrary adversary, if you're not allowed to look at the clues it gives, is just to guess every single target word, which isn't very interesting.
Now, you could easily argue that the greedy strategy used by the site is suboptimal, and I'd agree, but AFAIK nobody's put up a site with a better one yet.
zwegner | 4 years ago | on: Show HN: Evil Wordle
My solver's found about a thousand so far, here's a good one: "abyes choup donut dingo" (note that there are a number of 'fake' words allowed for guesses).
zwegner | 4 years ago | on: Adversarial Wordle
...and a bit more explanation in the Twitter thread: https://mobile.twitter.com/zwegner/status/148011092775217561...
zwegner | 4 years ago | on: Adversarial Wordle
...and my code: https://gist.github.com/zwegner/508cc183ab94dd27686a40384783...
zwegner | 4 years ago | on: Adversarial Wordle
aiery canst dolma offal
realo tings dampy humph
raine scold bulgy ought
ureas gilpy cyton conic
lutea prosy canid cigar
leary ungot camis humph
stale groin dampy humph
If you're wondering what some of those words mean, Wordle (and this variant) have a big list of fake words it allows for guesses.I think 4 is probably optimal, but my solver is still running. :) There's probably way more fours as well, my solver only prints new bests found, and this list is from progressively allowing a wider and wider search, so each result is from a separate run. I wonder how many end in 'humph'.
zwegner | 4 years ago | on: Titanpointe: The NSA’s spy hub in New York, hidden in plain sight (2016)
BTW this is unrelated to the thread, but Mr. Robot is an incredible show, and the middle of season 3 (where this building is featured) in particular is probably the greatest television I've ever seen. Episodes 5 and 6 are like a full two-episode climax to a story arc that had been building since season 2. I generally avoid any "hacker" type shows/movies for the cheesiness/cringiness of the hacker portrayals (and Mr. Robot does start off a bit cheesy), but I'm glad I made an exception here.
zwegner | 4 years ago | on: Leveraging SIMD: Splitting CSV Files at 3Gb/S
I've also pinged Geoff and Daniel on Twitter, linking your library: https://mobile.twitter.com/zwegner/status/147340073352554497... ...maybe they'll have some ideas. (Geoff has mentioned that he had done some initial work on a simdcsv)
I'll also drop some more links that you might've already seen, but could be useful otherwise. For removing double quotes, rather than memmove, you could use the "pack left" operation on vectors. There's a handful of ways to do this pre-AVX-512-VBMI2 (where the magical vcompressb instruction was added), like in these SO questions:
https://stackoverflow.com/questions/36932240/avx2-what-is-th...
https://stackoverflow.com/questions/45506309/efficient-sse-s...
And for keeping the main lexer structure that ZSV uses now, but using a small DFA to maintain the lexer state, this other trick from Geoff might work: https://branchfree.org/2018/05/25/say-hello-to-my-little-fri...
zwegner | 4 years ago | on: Leveraging SIMD: Splitting CSV Files at 3Gb/S
Referring to the OP, I'm not sure what exact dialect of csv they're using, but its quoting rules are nothing like Excel's: quotes are escaped with a separate character (possibly backslash), and quoted regions can start anywhere, not just the start of a field. This makes CLMUL much easier to apply, quite similarly to how it's used in simdjson. Finding escaped characters can be done branchlessly with a handful of scalar operations on the masks (this code is in simdjson too).
For proper Excel-style parsing, you're quite possibly right (and looking at ZSV, I trust that you've thought about this problem a lot more than me). I'm not certain that it can't all be done efficiently with very few branches, though, using mostly SIMD and some scalar operations on masks. CLMUL might not be useful here, since quotes are treated completely differently depending on whether the field started with a quote. Instead you'd have a first phase basically looking for a comma or newline followed by a quote, then looking for the next unescaped quote. Escaped quotes within quoted fields can be found with a similar sequence to simdjson's backslash support (and removed with something like vcompressb on newer AVX-512 chips).
Still get the stupid "try 1 month free trial" popups whenever I book a ride though, can't see how to turn those off.