|
lol, spent 3 hours in our dumbest and most simple API that literally just does CRUD operations trying to figure out why a consumer storing an ISO date string "2018-07-23T16:20:00Z" was getting back "7/23/2018 4:20:00 PM". The API isn't supposed to parse the string at all and the only transformation any data undergoes involves mapping the API data model to a DB data model before storing it in Cosmos DB. Weirdly, the string was actually correctly stored as an ISO string in Cosmos DB as well. Turns out that Newtonsoft.Json, dependency of several Microsoft packages, including the Cosmos DB one has a really cool feature: It parses ISO date strings from JSON as DateTimes by default even though JSON has no concept of a Date type.
|
# ¿ Jul 24, 2018 01:38 |
|
|
# ¿ Jan 15, 2025 16:24 |
|
best part of that 2 y/o (and still recently active) github issue:thomaslevesque posted:@JamesNK could you explain the reasons behind this design? It seems pretty strange to me that a string value should arbitrarily be interpreted as a date just because it looks like a date... JamesNK posted:Because JSON doesn't have a date format.
|
# ¿ Jul 24, 2018 01:42 |
|
jit bull transpile posted:I have an actual product idea but it would be subscription based and I'd want to HQ in Milwaukee instead of the stupid sf bay so it's doomed from the start probably. if you did this I'd legit be interested depending on the idea and/or timing
|
# ¿ Jul 25, 2018 00:57 |
|
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
|
# ¿ Jul 31, 2018 19:57 |
|
Doom Mathematic posted:Sounds to me like the tests are working correctly? You almost shipped a breaking API change, well caught. The UI hits an orchestration/gateway layer, so the tests shouldn't have needed to be updated when changes underneath that layer were made. Also when I say "coupled to implementation details" I'm saying I was treated to discovering that the tests literally insert records into the user DB and fire the same events as the Users API.
|
# ¿ Jul 31, 2018 20:10 |
|
The good news is that I'm not the person that has to fix this.
|
# ¿ Jul 31, 2018 20:38 |
|
CPColin posted:I recently discovered the joy of injecting mock services into other services for the purposes of testing. I was all groaning about setting up a user just right so the call to PermissionService.hasBoner() would return true when ButtService.getAvailableButtTypes() called it. Then I just mocked PermissionService so hasBoner() would return what I wanted and injected that into ButtService. It was good poo poo. This is why you make an orchestrator layer that you have your controller make one call to. It makes your controllers a lot cleaner and easier to test because you just need to mock one service and make sure the controller returns the right response type. It also makes it easier to test all the stuff injected into your orchestration layer because you're just testing plain old methods now. Our UI tests are a completely separate code repo that are basically supposed to be more robust smoke tests. They use Selenium to actually run a browser and click through the app, which is why it's all the more that the tests were ever coupled to any APIs, especially ones under the gateway layer, and especially especially the database implementation of those APIs. ThePeavstenator fucked around with this message at 05:17 on Aug 1, 2018 |
# ¿ Aug 1, 2018 05:11 |
|
Finster Dexter posted:That has almost nothing to do with why this is horrible. IDK what you're talking about, a good test is one that passes when I run it and makes the code coverage metric go up.
|
# ¿ Aug 1, 2018 16:36 |
|
Hell yes, the ETL contractor that shot down every attempt of mine to teach him git just blew away 2-3 weeks of his own work.
|
# ¿ Sep 4, 2018 17:43 |
|
Finster Dexter posted:Was he using SCM at all? When he started here the first thing he worked on was an older VS solution that we have in a git repo. He then made new projects in this solution for everything he did because he didn't know how to create a new repo for a new solution (we use VSTS so this is easy as hell from Visual Studio even if you don't know git). He'd periodically (like once every week or so ) ask me to help him get his stuff "checked in" and every time I'd have to remind him that committing doesn't also push to remote. I'd also try to use this as an opportunity to teach him stuff about git but once he got his stuff committed, he brushed it off as a thing he'd worry about later. I made a change to the original code that belongs in this repo. He tried to merge my changes locally but instead of committing, or stashing, or branching, he did a reset. Since he has like 10 other unrelated projects in this repo with uncommitted changes, he lost all of it.
|
# ¿ Sep 4, 2018 17:58 |
|
Shaggar posted:git is trash. Yeah this sounds like a problem with git and not that the guy was keeping multiple projects in one repo and almost never committing.
|
# ¿ Sep 4, 2018 18:10 |
|
Shaggar posted:gits branching model is using the interns computer to store the backups The problem you're describing with git is "the computer doesn't force people at gunpoint to properly push their changes" which isn't a problem that has anything to do with git.
|
# ¿ Sep 4, 2018 18:25 |
|
prisoner of waffles posted:git: ensuring your work is stored somewhere other than your machine takes at least one extra step compared to most old-rear end vcses I had an intern this summer, the contractor's work involves interfacing with the software my team writes, and he reports to a different manager at the same level as mine. I had a person that I was actually being paid to mentor and me offering help was a courtesy in the first place. ThePeavstenator fucked around with this message at 19:00 on Sep 4, 2018 |
# ¿ Sep 4, 2018 18:54 |
|
prisoner of waffles posted:I don't doubt that you have helped others learn stuff and that you offered help to this guy. e: also I get it-- organizationally speaking, this person is Not Your Responsibility and you are a good teammate for looking out for them, period I did this exact thing every time he asked for help.
|
# ¿ Sep 4, 2018 19:08 |
|
Doom Mathematic posted: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"? His job is to move customer data from our old software to the new software. His manager only cares that the customers can get migrated and that the data is in a state they're happy with. The code he lost was for tools he wrote for himself.
|
# ¿ Sep 4, 2018 20:14 |
|
CRIP EATIN BREAD posted:windows is a fine OS if you are chronically poor or incapable of using a computer that's connected to the internet. it works well if you treat it like a video game console, its a toy for novel purposes, and the people who spend the majority of using it are pathetic and useless. there are only good OSs and the OSs that you use
|
# ¿ Sep 26, 2018 05:32 |
|
more like windows cum lol
|
# ¿ Oct 6, 2018 06:16 |
|
Luigi Thirty posted:they tried using all of azure but find->replace on every racial slur would have taken until the heat death of the universe Azure backlog: -Add the ability to use Group By in Cosmos DB queries -Release .NET Framework 4.7.2 to Azure App Services -Remove racial slurs from Minecraft source code
|
# ¿ Oct 8, 2018 03:17 |
|
toiletbrush posted:I don't know if it's still the case, but the commonly suggested JSON library for .NET used to spot 'date like' strings in JSON requests and reformat them into it's own format, even if the field being deserialised is a string, making validation that a date was provided in a certain format a massive pain in the rear end/impossible. The author still insists this is the correct behaviour. Yeah I think I posted about this a while ago. I still pop into that GitHub issue to see it still be updated e: yup lol ThePeavstenator posted:lol, spent 3 hours in our dumbest and most simple API that literally just does CRUD operations trying to figure out why a consumer storing an ISO date string "2018-07-23T16:20:00Z" was getting back "7/23/2018 4:20:00 PM". The API isn't supposed to parse the string at all and the only transformation any data undergoes involves mapping the API data model to a DB data model before storing it in Cosmos DB. Weirdly, the string was actually correctly stored as an ISO string in Cosmos DB as well. ThePeavstenator posted:best part of that 2 y/o (and still recently active) github issue: ThePeavstenator fucked around with this message at 04:23 on Oct 30, 2018 |
# ¿ Oct 30, 2018 04:21 |
|
ratbert90 posted:Heh, so my ex-co-worker was asked to ask me if I would be willing to talk to the CEO for some potential work. Why are you giving these guys a 50% discount on your usual rate????
|
# ¿ Nov 16, 2018 22:09 |
|
floatman posted:Oh yeahhhhh this is why discriminated unions are good
|
# ¿ Nov 28, 2018 02:03 |
|
the discriminated union I'm talking about is between programmers and computers
|
# ¿ Nov 28, 2018 02:04 |
|
toiletbrush posted:He also banned UI chat from demos for the same reason. My boss effectively did this for us almost right away after he started 9 months ago and it owns. Now if we could just get search on the chopping block as well.
|
# ¿ Dec 31, 2018 17:58 |
|
Taking about anything related to sorting, paging, UI appearance, etc of search/query results is a huge waste of time that could have been better spent on important topics, like which of 200 or 404 is the real RESTful response code for a webservice to respond with for a valid, successfully processed request that contains no results for the query parameters supplied.
|
# ¿ Dec 31, 2018 18:16 |
|
One of my coworkers merged a branch of his into master for one of our web services today with about a month's worth of commits. It built but didn't work once deployed. Instead of swapping the slots back or just deploying the previous working build, he tried to undo the merge. He did this by using rebase on his commits instead of revert. He did this multiple times. He did this in master and pushed directly to master. Our git history now looks like a piece of modern art, with things like commits dated 9/17/18, 4 Hours Ago, and 9/18/18 in that order all over the drat place. Oh and the web service is still sitting there deployed in a broken state.
|
# ¿ Jan 5, 2019 00:16 |
|
Oneiros posted:if you are using github or gitlab or some other managed git service i highly recommend using their protected branches features to prevent this sort of thing from happening in the future. We do that, but the team I'm on manages our system and devops infrastructure so he's one of the 3 people other than me with the elevated privileges to do what he did.
|
# ¿ Jan 5, 2019 22:32 |
|
gonadic io posted:it's right though, any enforcing of protected branches immediately causes a dozen issues/emails/whatever to be raised complaining about not being able to push to master to enforce an urgent hotfix right now now now RAPID DEPLOYMENT BABY RIDE OR DIE CI/CD MORE LIKE CAN'T INTERCEPT CRAPPY DEVELOPMENT
|
# ¿ Jan 5, 2019 23:11 |
|
BORN TO DEPLOY REPO IS A gently caress PUSH EM ALL 1989 I AM DEVOPS MAN 410,757,864,530 STALE BRANCHES
|
# ¿ Jan 5, 2019 23:12 |
|
Yes this incident happened to fall on the Friday afternoon of the weekend I'm on call why do you ask?
|
# ¿ Jan 5, 2019 23:13 |
|
To get something deployed to production for us you need to: 1) Merge your branch to master via a Pull Request (master is protected in all repos*) 2) Master branch leads to auto build w/ tests -> auto deploy to Dev 3) Manual deploy to QA runs more tests 4) Deploy to Prod after review and requires approval from my team*, Prod deploys are tested on a separate slot and then swapped in* *unless you're a member of my team, in which case you get special privileges to circumvent all of this We're still hammering out a lot of our infrastructure so we need to be able to just push stuff sometimes but that's with the caveat that everyone knows WTF they're doing and the impact that circumventing this can have.
|
# ¿ Jan 5, 2019 23:33 |
|
I do not give a poo poo about merge conflicts because that's the devs problem. I have a problem when I go in to a repo and see 100 stale branches with names like "feature/[Deleted Jira Issue Number]" or "test/[Tech Time Project that lasted 6 hours]" that are months old
|
# ¿ Jan 5, 2019 23:38 |
|
gonadic io posted:lol branch names that reliably have ticket numbers? must be nice I said "names like" other examples include: long-name-separated-by-hyphens-representing-a-single-commit-branch-that-was-pulled-in-to-master-long-ago-and-this-name-really-should-have-just-been-that-commit-message tempBranch [devname]sBranch bug/bug-fix bug/fix-search-bug (stand-in for things that aren't actually bugs and never made it into the backlog. Just some manager, salesperson, or internal user went over to a dev that has issues saying "no" and convinced them that something they didn't like about how the product works needed to be fixed by them NOW without talking to the product owner or any of the people who actually are supposed to make decisions on what goes in the software)
|
# ¿ Jan 5, 2019 23:48 |
|
DONT THREAD ON ME posted:why do you care? Really it's just the clutter issue vs the amount of effort it takes to delete a branch when you're done or at least remove it from the remote repo. I'm in the Repos/Builds/Releases a lot and I want to keep that poo poo organized.
|
# ¿ Jan 5, 2019 23:59 |
|
Chalks posted:there's a guy on our team who runs a script to list branches each time we do a release and asks anyone who's got a branch wtf is going on with it. the idea is to avoid accidentally missing features that are meant to be in the release but didn't get merged, but it also means we have very few stale branches We're stopping the bleeding right now. The rot is mostly confined to our old services/repos and new repos look nice so people are motivated to keep them clean, so while we have some clean up to do it's not getting worse.
|
# ¿ Jan 6, 2019 00:03 |
|
ratbert90 posted:Versions are: YYYY.MM-Release This all sounds real good. Versions are coming up on my list. We have a microservice architecture but talk internally about versions according to what marketing tags our customer release updates with. We're pretty good about being able to deploy rapidly and other remote teams in our company working on other software products consume our services, so being able to version services either based on API updates or even just builds would be a huge improvement.
|
# ¿ Jan 6, 2019 04:36 |
|
they're called unit tests because you test everything at the same time as one unit
|
# ¿ Jan 11, 2019 02:46 |
|
dont worry guys webasm will save us
|
# ¿ Jan 13, 2019 01:46 |
|
ratbert90 posted:Ex coworker hit me up on hangouts yesterday. The marketing director was put in charge of engineering. more like a month, unless the company is selling something other than the work you and the other engineers were doing how big was this company?
|
# ¿ Jan 13, 2019 02:40 |
|
also after his company folds, contact the CEO with openings you have available
|
# ¿ Jan 13, 2019 02:43 |
|
|
# ¿ Jan 15, 2025 16:24 |
|
terraform is pretty cool but the fact that any custom providers need to be written in Go is a significant black mark on it double that mark for me since I taught myself Go in order to write a custom provider for it
|
# ¿ Jan 14, 2019 00:16 |