HNHacker News
TopNewBestAskShowJobs

hoosieree

1,999 karma · joined January 11, 2017

Senior DevOps Engineer/SRE @ https://cato.digital/

PhD in machine learning (2023), array language enthusiast, amateur luthier

website: alexshroyer.com

email: contact@alexshroyer.com

submissionscomments
hoosieree··on The false positive rate of AI detectors and its effect on freelance writers
In an ideal world, "getting an education" and "getting a degree" are the same. In reality, any overlap at all feels like a win. Which is unfortunate, because some of the best learners are terrible students, and vice versa.
hoosieree··on I've overlayed stays on a light pollution satellite map
> Street lights deter crime.

Lighting affects property crime more than violent crime. It also depends on where the lights are, both in terms of neighborhood[1] and country[2].

On the other hand, lights dramatically affect how safe people feel[3] in an area, even if that feeling is not necessarily based on actual danger.

[1]: https://doi.org/10.3386/W25798

[2]: https://doi.org/10.1111/J.1745-9133.2004.TB00058.X

[3]: https://doi.org/10.1016/0169-2046(96)00311-8

hoosieree··on Elephants are scared around bees
But the honey produced by loudspeakers is not good.
hoosieree··on "No, it's less effort than that"
C2 has an article for everything!
hoosieree··on Excel will allow certain auto data conversions to be turned off
Dynamic typing is orthogonal to implicit type conversion, though admittedly dynamic environments do it more often. Watch out for (void*) in C or accidentally inferred union types in TypeScript.
hoosieree··on "No, it's less effort than that"
Typical action movie hacking scene:

    Leader: How long until you can hack the mainframe?
    Techie: The other hacker is really good; at least 2 hours.
    Leader: You have 1. Get it done!
    [commence flying around the 3d filesystem]
Whenever I watch a scene like this, I mentally add a voiceover for the techie:

    [Techie thinks]: My actual estimate was 20 minutes. I can probably get it done in about 50, then I need to fly in the 3d filesystem for 10 more minutes looking busy so Leader doesn't get any big ideas.
hoosieree··on GPT-4 vision prompt injection
Not a new issue:

    On two occasions I have been asked, – "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" ... I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question
hoosieree··on X begins charging new users $1 a year in New Zealand, Philippines
Can I get a list of the people who paid? I would like to sell them NFTs.
hoosieree··on Forget privacy: you're terrible at targeting anyway (2019)
Sure, but I tend to think of a cost reduction leading to doing more of your core business. I would not expect it to change the essence of how interact with your customers.

Maybe I should not be so surprised. If some core service used in software becomes 1000x cheaper, it does tend to produce not just shifts in quantity but shifts in the kind of thing you do with it. For instance, if a language's garbage collector goes from annoyingly slow to basically invisible, it wouldn't be surprising for the preferred paradigm to change.

hoosieree··on Forget privacy: you're terrible at targeting anyway (2019)
> Netflix moved online, and the cost of a bad recommendation was much less

This was the most interesting point for me. I found it surprising that changing the cost of delivering a movie could so dramatically shift company-wide priorities.

hoosieree··on Scrollbars are becoming a problem
Maybe scrolling itself is the real problem, and bad scrollbar design is just a symptom. Think of how long it took you to get to this comment, and all the other things you could have been doing with your life. Was it worth it?
hoosieree··on Python 3.12.0 from a supply chain security perspective
That's just a matter of perspective. My laptop is already perfectly isolated from your laptop, thank you very much.
hoosieree··on How Transformers Work
Let's ROLL OUT!
hoosieree··on Where does my computer get the time from?
"At the tone?" ...what kind of ship are you running here? Is it at the start or the end of the tone?
hoosieree··on Every database will become a vector database sooner or later
Appearances can be deceiving. In terms of expressiveness, Uiua is to Brainfuck as Python is to nand.
hoosieree··on Nomnoml
If you're not freely donating your time and energy to improving the proprietary dataset that powers Copilot, can you even call yourself Open Source?
hoosieree··on Show HN: Generative Fill with AI and 3D
[pitching to investors]

It's like Joan is Awful, but for AirBnB.

hoosieree··on Uiua: A minimal stack-based, array-based language
That surprised me too, but then I decided it was actually kinda brilliant. The alternative for when an array is "too big" to display is usually something like

    [1 2 3 ... 99999]
Which is unsurprising, but not very usable. Audio is useful!
hoosieree··on Uiua: A minimal stack-based, array-based language
They can be. I know J has libraries for databases, image, audio processing, etc. I've written an assembler in J and translated it to K. The array languages are pretty decent for prototyping machine learning stuff. Often you don't need any libraries at all.

