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
DigitalRaven
Oct 9, 2012




return0 posted:

Even if you wanted this, why not just push to a git repo on the box, or push to like GitHub and have a cron to pull the production branch? Pushing a bunch of diffs to SCM and having it automatically show up on production is like literally easier and less error prone than scp-ing every changed file manually.

Easier to set up your own remote that auto-pushes to live whenever someone pushes to it. That way changes go live immediately and you only need one pull as part of the build for the production box, so it's more robust when you nuke and rebuild.

Adbot
ADBOT LOVES YOU

return0
Apr 11, 2007

DigitalRaven posted:

Easier to set up your own remote that auto-pushes to live whenever someone pushes to it. That way changes go live immediately and you only need one pull as part of the build for the production box, so it's more robust when you nuke and rebuild.

Well, yes, exactly.

DigitalRaven
Oct 9, 2012




return0 posted:

Well, yes, exactly.

You'd be amazed how many people I've met who act like it's some kind of miracle solution. I should thank them for driving me to drink, it's faster than walking.

Steve French
Sep 8, 2003

DigitalRaven posted:

Easier to set up your own remote that auto-pushes to live whenever someone pushes to it. That way changes go live immediately and you only need one pull as part of the build for the production box, so it's more robust when you nuke and rebuild.

Production box, singular? Sounds like a pet. How does this scale to multiple potentially short lived servers that are autoscaled? Or does production box mean some sort of deployment coordinator?

DigitalRaven
Oct 9, 2012




Steve French posted:

Production box, singular? Sounds like a pet. How does this scale to multiple potentially short lived servers that are autoscaled? Or does production box mean some sort of deployment coordinator?

Since we were talking about a single production box, I don't give a gently caress. When Asymmetrikon has a herd to ride over, a herd solution is appropriate. When they've got a pet — and a thoroughly sick pet at that — I'm going to suggest a way to make that pet less sick.

JawnV6
Jul 4, 2004

So hot ...

return0 posted:

push to like GitHub and have a cron to pull the production branch?
I thought this was the non-horrific thread

MrMoo
Sep 14, 2000

JawnV6 posted:

I thought this was the non-horrific thread

I think Azure only promotes this deployment model for the Web Sites service.

NightGyr
Mar 7, 2005
I � Unicode

Steve French posted:

This is not quite what idempotent means. Idempotent functions can still have side effects, as long as the outcome is the same if called once or many times. "Set global variable foo to x" is idempotent; "add x to global variable foo" is not.

In a reasonably designed code base, the global state will be something like "log this statement" or "write to the database" or "increment a counter" - something more abstract than a raw global and easier to reason about. But it's still important to remember that these constitute global state, even if they're not your classic global variables.

CPColin
Sep 9, 2003

Big ol' smile.
After several hours of meetings, over a couple of weeks, we finally answered the question of, "What's the best way for team A, which has two developers, to support team B? Which team does what? Which team generates the requirements? What happens when changes need to be made?" with the solution, "Team A should loan a developer to team B already Jesus poo poo can we get back to work yet?"

Steve French
Sep 8, 2003

NightGyr posted:

In a reasonably designed code base, the global state will be something like "log this statement" or "write to the database" or "increment a counter" - something more abstract than a raw global and easier to reason about. But it's still important to remember that these constitute global state, even if they're not your classic global variables.

To be honest I am not totally sure why this quoted my post; I wasn't making a comment about global state, really, just clarifying what idempotent means in that context.

sarehu
Apr 20, 2007

(call/cc call/cc)
Edit: Never. Minde.

Pollyanna
Mar 5, 2005

Milk's on them.


JawnV6 posted:

I thought this was the non-horrific thread

That's basically what we do at my current (read: not-quite-let-go-at) job. Is this not the best way to deploy to multiple servers? What's the most accepted way of doing so these days?

12 rats tied together
Sep 7, 2006

There are tons of ways but doing it via cron seems pretty silly? You should definitely have an automated way to deploy to servers but it should be something that happens by a person pushing a button or by some sort of trigger or event that isn't "every x time".

JawnV6
Jul 4, 2004

So hot ...
I have less of a problem with cron than adding a hard dependency on a third party web service who hasn't committed to production-level availability.

"Why can't we fix $critical_bug when we have code that's formally-proved, reviewed by the senior staff, and ready to go?"
"lol github's down, our servers are literally not under our control"

NightGyr
Mar 7, 2005
I � Unicode

Steve French posted:

To be honest I am not totally sure why this quoted my post; I wasn't making a comment about global state, really, just clarifying what idempotent means in that context.

Continuing the general line of discussion with vague reference to what went before? I'm used to meandering email threads where someone quotes a random email that happened to be the tail end of the discussion.

12 rats tied together
Sep 7, 2006

I suppose you could hack together a pipeline where github being down means you literally cannot deploy to your servers. You'd have to try really hard, though, and make a lot of really bad decisions. I'd still consider it a net gain because then you could fire whichever idiot came up with it.

