HN user

pillmillipedes

48 karma

hackernews user pillmillipedes. university student.

Posts2
Comments33
View on HN

I'm kind of on the opposite side of the problem here where all my notes end up as unstructured puddles of thought vomit. in classes people asked a few times for me to show them my notes - they couldn't even figure out what topic the notes were on haha

on a mobile the next best thing was replacing my obsidian's app icon (no endorsement - I don't like obsidian) with the widget that pulls up today's "daily note", whether I want it or not. on pc I have an autohotkey command that does the same for notepad.exe

I doubt that it can. so in addition to C's quirks (which I know about), I have to care about go's quirks and solod's quirks as well? and for what? there's no solod-to-regular-go interop aiui, so just some tooling and the standard library?

interesting! have you tried putting the compressed payload into a large block comment at the end/start of the file, and recovering it by loading your own source as bytes to prevent the compiler from mangling the payload? I'm not sure if that would work but could be worth a try...

note that this is going after "psychologically exploitative features intended to maximize engagement" of all kinds, not just infinite feeds. it also poses an ultimatum banning people under 16 from websites that provide such addictive features to anyone.

personally I am against internet identification, and I think teenagers should be allowed on social media, so I have to ask: why only children? if these features are so bad, ban them outright.

not op, but from my experience overlined ts are a thing from a bygone era I'm afraid. my parents sometimes do it, but I don't know anybody under 30 who would write it this way. on the other hand I do sometimes see it written like a print т.

what you said about mixing up cursives is really interesting! I think the only case where I mix up mine is when writing a p instead of an р (the russian version typically doesn't have a loop).

I think putting the buckets in eytzinger layout might help with cache locality here? though on the other hand they might all fit into cache anyways..

I'd also want to try interpolation search for this (not necessarily linear interpolation since we're doing floats) - you can take much better guesses than "it's in the middle somewhere" by not having to look at the data through a 1-bit-wide pinhole as comparison algorithms do.

I know of odin, it seems alright, but it feels like every post or comment I see about what odin is like was written by its creator ginger bill.

my $0.02: if they think odin is notable enough for wikipedia and all they need is for someone to actually note it, now is the time to hire a pr firm. seriously. that's what they're there for.

I don't mind discussing syntax when appropriate, but this feels like arguing over which trivial brainfuck substitution[1] is the best.

monoid

nullables with `??` and `?.` are also give-or-take monoids. is it common though to `or` two MaybePhoneNumbers together or to apply a PhoneNumber->MaybePhoneNumber function to it? if not then why mention it?

let's see something meaningfully different like a database schema.

[1] https://esolangs.org/wiki/Trivial_brainfuck_substitution

right, but it appears they prioritize sending a strong signal to the people this *is* for over attracting some normies. keep it smol. if I were them and I wanted to address the outgroup I might start the article with "the old computer challenge is" or "this year's old computer challenge is", for example, instead of "the old computer challenge community is".

interesting algorithm. if you can limit nesting depth to 255, the radix (now counting) sort version would become decently performant too. I think that's quite reasonable unless there's some unholy preprocessor-based metaprogramming going on

this is my preferred way of writing SIMD code, but it seems relatively unknown compared to the immintrin library or other, more modern SIMD libs.

bonus fact: if you explore e.g. clang's immintrin headers, you will quickly discover that every single SIMD function and type is just a one-line wrapper around this API, making them mutually compatible.

also, unlike some template-based solutions, clang can easily perform optimizations on these types: https://godbolt.org/z/EvMcxoGeG

in math it's often the case that you notice the solution first and only afterwards prove to yourself that it works. pattern matching and intuition play a large role in math!

this is why I'm not a big fan of "show your work": the "work" is however many years it took to build up my intuition, and often any explanation I could type out for my solution would be a retroactive rationalization. it's still useful, sure -especially for catching your errors, but I place it on the opposite end of the open-fake scale than most people.

of course here the proof is simple: 20 right moves, 20 down moves, any order => of 40 total moves choose any 20 indices to be your down moves => 40 choose 20 is your answer. would that teach you how to solve the next problem though? I'm not so sure.

they did count in tens, as most civilizations did, though not exactly in "decimal". so 2345 would be either written out as MMCCCXXXXIIIII (but replace the letters with hieroglyphs), or sometimes spelled out phonetically. they had words for twenty, thirty and so on.

so obviously they can factor numbers and they know eighteen is 2*9 and twenty is 2*10 and that they can simplify when dividing 18 by 20, it's just that they don't consider 9/10 a finished result.

an array language. now I'm working on the tokens->three address code->bytecode translation. I'm hoping to get that done this week, then start implementing the more important builtins&library functions. you'd be surprised how many functions you can bootstrap just by implementing grade/argsort.

for example:

  // C++ (naive version, sorry)  
  vector<int> bin(vector<int>& x, vector<int>& y) {  
    vector<int> r;  
    for (int a:x) r.push_back(lower_bound(y.begin(),y.end(),a) - y.begin())  
    return r;  
  }



  # Jet  
  ord<<{x asc asc} # double grade idiom  
  bin<<{y,x ord drop len[y]-ord[x]-1}  

or course this is not at all apples to apples, though it works to show the difference in possible approaches. in C++ I'm just turning an already implemented binsearch into something useable for arrays, and in jet I'm doing some weird array tricks to implement it from scratch using grade up (asc).

moreover, the C++ solution is O(m*log(n)) and jet is O(m+n) (though with a large constant factor) - but of course we can do much better once I implement it as a real builtin

it's quite a lot more than 30ms, as phone cameras do some real heavy-weight image processing to compensate for their tiny size, I'm talking neural networks and such. the throughput might be 60fps when it's all conveyor-ed but the latency sure isn't