skysight-inc/HackerNews huggingface dataset:
You need to refer to your own ideas as inane and to your following as a band of idiots because you know that is how the average reader likes to think of those, how they think of you as a random person on the internet.

I've had more than enough feedback. Only one item remained that was useful, it boils down to: If you think topic X is worth exploring go do the f* work so that you can have a conversation with people who know something about X. They shouldn't care for your thoughts if you know nothing about the domain, they will bother to listen if you know the basics, they will give you time, attention and wonderful feedback if you know the topic well. They don't want to be your helpdesk, they want an exchange of thoughts. You will also be able to judge how great their expertise is which helps a lot ignoring and avoiding [negative] feedback from people who know nothing, are unwilling to learn and/or unable to think constructively about that what is important or precious to you - like exploring your imagination.

I have a thousand great ideas that exist only in my head. At any time at least 999 of them are not progressing.
It is unfortunately much trickier because keyword lists are also optional. So what happens if opt2 is not given? We could raise but... since they are optional, we wouldn't want it to raise but rather have a default value.

Of course, we could then say "let's allow a default value to be given when pattern matching keyword lists". The problem is that no other pattern works like this and it would be inconsistent.

I think optional arguments are fundamentally incompatible with pattern matching (in Elixir). I understand why we would want that but, if we did have it, we would be adding tons of complexity and it would stand out as a sore thumb. I am also wary of going towards the same direction as Ruby and Python which have quite complex argument handling (albeit we have slightly different feature sets).
Homeschooling Around the World: Cecily
How many non-tech grandparents have ever needed an IP address? I don't think I've needed one, other than 8.8.8.8, in 5 years.
There are L5 engineers with 3 YOE making 900k+ at OpenAI right now. Tough to say what they're paying their PhDs, but I'd imagine it's similarly nutty.

https://www.levels.fyi/companies/openai/salaries/software-en...

FAANG pays exceptionally well (I'd know), but what's being offered at OpenAI is eye-popping, even for SWEs. I think they're trying to dig their moat by absorbing the absolute best of the best.
Oh no, those poor innocent institutions having to suffer from low public confidence. How could this have happened to them.
I do wonder if things would have been fine if had just added another octet. We would still have had enough addresses to not need more for the forseeable future. Some may disagree, but a trillion addresses are fine for human population which is going plateau soon. I am not a network engineer, but I believe it would have been far easier to make the two versions interoperable. The number of addresses possible with IPv6 are too much for its own good. The ranges are absurdly long and far apart. Add to the difficulty to communicate and understand an address filled with hex-codes. I think IPv6 solved more problems than that were actually needed.
> team because all report to same manager

That's actually not been the case in many teams I've worked on - but we have all been working on the same set of related products (or subset of a product). Actually the managers often weren't even in the teams. I foolishly assumed that's how most people used the term "team"...
I have a dumb question as a non-SWE who is curious about software engineering.

I've heard "feature flags" are popular these days, and I understand that that's where you commit code for a new way of doing things but hide it behind a flag so you don't have to turn it on right away.

Now, if I want to test in prod, couldn't I just make the flag for my new feature turn on if I log in on a special developer test account? And if everything goes well, I change the condition to apply to everyone?
People get billions out of lots of dumb stuff.

I’m reading the Power of Habit by Charles Duhigg and just heard a story how the toothpaste craze in the early 20th century was started by Pepsodent linking toothpaste to people feeling the film on their teeth. But this film isn’t bad and toothpaste doesn’t do anything to help with it. You can get rid of the film with anything, like eating an apple.

It’s dumb that people would feel this film and want to use pepsodent to brush away the film. But they made billions.

Lots of dumb things make money. Doesn’t mean they should. And certainly doesn’t mean they should to the limitation or destruction of other value (in this case maximalist copyright laws are endangering the preservation of culture).
Here:

https://web.archive.org/web/20110202162233/https:/www.salon....

While doing research 12 or 13 years ago, I met Jim Hansen, the scientist who in 1988 predicted the greenhouse effect before Congress. I went over to the window with him and looked out on Broadway in New York City and said, "If what you're saying about the greenhouse effect is true, is anything going to look different down there in 20 years?" He looked for a while and was quiet and didn't say anything for a couple seconds. Then he said, "Well, there will be more traffic." I, of course, didn't think he heard the question right. Then he explained, "The West Side Highway [which runs along the Hudson River] will be under water. And there will be tape across the windows across the street because of high winds. And the same birds won't be there. The trees in the median strip will change." Then he said, "There will be more police cars." Why? "Well, you know what happens to crime when the heat goes up."

From looking up that link and double checking it for you, apparently the guy telling this story now says he mixed up 20 years and 40 when retelling it, so he says Hansen's original prediction was always for 2030. Doesn't matter, the claim is still just as wrong. The West Side Highway isn't going to sink beneath the waves in a little over 6 years, nor is there going to be tape across the windows, and the crime rate in New York has fallen over that period.
I'll keep my orbs in my sockets thank you very much. Bloody freaks.
https://archive.ph/YyAn5
> for human population which is going plateau soon

It's not an address per person any more, but an address per IoT device or connected sensor, which might continue to grow even if population doesn't.
Show HN: Live Stream Giveaway Tool to Engage and Grow Your Audience
A tool that allows you to add a giveaway to your live stream. You can collect entries by getting viewers to comment and draw random winners either manually or automatically with a set timer. It's a great way to grow your audience and engage with them in a fun and exciting way.
If you are comming from front-end side (javascript, typescript, react) then sure. But for me who didn't touch front-end since 10 years and did mostly: Java nad C++, Objective-C, Swift, Python there is no easy way to learn the React Native ecosystem. I tried RN last week and I been all the time googling to figure out all the choices:

1) should I use nvm, n, nodenv for for nodejs management? Should I use script or homebrew?