ChickenWing
Jul 22, 2010

:v:

gap analysis is pain and suffering

Cancelbot
Nov 22, 2006

Canceling spam since 1928

More of a rant; Sometime in April we moved from "product" alignment to "project" alignment, despite the business being very much oriented around products; Call centre app, fulfilment, delivery management, stock, Front end website etc.

Teams - Before
- Back-end team had self-forming sub-teams depending on incoming requirements; Big delivery manager project V1.0 was built by delivery domain experts who lived in that team.
- Front-end team built the website, integrated with back-end team through services.
- Marketing do CMS things that integrate with website.

Team - Now
- Teams A through F, owned by a director who controls what projects go into the work stream as they call them.
- Any team can gently caress around in back-end/front-end and is encouraged to do so.

"You may encounter some problems transitioning", let's see:
- Teams now collide with each other; recently having 3 teams work in the same areas and severely loving with the release process.
- Each team has to know everything about everything, if not then its a painful learning process to work out the domain before even tackling the problem. Slowing poo poo down.
- Lack of domain specialism has reduced code quality as you won't be developing in that domain next sprint anyway, so nobody cares about long term any more.

Results; Productivity nosedived, lovely code quality, releases breaking everything, resentment between developers who once worked together and around 4 high profile resignations in the past month. But we must soldier on as we're still in the "forming" stage 8 months on and around 4 months behind.

I wouldn't recommend going to project alignment if your organisation has clear cut products.

Cancelbot fucked around with this message at 21:52 on Nov 30, 2015

0zzyRocks
Jul 10, 2001

Lord of the broken bong

Steve French posted:

Production box, singular? Sounds like a pet. How does this scale to multiple potentially short lived servers that are autoscaled? Or does production box mean some sort of deployment coordinator?

Software deployment packages like Capistrano can deploy to multiple servers simultaneously.

Steve French
Sep 8, 2003

0zzyRocks posted:

Software deployment packages like Capistrano can deploy to multiple servers simultaneously.

I am aware of that, but that is not the suggestion that my post was in response to.

12 rats tied together
Sep 7, 2006

I thought capistrano was pretty poo poo to be honest. My current org uses it, for whatever reason the devops team doesn't own the deploy mechanism, and they're pretty much constantly fighting with it. I'm sure there's some functionality there that makes capistrano not "ansible, except lovely" but whatever it is, it's not seeing any use here.

But there are plenty of ways to autoscale "check code out of version control". It's such a solved problem that it's almost not worth discussing without some more context.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Cancelbot posted:

More of a rant; Sometime in April we moved from "product" alignment to "project" alignment, despite the business being very much oriented around products; Call centre app, fulfilment, delivery management, stock, Front end website etc.

Teams - Before
- Back-end team had self-forming sub-teams depending on incoming requirements; Big delivery manager project V1.0 was built by delivery domain experts who lived in that team.
- Front-end team built the website, integrated with back-end team through services.
- Marketing do CMS things that integrate with website.

Team - Now
- Teams A through F, owned by a director who controls what projects go into the work stream as they call them.
- Any team can gently caress around in back-end/front-end and is encouraged to do so.

"You may encounter some problems transitioning", let's see:
- Teams now collide with each other; recently having 3 teams work in the same areas and severely loving with the release process.
- Each team has to know everything about everything, if not then its a painful learning process to work out the domain before even tackling the problem. Slowing poo poo down.
- Lack of domain specialism has reduced code quality as you won't be developing in that domain next sprint anyway, so nobody cares about long term any more.

Results; Productivity nosedived, lovely code quality, releases breaking everything, resentment between developers who once worked together and around 4 high profile resignations in the past month. But we must soldier on as we're still in the "forming" stage 8 months on and around 4 months behind.

I wouldn't recommend going to project alignment if your organisation has clear cut products.

I've heard the same criticism from the people I talk to at my last job. They've organized around Streams as well, except that they did this by taking teams of people and just chopping them up so that each Stream has one or two people, which means that everyone is stepping on everyone else's toes all day, and no one has a clear idea of what's supposed to even be happening.

FlapYoJacks
Feb 12, 2009
The gigantic project I am working on had no automated test API's. I finally said gently caress it and started writing them. :smithicide:

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ratbert90 posted:

The gigantic project I am working on had no automated test API's. I finally said gently caress it and started writing them. :smithicide:

I cannot imagine the level of fuckery involved in writing unit tests for embedded C stuff.

FlapYoJacks
Feb 12, 2009

Volmarias posted:

I cannot imagine the level of fuckery involved in writing unit tests for embedded C stuff.

I'm a embedded Linux engineer; so it's not that hard. :v:

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

ratbert90 posted:

I'm a embedded Linux engineer; so it's not that hard. :v:

I mean more the excitingly unpredictable nature of your compiler, etc

