HN user

bryik

344 karma

I'm a Data Engineer (...really Full Stack) working at Corteva Agriscience in Boulder, Colorado.

website: https://pyrik.dev/

Posts0
Comments66
View on HN
No posts found.

Don't forget the classic film On the Waterfront. Considered one of the greatest movies ever made and adapted from "Crime on the Waterfront," a 24-article series by the New York Sun's Malcolm Johnson that received the second prize ever awarded for Local Reporting, in 1949.

In a vocation where loss of limb (and even life) was not uncommon, prospective workers — in a field disproportionately comprised of working-class African-Americans and whites of Italian and Irish descent who did not benefit from the upward mobility of the G.I. Bill — were forced to offer kickbacks to syndicate representatives at the daily "shape-up," in which prospective workers were forced to compete against each other to secure work irrespective of union membership. At any time, workers could be virtually blacklisted from subsequent employment for arbitrary purposes in the union's "blue books," their jobs often requisitioned by members of the syndicate who were completing prison sentences.

https://www.pulitzer.org/article/underworld-syndicate-malcol...

Interesting post on a library I've used a lot.

Requests has always had modules intended for its use and only its use. At some point, we tried to document them for ourselves and that led to people using them externally and then filing bugs against them. This is a perfect example of 3 adults who did not consent explicitly to the use, but Python says that we must have because we didn't hide them well enough.

I don't understand the problem? It's bad that users reported bugs in internal modules?

A couple years ago I worked on an internal tool for the regulatory division of an agriculture company that involved mapping endangered species boundaries. The Environmental Protection Agency requires the company review potential impact of a proposed herbicide on endangered species inhabiting areas where the herbicide might be used (or drift).

