skysight-inc/HackerNews huggingface dataset:
I don't really have much to complain about. I work remotely, and I've noticed a significant trend upwards in remote pay in messages from recruiters. If someone from another country can get those jobs, they should get the same pay. Needless to say, I'm skeptical that many can, because the skills are hard to find and take years to develop, and go beyond simply understanding the basics of coding.
The main issue in my experience are so called "user enumeration attacks", especially with sequential ids that are normally used.

This is where an attacker is able to leak information from your system just by guessing ids. If you used a sequential id then you can cycle from 1 to X and probably easily find which are valid users. You can then likely see how many valid users/ids there are and potentially pull their data if the authentication has been implemented incorrectly.

By using a UUID, the key space is so large that you cannot reasonably guess user ids. So you can't use those same brute force techniques and it makes extricating data much harder.
The problem (in some places, at least) is that people and organisations have mindlessly started using FB to communicate; I (reluctantly) signed up as the school my kids attend, their athletics union &c all started using Facebook to share information as 'everyone was on FB anyway'.

Pointing out that that was demonstrably not true, the response pretty much was 'sign up or lose out'.

I don't mind people using FB to communicate. I do mind when it is the only option available.
If it's not a troll I don't know what is, if it's for real that person has to have some serious mental health problems.
I wish governments had put the damn money into useful things. It's absolutely shameful that this hasn't resulted in better internet connectivity in USA for example.
Related to ORMs/queries/performance, I have found the following combination really good:

* aiosql[0] to write raw SQL queries and having them available as python functions (discussed in [1])

* asyncpg[2] if you are using Postgres

* Map asyncpg/aiosql results to Pydantic[3] models

* FastAPI[4]

Pydantic models become the "source of truth" inside the app, they are designed as a copy of the DB schema, then functions receive and return Pydantic models in most cases.

This stack also makes me think better about my queries and the DB design. I try to make sure each endpoint makes only a couple of queries. Each query may have multiple CTEs, but it's still only a single round-trip. That also makes you think about what to prefetch or not, maybe I want to also get the data to return if the request is OK and avoid another query.

[0] https://github.com/nackjicholson/aiosql
[1] https://news.ycombinator.com/item?id=24130712
[2] https://github.com/MagicStack/asyncpg
[3] https://pydantic-docs.helpmanual.io/
[4] https://fastapi.tiangolo.com/
I mean, I don't really see where the harm to the worker is by offering them the option.
Change of address forms are a scam, it is “free” because USPS sells the data to advertisers and your new mailbox gets stuffed with junk mail.

I never use the service, only naive or desperate people would. It’s easy to login to all important accounts and change your address today, there is no practical need for a COA form.

So USPS hasn’t any idea about my fleeing of Silicon Valley last year, and that’s fine with me !
"I’m glad Firefox is my main browser."
How low are you talking about? And hidden fees such as the spread do matter. Last i checked, which was a while ago, paypal wasn't that flash compared to alternatives.
When editing lab notebooks, it's customary to finely cross a line through data or notes you wish to discount without affecting their legibility. It's also expected that any edits or annotations be circled, dated, and initialed.

The point is that data is never destroyed, and this is one of the many causes for the unflagging preference for tangible records over ELNs.
You were talking about investing into gas in the context of "zero-emission electricity". Are you seriously drawing equality to gas power plants and an LNG terminal?

The purpose of the Lithuanian LNG terminal was diversification of the gas supplies, thus minimizing the dependence on the Russian gas. It was a very successful project, cutting the gas price significantly and forming an effective gas market i.e. allowing the country to buy gas for the global market price (whoever sells for cheapest). Lithuania did not build new gas power plants, though. Quite the opposite, the strategy in the last decade has been to increase the electricity supply from the renewable energy which resulted in building wind and solar plants.
This seems like cheap advice that's trying to get me to buy into a lifestyle in order to sell me things.