2) what's the difference between npm, npx? Why npx giving mi different version number than node? Did I had some old version of nodejs from some dependency when using homebrew? Will it bite me in the future (those all questions were in my head)

3) should I use expo cli, ignite cli, react native cli?

4) expo vs repack vs vite vs capacitor vs tauri

5) webpack vs metro vs swc vs esbuild vs rollout vs sucrase...

6) vanilla react or next.js or react native or solido?

7) what ui kit to use? native-base? tamagui? react-native-paper? They all sucks in some way comparing to flutter proposition

8) should I use style-components? emotion? tailwindcss? nativewind?

9) should i use vanilla javascript or typescript? (is learning typescript straight away is too big to swallow in one bite?)

10) learn vscode shortcuts + figure out which plugin to install and how to setup

11) JSON config hell in RN for everything: postcss, vite, tailwind etc.

12) react-navigation vs react-native-navigation vs expo-router

13) redux vs mobx vs mobx-state-tree

React native feels to me like thinkpad + dekstop linux: you like the philosophy, crossing finger it gets better and less fragmented and working out of the box

But in the end you end up buying macbook with macOS (feels like flutter) even though you hate apple solders stuff and it's gonna cost you a lot of it breaks and apple giving you limited choices and too much constrained walled garden.
Feature flags are just code, like the rest of the software. You can program any feature with it, including auto-enabling it given appropriate circumstances (e.g., the user is logged in to a developer account). Of course, that doesn't work for features available without requiring an account.
China Hacked Japan’s Military Networks
I always feel one of the under appreciated features of zfs on freebsd was how nicely it was integrated into the whole operating system. that is, it is easy to boot off a zfs drive in freebsd.
I disagree with some of the things the article describes. Not that they aren't real or that the world works differently, but with those things themselves. For example:

(1) It should always be ones goal to improve ones technical skills, not only in the beginning of ones career. Too often have I seen bad code or lack of knowledge about computer programming concepts, that people ought to know, considering the time they spent in their career. Those things will result in "solutions" but those solutions might not be the most maintainable and understandable. Fine if you switch jobs every 2 years and never have to deal with the aftermath, but not fine for people, who value quality. All your communication skills won't make up for a brittle base due to insufficient technical skills.

(2) To let others dictate, how you develop professionally, being the ultimate yes-sayer. Improve the way you yourself value and see as important and stick to your guns. Not everyone needs to go along career paths that some company with mediocre management has laid out for them. Not everyone needs to become a talker.

(3) Perhaps the title is a bit too extreme. Code can be the solution. Good code even more so. Personally that's what I want to do. Write code to solve problems. Of course, only write it, when it is necessary. Who wants to write code only to have it be discarded, because it was not needed in the first place. (OK maybe sometimes one does, for the learning experience.)
I was always surprised at how the Ruby community talks about DSLs when using Ruby classes and catch all methods, overloading, etc. Nothing bad with it, but I feel it is not really a language, just very dynamic Ruby code.

A DSL that is a string, while having some downsides, does not have the arbitrary limitations of the "host" language. Either approach has its pros an cons.
I think you’ll find the real transition to be a lot quicker than that. All it takes is one of the big companies drawing a line in the sand because they’re unable to buy enough IP addresses, so they finally take a stand. Just like when YouTube nailed the lid into the coffin of ie6.
The hardest class, in terms of failure rates, in first year CS in my university was Discrete Mathematics. I got an A- and was pretty proud of myself.

In third year, I became a TA for the course, marking assignments and hosting tutoring office hours. That's when I discovered that apparently I had learned nothing when I got that A-.

