lorentz said I'm heading out right now among other winter cycling gear to buy a backup light,now the only risk is that I can't resist using my backup light to pretend that I'm a car,@retoor in the center. everywhere else there's light enough to tell where the road is supposed to be, but not to assert that it's actually a road and not a canal full of gravel with yellow-striped asphalt slabs resting on top,it'll be a hemisphere shaped hole by the time I realize,@retoor cross head refers to both Philips and Pozidriv in English and Hungarian,I manage my music with NewPipe and VLC. It's not flawless but I think it's a good failover if you're on Android.,@retoor nope, none of that, in fact I'm not even sure it has autoplay, just a queue where you can add songs from the "recommended" lists under existing songs. I don't mind that though, the YouTube algorithm has drains, bands and songs it keeps returning to within a given subgenre regardless of where you started, and I can only listen to so much Siames or Pomplamoose before I get tired.,correction, it does have autoplay, I just disabled it at some point,@retoor Well, they really don't have to do what they promise because they're Google. But I agree, their front-ends really are amazing for what they do (remove control from the user and then make acceptable choices so people don't miss that control),2fa should never allow access to anything in itself, only supplement other safe credentials.,@jestdotty TOTP doesn't expose any extra information to the service provider, is easier to implement, and harder to hack. Providers that only support SMS despite all these arguments are definitely fishing for phone numbers.,And then there's Microsoft Fucking Authenticator, which modifies _security policies_ on the phone where it's installed, but because it can't be used to contact me employers feel comfortable asking me to install it on my personal phone.,Every once in a while I spend 14 hours focused on a task and then realize at 10pm that I don't have anything to wear the next day. 4am sounds extreme though,@retoor Wow, I know some pretty extreme orthodox jews but none of them take issue with *others* working on Saturday, in fact they're very thankful if others take over any duties they may have. Sounds like a weird thing to ask of other people.,I guess this is what state-sanctioned religions are all about though, adding the given scriptures to the social contract.,I mean, libc is kind of a mediator between libraries and the OS,@Liebranca It would be nice if the C ABI was defined unambiguously for the major platforms.,god, how often I have to be that bitch,@retoor my give/recv ratio is atrocious though, I never remember to upvote even if I find a post interesting and spend tens of minutes talking under it.,@retoor I guess that's the benefit of the bigass like button Facebook pins to the top bar while scrolling comments.,what a daft argument, and how incredibly overused in spite of that!

You can make memory safe programs in Assembly too. You can make class hierarchies and interfaces in Assembly too. Why bother using another language?

Because the point of languages is what you CAN'T do, or more precisely, what has to be clearly marked. Memory safety doesn't mean "your programs can be memory safe". If it meant that, the entire infinite set of Turing-complete languages would be memory safe. Memory safety means that there CAN'T be a memory bug outside an unsafe block. ...,... It means that when your code gets reviewed by the 512'th time because someone somewhere in the ecosystem invited the NSA, Mossad and FSB into every Linux server in existence, the reviewers will not have to read all 100k lines of garbage business logic written by undergrads with zero job experience because they basically need half a career in their portfolio to even be considered for an unpaid internship, just those 30 lines of unsafe code where you implement a specific optimization you needed.,The point of Rust is that you don't have to be highly trained or vigilant, you can just write code. I agree that it's missing a ton of features and it's not really mature yet, even though "mature" is such a fuzzy term that there will be at least two decades between when I consider it mature and when C developers finally have to admit that it's as mature as any other lang, but the single benefit that I don't have to think about safety is important enough that it overrules any difficulty arising from the language's lack of maturity.,Ideally, the goal of C++ within the next 5 years should be to get to a point where an external safety investigator will be able to similarly skip over 99.9% of a C++ codebase which exclusively uses bounds checked access, ranges and smart pointers and simple cases of references and is therefore automatically verifiably lifetime safe, and manually prove the remaining 0.1%. They are making good progress by the way, I'm rooting for them, because the C++ type system is fantastic and I would really like to use it.,@Demolishun I think Herb Sutter charted a 10 year plan in 2019. I would never accuse Herb of having realistic ambitions, but I think that his grandiose plans can get people on board so I adopted that rhetoric. Also most of the external pressure for safety is coming from political entities which pretty much only communicate in the form of very optimistic plans. The NIST won't take "It'll be done when it'll be done" even though on some level they probably know that's the only real schedule.,@12bitfloat I don't think this is even close to Rust's final form. There are at least 4 major pending type system features that are waiting for the new trait solver which is slated to become generally available next year. Const is still kind of a pariah. FromResidual is technically viable now but we just can't agree on its semantics. That will affect almost every function in crates that takes a callback.,@12bitfloat But I guess you can chalk up all of that as library dev concerns. It's true that application development has been pretty much unchanged for a while.,@retoor The problem is manual lifetime management, the source of the majority of recorded critical security bugs. That's what smart pointers were built to replace, and that's why new is only marginally better than malloc.,@Demolishun Of course, you just gotta not make mistakes and then things won't go wrong! Why has no one ever thought of that?,in truth, to correctly model a time travel encounter you'd have to search the behaviour tree of the future persona for a sequence of actions that leads to itself, which is pretty much a whole state space search, so you'd need an ASI with exponentially more neurons than a human.,oh, I almost forgot:
Rehearsing social events dozens of times with digital twins of everyone present, thus creating and destroying countless groups of self-aware creatures on a whim, to ensure a desirable response from the one group you can't destroy without consequences.
SMBC reminded me about this one.,@donkulator I think even human intelligence is too much for that.,@donkulator Given how much of our lives is about getting laid, it's possible that we are in fact a Github action that futuristic humans use to verify that their dating app remains competitive in comparison to a few older reference apps.,@donkulator actually, near-future ML models should be more than capable of detecting bad UX by emulating the bottom 5% of user intelligence and attempting to run some tests purely from verbal description of the desired effect as part of a CI pipeline.,Pretty cool, but where does the flywheel go inside that thing? and what's its axis? Buses need kind of a lot of power and they tend to be moving very fast whenever the road is clear, the gyroscopic procession of a fully charged flywheel has got to be noticeable at least by the driver.,@Lensflare Actually, it may even be beneficial that way, it should keep the bus from falling over on very steep turns if it's ever taken off road (for not more than 10km),I can't think of a use case for a gyroscopically stabilized bus that wouldn't entirely exceed the operational range of a bus in the first place (for example, due to a lack of 3 point seatbelts), but I'm sure they exist. As for the flywheel, I'm not sure what a charger would look like but as far as physical limitations go it should be possible to charge it way faster than any battery, which is I think the limiting factor for charging battery-powered buses at stops.,@Demolishun I read about a concept for electric car infrastructure where the batteries themselves were rapidly replaceable. I sometimes wonder if a durable economic model could be designed for their distribution. Sadly batteries are expensive and degrade over time so if you want to replace one at a charging station they'd have to determine its quality before determining the differential price of the new fully charged battery.,Does the VS developer shell do something that a regular dev environment opened in a regular editor with a regular console doesn't?,@cuddlyogre Interesting, I never perceived envvars as such a complicated problem that OS config, a project-specific envfile, and build system scripting couldn't handle them completely.

I mean, there's only so many sources envvars can reasonably be associated with, mainly the code, the OS, and a finite number of modes to choose from.,If you lock the Mutex, any function that is called on the value should take a & or &mut depending on whether it itself mutates the value, and the guard should automatically decay to a reference as a result. If it doesn't, &*g or &mut*g should do the trick, as with any container that implements Deref,^ that isn't a logical law but it's ultra rare for a function definition to mention MutexGuard.,You mention the need to take an argument that may or may not be in a Mutex. Your main options here for parameter types are &T and &mut T, and when you lock the mutex the guard decays to either. If you need the function to take ownership of the value you're in a bit of trouble so consider thoroughly whether it really makes sense for that function to take ownership, and what the ownership means.

1. If you take ownership because you want to mutate the value long after even the caller returned, you should replace T with Arc<Mutex<T>>.

2. If the only reason you need to take ownership is because you're mapping over the value without copying, use a crate like replace_mut or take_mut.

3. If you take ownership because you expect the resources no longer to be available, you can use Arc::try_unwrap and Mutex::into_inner.,@jestdotty You can't dereference self? That's the first time I see that sentence, I dereference self all the time. A cursory search didn't bring up anything, and I tried to produce a few error messages too in case it's just an awkward templated message. Where did you read this?

std Mutex and async leads to unfixable deadlocks so I presume that's an async mutex from async_std or similar? Just checking.

Even still, can't you defer the actual assignment of the fields until after all the futures resolve so that you don't need to mutate the object in multiple places, especially during initialization? Having multiple unordered tasks write to the same object is exactly the kind of thing Rust discourages, and initialization is a special case where this really shouldn't be necessary because there is a return phase which is strictly ordered after all of the unordered setup tasks.,@CoreFusionX I really wonder what input redirection would look like in a structured shell. Maybe some function combinators?,@jestdotty It's late now but I'll fuck around with async tomorrow a bit because I'm beginning to suspect that your solution will actually be a

&Mutex<&mut T>

but I'm not sure how much of the usual reference stuff works in an async function and it bugs me that I don't know this. If you can't share the code, can you think of a minimal example that demonstrates the purpose and implementation of this async function?,@AdamOnAir All of those tools run just fine in the regular command line too, possibly with a $PATH extension. Why wouldn't they?,all I'm saying is, setting envvars is like the most fundamental thing you can do in a scriptable shell, more basic even than running other programs. It's not an IDE feature and tying it to one sounds backwards as hell.,@jestdotty Okay, I looked around, lifetimes work fine with async functions. The trouble is that the most obvious mechanisms of concurrency like tokio::spawn require their arguments to be 'static. There are other tools though. The type of my_mutex is Mutex<&mut Self>, and notice how the async blocks aren't move

https://gist.github.com/lbfalvy/...,If you do actually use Tokio specifically, tokio::join! does nearly the exact same thing. I picked futures because this can be implemented runtime-independently and you might be using a different runtime.,Also also, apparently futures also has an async mutex which would eliminate the async_std dependency, but I can't find one in Tokio, so I guess if you use Tokio it's better to use tokio::join and async_std's Mutex and eliminate futures? Idk, all of these crates also offer a ton of other overlapping features, pick whichever you like. Future is the glue and it''s defined in the standard library so pretty much all of these should just work together.,note: if you use the futures::future::join (or join3 etc) function instead of a macro, rust-analyzer won't be disabled inside the async blocks,@jestdotty Regarding deadlocks, are you absolutely sure that no future ever blocks the thread waiting for the result of another future, such as by receiving from a stdlib MPSC queue or locking an stdlib mutex?,The shitty thing is, thanks to global state and a very haphazard and unprincipled DI scheme, I'm not even allowed to remove all of it because who knows, maybe some other part of the application depends on an Excel spreadsheet being loaded.,@TheEnd At least removing Excel automation is a priority. Removing incidental "lucky" initialization is entirely out of budget and the odds that we would ever assign a budget for it diminishes with each month.,I think this is an artifact of ES being terrible with ref loops because you can execute code at load-time. In better languages I usually put types next to the runtime code they are associated with and just import them into all other files without care because the resulting reference loops aren't really a problem.,@retoor It's not really about summaries. Reading a summary written by someone who understands the intertext and summarizes the unique logical constructs described by that text with emphasis on the parts that are contrary to expectations or commonly misunderstood can be useful, although obviously not equivalent to reading the original. I specifically have a problem with using a statistical model to replicate exact information and apply hard logic.,A general purpose summary will typically target a specific type of reader and describe things that reader needs. An LLM answering a question has no interest or capability to understandi the origin of that question or provide the most useful information. It just has to answer a question. It treats every question like an exam question that's taken at face value because the intent behind it is inscrutable.,@Lensflare I'm beginning to doubt that it actually is that useful. Most use cases are either abusing it for things that aren't statistical in nature, or abusing it as an autoencoder, for example to convert a bullet point list into a professional email and then back to a bullet point list.,@jestdotty That's a bizarre definition, but even if it was the definition of intelligence, it still isn't what we want from ML, and certainly doesn't make a program good at teaching.,@retoor Getting isolated answers to narrow questions isn't learning, and no amount of it will get you a new skill. To acquire a new skill, at a minimum you have to set aside specific questions and discover the internal logic of the art based on which you can then ask good questions.,well I guess you can call that learning in the same sense that binging documentaries is learning natural science. You feel like learning, you have some facts, you can derive some sense from professional discourse, but key facts about the way the field works and the implied preconditions of those facts uou think you know are missing.,Don't get me wrong, this type of surface level knowledge is great! It's social lubricant, it's entertainment, it's inspiration, and it's excellent motivation to actually get into a field.

it's not however expertise. Systems have to be learned accurately. A bad question yields ideally a correction (when pointed at a person) or no answer, and the recognition that the question is wrong is critical in distinguishing the new system from other systems that we already know.,@jestdotty true, but a really space efficient compression scheme doesn't sound like a very dignified market for something that can pass the Turing test up to 5 minutes of conversation or more.,It was on my Google Play home page while I was looking for something unrelated.,It's also like they lost all meaning. Rounded corners SEPARATE. You put them on an item that is logically on top and separate from the enclosing box, which DOESN'T VISUALLY CONNECT TO GRIDLINES. Cells of a grid, full-screen and tiled windows, and especially GODDAMN MOTGERFUCKING TABS are in an intricate relationship with the surrounding and enclosing boxes. The visual representation of this relationship may use rounded corners - although I for one think they're ugly, but the way Chrome uses them on the tab bar is at least informative - but just rounding off corners for the sake of being hip is a total waste of screen space and clickable area.,God, I hate the rounded Firefox tab bar so much,Theory: Windows 11 moved the start menu to the left end of the variable length list at the bottom center of the screen from the nice and logical bottom left corner because they're planning to make the screens rounded too.,@retoor I sometimes still wonder what happened to that guy.,@12bitfloat I'm more concerned with how because the parser is supposed to skip chars until something matches, libido() enables the ygramul() command,@Strawberry1102 The error rate of LLMs dwarfs that of any real source, and the nature of the errors is very different too; errors in a source are usually common mistakes that the reader eventually learns to double check, thereby improving their own accuracy as well. "errors" in LLM output usually have no traceable logical origin because the text itself doesn't originate from the logical process it appears to describe.,I've never needed a starting point for exploration so I can't say whether LLMs are useful for that. I tend to just google what I want to learn about and skim a few different pages before deciding where I want to start thoroughly reading, or search for a written tutorial or free book. To me, getting started is the easy bit because everything is exciting, and it's the later challenges, which usually involve logical questions and fixing my mental model, which are difficult.,It's only fair that we dedicated the internet, the pinnacle of human specialization, primarily to them,I have several power banks that I can daisy chain for some 6 hours of video playback.

also I have a notebook because nothing burns time like trying to draw faces at odd angles,SVG has a lot of features graphics cards really hate, but a subset of SVG might be viable.,@Demolishun I use LibreWolf for most purposes because

- IT doesn't know about it so it's not blocked

- it doesn't follow group policy

Unfortunately, for the same reasons it can't use Windows authentication, so I still have to use Edge for authenticated company resources.

I also run Brave specifically for YouTube, which IS blocked but I have a shortcut to spawn an administrator powershell and launch it from there. Brave also allows plugins but I just vehemently hate Chrome's Ctrl+Tab logic.,@retoor I actually don't align with the librewolf idea at all, I mean I respect their zeal but I often value convenience over anonymity so the first thing I did was to loosen most of the defaults. Its main purpose to me is that it happened to be the first Firefox fork I tried that didn't read group policy.

Not even MSSQL sends telemetry by default. At least we're pretty sure. You never know with Microsoft of course.,@Lensflare Plus, again, you are by definition allowed to compile code and run it, which negates any other restriction.,@jestdotty On the contrary, I care about my work precisely because I'm forced to spend so much time on it. Some people choose to completely disconnect during working hours and become a kind of wage zombie. Nothing wrong with that, but I would definitely kill myself if after a month or so I couldn't find a way to emotionally and logically engage with whatever I'm doing most of my waking life.,@retoor Given how broad strokes the developer access level is, I suspect something like that must've happened here too. Someone did a very thorough analysis to determine the minimal necessary permissions, and forgot to take into account that development involves anything that can happen in the real system and some things that can't, so when developers flooded the support channels they just gave device admin and a handful of other arbitrary things that mentioned "admin", "owner" or "authority" , and the devs have just been making do.,@Root In theory it's very similar here except we're a Microsoft shop through and through.

Except I'm device admin so in practice I can do whatever the hell I want with the metal.

I shudder to think how we'd live if IT were actually good at access control.,The spyware and the buggy popup come standard with your corporate ITSec department I'm pretty sure. For us thhe popup is a VPN and when it shows up your connection is gone until reboot. Someone came up with a way to crash the IP stack (or whatever bit the VPN abuses in userspace) such that it can restart independently from the rest of the OS.,@retoor idk Google has been almost disabling mv2 any day now for years but most of my friends on Chrome can still block YouTube ads with uBO just fine.,@jiraTicket I work for a transnational. It's understood on both sides that I'm acting as spokesperson for the entire team here, but I'm not at all convinced that 10 people have that much more leverage than 1 over the cybersecurity strategy applied to many thousands of (white collar) employees worldwide.,white collar just means office worker, it's contrasted with blue collar which is manual labor. ChatGPT is being ridiculously elitist here by implying that blue collar work isn't knowledge based.,There are people with degrees in electric engineering on the workshop floor earning significantly more than I do with not much more experience.,@retoor yeah, but at least electricians are usually private contractors so they're priced by the market. The stigma that it's low skill labor certainly isn't great, but they cost a fortune in Hungary now because all the capable ones emigrated so evidently a sufficient supply gap can correct the prices regardless of the public image of the profession.,I'd go, probably,Rust is the absolute worst offender with names though, LINQ is pretty bad too but they at least imitated SQL. Rust borrows a ton of concepts from ML and Haskell and almost none of them by the original name, for no fucking reason. Unfortunately I also learned about these concepts with Rust so I have to constantly translate when I try to talk about the concepts on general.,And the names don't even make sense. What the fuck is a FromResidual? Option already has like 20 different meanings in Rust, Maybe has 0.,The iterator transformations are well named, but as far as I'm concerned everything about iterators is basically perfect in Rust.,There are very specific pretty advanced scenarios where you should mention `object`, usually related to the universal operations defined by Object which are equality, hashing, destruction, synchronization and reflection. If your use case isn't one of these, or something else I forgot that is defined by Object, you're holding it wrong.,Terrible news everyone, C# does in fact support Pythhon-style dynamic typing:

