skysight-inc/HackerNews huggingface dataset:
I've never understood all this drama. In my experience, monoliths are universally bad in every imaginable way. A huge part of my career has been splitting monoliths into cohesive smaller codebases which could be called microservices.

How to split them has never really been a problem, you tend to develop an intuition and the monolith kind of splits itself.

Eg, currently we have user profiles (user id > the users names, email etc) in one microservice, relationships between users (user id > other user ids) in another.

Each has its own datastore, deployment, scaling etc. It works great and while there is a small overhead cost to pay for splitting things it's vastly preferable to the monolith we used to have, which contained lots of things that had very little to do with each other, took ages to test and deploy, if it went down it was game over etc etc etc.
>I thought IPv6 also supported subnets, DHCP, and static configuration, just like IPv4?

It does support all of those.

Dagger2's comment already explained the benefit of using /64 as a subnet size. I want to clarify that when I was talking earlier about getting a /60 or larger from your ISP, the point was that a /60 can be divided into sixteen /64 subnets. So you do have multiple subnets. The only subnet division you should avoid is dividing smaller than a /64.

It's not impossible to work with subnets smaller than /64, as long as you enable NDP proxying like I said. Eg some guides for setting up IPv6 for Docker containers, where the host doesn't have a delegated prefix and thus cannot be a sub-router, tell you to assign a /1xx to Docker and enable NDP proxying between NICs in the kernel. The nicer way, which I used to use in my homelab, is to delegate a /64 to your Docker host so that it can be a sub-router, and assign the whole /64 to Docker to assign IPs from. This of course requires that my main homelab router gets a bigger block than a /64 from my ISP. (My "ISP" was a tunnelbroker tunnel, and thus I got a /48.)

>Long ago, I recall an ISP that charged extra for more than one active device.

Well yes, if you absolutely must use an ISP that only gives you a /128, and you must use more than one device, then you'll need to set up NAT66, or any of the various IP tunnels to an external server, and forego having universally routable addresses on your devices.
You should be including --mirror to get all refs pushed.
I patiently await the followup article about poutine variations.
In theory the problem with this is that the majority of people have some kind of retirement savings, and want to get a return on investment, but many have no clue what they're doing.

Having them lose their retirement savings might cause the money to be invested more efficiently by someone else, but at scale it causes a different problem.

On the other hand, that is the very problem social security is meant to address. It's not really any different if idiots lose their money investing in pets.com than if idiots lose their money in buying a Ferrari that immediately depreciates and incurs outsized maintenance costs, is it? So given that social security exists, maybe you're right.
Overflowing hospitals happens to our beloved NHS every winter.
They are a commodity, sold by a truckload, come from replacement of big corporations' PCs. Might not be good enough to give a whole state the same model though.
I'm getting there, plus old enough that FB and twitter never made any impression. Google apps is hard to cut off when you have school age kids though.
I think we need to go back and think about what “micro service” really means. In my company the terms “Web API”, “Service” and “Microservice” are pretty much the same. The only difference is that “Microservice” is cool now.
Throw IT at wall, see what sticks.

You know what, http3 gonna be sick!

When you're all alone and feeling insane,

you know you lack the sweet sweet 2.0 Webscale.
So right now it's 5pm PST, end of the work day for many. It's 8AM in Saigon.

You really think people are going to work from midnight to 8am? And sometimes later in the morning depending on the situation? And this is going to be a massive trend?
At Uplift, we’re on a mission to perfect our work life while learning, building, and enjoying our free time. We're looking for well rounded software engineers with mid/senior experience level for the following role.

Backend engineer:

* Django (python)

* GraphQL (Django & React+Apollo)

Bonus:

* Freelance experience: delivered projects, managed budget/estimate, worked with non-technical clients (most important)

* TypeScript

* Heroku or AWS

* SQL experience

* Can think critically, build from rough specs (no designs or detailed specs)
One of our core values is continuous learning: within the industry & from each other. We welcome people of different backgrounds, experiences, abilities and perspectives. If you're self-sufficient, passionate & a good communicator, apply now!

Begin part-time and go from there.

#### To apply:

* Location and preferred working hours (US timezone required)

* Which position you’re applying for

* Details about your experience with all of the above skills & technologies.

* Current & next 3 months of availability, range is OK. At least 15 hours a week.

* Before applying, please read: https://www.uplift.ltd/careers/

Email hn@uplift.ltd
To me "inverse square root" means "square" so it makes the title of this kind of funny.
Crowd-sourced beauty review website with social media spin
This is going to revolutionize the beauty industry
Need to start calling them ‘heirloom’ varieties like tomatoes.
Overstated. Makes the usual "I hate blah blah" essay mistake of confusing the way something is understood and implemented in the general dev community with what it actually is.

Most of the time, things start off for good reason and represent good practices. We just butcher the hell out of them when we start selling them to one another. (Same thing happens in reverse; once enough people destroy any goodness left in a buzzword, people oversell how bad the idea is when they start pitching their plan to get rid of it)

To be clear, I don't disagree with the premise that lots of microservices implementations are a clusterfuck of monumental proportions. It's just ranting and raving about devs and dev shops screw up stuff isn't exactly news to anybody. That's the natural state of affairs no matter what your flavor-of-the-week.

We get close to something useful near the end, "...focus on the right criteria for splitting a service instead of on its size, and apply those criteria more thoughtfully..."

The rest of this looks like a rehash of generally-accepted architectural principles, most of which were misapplied and resulted in us getting here in the first place. I'm not going to line-by-line critique this. There are far too many points to counter and I can't imagine the discussion keeping any sort of reasonable cohesion (hardy har har) if it spreads out that wide. Oddly enough, I find this discussion of why monoliths might be a preferable default state too monolithic to split up into reasonable chunks to analyze. Much irony there.

We got to microservices (or I might rather say we _returned_ to microservices) by following good code organization principles. Instead of starting with the resulting implementation (such as the DAGs and various models in this essay) and trying to argue first principles, it's better to start with first principles and then come up with criteria for evaluating various results.

I feel I would be neglectful if I didn't add this: if your code is right, whether you're deploying as a microservice or a monolith shouldn't matter. That's a deployment decision. If it's not an easy deployment decision, if you can't change by flipping a bit somewhere, then either your first principles are off somewhere or you made a mistake in implementing them. The way you code should all be about solving a real problem for your users. How you chunk your code and where those chunks go are hardly ever one of those problems.
The first negative sentiment OCaml post on HN that I see. Nice to see some perspective every now and then.
That would make more grammatical sense, but the parent comment is presumably referencing Windows Subsystem for Linux[1], which is a subsystem for Windows that runs Linux.

1. https://docs.microsoft.com/en-us/windows/wsl/about
I guess not a lot of people use the main screen at all. It only hass a minicalendar and you probably have another calendar application anyway.
China's Hopeless Twitter Influence Operations
Every fantasy subway map I've seen has extended the 7 into New Jersey. Extending the 7 down into Chelsea makes no sense, because you already have 4-track subway trunks on 8th and 7th, and the island is narrowing as you head downtown. If you need another Midtown N-S trunk, the logical choice is the 2nd Ave, as the east side is underserved (and that side of the island bulges out as you head downtown instead of disappearing). Even then, the return on investment for the southern portions of the 2nd Ave Subway is kind of shaky.
SF Rental Prices Still Falling
Still not a cryptominer.
The entire system of affiliate links piss me off for the same reason I have to pay the same in cash as people using a creditcard.

It has a taste of paying too much if the vendor can afford to give a fraction to the affiliate.
Interview Schedule | Remote (USA) | Full Time | https://interviewschedule.com/careers/

