skysight-inc/HackerNews huggingface dataset:
I disagree with this - I would agree that most projects don't end up making serious bank but I've seen a pretty impressive diversity of things being represented on patreon and taking in enough expenses to easily cover overhead costs.

If you are working for fun on an artistic/creative endeavor then you'll often need to cut personal corners to keep a real job to keep the lights on but you can seek and receive funding to prevent that hobby from becoming too much of a cost sink. This is also starting from the fact that your goal isn't to build a megacorporation (at least I didn't read it that way) - you're looking for the freedom to build a thing you want to build. You absolutely will pay a personal cost for that freedom, but the internet is a pretty diverse place where I wouldn't be surprised if you could find people willing to subsidize your work.

Like most people pursuing a passion project, it's wise not to quit your day job and throw everything in the basket initially, but if it's something you want to pursue it you can find funding to help lessen the costs you'd otherwise need to pay out of pocket.
https://www.c-span.org/video/?509554-1/president-biden-congr...
I just remembered I had this book above my desk. In Sterman's Business Dynamics, chapter 1, he has two diagrams of the "learning loop" (pages 16 and 19).

In my mind, the benefit of agile is that it encourages a movement towards the double-loop learning model (pg 19), which is a struggle for many people and most organizations, from a single-loop learning model (pg 16) (assuming there is even a learning loop present at all).

The single-loop learning model:

Mental Models of Real World
|
v
Strategy, Structure, Decisions Rules
|
v
Decisions <------------+
| |
v |
Real World |
| |
v |
Information Feedback --+

Note that the loop only goes back to the decisions, not the mental models and strategies.

The double-loop learning model (another ASCII art attempt) closes the loop and brings the feedback back to the mental models (using abbreviations to shrink it a bit):

MM ------> SSDR
^| |
|v v
IF------->Decisions
^ |
| |
+--- RW <---+

Agile promotes exactly this sort of thing, which many process-centric organizations do not. Waterfall doesn't promote learning. Most processes, as written or as implemented, fail to promote this learning and updating effort. For people willing to step back and read the Agile Manifesto, to read some of the texts on Lean (manufacturing or software), to read about the origin of the idea of DevOps (rather than assuming it's a job title), to read about the Theory of Constraints, you'll see this continuous learning and improving element is common to all of them and to many of the case studies. It's not about standups, it's not about time boxing, it's not about cross-functional teams. It's the ability to introspect, learn, and adapt.
My internal narrative is there but it keeps arranging concepts with only few labels attached to them. When something interesting/important comes out of that I may think about it in words but then I subvocalize it, there's no independent inner voice.
strlcpy() isn't standard. You have to provide your own implementation if you want your code to be portable.
> All I know is, i've had a lot of great conversations that started with me or someone else asking.

> 'Hey, where are you from?'

Once in Hong Kong I asked a taxi driver of Indian descent where he’s from, and felt awkward when he responded “Hong Kong”.

This was a failure of applying the golden rule on my part, as I hate when others ask me that.

I’m personally starting to think that, when strangers get together, crowds where there’s less profiling going on are where more interesting conversations tend to happen—and I really tend to take “where are you from?” as a fundamental profiling question (some don’t use it this way, but too many do).

At the same time, perhaps paradoxically, the individual self-confidence that allows one to easily respond “yeah I might look X but I’m actually Y, yadda yadda” is also a great thing.
This hypothesis fails to Occam's razor.
A few days ago people here were discussing the quadratic sscanf() behavior. strlcpy() has the same problem.
Could you specify which cultures you are referring to?
The Hidden Forces of Tempered Glass
>The cost of storing waste is minuscule in comparison to the amount of electricity generated. Europe's waste repository in Finland costs ~800 million Euros [2]

If this repository is planed for 100 000 years (in germany it's 1 mio years) that are 8000€ a year. That doesn't sound like a realistic number to me.
And it's by no way europes waste repository, it's for the 2 finnish nuclear plants.
One year parental leave in the countries I am familiar with.
Favorite quote, about 9m in: "I had a group of folks in my office not too long ago [...] house members, democrats and republicans [...] walk over [to my moon rock] and said 'this is actually a moon rock?' ... "and I jokingly said, you ain't seen nothing yet, wait 'til you see what comes home from Mars"
https://archive.vn/PuBMC
Youre absolutely not alone. Im reaching a breaking point where I would not care how society treats Im bot going to let the new puritans take over.
I had 100/100 back in 2002.

Now, I have 10000/10000 symmetrical fiber which sets me back ~$45/month.

This article (and discussion) make me feel privileged :)
This article reminded me I haven't logged onto facebook this year. I try to log in once a month in case someone is trying to contact me through it.
You entire comment is monstrous bigotry of the modern. The B-2 was in fact the first large, complex product ever built entirely from a CAD database - a factor in its huge cost.

