skysight-inc/HackerNews huggingface dataset:
I would cast a really wide net and say that an engineer is someone who produces designs in compliance with the best methods for their particular field. I don't think most of us software folks are engineers, because the work-product in this field is usually a particular implementation, rather than a design. Last time I worked on a big project, the person whose job seemed the most engineer-y was the 'Software Architect' but I don't know if that title is standardized.

I think our fixation on this title is really silly and strange. I did an engineering degree, the math is a little easier than physics because we're aiming to get to the sort of standard answers, and then there's some extra memorization. I could understand people with no technical background at all being impressed by the title, but if you've done a CS or a Physics degree you've almost certainly seen harder problems. What's so cool about it? We just learned how to compose the answers as boringly as possible.

Edit: also most of my friends from engineering school went on to become programmers because it is more fun and you don't have to worry about letting the magic smoke out.
Do tell your boss & team, but after you've thought a little bit about what you want your next steps to be. Their reactions can vary a lot - bad bosses might instantly fire you and look for someone else who's more productive, good bosses will work with you to improve your well-being while you remain on the payroll. You should be prepared for the former reaction even as you hope for the latter.

The answer to the next question will depend upon how the conversation with your boss goes. You might want to completely disconnect and quit. You might want to work 1-2 days/week, supporting your team for questions but moving off of deadline-critical parts. You might want to shift into a different role entirely; oftentimes doing something different can cure burnout. Some or all of these options might be available to you depending on what your boss says, or he may suggest something entirely different.

For the last two questions - I've heard that burnout is basically the result of loving something or someone for a prolonged period of time without them loving you back. Code will never love you back, which is one reason why tech and other knowledge workers are particularly at risk for burnout. But it happens with politicians, managers, and romantic relationships as well. It sounds like coding is a major part of your life; as hard as it may be, you may want to cultivate other things you love (perhaps including hobbies, or people) and view your work with more professional detachment. Yes, this probably means you'll be less effective at it, but it's also more sustainable.
>Just because the tenant doesn't pay rent, it doesn't meant he landlord doesn't have to pay his mortgage

Precisely! Not paying rent is a damage to the landlord. You're destroying value. So we can't say you aren't damaging anything if you just don't damage the house.

>The main differentiating factor between a landlord and a tenant is risk of default. If you are appraised to have a risk low enough for a bank to tolerate, you get a mortgage. If not, you don't. What's wrong with this process?

Nothing. I'm pointing out how idiotic it is for someone to be trusted with a 700k house who can't be trusted with 100k mortgage.

>But that's not what we're talking about. The risk of significant damage through negligence by a tenant on a 700k home is much lower than the risk that same tenant would default on a 100k mortgage. That's the whole point.

That's not the entire calculus. The risk to the landlord is that the tenant won't pay or that the tenant will destroy the house. The difference is a land owner has even less incentive to destroy their own house and even less incentive to fail to pay up his/her own mortgage. The risk to the bank is that both you won't pay AND after they seize the property they can't recoup all the damages of non-repayment / lost interest and the principle. This is even more magnified when comparing a 700k rental property to a 100k mortgage. You can't just compare risk of damage to rental house to risk of default.

Having collateral is a much more enviable position IMO and the fact that someone who owns a house has a real interest in protecting it just doubles down on this tipping of the balance to preferring to be a mortgage provider over a landlord in dealing with potential tenant/mortgagee of equal risk.

>The risk of significant damage through negligence by a tenant on a 700k home is much lower than the risk that same tenant would default on a 100k mortgage. That's the whole point.

How much damage does the bank really have on someone who holds mortgage on 100k house, defaults, and then the bank takes the house and flips it for now even more money? It can't be that much more than the landlord who rather than having something to seize just outright loses the rent on a 700k house and now can't pay their own mortgage. I'd much rather be in the bank's position here.

If you can make rent on a 700k house, you can make mortgage on a 100k home. If you don't pay, the home will be taken away (and probably sold for more than you bought it for in this economy), while if you don't pay rent the landlord is out mortgage payments with quite possibly no asset he can seize from you.

This all goes back to my point. "Someone who can't be trusted with 100k [sic: mortgage] shouldn't be entrusted to inhabit a house worth 700k."
It also helps when what you're watching has atrocious audio mixing (looking at you Nolan), or you have shit speakers, or actors mumble or whisper, in which case it's helpful to have them as an aid when something's not clear.
Ah yes. That is also the problem I have and I don't think there is any option here. There was an internal experiment but I guess that didn't go anywhere before they decided to just close all of the accounts.

