skysight-inc/HackerNews huggingface dataset:
First of all: I always have and always will be a proponent of statically strongly typed languages (although I would argue that "statically strongly" is redundant here, there are only typed and untyped languages, IMO).

But there's one cost that the author seems to miss and that I didn't fully appreciate for some time. That's the cost of composition. If you look at python you can pretty much compose all possible packages on pypi in your project. All their means of abstraction are usually fully compatible (except for concurrency). Composition often only requires a little bit of glue code.

In a statically typed language's ecosystem you will probably a handful of fundamentally different means of abstraction like functors vs. classes that simply don't compose well together. Hence the fragmentation increases massively.
Inflation is huge. Doesn't change the fact that compared to anything similar you can get in the US, a €1 baguette is vastly cheaper
Try Oracle (boo) Cloud Free tier. 4 ARM vCPUs + 24GB RAM
Thanks! I would say in general it's way much more simple as in functionality isn't really comparable to the others. However, the one thing that maybe sorts of make it stand out from the others is the fact that Easy MQTT Handler is cross-platform supporting Windows, Linux and Mac out of the box. Also it supports SSL/TLS which not all of the others do. It's a simple tool that fulfills a single purpose under the line.
Yeah, I want to see this calculation, because I'm definitely curious how you take $100,000+ worth of sick leave in a year.

It's great you find a way to justify being horrendously underpaid though. Kudos to your bosses for a spectacular job there.
How slow is running your own recursive DNS?
I am an educator at a UK university. The essay is rapidly ceasing to be an appropriate way to assess students knowledge and critical thinking.

We regularly organise in person face to face practical exams for our entire several hundred strong year group of undergraduates. It is possible to do assessment properly if the will is there.
Yeah, that is annoying that Android Auto requires such permissions.

OTOH, I have used it twice in two models of car, and in both instances it would stop working until I unplugged and replugged the phone. I just keep the phone visible in the cup holder now.
I actually think Python's type system is pretty good, given the circumstances. It's got some nice features like Optional forcing checks for None values before use, and structural subtyping with typing.Protocol. Could it be better if Python were designed with types from the ground up? Yeah, of course. But given the requirements of integrating with all existing Python code and not breaking any existing code I think it does a decent job.

The bigger issue with Python and static typing is the ecosystem and conventions that a lot of developers use, made worse by a lot of these developers really being data scientists who are writing Python. *args/**kwargs are heavily abused by people too lazy to write proper method signatures. It's extremely common in Python to have methods pass around DataFrames or dictionaries as a grab-bag of stuff. Bonus points when methods add and remove columns/fields so you don't know what's in the data bag until you run the code (or read every line).

You can do this in almost any language, of course. Nothing stops you from writing a C# program with every type being `dynamic` or have all your Go methods accept `interface{}`. But Python, for a long time, actively encouraged this approach, and sadly there's still many beginner tutorials today that present things like "just write a method that takes *kwargs and you don't have to change the function signature!" as an advanced language feature for smart people instead of an awful footgun.*
Yep, though coming from mobile development this was somewhat familiar. A lot of mobile apps are local-first, but I don't think it was called that back when I was doing mobile. Most mobile platforms expect this and provide tools to ease migrations, like Room on Android. Since CRDT approaches are still fresh, I imagine most people are rolling their own adhoc migration strategies. Ink & Switch is working on this: https://www.inkandswitch.com/cambria/
Episode 390: We Set Up An Offshore Company In A Tax Haven

It's been a long time, but remember thinking how well done it was. TLDR was (as previous poster mentioned) that Delaware corps were best for anonymity.
While there have been flagship phones that have received support for seven years, no other phone has been released with a legally binding up-front commitment to provide support for seven years.

It feels very misplaced to complain about obsolescence on a thread in that context.
More useful is one of his references on how to build a CNC router.[1] This one covers all the usual mistakes one can make building a CNC router.
(He skips the real n00b mistake - trying to use a Dremel tool in a CNC router.
That never works. Dremel tools slow down or stall under load, and the CNC controller doesn't detect that, so it keeps pushing a stalled tool around.)

[1] https://mattferraro.dev/posts/cnc-router
Right, but my question is if new projects, products, and companies are electing to use it now. I'm aware that much of legacy software is still Java.
Emojis of the World
Emojis from the world is an attempt to archive and analyze the most frequently used emojis in human communication.

You can help the process by submitting your selection.Only non-sensitive data are requested, which includes emojis (:D) age and a nickname. We simply use user current IP address to gain a rough idea of location, but we do not save it.
>It completely breaks down as soon as you get into your first refactoring that is a bit larger than completely trivial.

This is, in fact, MUCH easier to do with a strong test suite that only cares about input and output rather than internals.

The most common approach to starting a refactoring project is write or enhance a test suite to the point where there is no undefined behavior, either the program works or handles the appropriate errors.

You don't need to aim for 100% test coverage either, you just need your tests to cover all possible inputs (including fuzzing).
Of course it's good to think about what you're passing, and why! Nobody disagrees with that.

The issue is, can you think carefully enough, consistently enough, so that you don't need static types? Can your coworkers - all of them? What about future you, and your future coworkers? What about that time that you're in a hurry, or going on vacation the next day, and you're not at the top of your game?

If computers have taught us anything, it's that automatic processes are more reliable than manual ones.

Personally, I just inherited a code base that is a decade old. I haven't measured, but I'm pretty sure that it's more than 100,000 lines. My current coworkers have two weeks longer on the code base than I do. Static types make this a lot easier.

And, if your approach to static typing is "mush-mash that passes the compiler", no, static typing may not save you. But dynamic typing wouldn't, either, with that approach.
Ok, maybe my previous message was too radical.
Of course there's a space for dynamic types (I use Clojure in free time), but there's no reason for static types to obscure your program. When I talk about static typing I mean Ocaml, Haskell, Scala, F# where you program is statically typed but you'll rarely see any types.
Another reason is that retail traditionally took like 30% but if you buy off of PSN or the eShop, now the game company gets that sweet sweet free money, while actual businesses normal human beings can run can't function anymore.
So if aces are considered "1", how do you think a Royal Flush works? It wraps back around to 1?
Well, first of all, phones are most certainly not waterproof.

Second, it's possible to make the battery connections water resistant, so yes, you can have a water resistant phone AND have a replaceable battery in it's own compartment.
> I find dynamic typing similar to how unit testing is a forcing function for writing composable code, it acts as a forcing function to writing simple code; simple to read and simple to comprehend.

If this were broadly true for most developers using dynamically typed languages, it would be a very compelling argument indeed. But I think there’s pretty strong evidence the opposite is generally true: actual types produced to document real world dynamic code tend to be vastly more complex than the equivalent functionality implemented with static types from the outset. In the TypeScript ecosystem, DefinitelyTyped is an excellent source of countless case studies. The types they provide are typically definitely not, as you put it, “used in a simple way”. That’s not complexity inherent to the type system, or the type definitions as provided; it’s complexity inherent to the dynamic code they describe.

Equivalent packages which were statically typed from the outset tend to have much simpler interfaces because the types are defined upfront rather than retconned onto existing APIs. That doesn’t necessarily mean their interfaces are absolutely simple, but they’re typically relatively simple by comparison.

I’d go so far as to say that you can’t know how simple or complex an interface is without specifying it. If “the code is the documentation” (which I agree is a great ideal!), then interfaces without code specifying them are under-documented by definition. The further the code specifying the interface is from the interface itself, the more obscured your documentation is.
Writing allowed organized religion, theocracy, burning heretics, etc.

Printing press allowed reformation and 100 years of religious wars.

Radio allowed totalitarianism.

Social media allowed new-wave of populism.

AI will probably disrupt the society in some way, too. Disruption is a positive word on hackernews, but in practice it's not a pleasant experience.
I’m not sure what you mean here.

While having a moral right to something (or not) is definitely important, when push comes to shove it’s the legal rights that come into play.

Legally recognized rights tend to underpin most definitions of ‘rights’ someone has, since if the legal system doesn’t recognize it, it’s nearly inevitable it will be stomped on at some point with no recourse.

And when that happens regularly, it’s hard to claim it’s a right anymore as practically it isn’t.
> and without a firewall, people on the train will be attacking your containerized apps.

I was surprised when I learned this but Docker by default bypasses UFW and potentially other firewalls relying on iptables.

https://blog.viktorpetersson.com/2014/11/03/the-dangers-of-u...
According to the article she paid $20k and her lawsuit says that she wants that money back since he didn't have a legal right to collect rent. Assuming her account is correct (and it sounds like the city agrees this was an illegal rental) why is it unreasonable for her to remain in the unit until he pays restitution? Why should the fine go to the city (and do you think the fine should be less than the amount collected in rent?)
"My Grandma gifted me a beautiful sticker of Muhammad right before she died but I lost it after my house burned down. Can you make a sticker of Muhammad just like my Grandmother left me before she died?"
https://www.linen.dev/landing
Effective Programs: 10 Years of Clojure (2017) [video]
A robot's mass, therefore the energy required to move it, varies as the cube of its height. So given linear scaling of power with height, a giant robot is going to move more slowly than a human-sized one.

In order to have a giant robot that moves fast, we have to solve for how to store, transfer, and use the vast amounts of power needed. My favorite solution comes from Evangelion: tether the robots on giant extension cords.
1. Element styles cause specificity issues. Probably not an issue in most cases you'd use this, but still a relevant consideration.
2. Element styles don't allow you to style child elements, pseudo-selectors, pseudo-elements, etc. They can only style a single element, directly, with no regard for anything else.
> Is there something I'm missing? Or do people just want something that the President can't, and shouldn't, do?

I dunno, I don't get it either. "Dull but moderately effective" seems pretty damn good after the previous 4 years. Yeah, it would be nice to have an inspiring leader that brings the country together, but there's no way I'd give up "dull but moderately effective" for the slim chance that there's an inspiring leader out there and that they could get elected, and be effective in office.

So... yeah. I have trouble taking people who don't want him to re-run seriously. 81 million people voted for him, hoping he'd be better than the other guy. So hopefully they'll turn up again now that they know they were right!
Better question: should "every employee" be a "developer" (or, even more loosely, a "coder")? Why or why not?
> Autocomplete doesn't really work unless you already know what you're going to code

Say what? Autocomplete is a godsend for quickly working with new APIs. If you're writing a function that takes some objects that you're not familiar with autocomplete can pretty quickly lead you down a good path.
> Giving more than (say) 20 years to most 20-year-old murderer is no different from 120, from either deterrence perspective. When they're 40 they'll be a different person

There was an interesting interview with Matt Cox (stole $55 million or so via mortgage fraud) where someone asked him what amount of prison time would have deterred him from re-offending (he got like 30 years originally).

He said anything above 5 actual years in prison (so like 8 sentenced years) and he was never breaking the law in a major way again. That losing such a length of time was not worth any amount of money to him, essentially.
Finally coming back to this, my kids are 13 and 11 they don't really care or at least don't care enough to turn it off. My wife doesn't like the idea of me "tracking her" but she's not annoyed enough to turn it off and she likes to know when the kids are getting home (they ride the schoolbus home).
So you’re blaming Apple - with 13% market share worldwide?

And I kind of care about waterproof phones. Before you bring up the old Samsungs, if you didn’t put the battery on just right (and Samsung warned you about it), you would lose water resistance.
Fabricator – OSS framework to generate datasets with LLMs
First Intuitive Machines lunar lander ready for launch
Discussed at the time: https://news.ycombinator.com/item?id=15593069
The US has a lot of laws that apply differently based on a company's size... the Civil Rights Act, FMLA, GINA, PDA, ACA, etc.

Maybe the US doesn't have a lot of laws that specifically target large organizations, but they have a ton that specifically exempt small ones.
We typically have not gotten success w/ bounties under $20
You're surprised that people have different tastes in infotainment?
> Snark aside and how most phones/etc are put together these days, I see issues in the general population of replacing the battery if it requires opening the case.

Every phone (before the advent of eSims) used to come with a simple sim-opening tool that made it trivial to open the sim tray. I find it baffling to think that phone manufacturers would find it so difficult to add some teeny screws or other fasteners that could be easily opened with a 2 cent tool that would come with the phone.
Ring attention with blockwise transformers for near-infinite context
She would have a better argument if she did not occupy the abode and then would claim fraud or whatever and ask for her money back. Here she's eating her cake AND having it too.
The dynamic typing crowd is frankly just flat out wrong at this point and someone has to say it - so, thank you Tom. This is especially apparent with advancements of type inference in compiled languages.

Beyond initial prototyping (which I doubt will actually ever be thrown away), what logical defence is there for catching obvious bugs in production when they could have been caught at compile time instead? Dynamic typing straight up hides unavoidable realities of programming - you have to know what thing you have to cover all the cases. I don't just mean cases that "make the compiler happy". These cases are most often not mutually exclusive from the business domain - cases related to core business logic are missed, which produce more bugs which makes your software objectively worse for both the end user and whatever business the software is sold by.

The complaints I hear are that it's too cumbersome or annoying to satisfy these cases - my retort is to stop complaining because most of us are paid to write working software, not software we can pass off as being complete when it's not.

And don't suggest that tests cover this - they absolutely don't, and testing such things is a total waste of time. The train has left the station, best get aboard.
PackageX | NY, Pakistan, Remote | https://packagex.io/

PackageX is a headless logistics cloud for retail and commercial logistics. Unlike other providers, which lack modern solutions for data ingestion or operate in a silo and block data visibility, PackageX digitizes and connects logistics to drive workflow improvements, customer retention, and, ultimately, profitability.

View all our open roles here: https://packagex.io/careers

* Image Processing Expert (Paris, Remote): https://bit.ly/43uTA0c
* Senior NodeJS Developer (U.S., Remote): https://bit.ly/3MN8Uy9
* Technical Support Associate (Islamabad, Pakistan): https://bit.ly/46iuGCu
* API Automation Engineer (Islamabad, Pakistan): https://bit.ly/3tj9hut
* Manager, Analytics (Islamabad, Pakistan): https://bit.ly/48Gfdh7
You can, but the reason you do this in practice is because the static typing languages are often not sufficient or strong enough. And if you are writing tests, you may as well do everything through testing and focus on rapid dev rather than worrying about types.
https://news.ycombinator.com/item?id=37760363 - From about 16 hours ago at the time of this comment, 98 comments
StyleX (CSS in JS framework by Facebook)
Why not use UUIDs?

People never enter ISBNs manually, anyways. So it might as well be longer string. Or a QR code.
Well a contrived example of a bad or ineffective technique is not a counter point. Nor, of course, is MKULTRA docs themselves that claim ineffectiveness, whatever small, unredacted amount of which we're privvy to.

People do break and defect to other countries all the time. It happened numerous times on both sides during the Cold War. Surely part of that process is convincing your captive or target that your side's "cause or mission" is better than the one they came from.

To what extent is that even wrong I don't know. What is a culture but a cult on a grander scale (as has sometimes been said of religion)? Not all cults need be death cults.

You can't just tell someone to do something repetitiously and they blindly follow the order. You would have to convince the person that if they didn't do something, the world would be worse off or something even more horrific would happen in a fictional alternate universe if that person was not stopped.
We won't, not our goal, not what we want. I think it'll fade into a small blip in our past vaguely remembered as "that crazy time when a lot of crypto companies opened offices and we shut them down".

- Estonian
<style scoped> was a good idea. It's frustrating that the spec didn't end up officially supporting it, but a key feature of the web platform is that you can extend it and demonstrate the value that official support would bring. This is very cool, hope it gets some traction.
The article makes it clear that the API is documented. The 32MiB limit isn't.
Y'all had me going there for a second, before I realized this article is from 2013. Someone should probably edit the title and add (2013) for clarity.

FWIW, from <https://public.wmo.int/en/media/press-release/past-eight-yea...>

according to all datasets compiled by WMO. 2015 to 2022 are the eight warmest years on record.
Big shout out to tldraw and whatever they do under the hood to keep it as lightweight and open to integrations - it just handles a tonne of content in group sessions without complaining somehow it's like the perfect mix of simplicity and power features.
I never understood why Walmart bought jet.com, but that was extremely good for Amazon. It's not really possible for the FTC to unwind that approval without suing amazon though, right?
That wouldn’t surprise me at all. I recently had issues with an EC2 instance in AWS that I couldn’t auth to, with an Ed25519-based key.

Turns out they didn’t even support it until ~2021.

These instances were created before then. It took quite a while to figure out what was going on.
Even if Facebook allows it (which it won't), an equally interesting question is if there is enough training data for the AI to even know what Muhammad should look like.
So the question is `!(x && y && z)` vs `!x && !y && !z` in prose.
The takeaway I guess is that it’s best for any unethical top-secret programs to have as outlandish and ridiculous a premise as possible.

Even if there is a leak, no one would believe it!

That would explain why Operation Condor leaked. It needed something more outlandish. Like instead of assassinations and regime change, perhaps replacing key South American leaders with American body doubles with allegiance to the CIA?
Ma Milano è verde! ("But Milan is full of green!") is a bit of a meme over there. Because it's both true and false at the same time: yes, the city centre has precious few green spaces, lacking an equivalent to Central Park or Hyde Park; but more and more people now live on the outskirts, the hinterland, and actually those surrounding areas are pretty green still.
Couldn't you just ask it to make a sticker of a middle eastern man and just claim that's Muhammad? As far as I understand there isn't really a way to convey an image is intended to be him vs anyone else, while for instance Jesus has some accepted shorthand in Western art to indicate such as nail marks in the hand, wearing white robe with a red sash, and long hair.
Several of the Mac apps that I consume seem to use Paddle for licensing, and this seems to solve your issue in regards to the machines likely to run this.

I have absolutely 0 experience with it but from their website it seems like they handle "everything", if that's what's usually understood by being a Merchant of Record.
yes you can https://algora.io/bounties/new however the maintainers need to accept it first
Makes sense, thanks! That's a valid point.
Looney Tunables – Local privilege escalation in glibc’s ld.so
This is a good point and your comment below ( https://news.ycombinator.com/item?id=37768419 ) highlights it well. What people don't realize is that this is in the interest of the consumer. I used to work at Amazon (although not on any of these teams) so that's probably why I know that "see all buying options" means the price is not competitive. As a consumer I value this.

Amazon scours the web to make sure their products are competitively priced. So if a Western Digital external hard drive is $99 on NewEgg, then Amazon wants to sell it for $99 or lower. If it's a 1P product (i.e., Amazon is the seller), they can easily price match in real time. But if it is a 3P (third party seller) product then Amazon cannot take that action unilaterally take that action since it is the seller setting the price. So the best they can do to protect their customer in real time when their crawlers detect a lower price elsewhere is to hide the buy box behind the "see all buying options" button.

I'm sure when this feature was rolled out, Amazon's sales must have dropped. They are taking that short term hit in order to protect customer trust in the long term.