skysight-inc/HackerNews huggingface dataset:
> The metaphor goes from there - though I might use 'raise' for leaving a threatened pokemon exposed, which lets us differentiate a strong hand ("I'll use a coverage move with higher speed") from a bluff ("I can hit his switch if I call it.") As an example, opening Koko v Landorus. The fold is switching Koko to Skarmory, the honest raise is HP Ice, and the bluff is Thunderbolt.

I'd argue that the raise is U-Turn :-). Which instant-wins any switching contest (ex: U-Turn on the switch, leaving the option to switch into Magnezone to trap the Skarmory, or if Lando stays in you can switch to your dedicated Lando counter... not that Lando really has a solid counter mind-you, but you get the idea.).

The U-Turn war however, between Lando and Koko demonstrates the bluffing game once again. Koko staying in and doing something weird like Calm Mind, or even Reflect/Light Screen would be absurd, but it would definitely beat the Lando U-Turn in most cases.
We are lucky. We live at a lucky time, when the thing we like to do is very lucrative. 30 years ago it was not like this for programmers, and maybe 30 years from now it will also not be like this.
That's good to know, thank you! I am looking for something to work on for the entire semester, so the latter may be better suited :)
For workstations though? Not servers?
I do support for webgl developers, and gpu bottlenecks are a constant occurrence. Javascript/cpu bottlenecks are primarily number of drawcalls, and number of matrix transforms in scene graph rendering scenarios. A js/Vulkan binding can potentially address both of those bottlenecks by moving them closer to the gpu. Javascript hate cracks me up. It's usually a pretty clear sign of ignorance.
@dang Looks like a bug [0].

The story has been on top of the page for a while now with over 500+ votes. I believe it got merged with a new story that messed up the vote count.

0: https://imgur.com/kYztZ9T
Genuine question: What is the appeal of watching live coding? Who watches these? I'm watching code all day long, arguing about it, understanding it on my workplace, if I get home, there is no way I want to watch another guy live coding. Maybe doing my own thing when I'm free and not tied to a gazillion rules of how to do things.
I think this is lawyering a bit. There might not be a "heap", per se, but there is stack allocation (which is embedded all the way into the ISA) and "everything else". You can, after all, build a simple "heap" on top of an adequately large static buffer.

Since this is a distinction that is very important both for performance in high-level languages and for correctness in C, and one C forces you to think about and makes plain without having to reason through escape analysis and closures, I think the previous comment's point is well taken.
Came to the comments for the same question. The difference between beer and speech is important here, as the impact of a free-as-in-speech open-source design would be substantial.

Either way, thanks, ARM!
These Tech Companies Will Need More Women on Their Boards
Rust is fundamentally a scalar language too. If anything, I'm promoting vector languages like GLSL/Metal/etc.
Houdini. I'm a visual effects artist.
Here's the C99 standard:

http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf

There are no occurrences of the words "stack" or "heap" in this document.

What the spec actually discusses is "storage durations". Now, in many cases you can say, well, "automatic storage duration" means it's on the stack, but that's not something C has any opinions about.

If you want to know about the stack and the heap, saying "learn C, and then learn how these abstract C concepts map onto the stack and the heap" might not actually be the best way to figure this stuff out.

What actually ends up happening, in my experience, is that to figure C out you have to get a decent mental model of how the stack and heap work, and then, from that, say "automatic storage duration and malloc/free are basically just the stack and the heap".

I learned calculus as a kid because I needed it for an online electronics class I was taking. But I'm not going to recommend that folks take electronics classes so they learn calculus! (that said- having a motivation to learn something, having an application in mind, a problem you want to solve... certainly seems to make learning easier.)
Forcing your employees to stay at work until the boss leaves at 11pm is treating them like humans?

Japans work culture is completely toxic and dysfunctional. I have one rule that I stick to these days: "Never work in, with or for Japan."
Do you have a source? Sounds like you just made that up.

Investors, especially large institutions will have teams of lawyers who would would have paperwork from the party they purchase from vetting the purchase. Their insurance is the law and an ability to hold the seller responsible for loss in any case where that risk might exist.

No one pays 20% markup on a car, or gold, or a diamond ring under normal circumstances.

