honestly the text kinda looks like it’s AI generated… has weird kerning, things aren’t quite right
honestly the text kinda looks like it’s AI generated… has weird kerning, things aren’t quite right
you might be able to try a live version of a distro to see how your hardware functions before taking the plunge
amazing! thanks for the clarification
that’s correct. part of the reason mac doesn’t have the same gaming community as linux with proton does afaik
apple silicon has specific changes to amd64, and some extra instructions to help with x86 translation afaik (1 of the main things i think is how memory is laid out is different somehow? so every memory access needs extra clock cycles to accomplish in standard arm64)
but in general, rosetta2 is incredible: very little performance loss… i thiiink it’s something like 2-10%, which is made up for by the cheaper cores
from what i understand, graphics is more of a problem… metal just isn’t well supported - i think the standard thing is you have to do direct x <-> dxvk <-> vulkan <-> moltenvk <-> metal, which is a huge overhead and is far from perfect in its translations
that’s not entirely true for windows. windows does have containers natively, and there is a native docker engine for windows that runs native software
they also support containerd and some other runtimes
in certainly not an advocate for windows, but it does exist if you’re a complete masochist
yup! absolutely this too - i provided a different example in my reply, but honestly this is exactly the thing i use it for most… type a couple of lines, it gets the idea of what you’re trying to copy, and then it’s just hitting accept until it’s done… it’s pretty close to 100% accurate, and even if it’s not… fixing it ain’t exactly hard!
Implementing a function isn’t for a “fancy autocomplete”, it’s for a brain to do. Unless all you do is reinventing the wheel, then yeah, it can generate a decent wheel for you.
pretty much every line of code we write in modern software isn’t unique… we use so many orders of magnitude more lines of other people’s code than our own, we’re really just plumbing pipes together
most functions we write that aren’t business logic specific to the problem domain of our software (and even sometimes then) has been written before… the novel part isn’t in the function body: the low level instructions… the novel part is how those instructions are structured… that may as well be pseudocode, and that pseudocode may as well take the form of function headers
Fuck no. If it gets the test wrong, it won’t necessarily fail. It might very well pass even when it should fail, and that’s something you won’t know unless you review every single line it spits out. That’s one of the worst areas to use an LLM.
write tests, tests fail, write code, tests slowly start to pass until you’re done… this is how we’ve always done TDD because it ensures the tests fail when they should. this is a good idea with or without LLMs because humans fuck up unit tests all the time
I’m not sure what you mean by that.
for example, you have an external API of some kind with an enum expressed via JSON as a string and you want to implement that API including a proper Enum object… an LLM can more easily generate that code than i can, and the longer the list of values the more cumbersome the task gets
especially effective for generating API wrappers because they basically amount to function some_name -> api client -> call /api/someName
this is basically a data transformation problem: translate from some structure to a well-defined chunk of code that matches the semantics of your language of choice
this is annoying for a human, and an LLM can smash out a whole type safe library in seconds based on little more than plain english docs
it might not be 100% right, but the price for failure is an error that you’ll see and can fix before the code hits production
and of course it’s better to generate all this using swagger specs, but they’re not always available and tend not to follow language conventions quite so well
for a concrete example, i wanted to interact with blackmagic pocket cinema cameras via bluetooth in swift on ios: something they don’t provide an SDK for… they do, however document their bluetooth protocols
(page 157 if you’re interested)
it’s incredibly cumbersome, and basically involves packing binary data into a packet that represents a different protocol called SDI… this would have been horrible to try and work out on my own, but with the general idea of how the protocol worked, i structured the functions, wrote some test case using the examples they provided, handed chatgpt the pdf and used it to help me with the bitbanging nonsense and translating their commands and positionally placed binaries into actual function calls
could i have done it? sure, but why would i? chat gpt did in 10 seconds what probably would have taken me at least a few hours of copying data from 7 pages of a table in a pdf - a task i dont enjoy doing, in a language i don’t know very well
if the only point of hiring junior devs were to skill them up so they’d be useful in the future, nobody would hire junior devs
LLMs aren’t the brain: they’re exactly what they are… a fancy auto complete…
type a function header, let if fill the body… as long as you’re descriptive enough and the function is simple enough to understand (as all well structured code should be) it usually gets it pretty right: it’s somewhat of a substitute for libraries, but not for your own structure
let it generate unit tests: doesn’t matter if it gets it wrong because the test will fail; it’ll write a pretty solid test suite using edge cases you may have forgotten
fill lines of data based on other data structures: it can transform text quicker than you can write regex and i’ve never had it fail at this
let it name functions based on a description… you can’t think of the words, but an LLM has a very wide vocabulary and - whilst not knowledge - does have a pretty good handle on synonyms and summary etc
there’s load of things LLMs are good for, but unless you’re just learning something new and you know your code will be garbage anyway, none of those things replace your brain: just repetitive crap you probably hate to start with because you could explain it to a non-programmer and they could carry out the tasks
it was always wild to be back in the day when so many container images were based on ubuntu… was like PLEASE debian is functionally identical here at like 1/10th the base container size!
I’ve heard a lot of Australians complain about politics there. Maybe that’s just because people complain about politics everywhere.
i think this is true no matter what: nz and germany are both more proportional systems and similarly people dislike politics
it also seems like Australia has a lot of problems that aren’t getting solved (like housing cost).
absolutely… some problems are incredibly tricky: getting people to vote against their interests (eg with housing, any effort to reduce house prices directly decreases the value of peoples assets - perhaps not investments, but their primary home even)
how to achieve some societal good things is really tricky in any democracy i think
We can still hope the playing field will tilt back to level.
they’ve been doing this for years… it ain’t gonna happen. it’s not a symptom of trump: texas used to be a muuuuch more purple state, but these days it’s only ever thought of as a republican stronghold not because of their vote, but because of gerrymandering… that’s how long it’s been going on. most people can’t even remember a time when it was any different
For most of our history, Congress understood their highest priority was to pass a budget, and they did. Now that is no longer important.
yeah it’s pretty fucked… in australia, this is a sure way to trigger a dissolved parliament and an early election: there are only 3 things that can happen (and the government shutting down isn’t 1 of them)
yup, so it’s different with RCV and representative: in australia we have this, where we still have a mostly 2 party system that’s representative but we have RCV, so you can preference other parties first, and still have your vote eventually flow to the major party of your choice
in this case, perhaps enough votes are lost that they loose a seat (we’ve had at least 1 green rep in parliament for a few elections in a row)
also we track “primary vote” - the number of people who ranked you #1 - as an important election metric with real consequences… there are limits to private donations for elections, and a significant portion of funding for elections comes from the government itself. any party that gets over 4% of the primary vote is eligible to claim a proportional amount of financing for next election… so you can punish them in a way that really matters without actually putting anything real on the line
that’s different to proportional representation, because it’s a property of the system that there are many minor parties which inherently means parties have to make more deals
playing by the rules only makes sense when the other side does too… a level playing field is more important than some unspoken rules
yes, everyone agrees it should be impossible to gerrymander… but given that it’s not, for an election to be anywhere near “fair” (and to be clear it can’t when you’re gerrymandering) then both sides must do it otherwise it’s the most unfair thing possible
(disclaimer: aussie; this ain’t my country, and our electoral system doesn’t allow this… but for absolute fucks sake yall your vote effects the entire world and we get no say at all, so all we can do is talk some sense into this crazy bullshit)
i did a big ol post here about this
generally what you’re talking about is proportional representation… systems like this tend to lead to a government comprised of a lot of minor parties, which sounds great!
but it has its down sides (and i’m not saying 2 party is much better, but it’s useful to be aware of the situations it creates): when there are a lot of minor parties with no clear “above 50%” majority, they have to form a coalition government and that can be extremely fragile
you can’t hold parties to election promises, because you just don’t know what they’re going to have to give up to form a coalition, and even if they do end up forming a coalition you really don’t know how stable that coalition is going to be!
i guess in the US there’s gridlock anyway, so what the hell right? may as well at least have gridlock with parties blocking legislation based on things you believe in… buuuuuuut that’s probably a bad example: first past the post is far more to blame in that case than proportional vs representative democracy
(fptp leads to extremism, ranked choice etc leads to moderation because people’s 2nd, 3rd, etc choice matters: you want to be likeable not just to your “base” but to everyone, because everyone’s vote has a chance of flowing through to you even if you’re not their first choice… if people hate you, you’re not going to get those preference votes when candidates get eliminated)
this is proportional vs representative democracy
it’s a choice between which you value more: your ideals (proportional - lots of minor parties get elected who better represent your morals and what you want accomplished) or someone to represent the area you live in (representative - inevitably leads to, actually, MINORITY rule because the majority across most districts votes for the party that they hate least - partly because first past the post, but also because in individual districts parties need to get above 50% to win, and that’s just a hard ask for minor parties no matter the area you live)
there are generally a couple (probably more but modern democracies afaik have settled on 2) ways of dividing up government: representative (you as a person living in an area elect someone to represent you) and proportional (you as a citizen of the country elect a party to represent your preferences)
rather than dividing land area (representative aka districts) to elect individuals, there are voting systems that take proportionality into account… parties put forward candidates based on their proportional vote (ie the party leader would get in first, and then they have a list of candidates who get chosen based on their % of the vote)… they don’t represent a district/area, but the party… so the idea is that if a minority party gets 10% of the vote, they should have 10% of the representation - districts be damned… philosophy is more important than land… this leads to a whole lot of minor parties having to form a coalition government
i live in australia, and we don’t have proportional representation (we have a party… kind… called the coalition but that’s… different… it’s complex… ignore it… afaik germany and nz have proportional representation: they’re probably the best places i know of to look for these systems: parliaments composed of many minor parties)… we do have ranked choice voting, so we’re kind of a middle ground: ranked choice without proportional representation still leads to a 2 party system, but imo theres debatable up sides and down sides from representative to proportional (proportional systems can lead to a lot of nothing - small parties that are technically the majority but can’t agree on anything and not able to get anything done)
i thiiiink i’ve heard that there are systems that combine proportional and representative (actually, i think our australian senate is proportional and our house of representatives is representative - our HOR is pretty 2 party and our senate has a about 5-6 minor parties) but this is where my knowledge gets fuzzy
first past the post is the root of all evil: there are no up sides, there are only down sides… it causes politics to be horrible (ranked choice you have to worry about not just winning outright but also being likeable - you have to make everyone like you, because you want them to put you 2nd, 3rd, etc because 2nd preference might make you win!), it causes extremism, hate, forced 2 party (in the worst possible way: extremist 2 party), and absolutely no opportunity for change
if you’re taking about charlie kirk with that “civil conversation” bit, those conversations were using misleading half truths to publicly debate people he disagrees with in order to convert the people around said debate to his cause. i wouldn’t call that civil… civil is healthy, truthful debate on the merits: not winning at all costs