The question of "what is a species" made me go a bit insane. I really wanted a unique identifier for each "species", but kept running into edge cases like species that changed scientific names (so you'd need name + date to resolve it). Occasionally people would refer to species by common name, but a common name can resolve to dozens of different scientific names. I don't think people realize how difficult and awkward it is to build software that deals with ambiguous entities.

This is a tangent, but the US Fish and Wildlife service has a cool tool for exploring endangered species [0]. I had a few issues with the data, but was overall impressed with how easy it was to access and how deep it goes (there are gigabytes of shapefiles representing endangered species boundaries offered in zip files). Preble's meadow jumping mouse [1] had a range so complex that its shapefile was 250 MB, the complete set of shapefiles covering all species' ranges was 2.5 GB--this single species of mouse took up 10% of this! For comparison, the Topeka Shiner's range shapefile was only 147 KB.

[0] https://ecos.fws.gov/ecp/report/adhoc-creator?catalogId=spec...

[1] https://ecos.fws.gov/ecp/species/4090

Create React App is in a strange, pseudo-death state.

- It is not listed as an option for starting a new project in the React docs[0].

- The last release was April 12, 2022.

- The last time I created a new project with CRA, it printed a console log that claimed CRA was deprecated. However, the message seemed to originate from a dependency rather than CRA itself.

All this was enough to convince me to move to Next.js for future projects; though I find Next.js overcomplicated and full of things I will never use.

0 - https://react.dev/learn/start-a-new-react-project

I think you're right that static typing reduces bugs, but I am not convinced the reduction is significant or meaningful. If static typing has a significant effect, then why is the existing research so weak and inconclusive?

I don't understand your point about metrics and measurement. Are you saying the effect of static typing is so small that it is completely dominated by other confounding factors and thus cannot be measured?

If "type bugs are an obvious thing and happen all the time" and "static Typing reduces type related bugs" then it should be easy to demonstrate this empirically. However, "a review of all the available literature (up to 2014), show[s] that the solid research is inconclusive while the conclusive research had methodological issues."

In the 1970s/80s, an hour of minimum wage could afford you about 7 big macs. Now, it will not even buy you one.

The cost of a Big Mac in 1986 was $1.6 according to the Economist's Big Mac Index dataset[0]. The minimum wage in 1986 was $3.35[1] according to the US Department of Labor.

So you could afford at most two Big Macs in 1986, not seven. Also you can definitely afford one big mac with an hour of minimum wage today (minimum wage: $7.25, big mac: $5.36).

0 - https://github.com/TheEconomist/big-mac-data/blob/master/sou...

1 - https://www.dol.gov/agencies/whd/minimum-wage/history/chart

JSON vs. XML 3 years ago

This was before my time, but I believe the WS-* series of specifications is an example.

Like with the original J2EE spec, which sought to complicate the basic mechanics of connecting databases via HTML to the internet, this new avalanche of specifications under the WS-* umbrella sought to complicate the basic mechanics of making applications talk to each other over the internet. With such riveting names as WS-SecurityPolicy, WS-Trust, WS-Federation, WS-SecureConversation, and on and on ad nauseam, this monstrosity of complexity mushroomed into a cloud of impenetrable specifications in no time. All seemingly written by and for the same holders of those advanced degrees in enterprisey gibberish.

https://world.hey.com/dhh/they-re-rebuilding-the-death-star-...

JSON vs. XML 3 years ago

but now we've got JSON Schema, Swagger/OpenAPI, Zod, etc etc.

You don't have to use any of those.

I don't think that's a fair characterization of the "Start a New React Project" page [0]. Next.js is the first option listed and is described as a way to "create React apps of any size—from a mostly static blog to a complex dynamic application."

This reads to me like "Next.js can do SPAs (like CRA) plus static sites and SSR". Next.js' site even says "The core of Next.js has been designed to enable starting as a static site (or Single-Page Application)" [1].

0 - https://react.dev/learn/start-a-new-react-project

1 - https://nextjs.org/docs/advanced-features/static-html-export

To anyone interested in this topic, I highly recommend "Collapse: The Fall of the Soviet Union" by Vladislav M. Zubok. This comment reminded me of one of my notes:

Near the end of the book, George HW Bush tries to convince the US government to provide economic aid to stabilize the fledgeling Russian state but this fails. Earlier in the book there is talk of a "Grand Bargain", a theory that for $100 billion the US could convert the USSR from an enemy into a friend similar to how the Marshall Plan and Berlin Airlift converted the Germans into close US allies. Japan is another example of this. After WW2, instead of razing Japan and Germany as Rome did to Carthage, the US raised them from their knees. It helped rebuild and rehabilitate these countries.

There was no Marshall Plan for Russia. Many of the Russian politicians and economists expected significant economic aid from the West. This aid did not materialize, at least not in the form and magnitude that was expected. The transition from state socialism to capitalist market economy was traumatic; during the USSR the poverty rate was 30%, after the collapse the poverty rate was 80%. The average lifespan of a Russian man was 66 during the USSR, after the collapse it was around 55.

The loss of super power status, of territory, and of economic strength created significant political backlash in the years following the collapse. These conditions promoted nationalism, populism, and authoritarianism which Putin used to seize control. Russia does not have a cultural history of democracy so maybe this was inevitable, but perhaps greater Western support would have avoided it?

Disappointed to hear this. My first job out of university (and the job I still work today!) came through StackOverflow Jobs.

I've only received ~three approaches through StackOverflow Jobs in the past two years, but each was relevant and interesting. This is dramatically different from the weekly approaches I get through LinkedIn which have mostly been worthless recruiter spam.

"Alcohol has been classified as a Group 1 carcinogen (carcinogenic to humans) for decades by the International Agency for Research on Cancer. It's right up there with tobacco and asbestos."

Other Group 1 carcinogens [0]:

- processed meat

- Salted fish, Chinese-style (?)

- solar radiation

- outdoor air pollution

- wood dust

- leather dust

A big problem with that CBC quote is that there is no way everything in Group 1 has the same (or even approximately the same) risk of causing cancer. How could eating cold cuts from a deli be equivalent to smoking a cigarette or inhaling mustard gas?

The risk of dying from lung cancer before age 85 is 22.1% for a male smoker and 11.9% for a female smoker, in the absence of competing causes of death. The corresponding estimates for lifelong nonsmokers are a 1.1% probability of dying from lung cancer before age 85 for a man of European descent, and a 0.8% probability for a woman.[1]

*This* is the kind of smoking gun they should be showing; ~20% increase in the chance of dying from lung cancer for men who smoke. How much does alcohol increase chances of dying from cancer?

0 - https://en.wikipedia.org/wiki/IARC_group_1

1 - https://en.wikipedia.org/wiki/Health_effects_of_tobacco#Canc...

Exactly. I think it is reasonable to ask candidates to demonstrate basic programming competency, but "gotcha" questions are terrible.

Consider the interview question: "Write a function that can detect a cycle in a linked list."

Between 1955 and 1967, the problem of “how do we determine if there is a cycle in a linked list without modifying the list or using an extra memory” was a essentially an open problem. Meaning, any number of PhD candidates in Mathematics or Computer Science could have written about it as part of their dissertation. With all of those hundreds and hundreds of minds, this problem remained open for 12 years.

Do you honestly think you could, in a twenty minute interview, from scratch, come up with the solution to a problem that remained open in the field for 12 years, all under a pressure far more intense than any academic? Seems pretty damn unlikely, the only reason you think you could do so is that you’ve heard the answer before, and it seems obvious and simple in retrospect. In other words, “a-ha!”

https://www.nomachetejuggling.com/2014/06/24/the-worst-progr...

Also a Tachyons fan. I looked at TailwindCSS, but stopped at the installation section. The recommended path to get it working with Create-React-App is to install a bunch of JS packages (PostCSS, autoprefixer) and to layer on another tool over CRA (craco)? No thanks, I'd rather just <link> tachyons.min.css and move on.

And reddit is not dynamic enough to encourage relationship formation.

What do you mean by "dynamic"? I think the reason it can be hard to make friends on reddit (and other social media) is because friendships require repeated meetings. The population of reddit is massive and the mechanics of the site make repeatedly meeting the same individual unlikely. Also, the design of reddit can make it difficult to recognize people (they'd need to have a distinctive and memorable name).

Discord fares better because there are many small communities and hanging around often results in talking to the same people repeatedly.

Backblaze S-1 IPO 5 years ago

According to Backblaze's calculator[0], it would cost $4,800/yr to store 80TB on Backblaze B2 and you're storing it for $60/yr. Cases like these are why unlimited storage plans don't make sense...

Also it irks me that the personal backup plan forbids network drives [1]. I can't backup my 4TB NAS but 80TB is fine because it's stored on one machine?

0 - https://www.backblaze.com/b2/cloud-storage-pricing.html

1 - https://help.backblaze.com/hc/en-us/articles/217665478-Why-d...

There is nothing functional about React.

There is literally an example React component in that article that the author calls "pure and referentially transparent". How can this be if there is "nothing functional about React"?

Canistilluse.com 5 years ago

We’re on a long, slow path to deprecate and remove window.alert/confirm/prompt and beforeunload handlers due to their role in user-hostile event loop pausing, as well as phishing and other abuse mechanisms. We’ve been successfully chipping away at them in various cases, e.g. background tabs, subframes with no user interaction, and now cross-origin subframes. Each step is hard-fought progress toward the eventual goal, and we should consider carefully whether we want to regress, even in an opt-in manner.

https://groups.google.com/a/chromium.org/g/blink-dev/c/hTOXi...