Hacker Newsnew | past | comments | ask | show | jobs | submit | Looky1173's favoriteslogin

I also enjoyed: https://blog.szczepan.org/blog/los-alamos-primer/

Although there is small error regarding the neutron number calculation. I assume 3/4 of the neutrons are lost and then the author can multiply by 1/4 to get the result that the naturally occurring uranium is safe (as its neutron number is less then 1)


Maybe 20 years ago... As a student, the school had an email server that allowed rules to be set. You could set an email to be sent as a result of another email.

IT were not stupid though, and set a series of rules:

1. You cannot have a rule trigger to email yourself.

2. You cannot reply to an email triggered by a rule.

3. You have ~50MB max of emails (which was a lot at the time).

Playing around one lunch, my friend had setup a "not in office" automated reply, I setup a rule to reply to any emails within our domain with a "not in office", but put their name in TO, CC and BCC. It turns out that this caused rule #2 not to trigger. After setting up the same rule on my friend's email, and sending a single email, the emails fired approximately one every 30 seconds.

A few hours later we returned to our email boxes to realise that there were thousands and thousands of emails. At some point we triggered rule #3, which in turn sent an email "out of space", with a small embedded school logo. Each one of these emails triggered our email rule, which in turn triggered an email "could not send message", again with an embedded logo. We desperately tried to delete all of the emails, but it just made way for more emails. We eventually had to abandon our efforts to delete the emails, and went to class.

About an hour later, the email server failed. Several hours later all domain logins failed. It turned out that logins were also run on the email server.

The events were then (from what I was told by IT):

* Students could not save their work to their network directory.

* New students could not login.

* Teachers could not login to take registers or use the SMART white boards.

* IT try to login to the server, failure.

* IT try to reboot the server, failure.

* IT take the server apart and attempt to mount the disk - for whatever reason, also failure.

* IT rebuild the entire server software.

* IT try to restore data from a previous backup, failure. Apparently the backup did not complete.

* IT are forced to recover from a working backup from two weeks previous.

All from one little email rule. I was banned from using all computers for 6 months. When I finally did get access, there was a screen in the IT office that would show my display at all times when logged in. Sometimes IT would wiggle my mouse to remind me that they were there, and sometimes I would open up Notepad and chat to them.

P.S. Something happened on the IT system a year later, and they saw I was logged in. They ran to my class, burst through the door, screamed by username and dragged me away from the keyboard. My teacher was in quite some shock, and then even more shocked to learn that I had caused the outage about a year earlier.


> Safely

You cannot. The best you can ever hope for is creating VM environments, and even then it's going to surprise you sometimes. See https://gtfobins.github.io/.


I'm working on a oldskool video game:

https://valtima4.com/

It's the Survival Crafting RPG you would have played on your Apple II back in the 80's.

You can think of it as Valheim's gameplay crammed into the tile-based ui of the old Ultima games.

It has a procedurally-generated open world with towns and NPCs to talk to, all the resource gathering, mining, crafting stuff you'd expect in a modern survival game, and some good old fashioned dungeon crawling to boot.

I've been working on it off and on for the last several months. Let me know what you think!


I once published a method for finding the closest distance between an ellipse and a point on SO: https://stackoverflow.com/questions/22959698/distance-from-g...

I consider it the most beautiful piece of code I've ever written and perhaps my one minor contribution to human knowledge. It uses a method I invented, is just a few lines, and converges in very few iterations.

People used to reach out to me all the time with uses they had found for it, it was cited in a PhD and apparently lives in some collision plugin for unity. Haven't heard from anyone in a long time.

It's also my test question for LLMs, and I've yet to see my solution regurgitated. Instead they generate some variant of Newtons method, ChatGPT 5.2 gave me an LM implementation and acknowledged that Newtons method is unstable (it is, which is why I went down the rabbit hole in the first place.)

Today I don't know where I would publish such a gem. It's not something I'd bother writing up in a paper, and SO was the obvious place were people who wanted an answer to this question would look. Now there is no central repository, instead everyone individually summons the ghosts of those passed in loneliness.


I studied remote sensing in undergrad and it really helped me grok sensors and signal processing. My favourite mental model revelation to come from it was that what I see isn’t the “ground truth.” It’s a view of a subset of the data. My eyes, my cat’s eyes, my cameras all collect and render different subsets of the data, providing different views of the subject matter.

It gets even wilder when perceiving space and time as additional signal dimensions.

I imagine a sort of absolute reality that is the universe. And we’re all just sensor systems observing tiny bits of it in different and often overlapping ways.


Fun seeing HN restart to switch to the Christmas theme, in three steps:

https://share.cleanshot.com/vJZv6k03 (restarting the server)