Washing illicit money though paying miners for their new Bitcoins is an established method for money laundering.
What history?
[course] Advanced JavaScript
Bill text: https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml...
As part of that journey you should also seek to understand if you actually _want_ that job, because it will likely be a lot different than you're current one, and possibly quite a bit different than you imagine. That makes a good conversation point to have with the CTO however: "I want to learn more about what a CTO does". But I wouldn't let your conception of your poverty block you. My parents both grew up poor and eventually ended up in executive positions (in completely different fields).
Angular and SEO – Making Angular 6 Single-Page Web Apps Search-Engine Friendly
Depends on location.

In the Bay area? Sure.

I live in suburbs outside Portland, OR. My wife and I together make about $150k/year. We both own cars less than 3 years old. We only own 1 house, but we take a 2-week vacation a 1-week vacation every year.
I don't know what would drive the national trend, but here in Portland, which is a relatively bike friendly city, commuting by bike is [for a lot of people at least] a commitment and not a convenience. It takes longer, requires more prep before you leave, recovery time at your destination (shower, change clothes, whatever), etc. And in the winter when it's very cold and wet, it is especially unappealing. But ... we are a mid-size city, and the same people who have the luxury of commuting to an office by bicycle frequently also have the luxury of choosing their hours to avoid traffic. Figure in the recent surge in EV adoption and maybe a lot of folks who biked because it was the greener option are now feeling less guilt about using their car.
> One valuable property of C that the author didn't hit, C code is easily translatable into assembler in your head. He kind of misses this point with the virtual machine discussion. Yes C code becomes different types of assembly by platform, but you can look at C and have a clear idea of what the assembly will look like.

I've seen this many times, I'll be honest: I can write C, but for the life of me I don't have the slightest clue how the assembly code will look like.
I am really optimistic about the younger generation, actually.

I'm a gen-Xer. Our mantra was "whatever". Instead of trying to solve problems, we just tried to detach from them. As long as we were self-aware and cynical about what we were being sold, we thought things would be fine.

But that's obviously stupid in retrospect. People in power love cynicism — why bother defeating other people when they'll defeat themselves?

Millenials, on the other hand, seem way more organized and engaged. For their generation "woke" doesn't just mean being aware of what's going, it means doing something about it. So I hope that they (and us too) can start changing some of the fundamental structural flaws in the current systems of power.
It could simply be explained by sampling variability. The OP refers to American Community Survey, bicycle commuters are just 5.5 out of 1000. The OP does not list margins of error for the reported rates of commuting.
You can repeat the living standards meme as often as you like, but when people think the system is rigged against them, they will try to burn down the current system (best case just by election) and replace it with whatever might be more fair. And become susceptible to crappy populist promises.

So: yes, the rising inequality is a problem, no matter how badly some want to sell that as just a part of life (at least the way we currently structure it).

And i don't want a communist utopia. But also not reducing taxes for top earners to zero.
I don't think there is much advantage in being declarative in this case because whenever I need to scrape stuff I have to do a lot of edge case handling and I want to be in control, but it does seem to be a recurring dream to make some sort of web query language (based on my memories of Old Dr. Dobbs issues)
At the end of the day, we as a society rightly demand a minimum standard of living for everyone, and we collectively pay for that in one way or the other. Either we pay taxes to fund a welfare state, or we pay inflated prices for goods and services to maintain wage floors. The argument I'm making here is paying taxes for welfare is more progressive, as the burden falls on richer people. Paying inflated prices for goods and services is regressive as it's a burden that falls equally on the rich and the poor.
Back in the day, people told me that after learning C, learning anything else about programming would be much easier.

I think I understand now. C hits a sweet spot between high and low level programming, allowing you to unobstructedly move either up or down the abstraction hierarchy.

Transforming a piece of C code to machine instructions in your head is manageable, and so is transforming high-level abstractions to C code.
The memory model you describe is overly simplistic, and is not actually mandated by the C standard. Too many assumptions in that area will lead to undefined behavior.

Example: conversions between function pointers and regular pointers... https://stackoverflow.com/questions/32437069/c-void-function...
Protecting People from Bullying and Harassment
This actually changed recently. Businesses now have to specify exactly which chemical(s) may be encountered.
3 US universities now let students use iPhone and Apple Watch as their campus ID
Yes. I think being one of the largest/most profitable companies in the US while paying people the minimum wage required by law -- which also happens to ensure most of those employees can't survive without government subsidies in their locals is well below the minimum standard for ethical and moral behavior.

Reverse, Do you think that a company such as amazon should be paying their fulltime and part time employee a wage that requires government subsidies (that you and I pay for) to survive while enjoying the amount of revenue and profit they are receiving?
> Java has everything that .NET has

C# certainly has many features that Java, the language, does not. It gets better if you consider Kotlin instead, but it's not clear to me if that language has a chance of becoming on par with Java, popularity-wise.
What is the INTR?
Oh there can be plenty of bullshit in a small startup. When a company is small, there is very little place to move laterally to avoid dealing with people you find annoying. Especially if those annoying people have seniority over you by way of being in on the startup before you got in. They are unfireable and their ideas are held as gospel.

They can take the form of your manager, or colleague, or anybody in the company and the option is to either deal with it or bail on the company. In a larger company with many teams, you can usually route around such people by switching to a different org. Plus their power is often more constrained because there is just more people in the company.
They're a homo internetus and ultimately a homo sapiens staple. Alas.
Great - can't wait to try out the new version! I am running fast.ai in a virtual environment. How does one upgrade to the latest version for both Fast.ai and PyTorch. Are the new versions backwards comaptible with the earlier version - would it break any code? If not, would you recommend I clone the current install and upgrade that to be on the safe side. Thanks!
Everyone loves to talk about the problems Silicon Valley has but I honestly want to know what harm is Silicon Valley causing to the world? It's not like it caused a global financial crisis like Wall Street. Yes, there are the whole privacy issues with companies who's main business is selling ads but that's the nature of their business. If Silicon Valley was more diverse or if those companies were located in a different city, would there be any difference?
The point wasn't that paying employees more leads to sells.

Its more of a remark about the overall world. Your employees are somebody's customers, your customers are somebody's employees, You are somebody's customer. If nobody in the world makes enough to be a consumer, nobody consumes, and thus you have no customers.
Its time for Detroit & Japan to wake up to EVs. I don't own any tesla stock but my bold prediction is IF tesla is not bankrupt by this time next year, its going to wipe-the-floor with GM & the likes.
> I can write C, but for the life of me I don't have the slightest clue how the assembly code will look like.

Compiler Explorer can help a ton. https://gcc.godbolt.org/

I recommend liberal use of Compiler Explorer to verify claims during code review.
Wrong. Bad actors should be punished.
Re: It wasn't even wrong. There wasn't a need for that much memory on a desktop then.

What more RAM does is allow programmers to "be lazy": slap libraries together and use powerful but resource-hungry abstractions rather than hand-tune details.

We have a similar pattern today with JavaScript and CSS layering in web pages, making them slow and bloated.

It's increasing hardware usage in order to reduce greyware (human programmer) usage. Whether such is "smart" or economical makes for an interesting debate. It appears consumers prefer cheaper software over cheaper hardware for some reason. Software developers who are fastidious over hardware resource usage (RAM & CPU) are not sufficiently rewarded. The group that slaps existing API's together to get their product out quick and cheap seem to come out ahead.

I remember how MS-Office for DOS shipped on 7 floppy disks. I kept wondering why people tolerate loading 7 floppies. It's because the alternatives of the time were harder to use or cost more.
The Calaveras of José Guadalupe Posada
Stack accesses _are_ different in hardware these days, which is why AArch64 brings the stack pointer into the ISA level vs AArch32, and why on modern x86 using RSP like a normal register devolves into slow microcoded instructions. There's a huge complex stack engine backing them that does in fact give you better access times averaged vs regular fetches to cache as long as you use it like a stack, with stack-like data access patterns. The current stack frame can almost be thought of as L½.
I didn't realize newer televisions simulated the static. That is rather amusing, in many ways.

Also, thanks for mentioning the copy/paste referrer nonsense. Didn't realize they blocked referred links from here and was curious what the reference was for a time. :)
> C doesn't let you write "string x = y" because it doesn't have string as a primitive variable type; that's the whole and only reason.

But why does C not have string as a primitive variable type? It's for exactly the reason you state: there are very different approaches a high-level language can take wrt. string ownership/mutability. These approaches might require GC, refcounting, allocation, O(n) copies, etc -- operations that do not trivially map to assembly language.

C is close to the machine precisely because it declines to implement any high-level semantics like these.
Internal structure of the Moon
Blog announcement here:
https://cloud.google.com/blog/products/ai-machine-learning/i...

