Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
brap
Aug 23, 2004

Grimey Drawer
yeah I like azure app service

Adbot
ADBOT LOVES YOU

brap
Aug 23, 2004

Grimey Drawer

Xarn posted:

I already know you work on XCode and think it's good, but somehow you keep surprising me with just how wrong you are

lol

brap
Aug 23, 2004

Grimey Drawer
yeah, just go back and add the number of cycles needed for an instruction to each instruction.

building yet-another-z80-emulator or something like that is just grinding in significant part.

brap
Aug 23, 2004

Grimey Drawer
does go give a compile error if you don’t bind the error return value to something? (i.e. _)

re: xml, yeah um basically you better have an accurate xsd for whatever you’re working with and generate the classes, otherwise you’re gonna just eat poo poo

brap
Aug 23, 2004

Grimey Drawer
I'm amazed anyone inside goog actually writes go and that it's not just a hilarious prank on the morons that make up most of this industry

edit: why not both, I guess

brap
Aug 23, 2004

Grimey Drawer
can someone explain to me how a commit gets "lost" in git because that has never happened to me

i have had to pull poo poo out of the reflog before but that does not mean anything was lost.

brap
Aug 23, 2004

Grimey Drawer
take a vacation thread

brap
Aug 23, 2004

Grimey Drawer

CRIP EATIN BREAD posted:

its implementing an interface but delegating everything automatically.

yep, it’s like an auto-adapter. presumably(?) you can use “by” for more than one interface.

brap
Aug 23, 2004

Grimey Drawer

mystes posted:

code:
blacklisted_names, "blacklisted_names", ["foo", "bar", "baz", "quux"] => Vec<String>)
Quick, somebody do a pr to add master and slave.

the real joke is that “blacklist” is itself at least tasteless and probably Problematic

brap
Aug 23, 2004

Grimey Drawer
https://github.com/dotnet/roslyn/pull/3507

I really love the way that this was merged without incident and then a year or more later got linked on some chud computer website and everyone showed up to out themselves as a complete shithead.

brap fucked around with this message at 18:46 on Sep 24, 2018

brap
Aug 23, 2004

Grimey Drawer
haskell goes to such pains to come up with common abstractions where the abstraction does not increase the clarity or expressive power of the thing.

brap
Aug 23, 2004

Grimey Drawer
tbh I’m disappointed that talk mostly fails to say anything concrete. I’d like to know anything specific about how you manage complexity when writing a web app sans frameworks.

brap
Aug 23, 2004

Grimey Drawer
- Scheduled work items are not guaranteed to ever execute, once the app pool starts to shut down, QueueBackgroundWorkItem calls will not be honored.

lol. deal with this by fixing the mail server if you possibly can. otherwise if you want things to actually get delivered it sounds like you need to store the pending emails in a persistent queue.

brap
Aug 23, 2004

Grimey Drawer

VikingofRock posted:

So I generally think boost libraries (with some notable exceptions) are pretty usable, if a little over-engineered and quirky. But boost::filesystem in contrast seems really under-engineered and full of surprises. For example, I'm trying to write a function which copies a few directories recursively. It seems like the copy itself should be as simple as:

C++ code:
fs::copy(source, destination);
But that runs into this wild segfault. Okay though, that seems like it might be apple's fault, so we won't hold it against boost::filesystem. And there's a workaround:

C++ code:
fs::copy(source, destination, ec);
if (ec) {
    throw std::runtime_error(std::string("Error copying ")
    + source.native() + " to "
    + destination.native() + ": "
    + ec.message());
}
Except that doesn't do what you think it does. When copying directories (like source and destination), boost::filesystem doesn't actually recursively copy the directory (like you would expect), but instead just creates a new directory at the destination with the same attributes as the source directory.

...Fine, we can work around that again.

C++ code:
for (auto& entry: fs::recursive_directory_iterator(source)) {
    auto relative_dest = entry
        .path()
        .lexically_relative(source)
        .lexically_normal();
    auto absolute_dest = destination / relative_dest;
    fs::copy(entry.path(), absolute_dest, ec);
    if (ec) {
        throw std::runtime_error(std::string("Error copying ")
        + source.native() + " to "
        + destination.native() + ": "
        + ec.message());
    }
}
Why make such a simple function so complicated?

(and no, I can't use std::filesystem from c++17, since it's been an uphill struggle making sure that I can count on c++11 being present on all the machines I want to run this on)

lol they overloaded the / operator for joining paths?

brap
Aug 23, 2004

Grimey Drawer

CRIP EATIN BREAD posted:

i looked at the build process and i see that there's something called rimraf and it's a javascript port of rm -rf...........

:thunk:

there's nothing particularly wrong with what the package does.

seems like in many languages the programmatic equivalent of `rm -rf` is missing from the standard file I/O module and you wind up having to implement it yourself.

brap
Aug 23, 2004

Grimey Drawer
js "builds" are generally mush and probably 2/3 of the js in the average webpack bundle never gets executed at runtime ever.

you can make it a bit better by using rollup, but again, it's still going to be mush.

brap
Aug 23, 2004

Grimey Drawer
if the date format you're using in json can't be found on this page then welp

brap
Aug 23, 2004

Grimey Drawer
microsoft needs to do a hostile takeover of newtonsoft.json, fix the bullshit and release it as System.Json in netstandard2.1 or whatever the gently caress so that library authors never have to (??) deal with a dependency conflict related to it ever, ever, ever again