Want to join a lean, ambitious, and fast growing startup? We're a team of 8 changing how companies hire. Our first product streamlines recruiting scheduling and coordination, saving teams hundreds of hours a month. We support fast-growing companies like Twitch, Duolingo, and Segment. We have our sights set on making hiring a great experience for candidates, hiring managers, and recruiters. We’re building the platform to fix the $200 billion per year hiring industry.

We found product-market fit, have strong revenue growth, and are well funded by top tier investors. This is an exceptional opportunity to transform an industry with powerful and easy-to-use products customers love. We offer competitive Bay Area salaries no matter where you're located, along with significant equity and full benefits.

Open Roles

- Full Stack Engineer: https://jobs.lever.co/interviewschedule/cd8555d4-e7f9-4ca2-9...

- Account Executive: https://jobs.lever.co/interviewschedule/b12bfc30-b46c-44b3-b...
Seriously. That counts for a whole lot. Frankly, that was one of the great things about the old 8-bit computers. They were constant in some ways. You could turn them on. And then go.

What we've got here is something a lot like that. But it has a lot more power connectivity. All the things the simple machines don't have. But it's all still pretty lean too. I'm excited.
Order (https://orderhq.co) | Multiple Roles | HQ in Boston/Berlin | Fully Remote | Full Time

We're building a visual cloud storage and we need your help!

We have tons of technical challenges:

- A real time sync engine for offline first solution
- Real time collaboration(CRDT)
- Two-way file synchronization across platforms
- Advanced Search

Our stack is built using Golang, TypeScript, Swift, and Python, on tops of technologies like React and others.

Our open positions include:

- Senior IOS Engineer(swift)

- Senior Frontend Engineer(typescript/react)

email me if you’re interested we can grab a virtual coffee and have a chat. -> abtin@orderhq.co
I like this way of thinking about services; decoupling the "project model" from the "deployment model" is a good way of thinking about things.

Some random thoughts:

* What build toolchains are suited to these arbitrary DAG arrangements? Bazel? Perhaps I missed a reference in the article, but I'd be interested in the author's take on this, and of course any thoughts from the community here.

* The "testing monolith" is a pattern that I've used in a less well-named fashion, and it's great for cases where lots of code-services need to execute a business process that might span weeks or months; building a test rig to mock time across an ensemble of microservices sounds like an interesting challenge; mocking time inside a single process running the combined logic of all the services is much more palatable. (This isn't really possible if you use multiple languages though, so it only gets you so far).

* DDD bounded contexts as service boundary -- this is a good starting point, especially if you take a loose definition of "service". Under the DDD definition of "Service" you can actually have multiple deployables running; for example a typical Django/Rails monolith will have a DB (SQL) and an async worker (Celery/Sidekiq via Redis/RMQ) and perhaps a cache (Redis) so it's really a bunch of different deployables, even if we refer to it as a "monolith". Likewise with smaller services. If you think of the Service as being a constellation of processes with an external API, then you can start splitting out parts into separate deployables without the outside world caring, say to scale a particular workload independently of the rest of the Service logic. This is kind of the direction that Uber ended up moving in with their "Domain Oriented Architecture" (https://eng.uber.com/microservice-architecture/). This is actually how Django monoliths already work; you use the same codebase to specify your sync API workers, and your async Celery tasks, and you'll deploy them as separate deployables from the same repo.
You can't force somebody else to host your GPL code if they are not a party to the license.
This is really good.... comparing this to reveal.js, does Presenta support presenter notes?
> We've built our own queue on top of our database rather than using the production-quality cloud queues available on GCP

Cloud Pubsub has HTTP and gRPC APIs, wonder why they didn’t use those? https://cloud.google.com/pubsub/docs/apis
Because scraping data sucks, occasionally has compliance concerns, and is a different core competency from trading. They would rather offload all of the bullshit involved in maintaining a robust scraping operation than pay their research team to do it.

Time spent on maintaining a scraping operation is time taken away from optimizing your ETL process and producing actionable research for your trading team. You know how people pay to have their pipes unclogged even when they know how it's done? Same idea.
i think they make game middleware.
“bonkers expensive station design.”

Sounds a little like American healthcare. Either super expensive but shiny care or either nothing or subpar care. No reasonable middle. I always wonder why all hospitals have to be super new with new devices.
No. Iatrogenic harms are real and screening has never been shown to save lives. You will have many more people getting punctured colons and unnecessary treatment, causing physical and psychological harm if you try to get everyone screened.

https://www.bmj.com/content/352/bmj.h6080

It's tempting to think that early detection is the simple solution. It's not, and the experts understand this when they make recommendations.
I see no personal attack. Technically speaking.
Sorry but this is just silly. There's nothing more real about plugging in usb devices or dragging around files on a system file browser, it's just what seems normal to you.

It would be just like telling kids in the early nineties "this GUI stuff is great and all, but the real way to interact with computers is the command line". Or even longer ago, telling kids "this terminal is nice and all, but the real way to use computers is punch cards".

I also don't think the idea that ChromeOS is too locked down to be a real learning environment for kids really holds up. If anything, it's too open. There are billions of websites out there, and thousands or however many that might be excellent learning resources or sandboxes for kids, it can just be hard to know about them/find them all. But the abstractions are just shifting around, there are plenty of full development environments on the web where you can program and host entire apps. Or you can tinker with IFTTT or Zapier to connect different hosted services and hack them to do different things you make up. There's still a lot of room for creatively using technology, I certainly wouldn't sweat pushing kids onto "regular" computers instead of chrome books or tablets (beyond just a basic introduction to broaden their horizons and let them at least understand that this other paradigm exists).
Yes but it should be avoided because the shock damages the hard disks' heads.
That's not true. They are illegal primes because encryption keys are just pairs of prime numbers used for public key cryptosystems, so posting the primes that make them up is sharing the encryption keys and thus against DMCA. There is no transformation involved - it is not just encoding normal illegal content into a numeric form.
Very cool. It's awe-inspiring how much control we have over or environment. For better or worse.

If you find this article interesting, you might enjoy the 99% invisible podcast which takes about similar "invisible" design choices.
That's the Linux way to do it

union { int i; float f } u { .f = 1.23f };
int i = u.i;

Another way is a memcpy, which I believe is the most defined way to do type punning

int i;
float f;
memcpy(&i, &f, 4);

But you also have to assume the size of those primitive types but that's pretty safe in modern C/C++.
> When you're searching for product-market fit, you do the simplest, easiest thing. If you lack a good SDK for your cloud provider, the simplest, easiest thing is often a terrible architectural choice.

I understand his point here. Spending week(s) writing a good SDK is hard to justify, but if you're building new infrastructure to support a project in a more obscure language, you kinda have to sacrifice time building said infrastructure well. When Naughty Dog programmed their games in GOOL/GOAL they built their own compilers, debuggers etc. - not a trivial task.
Since when do you even need a GPS to measure speed?
Genesis Therapeutics | Burlingame, CA | Onsite (Flexible WFH) | Full-time | https://www.genesistherapeutics.ai

We’re a hybrid AI + biotech start-up, developing novel neural networks to predict molecular properties and using them to accelerate the development of new medicines.

Looking for great software engineers and ML researchers with an interest in drug discovery -- no biology or chemistry experience required. We all learn from each other here.

- Just announced a multi-target drug discovery partnership with Genentech: https://www.businesswire.com/news/home/20201019005182/en/Gen...

- We currently have a small team of excellent AI + software engineers: graduates from Stanford, UC Berkeley, MIT. Previously worked at Facebook, Google, Dropbox, Memsql, Jane Street

- Core deep learning tech was invented by co-founder + CEO Evan Feinberg during his PhD at Stanford’s Pande lab (the lab that did Folding@Home). See the peer-reviewed PotentialNet paper: https://pubs.acs.org/doi/10.1021/acscentsci.8b00507

- Seed round led by Andreessen Horowitz, and we currently have lots of runway

- Our platform was validated in collaboration with a top-five pharma company, in a public paper: https://arxiv.org/abs/1903.11789

- In addition to strong software + AI talent, our small team has top drug discovery chemists who have collectively discovered several FDA-approved drugs before

Here are our open roles:

- AI Engineer (Research Scientist): https://jobs.lever.co/genesistherapeutics/c1b7564f-181b-4e45...

- Infrastructure Engineer: https://jobs.lever.co/genesistherapeutics/cbf4ca99-2afb-4d23...

- Software Engineer: https://jobs.lever.co/genesistherapeutics/e76a97f1-1157-4bb7...

Interview process: 1-2 one-hour technical phone screens, 1 day on-site (now virtual) with 3 one-hour technical questions. All these include extra time to chat, answer your questions about Genesis, and meet us. Can go from first email to offer in a week or two

Tech Stack: python, C++, pytorch, postgres, docker, kubernetes, various computational chemistry libraries + tools

Please apply online, or email me your resume: ben@genesistherapeutics.ai
> currently we have user profiles (user id > the users names, email etc) in one microservice, relationships between users (user id > other user ids) in another.

What do you do when you need to query data across these boundaries?
(disclaimer, I am part of a Climate&Energy R&D lab)

The goal is not really to produce a set of big trees, but to maximize the amount of carbon you can suck out of the atmosphere per year, heavily weighted to the near future. As a result, producing an old growth forest is not the correct metric (if you are optimizing purely for climate).

A stable forest (from purely a climate perspective) is also not the right optimization. Ideally, you'd lock away the carbon outside of the biosphere, instead of letting it get recycled.
There already are some illegal transcendental numbers. For example, you can't publish the transcendental number which is the circumference of a circle whose diameter in metres is 485650789657397829309841894694286137707442087351357924019652073668698513401047237446968797439926117510973777701027447528049058831384037549709987909653955227011712157025974666993240226834596619606034851742497735846851885567457025712547499964821941846557100841190862597169479707991520048667099759235960613207259737979936188606316914473588300245336972781813914797955513399949394882899846917836100182597890103160196183503434489568705384520853804584241565482488933380474758711283395989685223254460840897111977127694120795862440547161321005006459820176961771809478113622002723448272249323259547234688002927776497906148129840428345720146348968547169082354737835661972186224969431622716663939055430241564732924855248991225739466548627140482117138124388217717602984125524464744505583462814488335631902725319590439283873764073916891257924055015620889787163375999107887084908159097548019285768451988596305323823490558092032999603234471140776019847163531161713078576084862236370283570104961259568184678596533310077017991614674472549272833486916000647585917462781212690073518309241530106302893295665843662000800476778967984382090797619859493646309380586336721469695975027968771205724996666980561453382074120315933770309949152746918356593762102220068126798273445760938020304479122774980917955938387121000588766689258448700470772552497060444652127130404321182610103591186476662963858495087448497373476861420880529443
>What does a journalist know about verifying video data?

I don't think the parent comment was using journalists as a specific group of people who should be the ones in charge of verifying video data. I took it more as "we need a dedicated group of people for verifying video data, similarly to how we had journalists verifying all other sorts of data for their articles since the dawn of journalism".

Goes without saying, but, also, the parent comment was clearly alluding to the "verification by journalists" in a traditional sense of proper investigative journalism, not "journalism" that is based on pulling random tweets without context from random no-names.
I've been using this combo for a while and it works really well. I have 2-4 profiles open at one time and just whitelist my inbox and a few other sites/apps I frequent while working. Great Suspender makes it totally viable.
Enchant | Part-Time | REMOTE | https://enchant.com

We create customer centric products that help companies build meaningful connections with their customers.

Currently looking for content writers to join us on our educational mission of helping small businesses succeed through customer centricity.

Send an email to careers@ with some links to your published content.
Joke's on them, I already ROT26 all my repos.