https://share.cleanshot.com/qFyM347P (online but temporarily readonly)

https://share.cleanshot.com/kW8kY7mp (back online!)


That was our paper! We showed that you can get false positives (significant brain activity in this case) if fMRI if you don't use the proper statistical corrections. We did win an Ig Nobel for that work in 2012 - it was a ton of fun.

If anyone is interested in this - checkout Richard Behiel's video on this. https://www.youtube.com/watch?v=Sj_GSBaUE1o

It is fantastically long, but still fascinating !


One of my favorite "myths" about the discovery of stainless steel:

Metallurgist is trying out all kinds of steels looking for a particular attribute. He would dutifully record each recipe + test in a notebook but if a particular batch didn't have the attribute, he would throw it out a window into an outdoor scrap pile.

Several months go by and he's cleaning up the pile and notices that one of the blocks has no rust or corrosion. He knows that the pile is six months old but doesn't know which of the recipes this block was connected to.

So he repeats ALL of the block recipes from the last 6 months but labels each block so he can figure out which recipe led to the "stainless" steel.

(Probably not the real story but always loved this telling of it. Actual Wikipedia history is here: https://en.wikipedia.org/wiki/Stainless_steel#History)


100%.

Except the things that kill most of us[1] keeps me up at night.

1. https://ourworldindata.org/does-the-news-reflect-what-we-die...


Time to quote one of my favourite lines in the Godfather franchise. Probably totally unrelated.

“We gladly put you at the helm of our little fleet, but our ships must all sail in the same direction. Otherwise, who can say how long your stay with us will last. It's not personal, it's only business. You should know, Godfather”

— The late venerable Don Lucchesi


Shameless plug but I made a similar tool called asXiv[1] which allows you to "ask" arXiv.org papers questions.

It also recommends questions on initial load that can help understand or explore the paper, here's a demo[2] from the popular Attention Is All You Need paper.

The code is all opensource[3], it uses the google 2.5 flash lite model to keep costs down (it's completely free atm), but that can be changed via env var if you run it locally.

1. https://asxiv.org

2. https://asxiv.org/pdf/1706.03762

3. https://github.com/montanaflynn/asxiv


One of the times where a video is worth a thousand words and drawings.

https://youtu.be/ckTCocBCUN4

Also, how to fold a tee shirt:

https://youtube.com/shorts/L6HpOO7MlcI


Someone once described the secret to making magic as putting in far more effort than any reasonable person would, such that no reasonable person would think you'd done it the hard way.

The juxtaposition between the cleanliness of the software and the absolute travesty of a schematic is jarring. But it still works!

I applaud the author for wading into analog electronics. Pretty much everyone nowadays would just put a timer on a micro and be done in 2 minutes. No fun in that. There is something to be said about the minimal elegance of purely analog designs, and a special rewarding feeling for wrangling electrons in their native habit rather than their boxed up binary bins.


> Interestingly, while the engine has the most moving parts in real life, in code, it's the simplest piece of the entire car simulation. Because at its core, the engine is just a torque calculator. It's concerned with producing a single output: rotational torque, from a set of inputs. It is essentially a blackbox.

This just reminded me of AngeTheGreat's incredible video series showing his engine simulator- absolutely worth checking out, considering it's optimized enough to run in real-time! The fact that he's simulating it well enough to generate realistic sound is absolutely mind-blowing.

https://www.youtube.com/watch?v=RKT-sKtR970


One of his examples of a borrow checker excess:

    struct Id(u32);

    fn main() {
        let id = Id(5);
        let mut v = vec![id];
        println!("{}", id.0);
    }
isn't even legit in modern C++. That's just move semantics. When you move it, it's gone at the old name.

He does point out two significant problems in Rust. When you need to change a program, re-doing the ownership plumbing can be quite time-consuming. Losing a few days on that is a routine Rust experience. Rust forces you to pay for your technical debt up front in that area.

The other big problem is back references. Rust still lacks a good solution in that area. So often, you want A to own B, and B to be able to reference A. Rust will not allow that directly. There are three workarounds commonly used.

- Put all the items in an array and refer to them by index. Then write run-time code to manage all that. The Bevy game engine is an example of a large Rust system which does this. The trouble is that you've re-created dangling pointers, in the form of indices kept around after they are invalid. Now you have most of the problems of raw pointers. They will at least be an index to some structure of the right type, but that's all the guarantee you get. I've found bugs in that approach in Rust crates.

- Unsafe code with raw pointers. That seldom ends well. Crates which do that are almost the only time I've had to use a debugger on Rust code.

- Rc/RefCell/run-time ".borrow()". This moves all the checking to run time. It's safe, but you panic at run time if two things borrow the same item.

This is a fundamental problem in Rust. I've mentioned this before. What's needed to fix this is an analyzer that checks the scope of explicit .borrow() and .borrow_mut() calls, and determines that all scopes for the same object are disjoint. This is not too hard conceptually if all the .borrow() calls produce locally scoped results. It does mean a full call chain analysis. It's a lot like static detection of deadlock, which is a known area of research [1] but something not seen in production yet.

I've discussed this with some of the Rust developers. The problem is generics. When you call a generic, the calling code has no idea what code the generic is going to generate. You don't know what it's going to borrow. You'd have to do this static analysis after generic expansion. Rust avoids that; generics either compile for all cases, or not at all. Such restricted generic expansion avoids the huge compile error messages from hell associated with C++ template instantiation fails. Post template expansion static analysis is thus considered undesirable.

Fixing that could be done with annotation, along the lines of "this function might borrow 'foo'". That rapidly gets clunky. People hate doing transitive closure by hand. Remember Java checked exceptions.

This is a good PhD topic for somebody in programming language theory. It's a well-known hard problem for which a solution would be useful. There's no easy general fix.

[1] https://dl.acm.org/doi/10.1145/3540250.3549110


I just re-implemented your interface for managing tasks:

https://rafalkwasny.com/tasks

Prints on A4 page as I like it better


Correct. Computers are the realm of procrastination because there are so many ways work can hide and so many forms it can morph into. If you need to work from paper, there's not much you can do other than move through it. It may get disorganized, but it is still there. There is no question that modern workers have exponentially more reason to procrastinate than workers from 50 years ago.

Where I think that pieces like this fall short at are identifying what they think people should "care" about and why these things matter.

For example,

* Who cares that those newspapers ran AI-generated reading lists when the actual people who represent the newspapers wouldn't actually be the ones recommending the books anyway?

(People who make things that you read aren't reading themselves.)

* Why should people care to fund or listen to audio deep-dives into the Multiverse or a middle-aged man's memoir about when he was 12 and he heard songs?

* Why shouldn't people submit boilerplate responses to boilerplate questions that are an artificial barrier between them and what is contemporarily accepted as a socioeconomic exchange?

I wonder if there's anything that the author can draw from their experiences in punk culture to round out the answers the questions like this.

We are flailing in the middle of a long-running vacuum of meaning and purpose.

I worry about the sort of people who are set at ease by the vague quasi-institutional appeals that conclude this post.


The court decision itself is worth reading for a revealing look behind the curtain. [0]

>> In Slack communications dated November 16, 2021, the Apple employees crafting the warning screen for Project Michigan discussed how best to frame its language. Mr. Onak suggested the warning screen should include the language: “By continuing on the web, you will leave the app and be taken to an external website” because “‘external website’ sounds scary, so execs will love it.” [...] One employee further wrote, “to make your version even worse you could add the developer name rather than the app name.” To that, another responded “ooh - keep going.”

[0] https://storage.courtlistener.com/recap/gov.uscourts.cand.36...


> It's just boosting people's intention.

This.

It will in a sense just further boost inequality between people who want to do things, and folks who just want to coast without putting in the effort. The latter will be able to coast even more, and will learn even less. The former will be able to learn / do things much more effectively and productively.

Since good LLMs with reasoning are here, I've learned so many things I otherwise wouldn't have bothered with - because I'm able to always get an explanation in exactly the format that I like, on exactly the level of complexity I need, etc. It brings me so much joy.

Not just professional things either (though those too of course) - random "daily science trivia" like asking how exactly sugar preserves food, with both a high-level intuition and low-level molecular details. Sure, I could've learned that if I wanted too before, but this is something I just got interested in for a moment and had like 3 minutes of headspace to dedicate to, and in those 3 minutes I'm actually able to get an LLM to give me an excellent tailor-suited explanation. This also made me notice that I've been having such short moments of random curiosity constantly, and previously they mostly just went unanswered - now each of them can be satisfied.


"The computer is huge, you know, I told Elon the other day, and by the way I was the first one to say this, the computer is tremendous, tremendously important. Baron, you know, he's so good with the computer, and that's what I said many times, you know, good genes, good genes. A friend of mine, great guy, very smart guy, told me the other day, Donald, the computer, and by the way, this is what most people don't realize in our country, [...]"

Dithering is something of a lost art now that our displays can handle millions of colors in high definition, but it can be a striking artistic effect.

If anyone thinks their websites are too colorful, I made a pure JavaScript web component to dither images on client in real time, taking into account the real pixel size of the current display.

https://sheep.horse/2023/1/improved_web_component_for_pixel-...


In a sense, Adrian Thompson kicked this off in the 90's when he applied an evolutionary algorithm to FPGA hardware. Using a "survival of the fittest" approach, he taught a board to discern the difference between a 1kHz and 10KHz tone.

The final generation of the circuit was more compact than anything a human engineer would ever come up with (reducible to a mere 37 logic gates), and utilized all kinds of physical nuances specific to the chip it evolved on - including feedback loops, EMI effects between unconnected logic units, and (if I recall) operating transistors outside their saturation region.

Article: https://www.damninteresting.com/on-the-origin-of-circuits/

Paper: https://www.researchgate.net/publication/2737441_An_Evolved_...

Reddit: https://www.reddit.com/r/MachineLearning/comments/2t5ozk/wha...


Even in the best of cases, our perceptions and interpretations of those perceptions are often dramatically flawed. Add on top of that neural atrophy, loss of oxygen, accumulation of senescent cells, poor clearance of waste products ... and what comes out is often going to be gibberish, as the remaining working parts of the mind attempts to construct a coherent narrative from the broken fragments of sensory input and failing memories.

I got interested in consciousness 35 years ago or so when I read Oliver Sacks' "The Man Who Mistook His Wife For A Hat". Although the various people depicted in the stories had some physical deficit due to a trauma of some kind, it vividly demonstrated how we rationalize our way through the world more than we reason our way through it. Our conscious mind is much more of a facade than we typically imagine.

When people say, "Well, LLMs are just generating token N+1 from the previous N tokens, they really aren't thinking", I counter with this: we have been having this discussion -- are you at all aware of the stream of words coming out of your mouth, or are you hearing them the same time that I am?

Yes, sometimes we have deliberate thought where we rehearse different lines of reasoning before uttering something, but 98% of the time we are spewing just like LLMs do. And when we do engage in deliberate thought, each of those trial sentences again just appears without consideration; we are simply post-hoc picking the one that feels best.


Piling on, but I wanted to find a song I had once heard when I was a kid. I did not know the exact lyrics, just that it was woman talking about her husband leaving for space. I had tried to find the song using regular search engines multiple times over the years. Eerily (a little over a year ago, using GPT3.5), I was able to find the song within about 15 minutes of prompting with various pieces of information including tone, topic, and rough year I heard the song. (The song was "Clouds across the moon" from the Rah band.)

I’m going out salamander hunting tonight. The target is the Pacific Giant Salamander. I’ve been a pro photographer and producer for nearly 30 years. If I’m successful, if I get interesting footage- you folks might see it. My Tik Toc record is 60 million. FB is 120 million. Instagram is 11 milllion. I have no idea if these stats are correct (I have trust issues with these services). Yet I don’t engage with SM personally but make decent $$ from it. It all seems so shallow and fake. Yet here I am being paid for content.

I’m looking forward to the adventure. Meeting people in person. Driving for hours, crawling around remote streams till 2AM. Getting wet in the rain. Feeling uncomfortable- either too warm, too cold, or too wet. Sleeping the sleep of the exhausted whenever I get to my bed.

I’ve withdrawn from the internet more and more. I’m not clean. I’m not a purest. The internet is an incredible window to the world. I use it frequently. But it is more polluted by blatant $$ and manipulation (which I profit from).

But my 24 year old daughter is consumed by the online world. So many sedentary hours scrolling. Fearful of genuine human interaction. Fearful of the discomforts of the real world. I’m paying more and more for mental health care for her. I invite her to these adventures. She just went to Mexico with me. She had panic attacks followed by profound depression. It breaks my heart. She barely left the Airbnb.

What are we doing? What am I doing? I used to think I was contributing to a better world.


I've made a few 911 calls, but the last one was pretty surreal.

My partner and I were walking past a high rise where people go to score and in front of us on the pavement we saw a man and a woman trying to wake up someone who seemed on the verge of OD. He wasn't responding, the two were frantic, and everybody was watching from the other side of the road. She was screaming at him and us, saying he is ODed, and get an ambulance, so I called emergency, asked for ambos, didn't give my name, and described that a guy was unconscious and needed medical help. 20secs later we heard the sirens, and we saw the cops screaming down the road in the distance, no ambulance in sight. The man started dragging the woman away, and the previously comatose looking man started re-animating in front of us, trying to get up with great difficulty. With stupendous effort he rose to his feet and then through sheer willpower got his bearings and tried walking on the sidewalk. All together 3 cop cars screeched into the intersection, I put my phone on silent, and like the Truman Show every pedestrian did their bit and started ambling and chatting as if nothing had happened. My partner and I ambled on while my phone rang silently in my pocket and the previously ODed looking guy should have got an OSCAR as he walked (slightly stiffly) in a straight line past the cops. The 6 cops looked around the intersection, observing people and running around looking behind walls for a minute and then sped off. No ambos in sight.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: