skysight-inc/HackerNews huggingface dataset:
Because the top end of US education is still very strong, with some of the best colleges in the world.

Strong capital markets makes the US probably the easiest place to start a company and seek funding.

The US remains a place where smart, talented individuals can succeed and make far more money than peers, attracting a pool of very talented immigrants.
What? Pypy and cython are hardly the reason for python "taking off".

The issue with python is that the ecosystem is so big, everyone thinks their niche is the one python was "built for". Data science, web backends, sysadmin, app scripting, superclusters, embedding... They all think they're the biggest dog, when the reality is that they're more or less all the same. Pypy and cython are probably popular in some of those niches, but python is not just about them.

The reality is that python "took off" because of two things:

- the syntax

- the ease of interfacing with other worlds, typically (but not limited to) C/C++

Removing the GIL seriously threatens the second reason, because integrations that used to be fairly easy will have to be fundamentally rearchitected. Moving from Python 2 to 3 was trivial in comparison, and it took a decade; this transition might take much longer, or never really happen, with massive losses for the ecosystem. And all for what, some purist crusade that interests only a fraction of the whole community...?
I'm afraid that this is a trend that is only going to accelerate in the new remote-first world that is now the reality for software engineering. Sure, some companies mint money and will always pay a premium for top talent. But for a mature product not bringing in huge amounts of revenue, why pay someone to work remotely in the US (especially in the bay area) versus paying someone a third of that salary in Europe?
Ah yes, the joys of traveling through high crime mall areas to arrive at a crowded Apple Store. At least one has a permanent police presence at the door.
We already tried "JAR containers" for the JVM with this was called WAR and EAR files. We also add clustered servers to which you could dynamically deploy these files and scale up. These most popular "Application Servers" like IBM WebSphere and BEA/Oracle WebLogic could theoretically handle everything for you.

The only problem is that it all didn't work.

First, we've go the "worked on my machine" type of problem: Conflicting dependencies? Different version of the JVM? Native libraries?

Then you had the issues with the application servers themselves. All the configuration was usually done in some tedious GUI environment. Lost your server? Good luck. Want to automate something? Good luck. Want to use CLI? You're not a proper enterprise developer, who hired this crazy Linux hacker, fire him before he'll try to Open Source something. To be serious again, it was just downright uncomposable.

Lastly we had all the devops issues: How do you automate a deployment of a new version?

For classic PHP or cgi-bin apps you'd just upload everything to an FTP server (well, it's not as perfect as classic PHP fanboys make it, you do have to handle deleted files - rsync would still be safer).

For containerized apps, you just create a manifest file (or a Helm chart or whatever suits your fancy) and hit deploy. Kubernetes will take care of everything, including upgrading the container image if necessary.

It's the stuff in the middle that gives me nightmare. It's not enough to just dump a new JAR file on a server. You've got to stop the server and restart it using the new version. At the very least you'll need to have provisions for backup and quick rollback, and probably also a blue-green environment to avoid lost connections. In more critical services you'll want to have canary releases and a pipeline that carries your server through multiple environment.

This is why containers are unavoidable for most kinds of networked service. It's the deployment story. That's why you see people wrapping single-binary go apps in containers, even these binaries are completely static and often don't even depend on libc.

Are containers an overkill sometimes? Yes. They are far from ideal for CLI apps. That's where you want fast startup times, quick download, better package management and better integration with your host environment. But most CLI apps that I've seen using docker went that route because their installation process was too troublesome to bother with. You'd see that a lot with Python apps, which are quite hard to package. But even Java apps could be a hit or miss if you don't have the right JVM.
At least according to the format and specification since VS 2005, .NET 2.0, the assembly format has been consistent and doesn't have any section for source code.

It has always been trivial to load an assembly in something like dnSpy or another IL Disassembler and generate C# code and patch .NET assemblies. At least in the versions < 5.

https://learn.microsoft.com/en-us/dotnet/standard/assembly/f...
It's comments like this that make me feel better about my own decisions.

Because if that was the only benefit typescript had, it would be a win. I mean that was the whole point with JSDOC.

Anything that shortens the feedback loop from writing the code to seeing if it works is a win.

This is the equivalent of saying, "I see many people switching jobs for no reason other than to make more money". Like... That's the not the only reason but it's a big one.

Then you get into algebraic data types, and encoding logic constraints into the type system, and you can make entire classes of bugs impossible to write.

Type systems are about safety and productivity.
Oh the horror. Someone might work a job because they need money to eat even though they’re not deeply passionate about it.
> Free Pascal is far from simple.

It's still much less complex than e.g. Ada or C++, and unfortunately, the language has redundant, competing concepts that are probably explained by - as you say - putting different languages and design styles together; it's definitely not my favorite language.

Unfortunately, there was also no complete and correct grammar, so I had to create one myself, and even in this one there are still productions without definition, e.g. array_constant, record_constant and procedural_constant. At least the syntax diagrams were not left recursive, and also removing ambiguous alternatives was straight forward.

Surprisingly, the FP language specification does not distinguish between language variants; only the compiler knows different modes. There seems to be a common grammar for all modes.
> Your comment implies European tech workers are somehow less passionate or that passionate tech workers can't be found here.

No, it implies that there are Americans who don't care about their work and there are Europeans who don't care about their work. But the former are far more pricey.
I don’t understand your critique. Are you saying that European software developers don’t have a passion for shipping products?
I’m squarely in the target market for the Meta Quest, but the fact I have no way of trying one before I buy, even just for a few minutes, is my main blocker for getting one.

This is particularly important for a) new product categories where customers aren’t yet sure they want/need it, b) products that “fit”, or don’t, and c) expensive entertainment products. These headsets are all three, so it’s really important.

Apple’s retail presence could solve this.
Peptide analyses reveal female leadership in Copper Age Iberia (C. 2900–2650 BC)
It's just an expression. Could be replaced with 'dude' or w/e. Where I'm from (we speak spanish) people literally say "that's dope man" or "wtf dude" and the last term is said in english ("que chucha man", "que verga paso dude"). Girls say 'man' (in english) to each other. We could get into all the woke stuff here but I don't think it adds anything of value to the conversation.
There is also an adjacent problem, where management cares very little about features which improve things for the users. And no matter how many great engineers they have, they don’t get used on things that people would care about.
the price tag already made this a “not for everyone.”

for the enthusiastic, apple is going to make it as low-friction as possible.

this is a slow game.
The build system needs to know what source files it needs to rebuild and for which ones it can just reuse previously-generated build artifacts, typically by detecting what changed in the source.

What changed in the source outside of your project is driven by whether the semver changed. Semver not changing means that the source didn't change and you can link existing binaries as-is.

Then there is the whole business of dynamic linking.
Also a possibility he found dragon tears or beads of Lucifer’s sweat. Did he consider those possibilities?

Someone send a large Occam’s Razor please.
Those hashes are exactly designed in the way that any such changes will alter hashes and thus stop linkage. Virtually all C++ name mangling schemes don't even consider such cases: `void foo(T&);` will probably result in the same mangled name even though T's layout or any type referenced by T has been changed. In Rust they do affect mangling.
> at least a 27" 4k monitor and my 12' iPad

It's hard enough traveling with a 27 inch monitor, there's no way I'm lugging a 12 foot iPad through the airports!
It isn't. You apparently didn't even read the README.
> .Net that was renamed into .Net Framework

This is not correct. .NET Framework was named Framework from 1.0. The only time something was renamed is .NET 5 which came after .NET Core 3.1.

> We also have a bunch of confused people without any reason, because all of this is as clear as water.

It's funny you say that. Do you consider yourself one of those confused people? :)
One example is adopting a safer or more productive programming language for a new version. The Rust ecosystem has now reached a point where it's a viable replacement for a lot of things we would almost certainly have used C++ for a decade ago with Rust offering significant safety and productivity benefits. Rust is also now being used to replace tools for web developers where the incumbents were written in JavaScript and in this case the advantage is order(s) of magnitude performance improvements.

Another is when your platform evolves and forces the issue like the web plugins being replaced by new web standards that we were talking about before. Here you might not need to rewrite your entire application but you probably are forced to rewrite the affected parts and possibly significantly change the software architecture around them. A related example is if you previously wrote your application targeting a specific environment and now want to support multiple environments but the operating systems or frameworks or other dependencies follow very different conventions that impose some constraints on your software design.
> significant boost in operational efficiency that will come as a consequence of centralizing operations in Europe..

What about a "significant boost in operational efficiency that would have come as a consequence of leveraging remote workers in the bay area, in the US, in Europe and elsewhere"?

It feels like Evernote has not evolve for years, and they don't want to evolve their culture either.
Recall, as the article does, that Apple also required appointments for the Apple Watch. Now the Apple Watch is an extremely common device.
>Then there is stuff like outbox, which contains past messages, but for instance, Mastodon does not fetch old messages at all

It's infuriating how little support activitypub outboxes have. It seems like the perfect way to make small instances work well.
Supporting server-to-server ActivityPub is slightly risky for them as it gives people an alternative, and there will always be outward bleed. On the other hand I think it takes a lot of pressure off potential legal troubles around being a monopoly (which they must be worried about if they actually manage to kill Twitter).

I predict if they manage to be the overwhelmingly dominant platform in the Fediverse, they’ll keep it working. If they see another big competitor jumping in and taking a lot of users (or hell, if Mastodon starts to eat their lunch), I’m not so sure.
How do you teach your 6 year old algebra?
I think the comment implies the opposite
This is not supported by data. Across all universities, the education department represents the bottom of average SAT scores.
Because companies want to return profits to shareholders. Share buybacks are more common now but achieve the same thing. If the company is still growing it should be reinvesting in the business rather than throwing off cash but some stable (or declining) businesses have no good way to do so. That’s why dividends can be a red flag.
which removes even more from the usage phase. you’ve been taught how to use the device fitted for you.

they’re front-loading friction in an effort to minimize it.
.. and behaviour validation for any rewrites.
My mother was a banker. She asked a hypothetical question of me, 30 years ago, that I've never been able to answer: "Name for me one company that was better, for the customer or the employees, after a merger."
BRICS makes as much sense as putting some random letters together

> BRICS’ GDP has already surpassed G7’s

China. You mean China. This is the outlier
https://www.linuxmint.com/download_lmde.php they have that covered :)
You'd still need a file header (or at least a magic number[0]) that the OS will recognise in order to launch the runtime with your binary. e.g. you'll need an initial "#!" or "\x7fELF" or "MZ" to have your "binary" even start to be run as an interpreted program, ELF, or PE binary respectively.

[0] https://en.wikipedia.org/wiki/File_format#Magic_number
That’s rich coming from a continent responsible for a handful of software breakthroughs.
Apple/NeXT
I find this site more open to constructive debate than elsewhere.

Thanks for specifying which c word you meant, as the only one in the post you replied to was Chinese.
Problem is, if you're being fair, the 90% bottom that will actually have to do the work, also don't want to care for elderly.

A decent fraction would need to become nurses, and frankly, with less pay/worse conditions than they currently get. A small fraction will need to study a lot more so more treatments can be provided, which requires doctors and researchers. And we'll all have to do with less (much less) because this will cost a lot even disregarding wages.
I want to read this. I'm also interested in the story of how SHA-0 was developed internally in the NSA if anyone has any idea.

I'm a little surprised at folks incredulity that C is used "nowadays". To me, there will always be a place for C. If you look at:

- the bulk of the internet traffic

- the bulk of the base OS systems and libraries it is running on

I'd say 99.9% of that is written in C. Hence my surprise.

I know Linus now embraces Rust in the Kernel or whatever and I'm not disparaging that, just seems obvious that C, old as it may be, is still highly relevant. C is a graybeard. Give it a break, right? :)
I interviewed at doordash, they really pride themselves on being able to optimize when a driver gets to the place to get the order to maximize everyone's time and not have useless waiting. It's NOT an easy problem and they had a huge prediction engine per store/item.

Looking at problems naively it looks simple but it's -really- not that simple if you want it to do WELL.
Scientists who took things to universities did the world a favour. The government had no serious plans for the fossils and over time everything would have been stolen by tourists.
I think the friction can come across to some customers as good service, and help launch a category.

The Apple Watch was initially sold at fitting appointments in store, and I think that was important in establishing it as a normal thing to wear and even a fashionable thing to wear in some cases, and helped cement the product in the mainstream.

Tailored suits is another case where there’s a premium price, premium service, but a lot of friction. It’s not always bad.

They’re also probably supply constrained enough that the friction doesn’t matter for the first version or two.
> the fact that you need special fit lenses and a store appointment

Sounds like a serious shortcoming if you can't share the device with friends and family.
It didn't start from 4 but 5. they skipped
4 because people would confuse it for
.net framework
Given that all arithmetic autopromotes to int if smaller than int, there's no undefined behavior in this code if int is 32-bits (which is true on most systems).
This is not accurate. You had to have an appoint to try one, but not to buy one.
All of those (apart from intenseness hehe) are consequences of using a decent type system. I don’t think people ignore that IME.
Meta has a free 30 day return policy
Airbus?
The Future of Mathematics (2019) [pdf]
This was an acquisition, not a merger, but if we misquote your mother a bit to fit this situation: YouTube?
Actual "standard C" (along with most of the C stdlib) is pretty much useless for writing real-world applications, any non-trivial C code base will almost certainly use at least a handful non-standard extensions (sometimes even without knowing it) and both compiler- and platform-specific conditional code paths (just try how many libraries would compile with gcc's "-pedantic" flag, I bet it's not all that many).

This pragmatism by compiler vendors to just ignore the C standard where it doesn't make much sense, and to extend the language where it helps to solve real-world problems is actually a pretty powerful argument for C.
I actually don’t know, are there any ethical guidelines for working with very limited animals like this? I know they are pretty limited intelligence wise, but I would hope the researchers at least kill them in a quick, painless manner when the experiments are done.

I guess if the computer mode really is true on a physical level it is owed the same (minimal) level of decency somehow.
that’s the killer app for the headset.

access to a virtual apple store with no crowding, no wait, and no pilgrimage required. payment charged to apple card using an eyeball scan.

hey, siri, let’s go to the mall.
I don't think it was even possible to predict what "undefined behavior" would turn out to mean, because the modern interpretation does clearly not come from the standards text.

The standard describes the old interpretation of "if you do that, you get the consequences". The fact that somebody came up with a reinterpretation that bring a completely unreasonable meaning that just happens to be compatible with the text is all up to the people reinterpreting it. Nobody preemptively disavows unreasonable interpretations when writing something.
I used Perl then Ruby as my main language for almost a decade each. These days, I don't really write Ruby anymore; I moved on to Elixir and never looked back. But I still find myself using Perl on the command line, in contexts where Awk or Sed would also make sense. Ruby never optimized for the one-liner case IMO.
I mean, sure. I like Harry Potter and I also liked HPMOR. Although imo it goes off the rails in the second half or so and kinda fails to live up to its promise.

Satire / parody doesn't necessarily have to be a merciless polemic against the target - and as a matter of fact, it would be pretty hard to read HPMOR and not come away with the feeling that the author was a pretty big Harry Potter fan.

Another thing that comes to mind is the horror movie Cabin in the Woods, which sends up lots of horror tropes but is still fun and enjoyable for fans of the genre.
Definition for Open Weights Licensing
I took it to mean: it's better to pay an EU salary than a Bay Area salary if the SWE is unenthusiastic / an average performer. i.e. "Both EU and Bay Area have SWE who will ship code. Only pay Bay Area salaries for those who go above and beyond shipping code"
The location is called UNIT.city, it is still there and running events.

The 2022 edition of Dev Challenge didn't happen there though, it happened in Poland instead, but the organization is still located in Kiev.

And yes, maybe some of the programmers are fighting in a war, directly or indirectly, with guns or with computers.
Never heard of that, but that’s really a moonlighters dream.

Here I am planning how to use every single one of my vacation days strategically so I can grow my $1k/mon business to $10k/mon. If I had up to 2 months unpaid it would be a game-changer.
A Study Found That AI Could Ace MIT. Three MIT Students Beg to Differ
I guess I will never understand the C and Java developers incredible fear of operator overloading.

The answer is in the sentences right before the one you quoted:

Relatedly, it's more explicit than almost any other language. If a line of code doesn't look like a function call, it's not calling anything. There is no hidden control flow.

Consider the use-cases for C: operating system kernels, hard real-time software, low-level libraries, databases, embedded software. What is a common desire among these? Predictable low-latency and high throughput.

It's much easier to achieve these features if your language does not allow "magic." Implicit allocations, RAII, exceptions, overloaded operators; these are all examples of features which allow a library-writer to inject hidden control flow into your code. This can make it very difficult to analyze why code runs slowly or with unexpected random pauses, not to mention making it much harder to step through in a debugger.
What can we do if we use C or x64 assembly?
> state

You don't need the exchange's state to decide what case you are testing

> syntax

Well, if you don't split parsing in a separate component, yes, you need to test it.

> semantics

You work on your own component's semantics, not the exchange's. You don't need to test that.
This is blatantly wrong.

https://www.npr.org/2010/12/29/132416889/chinese-top-in-test...
Dont forget embedded/iot/automotive etc…
The use of C will even increase as every square meter of the globe is going to be littered with small connected devices.
Playing around with NFC using Python
Also features a brief introduction into which different NFC tags exist and which ones you should use. Feel free to correct errors in the comments or share cool NFC project ideas you had or implemented!
So what do you propose instead ? Just pretend it’s not happening ?
I don't really understand the practical value of internalizing Conway's Law. Presumably you are designing your engineering organization to be as productive and efficient as possible? If your product reflects your org structure, why does that matter?

Put bluntly, does Conway's Law give me anything actionable to consider when I'm building an engineering org?
they’re the same picture.
My interpretation is that she was caught in the act by her neighbours. Or maybe it never happened and they just wanted her gone/imprisoned, who can say?

But the "evidence" in court is that the dog ran straight up to her, sealing her fate sadly.
How immortal jellyfish turn back time
Show HN: Tool to Categorize Bank Transactions
Hey,

So I made a small tool that lets you assign categories to transaction CSVs. This is something I come across fairly often while running my small business and I use when preparing taxes. It's free, doesn't cost anything and hope it saves you time and you'll find it useful.

https://categorize-bank-transactions.com/
No, I wouldn’t call it cooperative threading, it’s still preemptive in that any Python thread can be switched with another at any instruction. That’s the same behavior as the operating system with the same potential for race conditions (except python instructions are higher level than machine code instructions.)

While C extensions can release the GIL, that only makes sense if they do enough work that a Python thread could get some things done in the meanwhile, and it wouldn’t be surprising to the caller. Obviously the C thread can’t interact with the Python world after the GIL has been released.