"Have less exposure towards super fun things". "Get bored". These describe the same general concept as dopamine fasting. The third bullet point can be reduced to "focus on what you have to do, until you can focus on it" which is circular.

I'm not buying in. Maybe I'm getting old but "failure to start" is starting to sound like a meme to me perpetuated by vultures trying to exploit creative personalities, hackers included.

I think what we need to do, is to step back and appreciate ourselves for the effort we continually expect from ourselves. As hackers in one way or another, we are constantly putting up our ego as collateral in order to take on challenges that threaten to knock us down a peg or two if we fail. For many of us, failure is a threat to the core of our identity, yet we dive on in anyway. Exhaustion from that sort of loop is to be expected.

Most people don't live like this. Most people reduce the flux in their lives instead of seeking to increase it. Why? Because most people cherish their egos to the point where they cannot commit to a goal with an uncertain outcome. They would rather work a 9-5, which is fine, but it doesn't describe our community. We are addicted to risk if it means building something new and that we can call our own.

So appreciate yourselves more.

And get better sleep.
Yep, I was going to suggest this too. It feels copy/pasted from Talk to Transformer.
You probably won't see any smoke, but there are some key indicators I think - regardless of if it's work burnout, pandemic burnout etc. But I assume you're mostly asking about work burnout?

If yes, the most helpful article I've found that actually shows the DEPTH of burnout (and how it can develop into chronic burnout) is this one: https://www.thisiscalmer.com/blog/5-stages-of-burnout

Basically, there are 5 stages of burnout:

1. Honeymoon phase (yaaaay work is great!)