Here's a 2-layer perceptron, first in Python+NumPy:

    import numpy as np
    X = np.array([[0,0,1], [0,1,1], [1,0,1], [1,1,1]])
    y = np.array([[0,1,1,0]]).T
    np.random.seed(1)
    w0 = 2*np.random.random((3,4)) - 1
    w1 = 2*np.random.random((4,1)) - 1
    for j in range(10000):
        l1 = 1/(1+np.exp(-(X @ w0)))
        l2 = 1/(1+np.exp(-(l1 @ w1)))
        l2_error = y - l2
        l2_delta = l2_error * l2 * (1 - l2)
        l1_error = l2_delta @ w1.T
        l1_delta = l1_error * l1 * (1 - l1)
        w0 += X.T @ l1_delta
        w1 += l1.T @ l2_delta
    print(np.round(l2,3))
    [[0.007]
     [0.991]
     [0.992]
     [0.01 ]]
And again in J:

    input =: 4 3 $ 0 0 1  0 1 1  1 0 1  1 1 1
    target =: 4 1 $ 0 1 1 0
    dot =: +/ .*
    sig =: {{ %>:^-y }}
    train =: {{
        'ignore_me w0 w1' =. y
        l1 =. sig input dot w0
        l2 =. sig l1 dot w1
        l2_error =. target - l2
        l2_delta =. l2_error * l2 * 1 - l2
        l1_error =. l2_delta dot |: w1
        l1_delta =. l1_error * l1 * 1 - l1
        w0 =. w0 + (|:input) dot l1_delta
        w1 =. w1 + (|:l1) dot l2_delta
        l2;w0;w1 }}
    5j3":0{::train^:10000 {{<:+:?.y$0}} each 1 ; 3 4 ; 4 1
    0.009
    0.990
    0.990
    0.011
Here's that assembler (for the Nand2Tetris assembly language) in K. It's intentionally golfed.

    L:({x^"\r "}'*'"/"\'0:0)^,""
    T:(("R",'$!16)!!16),(($`SCREEN`KBD`SP`LCL`ARG`THIS`THAT)!16384,24576,!5),((-1_1_)'L@&i)!{x-!#x}@&i:"("=*'L
    T,:n!16+!#n:?(({$[("@"=*x)&^`I$1_x;1_x;`]}'L)^!T)^`
    C:(" "\"D&A D+A A-D D !D D-1 -D D-A D|A D+1 0 A !A A-1 -A A+1 -1 1")!0 2 7 12 13 14 15 19 21 31 42 48 49 50 51 55 58 63
    D:$`" "`M`D`MD`A`AM`AD`AMD
    J:$`" "`GT`EQ`GE`LT`NE`LE`MP
    B:{,/$(x#2)\y}
    P:{c:*d:|"="\*j:";"\x;"111",/(B.7,(64*|/"M"=c)+C@"A"/"M"\c;B.3,D??d 1;B.3,J??1_j 1)}
    `0:({(P;{"0"^-16$,/$2\(`I$1_x)^T@1_x})[2/"@"=*x;x]}'L)@&~i
hoosieree··on Show HN: Magentic – Use LLMs as simple Python functions
No problem, boss.

    @prompt("Find out if {programs} are correct.")
    def do_they_work(programs: list) -> bool:
        ...

I just pushed it to production. Dashboard is all green. See you when I get back from vacation!
hoosieree··on Show HN: Magentic – Use LLMs as simple Python functions
I find students correctly infer what to do with "..." whereas they were afraid to touch "pass".

E.g, if I gave them this:

    def foo(x):
      ...  #add your implementation here
    
    def bar(x):
      pass #add your implementation here
I'd get back this:

    def foo(x):
      return x+1
      
    def bar(x):
      return x+1
      pass
hoosieree··on A literary history of fake texts in Apple's marketing materials
Aerodynamic semicolon.
hoosieree··on A literary history of fake texts in Apple's marketing materials
And the plain smile emoji is either a normal amount of happiness, or a malicious serial killer dead-eyes rictus.

:)

hoosieree··on Large Language Models for Compiler Optimization
This is the right way to interact with LLMs in general. Ask for what you want, but independently verify the result. Don't be like that lawyer "...but I asked ChatGPT if it was telling the truth, and it said yes!"
hoosieree··on Large Language Models for Compiler Optimization
I've just skimmed it but I think they're not using the model's output for codegen, but rather to choose what compiler passes to use and in what order.
hoosieree··on FindMyCat – Open-Source Pet Tracker
My indoor cats: "challenge accepted".
hoosieree··on Stable Audio: Fast Timing-Conditioned Latent Audio Diffusion
Humans take a long time to get good at art; in the meantime they still have to eat.

So they compete with generative AI for a fixed number of jobs. The AI is cheaper and faster. Humans stop training to become artists.

Without new training data, the generative AI models stagnate. Progress in art stops globally, forever.

But for a brief glorious moment, we were able to say "huh, that's not bad".

hoosieree··on Stable Audio: Fast Timing-Conditioned Latent Audio Diffusion
Hate to break it to you but there is a vast market for mediocre content, and even Danny Carey has a bad day once in a while.
hoosieree··on Math.Round opens the browser print dialog (2019)
Oh my gosh I also noticed that!
hoosieree··on Decoded: GNU Coreutils (2018)
Emacs?
← PreviousPage 6 of 22Next →