As a CIM Manager for a major B-2 subcontractor, I can assure you they knew what they were doing. Yes, even 30-35 years ago. Yes, they knew as much or more then than we know today about BOMs, manufacturing, CAD, digital records and archiving, documentation and configuration management, and everything else. (BOMs weren't in SAP, but they were in mainframe DBs, ERP systems, and CAD systems, some of which are still sold and used today.) I have literally never worked on any other program in my entire career that was as well-run and orchestrated overall as the B-2 program. (We called it ADP-101 at the time, and for the first few years, we didn't even know what we were working on!)
> Do these extra bureaucracy layers, meetings, checkmarks and vague "man-points" estimates actually bring any value.

Seems like your company is doing it wrong;) Agile is supposed to 1. remove bureaucracy, not add some; 2. adapt to the situation. Before Agile, you would read specs and implement them, and those specs had been carefully written by a team of analysts (8 people for a year). Any change to specs had to circle around the analysts and customers. Agile should first be an improvement on top of that.

But if Agile is still getting in your way, seek to remove that too, and your managers will be happy. Agile should be about adapting. Anything that does not bring features is unnecessary.

Last note for humor: “The wrong way to do Agile” depicts how things actually happened in Waterfall: https://youtu.be/l1yWusiaLCM
How to I become productive in python?

My most productive language is C# because of visual studio + intellisense / strong static typing /LINQ.

I’m trying to do some ML stuff just now and it seems so slow. Maybe it’s because I’m trying to learn the python syntax as I go. Any tips?
One great thing about higher upload is the ability to host your own content, be a tor node, release decentralized software platforms that can actually work.

Imagine if people could just buy a premade raspi that hosted their social media page, ddns, etc.
This way you would trade in a null-byte-terminated variable length string for essentially a null-bit-terminated variable length number (plus the remaining string). I am not convinced that this actually would be much safer.
Also, if you feel stuck, please let me help you customize your webpage (live chat, comment on HN, email at atatomir@linkwall.me). I want to learn from your interaction with the website and build what you need.

Thank your for your time!
> Tickets and tasks should result in adding value to the business

I mean, they should but its not always a direct path. Resolving tech debt should speed up delivery of future products and features. Do businesses actually understand that reasoning... not really from my experience. This is really just a lack of understanding or appreciation of nuance for how software is developed by non tech companies that have been forced to hire engineers and create engineering departments.

> Agile helps you accomodate to them leaving by splitting the work to small bits and having no single owner.

This only holds true if you have a team structure and organization that prevents specialists and keeps everyone as a generalist. I don't believe that's actually possible...

Instiutional knowledge is massive, and I feel its often vastly undervalued by companies when engineers decide to leave.
I have worked in projects where agile/scrum worked really well and on other projects that it did not work well. Since the process is so variable, I think it is bad for software delivery.

The parts I didn't think worked:

* Retrospectives which had no actions as an outcome

* Daily stand ups that were led by a project manager who discussed each persons work 1 to 1 within the group

* Bugs not really fitting into the flow of work

* A poor planning session can set up a bad sprint

* Sprints often ending without any working software

* Team members working in silos

* Outside dependencies blocking work

* Estimating turning into 'how many hours will this take?'

* People reporting working on two or three things every standup

* and the worst imo, work not on the sprint board that must be done
It's asymmetric, providing far less upload capacity than download.
To be fair, disabling JS seems to be an extremely fringe thing to do and using resources to accommodate it should be a hard sell. I've only ever actually heard of people doing it here on HN.
Ah I see the confusion.

No I meant it's easy to just not send those cookies back.

At the very least it is not harder than letting the browser profile you and choose what it should and shouldn't share with advertisers.
I realize it would be an incredible long-shot, but I wonder if anyone will ever find an amulet that also has four eights in a different hash function.
Cheers.