Teaching a subject requires you to actually understand it, and not just know enough to pass the test.
I realized too late that objects, as of now, are not capable of synthetizing a new class/type based on joins.
I use virtual cards from privacy.com for all of the stuff I pay monthly for, including most of my utilities. Those cards are linked to my bank account; no physical cards involved.
Feature flags sound great, but a company I’ve been consulting for has been using them to their own detriment. Seems like many bugs are due to a (production!) user not having the right combinations of flags enabled.

There ends up being code to deal with what happens when various combinations of flags are on/off, and that code doesn’t get tested much.

And teams spend a lot of time just removing flags.

This isn’t a safety-critical app - I really think they’d do better dropping the flags, and just deploying what they want when it’s ready.
Yes, this is a relatively common practice. There’s of course still the chance you make a mistake setting up the feature flag and bring down production/expose the feature to users who shouldn’t have access.
An to be clear, these sort of libraries have been available in c++ for at least two decades. Someone only bothered to get through standardization for c++20.
I find it interesting that countries give up on their own currently, with all the power it brings, to use an external currency.

I guess the dollar is the best option as it’s easier to adopt than gold or whatever. Perhaps the euro, but I guess the dollar is more widely used. And the dollar is less manipulated than the Yuan.

I guess the efficiency of not having to run a mint and the giving up on local corruptions and manipulations is a worse harm than being helpless against dollar inflation or whatever.
I thought this was a great article! I've used Elixir professionally for several years and it all rings true to me.

The bit about Keyword lists I think doesn't mention the biggest aspect of it as I think about it: erlang compatibility. I don't think they make a ton of sense in a vacuum, but a list of 2-tuples where the first element is an atom has been the convention for function arguments in Erlang for a long time, as I understand it. And so Elixir kind of adopted it as well, since it inter-operates with Erlang so much and so well. I think a good "map" implementation wasn't even available in the early days of Erlang?

So, basically I just kind of "go with the flow" and use keyword lists for the final `opts \\ []` parameter of a function, but basically nowhere else.

I also agree with `for` comprehensions. I use it when meta-programming function definitions, but hardly anywhere else.

Also, I forgot that `unless` even exists! I don't think I've seen it in any code since my ruby days 7 years ago.
> Apple requires app store apps to function on IPv6 only networks since 2016.

Oooh, I think that's really big. That basically forces every app company to make sure their main domain at least has an AAAA record that goes somewhere.

I think Apple could force IPv6 adoption alone by extending this policy... An iPhone update could change the behaviour to only connect to a new wifi network if there is working ipv6 connectivity. "new" would be defined as any network whose mac address is not currently in Apples geolocation database.

That would mean anyone getting a new broadband connection or router would see it as not working unless it had IPv6.

Perhaps you can have an override - eg. "Use this legacy network anyway this time (some apps may not work properly)".
You are right. After several iteration this is definitely not how it works.
The entire article implied it.
It is literally the subject of the article.

From the article:

>"It’s about real estate"

>"Corporate landlords currently hold $1.2 trillion in loans on office towers all over the country"

It is being a bit pedantic to argue around what a 'CRE Investor' IS. Who 'owns' versus who has a 'lease' since the 'lease' is still a debt obligation. And you don't have to be specifically a 'CRE Investor', you just need to own or lease a lot of CRE to be impacted.

Here is better response from this thread:
https://news.ycombinator.com/item?id=37113486

-> Corporations own a lot of corp-real-estate

-> that corp-real-estate is now empty and under-utilized

-> this could lead to a corp-real-estate market crash

-> SO companies have a 'Motivation' to require people to return to the office to fill those offices.

She cited other sources.

https://finance.yahoo.com/news/500-billion-office-real-estat...

https://www.npr.org/2023/05/16/1174938708/commercial-real-es...

https://www.nbcnews.com/business/economy/empty-office-buildi...

https://www.npr.org/2023/05/06/1174468821/companies-are-defa...
Memories of Lotus Organizer
If any western goverment had the balls do offer Edward Snowden asylum and a competent security detail he wouldn't be stuck in Russia. He tried to do the right thing and our oh so principled governments just wanted to shoot the messenger and hide the body along with the other evidence of their crimes.
And red is a color, love is a feeling, and a chair is a piece of furniture. What's your point?
There was also a switch in narrative - early lockdowns were meant to contain the virus while it was changed to "flatten the curve" for the longe lockdowns. Its not unreasonable to be in favor of the former but not the latter.
I'd previously tried Conventional Commits but I found the number of labels they suggest too many to keep in my head. The labels in post map well to how I think about comments.
> Hey, if you ride enough, the fitness would render an e-bike mostly superfluous.

Nice!

I love this YouTube channel: https://www.youtube.com/c/notjustbikes
If you don't know it, take a look!