2. Onset of stress (eeeeeek, this is kinda hard...do I even know what I'm doing?)

3. Chronic stress (ugh. Monday again. I'm too tired for this crap)

4. Burnout (everything sucks, I have no motivation, and I have no idea how to get myself out of this pit)

5. Habitual Burnout (burnout = lyfe)

The last stage is why I found this article especially helpful because burnout gets to a point right before it completely takes you out where it kind of becomes a lifestyle that you ride typically until your body makes the decision for you.

3.
Digital Planner for GoodNotes with covers, stickers and notebooks
> I would propose alternative is to fix your monolith first

I'd like the idea of vertical slices for this: once you've done this, then refactor to microservices will be much easier.
Chicken Recipe – See How to Make Tandoori Chicken Without Oven
What you see is the result of the fact Haskell gives you expressiveness to build anything from a shed to a bridge or a sky scraper and people who adopt Haskell are curious by nature and thus go as deep as possible and try to build a small house taking air currents and earthquakes into the equation.

Servant is very complex by itself. It's hard to tell at what scale it pays off. But it gives you more safety than other solutions.

I would love to have the OP on my team, because they have the ambition to build reliable software and I can compromise with them. It's hard to compromise the other way around.
Are you seriously asking how the relationship is different between a driver and Uber and a driver and the city they live and work in? The difference is both Uber and drivers are subject to the rule of law, whereas the rule of law isn't subject to Uber or the drivers except through the legislative process, which this is an article about.

Nobody is saying that Uber can't apply whatever terms they want to the relationship if they're in international waters and not under any particular flag.

edit: the city can require that people who live in it must work under the exact same terms as Uber, and will not be treated as employees of the city (if they can get this enacted in legislation and it has been found not to conflict with higher laws or treaties.) Uber doesn't get to require anything of local law.
It's not the same, in a way that matters.

I grew up outside a small rural town, running barefoot all over creation every chance I got, and most of the time by myself. These days I'm a wildlife photographer by avocation, and over the last couple of years I've gotten deeply into macro - I take pictures of wasps while they're doing wasp things, and as a result of that, I'm not only no longer afraid of them, I've kind of fallen in love with them. They are at this point by far my favorite insects, and high up among my favorite animals overall. I like them better than most mammals at this point, and some of the best pictures I've ever taken of a spider wasp, I got in my backyard last October. Aside from that, research papers on wasp ethology have been a gateway into entomology as a special interest, to an extent where if I had it to do over I might go into that instead of software engineering. I've even learned to make and bind books from scratch, initially because I wanted paper textbooks instead of PDFs.

All of that means a great deal to me. None of it makes up for the fact that, over the course of the last year, I've only been able to spend a few hours in the company of a friend, and none in that of colleagues. I'm somewhat solitary by inclination, and I think that makes it less hard on me than on most. But even for me, it's been hard. I can't imagine what it's been like for anyone who came into this both alone and without the good fortune of knowing how to be satisfied with their own company. These aren't good circumstances under which to have to learn that, and even the most cursory glance at the comments in this thread overall is enough to show that the success rate has probably not been high.

Yes, every so often you get someone like me, who can feel good for days about the pompilid wasp who turned up in his home office for an impromptu visit. Every so often you get a Birdman of Alcatraz, too. To suggest that everyone should just instantly be a Birdman - I mean, I get that you're trying to help, and I respect that. But you seem not to have given any thought to how to make your advice potentially useful to someone whose perspective differs greatly from your own.

It's an easy mistake to make - I do it often enough myself. But it's still a mistake, and it's why the criticism you're getting is warranted. The intention is obviously good, but the execution needs a deal of improvement.
This is a dumb fight to pick. Dude just wants some ML software to figure out how to change accents.

Maybe he wants to change the accent to a Texas accent, or the Queen's english, who cares, it's the ML part that's interesting.
Define 'afford'. Surely you'd have to save that salary for some time? How long is that period?
Photos from the Surface of Venus (1982)
yeah, I was wondering about this as well: basically I have experienced times, where I could rightly sit there and watch the wall for hours. I guess this indicates depression and significantly hampers implementing these ideas...
I was quoting OP.
Curious: which Rust software that you immediately ran into panic with?
My guess is that Rupert Murdoch didn't think Twitter was a problem.

Possibly because its feeds are not filtered and it doesn't scrape content in any form. It's also short form so you're not going to get a more than a brief summary of a news story and most likely a link.
Home learning maths game accused of manipulating kids
Right, Car company in this analogy would be SolarWinds or Windows 10
I think Uber should shut down UK business. Already I saw in India, union of drivers creating havoc on roads for greed of money. If this rules goes global, Uber will be in lot of mess.
For someone who claims to have done all that, it seems odd they blame curl for the solarwinds hack... I’m guessing the idiot went through the source of some exploit dump and just decided that whoever was in the license files was the one who wrote the root kit. Because everyone knows malware authors leave their real email address in their payload.
I can't recommend JLCPCB enough - tiny PCBs, good prices, quick turnaround.
Archived, no paywall:

https://archive.is/jLh9I

Also, Guardian version of this story:

Maths app targeting UK schools is criticised over premium model

https://www.theguardian.com/technology/2021/feb/19/maths-app...

Edited to add:

Press release from Campaign for a Commercial-Free Childhood, which is leading the complaint against the app:

Feb. 19, 2021. Advocates to FTC: Prodigy Math Game Preys On Kids and Families

https://commercialfreechildhood.org/feb-19-2021-advocates-to...
Here is a good summary of how Ada deals with safety in the context of memory management: https://news.ycombinator.com/item?id=14216128

It's not rust but at the same time I think rust has sacrificed general safety in favor of memory safety which has produced a tendency towards a false sense of security.

After all, it seems rust still has memory safety issues despite the borrow checker: https://arxiv.org/pdf/2003.03296.pdf
I'm about 12 months away from leaving London, Leeds is the goal. It has a decent enough tech economy that I should be able to find an equivalent job for little to no pay cut and cost of housing/living is significantly lower.

It's probably partially my age but I know a lot of people who are on the verge of leaving, partially due to remote working opportunities from Covid but mostly due to being priced out. Even those I know staying "in" London are having to buy in Essex, Hertfordshire etc. due to the cost. London's housing crisis is only getting worse every year, in enough time the upside may be that it helps other cities develop instead.
This comes across to me as very self-centered. Perfect service over having the drivers earning a livable wage?
Access to capital is the primary factor. Those specific companies had access to 2% or even 0% capital.
I have dealt with a similar situation, in a sense more than once, and my strategy was to first integrate the identified risk into my model and then compare it against my own risk profile. If the risk was above a threshold (simplifying), I take an offensive posture in cases like these.

For example, in this case, I would minimally identify and locate the individual responsible for the email. I think that is doable.
I have nothing but respect for Daniel, but having a domain like haxx.se while being a maintainer of a general purpose powerful and popular(!) software tool is not smart.

This liability could've been mitigated to some degree by having a more innocuous sounding domain name. Having it as is, given enough time and thanks to the tremendous popularity of libcurl/curl someone somewhere is going to jump to conclusions that Daniel is responsible for making this "race car" hacking tool that script kiddies are now using to wreck his life.

Stalman has failed culturally, distance yourself from the "hacking" culture of the past if you care about your marketability and reputation.
> If they've agreed to it, what's the problem?

They’re in a position where the options are pretty much “agree to this” or “go out of business”

(To which I guess the free-market response is “That’s not a problem - an independent restaurant SHOULD go out of business if they can’t compete with a website company when it comes to websites”?)
Yeah, that’s why I think long-term it’s going to be coming into the office a few days a month for meetings, and WFH the rest of the time. Productivity is up and people are generally ok with the remote work situation — it’s the fact that they have to babysit their kids and can’t go anywhere for a change of scenery that’s causing the stress.

And frankly most of the dev projects I work on are globally distributed anyway, so you’re never getting everyone in the same room to begin with.
>But I can’t imagine using an ORM for complex data tables and relationships with normalized data.

Whenever I read a statement like this from someone, I always feel that they actually haven't thoroughly read the docs for Django's ORM. Can you give me one concrete complex example that you can't imagine doing with the ORM? Because 95% of the time, these "complex" models are trivially easy to pull off with the ORM (from my experience).
Well, what you're saying is exactly the reason why java called them Exceptions and not Errors (well, Error also exists, but it is generally reserved for very nasty problems).

Anyway, you can't just define the problem away, or else you end up with Go style error handling - that is exactly what a language with no built-in support for errors looks like.

Languages need to offer control flow mechanisms that allow you to separate common cases in the code from the uncommon cases. Especially since for most code, the uncommon cases appear deep in the bowels of an application, and the only way to handle them is to ask an actual human to handle them, usually on the opposite side of the application stack.

For a more reified implementation of this pattern, the Common Lisp Condition system is very interesting. It is similar to most Exception systems (code can raise a Condition, at which point a handler for that Condition is searched for up the call stack), but with one crucial difference: when raising a Condition, you can also specify Restarts - alternatives for how to proceed. Condition handlers can choose whether to cancel the execution flow and handle the condition with their own logic, OR they can choose to invoke one of the Restarts offered along the condition, based on their own logic. An example would be something like: Raise ConfigFileNotFound; Restarts: ContinueWithDefaults, Retry, ContinueWithOtherFile(newFileName). Then, a Condition handler (possibly a User) can choose to stop the application, or it can choose to continue with the defaults, or it can create the file with its own defaults and Retry, or it can try a different config file path.

This offers a lot of flexibility and has uses outside the idea of handling errors.
If it wasn't there before, the great engineer could do something more useful than deleting code!
Reminds me of the Deep C slides

https://www.slideshare.net/olvemaudal/deep-c/255
I was thinking the same thing. Funny how full circles come about in this industry sometimes isn't it ;)
Like there wouldn't be anything in between /s

There are "simple ORMs" that only map results of SQL queries to objects. They do not provide a magic query API - which is the source of most problems. I don't do Python, but for .NET there is Dapper https://github.com/StackExchange/Dapper, you can have a look what I mean. You write the SQL query, explicitly execute it, the library maps the results of that query into objects (it's C#, so you have to declare the class. In Python I'd imagine it would create the object for you)
Pardon my ignorance, but as someone who has never used Facebook (I just saw some friends use it), what is FB Blue? From a cursory search, there is a hint of a redesign happening at some point, but that's it.
Redfin agrees to acquire RentPath for $608M
'Clean code' rules for software engineer resume writing
We don't have the (corrupt and failed) medallion system in the UK and we certainly don't have "city" managed "taxi" drivers.

This is the UK supreme court (the one where the judges have real world experience)
Freeform flexibility is one aspect, but a document-style could also simply be a preference for how you want to structure your data or typically has an impact on how joins happen (if the document-database offers joins). Those joins will work in a graph-like fashion instead of how flat sets are typically joined. Or a nested document could be an optimization to provide data in the exact format that your client wants to see it. Although some document databases have popularized the idea that you should join in the client because they didn't provide joins initially, it doesn't have to be that way.

Mixing paradigms in one database is probably going to be happening more. Just like Postgres is offering a 'document' style, some document databases are offering documents with relations. It wouldn't surprise me to see document databases offer optional schemas. I think that the future is a mix of options and tools in one database (which JSONB columns are a first step for). Depending on the situation we'll just model differently. The best database might become the one that makes us use these different tools most elegantly together. The difference between a document and a table is only a 'flatten' and a 'schema' away.
The only mission is to produce enough so that the guy next door can't come and take it. The guy next door of course does the same. The end goal lies in infinity because the Red Queen's race can't be stopped. If you stop you will be overtaken and destroyed. This is all followed by the heat death.
Ah thanks, I think HN ate my character. It’s ‘<*>’ with a asterisk in between.
> ... send them a C&D. And if that's ignored, sue them. Why bother putting up such a carefully thought-out legal document ...&c&c&c... instead of using it for its intended purpose -- a court of law?

Because

* legal action is expensive, time-consuming, and may be simply impossible (or equivalently impracticable) depending on where you, or the other parties, reside/do business; and

* legal documents do not in actuality exist to enable someone's courtroom drama fantasies. In anticipation of civil disagreement, competent lawyers will advise that adversarial proceedings are a last resort, not a first measure, and draft documents accordingly.
But then you end up having to clean up your git history before committing to the shared branches, with squashes and rebases, which is annoying.
Yes. Or to generalize, language features are overrated. Ergonomics and support are underrated.

Sadly, this reinforces the moat of legacy language. Why move to a new language with marginally better language features, when you can stick to languages that already have good JetBrains support?
integer ids are still often used internally for database primary keys with UUIDs being the done thing for external interfaces.

Personally I've never experienced the "whole class of bugs" that starting with a big integer is supposed to solve. I'm not using PHP so maybe that's why?
Legality already is society’s measure of what’s acceptable. If you want to change the standard then you do so by changing the law.
Yes. Facebook is more essential than oxygen to Australian people and they will suffocate if not using it. Good luck Facebook!
Nominet are currently saying the second resolution (to appoint new directors) is invalid.

More background from Kieren McCarthy:

First: https://www.theregister.com/2021/01/31/nominet_board_vote/

Most recent: https://www.theregister.com/2021/02/17/nominet_vote_lawsuit/
Well, this is a fresh approach. I really like the way kreya is built. IMO this is simply the most mature GUI client for gRPC!
>A sad sentiment of giving up, but I think it is premature to abandon your approach. I think it may be worth trying for that small-ish fraction (call it 10%?) of people who can be talked back from their anger. Those are good conversations to have for both parties, and worth trying to have, even if it results in failure 90% of the time.

Please do not give terrible advice that will kill people.
“But first, an anecdote... when I was a kid...”

Nope. See ya. Whatever follows next is not going to be worthwhile.