https://learn.microsoft.com/en-us/...

It's obviously way slower than normal C#, but thhis is now a supported uuse case :(,@djsumdog I mean, if transpilation is fair game then you can write dynamic code for any platform. I'm not sure how the DLR works and I'm hesitant to learn .NET internals because despite market demand I don't want to become a .NET developer, but one way to implement dynamic with the base CLR would have been to just translate property access and method call into reflection.,.

(the web client has no subscribe to rant option),Who are you trying to catch with bait like this?,@retoor I'm not sending a message to a single computer that's received only by that computer and only if it's on. I'm publishing a message to a user or a group of users to be read whenever and however many times they wish, from any device where they authenticate themselves even in the future.

This is the bare minimum for a messaging system. Compared to this, even encrypted transport is optional.,@netikras It's really not, nutella has a lot of additives for its consistency that make it harder to dissolve it in hot water. Mixing coffee with hot chocolate (ideally made with high fat milk) is pretty popular though.,My roadmap for DevRant is that I tell everyone I befriend in tech about it and hope some of them actually show up. As far as I can tell, the only one so far is Anjali and the only reason I know they're here is because in offline conversation they addressed opinions I only expressed here.,to be fair I'd rather submit or receive surplus platform information than omit or miss relevant details.,@D-4got10-01 Absolutely, internal tickets should mention verified tickets. I thought this was a user ticket where it's nigh impossible to hunt down the author for clarification.,@12bitfloat That could be a class action, you've been sold a game under false pretenses.,Then again, you're pretty much paying for a license to participate under conditions determined at any time by the distributor with AAA. If people keep paying for this shit the law is ultimately powerless.,An interpreter but with a VR "game" attached where you have to feed the cards one by one to the machine, search through the stack to find the destination of a longjump, and if you knock it over, manually sort it again.,It has to be VR because with a mouse and keyboard users may actually learn it well enough to achieve some sort of pace. The physical exercise sets a low upper limit on speed.,@kanyewest My guy, you never even owned that hardware, let alone the game,Without autocomplete is the only way you write that shit because SQL is so hostile to both static analysis and typing aids that pretty much the only things you can get hints on are column names but only in SELECT and only from existing tables, and in EXEC if you're very careful with surrounding syntax to not fuck up the parser.,So far the best SQL autocomplete I've seen is Azure Data Studio's, and given the fantastic quality autocomplete the MS language team can make, I'll believe they tried their best, but it's even worse than Ruby's, which is the other language that decided to wage a war on common sense and static analysis for no fucking reason.,Coffee only ever tends to cure my headaches, unless I'm already severely dehydrated.,These cycles have been faster for me, I change my mind at least yearly on these topics.,Aren't both of these designed for extreme scale and resilience combined with relative ease of use?,Also, aren't both of them maintained by companies that aren't even slightly incentivized to make self-hosting easy?,My previous employer used Sentry SaaS and I never fully understood why literal batch scripts with rotated file-based logs couldn't serve the same purpose.,These are the times when I feel like REST was naiive for a methodology that claimed to be built on 10 years of experience maintaining legacy software.,Then again, there's probably nothing useful to be said about batching protocols on general, they're pretty much all unique to the level of regularity in, and frequency and nature of changes to your data.,I mean React is 90% of all programming content on YouTube, from the perspective of the algorithm that probably makes it a public concern that is relevant to everyone in the field whether they like it or not.,Or it's a drain of the recommendation graph for you like Fucking House of the Rising Sun is for me.,@retoor I don't even know what you're talking about, Vue literally changes JavaScript way more than React,@BordedDev Ill give you that, but reconciling the two approaches in code creates a new language with its own logic that has to be learned, whereas in React you can just use familiar Javascript techniques that work exactly like they would in vanilla to connect the tools the framework provides. I'm not making a broad value statement, just saying that Vue takes significantly more explanation than React.,@ScriptCoded This is fantastic,It's actually completely innocent, I'm using a nightly rustfmt and the log tells me to please upload the file in an issue.

At this point my main problem is just that rust-analyzer throws that log into an off-screen vscode debug view instead of forwarding the message in a popup like the compiler crash that it literally is.

And that decision is made by the VSCode extension written in JS :D,.try_into().unwrap(),@electrineer I had hoped that paying customers get to enjoy a level of flexibility and configurability that's commeasurate with the price. We don't, so I'm done.,I'm not sure why I had such hopes from a company that prides itself in having no human customer support, but it was a cheap lesson.,@kiki edit: on second thought, fuck you instead of an answer :) You know Haskell. You already know all the benefits.,look at the likes on its profile. Awfully bot-like taste.,@kiki I recall you used to post a lot about declarative programming with a bunch of Haskell examples. Or was it another language?,@SidTheITGuy Oh neat, didn't notice the extra settings category, just kept looking in playback. Thanks! It's still jankier than newpipe but not significantly so.,I think newpipe prefers downloading the video stream in the background and throwing away the picture instead of switching streams, which wastes a lot of bandwidth but ensures uninterrupted playback (besides alleviating developer burden),@retoor uncovering a cartel based on business relations. Thank you for your service, detective,I had a networking class in uni where we had to write a standard as a team and each of us had to write implementations and we would be graded on compatibility. I kept nagging everyone to please decide on byte order, and when they didn't have any opinion, I suggested big endian.

During testing on submission day it became obvious that they didn't care because they didn't know what byte order is and just punned their number fields into byte arrays, so every implementation except for mine was little endian, at least on their computers and presumably the prof's.,@Tounai nope, I replaced to_be with to_le and from_be with from_le and fixed everything immediately.,@Demolishun so is that one loooooong moka, a heart attack's worth of espresso, or latte?,@BordedDev We caught it ahead of time. The prof hated that he had to teach and would rather have spent all his time researching like nearly all undergrad teachers do, so he did not give a single shit about the assignment, copied an old Cambridge spec and then graded us on vibes.

Another part of the assignment was that each of our implementations had to have a proprietary extension that we didn't standardize, to demonstrate the extensibility of our protocol. About two thirds of the class lost points because the proprietary extension "could've been more interesting", whatever the fuck that means for the likes of the shitty flat-map directory protocol that we ended up on the more complex end of the spectrum with.,6 teams independently decided on a variation of Redis, I don't call ours that because we dedicated a lot of thought to partial retrieval for very large values so it would actually work decently well as a file store.,You're literally the shittiest NK supporter, hanging out on a western forum, making degenerate western music, and altogether engaging with fellow inferiors in meaningless confrontation instead of studying the works of Trotsky, Lenin, Kim Ir Sen and privately working for the betterment of the utopia brought to Earth by the glorious, perfect, leaderly family.,Offshoots of the soviet union have always been massively culturally regressive, they firmly condemned jazz and rock. We don't actually know what the Soviets themselves would've thought about techno because the official bodies that formed such opinions either dissolved or lost all relevance by then, but generally speaking the basis for this condemnation was what they described as forced disruption emerging from market pressures, as opposed to the mature nuance of classical music the creators of which were less directly guided by the economy.

With this in mind, what makes you think that they would tolerate any aspect of your life?,I don't have stereoscopic vision, ~3min by rapidly glancing back and forth to find the matching section while letting my eyes wander across the image(s),I avoid business with organizations that offer it in an email rather than a forum where the unprofessional behaviour of their support reps is on public record for this reason. Do you really have to deal with this specific company? It sounds too tedious for any recreational activity.,The inverse of frequency is period. I don't know what the real name for "cepstrum" is but I'd bet that it exists. This kind of reinventive dilettantism is a cancer all too familiar; the Rust vocabulary has different words for all the basic terms of symbolic algebra.,you mean you don't get overwhelmed by a sense of your own utter insignificance whenever you spend your free time in an uncreative way?,if you insist,flattering, and I have considered it, but I hate how opaque social media is with hidden algorithms and no accountability.,Also do we even know the success rate of channels with more than a set amount of cost and labor to filter out channels that fail early on with limited impact? I don't think such statistics are even possible. Without a single data point of useful failure rate info how do we even begin to investigate the survivorship bias to determine whether it's worth trying?,I think in both cases "stand up" refers to the length; it's a session too short to sit down. Then again, to make daily stand ups that short you need a scrum master who's awake and a team that's roughly scrum-sized. (the scrum master can be the dev with the least worst people skills),does anyone actually semi-regularly bump into non-obvious space vs time decisions? Not me nor anyone on my team actually remembers such a choice. It's always space or time vs dev effort,@BordedDev I hate the roll call aspect so much. All my coworkers are early birds, the 9am standup is midday for half the team so they resist my campaign to move it a bit later in the day even though management is empathetic to my pleas. As a night owl I'm useless until 11 and the earlier you wake me up the more time I spend grumpily and unsuccessfully trying to gather my thoughts on the clock.,@jestdotty Freya Holmer is one I assume, she published a lot of really good tooling so she's got to be a good dev. Dev tooling is an unforgiving niche because your users understand exactly when your lousy model or execution leads to preventable weaknesses. Anyone whose dev tooling is popular and reliable knows their shit IMO.,One second of future sight destroys the premise of the stock market.,I asked a bunch of physicists about the DCQE and they all pretty much agreed that this shouldn't work because a lot of the quantum mechanics the device is based on was derived from the arrow of causation.,I'm no quantum physicist though so for all I know it could be sound.,Nothing. Nothing will happen. Milestones don't matter, the path taken to achieve them does. The impact of Musk's space program on everyday life results from the day-by-day progress of engineers and production lines, not from conquering planets.

I like Artemis because it generates interest in space research, not the other way around.,But much more importantly Unix time will cease to be universal because leap seconds are Earth-specific, so maybe, just maybe, we will finally adopt a truly technically motivated time measurement that actually counts time elapsed and not the seconds extrapolated from a clock that's constantly being fucked with to track the state of an N-body system.,(also the time measurement in question would probably have to count seconds from the perspective of a stationary reference observer outside the supercluster because between Earth and Mars relativistic time dilation is observable, which will generate additional problems billions of years down the line when Earth leaves the observable universe of the reference observer, but surely we won't be using the same unit of measurement by then),@Lensflare It doesn't really have to be, all that's required is that it has a single unambiguous and monotonous value everywhere; when two observers meet in time and space, they must agree what time it is, and no other point in either of their lives should be at the same time.

That's why I suggested a reference observer far enough as to be unaffected by gravity, kinda like we measure reference voltage by comparing to a reference point far enough as to be unaffected by magnetic fields.,But, knowing humanity, most likely the reference point will be the center of some park in Massachusetts,@antigermgerm The age of the universe in seconds actually fits in a u64. Actually, even if you count miliseconds it would fit a couple times over.,If we wanted to be future-proof, on the scale of a u256 we could map most of time between the big bang and the heat death of the universe, and a u512 will probably be excessive forever no matter any improvements the granularity of our clocks.,Depends on the format and how masochistic you are, but unless you're parsing something with zero flexibility like regex or a deliberately highly principled data format like JSON or XML there should always be an intermediate datastructure which has less structure and more information than your final output, such as a token tree with tokens representing all the whitespace information that has any chance to be relevant depending on context.,In principle a single-pass parser can just be a normal N-stage parser with lazy datastructures, compilers are perfectly capable of nesting the stages inside each other so you just have to write the lazy-evaluated store once.