I just wish public transport here was more reliable and available during more hours. Yeah, it might be one of the best in the world, but it's not without problems... For example, after midnight don't trust you'll be able to get back home until 7a.m. if you're far away.
Show HN: Building a tool to help overworked cybersecurity teams with no budget
There is too much of everything in cybersecurity. Noise, FUD, unfulfilled sales promises, incidents, things to address, information to process, technologies to look at, people to educate.

I am working as a CISO and it's mostly my job to raise awareness, understand all the risks, track all current issues and prioritize them, and be able to communicate all that with proper references and examples to our management team.

I've been building and dogfooding a tool that ingests much of the noise and provides focused notifications per cybersecurity topic and regular awareness texts.
The idea was to help me filter, decide and prioritise.

But I see value in being able to use the same information to help everyone on the internet, but most importantly the people tasked with cybersecurity spend less time processing input data, working out what and how to educate people and finding supporting facts and references when talking to the decision makers.

BeyondMachines delivers email messages of filtered and easy to read notifications, knowledge articles and statistics to enable the one-man armies of security do their magic. We are also building a dashboard to help with trends and statistics - because they make sense when put in proper context.

The core notification package is free forever - notifications that impact all of us, for Operating Systems, Mobile Phones, Applications that we all use and awareness that we can all benefit from.

Unfortunately we can't not have a registration since it's a notification service. But it's super easy to register and to unsubscribe. We only get an email address, and we delete it once you've unsubscribed from all topics.
I can answer about the audio.

YouTube (and most other streaming sites like Spotify etc) use something called ReplayGain. It's essentially a tag that specifies the calculated average loudness of the video/song/whatever (this number is calculated at upload time).

Upon playback, the official YT client knows to use that tag and adjust its volume level accordingly, but I'd imagine either the tag isn't getting downloaded, or perhaps MKV doesn't support ReplayGain tags natively.
> We know that medical appointments will be hard to secure and apartments difficult to rent, and that we will have to wait in long lines for the privilege of paying plenty of our hard-earned cash to multinational mega-corporations, in exchange for unhealthy food or poorly-made clothing (and we may even have to check ourselves out and bag our own goods, too).

> We know that everything is scarce — from daycare spots to parking, from jobs to money, from friendship to potential mates, from time with family to the mental health care we all increasingly need to treat our distress.

These don't seem like new problems...
Even with IPv6 we are not abandoning NAT. There are good reasons to have a single point of access / control. Do we really see billions of devices connected independently to the internet?
An impressive, well thought out response.

"Thank you"
>No doubt Xcode has its critics and limits, but for my 3 hour project, I got to focus on my code and not the IDE.

XCode has to carry a lot on its shoulders these days - C, c++, objective c, SWIFT and a lot of GUI editors, so it's impressive for what it is.

But it can easily support simple c/c++ projects, I've actually developed apps there and then ran them on linux, sometimes with the odd #ifdef to make it compiles on linux, but the dev experience on XCode is better for me than anything I can get on linux.
>> ...but "typical 90% apps" can be written with literally anything.

OK let's put a constraint: multiplatform.
Take Flutter out of the equation, then what do we have: RN, Ionic, Kotlin Multiplatform... what else?

- RN, Ionic: errr I'm still having nightmares reading JS/TS code

- Kotlin Multiplatform: not stable yet?
Is it really that surprising? Here in Sweden many ISPs have begun charging for being assigned a public IPv4 address. I'm sure since it's happening here now it's probably been happening in the US for a long time.

If IPv6 actually became ubiquitous enough to rely on then people wouldn't have a use for IPv4 addresses, and they don't have a leg to stand on charging people money for an IPv6 block.

It's not surprising to me, it's worrisome.
I guess you can implement them however works for you and your team. I have personally implemented them in various way: depending on the date, on the client IP address, on an env var, on a logged user id, etc etc.
It's about compatible language evolution, not type systems
That’s not open source by any chance is it? I’d be really curious to see the comparison!
My blocker was in infra shaming (from myself). I had started on WordPress years ago on a t3.micro instance, and all was well. Then I wanted to self-host since I have a substantial homelab and at the time, was an SRE. But I knew that my K8s (k3os technically) cluster wasn’t great, and I wasn’t using Helm correctly, and… all of this made me think I had to get everything perfect, exactly how I wanted it, before I could use it for publishing tech opinions.

A few weeks ago I found out you can have GitHub Pages with a custom domain, so I extracted my posts, converted them to Markdown, and now I run Hugo. So much easier, and I don’t fret about what imaginary people might think about me.
This is indeed a good point to keep in mind. I do tend to forget sometimes. As a perfectionist I'm always planning code refactors in my mind, but rarely do they see the light of day; they're often minimal and don't add anything to the solution. There's very little added value.

Know your audience – know what they need, and you can develop accordingly.
The First Battle of the Next War [pdf]