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.
 
  • Locked thread
Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.

Cocoa Crispies posted:

~tales from previous job~

we got a suspiciously specific talking to on the weekly meeting about how it's really important to push your commits somewhere and also back up your machine so you don't lose two weeks of a huge subsystem rewrite to a failing mechanical drive

Yeah, I'm fastidious about committing at the end of the day at latest. I honestly think it encourages more ordered thinking anyway, even ignoring the backup concerns it means you're probably a bit more aware of where you're progressing, where good breakpoints in the work are, etc. If it's not finished or not a build worthy commit just branch and squash that poo poo later.

Adbot
ADBOT LOVES YOU

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

MeruFM posted:

or if a bug goes through unknown for a long period, might be interesting to see where it originated..

this is how I use it. maybe once a quarter. but it's drat handy

also it's trivial to skip over commits while bisecting. bisect is not a reason to whine about people pushing/merging wip commits

comedyblissoption
Mar 15, 2006

it's okay to let things fall over to the next sprint for whatever reason. your velocity will self-adjust. someone who isn't sick can just pick up something else from the backlog and not have to close out that story.

of course i know people (e.g. business stakeholders) instead want to follow a process that doesn't align with reality at all and want everything committed to in a sprint to be finished in a sprint which causes all kinds of absurd issues.

but yah pushing to the remote at the end of day in a branch if you have anything is a good practice

MeruFM
Jul 27, 2010
i always thought everyone always joked about stuff like sprints, standups, scrum, "velocity"... but we got a new manager 6 months back who is extremely into it.

now every little thing has a ticket attached and while our "velocity" is great, our actual code output has been quartered. I look at a backlog of hundreds of extremely easy fixes that are put in the back burner because doing any of them will require at least 5-10 minutes in a standup or some other meeting.

bad news is we have a 30min daily stand up going over the minutiae of explaining thread vs green thread and redis cluster vs hbase to a person who stopped learning around java 5.
the good news is now I work 45 minutes a day now instead of 3 hours and leave the office at 2:30 after coming in at 10:30. Also got a 50k bonus for doing a GREAT JOB keeping up with tickets.

what do you do if everything is going great on the surface but you have a huge empty void in your chest?

brap
Aug 23, 2004

Grimey Drawer
if your standup meeting takes more than 15 seconds per person you are doing something very wrong

Arcsech
Aug 5, 2008

MeruFM posted:

got a 50k bonus for doing a GREAT JOB keeping up with tickets.

what do you do if everything is going great on the surface but you have a huge empty void in your chest?

stack benjis

I would fuckin love a 50k bonus in a job where I can get off super early

MeruFM
Jul 27, 2010

fleshweasel posted:

if your standup meeting takes more than 15 seconds per person you are doing something very wrong

it's an engineering manager who wants to know how everything is done but can't be assed to read code or even commit/merge messages that are auto-posted into the group slack channel. As the honorary last person to talk in the standup(he wants us to go alphabetically), I get the least time. Usually it's 15 minutes for 1st person, 5 for 2nd and 3rd, and 1min for 4th person.