java has a similar problem where the popular json library (jackson) ships mutually incompatible breaking changes in minor releases and every library takes a dependency on it so inevitably as a consumer you have to do trial and error to pin the jackson version to something mutually compatible yourself in your project.

brap
Aug 23, 2004

Grimey Drawer
javascript haters like to say that js doesn't even have a standard library, and inevitably the first example they think of for something they want in a standard library is JSON parsing, something which has a very simple and good implementation built-in in javascript, but everyone uses a third party library for in .net and java

brap
Aug 23, 2004

Grimey Drawer

jit bull transpile posted:

Man never read gray forums. was catching up on the coding horror coc thread and it's just idiots whining about codes of conduct like not yelling racial slurs on a mailing list killed their mom

it's very eye roll inducing to hear from people about how codes of conduct are bad when they have no experience moderating a high-traffic open source project.

brap
Aug 23, 2004

Grimey Drawer
re: coc it’s pretty much about not needing to wring your hands about whether to ban/suspend someone and just say “yep they violated a rule, bye bitch”

can’t say it’s less volume of garbage but it’s important to have some kind of process for when people in the community do unacceptable things

brap
Aug 23, 2004

Grimey Drawer
an object containing a property with an undefined value is fine, you just filter it out. if you round trip it and try to access that property you get undefined. great success.

but there's nothing round-trippable you can do to convert [undefined] to json. it's too bad that it doesn't just throw but nothing on the web adopts that kind of approach.

the real fuckup is having js code outside of a serializer that treats null differently from undefined.

brap
Aug 23, 2004

Grimey Drawer
pretty much any line of business app in c# or java depends profoundly on reflection to do serialization so at a minimum look forward to twiddling the set of attributes on your model classes. not that this is a bad thing.

brap
Aug 23, 2004

Grimey Drawer
any new programmer would be reasonably scared off of debuggers if they thought they all worked like gdb or lldb on the command line

brap
Aug 23, 2004

Grimey Drawer
Yeah after reading that I’m certain you haven’t been insulting anyone

brap
Aug 23, 2004

Grimey Drawer
her

brap
Aug 23, 2004

Grimey Drawer
instead of this java 9 modules crap they could have introduced an internal visibility modifier 15 years ago and accomplished the same thing.

modules makes no attempt to solve classpath hell, it just seems to exist because people at oracle were mad that people use sun.misc.Unsafe. as it is it’s basically useless

brap
Aug 23, 2004

Grimey Drawer

Doom Mathematic posted:

Hold up. Java can't do this?

as far as I know there’s no great way to do this. especially if the conflicting transitive dependencies are in public api of your direct dependencies. you just have to pick how you want to lose.

brap
Aug 23, 2004

Grimey Drawer
i cant fathom what use case would be solved by static pages where using a static site generator is harder than setting up a SPA

brap
Aug 23, 2004

Grimey Drawer

ThePeavstenator posted:

*through sobs* Please...you can't just call anything you want a monad

*points at docker* "monad"

brap
Aug 23, 2004

Grimey Drawer
honestly I don’t find “there’s a single huge file” that compelling of a horror. complicated things are complicated and files aren’t always the necessary unit of code organization. learn to navigate a source file and you can get by.

the engineering effort of determining an appropriate way to split things and actually doing it while lots of people on a team might be working with that file in different release trains is not necessarily that much bang for buck.

brap
Aug 23, 2004

Grimey Drawer
it is just that an offshore dev team should siphon as much money as possible for as little work as possible.

brap
Aug 23, 2004

Grimey Drawer

redleader posted:

ts/flow have things like union types (which are not a thing in real langs like java) ... i'm just a simple idiot

brap
Aug 23, 2004

Grimey Drawer
i would like to see a strike against companies who make their employees agree to binding arbitration.

brap
Aug 23, 2004

Grimey Drawer

gonadic io posted:

if you fix this, remember to scrub history too.

if you don't, namaste

this is only possible in closed source projects using centralized versioning isn't it?

and yes the answer for passwords that have leaked to somewhere they don't belong is always to change them.

brap
Aug 23, 2004

Grimey Drawer
typescript tools javascript as much as javascript itself can be tooled.

who here can describe the differences between the various options for '--module' or hell '--esModuleInterop' and what pitfalls they present with interop between projects that use different settings for it

brap
Aug 23, 2004

Grimey Drawer
that node-ecstatic guy hosed up. the only reason to remove a published package from the registry is if it contains bona-fide malware. you deprecate instead. npm even added a whole "audit" system for dealing with these situations.

course, the whole problem with node is that people will take a dependency on something as soon as glance at it regardless of whether it's some guy's library or there's some org behind it that actually dedicates resources to its maintenance.

brap
Aug 23, 2004

Grimey Drawer
tbh what bugs me about sql is that i have never seen it be well-tooled. microsoft SSMS can give some column completion lists and stuff but if your query is hosed up quite often the editor will just say "there's a problem around $some_token". it feels like all the engineering effort goes into making the queries run fast and new ways to shart and index your database and whatnot, but not into developer productivity.

perhaps some vendor out there has done it and I just don't know.

brap
Aug 23, 2004

Grimey Drawer

gonadic io posted:

Locale sensitive string comparison is like crypto, or datetimes. Just refuse to touch the implementation code 100% of the time and leave it to weird genius loners. You will never ever get it right.

you know the people who implement/maintain this stuff are still people

Adbot
ADBOT LOVES YOU

brap
Aug 23, 2004

Grimey Drawer
you're maybe not being 100% serious in the funy computer forum but i dont agree with the perception that you can only work on X computer thing if you're a Genius

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply