skysight-inc/HackerNews huggingface dataset:
Ruby is the first language I learned (apart from dabbling with Visual Basic as a kid). I still reach for it to actually get things done. One thing I always appreciated about it was the consistency of everything being an object and how that allows you to just chain methods together. Kind of reminds me of Lisp in it's consistency (although in Lisp everything is data or a list, not an object). Later I dabbled in Smalltalk (Pharo) just for fun to try to understand what inspired Ruby's object model.

I've tried Python, hated the inconsistency of it, but then again I never tried any C family language before learning Ruby. Calling Each then feeding it a block feels more natural and consistent than a for loop IMO, even if for loops are the standard 'programming' way of doing it. It does make sense to use it as an analogy to describe the differences between the languages.
Microsoft user to buy an M1 and never look back (me at least)
No one else was taking specifically about Bosch systems (edit: in the comments, not the article) until you came along, and your original reply didn't mention them by name. There are lots of e-bikes out there, including pure "pedelecs" with no hand-operated throttle, which do not use Bosch parts and do not have torque sensors. They assist when the pedals are moving, not when you're applying pressure.
Wait until you learn about (dynamically-loaded) libraries that start up worker threads and stuff without any notification. You do your stuff with them, then call FreeLibrary and suddenly some random thread crashes because its text is no longer mapped and brings your whole program down. Fun stuff!
FWIW most usages of the phrase "begging the question" in modern English seem to mean what OP meant, rather than the classical meaning. Perhaps this is because the classical meaning is based on a bizarre translation from Latin in the 16th century, leading to a very unintuitive phrasing in English:

> The term was translated into English from Latin in the 16th century. The Latin version, petitio principii, "asking for the starting point", can be interpreted in different ways. Petitio (from peto), in the post-classical context in which the phrase arose, means assuming or postulating, but in the older classical sense means petition, request or beseeching. Principii, genitive of principium, means beginning, basis or premise (of an argument). Literally petitio principii means "assuming the premise" or "assuming the original point"

https://en.wikipedia.org/wiki/Begging_the_question#%3A%7E%3A...
It's so depressing that after almost 2 years of pandemic we seem to have zero decent data and zero consensus regarding the real effect and usefulness of things like masks, lockdowns, seasonality of the disease, or what is the long term plan for countries trying to achieve 100% vaccination rates.

It seems like every single decision is purely political and the next decisions are just cover-ups so that previous decisions don't blow up on the people who took them. I guess zero data means zero responsibility.
"Vector numbers" for something purely 2D seems dodgy to me. There are lots of unital algebras, even in 2 and 4 dimensions, and none of them should hog the name "vector numbers" as they all have equal entitlement to the name.
Unfortunately, the NVC/immigrant visa process is a disaster right now; the NVC is completely overwhelmed. If the process drags on, I would recommend that you contact your local Congressional office to make an inquiry.
Very interesting read, also enjoyed your projects section, lots of cool stuff there.
Another lawyer here. I've been successfully running Ubuntu for my practice for the past five years. Currently on 21.10. Crossover Office takes care of the Word problem but I mostly use LibreOffice. Word is useful for appellate briefs and Table of Authorities. For Crossover, I need to be in X11, not Wayland. Otherwise, it's entirely boring and seamless. Brother ADS-1700W scanner works with Document Scanner. Thunderbird 91 is great for encrypted email. It's really not an inconvenience to use Ubuntu in an office.

Edit: Document Scanner not Scan.
I'd argue when I'm writing C# in a web-development setting (ASP APIs etc.) that a large majority of the code is LINQ. Especially if using something like Entity Framework. It's really just part of the language now.
the speed of tech debt gain is improved.
Unless you are doing some competitive riding, there is a reasonable limit for how long you want to ride per day. As a motorcyclist, I know well that distances of 350-600 miles per day are possible but taxing on your body. So for regular commute or light weekend riding (roundtrip), I would say 4-5 hours of battery life is sufficient. Depending on cruising speed, you can calculate the distance it will get you. Anything above that is just an extra unnecessary battery weight you are carrying.
On the subject of the floating-point math in general, I wonder what's the practical way to treat the extreme order values (close to zero ~ 1E-200, or infinity ~ 1E200, but not zero or inf)? This can take place in some iterative methods, expansion series, or around some singularities.