The wording sounds like non-"Workspace" services will still be available so i guess you can theoretically still access purchases. Not great, because now I have half of my stuff in different accounts but not too bad.
I feel the same way about this as I do about reading poetry in translation, or listening to the (fortunately rare) opera sung in translation. There's something integral about the native qualities of the original language that I can't imagine would survive the AI process.
Agreed - even earning pretty OK £, both parents working 5 days a week it's hard.
If a 3 day working week was normal then this would be a lot easier.
There's a sound argument for levying broad taxes on services that are widely distributed, that you can't easily opt-out of, and that are reasonably beneficial and necessary.

Roads, police, fire fighters, border security, armed forces, environment regulators, etc. I'm certainly open to debating what does and does not fall into this category for fair and acceptable taxation.

But to argue that 'we are taxing your wealth because you have too much' obviously falls outside of that category.
That's exactly what `git commit --fixup` and `git rebase --autosquash` does then.
Drone warfare really needs to become an international war crime. Ban that shit it has no place in a successful society.
How about this one:

(c) If your project assumes the underlying device/system will behave exactly as it is told to, then you might be in a discipline that is distinct from engineering.

This means "engineering" would include some software projects (like fault-tolerant system design), but exclude many others (like most desktop/mobile/web apps, perhaps with components like databases being exceptions).

My rationale for this is that, best as I can tell, traditional engineering is (for the lack of a better phrase) about "taming the real world"—which doesn't always behave the way you tell it to, because it's inherently uncertain, failure-prone, and impossible to model exactly. So if your task is dealing with that, then you're doing engineering. Whereas if your main problem is coming up with the correct specification—but you assume it will be executed faithfully—then it's not really engineering per se, but something else (not sure if we have a name for it).

Thoughts?
> For exercise, you just have to find something enjoyable enough to do

I can't emphasise this enough, staying interested in doing gym exercise for the sake of fitness alone is not sustainable for most people - and boring even if you can. Exercise is an opportunity to find something physical you enjoy spending your time doing, and this can be as much a mental relief as a physical one. This is similar to how most of us enjoy learning about a technology far more while we have something directly in front of us to apply it to, getting fit and staying fit is really fun when you can apply it.

Remember this does not only mean team sports, there is more to the world than what school PE exposed us to, there will definitely be something out there that interests you. It can also be great for your mental health in general, especially if it involves getting out into nature.
Those are consent popups, not cookie popups, and no they’re probably not. (There needs to be a “Reject” option.) But the larger issues with bigger players get pursued first.
I think this is kind of the least important part of the original diatribe to be focusing on.

But if this is the most important takeaway for you and you really want to preserve your adulation of certain pro-wealth-tax politicians, I'll say that it's impossible to truly measure how incompetent or well intentioned politicians are, so we can only reason that based on there being a simpler solution that hasn't been tried and is less glamorous, either the politicians have not thought of this simple solution or are aiming for something more beneficial for their political careers. Or maybe there is some brilliant reasoning as to why it wouldn't work which is just so obvious to them that they never thought it worth mentioning?
> More Netflix subscribers watched dubbed versions of "Squid Game" than subtitled versions.

The default of you load it is dubbed, right? That’s what it started for me. So this stat probably has more to do with the default than anything else. They’re making a weak case that this problem even needs solving.
I can think of many simple yet incorrect definitions. They have as much utility as this one.
> This service let's you do that while also preventing abuse and spam.

https://www.codecaptcha.io/

It's not just about programmers.
Boeing and their famous 737 max screwup where run by engineers with solid work and engineering ethic ?
Have there been any devices confirmed to use this yet?

I'm getting so tired of these constant battles with the devices I paid for.
It was free for unlimited accounts (I still have a G Suite Legacy account that was grandfathered into that) at first.

Eventually unlimited free accounts was dropped to 50, in 2009 (my grandfathered account was soft-capped at that, with the option to reach out to support to increase it), but I had several other domains that were hard-capped at 50 since I opened them after that limit was instituted. [1]

Then that limit was dropped from 50 to 10 (hard capped, grand-fathered accounts kept their old limits) in 2011. [2]

Then last but not least there was the 1 user free if you had a Google AppEngine project (that came with the requirement that it was tied to a G-Suite at the time).

My G Suite legacy accounts were all created in 2007-2010 timeframe.

[1]: https://workspaceupdates.googleblog.com/2009/01/50-user-limi...

[2]: https://cloud.googleblog.com/2011/04/helping-small-businesse...
Architecture astronauts love microservices.

