|
JavaScript is fine.
|
![]() |
|
![]()
|
# ¿ Mar 21, 2023 00:39 |
|
A good programmer is a child who is learning to make silly games and having a blast.
|
![]() |
|
MALE SHOEGAZE posted:also you’re not ignorant it’s yospos slang It is? I thought it was like a mildly well-known industry term. That's how I use it at work anyway.
|
![]() |
|
ThePeavstenator posted:Every single one of our automated UI tests are now failing because they can't create test accounts and users. Turns out the tests are somehow coupled to the implementation details of our Users API and broke when a change was made to it Sounds to me like the tests are working correctly? You almost shipped a breaking API change, well caught.
|
![]() |
|
Is there seriously not an automated tool which can fix PEP8 warnings?
|
![]() |
|
gonadic io posted:i hope my "like a distributed database but worse in every way and also you have no control over it by design" comments sunk in, we'll see! James Mickens did a good little talk about blockchain recently, it's quite funny but I found it to also be legit informative about what blockchains do and why it's not really very useful for them to do that. https://www.youtube.com/watch?v=15RTC22Z2xI
|
![]() |
|
Schadenboner posted:How can I get myself to a place where any of what you guys are talking about makes any sense? Honestly, (1) program in more different languages, (2) compare and contrast the differences in how programming works in those languages and then (3) look up the proper technical terms for those differences.
|
![]() |
|
I'm more interested in how this person was allowed to work for two or three straight weeks in a row, by himself, with nothing to show for it. Every morning, "Nope, still haven't done any work"?
|
![]() |
|
ulmont posted:ls [-AabCcdFfghikLlmnopqRrstux1] [-timeout seconds] [-X attr] [pathname...] It's the most remarkable word I've ever seen!
|
![]() |
|
jit bull transpile posted:time is probably the most difficult thing there is to represent computationally ...Says the person with a human name. I mean, I assume.
|
![]() |
|
jit bull transpile posted:names are easy: "do not, in any circumstance, attempt to normalize, tokenize, sort, or otherwise manipulate names" What about people with multiple different names?
|
![]() |
|
It's not about free choice, it's about sharing/understanding their users' pain points.
|
![]() |
|
Finster Dexter posted:Let's pour one out for webdev of old... here's to you, cgi-bin They call it "AWS Lambda" now.
|
![]() |
|
You're in luck! Parsing C++ source code is famously straightforward.
|
![]() |
|
cinci zoo sniper posted:heh "The Aristocrats!"
|
![]() |
|
H2Eau posted:how the gently caress did they manage that Probably counting npm install as part of the "compilation"?
|
![]() |
|
Jabor posted:30 seconds is too long imo, our incremental builds take about that long and it's long enough to break your flow. A webpack-dev-server-based incremental build will give you that. You hit save and the page immediately refreshes with the changes. I agree that 30 seconds is far too long to maintain workflow. When folks were throwing around figures of fifteen minutes I assumed we were talking about full-scale CI builds or something.
|
![]() |
|
NihilCredo posted:case 2 means being able to say 'hey, we have objective evidence that the problem isn't on our side and it wasn't a case of miscommunication, it's *your* software that is not respecting the specs' which saves a crazy amount of time and therefore money The problem is that just because a problem is objectively caused by someone else, doesn't mean that you're not the one who has to "fix" it.
|
![]() |
|
Perl probably just has an implementation of some other programming language which has an implementation of protobufs.
|
![]() |
|
karms posted:a pull request of mine got denied because it wasnt necessary. it was to change all misspelled bandwith methods to bandwidth Wait until you start finding variables named bandwidth in the same scope, doing subtly different things.
|
![]() |
|
Yes, JSON.stringify(null) is indeed the JSON string "null", and JSON.parse("null") is indeed the value null. I'd be more worried that, for example, JSON.stringify(undefined) is undefined, which is not a string, and JSON.stringify([undefined]) is "[null]"??
|
![]() |
|
Main Paineframe posted:just learned about functional css/atomic css The best CSS-related idea I've ever heard is BEM, whose core concept is "avoid, at all costs, the cascade".
|
![]() |
|
Finster Dexter posted:Honestly, this probably accounts for a lot of its popularity. It boggles my mind how people continue to underestimate the critical importance of documentation, examples and good error messages. Especially for early adoption.
|
![]() |
|
Ciaphas posted:i'll goog around of course, but while i'm at it, would anyone like to explain "microservices" to someone who's effective been out of the loop for ten years? I believe canonical source on that whole thing is Martin Fowler.
|
![]() |
|
uncurable mlady posted:I thought react had a state container like redux now? As I understand it, React essentially is a state container of this kind. A React component has a state property which is only ever modified using discrete setState calls. This strikes me as very similar to the way Redux is intended to work, clearly separating state (which you're not supposed to modify directly) from actions which cause modifications that state. They're very similar beasts, which is why I've found it a little frustrating to get them to cooperate with one another. It could be you're talking about something else though.
|
![]() |
|
DONT THREAD ON ME posted:Yeah my impression of modules based on reading hype online was that they'd allow you to make dependencies private, so that two different modules can require two different versions of the same dependency without a conflict (which is one of the biggest problems I've had dealing with java). Hold up. Java can't do this?
|
![]() |
|
DELETE CASCADE posted:inheritance is not the problem, implied subtyping due to inheritance is the problem OK, perhaps I'm a fool, but this a safe space so would you mind explaining the distinction between inheritance and subtyping? I thought they were the same thing.
|
![]() |
|
Just comment out the code a second time.code:
|
![]() |
|
ratbert90 posted:I made a bit less than $350,000 Ah, the coveted six and a half figgies?
|
![]() |
|
Sapozhnik posted:I extensively document a piece of code one week before it gets deleted. Every time. Hmm. That's a net gain. Maybe you should document more code.
|
![]() |
|
Set up a pre-commit hook which automatically formats everybody's code consistently and have done with it?
|
![]() |
|
NihilCredo posted:Can you expand? I've never done more than dabbling with JVM langs. Are you supposed to write manual serialization / deserialization functions as a matter of best practice? There are also vulnerabilities associated with this kind of thing, I think, because the Java serialization format tells the deserializer what class it represents an instance of, rather than you, the programmer, specifying this. So the deserializer just runs away and constructs an instance of whatever class it was told to construct. That can be any constructor of any class your JVM has available. That constructor can have any conceivable side-effect.
|
![]() |
|
Feisty-Cadaver posted:the built in serialization is also being straight up removed in a future jdk iirc Good to know!
|
![]() |
|
Thirding or fourthing completely not caring about individual git commits, squashing them all together in the eventual pull request, but paying real attention to the title and wording of the PR.
|
![]() |
|
Gazpacho posted:Holy cow I sure do like programming with strings. Whose dumb idea was it to invent other types? This is called "stringly typed" programming.
|
![]() |
|
Soricidus posted:ctps: Dijkstracula posted:who says inheritance is a bad idea One time we were writing Python to interact with a HTTP API which, contrary to the spec, treated HTTP request header names case-sensitively. Something like, "USER_KEY: blah" would work, but "user_key: blah" would not. Unfortunately, Python's HTTP library helpfully flattens the case of headers before sending, so we would do something like set_header("USER_KEY", "blah") and it would get sent as "user_key: blah", so it was essentially impossible to get the API to work from Python. (Or to get the fools in charge of the API to fix it.) In the end what we ended up doing was subclassing Python's string class and overriding the .lowercase() method so it didn't do anything, it just returned the unmodified string. set_header(CustomStringClass("USER_KEY"), "blah") worked.
|
![]() |
|
I agree with your implicit point that's always wise to assume good faith. People do the best work they can and are often dealing with other requirements which you can't see. But, no, they were just hopelessly bad at their jobs and I don't think they could have fixed their own code if they tried. Another part of this same API had an issue where every now and then requests would stop returning content. Still 200 OK and the right XML wrapper, just the requested resource which was supposed to be inside that XML was missing. After we brought this up with them, they told us that, yes, this starts happening from time to time, and if it happens, we should contact them so they can restart the server.
|
![]() |
|
Sapozhnik posted:Angular 1, 2, or 4? Angular 1 is a real piece of work. It boggles my mind that anybody voluntarily used it, or achieved anything with it, prior to the 1.5 release. After that it was possible to retain a bit of sanity by exclusively using components and one-way bindings but it still has a hopelessly overengineered architecture and the absolute worst documentation. Every page in the AngularJS docs makes perfect sense if and only if you already understand everything about AngularJS. Every example is so convoluted that it's impossible to grasp what they're actually trying to demonstrate. To this day I have still not been able to find the page in the docs where they explain the full list of possible binding sigils and what they all do. And I love how the module system is perfectly designed to flummox any bundling system more complicated than "manually concatenate all the source files in the right order". E: Angular 2+ might be great, I don't know, we've moved to React. Doom Mathematic fucked around with this message at 19:59 on Apr 3, 2019 |
![]() |
|
I have not yet come to a solid conclusion about whether Redux is a good or bad thing overall. I think I haven't used it properly yet. It's good because it means in theory nearly all the state for your entire application can be kept in a single data structure operated on by a strictly defined collection of possible actions. This is amazingly easy to unit test. Meanwhile, because they have no internal state, your components become incredibly simple (in a lot of cases, functional) which likewise is insanely easy to test. This feels like an improvement over the state of the application being distributed across every component instance in the application, and it means that if a thing happening in one component needs to affect something in another component, it's very easy to make that happen. It's bad because the connector component which links the React component to Redux is relatively complex and annoying to test. The song-and-dance around defining all of your actions up front and then carefully instantiating and dispatching them feels very boilerplatey and, as mentioned, increases the codebase size. It also makes it harder to produce a reusable component which can be consumed by third parties - do they have to rig up an identical state object in order to use it? Or do they have to reproduce the whole interface between the component and the state store themselves? There might be workarounds for these. There might be other bad things I haven't run into yet or which I'm forgetting.
|
![]() |
|
![]()
|
# ¿ Mar 21, 2023 00:39 |
|
NihilCredo posted:there are only two kinds of languages: the ones people complain about, the ones nobody uses, and sql ![]() E: it is a ternary logic joke Doom Mathematic fucked around with this message at 15:21 on Aug 18, 2019 |
![]() |