@BernieTheBernie you know, I would actually understand that, if the revving happened anywhere close other people -- friends, potential mates, etc.
But in this case, that happens even when there isn't anyone (except neighbours ) around. So why??
@BernieTheBernie you know, I would actually understand that, if the revving happened anywhere close other people -- friends, potential mates, etc.
But in this case, that happens even when there isn't anyone (except neighbours ) around. So why??
@cheong the only part of the trick that they missed is that the device inside the bus should have been looking like this:
Of course, in this case it would have been powered by , not deuterium/tritium, but .
@topspin said in Nope, you eat it:
@HardwareGeek the Johnny Cash cover is really good.
I don't know if the guy in the repair shop was named Johnny, and I wouldn't really say he ended up "covered" in cash (*) but yeah, he got some.
(the "Puns so Bad they don't even hurt" thread is nowhere, and that's a good thing)
(*) 20 euros, about what I was expecting. Amusingly he asked us first whether we were paying cash before telling us the price...
My brother has a table a bit like this (with the sunken middle) though he uses it for board games, not RPGs. There is a nice wooden top that slots on top of the sunken part, so you can actually use it as a regular (dinner) table while still leaving a game fully laid out below. There are also some add-ons that clip to the side, such as drink holders (so you don't balance your drink on the edge, or put it in the middle) and tablets (if you need e.g. to write on a character sheet), but those are a bit gimmicky and not much used.
It's a bespoke thing that cost him a small fortune, but it is a real nice piece of massive wooden furniture and it sees enough use to make it worth it (for him)...
@Carnage said in Nope, you eat it:
Preferrably dill flavored white spirits.
You're just rephrasing my previous post.
@Carnage and chase it down with a shot of flavourless alcohol.
@Carnage said in Nope, you eat it:
And for the topic, here's a picture of lutfisk:
I actually tried that once. It was exactly like you describe it, and very much "meh" and not "nope" at all.
At least its (lack of) flavour didn't spoil the (lack of) flavour of the accompaniment (boiled potatoes).
@Kamil-Podlesak said in (are (arguments for (using lisp)) (still valid?)):
You actually can do it in C++, because it does have function overloading, although only at compile time.
Ergo, you can't do it. Read above (have we reached Remi's point, by which new posts can be answered by pointing to previous ones?), it's all about doing this multiple dispatch at runtime.
If you want to do it at compile time, C++ also has templates that perfectly fit the bill, except again it's at compile time.
As said above - this
dynamic
part should not be in the language at all, as it is basically just .NET implementation internal thing. IMHO it is exposed only to make C# the "ultimate" .NET language that is superset of every other .NET langauge.
I guess that's a reasonable (?) explanation. At least to me, it very much looks like a hack more than a feature (due to this burden-on-the-caller thing).
@Zerosquare said in Nope, you eat it:
This weekend's mystery was "how a nail longer than my hand ended up in my tyre, with just the head still visible?"
It was longer than the height of the tyre so it necessarily had to be at an angle. But who the hell uses nails that long, how did one end up on the road and then in my tyre?
Thankfully the hole was neat enough that it could be patched easily (and cheaply!).
Why do teenagers with dirt bikes feel the need to fiddle with the engine for hours, without going anywhere? (source: a neighbour a couple of houses down the street )
I understand having a noisy engine and going to play on dirt tracks. I understand going up and down the street if you can't go on tracks. I even understand playing tricks in your backyard if you can't go outside. I also understand tuning the engine if you've changed something.
What I don't understand is turning the engine on, let it idle for a minute or so, rev it for half a minute, let it idle again for a minute, then turn it off. And repeat every 5 minutes. For hours. Every single fucking day you're at home.
@Zerosquare maybe he meant () this?
@boomzilla said in I, ChatGPT:
It is certainly possible to train smaller LLMs on more focused topics and get useful things out of them. I know that's been going on at my company.
Yeah, some people in my company have also done that IIRC. Their problem was that in our field we sometimes get data reports that are decades old and of course don't follow any sort of standard -- and a lot, if not most, of the type of data we're dealing with isn't numerical data, it's more maps and human interpretations, so it's not just pulling out numbers from an old print-out.
Apparently training some sort of AI on that yielded great results in that they were able to query the mush of data and get meaningful answers, including asking a text-based question (duh) and getting pictures and maps as part of the result.
@boomzilla this is how I decided to read the title of your link.
That would fit well within what their T&C allows them to do.
@Applied-Mediocrity you know, I'm sometimes amazed that with all the approximations and "models" that we use, there are still some Nice Things churning out at the end of the chain.
I'm also amazed that people pay me to do that. I'm more worried when they ask me to justify my salary, but so far I've managed to survive that
@Applied-Mediocrity said in I, ChatGPT:
AI is being shoehorned everywhere and treated as a general solution to all problems. Legal? Probably not. But in other domains it has been and absolutely will be considered airtight (with disastrous results; one with cancer patients, I believe), because people just don't care and want to trust the machine. Pray tell, Mr. Babbage, and all that.
Fair enough, but I was talking about this specific application case (to read T&C). I agree that "AI" (which has not much of "I" and is about as "A" as anything that's on a computer) is sometimes seen as a solution to everything. But that this is wrong does not mean that AI can't be a solution to some things. And reading text seems to me very much what an LLM is designed to do, so that seems a rather good application of it.
With the crucial difference being that once you implement an algorithm, for all datasets it will return the only possible answer, and unexpected inputs will either crash the program or get discarded early. It may be wrong, but every step of the way can be formally verified.
Meh. You've probably not dealt with a lot complex scientific (or, maybe, I should say "scientific") models. A lot of them are not built from first principles and equations, but include a lot of empirical knowledge (aka heuristics aka fudge factors...). So "formally verifying" them... yeah, good luck with that.
Using LLMs is basically admitting that rather than trying to describe the steps of solving complex problems, we - fuck it - will relax the conditions and accept impure results.
That is not specific to LLMs, at all. Before we all talked about LLMs the hype was about AI in general, and before that ML (machine learning) and before that Big Data. But at their core, "big data" and "machine learning" can be nothing more than doing a linear regression through data -- and pretty much any real world model includes a linear regression. Sure, LLMs go further than that. But non-LLM-models also go further than that. My point is that using a model that we know is imprecise and only calibrated through real data (as opposed to some theoretical background) is something that has been done since... forever. LLMs aren't that different in that regard.
It may be acceptable for toy problems and toy purposes, but it sets a dangerous precedent. People want to use technology. Outputs will be fed to other data systems, some of which may also be LLMs. GIGO all the way down.
Yeah, lolz... if you knew the "models" that go into my day work and what part of our society relies on it, maybe you wouldn't be so afraid of LLMs being misused
@topspin said in I, ChatGPT:
I interpreted @remi’s post as “this is a property you want” (unlike low false positives, which is nice to have but not important), not as “this is a property LLMs have”.
Re-reading the OP on that, my phrasing was indeed ambiguous and could be taken as meaning either. But you're right, I meant the former, not the latter.
I have no idea whether this is a property that LLMs do have, though since it's playing with language (rather than, say, playing with Doom), I have more hope that they do than the property of "being able to play Doom."
@Arantor said in I, ChatGPT:
find things in the docs that aren't reliant on word matching?
Not sure what you mean by that? Is that "searching the doc without having to type the exact words of the section you're looking for?" Like a Google search returning terms related to your query, not necessarily those exact words? If so, I'm guessing this would be a thing that LLMs are absolutely perfectly suited to do, this being basically how they're built ("statistically, these words happen in close relation to those words"). And I would be extremely surprised if Google and Bing do not already use that kind of technique internally (maybe not when you type your query, maybe that's part of their indexing).
But is that what you meant?
@sockpuppet7 I'm not sure I get what you're saying. But I suspect you're a bit too hung up on the specific example given above, which can be fully and more simply be expressed by virtual
functions (and classes) in C++.
But the subthread was about the more complex idea of dynamically dispatching a call to various functions, based on the types of several arguments (e.g. Inspect(int, int)
is not the same as Inspect(int, string)
is not the same as Inspect(string, int)
etc. but all of those can be called by simply calling Inspect(var1, var2)
). I found this wiki page yesterday that explains it pretty well.
You can't do that natively in C++. You can emulate it with various workarounds (some of them are described in the Wiki page). But they're not direct features of the language, like it apparently is in C#. Those workarounds are going to be either more (boilerplate or weird) code, or worse performances. Likely both at the same time.
But, back to the C# thing, the part that bothers me is that it is up to the caller to ensure they say "hey, this variable is dynamic
, don't forget to dispatch based on it" which sounds wrong to me. The workaround (shown in this subthread and in the Wiki page) is to use another wrapper function around it, but that's ugly boilerplate, which makes the feature less attractive.
@Applied-Mediocrity said in I, ChatGPT:
How would you know they're low?
You don't, if you just look at the result on one specific set of T&Cs. But if you (or some other (group of) people you trust) feed it enough T&Cs, some of which you already know they contain fishy stuff because it's been found by humans before, you can check that on the whole, the rate of false negatives is low. That's work, yes, but that's how you validate anything in the real world.
Now you can't guarantee that a low rate on known documents will necessarily mean a low rate on a new unknown document. But that's the same for any model you're applying on any kind of data, so there isn't anything new here. And yes, I'm calling the output of the LLM a "model" of the full T&C because that's what it is: a simplification of the thing that allows you to better understand it.
Besides, I don't think anyone would consider this LLM analysis as a full, airtight legal interpretation (if anything, because there ain't such a thing, it always depends on the judge etc.). But as a way to quickly flag if those 900 pages of T&C are just the usual bullshit, or if they are likely trying to find new and ways to shaft you, why not?
In my mind, false negatives are far worse than hallucinations.
I agree, which is why I said a low rate of them was required. Hallucinations are kind of like false positives, you can spot and discard them fairly easily and as long as they don't make the output longer to read than the input, you've still gained some time overall. Though, humans being humans, they will still erode your confidence in the result, so keeping them low is likely a good thing. But less so than false negatives.
@sockpuppet7 said in (are (arguments for (using lisp)) (still valid?)):
@remi said in (are (arguments for (using lisp)) (still valid?)):
I know I'm tainted by C++ () but it sounds more logical to me to define a (set of) function(s) as being virtual / override (the
and more performing too
Yeah but if you want to do multiple dispatch, which is how this subthread started, the C++ way won't work (you can have static dispatch with e.g. overloads or templates, but for dynamic stuff you've got to hack something, either with some hand-rolled vtable
or by listing the cases, to work around this feature simply not existing in the language).
If you want to do something more complicated it costs more, I'm fine with that. I'm not quite sure how much I would actually need to do it (as opposed to a more clunky solution to achieve the same result in a language without that feature built-in, e.g. C++). But that is an entirely different matter (design vs. usage).
@Zecc I see, the dynamic
is part of the type, not the function. Still, it remains the responsibility of the caller to ensure that a "virtual" function is called with arguments that are dynamic
. That still puts the burden on the wrong side, IMO.
(again, in your example this is hidden behind the first function, but again that's basically boilerplate code that has to be written to hide what looks to me like a wrong design)
@Zerosquare said in I, ChatGPT:
But can current-day "AI" really properly analyze a legal document that's one or several hundred pages long? Or is it only pretending to do so?
Does it matter, if it ends up producing useful output? Like, if a real lawyer was reading these 900 pages, what is the likelihood that it would not read properly one of those 900 pages? Besides, what matters here is that the LLM has a relatively low-rate of false negatives (false positives are less of an issue, it's just clutter in the output). This rate doesn't need to be zero for the LLM to be useful.
Anyway, contrary to e.g. trying to make it play Doom, at least here you're using a "language" model for something that it is actually designed for ("language"). So I would have more confidence in it doing what you ask it to do rather than wildly hallucinating.
@error I definitely remember having sometimes written in those kind of emails stuff like "some clients ask for this, which honestly is a bit stupid" or "internally this is implemented as a hack but don't tell that to clients."
I did not see any such bits in the couple of emails I reviewed when reading the docs but I can't say whether this is because they sanitised them, or because the few I looked at did not contain any such sentences in the original...
@Zecc from someone who has never done C# (), the bit that looks weird is specifying the dynamic
part when calling the function, as opposed to when defining it.
I know I'm tainted by C++ () but it sounds more logical to me to define a (set of) function(s) as being virtual
/ override
(the same goes for templates, though they're not dynamic but they still achieve the same goal of dispatching to different code depending on types), and then it's entirely transparent for the caller which function ends up being executed, rather than the caller having to say "oh, hey, actually this function might exist in different flavours and I'd like you to pick out the right one." That's a burden on the user of the code that seems weird.
Of course, in your example this burden is hidden behind the generic Inspect(object o)
but that looks to me like a bit of boilerplate just designed to hide the inherent ugliness.
@Zerosquare as @BernieTheBernie hinted, I just posted another historical document about it.
@PleegWat on a related note, one module I was developing was integrated some years back in one software that we sold to external users. So the support team was in charge of writing some doc about it (which they actually did! It wasn't "great" but it was there, and not entirely shitty either). They also regularly asked me more technical questions about the theory behind it, and I usually answered their emails with as much info as I could (I don't write Wall'O'Text only here!), in the semi-formal tone of speaking to a coworker.
Then at some point the branch selling the software got itself sold, including that module (I had a thread about it). I recently, for , had a look at their website and all the docs they have. And I could see that for this module, they had a bunch of varied "methodology" documents that were... my emails, with at most the greeting/signature lines removed!
I don't care about them reusing my words, they were written as a part of what got sold with that branch of the company so they get to use them as they want. But I'm not sure the semi-informal tone of how I wrote them really sends the message they want to send. Well, it's no longer my problem...
@PleegWat said in Programming Memes Thread:
Then again, there is something particularly satisfying in being able to respond to a service request with something along the lines of:
I agree. But it requires having written () that Holy Book and even if gave us time to do so (and to keep it up-to-date!), the is a strong . We all much prefer writing new features.
Or posting here, in my case. Mostly posting here.
More seriously (?), in our case, the users are all internal and maybe a couple dozen at most, so even if each and every user comes and asks us the same question (that could be answered if there was a doc and they read it), it's not that much of an issue overall. And the software is changing sometimes fairly quickly so keeping the doc up-to-date would be a lot of work. So all in all, in this specific case, I believe that not trying to have a full doc is the right choice.
But that single-sheet doc is still funny.
@ixvedeusi I don't know. The domain-specific community in which I work (i.e., the people I'm developing software for) do have their share of "common wisdom" but they also have a good dose of questioning everything (sometimes a bit too much...). This is a (minor) ((sub)branch)) of some scientific domain, and scientific research is well-known for (in theory...) asking questions, so that probably taints things. But most people are not doing any kind of research, just applying other people's results (inb4: so do most academic researchers ). And while we do regularly complain that they do so "blindly," their blindness is, uh, much less blind than software developers' blindness.
@ixvedeusi said in (are (arguments for (using lisp)) (still valid?)):
In other words, it was quite clearly intended to be descriptive rather than prescriptive.
As a young developer years ago (), I remember that it was quite useful both to see ways to achieve complex results (and/or interactions), but also to understand pieces of code I'd seen but couldn't make sense of it. "Oh, that was an 'observer' so now I understand why it was written that way and what it was trying to achieve!"
So yeah, an interesting training tool, but definitely not a reference guide to follow everywhere.
Then again, it seems to me that the software development community is much more into blindly-following and cargo-culting than other communities, so I'm not surprised it was abused that way.
@Zerosquare Absolutely. It is also pretty as we can (truthfully, but entirely uselessly) say to users "oh yes, we do have a documentation for the software."
It can also be seen as some sort of deep pseudo-philosophical statement about how some things are never finished. Or about how we're always running out of time to do stuff we should be doing.
All in all, I quite like it.
@Dragoon I'm sure it's totally a coincidence that they look like this kind of movies device:
@The_Quiet_One I've printed that one and stuck it on the side of my desk so that people coming to talk to me see it.
Of course, it only generates more talk as people who just walk by and wouldn't otherwise have talked to me see it and want to say something about it.
(next to it there's another print out, of the full documentation of the software we're developing (and have been for the past... 15 years?), this is a single sheet with the software's name and the only words "work in progress")
@boomzilla said in Driving Anti-Patterns - Necro Edition:
The other truck looks... "interesting" as well.
@Bulb said in The Cat Status Thread:
because you've been sleeping too long and it's time for some fun.
My FIL's cat used to to send them to bed in the evening, and then get out for a night of fun (?).
She meowed and meowed and pestered them in the evening until they were in bed, and laid with them in a corner of the bed. But after 5-10 min max, she would get up and go outside, only to come back in the morning (and sleep during the day, of course).
That she was active during the night is pretty usual for a cat, of course. But the "send them to bed" part, that was new. I'm kind of wondering if that could be a piece of evidence in favour of the theory that says cats bring mice, birds... to their humans because they think they are still kittens that need to be shown how to hunt: as a good mother, she would make sure her kittens were in a safe place before leaving them for the night?
@Carnage said in Sportsball WTF:
!
By that standard, snooker should be the manliest of sports
Then again, both players have to play with the same balls, but that's the case for most sports (golf and bowling are the exceptions I can think of -- and all variants of boules though each player has their own balls, but they might hit other players'...).
@PleegWat yeah, that doesn't sound outrageous (and indeed, it's quite some work to do properly and even more work to make significant money out of it). It's just that... I never thought about it, I guess.
@PleegWat yeah, the "gaining value faster than people’s pensions" bit is probably very misleading. It's like all of those investment things with crypto and NFTs. You may be sitting on a fortune but only if you look at the made-up-numbers, not if you try to actually turn it into cash.
I find more interesting (in TFA) that the guy is making some serious money (5000/year, not enough to live off it but still more than just pocket money!) from his author's rights on some models he invented. I had no idea there was such a market on that.
@boomzilla This one time, at band camp,I once visited an ostrich farm and at the end of the tour they had set up a small racing track. Half a dozen of us (me included) got plunked on top of an ostrich each (legs astride the wings, holding with hands at the base of the wings), and then they were released.
I wouldn't really call it "racing" as there wasn't muchany control and the ostriches mostly ran because there were guides scaring them from behind. And no one cared about picking a winner, it was mostly about hanging on as far as we could.
It only lasted... maybe 20s, tops? Still, pretty funny overall. There probably is a picture of that somewhere, if I could find it.
ETA: found it! Either my memory was bad and there wasn't a race, or (I think) this was the "practice run."
@PleegWat said in Things that remind you of WDTWTF members:
@Luhmann Skimming TFA before the please pay now banner appears
As I regularly remind people here, the Telegraph is one of those sites where blocking JS removes the annoying banners with no visible downside.
seems these are unopened set.
So basically it's an investment in a relatively non-liquid asset, that takes physical space and is vulnerable to almost anything that can happen to his house.
IOW, that's good for him as he says it's a passion more than anything, but definitely not a recommended investment strategy for anyone saneelse.
@dkf in a sense, he was going to turn. Except that the "going to" part was about 3 km further down the road (this is also where I was going). So yeah, no, he wasn't about to turn.
Then again, he at least was smart enough to not take the left-most lane, which is reserved for buses. That is smarter than quite a few other people, so there's that.
A small one on my morning commute: 2-lanes highway, stop and go traffic on both lanes, with the right lane being mostly trucks and me in the left lane. It's downhill so when the traffic in front of me moves forward, I don't accelerate and just let the car gather a bit of speed until it catches up. As a result, I am driving relatively smoothly but there are large gaps that are appearing and disappearing in front of me.
The trucks next to me are doing more or less the same thing, so the same applies to the right lane.
Of course, the driver behind me wants to go faster-faster-faster! So he's permanently stuck at less than a meter from my rear bumper and I can see him jumping forward (by inches) whenever he can.
So he ends up taking advantage of one gap between trucks and pass me on my right, back to the left lane and speed up to the next car! Wohooo! He's gained... one spot. And then remained stuck there for the whole length of the traffic jam, with me just behind me, going .
Now the real funny part is that the right lane was actually going faster than the left one, but the guy doggedly stuck to the left one while trucks were passing him on his right.
@topspin said in Qt / CSS: setStyleSheet is slow, suggested alternative using dynamic properties in CSS even worse:
I doubt anybody cares, but I guess I should still follow up on it:
I'm a bit sorry for you that I didn't see your OP before, because while reading it I was thinking that playing with QStyle
seemed a better idea to me than CSS (partly because, like you I guess, I'm not a web dev and I just don't grok CSS). I would also have suggested looking at item delegates to avoid doing unnecessary changes. Basically... what you found out yourself!
Well I'm glad you did find it out in the end (plus anyway I would just have suggested the idea, not which is the really hard part!).
@acrow said in How large is your, erm, M.2?:
Whereas if you backup to a NAS, you can make it pull the backup from the laptop over the home WiFi whenever it's in range (ETA: automatedly, of course).
In this case there's the added difficulty that said youngster doesn't live with his parents anymore. He definitely hasn't got the space, money etc. to set up his own NAS in his room (I mean, it's not technically unfeasible, but in practice... it's just not going to happen). Thankfully he goes back home regularly (more or less every weekend, currently), so an automatic backup on the home NAS would work.
And knowing my brother, I assume that he has set it up that way. Whether my nephew has not tinkered with the settings in a way that broke it is another question. Then again, he's old enough to learn by himself that he fucks up his backups... well, though luck.
@jinpa said in Fun with maps:
a legible version:
My isn't large enough to consider 12th century script as "legible."
I mean, some parts are pretty straight-forward but others... not so much, and that's ignoring the fact that old names aren't the current ones. And reading the Wikipedia page (where I picked the image), I'm apparently not the only one since even the people who made various copies across the ages made some confusions and errors (starting with the guy who made the copy we have -- or maybe it was an even earlier copy? -- since some names are misspelled).
@Zerosquare Yup. Though he's also a crafty politician.
So either or .
@acrow I've seen all of those in various fields, but I think it's mostly black. But I can't pretend to have any actual stat on that.
I did wonder about that once because when you've got stacks of black-wrapped bales sitting in the sun all year long (especially in the South of France -- of course that's probably not an issue in ), it must get pretty hot in there! Since farmers still do it, I have to assume it's not an issue though...
@Carnage said in Fun with maps:
@loopback0 For it's defined in the flag law of 1982, and the colors are PMS116 and PMS301.
And yet there's no red in 's flag.
Also, there was some fun/ a few years ago about how Macron "changed 's flag without telling anyone" because he picked a slightly different tone of blue for new flags. That was a good occasion to at people making a lot of noise about nothing. I think he changed it again some time later. But I'm not sure there truly is a definition of the colours (there's probably an internal administrative norm, which is the one that Macron changed, but I don't think it has any legal value (just an administrative one)).