skysight-inc/HackerNews huggingface dataset:
I know it's popular to criticize Uber and similar apps nowadays, but when they launched, they were a breath of fresh air. It allowed you to get from point A to B in a new, clean car, without having to negotiate the price and without the risk of taxi driver scamming you for money (especially tourists who don't speak local languages fall victim to taxi drivers) or taking you on a much longer route on purpose. Also the phone app is much more convenient and safer than calling a taxi company to arrange a pickup. I don't want to go back to times before Uber, and I am glad 'traditional' taxi companies have also adopted the mobile app model.
> RELAX. MACHINES ALREADY TOOK OUR JOBS

I don't think the analogy holds at all, people used to be moved from intensive labor jobs (mines/fields) to less intensive and less physical jobs (factories, &c.) and earned workers rights, vacations, min wages &c. in the process. Now they're moved from low skill min wage jobs (factories, warehouses) to precarity and meaningless jobs, min wages aren't rising, retirement age is increasing, quality of life is stagnating [0] ...

Automation is fine as long as it brings something positive to the workers, today it doesn't bring anything to the workers. The only people benefiting from it are the people designing the tools and the companies replacing workers with these tools, I doubt this would represent more than 10% of the global population.

If we don't rethink our concept or "work and "jobs" we're going to have a real bad time, we can already see it today with growing inequalities and it's only going to accelerate.

Instead of talking about how a machine can harvest more potatoes than a farmer we should talk about how much social misery is created. It's more of a moral and social problem than a technical one.

[0] Don't come to me with "people have netflix and 4k TV so their lives are better now than 50 years ago"
‘I Am Worth It’: Why Thousands of Doctors in America Can’t Get a Job
Well, if you chose to do it for Windows, that's what you get!
This is profound insight. Well put.
#tribalism
All Go code everywhere never has unused variables, never has unused imports, and is formatted similarly. But, when you're debugging a function, you can't leave unused variables or imports lying around.

It's a tradeoff. I don't think either side of the tradeoff is insane.
Is the client Uber or the rider? In my corporate job I work with contractors who do full time for us for months at a time. They were paid by a placement agency, but we are the client.
Boris had nothing to do with this ruling. Why crowbar politics into this discussion?
For low paid drivers yes, but I know a lot of high paid software developers who would say otherwise.
A Dutch judge ruled on Deliveroo just a few days ago that they are not self employed and should be considered employees: https://www.nu.nl/economie/6116722/deliveroo-koeriers-zijn-o...

The consequences would be union negotiated salaries are applicable as well as other perks of being employed (sick leave, vacation, etc.) and time spent waiting at a restaurants is counted as work.
I would like to be able to query it. Windows used to support IsBadReadPtr and IsBadWritePtr but they have been deprecated. I'm not aware of something similar on Linux.
> It's a travesty that there's no UI for something so basic in 2021

Or the simple explanation is that the data from years back is maybe not in all caches and it's a lot easier to launch the feature with the currently already fresh and cached data.
Watch how Tesla Solar Roof automatically makes snow slide right off
I'm about 20kloc in to a (not public) nMigen project, including a UDP/IP stack, various peripheral drivers, a DSP pipeline, and some custom networking code. So far I think "do the advantages of being able to metaprogram outweigh..."is a resounding "yes", but I came to it with extensive Python experience so it feels like a very natural fit to me, and given how other attempts at embedded metaprogramming go (Tcl...) I'm not sure Python is easily beat. Being able to integrate with numpy for DSP work, pytest for simulation and testing, Python packaging (such as it is) for distributing modules and managing dependencies and versioning, and simulating inside Python too are all additional compelling advantages.

nMigen is a pretty fledgling project so there aren't a ton of big projects in it yet, but for example Luna[0] (from the makers of the HackRF) implements a full USB stack including USB3 support, with enough abstraction that you can create a USB-serial converter inside your FPGA using two I/Os for full-speed USB and wire it into the rest of your project in about ten lines of Python[1].