The main design constraint then is that your datastructures have to be partitioned nicely so that you don't spend too much time following pointers but also don't calculate unused results.,Either way I think optimizing parsers for code specifically is rarely a good choice because they have other conflicting objectives and much of the work is just inherently slow if you want to do it perfectly right.

My strategy now is to focus on good errors when writing the parser and then make sure that I never have to run it again by caching ASTs all over the place.,In particular, it shouldn't be possible for a code parser to hard crash or overflow the stack on any input no matter how silly. If you add a virtual stack and every possible bounds check to normal code, all of a sudden simplicity seems a lot more valuable.,Not only do you have to find all occurrences of something to change it, but you're strictly forbidden from automatically checking that they're the same for future reference, and you've fired everyone who knew the complete list because they invariably attempted to formalize the dispatch in code to mitigate the chaos.,Instant legacy project powder, stir in a glass of cold cash for 2 years for an accurate imitation of a 20 year old codebase.,@AlgoRythm I'm not sure I understand. When you say that the parser converts tokens directly into an AST, what sort of indirection are you avoiding? Are you saying that the parser can consume tokens one by one without organizing them into a structure first?,@kiki You evidently have more data than me, but the project I'm currently on is suffering from those exact issues. Duplicate logic in innumerable places that has to be kept in sync manually, domain knowledge gone with the original authors, no unit tests meaning constant hidden breakage, and lucky initialization due to a shitty bespoke DI scheme that didn't work everywhere and so later work didn't even use it. Anyone with even close to a sweeping knowledge of the codebase is assigned to fix the constant stream of stupid bugs that could be caught easily if we had multiple layers of automated tests rather than one or two e2e UI tests per feature.

I'll readily believe that you did these things and your teams were happy and productive, but it wasn't just because of this, you did something else really well that isn't trivial, because I cannot pinpoint why this project is in such a shit state.,I tend to use Typescript when I don't want to make decisions about error handling and thread safety and just want something to work in the happy case with possible hidden assumptions in as few lines as possible. It has good enough types for accurate intellisense for non-library types and libraries for literally anything I'd ever want to do.,@Ranchonyx it's a Tumblrism but I think it translates well to devrant,@retoor It initializes a bunch of resources, and it contains a lambda that captures those resources, takes an incoming message as an argument, and responds to each of the 20 or so possible message kinds.,Of all the bullshit, why is this one in particular such a big deal? He's a dark web mafia boss. There are so, so many others. And if he resumes his activities, he can be thrown right back in prison.,@retoor I have many plans on how to refactor it by breaking out recurring patterns that always must look the same (lock shared repo, find relevasnt records, clone them out, drop shared repo guard) into functions that take callbacks, but I don't think I'll be breaking out any of the actual functionality.,@jestdotty thanks for the context, I've been wondering who this gesture is meant for.,@antigermgerm I mean, if they can find enough people stupid enough to buy crypto to cover the national deficit, the resulting insurgency would be spectacular to watch from across the pond.,I mean, depending on the rules they aren't that far off, a quick shitty scheduling script packaged as a winforms app would take a week assuming that the app is allowed to bail in case the specific case is very difficult rather than interactively resolving the problem.

- One day for I/O, excel can be a bitch sometimes

- Two days for analyzing the business rules, cross-referencing them with Wikipedia's collection of allocator algos and designing a custom algorithm that does the task decently well

- One day for UI, testing, relevant devops work and the like

- One day margin,Oh I misread, are you supposed to _build a calendar as part of the app_? That is not measured in weeks.,its 3am here, I need to talk to a lot of people tomorrow which means that I can't just catch up on sleep during the day, and I should be listening to complex instructions during those meetings but it already took all my strength and the fiddly objects in my room to not go catatonic during today's equally important and complex meetings.,I've been trying to fall asleep for an hour and a half, opened my phone to distract myself from my self-loathing and on fucking devrant of all places I see this post. FUCK. Not your fault. But Fuck.,it's only 2.5 years old, it should work fine,@Lensflare No, those are written in Carbon.,I wonder what happened with Carbon btw, did it get the Google treatment?,@Lensflare I think Circle did it in, it has a way better C++ adoption story (it is literally a C++ compiler with file-scoped feature flags) and similarly provides a lot of safety mechanisms.,okay to be fully transparent I have never written any significant amount of C++ and this is hearsay from the internet.,@Demolishun With unicode a whole host of new tricks are available, such as my beloved