How reliable is it to keep the exreme orders in expectation that the resp. quatities would cancel the orders properly yielding a meaningful value (rounding wise)?

For example, calculating some resulting value function, expressed as

v(x)=f(x)/g(x),

where both f(x) and g(x) are oscillating with a number of roots in a given interval of x.
All it does is show you the reality of what’s happening around you. Why would that cause you to feel hatred or bigotry?
Eth keeps getting generated forever but at the same time a portion of transaction fees gets burned, so whether coins in circulation grows depends on transaction volume and fee levels.
My point isn't that fast-math isn't useful: it very much is. The problem is that it is a whole grab bag of things that can do very dangerous things. Rather than using a sledgehammer, you should try to be selective and enable only the useful optimizations, e.g. you could just enable -ffp-contract=fast and -fno-math-errno.
Maybe this can help https://github.com/awslabs/pgbouncer-rr-patch

It is a pgbouncer fork/patch with query rewriting support.
FWIW I maintain Odyssey and will be happy to answer any question regarding it.
Actually there was just a CVE-triggered release... I really hope to release more often with more new functionality.

If you are interested in connection pooling maybe you will find interesing SPQR too https://github.com/pg-sharding/spqr
Currently it's our experiment to build pooling-based PostgreSQL sharding.
Aliens might just be too far away
Vikings in paradise: Were the Norse the first to settle the Azores?
For those wondering why use a connection pooler at all with Postgres, I wrote a (really long) post about it: https://sudhir.io/understanding-connections-pools/
Anyone who has dealt with a desk or home phone that has the spiral cord attaching the headset to the receiver has invariably dealt with this phenomenon.

It's interesting that it is not an issue with organics but, apparently, with any flexible spiral structure given enough time.
Can someone point to an article that explains the connection issue in detail?
I did this on H1-B. Your employer may or may not need to change the "statistical zone" where you are working if you move around, because salaries need to match it. A work location change is an easy H1-B amendment but you need to file it, and it may also reset your greencard application on some cases. You should really talk to your employer about it, they will need a lawyer.
Thank you for all the questions and comments. I'm taking a short break and will be back soon.
I sympathize with many of your takes, but have you looked into Framework[1] laptops?

They're currently only Intel based, but there's a marketplace where you can buy or sell just the mainboards once the AMD, RISC V, or ARM64 models become available.

[1] https://frame.work/
MPFR https://www.mpfr.org/
Looking at those power numbers, I can't help but wonder how much you'd gain by doing this sort of modification on a bike that is more efficient and/or aerodynamic even without the motor attached.

A touring bike frame with 700c wheels and a more stretched out position would likely allow you to travel at the same speed for lower total power output - and make your battery go further (or not require such a large battery).
I believe you are correct [1][2] that wage workers in these occupations have declined since 2008.

Is that related, however, to physical good supply chain disruptions in the past 12 months? And if you're referring to labor supply - we are basically at the same or better unemployment rate than we were in 2016... which was already a pretty good time in the economy.

[1] https://fred.stlouisfed.org/series/LEU0254505500A
[2] https://fred.stlouisfed.org/series/LNU04032231
At least for me - I don't really use my thumb at all unless I'm trying to click and drag.

I click with the fingers doing the navigation, by simply raising and lowering them real fast.

If I'm clicking and dragging, I'll leave my pointer finger on the pad and raise and lower my thumb (it rests on the pad by default).

Don't get me wrong - I still much prefer a physical mouse, but if I have to use a touchpad I don't want to have to guess at where a button or scrollbar might be.
One alternative is SteamDB's solution: https://steamdb.info/blog/steamdb-rating/
> A scanner still relies on macOS so, even though it's a virtualised macOS instance running atop Linux (on an Mac Mini), it's still macOS.

