MurphyA/hacker-news huggingface dataset:
Show HN: Crowdcruit – A Crowd-Sourced Cybersecurity Hiring Platform
by vagmour | 2025-07-10 11:40:01+00:00
Hey HN,

I'm an offensive security engineer (OSCE3) who's been frustrated for years with how broken cybersecurity hiring is. Companies struggle to evaluate real skills, and great hackers often get overlooked because they don't "interview well."

So we have bootstrapped Crowdcruit: a hiring platform purpose-built for cybersecurity, combining verified technical achievements (CVEs, bug bounties, HTB/THM scores, certifications) with a smart matching system.

Key Features:

+ Smart Matching: Candidates are matched to roles based on real-world skills — not just keywords.

+ Bug Bounty & CVE Recognition: We parse Hackthebox, HackerOne, Bugcrowd and CVE records into candidate profiles.

+ Anti-Cheat Video Interviews: Our in-browser interviews detect suspicious behavior and verify authenticity.

+ Certifications Integration: Support for Accredible, Credly, and others.

+ Privacy-first: No direct database access to companies, no mass scraping. GDPR-compliant by design.

+ Zero-hassle profile creation: No manual input of your past experiences. It just works!

We're trying to give both companies and cybersecurity specialists a better way to find each other — no gatekeeping, no unnecessary processes.

- Live link: https://crowdcruit.com (Free to join; profiles required for full access.)

Would love feedback from the community. Also, please tell me what other integrations you would like us to have.

Demo public profile for your reference: https://crowdcruit.com/user/john-doe

Thanks!

— Evangelos Founder, Crowdcruit
by nticompass | 2025-07-10 11:40:56+00:00
I've been using a fork of Thunderbird called Betterbird (https://www.betterbird.eu/) on Linux, mostly because I want to be able to minimize it to a systray icon. I know there are extensions like systray-x and birdtray, but I was having issues with these on Wayland. I wonder if this new version of Thunderbird finally added systray support on Linux/Wayland.
by virgildotcodes | 2025-07-10 11:41:13+00:00
Are you asking in good faith why non-sequiturs that stoke racism shouldn't be injected into unrelated twitter threads?

Even related twitter threads, do you want interracial hatred to be increased?

Here's why it should be banned, because it leads to this shit:

https://en.wikipedia.org/wiki/The_Holocaust

https://en.wikipedia.org/wiki/Slavery

https://en.wikipedia.org/wiki/Rwandan_genocide

https://en.wikipedia.org/wiki/Apartheid

https://en.wikipedia.org/wiki/Armenian_genocide

https://en.wikipedia.org/wiki/Gaza_genocide

https://en.wikipedia.org/wiki/Unit_731

How can people be so fucking stupid that they want to be coy about recreating the most shameful atrocities in human history? Teenage idiots a few years removed without any understanding of the world beyond their nose and brains turned to putrid rot.

The direction that right wing reactionaries are taking the world in could not possibly be more disgusting and pathetic.
by xbmcuser | 2025-07-10 11:41:20+00:00
China is also now facing an interesting problem as solar + batteries are cheaper than coal today. But coal currently is around 60% of its electricity supply it uses around 10 trillion kwh. So 6 trillion kwh * $0.08c is $600 billion ie it will have to destroy a $5-600 billion industry that employees millions of people. But at the same time it will be getting cheaper energy and the cost of producing energy will keep getting cheaper each year that would be another deflationary pressure on its economy.
by wkat4242 | 2025-07-10 11:42:05+00:00
> World doesn't live in echo chambers. The reality emerges from the collision of different viewpoints and perspectives - that's how we separate signal from noise

To be honest, when people start talking about "echo chambers" it's usually because they are upset that I won't listen to bigoted alt-right hate.

For me this term has gained a really negative connotation. I understand the problem but hearing the same tired ranty talking points repeated is not helping my state of mind. If that means I am in an "echo chamber", so be it. Alternative viewpoints, fine, when there is something to build on. But there are limits. When differences in opinion are too extreme debating them is only causing agitation and polarisation, in my experience.

I understand the point but I wouldn't use the term "echo chamber" anymore.