I've had to correct him multiple times when he declares that we're using "so and so stack".
He still thinks we use node somewhere in the backend (we don't) because we have an angular app for the UI.

MeruFM fucked around with this message at 07:28 on Mar 29, 2017

MeruFM
Jul 27, 2010
2 people of the original team have already left even though we came into the company via acquisition with a good chunk of retention money for a few years on top of a decent salary

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

MeruFM posted:

i always thought everyone always joked about stuff like sprints, standups, scrum, "velocity"... but we got a new manager 6 months back who is extremely into it.

now every little thing has a ticket attached and while our "velocity" is great, our actual code output has been quartered. I look at a backlog of hundreds of extremely easy fixes that are put in the back burner because doing any of them will require at least 5-10 minutes in a standup or some other meeting.

bad news is we have a 30min daily stand up going over the minutiae of explaining thread vs green thread and redis cluster vs hbase to a person who stopped learning around java 5.
the good news is now I work 45 minutes a day now instead of 3 hours and leave the office at 2:30 after coming in at 10:30. Also got a 50k bonus for doing a GREAT JOB keeping up with tickets.

what do you do if everything is going great on the surface but you have a huge empty void in your chest?

there's no way a 30min meeting is solely responsible for a quartering of output. why does every litttle fix add 5-10min in meetings?

tell more stories!

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder

MeruFM posted:

Also got a 50k bonus for doing a GREAT JOB

:aaa:

PIZZA.BAT
Nov 12, 2016


:cheers:


MeruFM posted:

Also got a 50k bonus for doing a GREAT JOB keeping up with tickets.

what do you do if everything is going great on the surface but you have a huge empty void in your chest?

lmao look at this guy Caring

wtf dude

Bloody
Mar 3, 2013

lol your process is hosed

coffeetable
Feb 5, 2006

TELL ME AGAIN HOW GREAT BRITAIN WOULD BE IF IT WAS RULED BY THE MERCILESS JACKBOOT OF PRINCE CHARLES

YES I DO TALK TO PLANTS ACTUALLY

Cocoa Crispies posted:

mechanical drive
was the dev remoting in from a third-world country

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome
True Git Tales:

I sat through an hour-long brownbag of some rear end in a top hat telling us how we should craft our commits and commit messages to - and this is a direct quote - "to tell the story of your feature." Like his thesis was that your commits should be approached as a work of literature.

If svn had line-level conflicts instead of file-level it'd be perfect.

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


my adventures in MVC continue...

im cleaning up the mess left all over the place by the devs and there is a genuine need to provide some data into the views outside of the main Model, for example to build the links on menu bars in the layout I need to embed an ID into the path and while in some cases this would come from the model, it won't always (and there are many models using the same layout) so up until now it's just using @ViewBag.ID to do this

first thing im doing is creating a class for the generic data needed on pages (IDs, page titles, etc.)so it's at least linked to something concrete, and i was going to just put this into ViewData and use that, but is there a better (Shaggar approved) way of doing this?


edit: What defines when viewData gets updated? Is it literally tied to the current page only or will it persist between multiple requests in the same session until overwritten?

Powerful Two-Hander fucked around with this message at 16:04 on Mar 29, 2017

Shaggar
Apr 26, 2006
RenderSection is probably the best way to do it if your menu bars change based on the current view. In your layout you call like RenderSection("menu") and then in your view you would have a @section menu{ } that contains the code for the menu. you would use the ViewModel for that view to determine how and what gets rendered in the menu which might also be a partial view so like in the layout:

code:
<h1>WELCOME TO MY BUTT SITE! CLICK A MENU ITEM BELOW!</h1>
<div id="menu">
	@RenderSection("menu",required:true)
</div>
then in the view:
code:
@section menu
{
	@Html.Partial("_menu",Model.MenuViewModel)
}
wrt viewdata, I'm pretty sure its current request only.

Shaggar
Apr 26, 2006
other options would be a base model that you use for all views that contains the stuff or use viewbag and null coalescing. I don't like either of those but viewbag is probably the lesser bad of the two.

Asshole Masonanie
Oct 27, 2009

by vyelkin

MeruFM posted:

what do you do if everything is going great on the surface but you have a huge empty void in your chest?

spend money on cool poo poo to take your mind off the fact your existence has no intrinsic meaning

Mao Zedong Thot
Oct 16, 2008


MeruFM posted:

what do you do if everything is going great on the surface but you have a huge empty void in your chest?

depends a lot on your desired relationship with alcohol or other drugs imho

Symbolic Butt
Mar 22, 2009

(_!_)
Buglord

rotor posted:

True Git Tales:

I sat through an hour-long brownbag of some rear end in a top hat telling us how we should craft our commits and commit messages to - and this is a direct quote - "to tell the story of your feature." Like his thesis was that your commits should be approached as a work of literature.

If svn had line-level conflicts instead of file-level it'd be perfect.

were you :jerkbag:ing the entire time?

Shaggar
Apr 26, 2006

rotor posted:


If svn had line-level conflicts instead of file-level it'd be perfect.

yeah pretty much

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Shaggar posted:

RenderSection is probably the best way to do it if your menu bars change based on the current view. In your layout you call like RenderSection("menu") and then in your view you would have a @section menu{ } that contains the code for the menu. you would use the ViewModel for that view to determine how and what gets rendered in the menu which might also be a partial view so like in the layout:

code:
<h1>WELCOME TO MY BUTT SITE! CLICK A MENU ITEM BELOW!</h1>
<div id="menu">
	@RenderSection("menu",required:true)
</div>
then in the view:
code:
@section menu
{
	@Html.Partial("_menu",Model.MenuViewModel)
}
wrt viewdata, I'm pretty sure its current request only.

hmm, the sections might work but would info from the main route (like an id) be accessible to them? If not there'd be no way to actually populate the data for it.

I just checked using ViewData to persist across requests and yeah as expected that doesn't work, but it does at least give me a concrete object to hold the properties instead of 100 individual variables in viewbag crapped all over the place like it was before.



I *think* this is the neatest way to do it as it separate the data from the models where it doesn't technically apply, like Butt may actually have valid properties of ButtId and ButtName, but while Fart would have a ButtId (because Farts come from a Butt), it wouldn't logically have a ButtName so storing everything in a base model would be messy (Butts everywhere lol)

edit: I misunderstood what the sections were, I was thinking like the async views you can do in asp.net core. These probably aren't needed because there will be a separate layout page for each part of the site that defines its menu, and then for each page in that part of the site I need to inject some standard data into the layout so ViewData is probably the "best" way.

Powerful Two-Hander fucked around with this message at 16:50 on Mar 29, 2017

Sapozhnik
Jan 2, 2005

Nap Ghost
hmm

maybe there is a middle ground between having garbage grab bag commits and disappearing up your own rear end in a top hat whilst sighing over your code's magnificence

PIZZA.BAT
Nov 12, 2016


:cheers:


MeruFM posted:

what do you do if everything is going great on the surface but you have a huge empty void in your chest?

Shaggar
Apr 26, 2006

Powerful Two-Hander posted:

hmm, the sections might work but would info from the main route (like an id) be accessible to them? If not there'd be no way to actually populate the data for it.

I just checked using ViewData to persist across requests and yeah as expected that doesn't work, but it does at least give me a concrete object to hold the properties instead of 100 individual variables in viewbag crapped all over the place like it was before.



I *think* this is the neatest way to do it as it separate the data from the models where it doesn't technically apply, like Butt may actually have valid properties of ButtId and ButtName, but while Fart would have a ButtId (because Farts come from a Butt), it wouldn't logically have a ButtName so storing everything in a base model would be messy (Butts everywhere lol)

edit: I misunderstood what the sections were, I was thinking like the async views you can do in asp.net core. These probably aren't needed because there will be a separate layout page for each part of the site that defines its menu, and then for each page in that part of the site I need to inject some standard data into the layout so ViewData is probably the "best" way.

the idea w/ the sections is that lets say you have a view for a butt and a view for a fart and each of those has their own ViewModel you could add a property to each that is the object you need to pass to the layout. Then pass it to a partial view w/in a section in the butt/fart view.

Also, are you using these ids to pick a layout to use or is the layout the same w/ same menus and everything and you're just using the ids for things like the page title? If you're generating a layout based on a view being a certain type of view, you can create separate layouts and assign them to the views. So ButtView might use ButtLayout while FartView might use FartLayout. this could potentially save you from having to pass a variable to SharedLayout that says whether to behave as a butt or fart layout.

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Shaggar posted:

the idea w/ the sections is that lets say you have a view for a butt and a view for a fart and each of those has their own ViewModel you could add a property to each that is the object you need to pass to the layout. Then pass it to a partial view w/in a section in the butt/fart view.

Also, are you using these ids to pick a layout to use or is the layout the same w/ same menus and everything and you're just using the ids for things like the page title? If you're generating a layout based on a view being a certain type of view, you can create separate layouts and assign them to the views. So ButtView might use ButtLayout while FartView might use FartLayout. this could potentially save you from having to pass a variable to SharedLayout that says whether to behave as a butt or fart layout.

what i have is a pair of nested layouts, so there's Layout_Main which is the title bar, this is generic to all pages in the site and is static, then there's LayoutButt which is used for pages that render Butts and their various subsections (ButtFarts etc. note: these do not extend Butt, but will have a ButtId that linsk to their "parent"), LayoutButt specifies LayoutMain as its layout so the two nest together.

So when you render a page for a Butt or a ButtFart you're using LayoutButt and what I need to do is embed information from the Butt into each page using that layout because LayoutButt puts Butt.Name, Butt.Type etc. into the header to provide something approximately like breadcrumbs. So, each page using ButtLayout also needs to provide some basic information about the Butt even if the model for that page is actually a fart.

anyway, that's probably a really confusing description but what i'm going to do is add a generic method that will populate an object with this data and call it from ButtLayout on render. That cuts out ViewData entirely and puts the code in the layout itself and nowhere else so i don't have to crap up my controllers with calls to PopulateButtHeader before every render


edit: yeah this works, all i need to pass via the ViewBag/ViewData is the id of the Butt being rendered and it provides the rest of the necessary data for the layout dynamically in the view.

Powerful Two-Hander fucked around with this message at 18:53 on Mar 29, 2017

MeruFM
Jul 27, 2010

pokeyman posted:

there's no way a 30min meeting is solely responsible for a quartering of output. why does every litttle fix add 5-10min in meetings?

tell more stories!

Today is a good example. I had to go first because I was the 1st one in the meeting.
Standup (finished in 55 minutes, ended ~15 minutes ago):

quote:

manager: Go.
me: I updated the API for this service to 1.2
manager: what is this?
me: The one where they're deprecating 1.1 in June
manager: can you give me the jira number?
me: 1151
manager: *scrolls through kanban board back and forth for 10 seconds before I say "It's the 4th one from the bottom, you can just change the URL too", "Yeah but this is faster", "okay.jpeg"*
manager: Okay, so this is the one... (reads ticket that he wrote for another 10 seconds). Did you talk to *blah person* to make sure this worked?
me: yes
manager: Okay... lets keep this open for a couple more days to make sure nothing is wrong
me: sure
...
manager: anything else?
me: I'm blocked on the consolidation ticket, waiting for a person to respond on why it's causing a 500 error
(more jira scrolling)
manager: yeah. are you able to work around it?
me: no
manager: well you can still do the other parts right?
me: I finished the other parts, all other subtasks have been marked as complete
manager: who are you talking to?
me: *person's name*
manager: maybe talk to someone else
me: I don't know any other contact from the team
manager: Maybe *couple other people's names*.
me: I don't think those people work on this section
manager: yeah but they're in the same group
me: Kind of? I'm not sure what their org is like.
manager: okay, lets table this, I'll set up a meeting with them today, you can join right?
me: sure.
...
manager: okay, 2nd person, report please.
2nd person: I'm still working on *blah and blah*
(jira scrolling)
manager: Are you blocked on anything?
2nd person: There's this one thing, but they provided a workaround by doing so and so
manager: I talked to **drops 5 upper management names** and they want everything brought into here
2nd person: what?
manager: Yeah, I think they want us to manage this from top to bottom
2nd person: we don't have data scientists
manager: Yeah, going to have to hire one (backstory, I've asked for a replacement front end dev after 2 people left 3 months ago. Had 5 interviews, no new person yet. But we're getting an intern, yay?)
2nd person: Sure, but we'd have to transfer all this data over as well
manager: we have hadoop right?
2nd person: yeah but... we mostly use postgres. We don't even have access to the hdfs cluster yet
manager: it's all the same
2nd person: mm
...
2nd person: that java web app looks like it was made in the 90s
manager: They didn't have internet in 90s (chuckles)
2nd person: yeah..
...
manager: I see people using this one service from someone..., have you looked at it?
2nd person: We couldn't use that, they couldn't scale it
manager: Really? We should take over it then if they can't get it to work.
2nd person: It's managed by another team
manager: we should look into that, I'll make a jira, 2nd person can you take this?
2nd person: uhh, sure.
...
manager: lets talk about when we should meet (we have 3 locations and he wants us to congregate once or twice a week. It means a 2 hour commute each way for half the team)
rest of team: sure...
...
manager: well that's all, thanks guys
manager: oh yeah is person 4 in the office today?
me: he joined another team 2 weeks ago.
manager: yeah, i just wanted to know if he was still around, I had questions for him
...
manager: can you take down the meeting minutes? this was slightly longer than I expeted
me: sure...

the ... are gaps of time that I went into a fugue state.
and imagine a lumbergh-esque voice that speaks at around 30 words per minute for the manager.

MeruFM fucked around with this message at 19:09 on Mar 29, 2017

HoboMan
Nov 4, 2010

today i found out there's $2000 in the company budget for me to get some training or certification

i have to get my request in by tomorrow to get it though. i have not even thought about this once, anyone have any suggestions? (i currently work on a .NET webforms app)

MeruFM
Jul 27, 2010

HoboMan posted:

today i found out there's $2000 in the company budget for me to get some training or certification

i have to get my request in by tomorrow to get it though. i have not even thought about this once, anyone have any suggestions? (i currently work on a .NET webforms app)

not sure about the 1 day turnaround , but people here tend to blow it on a conf. Especially because you get a decent daily stipend for food.

or just buy a lot of books.

JawnV6
Jul 4, 2004

So hot ...

MeruFM posted:

Today is a good example. I had to go first because I was the 1st one in the meeting.
Standup (finished in 55 minutes, ended ~15 minutes ago):


the ... are gaps of time that I went into a fugue state.
and imagine a lumbergh-esque voice that speaks at around 30 words per minute for the manager.

you can't fold the easy fixes in with work you're currently doing in the same file(s)?

like until one such change blows up and the manager gets Even Shittier Somehow, but

MeruFM
Jul 27, 2010
I have fixed some in the beginning without telling and just closing the jiras, but he reprimanded me in a "bi-weekly pruning" meeting that takes about 4 hours as we go into detail on every jira that is complete and in progress. There's an assumption that if we fix things too fast, they'll just give us more to do.

The manager also got burned by his higher ups for deploying an overhaul before it was ready because of "external pressure" which resulted in supposedly 3 days of meetings. I was on vacation but that just meant after coming back, I had a 6 hour 1 on 1 as we talked about needing more tests and not adding things without permission.

the reduction in output is a mix of just not wanting to deal the crap anymore and extremely low morale in the team. Like I said, 2 people left with a ton of money on the table if they stayed for just a couple more years.

we've all complained to the director about this, the response is a mix of "it's a micromanagement style" and "I'll see what I can do but these things take time".

edit:
need to stop posting E/N

MeruFM fucked around with this message at 20:15 on Mar 29, 2017

Bloody
Mar 3, 2013

micromanagement styles should be weeded out aggressively

Xarn
Jun 26, 2015
Fellow terrible programmers, I need your help.

Is there a way to make g++ recognize its own drat _Pragmas? I have this minimal example, which works as expected if compiled with GCC, but triggers Wparentheses when compiled with g++ (and -Wparentheses obv).

C++ code:
#include <stdio.h>

#define TEST(expr) \
    int a = 1; \
    _Pragma( "GCC diagnostic push" ) \
    _Pragma( "GCC diagnostic ignored \"-Wparentheses\"" ) \
    if (a <= expr) { \
        printf("filler\n"); \
    } \
    _Pragma( "GCC diagnostic pop" )

int main(){
    int b = 2, c = 3;
    TEST(b == c);
}

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
seems like its an issue due to the macros.

if I do _Pragma around the block, it seems to be fine.

if you are using c++ do you really need a macro for this, though?

Bloody
Mar 3, 2013

can spacemacs from windows somehow edit poo poo on a remote computer over ssh because this remote computer has no editors

JawnV6
Jul 4, 2004

So hot ...

MeruFM posted:

I had a 6 hour 1 on 1 as we talked about needing more tests and not adding things without permission.
i mean you're making the best of an awful situation. you could try tracking the time for 1 ticket, including 5x20minutes while engineers watch someone scroll jira, and present a pie chart up the chain of process overhead but nobody would listen, care, or change so lol

escalating didn't work, coding outside the micromanagement didn't work, remind me why you're not #3 out the door?

hifi
Jul 25, 2012

Bloody posted:

can spacemacs from windows somehow edit poo poo on a remote computer over ssh because this remote computer has no editors

you need cygwin or windows bash but emacs can remote edit via tramp. open the find-file dialog and type /ssh:user@host:file and it probably gives you an error. if it gives you an emacs error then you need to add (require 'tramp) in your emacs init file.

https://www.gnu.org/software/tramp/#Inline-methods says it supports putty via plink but i've never heard of that so ymmv.

if you have windows bash ill dig up my half working setup and post it

AWWNAW
Dec 30, 2008

lotta walls of text on this page

let me distill knowledge

Smoke



Weed



Every



Day

HoboMan
Nov 4, 2010

MeruFM posted:

i always thought everyone always joked about stuff like sprints, standups, scrum, "velocity"... but we got a new manager 6 months back who is extremely into it.

now every little thing has a ticket attached and while our "velocity" is great, our actual code output has been quartered. I look at a backlog of hundreds of extremely easy fixes that are put in the back burner because doing any of them will require at least 5-10 minutes in a standup or some other meeting.

bad news is we have a 30min daily stand up going over the minutiae of explaining thread vs green thread and redis cluster vs hbase to a person who stopped learning around java 5.
the good news is now I work 45 minutes a day now instead of 3 hours and leave the office at 2:30 after coming in at 10:30. Also got a 50k bonus for doing a GREAT JOB keeping up with tickets.

what do you do if everything is going great on the surface but you have a huge empty void in your chest?

q motherfucking q

what do you do that you can be in the office for only 4 hours a day and get paid my salary as a loving bonus?

Adbot
ADBOT LOVES YOU

fritz
Jul 26, 2003

Xarn posted:

Fellow terrible programmers, I need your help.

Is there a way to make g++ recognize its own drat _Pragmas? I have this minimal example, which works as expected if compiled with GCC, but triggers Wparentheses when compiled with g++ (and -Wparentheses obv).

C++ code:
#include <stdio.h>

#define TEST(expr) \
    int a = 1; \
    _Pragma( "GCC diagnostic push" ) \
    _Pragma( "GCC diagnostic ignored \"-Wparentheses\"" ) \
    if (a <= expr) { \
        printf("filler\n"); \
    } \
    _Pragma( "GCC diagnostic pop" )

int main(){
    int b = 2, c = 3;
    TEST(b == c);
}

put in the god drat parentheses you animal

  • Locked thread