[0]: https://github.com/greatscottgadgets/luna
[1]: https://github.com/greatscottgadgets/luna/blob/master/exampl...

Migen, the Python-based project nMigen is based off, has been around for longer and has some large projects, such as LiteX[2] which uses Migen to glue together entire SoCs, including peripheral cores such as GigE, DDR3/4, SATA, PCIe, etc, all written in Migen, and is pretty widely used. It also pulls in Verilog/VHDL designs (such as many of its CPU core choices) since it's easy to pull in those from the Python side.

[2]: https://github.com/enjoy-digital/litex/
Your argument would be helped if you would actually respond to each of these points, which you don't.

Let's do it for you
> 1) cities indeed in somec countries set the fare regulating taxis like a utility. it's pricy for consumers but transparent and stable for everyone. drivers can earn more money by reducing cost compared to their competition. Seems fair. 2) well, it's a public utility. So people can actually go and vote for or against taxi laws. You can't do that with uber... 3) I am not aware that a self-employed taxi-driver has to transport people? 4) as I'm not aware that cities monitor rides?
HN doesn't uses Markdown syntax for formatting: "Text after a blank line that is indented by two or more spaces is reproduced verbatim. (This is intended for code.)" https://news.ycombinator.com/formatdoc
Super promising Switzerland-based startups to watch in 2021
I know. I live in the UK. I literally started my comment saying how different I am to other people and people keep replying about how not everyone is like me. Is reading comprehension really this bad or am I just rubbish at writing? I'm always happy to learn if it's the latter.
Huawei turns to pig farming as smartphone sales fall
Licensed taxi drivers agree to provide services at the industry rate (minicab providers don't even have to do that) and follow some license conditions. They don't have an obligation to use a dispatch service which constantly alters the rate of pay they're expected to accept to maximise its own revenues. UK taxi licensing authorities aren't even allowed to make a profit on selling the licenses (the budget is ring-fenced)
> I have a theory that automation can be reframed as an imbalance between natural resources and labor. Economy at large is either constrained by available supply of labor or supply of natural resources. The automation causes the labor constraint to disappear, and economy is then only constrained by supply of natural resources.

At some point we'll have to get out of this mental framework. Is the only mission of humanity on this earth to consume as much and as many natural ressources to produce more for "the economy" ?

What's the end goal ? Automate everything and consume everything as quickly as we can ? What do we do when we're done ?
> and if you order through there, it's costing the restaurant a lot of money

How does it cost the restaurant any money when they do this? The delivery companies can't unilaterally take a cut of the price, can they. I think you'll find the delivery companies mark up, and get their money that way, in this case where they don't have an agreement with the restaurant. The restaurant gets the price they ask for it.
I definitely agree. I'm actually thinking that the microservices architecture punishes team earlier for creating a mess, which is a good thing. It forces you to adapt good patterns, because otherwise nothing will work.

I'm not sure, but I feel that with monoliths the teams get punished later and thus create a bigger mess. But I guess it's more like 60/40 rather than 99/1.
I am reading this as tagged unions are overrated in rust because many use cases are not properly supported in rust, or at least not yet
If machines were taking a disproportionate number of jobs a pretty easy way to mitigate this would be to lower retirement age. Older workers who can't retrain as easily could be phased out of the workforce with minimal inflationary impact.

If your reaction to lowering retirement age is to fret about rising life expectancy and "where is the money going to come from?" then congrats - you don't really believe jobs are being automated.

It's interesting that the media drives both mutually contradictory narratives at the same time.
It ranks 8 in the composite (which adds a layer of human opinion, since they weigh each of the benchmarks...)

Java and Rust are both above, but my takeaway is that it seems to be by far the best-performing batteries-included framework according to the benchmark. It leaves the likes of Rails, Laravel, Django, Phoenix, Spring or Nest.js in the dust.

Is there something in the benchmark that favors .net core above all the others?

I'm genuinely asking, I've never even tried .net but I like full-batteries frameworks and this catches my attention.

[1] https://www.techempower.com/benchmarks/#section=data-r20&hw=...
How to Take Back Control of Your Health
There is really something to be said about using C as a teaching language. When you start with C, the entire process is laid bare. And fully agree with earlier observation that microservices are delegating the 'link' phase to a distributed operational/runtime regime. Just being able to see that (conceptually) would steer away a mature team from adopting this approach unless absolutely necessary.

One of the patterns that I have noted in the past 3 decades in the field is that operational complexity is far more accessible than conceptual complexity to the practitioners. Microservices shift complexity from conceptual to operational. With some rare exceptions, most MS designs I've seen were proposed by teams that were incapable of effective conceptual modeling of their domain.
If you are implying that having an un-guessable URL secures your data, you might want to reconsider that approach. Your data should be secured server-side based on the actual auth in your app.
JavaScript, Asynchronous Programming and Promises
> the restaurants listed on these apps are not the real restaurants themselves

This isn't what is happening.

The food still comes from the actual restaurants.
This is my experience.

I have friends who own medium-sized restaurants in a couple different major EU cities.

They all have domain names, and web sites sort-of, but none of them thinks anything matters besides Facebook and to a lesser extent Instagram. The web sites are rarely, if ever, updated. Of course right now they are all forced to close anyway; but pre-Covid at least one of them tried to take the web site seriously and gave up after a while, everybody used Facebook anyway.

One of these owners is my age, the others are younger. I even know a guy who owns a catering company and doesn't bother with a web site.
Another good trick in emacs (if using git and magit) is `magit-find-file HEAD <file>`, then you can edit in one window and see the old version in the other
Because "refine" really means "melt at temperatures ranging from 500 to 4000 degrees celsisu and then extract via various mechanical processes and/or using various reactants which often require gigantic plants to produce and are highly unstable".

Basically all of the history of science until 200 years ago was figuring out "mine and extract" and the course of civilization is very much linked with the price & quality of metal structures they could produce. But it's gotten so good we take it for granted.

However that is because of gigantic plants situated in specific areas where energy is cheap that do this thing at an amazing scale.

Aluminum is cheap as chips, except that it used to be more expensive than platinum (and at a much higher impurity ratio than the stuff we use for baking or for making cheap cases).

Heck, gold is "a thing" because we could purify and mold it without bringing it to a melting point and it was, for a very long time, the only metal available to us to do anything with, way before the bronze age.

And the problem with the refinement process is that you can't really "be smart" about it, reaching very high temperatures is one of those things you can't really scale down in an efficient way. You'd have to propel 100,000 tons of factory to mars in order to efficiently refine anything remotely close to the metals we had access to 100 years ago.

Which is not to touch on the mining bit, that is in itself very complicated (see how slowly and shallowly rovers are currently able to drill).

Are there workarounds for this? Maybe, I don't think anyone knows them though, they are not the kind of thing that's within easy reach. Maybe if we happen to stumble upon large reserves of bismuth or lead or gallium or mercury close to the surface of Mars, and build a whole branch of engineering around using those to build machinery... ? But my limited knowledge of geophysics and geology tells me that finding those in large amounts is very unlikely.

For reference, if you take an oven, that can reach, say, 450 degrees celsius (home) and up to 700 (industrial). Those aren't enough to refine any "useful" metal (e.g. iron) and building them requires materials that were produced at 1500+ degrees.

IANAChemist/IANAMaterialScientist/IANABlacksmith though, so take with a spoon of salt.
The tired "It's not illegal so you can't complain." doesn't apply in this case, so the conversation should be more interesting.
That may have been the case elsewhere, but in London there were already several minicab companies that had apps before Uber.
Many of the restaurants on Deliveroo were/are already exclusively takeaways though. I think that in many cases these services have the whiff of rentier capitalism. A third party has inserted themselves into a situation where you previously dealt directly with the restaurant with the intent of extracting value by making both sides dependent on them.

The other factor here is the absurd losses these players are chasing. The capital being pumped in to prop them up feels like a hugely distorting factor that is hiding the actual costs of the sector and preventing new entrants/alternatives from entering the market.

The upside is convenience. I definitely prefer paying by card/web based ordering but I wonder if there's a way of providing the benefits of these services without handing control over to that middleman.
Generally (and I'm not sure if these are really mental models, but often are in my head as a code, and I would imagine are quite obvious to any developer above entry level): Red Green Refactor, YAGNI, Dry, SOLID, and IoC.

When it comes to choosing design patterns I usually lean towards KISS, and prefer less code.

Cyclomatic Complexity is the enemy of maintainable software and naturally arises when users request new features and grows exponentially with the number of users and/or developers. Because of that I do prefer Cowboy Coding - it handles one side of that count. Reflexively I'll argue with new requests and try and predict what else can go wrong or what unintended outcomes will be that will lead to more user requests or complexity. One pattern I often use in my head is to imagine software as biological systems, evolving ecosystems in tandem with users. There's a sort of evolutionary arms race between growing user stories, making the business money, and Conway's law. I try and stick to the 80/20 rule as often as I can when refactoring and making changes and often consider the biological paradigm Structure/Function when designing. I consider it a win when the system is either less technically complicated or the use case is simpler (less steps for a users workow) after I've touched it between releases.
Exploring Serverless Use-Cases
I moved my television out of the living room and into a spare room. I felt like I was binging too much and wanted a jolt to my routine. Since doing so, I’ve read a backlog of books and even stated practicing tech skills I wanted to develop after work. I can vouch for it not seeming as difficult to do after toning down my stimulation. In fact, I can’t wait to get off work to start doing my stuff. Losing tv felt really weird at first. I ate in front of it. I’d turn on one quick show (that always turned in to several episodes!) after work to relax. I’ll probably go watch some shows I’m looking forward to once they’re out, but it’ll be more of a decision than a default. Tv isn’t the devil. I just needed more balance in my life, and the results are making me feel a lot more fulfilled than I was.
> but you could always do that and be delivery-only without paying anyone

Ok so if that's an option then what's the problem?! I don't get the fury here.

Restaurants are free to partner with delivery companies.

Restaurants are free to not partner with delivery companies.

Delivery companies are free to buy and resell product from restaurants and add their own markup.

Restaurants are free to decline to sell product to delivery companies who add their own markup.

Everyone can do what they want here.
Old Typewriter Restoration
I'm a PHP dev who also does Elixir but yeah I never had much colleagues interested.

LiveView helped a bit.
We get asked this question a lot, and also ask this question of users even more. Hope you'll enjoy some of the examples shared in the blog post and the video too.
True. But that was not my argument.
i'd be interested to see how much the pay of the delivery rider could be increased, while keeping the company profitable, if you only reduced “key management personnel” compensation to a manageable level.

is it really normal for a CEO to earn a thousand times more than a normal employee? a hundred times?
> The second issue with starting with microservices is that they only work well if you come up with good, stable boundaries between the services - which is essentially the task of drawing up the right set of BoundedContexts.

> The logical way is to design a monolith carefully, paying attention to modularity within the software, both at the API boundaries and how the data is stored. Do this well, and it's a relatively simple matter to make the shift to microservices.

This is the big take-away to me -- for a long while now I've seen this whole monoliths-vs-microservices debate as a red herring. Whether your conduit is functions in shared virtual address space, HTTP or a Kafka topic the real problem is designing the right contracts, protocols and interface boundaries. There's obviously an operational difference in latencies and deployment difficulty (i.e. deploying 5 separate apps versus 1) but deep down the architectural bits don't get any easier to do correctly, they just get easier to cover up (and don't sink your deployment/performance/etc) when you do them badly when there's less latency.

What we're witnessing is a dearth of architectural skill -- which isn't completely unreasonable because 99% of developers (no matter the inflated title you carry) are not geniuses. We have collectively stumbled upon decent guidelines/theories (single responsibility, etc), but just don't have the skill and/or discipline to make them work. This is like discovering how to build the next generation of bridge, but not being able to manage the resulting complexity.

I think the only way I can make the point stick is by building a bundle of libraries (ok, you could call it a framework) that takes away this distinction -- the perfect DDD library that just takes your logic (think free monads/effect systems in the haskell sense) and gives you everything else, including a way to bundle services together into the same "monolith" at deployment time. The biggest problem is that the only language I can think of which has the expressive power to pull this off and build bullet-proof codebases is Haskell. It'd be a hell of a yak shave and more recently I've committed to not spending all my time shaving yaks.

Another hot take if you liked the one above -- Domain Driven Design is the most useful design for modern software development. The gang of 4 book can be reduced to roughly a few pages of patterns (which you would have come across yourself, though you can argue not everyone would), and outside of that is basically a porn mag for Enterprise Java (tm) developers.
Interesting. I never heard of Japronto before. For the people working with Python: why Flask instead of Japronto?
my TL;DR of the entire article:

> Although the evidence is sparse, I feel that you shouldn't start with microservices unless you have *reasonable experience of building a microservices system* in the team.
Physicist professor.
> Also, in general the idea that greater intelligence means higher income is false.

No it isn't. This is only one study of dozens, possibly even hundreds, that have been conducted over the years:

https://www.sciencedirect.com/science/article/abs/pii/S01602....

The findings are always the same... the more IQ you have, the better off you end up doing, once you control for every other variable.

But I get why no one on HN wants to hear that. IQ is something you didn't earn. It's not yours. It was given to you, and not only was it given to you, you're not allowed to refuse it either. You either have it or you don't. And what's worse, even if you want to be smarter, that's almost nothing you can do that'll raise IQ by a few points - at best. Someone with a 100 IQ will never be able to study enough or learn enough to match someone with a 160 IQ.

Its a lifelong, glaring, undeniable reminder that the Universe is not fucking fair and does not fucking care about anyone. And I've known enough people that are the demographic of HN to know that, not only does this intrinsically eat at their core because you can't deny it or evade it, but it also shatters their utopian ideals - that if we just eliminate all <insert social justice term of the zeitgeist here> that we can lift everyone up.

Well you can't. And you won't. Life's not fair and there's literally nothing you can do about it right now.
As someone who grew up in France I can tell you that restaurants did not offer delivery. This was mostly takeaway pizzas that did that.

Even takeaway in a restaurant was not really a thing and asking for a doggy-bag would only get you a sneer (and often still does).

When I was in Uni in both France and UK (up to early 2000s), if you wanted food delivered it was pizza, kebabs (in UK), or perhap Chinese.

This really changed over the last 10 years or so. Deliveroo was founded in 2013 and they are the ones who really made that explode.
Who decides which drivers are allowed to drive and which should get no income at all?
You can't make a circumstance illegal.
I'm just amazed by how this solution is at the same time incredibly simple and efficient ("why not just hang a saw off a heli?") as well as incredibly sophisticated (the heli itself, saw power and sturdiness, precision of flight, etc.)

I love it.
I tend to take a “hybrid” approach. I believe in modular architectures, as I think they result in much better quality, but the design needs to be a “whole system” design, with the layers/modules derived from the aggregate.

Once that is done, I work on each module as a standalone project, with its own lifecycle.

I’m also careful not to break things up “too much.” Not everything needs to be a standalone module.
> Normally I don’t respond to these confused emails because the distance between me and the person writing them is usually almost interplanetary.

Daniel is clearly smart, but he's not thinking big enough. This is practically inter-galactic.