I like this service by the way. I've been thinking of making something myself by using an AI to filter news feeds by the topics I'd be interested in. Edit: Just found out it is very configurable, that's great! My original point was that the default is very US centric in its news choice but this can be simply modified.
by guzik | 2025-07-10 11:42:28+00:00
Had an interesting encounter recently. Was coming back from a festival and got talking to this woman who mentioned she has to be careful about her health. Turns out she has a pacemaker. Since I'm in the medical device space (much lower risk category though), I was curious about her experience. What struck me was how much she knew about her device like the technical specs, failure modes, battery life, everything. Makes total sense when you think about it (if your life depends on a piece of tech sitting in your chest, you'd probably want to understand it inside out too).
by gabrielgio | 2025-07-10 11:42:40+00:00
> that _is_ essentially the Go team's take these days

It is not "essentially their take". It is one of the point (a weak one for what my opinion is worth) but far from their main point. Their main point from the text is the same point they always make in these cases:

> Coming up with a new syntax idea for error handling is cheap; hence the proliferation of a multitude of proposals from the community. Coming up with a good solution that holds up to scrutiny: not so much.

> the goal is to have hordes of the cheapest possible juniors kitted out with tools that let them produce the most amount of code per dollar

I share the same concern here. I don't have a solid opinion on how that will turn out but I'm not too optimistic.
by teiferer | 2025-07-10 11:42:52+00:00
It's the old "we use first principles thinking" approach. Too often it means "we don't actually know or care what came before us, we just move fast and break things, how hard can it be lol yolo" Then that's what you get, insufficiently educated folks re-inventing the wheel, repeating mistakes others have done before.