‮4pm.exe,I think the actual virus this was found in used a lesser known executable file extension that looked like a plausible three symbol filename when reversed.,Async Rust isn't easy or nice, but learning it was relatively straightforward because I stopped trying to read what I'm supposed to do out of the definitions and started referring to sample code for the "how" and the definitions only for "why",In neovim, you provide the I,@SidTheITGuy brb gonna make another Rollup wrapper that could be a plugin to the theme of Vite to integrate
*dice roll*
cmake and docker,I actually have nothing against Vite, it's a symptom of where the ecosystem came from, it doesn't have many compat issues because we fixed most of those by the time it came out, and it'll be quietly replaced by fully integrated toolchains like Bun once those are properly mature. And the dev server works well.,@devJs Well the post is out in production so this is really how the browser talks to all your customers when you don't use typescript.,so is the USA lol,@retoor I really don't think they're woke, neoliberalism kind of presupposes a condemnation of dictatorships, because the central idea is that it's everyone's responsibility to dismantle oppressive power structures. This is also why the liberal state tends to spiral into fascism ironically, because neoliberals don't participate in anything they find problematic whereas fascists don't mind if their preferred party also wants to murder some people they don't happen to hate.,@BordedDev CSS is a transmission standard limited by both infinite backwards compatibility and the support of every major browser vendor. It has no namespacing, and its sole abstraction - the class - isn't even self-referential. More recent additions like layers and typed variables come close to substituting a legitimate abstraction mechanism, but I still wouldn't restrict myself to typing the actual network bytes when there are developer friendly tools that compile to it.,@BordedDev That being said, Scss combined with CSS modules seems to me thus far to be a much better language than Tailwind classes.,@retoor I'd heard of it before,Hungary is pretty strict against drugs and weed, it's just that the police is so corrupt and the country as a whole is so poor compared to W.Europe that with a bit of cash you can do basically anything.,Clarification, a decent abstraction mechanism should be both self-referential and parametric, think functions. With CSS variables that you can set in the element styles, CSS classes are parametric although in the most painful way imaginable, but they're still not self-referential. Both Tailwind and Sass offer self-referential abstractions, but Tailwind strictly separates self-referential and parametric classes, and Sass' macros inflate bundle sizes. A usable abstraction could be implemented on top of any Turing-complete control flow, but instead of TC we have selector priorities which hide important decisions behind the most bizarre dispatch heuristic I've ever seen.,@BordedDev Oh neat, @property got implemented everywhere, I didn't know that. One step closer to a a viable language. I guess I am being a bit overly cynical, progress is being made.,VS has always been rife with cache invalidation bugs, the last thing it needed was one more poorly implemented caching layer.,how do I turn this off? It looks like it could improve my situation too.,@jestdotty Visual Studio is very, very far from done. Visual Studio's caching is very far from done. It would be easy to justify a continuation of the project, for example they could invent a "first of its kind" reactive caching solution that integrates deeply with Windows supervision tools to automatically re-run arbitrary dev tools including shitty glue scripts, file copy operations, and third party stacks such as React when the files they read had changed.,I mean it's a model. A bigass tensor. Sure it can unravel the fabric of society and bring peril to western civilization, but it can't really phone home in a way that isn't easily detectable from the outside, and neither can it fake its performance.,I was hired specifically to fix everything with 10 other people last April, then in September the client's parent company decided that actually we're too expensive to waste our time refactoring so now they reallocated us into various product groups.,@UberSalt I mean it's still a black box trained to the taste of a dictatorship so I would definitely be careful with it. I call this level of access open-weights, because it sure as all fuck isn't open-source.,I have all the weights for Microsoft Word so I can run it on my own machine provided that I interface with this opaque blob of binary in a way it expects. Long live open source!,It's like, the service distribution model has been successfully normalized to a point where we celebrate generously being offered an executable and not a very affordable endpoint. It's so far from open-source that they advertise having used petabytes of sources and not only are the sources themselves not open (available to the public to read as in open-source research), they're not even listed anywhere.,And while you're writing a heuristic like that, the reasonable policy is to not support overly niche platforms, but of the ones you support, prefer the niche ones, because people who actually use them are more likely to prefer them. But I have Telegram, Signal, WhatsApp, Viber, Snapchat, RCS and Discord associated with this phone number. How do you end up with Viber as the most niche platform in this set that you support?,The biggest issue with ORMs is that they work well until you add the first bulk update or arbitrary SQL query, which usually happens too far into development to remove every reference to the - now permanently unreliable - caching layer.,You can map a remote object to cached rw local objects if you can guarantee exclusive write access. Otherwise writes should be commands that are asynchronous, fallible, and failure or success is determined before the local object - which may be shared - is updated with their speculative outcome.,Well, since you can't prove a value system by definition, I'd say that the best approach to building one is regression.