I'm watching a government customer take simple, cohesive systems developed by a small team (4-5 people) and split it up into tiny little pieces scattered across different hosting platforms and even clouds.

Why?

Because it's "fun" for the architects and pads out their resume.

Just now, I'm watching a "digital interactions" project that will have dozens of components across two clouds, including multiple ETL steps. In all seriousness, half of that could be replaced by a database index, and the other half with a trigger.

They're seriously going to deploy clusters of stuff on Kubernetes for 100 MB of data to make sure it "scales"... to 200 MB. Maybe. Eventually.

What kills me is that now that they've made the decision to over-engineer the thing, my consultancy firm can't bid on the tender because we don't have the appropriate experience building over-engineered monstrosities!

The simple and effective solutions to problems we've delivered in the past are disqualifying us from work.

You guessed it: my next project will be an architect's wet dream and will be over engineered just so that we can say on tender applications that "yes, we have the relevant experience".

Gotta play the game by the rules...
I’ve recently taken up twitter for my birdwatching hobby and professional science interests. It constantly tries to show me political commentary. I ruthlessly block any account posting political stuff even if I emotionally agree with it. The point is that twitter is just not verbose enough to have a considered political argument so the whole thing is a shitstorm.

What I’ve notice is that twitter definitely seems to think I support a particular side of Australian politics. But it has it slightly wrong (I dislike both major parties and their policies) and so it’s attempts are all the more grating.
Not specific to this project, but why are so many ML-adjacent tools/services so tightly integrated with Python? It feels like the equivalent of going “write a bunch of C to use Postgres”. We have a code base consisting of a bunch of different languages, and given the option, nobody on the team wants to write any more Python if we don’t have to, but so many projects seem to have functionality or internals that are inextricably linked to operating with your code, inside a Python runtime.
Which was a response to me talking about this specific extension.
> Once an app reaches a certain size and anything can depend on anything else, reasoning about the whole can become difficult.

I have experienced this pain so many times and in so many different varieties. Often, you cannot meaningfully subdivide the problem space without ruining the logical semantics per the business (i.e. bowl of spaghetti).

An alternative is to embrace the reality that circular dependencies are actually inevitable and appropriate ways to model many things.

The example scenario I like to use is that of a typical banking customer. One customer likely has a checking and savings account. For each of those accounts, there are potentially multiple customers (joint ownership). Neither of these logical business types will ever "win" in the real world DI graph. Certainly you can start to invent bullshit like AccountCustomer and CustomerAccount, but that only gets you 1 layer deeper into an infinitely-recursive rabbit hole of pain and suffering. There also exists the relational path, but I have heavily advocated for that elsewhere and it is not always applicable when talking about code-time BL method implementation. Being able to model things just as they are in the real world is a big key to success in the more complicated problem domains.

Instead of trying to control what depends on what, I shifted my thinking to:

> What needs to start up and in what order?

Turns out, most things don't really care in practice. The only thing I have to explicitly initialize before everything else in my current code base is my domain model working set (recovery from snapshot/event logs) and settings. I decided to not use DI for any business services. Instead, all services become a static class with static members that can be invoked from anywhere. This also includes the domain model instance which is used as the in-memory working set. This type just contains an array of every subordinate domain type (Customers, Accounts, etc.). By having the working set available as a public static type, every service can directly access it without requiring method injection. If I was working with a different problem domain (or certain bounded context within this one), I might prefer method-level injection.

Yes - according to every book on programming style you ever read, this is an abominable practice. Unit testing this would be difficult/impossible. But you know what? It works. It's simple. I can teach a novice how to add a new service in an hour. A project manager stumbling into AccountService might actually walk away enlightened. You can circularly-reference things at runtime if you need to. I've got some call graphs that bounce back and forth between customer & account services 5+ times. And it totally makes sense to model it that way too as far as the business is concerned. Everyone is happy.
You'd think with $620M they'd be able to continue to develop native applications and not 'have' to move to a javascript react monstrosity.
If this is not okay, then other outlets for fantasy violence are not okay. It cannot be both okay and not okay at the same time. If other outlets for fantasy violence are okay, then so is this.
We weren't there, we don't actually know what was promised.
Well also Doctor of Engineering etc.
I was nice until it started to advertise "new features I might like" after every third thing I ask...

"Alexa - set an alarm for 8:00am tomorrow"

"Alarm set for 8:00am tomorrow morning. Would you like me set an..."

"Fucking no. ALEXA - shut up"

"... alarm for this time all week?"

---