Yes, sometimes you need to break out from pre-conceived notions, evaluating whether conditions have changed and earlier assumptions are maybe not valid anymore. But that's no excuse to be ignorant.
by kevindamm | 2025-07-10 11:42:55+00:00
The above is specifically about book copyright on orphaned works.. AFAIK there is no copyrighting of the contents of a blockchain that they could defend (I'm assuming that's what you're referring to). That copyright would hypothetically cover redistribution, which is kind of a necessary aspect of the shared ledger in the first place.

The more appropriate coverage for that would be patents, which protect a process while making its methods public. Since Bitcoin is open and not patented, that isn't a concern either. There are, however, methods of using blockchains that are patented.

Satoshi couldn't come forth and say that all bitcoin is violating a patent, but it's possible that some aspect of other blockchains or some aspect of an application layer built on blockchain is covered by a patent. For more details consult a lawyer specializing in IP law (and btw I'm not a lawyer, in case I accidentally gave that impression).

To complicate things further with patents, be careful about reading patents if you plan on possibly building anything related. If it can be shown that you were aware of a (US) patent that you're violating, then any related suit that comes before you may receive triple the damages that were decided in the case. So, it's very likely that there are some applications violating blockchain-related patents. Someone could suddenly come forward and sue a lot of people who were being willfully ignorant about it.

Hopefully that comes close to answering your question, this space is far too small for all the nuances and I'm not an expert on licenses.
by blueflow | 2025-07-10 11:43:16+00:00
> Isn't that basically one of the ways doing innovation? Instead of saying "No, that's not possible" when someone asks if they can build something faster than a horse and carriage, a bunch of people get together to see if there any way of doing that, trying to avoid any per-concieved ideas about if it's actually possible or not.

This does not take real-world limits into account. There are limits to information theory (which includes crypto), thermodynamics and mechanics that make certain things generally impossible. Like a perpetuum mobile. Social or intelligence factors do not matter. Knowing your field also includes understanding those "hard" limits.
by _pdp_ | 2025-07-10 11:44:03+00:00
The reason Typeform free tier limits are so strict is likely because they have run the numbers based on real usage data. I am sure those limits are designed to capture just enough free users who are likely to convert, while minimizing the risk of churn. It is tricky.

From my own experience, about two years ago we built an AI form builder tech demo on top of our platform. We open-sourced it (https://github.com/chatbotkit/example-nextjs-ai-forms) to see if there was community interest. Not much. Since it wasn't our core product, we pivoted and turned it into a low-cost Typeform alternative with unlimited forms - formshare.ai was born. And while we have seen some modest commercial success, I wouldn't claim it's anywhere near Typeform's scale.

The takeaway here is that for this project, even though it wasn't our primary focus, leading with open source and undercutting on price didn't prove to be an effective strategy. If anything, charging too little initially will only devalue the product and attract the wrong kind of users - the ones less likely to convert or stick around for the long term.
by tianqi | 2025-07-10 11:44:34+00:00
The most issues I encounter with music players are related to my situation of NAS. My NAS is straightforward: I just connect a RAID to a Mac and share it, then let other Macs connect to this "server". This allows me to access it in Finder like any other directory. However, this setup presents two obvious problems for many players: First, since the directory is not always available (if I'm not at home), some players cannot properly handle the issue of the main directory not existing. Second, I need to easily synchronise playlists across different computers, but many players do not support saving playlists as files, specifying their save location onto NAS, and configuring themselves to read playlists from NAS. These issues have been causing me a great deal of frustration. Currently I use VOX, which is a fairly acceptable option. I hope I can find a better solution.
by felixnavid | 2025-07-10 11:44:36+00:00
`n` is the same type as `s` from "match s" and 'n' is just `s` but renamed, if none of the previous conditions passed.

Because `match <exp>` could have contained an expression, you might need to handle a "catch all" case where you can refer to the result of that expression.

The code could have been `match s.doSomething() { ...`. The lines above what you have quoted just compare the result to a couple of a constants. If none are true, the line that you have quoted is equivalent to renaming the result of that expression to `n` and then handling that case.
by colesantiago | 2025-07-10 11:44:38+00:00
I love how there are no ads on the page and it is all for free, no paywalls, private, to the point, no sponsors, just the news.

Can you add RSS feeds as well?

More news websites need to take a leaf out of Kagi.

Edit: The RSS feed is here:

https://kite.kagi.com/world.xml
by TheOtherHobbes | 2025-07-10 11:44:41+00:00
The Spain/Portugal blackout happened when network management failed to predict a workable source mix. Basically human error.

Political pressure is hardly a renewables problem, and is more likely to mitigate it than make it worse.

Currently we get a lot of energy by shipping it as physical cargo around the world through various unstable regions after it's produced by hostile regimes - which is not exactly a recipe for reliability.

https://www.reuters.com/business/energy/investigation-into-s...
by Sophira | 2025-07-10 11:45:10+00:00
> This is why all of crypto is a fraud...

Are you using "crypto" here to mean "cryptocurrency", rather than "cryptography"? Because if so, that's not obvious considering you just mentioned cryptographers in the previous sentence.

If, on the other hand, you mean "all of cryptography is a fraud", then I'm curious to know what makes you think that.
by otherme123 | 2025-07-10 11:45:28+00:00
> The recent Spain-Portugal outage showed that there is not enough inertia in the system.

At the moment it showed nothing, because it's still under investigation. You might be referring to the FUD campaign that started the same day of the blackout.

But it is true that inertia is provided mainly by conventional power plants, and they are being removed from the grid. It is also true that, if finally the lack of inertia is confirmed as the cause of the blackouts, there are alternative ways to provide inertia in the system: synchronous condensers (https://en.wikipedia.org/wiki/Synchronous_condenser) like the one in Moneypoint (https://en.wikipedia.org/wiki/Moneypoint_power_station).
by tialaramex | 2025-07-10 11:45:31+00:00
In this case the compiler actually first wants the type for a parameter to the function Token::Operand

That function is not shown, but it is included in the full source code which was linked. Well, technically we need to know that Rust says if there's a sum type Token::Operand which has an associated value, we can always call a function to make a Token::Operand with that value, and it just names this function Token::Operand too.

So, Token::Operand takes an i32, a 32-bit signed integer. The compiler knows we're eventually getting an i32 to call this function, if not our program isn't valid.

Which means n.parse().unwrap() has the type i32

We know n is an &str, the &str type has a generic function parse(), with the following signature:

pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err> where F: FromStr

So the type you now care about, that of n.parse() has to be Result of some kind, and we're going to call Result::unwrap() on that, to get an i32

This can only work if the type F in that generic signature above is i32

Which means the new type you care about was Result<i32, ParseIntError> and the parse function called will be the one which makes Ok(i32) when presented an in-range integer.

Edited: Word-smithing, no significant change of meaning.
by fc417fc802 | 2025-07-10 11:45:32+00:00
> pasteurisation doesn't destroy the sugar

I never said that? It's well known that heat alters honey.

Obviously the purpose of pasteurization is either preservation or food safety (but I repeat myself) as opposed to preventing people from making mead. I claim no particular knowledge of which specific microorganisms are primarily responsible for the spoilage that might otherwise occur, nor the precise consequences of such spoilage.
by catfacts | 2025-07-10 11:46:06+00:00
Thanks for the info. I imagine that in this care, since it seems the error is not captured, it should end producing panic. So a question mark is used when the expected result is of type Result or Error. Also the web page, https://doc.rust-lang.org/rust-by-example/error/result.html, describe the result type as Ok(T) or Err(E), and indicates that is a richer version of Option.
by stefs | 2025-07-10 11:46:59+00:00
they were cut off from trade as much as possible (of course there have been rogue nations, but those weren't equivalent in trading/buying power) - and that's one of the reasons, they're not winning the war, even though they were superior in almost all metrics, not at least military and economic power.

if nothing else this will serve as a warning and a cautionary tale for future aspiring conquerors.
by biofox | 2025-07-10 11:47:43+00:00
It's a somewhat selective history. Off the top of my head:

Kepler developed his ideas while at the University of Graz. [16th century]

Galileo built his first telescopes while a professor at the University of Padua. [16th - 17th century]

Newton did all of his work while at Cambridge (although, admittedly, it took the plague and a lockdown for him to have his annus mirabilis). [17th century]

William of Ockham (of Razor fame) did his work at Oxford. [14th century]

Giordano Bruno did the work that got him burnt at the stake while at the University of Paris (and briefly Oxford). [16th century]

Roger Bacon developed the scientific method while at Oxford. [13th century]
by lelanthran | 2025-07-10 11:47:47+00:00
> Demo form's phone number field accepts text, so no validation?

It validates email, though.

How would you validate phone numbers? Surely phone numbers must allow spaces as well. Maybe allow '+27' too? Quite a lot of exceptions come to mind for phone numbers.

What if someone wants to type in a phone such as `123 456 7891 ext 21`?

What if they want to use `0800 SAVE MUNNY`? That's the number `728 368 669`.

What if they want to enter `123 456 7891 oh/123 789 4561 ah`?
by kodzoman | 2025-07-10 11:47:58+00:00
I've met Matt on several occasions, and while he was a challenging character, he was also full of life and ideas, and an inspiration. He was a genius in an old-school, no-compromise way. I have been away from Perl for a long time, but some of my best memories and some of the most intelligent conversations took place while with MST and the rest of that amazing community. Fly high.
by cycomanic | 2025-07-10 11:48:06+00:00
Nobody said that you have to use your home or work solar. If you fill up part of your car using some fast charger network (which would still be solar powered), it would still work.

Moreover, even if we take the top 25% percent of commute distances (which is >40km per day), that still leaves you with 10 days until you have to recharge. If you recharge every weekend, you still have plenty of battery capacity for your needs outside of sun hours (you likely will need only 1-2 kWh per day anyway).
by piva00 | 2025-07-10 11:48:28+00:00
I don't think it's a suitable analogy but you do you to try to justify companies breaking the law :)

As far as I hear from the HN crowd if the company feels it's not profitable anymore they will just pack up and leave (hence why many here defend not taxing corporations), this is exactly that case: there's money to be made, they will stick around, perhaps realising that paying fines is eating into their profits and change behaviour. If they don't like it, just pack up and leave, corporations are only interested in making profits, housing is not an analogous to that as much as you might want to play that card.
by db48x | 2025-07-10 11:48:57+00:00
> It's very clear that the blockchain is 100% BS…

Hmm. The blockchain is actually a very clever solution to a very old coordination problem. In that sense it is not BS at all.

But I agree that it is an open question whether it can directly support a useful economy the way a currency can. It doesn’t seem to have the throughput for that, to start with. But maybe it could be useful for interbank settlements, if for some reason traditional methods weren’t working.
by energy123 | 2025-07-10 11:49:27+00:00
I don't believe there's any connection between market competition and security competition, even though they both belong to the abstract category of "competition".

Conflict deaths were higher before modern capitalism, and were the highest per capita in hunter gatherer societies that don't have the social construction of private property. The 20th century communist states weren't more peaceful than capitalist states. The level of brutalization was often more extreme, like the Holodomor or the ethnic cleansing of Tartars from Crimea perpetrated by Stalin. China being no exception as the invasion of Vietnam shows. Or the agrarian communist Pol Pot and his genocide of his own people with a focus on ethnic Vietnamese. Or compare the brutality of the Soviet invasion of Afghanistan to the US invasion of Afghanistan. Conflict deaths were the lowest in all of human history in the most capitalist era of human history, the 1990s, during American unipolar hegemony.

The primary driver of conflict is the absence of a stable polar power, whether that power is capitalist or communist, and the resulting security competition that naturally emerges between actors with different interests when they're put inside this anarchic power vacuum with nobody to protect them but themselves, causing paranoia and preemption. The easiest path to return to a low conflict world would be just to return to American hegemony as it was in the 1990s before Russian imperial belligerence and Chinese revisionism around Taiwan were even possible due to American unipolar deterrence being unquestionable. It would be a capitalist world, but it would certainly also be the most peaceful world in human history, notwithstanding the relatively small number of conflicts that would still occur.

The liberal perspective on all this would be that the biological drive to compete with our fellow people is not something that can be suppressed, because it's an evolved trait that is part and parcel of existing as a primate. It's something to channel into less destructive activities like sports, games, or interests, and it's something to control and shape and unleash with regulations and systems. And no liberal would say that this is a perfect state of affairs, only that it's the least bad state of affairs that can be practically achieved given our biology and the real-world constraints that we need to work with.
by kylecazar | 2025-07-10 11:49:50+00:00
Two relevant bits:

"If you go to the settings for FaceTime, there is an option to toggle Sensitive Content Warning on or off. It is off by default, indicating that it may not actually come to everyone’s phones, or at least that you’ll have an option to turn it off."

And:

"Images are analysed locally on the phone, with nothing transmitted to Apple’s servers."
by Tyyps | 2025-07-10 11:49:59+00:00
Hash functions are used to instantiate a random oracle (which is a theoretical object that can't be instantiated because it would be of infinite size but makes it easy to reason about) because it doesn't seems crazy as an assumption that if finding a collision between 2 hashes is hard it should be hard to predict the output of the so called hash function. However it is well known that there was some contrive counter example for protocols that are secure under the Random Oracle model and unsecure when instanciated with any hash function. The problem with this paper is that the protocol it described isn't so contrive anymore. Cryptography is a matter of assumptions and what you believe in or not. You might want to not use random oracle but you will therefore have to restrict yourself in what you can concretely build.

And the reason behind the problem outlined in the paper isn't a biased randomness problem but the fact that you can represent the hash function compared to a RO.
by rurban | 2025-07-10 11:50:32+00:00
I'd like to have that functionality as cmdline tool. Any tries to concert it to C, via Claude Sonnet maybe?

The latest unzip https://github.com/maksverver/unzip/tree/simpler-zipbomb-det... has some good zipbomb detection, but no recovery options. It can handle a wrong central service directory though.
by catfacts | 2025-07-10 11:50:40+00:00
Thanks for all the information you provided. I will read Rust by Example and stop posting in this thread to avoid deviating from the OP. Anyway, perhaps other readers are learning Rust and having the same questions in their minds, so your answers are also welcome for them.

Edited: I will eliminate my catfacts username (changing passsord to a random one), I don't like being downvoted and I know I should not mention it, but things are what they are. Good bye catfacts !.