theory: ingenuity is what makes me value people
implication: people with dementia aren't valuable
contradiction; I value people with dementia, therefore the theory is false.,it is possible that ingenuity is a component in my value system, but I concluded that it can't be the only one.,I really don't think that's true at all though, I'm friends with all kinds of idiots. It's much more likely that ingenuity has instrumental value, for example, in service of challenging me or offering a fresh perspective on shared knowledge both of which I tend to appreciate.,@retoor Astro does it all out of the box, and everything is prerendered. The only JavaScript on the page is what I specifically mark to run client-side such as scroll restoration (because the browser only does that if your whole site is scrollable. Yuck!) and relative dates.,and of course fortune.,You can configure ESLint in more detail than any other formatter for any language, or indeed any other devtool that I know. I'm really disappointed that they want to move away from stylistic rules because their approach is fundamentally different from Prettier's and in JS of all ecosystems there could be a niche for both.,@Demolishun yeah but after 4 months of foreplay,(what an unexpectedly good metaphor for my real sex life),hating the project and the client and loving the employer and the team. I gather this is a fairly common combination.,I mean by 1958 measures it was probably dizzyingly fast paced.,they do explain the architecture, and the test scores are externally verifiable. They don't disclose their data collection practices because they have none. They argue it's fair use the same way transformative works and parody are, because even though that's utter bullshit, it's the only legal categorization that would, if it made any sense, permit the kind of treatment they put the entire internet through.,you know it's not fair use BTW because the individual pieces of copyrighted input data aren't given any focus. All categories declared as fair use are supposed to focus on the original, because the reason fair use as a legal concept exists is solely to prevent authors from wielding copyright law to censor public discourse sparked by their work.,I'm actually open to declaring statistical analysis as fair use, because important truths can be revealed by statistics, but only if the process and its results are public domain and only the presentation and further processing of these results may be licensed, to ensure that the statistical process can be scrutinized by members of the public.,Publishing the statistical process would also ground all debates about whether the input data has been sufficiently transformed as to be unrecoverable in basic truth, these discussions are currently happening in complete darkness and even if lawsuits come to a conclusion the specifics of the argument will be hidden from the public.,(pretending for now that it's possible to understand the reversibility of an adversarially designed statistical process because surely hiding a cipher in plain sight is pretty hard),@jestdotty to be fair, timing is a platform feature where platform means something different depending on the order of magnitude of time. I would expect a mature ecosystem to offer at least 20 popular solutions under active development with different tradeoffs.,If you don''t save the project, the language server and the compiler will believe that the relationship exists, but the build system will ignore it, queue the two projects in unspecified order, and any files passed by copying and not by compiler parameters will be missing more-or-less at random.,especially because you know others trusted it more so the odds that someone spots an issue are much lower.,I'll take anything over stringly typed shells,@retoor If I want to store a command for reuse I write a program, initially in a clumsy scripting language and the second time I need to modify it I switch to a proper language. On Linux or cross-platform, JS then Rust, on Windows, PowerShell then C#.,@retoor I tried to learn Nushell but it doesn't really improve things over JS and it has way worse DX, yet it also can't spawn arbitrary programs like a shelll, so I didn't really see the value add.,At least use a dedicated placeholder, like int_by_default,Why are they in a basilica? I thought everyone used reptilians as a euphemism for jews?,and that's why you don't let a single company design every element of a toolbox; the manager who likes and cares about mobile games should not be directly promoted into making decisions about a launcher, Bluetooth handshake flow, or voice control.,@jestdotty I defined my own namespacing rules, and they're not even particularly tricky.,It's to tick boxes on audits.,I think devrant benefits from the economies of the smolnet. It's cheap to run and will probably remain cheap forever, it lacks moderation, the content is never presented inline on another website and rarely linked so the cultural norms of other sites don't apply. In particular, I think activitypub, AT and other protocols that encourage taking posts out of the context of the in-group don't benefit old forums that have a culture of their own.

An ActivityPub app will always have the shared culture of Mastodon to some extent limiting its own. Unless it doesn't federate with anyone, but then what's the point.,Rust's new trait solver is now invoked by default. This changes nothing hopefully, but it's indicative that the trait solver refactor is irreversibly marching towards completion, and once it's complete, two dozen feature requests will be unblocked at once.,@jiraTicket time for an absurdly well equipped and funded coup d'état,@retoor No, it's just a sequence of values that keep each other alive forming a loop in the ownership graph and preventing any of them from getting freed. I guess reference cycle is a better term.,Before I switched to Rust, I mostly did JS and my job demands C# so I'm entirely too used to cycle-detecting GCs.,@TrayKnots Even worse, it's liberal Rc usage. I made some less than ideal decisions. Here's the project if you have a strong stomach.

https://github.com/lbfalvy/orchid/...

The entrypoints are orcx and orchid-std for host and plugin, but their ownership structure is in orchid-host and orchid-extension respectively,I want to get this to feature parity with the original single-binary design quickly because it's in many regards still a prototype and I don't know yet how much I'll have to change once I start using the FFI to make it do useful things.,On second thought, it is not ready for reading. But if you want to peruse anyway, screenshot your favourite antipattern for me.,@TrayKnots it's executor agnostic and hopefully wasm-compatible, to be honest I didn't do the tokio bits until yesterday because I had to get really drunk to finally stop thinking holistically and just methodically design a solution step by step.

The LocalBoxFuture removal was because AsyncFn was finally stabilized this Thursday so I applied it where possible.

it's not supposed to be complicated, but it's a huge mess with a bunch of callbacks that shouldn't be callbacks and locks that are never contested. Once I fix the names and document everything it should be pretty easy to understand what's going on though, it should also highlight the worst factoring issues.,I'm decidedly more productive at work, but not 30% more productive, and certainly not 30% better compensated. Fact is, unless you live in the same neighborhood as the office, it's pretty much never worth it for a salaried worker to work on-prem if given the choice.,@Demolishun Not unless it's crypto-anonymous. A fake Facebook profile is supposedly anonymous but they'll just give out your IP to anyone who asks firmly so it's only used to organize pogroms.,That looks like a fun niche, I'd give it a shot.,@D-4got10-01 Even then it's a 20% cut to pay per time spent dealing with job. I'd have to live really close to agree to long-term every day on-prem.,@jestdotty It also only took two colleagues and a workday to get the devenv set up on my machine, on the other project it took over a week and all seniors on my team needed to chime in with some domain knowledge none of the other seniors could've guessed.,@jestdotty The community is great here even though evidently we have a knowledge silo problem, the helpful attitude and air of camaraderie is the main thing keeping me at the company since it's a shit project and the odds of ever learning anything non-obsolete outside the Microsoft stack is vanishing small.,@jestdotty that sounds horrible, luckily I'm kind of secure right now so if it ever turned this bad I could leave.,@BordedDev not really because it's also gigantic,@BordedDev That's the first time I hear this term, I'm not sure what it means. Refactoring efforts are of course ongoing but management insists that fast delivery on features is more important now to accommodate our new market before they look elsewhere, so POs are reluctant to prioritize any refactoring work. We'll see how it goes, I don't trust mgmt's word for a second but I don't have a family so I don't need to see more than half a year ahead.,I mean, I see how delivering features 3x as fast right now pays off, but I don't see how we'll sell the subsequent healing period to regional leadership. "It works fine in prod, just keep going" goes the typical answer.,@AlgoRythm It seems that buffered controller JSON responses are capped at u16max. We're pretty sure streaming responses don't have that restriction, and it's possible that the limit can be raised, but I'm not about to offer yet another route that can save a penny by forcing the browser to render 6k Knockout components, when instead I can pretend that the cheapest solution is pagination or lazy loading and thereby convince them to do the right thing for the wrong reason.,@retoor Has the church ever addressed that they have an issue with sexual abuse? I only ever hear them acknowledging specific instances, and always only after denying and suppressing the news fails.,@retoor The random statement generator provides!
I was looking for a link or keywords to find a specific instance, even just one statement, in which the Pope acknowledges that there is a systemic issue and not just "bad apples" or whatever other bullshit.,@retoor You had a random statement generator generate a statement, that is not justification.,@antigermgerm are you having fun with the probable sentence generator?,@retoor no you're right, it generates probable and unconfrontative sentences, not completely random ones.```