For a little latitude, I believe there are PyTorch VMs available on the other cloud providers as well.
How We Met the Design Quality of Our Dreams
Holy moly! My browser has been loading that page for the past 2 minutes. Over 100 separate HTTP requests, nearly 15MB of data downloaded thus far and several dozen entries logged to the console.
For those who don't know what ABI means (as I did not) and thought it might be a typo.

ABI = Application Binary Interface

https://en.wikipedia.org/wiki/Application_binary_interface

https://upload.wikimedia.org/wikipedia/commons/b/bb/Linux_AP...
They only offered CP/M after Kildal threatened a lawsuit, and at 3x the price. I think it was fairly certain which would win by IBM. That and DOS was mostly compatible, famously porting Visicalc only required changing 3 bytes.
Do you know if you can do object detection on images right out of the box? Or is it just classification?
I'm afraid I found this a rather confused discussion of whether C will teach you "how the computer works". Yes, C is designed for an abstract machine -- all programming languages are, with the arguable exception of assembly language. Even with a language that perfectly modelled your CPU, you wouldn't learn "how the computer works" because the programming model presented by the CPU is itself an abstraction.* What's more important to my mind are the two major divergences between the hardware C was designed for and modern hardware, viz:

1. Massive changes to relative speeds of the memory hierarchy, and in particular the increasing divergence between near-CPU caches and system RAM. Nowadays it's often cheaper to recompute something rather than store it in memory. C is reasonable about letting you reason about this sort of thing, though, and

2. A major and increasing focus on parallelism for performance, which C is really bad at. Taking advantage of parallelism in C, particularly heterogenous parallelism such as clusters and GPUs, is a real pain. Classic example: the PS3 "Emotion Engine"; more modern example: graphics and physics coprocessors and CUDA. At the other end of the spectrum we have languages like Futhark where your code will be equally happy on a CPU, GPU, or both.

Compared with these major issues the differing size of char, say, is kinda irrelevant. Yes, CHAR_BIT >= 8 is not how the computer works, but that's not really a fundamental issue in the sense that -- well, in the sense that you can quite easily learn C thinking that CHAR_BIT always equals 8, and then update your knowledge relatively quickly. It's a small and modular piece of knowledge in the same way that, for example, updating your mental model of programming to include parallelism is not.

* This seems like a trivial point, but it's not -- actually understanding what's happening with your program may involve understanding DMA, the way buses are organised on your system, the way IRQs work, cycle timings, and on and on. The best you can hope for at the PL level is to have a reasonable high-level idea of what the CPU (or at least a single core) is actually doing, and C is still relatively good at this.
I don't understand why frugality means you're middle class. I also don't understand how $200k-$500k, a very sizable income, even in the SF bay area, is magically the middle class now
It's so funny/interesting only a decade ago no one would listen to the engineers and the business types would just screw up everything and do whatever they want. Now the engineers built billion/trillion dollar companies and those types are crying that they've lost the power. Sometimes trying to regain it through political games.
Bicyclists are allowed to terrorize pedestrians with impunity. And indeed, you can easily get a ticket for jaywalking, but you'll never get one for riding a bicycle against traffic, failing to stop at a stop sign, etc.
Are you suggesting that welfare can never work?
> Yes C code becomes different types of assembly by platform, but you can look at C and have a clear idea of what the assembly will look like.

Not anymore, with modern optimizing compilers it's hard to reason about -O3 assembly output.

https://godbolt.org is amazing to play with that
> Sure, C is great in its simplicity but the world has moved on to safer more powerful languages

No it hasn't and i am not so sure, it ever will. Good to hear that you have moved onto Rust, but that anecdata doesn't mean the world has moved on.
Oh. Right.

I think I just gave away the game on how long it's been since I programmed in C itself. Even C++ has "free" length() in std::string (in the sense that it's specified that it must be a constant-time operation).

... that's actually a good example of the trap of thinking of C as "what's really going on." If you assume C's treatment of char* is how strings have to be done, you're out of alignment with basically all other programming languages and you might be writing unnecessarily slow code (or forcing developers using your code to juggle a homegrown "length" abstraction that the underlying language should be juggling for them).
You're ignoring a major component - Warehouse jobs are likely location-dependent and switching incurs other, not obvious costs. Targeting all of capitalism is a good idea, but one that is pretty hard to change.
The abstract of the paper says that the two fastest stars are traveling at 700 km/s. For scale, at that speed, a star would take 20 million years to travel from the outer edges of the galaxy to the center. (That ignores any acceleration as the star falls inward, of course.)