QA opened a ticket for translation to French. Says the phrase doesn't look right. The guy who wrote the string is on the call and said French is his native language and it's correct... QA still kept the ticket open and reached out to business for clarification lol
+2
admanbunionize your workplaceSeattle, WARegistered Userregular
QA opened a ticket for translation to French. Says the phrase doesn't look right. The guy who wrote the string is on the call and said French is his native language and it's correct... QA still kept the ticket open and reached out to business for clarification lol
Stubbornness is one of the top three required qualities of QA and as much as it frustrates me I respect its importance.
QA opened a ticket for translation to French. Says the phrase doesn't look right. The guy who wrote the string is on the call and said French is his native language and it's correct... QA still kept the ticket open and reached out to business for clarification lol
I mean, it could be one of those situations where its correct french, but the wording is incorrect for the business application/intent. I know we've had issues with that when doing HMIs for filter presses and trying to do Spanish translations ourselves. We sometimes get pushback asking to change the verbiage as while it's a correct translation, it's not what they want it to say.
I hit the same sort of thing a while ago where we weren't adding enough context to the strings that got sent off for translation; in particular, "grade" which was being used for "grade 1" / "grade 8", ie how far you are through school, but the word that came back in one of the languages was the one for "grade A"/"grade F", ie how well you did on an exam.
Then there was a particularly weird case where we had "handbells" as a musical instrument, meaning this sort of thing:
but in German they'd translated it into something that means this:
which we only spotted because when I was looking at the translations that had come back, the word in German just didn't quite feel right somehow, so I googled for it and worked out what was going on.
Yeah it was something like "Item (s)" in English being something like "article (s) de détail (s)". Where it was putting the optional plural on two of the words. I didn't screencap the actual words used though, sorry.
Junior: Hey, do you have a minute? I'm on this method, and there's no references, and I can't figure out how its invoked.
Me: Take a seat, youngin, and allow me to explain the power and the terror of reflection
Oh, I thought he'd be talking about FizzBuzz Enterprise Edition.
I hit the same sort of thing a while ago where we weren't adding enough context to the strings that got sent off for translation; in particular, "grade" which was being used for "grade 1" / "grade 8", ie how far you are through school, but the word that came back in one of the languages was the one for "grade A"/"grade F", ie how well you did on an exam.
Then there was a particularly weird case where we had "handbells" as a musical instrument, meaning this sort of thing:
but in German they'd translated it into something that means this:
which we only spotted because when I was looking at the translations that had come back, the word in German just didn't quite feel right somehow, so I googled for it and worked out what was going on.
Yeah, having multilingual employees is really important to ensure things aren't just translated, but localized. A good example is Spanish or Portugese, as there's meaningful differences between south/central american spanish and european spanish. If you use the wrong one, people will immediately start scratching their heads or get annoyed at the "wrong spanish" being delivered.
The really painful part was right-to-left languages -- I could do very basic sanity testing for most left-to-right languages to at least make sure that things fit in the space available, and people's names show up properly, even if it might sound strange to native speakers. But when it's arabic or hebrew I really had no idea what to look for, or which bits wind up going LtoR in the middle of otherwise RtoL text, or if we needed to flip dialogs entirely, etc.
0
admanbunionize your workplaceSeattle, WARegistered Userregular
There’s a reason Rami Ismail built a website to note people’s failures at Arabic.
GnomeTankWhat the what?Portland, OregonRegistered Userregular
We don't manage them anymore. I'm a huge proponent of self documenting code and this extends to OpenAPI. We use a framework called TSOA for TypeScript, but there are many others for other environments. The end result is that our entire OpenAPI spec is defined in the code itself and extracted from that when we need it. It's always up to date, and keeping it up to date is imperative to the code working. It also puts it front and center during code review.
We don't manage them anymore. I'm a huge proponent of self documenting code and this extends to OpenAPI. We use a framework called TSOA for TypeScript, but there are many others for other environments. The end result is that our entire OpenAPI spec is defined in the code itself and extracted from that when we need it. It's always up to date, and keeping it up to date is imperative to the code working. It also puts it front and center during code review.
That's not for design purposes. That's just about where you store the spec.
@electricitylikesme nothing really comes to mind special, though. What are you trying to actually address?
We don't manage them anymore. I'm a huge proponent of self documenting code and this extends to OpenAPI. We use a framework called TSOA for TypeScript, but there are many others for other environments. The end result is that our entire OpenAPI spec is defined in the code itself and extracted from that when we need it. It's always up to date, and keeping it up to date is imperative to the code working. It also puts it front and center during code review.
Yeah, we do that routine too. Some of it needed extra structs (our API is in Go) just to describe query parameters that aren't actually used anywhere in the code, but it's a pretty solid way to have the documentation adjacent to the code.
0
gavindelThe reason all your softwareis brokenRegistered Userregular
"Do you have doc?"
"Of course! Here's our swagger!"
*twenty pages of GetContract, GetContractFromId, GetContractWithId, GetContractWithoutId, PatchContract, PatchContractButFailsOnUpsert...*
gavindelThe reason all your softwareis brokenRegistered Userregular
There's no easy out on making your API and product legible. Design docs get lost; self-documenting code gets stale; APIs get overgrown. Write a bunch of fantastic doc? Great, its been 2 years, do it again. Write even more? Great, you have too much, nobody can find what they need in the forest.
"here's the swagger", to me, reads about as well as "Here's the link to our repo". I asked how to work with their service and they handed me a shovel.
#1 tip. Never trust other devs, including past self.
It is a rite of passage to look at code, exclaim "what motherducking goose wrote this", run git blame, and learn that said goose is you.
And that's why I comment everything. Self-documenting my ass, nobody's going to be able to look at this in six months and figure out that "no no it's like this because product wants..."
Document nothing, if someone wants to know how something works, that's what God invented reflection for.
Are you saying I can squish product and design into... Well I guess it'd be a USBC port. This can be done, nobody will be mad at me, and it provides a useful service?
Could be worse, there's been a complaint about version mismatches in our JS code dependencies that I haven't had the bandwidth to deal with for months, since it would probably involve having to wait for patches in like a half dozen different packages, many of which haven't had any movement in months, and some of which I'm not sure we're even still using since our react developer left.
0
admanbunionize your workplaceSeattle, WARegistered Userregular
The very first time I tried to develop something in Python I quit in frustration because their error messages were useless (I was also using an editor not suited to syntax-by-indentation).
It’s astonishing to me that 20 years later this is still a significant issue for the language.
They're finally improving the error message in python, in 3.10 and 3.11.
Doing crazy things like highlighting which symbol was None instead of just giving you a line number.
life's a game that you're bound to lose / like using a hammer to pound in screws
fuck up once and you break your thumb / if you're happy at all then you're god damn dumb
that's right we're on a fucked up cruise / God is dead but at least we have booze
bad things happen, no one knows why / the sun burns out and everyone dies
+1
KakodaimonosCode fondlerHelping the 1% get richerRegistered Userregular
my annual "maybe i shouldn't be basing my operations on apple hardware" moment has arrived finally for 2022
all enterprise applications that use 3rd party frameworks crash on startup on iOS 16
there are multiple threads on the developer forums with hundreds of watches, multiple radars file with no responses, and the problem was discovered in early beta
luckily 99% of my company isn't upgraded, and there *is* a stupid workaround.... but yikes. yikes, apple!
Oh we talking about Python's useless error messages? Just today I spent a stupid amount of time troubleshooting a script that seemingly broke at random where the issue ended up being a missing closing parens. Interpreter would just happily shit out Incorrect Syntax errors pointing to lines that were very clearly correct syntactically..
If I have anything akin to a "superpower" then it is definitely pattern recognition in text. Just had yet another case where someone showed some code and 0.73 seconds later my brain laser-focused on the typo that was the entire bug.
Too bad it doesn't work on missing a trailing comma.
I used to do SAP ABAP programming and 95% of the error messages you'd get thrown out of it were both 1. useless and 2. in angry sounding german. If you ever want useless error messages try one that was useless to begin with; in german and then ran through an auto translate to english 10 years ago when auto translate was rubbish even compared to what it is now. Good times. sigh.
taliosfalcon on
0
gavindelThe reason all your softwareis brokenRegistered Userregular
It's been slim picking for JS jobs lately. So I'm looking into taking some tests for certs and stuff. I tried taking the LinkedIn "badges" tests the other days just for shits and giggles, and they're much harder than I expected! This is probably good since I guess it increases their value but it makes me more nervous about dropping money on a certification only to fail the dang thing.
"Simple, real stupidity beats artificial intelligence every time." -Mustrum Ridcully in Terry Pratchett's Hogfather p. 142 (HarperPrism 1996)
Posts
Stubbornness is one of the top three required qualities of QA and as much as it frustrates me I respect its importance.
I mean, it could be one of those situations where its correct french, but the wording is incorrect for the business application/intent. I know we've had issues with that when doing HMIs for filter presses and trying to do Spanish translations ourselves. We sometimes get pushback asking to change the verbiage as while it's a correct translation, it's not what they want it to say.
Then there was a particularly weird case where we had "handbells" as a musical instrument, meaning this sort of thing:
but in German they'd translated it into something that means this:
which we only spotted because when I was looking at the translations that had come back, the word in German just didn't quite feel right somehow, so I googled for it and worked out what was going on.
Oh, I thought he'd be talking about FizzBuzz Enterprise Edition.
Yeah, having multilingual employees is really important to ensure things aren't just translated, but localized. A good example is Spanish or Portugese, as there's meaningful differences between south/central american spanish and european spanish. If you use the wrong one, people will immediately start scratching their heads or get annoyed at the "wrong spanish" being delivered.
That's not for design purposes. That's just about where you store the spec.
@electricitylikesme nothing really comes to mind special, though. What are you trying to actually address?
Yeah, we do that routine too. Some of it needed extra structs (our API is in Go) just to describe query parameters that aren't actually used anywhere in the code, but it's a pretty solid way to have the documentation adjacent to the code.
"Of course! Here's our swagger!"
*twenty pages of GetContract, GetContractFromId, GetContractWithId, GetContractWithoutId, PatchContract, PatchContractButFailsOnUpsert...*
Not sure missing docs are the problem with this API…
"here's the swagger", to me, reads about as well as "Here's the link to our repo". I asked how to work with their service and they handed me a shovel.
Someone missed the "micro" part of "microservices"...
It is a rite of passage to look at code, exclaim "what motherducking goose wrote this", run git blame, and learn that said goose is you.
And that's why I comment everything. Self-documenting my ass, nobody's going to be able to look at this in six months and figure out that "no no it's like this because product wants..."
Are you saying I can squish product and design into... Well I guess it'd be a USBC port. This can be done, nobody will be mad at me, and it provides a useful service?
This changes so many things.
It’s astonishing to me that 20 years later this is still a significant issue for the language.
Doing crazy things like highlighting which symbol was None instead of just giving you a line number.
fuck up once and you break your thumb / if you're happy at all then you're god damn dumb
that's right we're on a fucked up cruise / God is dead but at least we have booze
bad things happen, no one knows why / the sun burns out and everyone dies
all enterprise applications that use 3rd party frameworks crash on startup on iOS 16
there are multiple threads on the developer forums with hundreds of watches, multiple radars file with no responses, and the problem was discovered in early beta
luckily 99% of my company isn't upgraded, and there *is* a stupid workaround.... but yikes. yikes, apple!
im about ready to install the android dev tools
we also talk about other random shit and clown upon each other
Too bad it doesn't work on missing a trailing comma.
Just thought you folks should know.
Huh, I just called out that JIRA number in our project this week.
Update us again if you get 80087355
It's been slim picking for JS jobs lately. So I'm looking into taking some tests for certs and stuff. I tried taking the LinkedIn "badges" tests the other days just for shits and giggles, and they're much harder than I expected! This is probably good since I guess it increases their value but it makes me more nervous about dropping money on a certification only to fail the dang thing.