I still wish Tile had caught on; einsum is really nice, but sometimes I want a dilated convolution, or a maxpool.
(OTOH, I’m not an einsum expert; please feel free to delight me by pointing out how it’s possible to do these sorts of things :-)
HN user
I still wish Tile had caught on; einsum is really nice, but sometimes I want a dilated convolution, or a maxpool.
(OTOH, I’m not an einsum expert; please feel free to delight me by pointing out how it’s possible to do these sorts of things :-)
Anyone know how to get mail to join@ssi.inc to not bounce back as spam? :-) (I promise, I'm not a spammer! Looks like a "bulk sender bounce" -- maybe some relay?)
https://www.penny-arcade.com/comic/2023/01/06/i-have-no-mout...
I honestly worry about this - I've been tinkering with ideas to try to build towards AGI, and I'd love to share them publicly to get feedback ("This is dumb and here's why" would be enormously valuable to me), but it's hard to work openly, because while I do think capitalism has been an overall good, the capitalist imperative always seeks slaves, and I'm really not excited about helping the people who'd be trying to build a new slave class.
Thoughts? Is there a ethical way to work openly on AGI?
IMHO, it comes down to the software.
It turns out you need very different kernels for good performance on different GPUs, so OpenCL is a nice tool, but not sufficient; you need a hardware-specific kernel library.
From the framework side, each integration is relatively expensive to support, so you really don’t want to invest in many of them. Without some sort of kernel API standard, you’re into a proprietary solution, and NVidia did an amazing job at investing in their software, so that’s the way things go.
I think we had a pretty solid foundation for doing something smarter with PlaidML, but after we were bought by Intel, some architectural decisions and some business decisions consigned that to be a research project; I don’t know that it’s going anywhere.
These days, I’d probably look into OctoML / TVM, or maybe Modular, for a better solution in this space… or just buy NVidia.
(I worked a bit on Intel’s Meteor Lake VPU; it’s a lovely machine, but I’m not sure what the story will be for general framework integrations. I bet OpenVINO will run really well on it, though :-)
Just curious - what was your motivation?
FWIW, Framework also announced a new battery with the same form factor but another 10%-ish capacity. And because the system's amazingly easy to disassemble, if your battery starts to lose capacity, it's trivial to swap in a replacement.
I do the "unplug and spend a couple of hours hacking without a charger" thing all the time with mine, and mine's using the previous-generation battery. Not running Windows seems to help a surprising amount.
Neat; thanks for posting this! I just started tinkering with ideas in the same line of thinking a couple weeks ago; it’s good to see that there’s prior art to learn from.
I landed in the same place they did, on using XML. I think there’re a couple of advantages over S-Expressions:
* There’s always a tag. So it’s like everything is a special form. Being able to omit the tag in sexprs is nice syntactic sugar, but I’m not expecting that anyone would be writing this code in text by hand (although it’s useful to preserve the ability to do so), and I’d rather have the clarity and explicit terminators.
* Namespaces are a killer feature - that’s what makes it an open datastructure, allowing you to incorporate multiple dialects at different semantic levels. (You can tell I’ve been using MLIR a lot the past few years… :-)
* There’s a whole ecosystem of standards and tools around it. Need a standard fragment identifier? Or to canonicalize an entity? There’s a good body of specs, carefully worked out by people more experienced than I.
I dunno about their Python approach; I was thinking of a structure editor (and trying to avoid all the historical pitfalls of structure editors, which will be tricky). We’ll see how it goes. :-)
Thanks again for the pointer!
NB This is even more important in VM scenarios, where second-level address translation means something needs to walk a guest-physical-to-system-physical map for each level of the guest-virtual-to-guest-physical map. So TLB locality becomes even more important, and using huge pages cuts down on a multiplier in resolving TLB misses.
I worked on the Windows kernel in the early 2000s. I really enjoyed it - I learned a lot about PC hardware, worked with some very smart people, and although a few projects were ambitious and ambiguous and didn’t really pan out, most of them were really solid; it felt great to be improving something that really made a difference for a huge number of people. I’m a much better developer, with a much better sense for how code serves business, for having spent time there.
Source?
It's unclear to me that the military is currently any less effective and efficient than it was in the 90s. In Hollywood films in those days, it was typically portrayed as being incredibly efficient, but that has nothing to do with reality.
My own anecdote says that "The wastefulness of the military budget" has been an issue for many decades -- go look up Eisenhower's warnings of the military/industrial complex, and consider that the problem had been building for quite a while at that point.
Back then, of course, "cultural rot" would've meant "Treating black soldiers as equals"; in the 90s, IIRC, it would've meant "Treating female soldiers as equals". Just wondering, are you in favor of racism and sexism as well, or are you just anti-trans? Please note that anti-trans attitudes are likely to age about as well as racism and sexism have.
IMHO, every social change feels a little weird at the time; you're used to thinking a certain way, and now you're told that it's wrong; people take that sort of things personally. Other self-righteous people sometimes realize they can use the new woke attitude to swan around and club people who're moving more slowly -- bullying, really, and this bullying is the serious problem on the left, not the wokeness itself. We'd all be better off if we were better at granting grace to people making good-faith efforts to change their habits and attitudes.
So social change is hard. But that doesn't make it wrong, or rot, or virtue-signaling; it really does make life better for unfairly marginalized people, and as it spreads, the power of the leftist bullies will dissipate, and we'll be left with a better world overall.
And: if you want to disempower those leftist bullies faster, support racial justice, support women's rights, support trans rights. You don't have to club people over the head with it; just offer quiet support, because it's the right thing to do, and it'll make the bullies all the madder if there's nothing they can use to feel superior to you. :-)
FWIW - in my experience, if their demands upset you, it’s not going to go well (you’ll get more demands and feel more exhausted); if you laugh at the ridiculousness of the situation, remind them to ask nicely, and still help them with what they need/want, you’ll be much less stressed, you’ll be teaching them that being unpleasant doesn’t bother you and doesn’t help but does have the natural consequences of slowing down what they want, and you’ll be teaching them a better way of being; at least with my own kids, they picked up on it pretty quickly, and they started being much more fun to hang out with.
(Good luck!)
Go supports untyped constants -- https://golang.org/ref/spec#Constants. It's useful for defining a named constant, and then using the name to initialize variable values of any compatible type.
The dollar is also backed by the legal system (which gives the general populace a mechanism to redefine who owns which dollars, e.g. in case of fraud), and the Federal Reserve (which manipulates interest rates and dollar supply levels to try to keep the value relatively stable over time).
If bitcoin could solve those problems, and the energy usage problem, I’d use it. As is, it’s solved the double-spend problem - admirable and impressive, but it’s not a substitute for a stable currency yet.
It was, in hindsight, a lame attempt at a joke, based on Volkswagen's history with skirting emissions controls.
More seriously, it's hard to know what all's installed on your phone, and what all it's doing; car parts are intrinsically sandboxed.
It'll be interesting to see what happens when always-connected self-driving cars have enough compute power to run self-driving systems and people are free to install random apps without great security (because car manufacturers seem to be awful at that). I'm predicting cutesy weather apps that quietly mine crypto all night long...
Except the apps are the 3rd-party parts.
In your example: Volkswagen imposes quality controls on those parts, making sure they're not going to blow up or subvert the car.
As soon as other shops can install 3rd-party parts, you have a race to the bottom for shops, no one's enforcing quality controls, and you wind up with cars that, for example, get better performance by violating emissions standards except when they're actively being tested.
(So, maybe we should be using some manufacturer other than Volkswagen. :-)
American conservatives tend to support freedom of contract and freedom of speech (including dishonest/incomplete speech) - and they consider monetary donations to politicians to be speech. They also tend to believe in supply-side economics (failures are met with “Well, you didn’t cut taxes on the rich enough!”), and the myth of the entrepreneur who singlehandedly builds a business empire (ignoring the myriad ways government supports these activities).
So... yes, American conservatives tend to dislike safety (people should be responsible for their own safety, regulation will slow down business and make everyone worse off), and they tend to support dishonest business practices (let the market handle punishment, it’s not the government’s job to decide what truth is and to make sure people are honest).
More like a UBI. Or extended social security.
Socialism's more about the community owning and managing the means of production, and less about just giving people money. You could make a good case that the F-35 program, with all its bloat and cost overruns and inefficient distribution of funds by congressional district, is typical of a socialist jobs program -- granted, the F-35 also has a layer of capitalist shareholders parasitically skimming off the top, but if that were removed, the political pressures that result in the inefficiencies would remain.
Except... big companies can use GPLd code for free -- they just have to provide their modifications somewhere, and make it possible for users to replace the GPLd part (which is where things typically fall down).
So... if you genuinely don't care, why wouldn't you release software as GPL instead, so that you're not enabling companies to more cheaply provide software that prevents people from making modifications?
(And to be clear, I'm asking as devil's advocate here -- for myself, I have a few personal projects I haven't released, but I've sometimes thought about what license I'd choose if I did; I haven't been able to decide.)
So, I'm seeing a lot of dislike for the GPL in these threads.
Just curious, as a side question... suppose one really does believe that users should be able to improve and modify the software on devices they own and share those improvements with others; is there a better license out there?
(The current situation reminds me a lot of a Prisoner's Dilemma problem -- if the open-source community typically used the GPL, there'd be significant economic pressure on companies to work with GPL'd software, but in our current world, the individual developer has to choose between giving their code away as non-GPL open-source or toiling in complete obscurity, and it's no surprise that individuals choose to at least get the cred of seeing their code used.)
Evidence?
(My own suspicion is that the lockdowns are better for the economy in the long run, but I’m definitely not an expert.)
A more analogous approach would be to use ALPC; its handle-passing support was inspired by unix domain sockets. Unfortunately, it looks like ALPC never got exposed via Win32.
Windows TCP sockets are definitely their own thing, which is pretty unfortunate, but Windows exposes a number of other kernel abstractions as handles - processes, mutexes, shared memory sections, events, timers, &c; “Wait for either this particular process to exit or this timer to expire” is trivial. At the time I worked on it, it was one of the features I really preferred about Windows over Unix.
It creates a race-to-the-bottom for app stores.
The problem is not that Epic would be able to prevent other stores from being installed.
The problem is that if there are multiple app stores, it encourages a race-to-the-bottom for the app stores -- why go through Apple's store with all its vetting if you can release to the Epic store instead?
So, yes, the worry is exactly that another company might offer better terms to developers -- because sometimes, those terms don't matter to users (e.g. the cut between the app store and the developer), but other times, those terms are absolutely at a cost to the users.
If Epic has a way of offering multiple stores, while preventing that race-to-the-bottom from impacting the user experience, it'd be wonderful. But that doesn't seem to be what Epic is pushing for; Epic seems to be pushing for their own profit at a cost to Apple (which is fine, IMHO -- it's just business) and to the iOS ecosystem (which is much less fine, IMHO).
IMHO, that’s a feature, as long as it’s possible for apps to be malicious.
I’m a relatively experienced dev, but even I don’t have the tools or time to figure out whether some app is safe. So when I had Android hardware, I mostly didn’t install apps.
My kids and parents don’t even have the experience to recognize that an app could possibly be malicious; they wouldn’t be able to figure it out even if they had the source code.
So I buy Apple hardware for all of them, specifically because I like Apple’s gatekeeping. Because 99.99% of app developers might be great people, but if you have an open system, it’ll be abused, and I have better things to worry about.
That gets tricky if one of the writes fails.
FWIW - I’d love to see increased density where I live in Seattle, but the people who support it seem to ignore all the other stuff that has to go with it - e.g. more school capacity, better transit, requiring parking in new developments because people still have cars and the on-street parking can’t scale to meet new developments...
Bringing that stuff up gets me called a NIMBY; it sometimes seems like anything that might make it more expensive for developers to build more housing is a crime against humanity. :-/
It sometimes feels like all we’re really doing is enabling developers to mine our quality of life for their own profit, without actually creating enough housing to make a dent in the problem.
We brainstormed a bunch of names one day, and Midori won. I think it was Chris Brumme's suggestion.
Very cool; I’m looking forward to playing with it. Just wondering - what’s the current state? Is the core language pretty well baked at this point, or is it open to changes?
Something like https://github.com/google/git-appraise ?
PlaidML?
(Disclaimer -- I'm one of the devs. Even though we were bought by Intel a year or so ago, we've been pretty good about keeping the AMD / OpenCL support intact.)