Note the parens. It's on Apple-branded hardware, so IANAL, but that's more likely to be kosher.
Kioxia Gaming-Changing Ethernet-Connected SSDs: What They Are, What They Can Do
Whenever I read an article like this („I am a CEO, I run my company on Emacs / Linux / Xyz“) I am reminded of Peter Drucker‘s book „The Effective Executive“. He distills five (?) behaviours, one of them: „Effective executives start out with the question, “What results are expected of me?” rather than with the work to be done, let alone with its techniques and tools.“

Use whatever works to get the job done.
It is interesting that this kind of context switch for some programmers is a breath of fresh air, and for others its a horrible hack.

I think the fact this is not an objectively good or bad thing has led to a lot of the tension we see in other aspects of programming.

I think a connected issue is tooling: if you presume a certain floor on tooling, more 'advanced' things like multiple composed domain languages become much more feasible since the tooling can remove the need for memorization and help guide construction without fear of errors. But if you presume all tooling beyond text editing should be regarded as non-essential at best and superfluous at worst, it greatly constrains the set of things in programming one can consider sane or not. I do wish we had more projects experimenting + getting traction with "high tooling, high abstractions, high domain mixing" so we could get more literacy around these methods, but I think the vast majority of programmers today have abandoned these kinds of ideas as good or worthy of further development. On pure interia alone, I long ago capitulated to the idea we will be stuck in text editors and having heated debates over typographical syntax for programming languages for the foreseeable future.

People working on things like LINQ and more advanced domain mixing like MPL or (where I once worked) Intentional Software run up against lots of resistance from people I think probably due to some fundamental differences in assumptions, but I'm not really sure what the deepest differences are.
I used to rant about paying so much extra for Apple hardware and call it the "Apple tax" too, but the truth is, no one else makes good laptops. You're paying for more than simply the brand.

I spent a fortune on a Lenovo X1 Extreme, and the thing bricked itself three times in 14 months, the last of which was outside the warranty window, and it's now basically impossible to get repaired (I couldn't even get anyone to look at it, and Lenovo is no help at all). Even if it weren't bricked, the shitty plastic case is already getting loose (the display hinge is loose/wobbly and squeaky); the speakers sound terrible; it's loud; it gets unbearably hot.

Dell laptops are pretty good with Linux, but the build quality is similarly poor. Linux-first laptops like System 76's are clunky and inferior.

It's really hard to beat MacBooks on a hardware level. I'd love to run Linux on one.
I disagree with your take and I am mostly on the receiving end of those late Slack messages. If you do not wish to get notified unless it's an emergency there is a nifty feature that allows you to define your working hours, out of which you won't get a notification when getting messages on Slack.

In case of something that is urgent the sender can override the "do not disturb" and send a notification anyway. This in my opinion is the right way to do.

You should own the fact that your free time is yours and that you shouldn't open Slack to read those late messages. People work at different times (especially true for globally distributed team) and expecting people to "know" that they are outside of YOUR business hours simply does not scale to multiple employees.
I'm optimistic about electrical. Here is a high level analysis of power and energy density required for some electric vertical takeoff aircraft, compared to some existing batteries: https://www.pnas.org/content/118/45/e2111164118 (h.t. kittyhawkcorp twitter). The necessary power density is achieved, the energy density needs to improve by about 2x for these vehicles to attain their intended range.

The article also compares the range and energy efficiency to electric and ICE vehicles, accounting for the distance reduction by flying in a straight line versus driving on the road. If I recall it doesn't apply any extra value for time savings. The overall energy used in flying could be as little as 2-3x the energy used driving a terrestrial electric vehicle. Combine that with vertical takeoff and no traffic and we're looking at something pretty compelling.

And how much does it really need to cost compared for example to a Tesla? The weight will be more optimized and the safety regulations I assume are much sterner. The technical complexity seems similar but the volume will be much lower. I don't think it really works if you need a pilot's license so full autonomy is probably also a prerequisite for an everyday application.