Its a fight for attention! I often do long comments, but sometimes I'm try to get things down to a concise yet witty nugget ;)
On the contrary, I think "Strings are just character arrays are just pointers" is the solution, not the problem. As with non-character arrays, you must always pair the pointer with a length. (I don't like the idea of prefixing the length because it prevents su stringing).

The problem is the null termination, which is not general to arrays (though it is sometimes used with arrays of pointers).
I'm not sure what you would call it, but is there any research into the dilemma that exists when an artificial intelligence surpasses its creator? How exactly would we evaluate its decisions?

I'm not suggesting this example is the case, but with AlphaZero, for example many of the moves are beyond an average players comprehension. What happens when it's beyond the greatest of us?

Exciting times are ahead!
It's fine, but you need network layer authentication and authorization. You don't want someone with network access to be able to act as any user -- i.e `kubectl port-forward important-app 80; curl -H "Remote-User: the-ceo@you.io" -X DELETE localhost/fire-all-employees`

So you need some way for important-app to be able to recognize that the remote-user header is valid. You can use mTLS and make important-app reject connections from anything that doesn't present your proxy's client certificate. You can sign the header. The header signing is pretty popular; google's Identity Aware Proxy sends a JWT there.

I have written an auth system that's done this twice. For the first iteration I used JWT. For jsso2 I use a PASETO-signed protocol buffer. Neither of these implementations has any support in the wild, so whatever you choose, you will be modifying the code of every app you run.

There is some support in the open-source world for your suggestion; there are many pieces of OSS that support a raw username in a header. Grafana does, Dex does (allowing you to pretend this is all OIDC for apps that don't support headers). But... it's pretty insecure. It means that you trust anyone who can run apps in production or access the network to act as any human user. No serious company would accept that; you can't let random engineers pretend to be the CEO in the HR system.

(That's another argument against self-hosting auth; insider risk is higher.)
No. Scrum is a horrible way of working that disempowers developers, silos them away from stakeholders and customers, and prioritises middle management over product designers. Its only selling point is the juxtaposition against the straw man “Waterfall”.

Scrum is incompatible with Agile principles.
Keeping things is NOT free, especially for physical things like tooling/fixtures/equipment. It actually costs a surprising amount of money.
> You can't actually know whether the outgoing side of a TCP socket is closed, unless you write something to it

Wouldn't setting appropriate net.ipv4.tcp_keepalive_* and trying to read work?
It always makes me wonder if there's some hidden overhead that I'm absorbing. When I program in C I feel like I know a lot better what the generated instructions will be. Using higher-level languages for embedded programming where resources are tight makes me uncomfortable.
It’s great in theory and sometimes in practice. However it’s also a dangerous tar pit for rule followers.

Whatever you do, make sure you review all procedures to decide if they make sense for your team. Don’t follow them blindly.

Kanban is an approach with less ceremony.
Yeah, I wonder what their long-term plan is there. Surely to get substantially better, they'll have to move off Bing at some point (or buy Bing off Microsoft!). In any case, as long as DDG is a "privacy-stripping proxy" (which I believe it is), it's just using Bing technology as a search API, which doesn't seem too problematic.
How so?

You could structure your IT department as a flat organization (and I think it's indeed a good idea), but how would you fully adopt agile principles when they consider users as part of the team? How would you favor interactions over processes while stakeholders from the other side manifest low ownership levels or even sabotage the project (if they see the project putting their jobs at risk or when their managers don't give the project a proper level of priority)?

In theory it makes sense, but experience shows it's impractical to apply Agile principles on such environments without some adaptation.

I've already worked under such arrange (scrum + flat IT department inside hierarchical organization). It worked great for my project, but I was lucky to work with a competent and collaborative key user. On the other hand, some colleagues of mine faced issues. I suspect that their projects would have been more successful under a different, slightly more bureaucratic approach, given the sort of users they were working with
As the first author of that paper, I approve of this link.
Sort of. Rust actually has special marker traits called Send and Sync which tell the compiler if a value can be passed between threads, and if so; if it can be accessed concurrently. It is the job of a type which implements Send/Sync to actually guarantee that any access to that type satisfies what the trait implies, as well as the rest of Rust's ownership and borrow semantics.

For example, the difference between Rc and Arc is precisely this marker trait. Rc just holds a box with a reference count and some other object in it, while Arc actually enforces atomic access to the reference count. You can't hold an Rc in multiple threads because it doesn't Sync accesses, and you can't Send it across threads because someone else might hold the same box. Meanwhile, both types do not provide mutable access to their contents at all: you need another locking primitive to ensure the contents of the box follows ownership and borrow semantics as the compiler intended, if only by punting the check to runtime.

(And yes, that means Rust technically has single-threaded locks. They're still useful, albeit extremely painful to work with.)
Sometimes I wonder how much of this idea of "maternity = bad" is self-imposed and/or a false impression.

> When I mention it to someone that I want to take time off for a couple years to have children in silicon valley, they look at me as if I'm an alien.

Is this really that common? As an anecdote, a few years ago, my kid's preschool teacher announced she was quitting half way through the school year due to health reasons. When I privately asked if everything was ok, it turned out to be that she wanted to have kids of her own. I was relieved and totally supportive of her decision: everyone ought to have the chance of choosing the life and family they want to have.

I can see how a certain "why would you want kids" attitude might come out from some young folks, but I think it's not so much that they're judging you personally, but more that they are expressing their own preference for not wanting kids at that stage in their life.

As for gap years, I know someone who got into software development relatively "late" in life (coming from the culinary industry and doing occasional freelance web stuff). My mom took some very long gaps and still had no problems working afterwards. The idea that one has to toil without gap years or else be banned from the industry forever is a myth. As you said, I think the mantra "if there's a will, there's a way" is very true.

I also see the shift in priorities over the years being very common, and I don't think there's anything inherently bad about changing one's mind about whether kids are more important or even the reverse (deciding that career work is more fulfilling than being a housewife/husband after all).
South Korea builds nuclear plants in < 5 years. Japan < 4 years. https://www.koreatimes.co.kr/www/news/biz/2016/10/123_215869...
DOCSIS 3 (from 2006) can do 100/100 over cable - it's the decision of the provider not the technology.
This company looks to be pre-revenue and raised a $20mil seed in late 2019. Although I like the ideal of everyone being valued the same - this may be easier to do when the company has plenty of VC cash and just needs to make cool stuff. Over time, people who are more committed and more experienced will emerge.

Are the founders going to get the same pay as the new admin hire in year 4 when there's only 1 year's runway left?

Who's going to leave first - your junior sales hire on 170k, or the sales hire that has been with the company 4 years, has a book of business that generates 5x more revenue (that is now helping pay for this salary policy) and has only received 5k raises each year?
Socialism would be more like every employee getting the same share of ownership of the company as every other employee.

These folks are explicitly looking for mid to late career, highly skilled people. Those they don't hire they're not arguing need to be paid the same. I'm pretty sure they don't have a pool of receptionists and custodial staff making the same as the founders. Those positions, if they exist, are likely done by temps or contractors.

When they mention that the pay may not stay uniform, they might be talking about creating junior positions and operational positions like technical support at a lower rung, even if the ladder stays to very few rungs.
National Public Radio?
National Performance Review?
Non-photorealistic rendering?
I think you need to separate Agile from Scrum to be honest.

Agile is at is core just some suggestions for teams to work well together. There are no stand ups or sprints or whatever.

Scrum was created by one of the creators of the agile manifesto as a way to see consulting/training around the 'Agile' idea (timeframes may differ a bit, but they were linked). There is an interview/article by one of the creators of the agile manifesto (Kent Beck maybe?, will try to dig it up and edit the answer if I find -> was Robert C. Martin, see below) where he explains a bit the story and compares it to Agile (and basically says scrum has nothing to do with the original agile manifesto)

On a personal level, I hate scrum. The stand ups, the sprints, the retros or grooming or whatever they have nowadays. It is literally one of the first questions I ask in an interview about their processes and excuse myself from the process if I see if they follow it. It may work for others, but for me personally, I hate it with a fervour.

Though I agree with the Agile manifesto though, unfortunately it isn't very 'manager' friendly so you usually get scrum instead.

Edit: link to a reference to the article, can't find the original but found this: https://www.aaron-gray.com/a-criticism-of-scrum/#scrum-strai...
Seems like giving you control over what your client sends is a good way to achieve that. You're the one deciding what's being sent - as it should be.
A reasonable definition that I have applied in the past is "an activity that has negative consequences, but which one feels compelled to participate in anyway."

Withdrawal isn't actually required for someone to be addicted to something; they just have to want to keep doing it, even though it's obviously bad for them.

This definition still has flaws; am I "addicted" to eating unhealthy food? Etc.
The problem is that while all you say is true, and we can’t have it all, the media’s message is always that you can have it all. By the time we realize it was all a lie, corporations won even if a person wouldn’t have selected that path.
We generally only reverse-engineer technologies from elsewhere (no, not other countries...)
Try:

git blame -w -M

This will ignore whitespace and detect moved or copied lines.
I don’t think the community expectation is that any given project post is a self-post unless it is prepended with Show/Launch HN.
Thanks. I ask that question a lot on here and I think your first bullet point is the first really substantive answer I've gotten. It's an interesting paper.

I don't have time to read the rest of your links, unfortunately. However, I'm uncomfortable appealing to Haskell (or Ocaml/Scala) as evidence that category theory provides core abstractions for programming. It's true in this context, but only because Haskell was designed to make it true. I am skeptical that category theory has much to say about practical work in the languages used by most programmers, like C, javascript, and python.

Anyway, about HoTT: I don't think it aims to accomplish what you want it to. Its primary concerns seem to be 1) formalized math and 2) serving as an alternative foundation to ZFC. But if it eventually does what you want, great!
How do you measure impact?
Few pro athletes suffer heart problems after Covid-19, leagues' study shows
PyTorch 1.8
Unions are more like, everyone gets paid based on how many times your body has been around the sun.