|
A few months ago a new consultant attempted to deploy a change she had made to a component to our dev environment.
She did that successfully.
However, all other components were deleted in the process.
Took about an hour of running various Jenkins jobs to get it back again.
Some men are born mediocre, some men achieve mediocrity, and some men have mediocrity thrust upon them.
|
|
|
|
|
Wow
That's either some impressive incompetency or your release pipelines are very weird
I once pushed a chance to production, at the request of a client.
I simply pushed the deploy button of that project's release pipeline (because all my changes worked locally and on test and on acceptance).
Turned out that the version that was currently on production wasn't a version that was in source control, some manual steps had to be done.
I did not have the privileges to enter the production server at all, let alone do those manual steps.
The version I released fixed my issue, but broke another part of the application completely, because some unfinished changes were sitting on the master branch since long before I got there.
To make things worse, this component had two release pipelines and I used the wrong one.
Even though they used VSTS, the version I had just overwritten was gone, so I couldn't put it back either.
This was at 07:00, the person who could fix this came in at 07:30 and it all had to be back up before opening time at 08:00.
Needless to say, no one was amused, and the release pipelines were from then on off limits for contractors.
Kind of defeats the whole purpose of having CI/CD in the first place
|
|
|
|
|
Sander Rossel wrote: That's either some impressive incompetency or your release pipelines are very weird
She'd found a long dormant (about 4 years) script and used that. Not really her fault, it certainly shouldn't have been sitting around where someone could run it, but I still don't understand how she managed to find it and think it would do what she wanted.
First time she deployed something to QA she managed to kill that environment with a bug, everything unresponsive about 10 minutes after she deployed.
I never did let her get near production.
Some men are born mediocre, some men achieve mediocrity, and some men have mediocrity thrust upon them.
|
|
|
|
|
That somehow reminded me of Deedee in Dexter's Lab[^].
Spoiler: The button almost always destroyed one thing or another
|
|
|
|
|
I have two different parsers in my project that work using different algorithms (each with advantages and disadvantages) but they share a common grammar format.
The trouble is, with one of them I cannot honor all the features in the grammar, but with the other one I can. Hence, not quite a "common" grammar format.
Now here's the thing:
I can either:
a) move all of the tree shaping features off the pull reader and onto the parse tree (much less efficient but would support all types of parsers)
b) keep the feature in the pull reader that supports it and to hell with the inconsistency with the grammar.
I keep wanting to avoid option B because it's ugly, but I don't like option A either because it's less efficient and doesn't support the feature at the reader level.
What should I do?
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Go down the pub, have a good couple of stiff drinks, and wait for inspiration. Or arrest, kebab, hangover - whichever comes first.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Rule one: don't do anything until your really truly absolutely sure.
Leave well enough alone.
And go down to the pub.
|
|
|
|
|
if it was well enough I would leave it alone.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
How many people have died so far?
|
|
|
|
|
does my inner child count?
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
First, make sure it's really dead...
|
|
|
|
|
Do a Captain Kirk.
Adjust the parameters of the test. Redefine the "commonality" of the grammar format so they both work off the same set of grammar rules. Then just allow the one that does more to do more independently.
Tada!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
so basically, option be with extra steps.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Yarp!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
honey the monster, codewitch wrote: What should I do? Do it all in the colour coding:
0. Green is for go/safety, unless your market is Asian, in which case it means a boy.
1. Red is for danger and "HOT! Don't Touch!", unless your market is Asian, in which case it means "Let's PARTAY!"
In a nutshell:
Horses : Courses
Never mind what you think/prefer/want; What do your users need?
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Either option fulfills the functional requirements. It's just *how*
I think I'm going to go with option A.
It's easier for me to implement, and more importantly it's easier for the users to use -sort of, there's a very minor wrinkle (small learning curve) but it replaces some worse wrinkles.
Also, there are certain tree shaping features i'd like to add that are only possible by doing tree shaping on the parse tree rather than the reader.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
You got me at:honey the monster, codewitch wrote: it's easier for the users to use
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
option C would be easier too, (both readers support tree shaping) but apparently I'm not smart enough to make that happen.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Lift and separate it is then.
|
|
|
|
|
*sigh* i think so.
It's not the refactoring that bothers me. It's the capability downgrade on the LL(1) parser.
Oh well.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
I don't think I've ever coded anything as complicated as you appear to be doing - what is the end goal ( think before answering ) ?
"We can't stop here - this is bat country" - Hunter S Thompson - RIP
|
|
|
|
|
Profit.
|
|
|
|
|
I don't think so with this guy
"We can't stop here - this is bat country" - Hunter S Thompson - RIP
|
|
|
|
|
I'm creating a parser generator system. The reason it needs to shape trees is for the same reason ANTLR does - because raw parse trees universally suck and are bloated.
Most of the tree shaping involves getting rid of or collapsing sections of the tree.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
|
|
|
|
|
Design some new fancy icons to go with the new Windows, Office and Visual Studio Code icons!
You shouldn't even be thinking about this stuff until you've got some nice icons
Or you could somehow abstract the two away behind an interface, if that's possible, keep both, and inject either A or B according to your needs.
Yes? No?
|
|
|
|