112 karma · joined July 29, 2020
A couple years ago I built a new website for a local shop. It was a straightforward project - a problem I "could really solve easily" - but it had a real and material impact on the lives of some wonderful people who in turn had a material impact on their community. I sometimes look back at that work as being, in certain ways, more fulfilling than any of the more challenging work I've done since.
2) It's often better to slow down and think through what's going on. Make sure you have a good understanding of pointers, allocation, ownership, etc, and if you've been fighting with something for more than 10 minutes see if you can actually understand why it's upset. Rust makes it easier not to accidentally mess these things up, but you will still be chronically frustrated if you don't have a good grasp on them.
3) I've found that the more I use it the more I get an intuition for what fixes certain errors. I don't feel great about fixing something without fully understanding it, but for certain common cases it can really help with the problem of iteration speed.
I replied to the original tweet too ("what would you do if you were Jack Dorsey?"). I said I'd shut the whole thing down.
For me it always comes down to: If we assume the human mind to be a physical, deterministic phenomenon, then an informational, deterministic system could simulate it. It's as simple as that. To take the brute-force route, every atom in a human body could be simulated, which would include its intelligence.
Now, that says nothing about time-scale or practicality. It doesn't even say anything about whether electronic computers as we know them can achieve the physical density necessary to simulate something so complex, given the natural resources we have available. But in principle, unless you believe in the metaphysical, there's no denying that AGI is something that can exist.
> But the idea exists only on paper...[Dr. Fauci said] scientists should first demonstrate that the coronavirus antibodies that are currently delivered to patients intravenously in hospital wards across the country actually work. “Once you show the efficacy, then the obvious next step is to convert it into an intramuscular” shot.
Not if you ask the current ruling party. Even a cursory glance at the state of the Union should make it obvious there's nobody left who cares to fund things with widespread benefits to society.
Is this not a cut-and-dry case of trademark violation?
People very much care about accountability when it comes to law enforcement, because compared to regular employees in most fields they have very direct and outsized power over society. And police aren't exactly underpaid either.
Everyone still uses Slack even though it is not an especially hard product to build, and even though Microsoft and Google have both shipped clones that work fine and integrate with their other products. Why? Part of it is brand recognition and a network effect, but I think an important factor is that this is all that Slack does. Slack really really cares about making the best chat tool for people to use at work. They put all of their energy into constantly improving it; they give it their human attention. The same is partly true of Dropbox vs Google Drive and OneDrive.
Google Meet and Microsoft Teams don't really matter to those companies. They'd like it if you used them, they'll allocate some cash to keep them going. But it wouldn't be a huge deal if they lost the battle and those products died. A company's culture, institutional knowledge, and focus can't simply be copied.
But here's the way I look at it: OpenGL was created to abstract over graphics hardware and operating systems both at once, and yet was intended to be high-level enough that it could be called out to directly by application developers (including game developers).
It was what people needed at the time, but I think it was trying to do too many things in a single layer of abstraction, and these days it isn't doing a great job at any of them. It's known for being slow. Most people don't write it directly anymore; they use a game engine or library and only write shaders directly. It performs inconsistently between OSes.
Whereas Vulcan, and even more so Metal, are decidedly lower-level. They abstract over the hardware and that's about it. This enables the higher-level libraries and engines that people were already using to be more fine-tuned and performant while still allowing graphics hardware to remain a commodity.
In this context WebGL is interesting because it's also an abstraction over Vulcan/Metal/DirectX, while remaining lower-level than most of those other libraries and engines. It's really very much like we've split the OpenGL layer in two and ended up with one layer focused on performance within a given OS, and another layer focused on providing a modern, ergonomic API across all systems.
All in all, I think this is a pretty good way for things to have progressed.
I would guess it's less about "online and offline" than "in a web browser and out of one". The web offers several powerful standards for rendering 2D visuals - SVG, canvas, WebGL - all of which are much easier to bootstrap and to use directly than anything that's ever made it to the native desktop, and all of which come with first-class support for interactivity.
Even today, just creating a desktop window that you can draw to using OpenGL is a significant hurdle for someone who isn't used to that sort of thing. Now, do want that GUI code to also work on multiple systems? What about your graphics code? macOS has deprecated OpenGL. Do you want to interact with it using your mouse? What about rendering text, which is a whole other hurdle? Heaven forbid you want a higher-level vocabulary or dev tools with live inspection. I suppose writing to a PNG is easy enough- but then you lose any chance at interactivity.
The web is simply the most straightforward option if a plot is to be embedded in any kind of interactive app.