FlapYoJacks
Feb 12, 2009

Volmarias posted:

I mean more the excitingly unpredictable nature of your compiler, etc

Oh! I haven't had too many issues yet with compilers. Every once in a while I will run into union tom-foolary, but that's usually with TI DSP bullshit.

ChickenWing
Jul 22, 2010

:v:

What do you lot do when there's no work? I'm working at a bank now and the project I'm on is in early POC/prototyping stages. Four out of the six people on my team seem to have pretty steady work (not a lot of different tasks, mind you, just work on the same task), whereas I've only been assigned one task that I was able to complete fairly quickly. I've asked for more work, and let everyone know that I've got tons of free time and am available to help with anything, but that hasn't gained much traction. I feel like I'm sorta supposed to be responsible for the one task I have throughout the duration of this project (input validation, the IA is in something of a state of flux). I don't feel comfortable enough to go find other stuff to work on on my own yet as I'm still fairly new to this project, and on the one project I was on previously there was always work that needed to be done or defects that needed to be fixed so it was never a problem to find work when I asked for it.

Do I just work on self-improvement until there's more to do? I'd like to try and take the initiative but I don't want to step on anyone's toes - we're very limited in the scope of what we're allowed to touch.

Space Kablooey
May 6, 2009


I'm having a worryingly lot of free time lately and I'm either on the forums a lot or I'm trying to learn new JS stuff, like React and Redux.

Slash
Apr 7, 2011

ChickenWing posted:

What do you lot do when there's no work? I'm working at a bank now and the project I'm on is in early POC/prototyping stages. Four out of the six people on my team seem to have pretty steady work (not a lot of different tasks, mind you, just work on the same task), whereas I've only been assigned one task that I was able to complete fairly quickly. I've asked for more work, and let everyone know that I've got tons of free time and am available to help with anything, but that hasn't gained much traction. I feel like I'm sorta supposed to be responsible for the one task I have throughout the duration of this project (input validation, the IA is in something of a state of flux). I don't feel comfortable enough to go find other stuff to work on on my own yet as I'm still fairly new to this project, and on the one project I was on previously there was always work that needed to be done or defects that needed to be fixed so it was never a problem to find work when I asked for it.

Do I just work on self-improvement until there's more to do? I'd like to try and take the initiative but I don't want to step on anyone's toes - we're very limited in the scope of what we're allowed to touch.

Find a little side-project to do, maybe a process improvement thing, write a script or tool to automate/make more efficient a repetitive job you have to do. Read up on a new language/tool and experiment with it, ask any of your colleagues if they have anything you can help them with.

Failing that read SA all day and play games on your phone?

Fellatio del Toro
Mar 21, 2009

Yeah I have periods of downtime at my current job and I just dig in and learn as much as I can about the tools/languages I work in or write stuff that will help me down the line. I've built a few components that ended up saving me (and some of coworkers) a lot of work on later projects.

Also read the forums.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
Find a 20% project, do some codelabs for stuff that seems interesting or relevant, fix technical debt, drink coffee.

Mostly coffee.

csammis
Aug 26, 2003

Mental Institution
I practice shuffling cards one-handed while mousing around with my off hand. The sleight-of-hand will be useful at upcoming feature scheduling meetings :v:

csammis
Aug 26, 2003

Mental Institution
e: double post

ChickenWing
Jul 22, 2010

:v:

Oh thank christ. These are -infinitely- more positive answers than I was expecting. I mean, logically I know I'm not doing anything wrong, but my lizard brain is completely certain I'm a day away from getting fired for not doing anything.

Cicero
Dec 17, 2003

Jumpjet, melta, jumpjet. Repeat for ten minutes or until victory is assured.
Officially matched with an intern today! :toot: I feel all growed up!

Cicero fucked around with this message at 02:32 on Dec 12, 2015

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Cicero posted:

Officially matched with an intern today! :toot: I feel all growed up!

Awesome, enjoy it. Hosting my intern was a great experience. Just remember to budget like 20% of your time for the care and feeding of their work life.

Evil Robot
May 20, 2001
Universally hated.
Grimey Drawer

Volmarias posted:

Awesome, enjoy it. Hosting my intern was a great experience. Just remember to budget like 20% of your time for the care and feeding of their work life.

LOL, 20%. I'd invert that scale and expect 20-30% self-productivity for a few months. Still a great experience.

ChickenWing
Jul 22, 2010

:v:

Yay the new IA got approved for our module and now I have to go back through all my validations and completely redo them because the structure fundamentally changed :shepface:

I'm beginning to despise SpEL

Adbot
ADBOT LOVES YOU

Skier
Apr 24, 2003

Fuck yeah.
Fan of Britches
"In typical agile fashion, we've laid out every ticket to be completed in each sprint for the next 12 months." Without asking anyone actually involved in doing the work what needs to be done or an estimate on what it will take for time. :psyduck:

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