HN user

adregan

1,061 karma

Former educator with an M.A. in English/Poetry.

HN@DUNCANREGAN.COM

Posts16
Comments386
View on HN
Local Git Remotes 2 months ago

A decade ago I was working with an intern who wasn’t allowed access to push to any branch. As I wanted him to get experience with the development cycle, I set up a bare repo in a shared Dropbox folder and had him push code there.

Aside from that unique use case, I might consider this for storing code on a network attached drive (archival).

I apologize for taking the conversation off course as it wasn’t my intention, and I also thank you for providing examples of Dijkstra‘a writing. In asking for a recommendation, I was admitting a great blind spot, so you needn’t be breathless from the ignorance.

The only thing that I feel bears repeating is that I also compared Dijkstra to Ken Iverson—a mathematician who worked in the same time period and also taught in North America—who didn’t (as far as I have seen) muddy the waters of his writings/teachings with superfluous insults.

Note that Roger Hui here foregrounds the fact that

Ken Iverson invented his notation as a means of communications among people

(Emphasis mine) and I think that it is important that this fact of APL is conflated against one’s desire to prove a program. A fact which Hui says has little to do with the correctness of the result.

One aspect of the original which I believe you are eliding over, but which I focused on and tacitly referenced (wouldn’t be an APL discussion without a little tacit programming reference), is that in conveying one’s ideas or proofs, one can distract from their point by introducing unrelated jabs or insults. I believe this fact is present in Roger Hui’s writing.

I suppose the thing that stuck in my craw is what I perceived as a personal slight:

Your writings made me wonder in which discipline you got your doctor’s degree.

It’s ambiguous, so I can give the benefit of the doubt. However, if intended as an insult, I believe that goes beyond speaking frankly about one’s feelings about a programming language in a manner consistent with one’s culture.

APL is the only language I've ever dreamt about writing (as in: I could see the characters); I'd dreamt about programming in the past, but those dreams were usually what I would categorized as a nightmare—desperately trying to fix a bug that I couldn't figure out.

Due to my affinity for the language, and my wish to have worked in its heyday (would love to have an APL gig someday), I have been exposed to various writings and recordings of Ken Iverson. I've also been exposed to a few of Dijkstra's thoughts on APL.

I have to say that Iverson generally comes across as a very generous and curious individual while Dijkstra seems to have been a miserable ass. Maybe, given the lens, I've not given Dijkstra a proper chance to demonstrate a more positive attitude, so I'm open to any suggestions of writings where he doesn't seem like such a grump.

APL\? (1990) 3 months ago

Where are these jobs that onboard non-APLers? Asking for a friend ;)

Excited for the new release!

Though looks like `git history split` won't yet replace my typical workflow:

    $ git rebase -i // with e on commit in question
    $ git reset HEAD~
    $ git add -p
As I can't edit the hunk.

`git history reword` will be handy once I wire up a script to pipe the log of recent commits through fzf for interactive selection (not sure if it's just me, but I prefer interactive selection over any other form of reference to a git hash).

And I bet I'll get some use out of `git rebase --trailer`.

I’m not really understanding the notion that these people are so sincere. Perhaps we have different definitions of sincerity.

To my eye, the entire fascination of unsafely injecting peptides in a desire to change your being is largely the opposite of sincerity.

GitHub Stacked PRs 3 months ago

I typically prefix my commit messages with the ticket number to make it easier to spot the commits to drop.

Is that by convention or is there a good reason that it’s so CPU bound? I don’t have experience with CAD, so I’m not sure if it’s due to entrenched solutions or something else.

In the section on security:

One large enterprise employee commented that they were deliberately slow with AI tech, keeping about a quarter behind the leading edge. “We’re not in the business of avoiding all risks, but we do need to manage them”.

I’m unclear how this pattern helps with security vis-à-vis LLMs. It makes sense when talking about software versions, in hoping that any critical bugs are patched, but prompt injection springs eternal.

Last 2 positions I’ve had haven’t had 401k matching and the health insurance costs are eye watering. I might consider an improvement in both to be worth a fair bit.

How are folks navigating the sheer rate of inflation in the last 5 years?

In job listings, I’ve seen salaries for Senior or Staff remain about the same as they were (thought usually edging a little lower), but adjusted for inflation, they are way lower.

If I were to insist on my 2021 salary with inflation adjustment, I’m often blowing past the listed range by anything from 15k to 30k.

With the market the way it is, how are y’all handling that?

For pines, not great. Timber farming was so heavily encourage for so many years that there is a glut and prices have stayed about the same in real dollars for decades.

Solar panel leases are so long (50 years on top of the decade to interconnect), so they come with additional negatives as you are often signing up the next generation for a relationship that they had no say in.

This question may be naive, but why is the agricultural industry so subsidized?

I believe this is the same tune we hear in other industries: it’s the effect of the consolidation of companies which provide the inputs (seed and chemicals) leading to a lack of competition and the increase in prices on a captive consumer base.

When farmers feel the crunch due to macro forces in the market (and tariffs), the government effectively acts as a backstop for the conglomerates providing the inputs. Think of the farmer’s hand as an open palm, the subsidy flows through it directly to the company to which they are indebted (“the money is in the ground” as I used to hear during a brief time in crop insurance).

While these subsidies may have initially began with the quaint notion of protecting against scarcity (as many sibling replies seem to believe), the reality is that farmers are being squeezed just as the rest of us. Profits are way up while competition is way down.

When I was a young urbanite, I might not have believed you if you told me that one day I would gain great pleasure in discovering large blooms of Dog vomit slime mold in the garden, but here we are.

Slime molds are really amazing; large patches spring up overnight and they are so vibrant in color.

I suppose I’m pointing it out to highlight the trade offs with any of these solutions.

What is unsaid is that we need to sequester CO2 for hundreds of years—often far beyond the lifespan of the trees. Trees are short term storage, and sometimes the storage is a lot shorter than popular imagination purports.

The gp's comment wasn't made regarding the look of the operator in its ascii representation `|>` but about the vertical misalignment.

Typically you align a pipeline like so:

     df
     |> rbind(other_df)
     |> select(...)
But these topics are largely left to code formatters these days.

One neat thing about the referenced chapter on macros from Practical Common Lisp is that it's chapters 7 and 8 of a 30+ chapter book. You're only learning about variables in the chapter before and then macros. I like to think about that when conversations about macros always devolve into talking about how you should never use macros.

Now apologies for the aside—and I know I'm likely wading into a very expansive topic and reducing it down to something simple—but why in Rust, if the types are known:

    struct Song {
      title: String,
      artist: String,
      rating: i64,
    }
do you have to call `.to_string()` on things that look a lot like strings already?
    Song::new("Hate Me".to_string(), "Blue October".to_string(), 9)
Couldn't the compiler just do that for you?
Leatherman (vagabond) 10 months ago

I often think of Thoreau when my mind drifts to romanticizing farming:

I see young men, my townsmen, whose misfortune it is to have inherited farms, houses, barns, cattle, and farming tools; for these are more easily acquired than got rid of. Better if they had been born in the open pasture and suckled by a wolf, that they might have seen with clearer eyes what field they were called to labor in. Who made them serfs of the soil? Why should they eat their sixty acres, when man is condemned to eat only his peck of dirt? Why should they begin digging their graves as soon as they are born?

iPhone dumbphone 11 months ago

So you don't have to go through the factory reset if you are fine with having the app store? Safari is the only app I need to excise, and the OS won't let me delete it.

I was using a vertical Logitech mouse but was still experiencing discomfort mousing out to the side of my enormous Advantage2 keyboard. In an effort to head off any compounding RSI issues, I switched to a ploopy Adept trackball. Had no idea if I'd like switching to a trackball, and I love it! My hand never moves in an awkward motion, and mousing has become pretty restful. Better be careful tossing the ball up in the air idly during meetings as I won't be able to get a replacement if ploopy has paused shipping to the US (It's a pretty dumb habit at any rate).

Thanks!

Though hopefully, once the idiom is learned, I'll be able to remember it :)

Curious as to why a scan \ rather than a reduction /?

Is the q solution equivalent? In doing a plus scan, isn't the last element always going to be the largest? To find the largest subarray sum, I would think you'd want to split into a matrix along the `null`s first and then plus reduction and then a max of those results.

Say what you will about clarity, but my mind sort of glossed over the intention in the python and rust code, focusing instead on the syntax, while the q code made me consider what was actually happening.