"Alexa, set a timer for 5 minutes"

"5 minute timer set. Did you know you can give..."

"ALEXA! Shut the fuck up."

"...timers a name? Then you can refer to them by name."

---

"Alexa, is it going to rain today?"

"There is a 30% chance of precipitation today. Would you like me to read..."

"Alexa.... no. please just stop talking."

"you the weather results for the rest of this week?"
No one has put forward the hypothesis that this might be caused by ever-lengthening copyright terms (till recently). I mean: surely they must have some effect.

The old songs still have a (known) value, while new songs are still an unknown quantity. Since the copyright on the old songs lasts such a long time, there is less of an incentive to invest in new songs.
Like those hard to follow auto translated generated captions on YouTube, but spoken...

It's a good idea but I'm not sure how well that would work.
>> single language/build system

Imagine designing your entire architecture around your build system.
I like that approach, gg
As reported everywhere else, the denial is carefully worded to deny only things that were not alleged, i. e. that Sotomayor personally and directly asked Gorsuch to wear a mask.
How is this no-code when there's code all over it ?
Https is transport integrity.

If you download malware, https ensures that it gets to you in one piece.
(or anything else you wish to receive)

What I meant is that once the content has been delivered to the browser,
it will not be displayed unless the integrity of the payload is ensured.

A dumb example, because I am not creative tonight.

You download a book, Neuromancer by Gibson.
The book is stored in an encrypted zip file.

The zip file is delivered to you via https.
You can't read the book unless you know what the key is.
If the zip file has been altered post download, it
probably will not open even if you know the correct key.

On the web one could argue that if such a mechanism was possible,
then it would "protect" people.

Let's say Bob is doing his weekly online banking and crypto investing.
Bob isn't that good with computers.
Malware is everywhere, maybe someone has been able to sneak an extension
into Bobs Chrome browser and it modified the content so he transfers
his crypto to the extension authors account.

If the page was unable to be displayed less its integrity was ensured
this would save Bob money.

Yes I agree that as the web exist today with an unholy smear of
html,css, JavaScript, Pictures, links, cookies etc it would be
difficult to do.

But we can go beyond what we have now.

Imagine if someone has slid a nefarious extension into your browser.
it can change anything it wants as things sit now.

T
Unknown is a top type in the TS type system. It serves the very important role of "here you need to apply some pattern matching and validation" and then you can make sure that you can continue working in a type safe environment. TS has a lot of facilities that help you with this (from the usual narrowing things, typeof and instanceof guards, control flow analysis, and at the end of the list there are the big guns like this thing called type predicates which basically allows you to wrap these checks and "casts" in nice reusable functions).

There are also recursive types that help you model JSON, but knowing that it's an arbitrary deep nested map/list of maps/lists and number and bool and string mixed like a Bloody Mary cocktail doesn't really help :)

With NestJS it's very easy to add decorators/annotations to fields of a class, and the framework handles validation (throws HTTP 422 with nice descriptions of what failed) and then in your controller you can again work in a type safe environment.

https://www.typescriptlang.org/docs/handbook/release-notes/t...

https://www.typescriptlang.org/docs/handbook/2/narrowing.htm...
I appreciate you taking the time to write those issues. Indeed they were what I was looking for.

I upvoted because I think those are good critiques, and some gave me a new perspective on the matter.
Yes. It also forces people to read and allows them to be exposed to foreign languages.
Lifecycle management is also a big part of it, I think.

My search engine is a hybrid architecture, with some monoliths and some microservices.

* Index - 5+ minute start time and uses 60% of system RAM.;

* Search Server (query parser, etc.) - 30 second start time due to having to load a bunch of term frequency data, low resources, ephemeral state

* Assistant Server (dictionary lookups, spell checks, etc.) - fast start, medium resources, stateless

* Crawler - only runs sometimes, high resources, statefull

* Archive Server- fast start, low resources, ephemeral state

* Public API gateway - 5 second start time, low resources, ephemeral state

+ a few others

A lot of the ways it's divided is along the lines of minimizing disruption when deploying changes. I don't have the server resources to run secondary instances of any of these, so I'm working with what I've got. If I patch the crawler, I don't want the search function to go down. If I patch the search function, I don't want to have to wait 5 minutes to restart the index.

It would certainly be cleaner to say break apart the Index service in terms of design, as it does several disparate things, but those things have a resource synergy which means I can't, not without buying another server and running a small 100 GbE network between them. Seems silly for a living room operation.
What does your stack look like? Curious how you don’t go broke while offering a free plan.