I think EVTOL will still be embryonic in 2 years, but impressive in 5 years.
I think something like average real world speed and weight are the two important metrics. Maybe this is the intuition with petal assist vs throttle controlled e-bikes. I do sort of think it should take some work to get a bike up to it's top speed so that riders don't just cruise at that speed.
Even coal or nuclear heavy grids have traditionally needed gas or pumped hydro to meet peaky demand. France got to like 75% of their electricity nuclear, with 10% hydro, but only 20% of heating electrified, giving about 2/5ths of total energy (though that's misleading as about half of fossil fuels is wasted as heat, so lets say they got over 50%), I don't think we can just handwave the other half away.

So, clearly you're not going to use gas, because you don't sound at all pleased by renewebles relying on "fossil fuel backup" to fill in the gaps, so what's left?

Are you thinking about Pink Hydrogen? i mean that's a good plan but it's also basically storage, the same as green Hydrogen would be, no?
There's ongoing work on making Postgres connections more scalable. I really hope that one day we will not need a pooler.
https://www.citusdata.com/blog/2020/10/08/analyzing-connecti...
Omg it’s my dream
Loners help society survive – evolution selects for avoiding collective behavior
This was definitely written by a pythonist! If I tried to write it, as a rubyist, I'm sure I'd get some things about python wrong. (I find it notable how few people there are that are actually familiar with both).

The standard alternative to `for` in ruby does involve `each` and blocks... but definitely doesn't involve defining a custom `each` method on your class... That is a specialty thing that most developers have probably done rarely. Let alone defining it in terms of `for`, which is just weird!

But the basic principle stated "Instead of passing data back to the for loop (Python) you pass the code to the data (Ruby)" -- is more or less accurate.

blocks -- syntactic support in the language for cleanly passing a single in-line defined lambda/closure object as an argument -- are possibly the thing that are most special to ruby.

> Python builds on for-like constructs for all kinds of processing; Ruby pushes other kinds of data processing work to methods.

OK, maybe, although not totally sure what you mean.

> Ruby keeps going with its methods-first approach, except instead of each we have a new set of methods commonly implemented on collections, as below:

Um. I'm not sure where the author is getting this. It is certainly possible, as shown, but definitely not common to implement `select` or `map` or other methods provided by Enumerable directly on your custom class. It is a bit more common to implement `each` alone and let the `Enumerable` mixin provide the rest. But even that I'm not sure how "common" I'd call it.

> Ruby, however, inverts this. Ruby puts object-orientation as the foundation of the pyramid. Ruby contains the messy procedural world in blocks, letting objects work with those procedural blocks.

OK, true. The author is getting the details wrong, but I guess their overall picture is still right?
The way Julia handles this is worth noting:

- `fma(a, b, c)` is exact but may be slow: it uses intrinsics if available and falls back to a slow software emulation when they're not

- `muladd(a, b, c)` uses the fastest possibly inexact implementation of `a*b + c` available, which is FMA intrinsics if available or just doing separate `*` and `+` operations if they're not

That gives the user control over what they need—precision or speed. If you're writing code that needs the extra precision, use the `fma` function but if you just want to compute `a*b + c` as fast as possible, with or without extra precision, then use `muladd`.
It is. You can’t buy Apple Silicon without buying everything else including a laptop and macOS. It’s entirely vertically integrated from iCloud account to transistors.

A real contender would be Amazon’s Annapurna Labs with their ARM processors or something with RISC-V.
I just wanted to say that when I read this I thought it said "imaginary attorney" and that's why I clicked.
The new Stalin book by Kotkin goes into this episode. A totally crazy coup Stalin basically cooked up with some people and he didn't even inform the Politburo.
According to the ONS, the total fertility rate in the UK has been below the replacement rate of 2.1 since before 1980. Immigration is what has been sustaining (and growing) the population.

I think the current impact on the environment demonstrates that we need to (slowly) reduce our population - UK included.

However, according to the statistics, we can maintain a certain level of immigration while also reducing our population - and in fact need to do so to avoid an age pyramid that is so far inverted such that it causes great economic problems.

So while I agree with you that immigration ought to be restricted such that we don't continue population growth, we don't actually need to reduce it by much to make that the case.

https://www.ons.gov.uk/peoplepopulationandcommunity/populati...
>Most peoples’ goal at work is to do their job, not run Linux as their host OS.

This. I spent six years doing IT infrastructure for a large law firm (~1000 lawyers+2000 support staff).

Legal services are pretty much the same as other professional services (I spent 12 years consulting too), where the goal is to maximize utilization and realization[0].

As has been mentioned by others in this discussion, the work product of lawyers are mostly documents (actual in court activities are a tiny proportion of the work that lawyers do), and in a firm of more than a few people, documents are almost always worked on collaboratively.

There's an entire ecosystem of tools and applications that support such document production, including collaborative redlining tools, document management systems, legal citation tools, workflow management systems and a raft of other tools/systems that enable efficient development, editing and distribution of attorney work product.

Those systems are primarily Windows-based, many of which are Word plugins, and attempting to integrate them all -- even in an all Windows environment -- is challenging.

In fact, until 15 years ago or so, WordPerfect was the tool of choice for most law firms. And migrating to Word was incredibly painful without any changes to the underlying OS.

That said, most of the systems I implemented ran on Linux or BSD, as they were network support platforms (change management, logging/monitoring tools, authn/authz platforms and Internet-facing applications).

However, attempting to move an existing law firm of more than a couple lawyers from the existing ecosystem to one that runs on Linux would be folly. Because of the lack of tooling in the Linux environment (e.g., try running a software development shop using only Nintendo Switches), and, more importantly, the loss of billable hours fighting with such an environment.

There are lots of other issues, but I just tried to hit the high points.

Could Linux be a good platform for law firms? Absolutely. But the workflow and tooling that exists in the Windows environment would need to be replicated first.

It's a chicken and egg problem -- why would legal software developers write code for Linux when the entire ecosystem is based on Windows? And why would law firms use Linux when the tools they require to generate revenue don't exist on Linux?

[0] https://blog.beyondsoftware.com/the-importance-of-measuring-...
That versions so good that I years ago head-canon'd it as the official video. I don't usually care for "AMV" stuff, but that one's perfect.
It's complicated, and basically comes down to Vitalik's observation that "Ethereum is a currency in service of a protocol, while Bitcoin is a protocol in service of a currency." Basically the Ethereum devs set the economics to incentivize the correct behavior from players in the ecosystem, and this can be either inflationary or deflationary depending on gas prices, network usage, amount staked, etc. It's responding to the supply & demand for computation on the network.

For most of its history Ethereum was inflationary. It flipped and became deflationary a couple months back, and not coincidentally the price started rising again. It's likely to be significantly deflationary under Eth 2.0 with expected transaction and staking volumes.
> I think there are just multiple kinds of developers.

I've seen this very glaringly. I love Ruby and Rails, and want to leverage the stack as much as is reasonable. I've come to realize that there are people who really would like to write 100-200 lines of Java for every line of Ruby I write, just so that they "have control." I think they have no idea what they're talking about, but I have no influence over them. The fact that I'm writing my 3rd application in 6 years which does something that entire teams of outsourced developers could not do is, surely, just coincidence.
> From a safety perspective, speed may be a better differentiator.

Or perhaps momentum, which is far higher in motorised vehicles.
Or in other words "I expect my staff to always check every DM I send them out of hours and correctly deduce whether I expect them to respond immediately. If they don't I will consider them to have poor judgement."
How is this a flamewar comment?
You are strongly suggesting it yourself, that if not for the speed the difference would be negligible.

The other factor dividing the two realms in practice is control: in a bicycle the speed is directly a function of leg activity: does the "legs independent" motor-bicycle offer the basically same degree of control?