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
MononcQc
May 29, 2007

DONT THREAD ON ME posted:

your advice is really good and it's benefited me in the past. as you say, though, I think i'm mostly traumatized by my previous job where we didn't really have any users and we were building a very complicated product under the steering of people who were just guessing at what the users wanted.

my biggest problem with this job hunting cycle has been reflecting positively on what i did at my previous company. i was huge for morale and a critical player but we were working on something that was fundamentally never going to work and basically all of my efforts ended in failure. i grew a lot as a programmer, but when i get questions like 'what did you accomplish at your previous company' i've had a hard time putting a nice bow on that.

anyhow i should be posting in the interviewing thread, sorry.

Two of my biggest projects were canned. Both were around a year long, and one was cancelled a month from shipping, the other one we pulled the plug a week from deploying (I fortunately at least had one or two other big projects that shipped properly over the last few years).

The way I spin these positively is that we learned and built everything we had to, but also had the good judgement to know when to get rid of a project that would not be successful ("kill your darlings") and move on successfully. It's always a hard decision to make, and being able to agree with it and even make the call yourself, and then live with it, is what I'd say is a move that required a lot of maturity from me over time.

The big regret is of course to not know how it would have possibly worked or what kind of customer feedback it could have received, but acknowledging failure and bad approaches without shoving them in production so they instantly become legacy is a good engineering decision. It's of course different if things fail because the implementation was not up to par than if the requirements were unclear or shifting too often, but experience is experience.

You may want to mark failed projects as 'prototypes' in a resume if you must. You just have to have figured out some good lessons in that phase even if it never shipped.

Adbot
ADBOT LOVES YOU

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



did a small presentation on my ocr/pdf app and they were super impressed even though it crashed a bunch of times lol

python :allears:

cinci zoo sniper
Mar 15, 2013




nice, also as par of the course. when i demoed my bi dashboard (r shiny+plotly) some time ago the demo began with hard etl crash, but i had enough common sense to hardcode paths to csv backups for that scenario lol

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



yeah i made sure i had all the intermediate files that are generated so i could show and explain how A goes to B to C (or is supposed to -- it was the B part that was crashing because i stupidly hadnt tested it properly in a while), then skip to the next part.

then D crashed but for that i could revert to a commit from a couple days ago and show that :downsbravo:

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



also it was right after i had smugly shat on "academic code" and how fragile it is omg lmao

cinci zoo sniper
Mar 15, 2013




:laffo:

necrotic
Aug 2, 2005
I owe my brother big time for this!

CRIP EATIN BREAD posted:

I'm not sure if it's a function of kops or kubernetes itself, but all the nodes get labelled with "failure-domain.beta.kubernetes.io/zone=AWS_AZ" that you can easily use for node affinity to a specific AZ. this is useful if you actually have persistent volume claims. that's shortcoming of EBS though, since a volume is created in an AZ and not available in other AZs.

This is a newer feature of kubernetes itself. We get those labels on GCP and Azure as well.

quote:

what state do you need to maintain in a file? seems like you would have the same issue just using AWS autoscaling groups. this really isnt a kubernetes specific issue.
for ASGs I guess you can create an ASG in each AZ and attach the volume on startup via user data scripts, but that's basically the same as using node affinity per deployment.

It's definitely not a k8s specific issue, but I think it shows up more frequently than for bog standard ASG setups.

We run redis internally and it persists the state to disk. We use a volume for this so if the pod gets moved the data isn't lost. For the most part we stay away from volumes for persistent data, but our on-premise package uses them for elasticsearch as well.

sometimes you just need a persistent disk, ya know?

Powerful Two-Hander
Mar 10, 2004

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


oh cool a giant pile of powershell scripts, xml files, access databases, excel sheets and bat files on a network share, looks like somebody has been busy making GBS threads out macros again and we'll be learning the lessons of the great RAD clusterfuck all over again in tyool 2019!


~7 years ago it would have been me doing it but now I know better and it makes me angry

Zlodo
Nov 25, 2006

DONT THREAD ON ME posted:

i am going through a second level of imposter syndrome wherein i doubt my ability to ever give a gently caress about solving a business problem beyond finding whatever cute and satisfying technical solutions that i can. i am seriously considering going back to someplace like redhat where i can just write easy code at work and spend my free time programming stuff i enjoy.

what i like with my job is that game designers are paid to figure all that stuff out and at worse I just have to point at corner cases they forgot to specify "what if the player does this then that and becomes unable to progress because ___" and just wait for them to figure out a solution

as gameplay programmers we basically end up with a spreadsheet with things like "pressing X should make the player fart" and "additional fart sounds should be purchasable with hard currency at the ingame shop" and we just implement all that (we just have a technical validation phase first to point out all the unfeasible, contradictory or way too expensive to build stuff so that the designers can fix it first)

Zlodo fucked around with this message at 21:37 on Mar 13, 2019

Soricidus
Oct 21, 2010
freedom-hating statist shill
tfw you ask someone to submit a pr and they email you a zip file of their changes instead

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Soricidus posted:

tfw you ask someone to submit a pr and they email you a zip file of their changes instead

:blastu:

ThePeavstenator
Dec 18, 2012

:burger::burger::burger::burger::burger:

Establish the Buns

:burger::burger::burger::burger::burger:

Soricidus posted:

tfw you ask someone to submit a pr and they email you a zip file of their changes instead

If my team starts interviewing again, poo poo like this is why I'm going to include a section on Git. No turbo-nerd command line trivia, you can use Google and whatever tools you want, just "add a line of code, commit to a new branch, create a pull request".

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.
ahhhhh poo poo

cjs: CEO wants to add some backend dudes from India, now. I pointed out how well that worked with the Russians (not well) but he's so "stoked" about how much he is saving on these guys ("they cost like 1/5 as much as our frontend contractor").

I did manage to talk him down from letting him directly work on code for our core platform.

And oh yeah this guy would report directly to CEO and not be included in any of our sprint planning. I asked that all his work be added to jira because I wasn't going to approve pull requests unless we had documentation of what the work was supposed to be, and I got a bunch of passive aggressive jira tickets with 1-line descriptions like "build page per slack discussion"

I think I got like 3-4 months before this startup runs out of money... we'll see.

necrotic
Aug 2, 2005
I owe my brother big time for this!
:sever:

gonadic io
Feb 16, 2011

>>=

DONT THREAD ON ME posted:

your advice is really good and it's benefited me in the past. as you say, though, I think i'm mostly traumatized by my previous job where we didn't really have any users and we were building a very complicated product under the steering of people who were just guessing at what the users wanted.

my biggest problem with this job hunting cycle has been reflecting positively on what i did at my previous company. i was huge for morale and a critical player but we were working on something that was fundamentally never going to work and basically all of my efforts ended in failure. i grew a lot as a programmer, but when i get questions like 'what did you accomplish at your previous company' i've had a hard time putting a nice bow on that.

anyhow i should be posting in the interviewing thread, sorry.

c tp s: 4 rejections so far, only 1 process outstanding until I gotta go starting applying from the beginning again

Arcsech
Aug 5, 2008

Finster Dexter posted:

ahhhhh poo poo

cjs: CEO wants to add some backend dudes from India, now. I pointed out how well that worked with the Russians (not well) but he's so "stoked" about how much he is saving on these guys ("they cost like 1/5 as much as our frontend contractor").

I did manage to talk him down from letting him directly work on code for our core platform.

And oh yeah this guy would report directly to CEO and not be included in any of our sprint planning. I asked that all his work be added to jira because I wasn't going to approve pull requests unless we had documentation of what the work was supposed to be, and I got a bunch of passive aggressive jira tickets with 1-line descriptions like "build page per slack discussion"

I think I got like 3-4 months before this startup runs out of money... we'll see.

start your job search now, if you haven't already

Powerful Two-Hander
Mar 10, 2004

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


Finster Dexter posted:

ahhhhh poo poo

cjs: CEO wants to add some backend dudes from India, now. I pointed out how well that worked with the Russians (not well) but he's so "stoked" about how much he is saving on these guys ("they cost like 1/5 as much as our frontend contractor").

I did manage to talk him down from letting him directly work on code for our core platform.

And oh yeah this guy would report directly to CEO and not be included in any of our sprint planning. I asked that all his work be added to jira because I wasn't going to approve pull requests unless we had documentation of what the work was supposed to be, and I got a bunch of passive aggressive jira tickets with 1-line descriptions like "build page per slack discussion"

I think I got like 3-4 months before this startup runs out of money... we'll see.


you're already dead :rip:

Powerful Two-Hander
Mar 10, 2004

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


it was "suggested" the other week that maybe, just maybe paying absolute bottom dollar for offshore devs might not be working out so well because best case if they turn out to be any good they spend 6-12 months getting trained then gently caress off and we start all over again

plus their management is so incredibly hierarchy driven that anyone who shows any talent and doesn't bail is a threat to their boss and either gets shunted out or is ruthlessly undermined.

a lot of the management tier also have zero technical knowledge and spend all their time trying to do as little as possible so there's no chance that anything could happen that would make them look bad

so anyway as i said

Powerful Two-Hander posted:

you're already dead :rip:

Night Shade
Jan 13, 2013

Old School

necrotic posted:

This is a newer feature of kubernetes itself. We get those labels on GCP and Azure as well.

It's definitely not a k8s specific issue, but I think it shows up more frequently than for bog standard ASG setups.

We run redis internally and it persists the state to disk. We use a volume for this so if the pod gets moved the data isn't lost. For the most part we stay away from volumes for persistent data, but our on-premise package uses them for elasticsearch as well.

sometimes you just need a persistent disk, ya know?

there's an EFS volume provisioner kicking around in k8s-incubation if volume content living on the other side of an NFS target is ok. I'm intending to tinker with it at some point and see how it fares but I haven't had time.

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

Finster Dexter posted:

ahhhhh poo poo

cjs: CEO wants to add some backend dudes from India, now. I pointed out how well that worked with the Russians (not well) but he's so "stoked" about how much he is saving on these guys ("they cost like 1/5 as much as our frontend contractor").

I did manage to talk him down from letting him directly work on code for our core platform.

And oh yeah this guy would report directly to CEO and not be included in any of our sprint planning. I asked that all his work be added to jira because I wasn't going to approve pull requests unless we had documentation of what the work was supposed to be, and I got a bunch of passive aggressive jira tickets with 1-line descriptions like "build page per slack discussion"

I think I got like 3-4 months before this startup runs out of money... we'll see.

lol you poor bastard.

also man jira, i loving hate that thing. everyone tries to use it but its so godawful slow that if i dragged all my dumb cards around it would be all im doing.

people are starting to learn, the other day I overheard "don't bother assigning <CRIP EATIN BREAD'S FIRST NAME> any tickets, he's never going to loving use it" so my efforts to actively dodge jira aren't going unnoticed.

akadajet
Sep 14, 2003

man, I'd be loving lost if I didn't use jira

Qtotonibudinibudet
Nov 7, 2011



Omich poluyobok, skazhi ty narkoman? ya prosto tozhe gde to tam zhivu, mogli by vmeste uyobyvat' narkotiki

Soricidus posted:

tfw you ask someone to submit a pr and they email you a zip file of their changes instead

same but people who are ostensibly sysadmins who send screenshots of text-only terminal contents.

sure do love manually transcribing poo poo elsewhere and only having as many logs as fit in whatever window size goofus prefers for their terms

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



akadajet posted:

man, I'd be loving lost if I didn't use jira

protip: just put a todo.txt in the repo ya dingus

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



also im trying to get readthedocs to build my docs but it fails on tesserocr because the non-python libraries that it depends on are missing

code:
Installing collected packages: tesserocr
  Running setup.py install for tesserocr: started
    Running setup.py install for tesserocr: finished with status 'error'
    Complete output from command /home/docs/checkouts/readthedocs.org/user_builds/.../envs/latest/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-t1qvfhf6/tesserocr/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-dgh44jx7/install-record.txt --single-version-externally-managed --compile --install-headers /home/docs/checkouts/readthedocs.org/user_builds/.../envs/latest/include/site/python3.7/tesserocr:
    /tmp/pip-install-t1qvfhf6/tesserocr/setup.py:152: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
      _LOGGER.warn('pkg-config failed to find tesseract/lept libraries: {}'.format(e))
    pkg-config failed to find tesseract/lept libraries: b"Package tesseract was not found in the pkg-config search path.\nPerhaps you should add the directory containing `tesseract.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'tesseract' found\n"
    /tmp/pip-install-t1qvfhf6/tesserocr/setup.py:134: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
      _LOGGER.warn('Failed to extract tesseract version from executable: {}'.format(e))
    Failed to extract tesseract version from executable: [Errno 2] No such file or directory: 'tesseract': 'tesseract'
    Supporting tesseract v3.04.00
    Building with configs: {'libraries': ['tesseract', 'lept'], 'cython_compile_time_env': {'TESSERACT_VERSION': 50593792}}
    running install
    running build
    running build_ext
    building 'tesserocr' extension
    creating build
    creating build/temp.linux-x86_64-3.7
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/docs/.pyenv/versions/3.7.1/include/python3.7m -c tesserocr.cpp -o build/temp.linux-x86_64-3.7/tesserocr.o
    tesserocr.cpp:629:10: fatal error: leptonica/allheaders.h: No such file or directory
     #include "leptonica/allheaders.h"
              ^~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1
what do

e: aha, gonna try this:
https://docs.readthedocs.io/en/stable/faq.html#i-get-import-errors-on-libraries-that-depend-on-c-modules

e2: :woop:

Carthag Tuek fucked around with this message at 08:59 on Mar 14, 2019

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

Krankenstyle posted:

protip: just put a todo.txt in the repo ya dingus

oh sweet summer child, work in corporate and you won't have time to make a todo. I'll call a meeting in two weeks with it architecture, infrastructure and a project manager, then we can discuss todo file structure and layout.

Powerful Two-Hander
Mar 10, 2004

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


why is jira so slow anyway, we keep getting told we have to migrate instances because "the current one is overloaded" but that implies it's due to the number of actual jiras which is ridiculous unless the underlying data storage/model is complete garbage

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

Krankenstyle posted:

also im trying to get readthedocs to build my docs but it fails on tesserocr because the non-python libraries that it depends on are missing

code:
Installing collected packages: tesserocr
  Running setup.py install for tesserocr: started
    Running setup.py install for tesserocr: finished with status 'error'
    Complete output from command /home/docs/checkouts/readthedocs.org/user_builds/.../envs/latest/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-t1qvfhf6/tesserocr/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-dgh44jx7/install-record.txt --single-version-externally-managed --compile --install-headers /home/docs/checkouts/readthedocs.org/user_builds/.../envs/latest/include/site/python3.7/tesserocr:
    /tmp/pip-install-t1qvfhf6/tesserocr/setup.py:152: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
      _LOGGER.warn('pkg-config failed to find tesseract/lept libraries: {}'.format(e))
    pkg-config failed to find tesseract/lept libraries: b"Package tesseract was not found in the pkg-config search path.\nPerhaps you should add the directory containing `tesseract.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'tesseract' found\n"
    /tmp/pip-install-t1qvfhf6/tesserocr/setup.py:134: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
      _LOGGER.warn('Failed to extract tesseract version from executable: {}'.format(e))
    Failed to extract tesseract version from executable: [Errno 2] No such file or directory: 'tesseract': 'tesseract'
    Supporting tesseract v3.04.00
    Building with configs: {'libraries': ['tesseract', 'lept'], 'cython_compile_time_env': {'TESSERACT_VERSION': 50593792}}
    running install
    running build
    running build_ext
    building 'tesserocr' extension
    creating build
    creating build/temp.linux-x86_64-3.7
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/docs/.pyenv/versions/3.7.1/include/python3.7m -c tesserocr.cpp -o build/temp.linux-x86_64-3.7/tesserocr.o
    tesserocr.cpp:629:10: fatal error: leptonica/allheaders.h: No such file or directory
     #include "leptonica/allheaders.h"
              ^~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    error: command 'gcc' failed with exit status 1
what do

e: aha, gonna try this:
https://docs.readthedocs.io/en/stable/faq.html#i-get-import-errors-on-libraries-that-depend-on-c-modules

e2: :woop:

I had a very similar issue when working with python in azure web apps. When installing python libraries with c components that need compilation the compiler would refuse (because its a c compiler in windows), but only when and if the installation was prompted by a CI tool.

manual package installation worked fine.

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



Boiled Water posted:

I had a very similar issue when working with python in azure web apps. When installing python libraries with c components that need compilation the compiler would refuse (because its a c compiler in windows), but only when and if the installation was prompted by a CI tool.

manual package installation worked fine.

oh god yeah ive been there. its such finicky bullshit and super annoying to debug :shepicide:

esp when developing on linux/mac and deploying on windows

Carthag Tuek fucked around with this message at 09:54 on Mar 14, 2019

gonadic io
Feb 16, 2011

>>=
This is literally what docker is for

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



gonadic io posted:

This is literally what docker is for

i aint no ops guy, I'm too old for that poo poo

cowboy beepboop
Feb 24, 2001

Krankenstyle posted:

i aint no ops guy, I'm too old for that poo poo

treat docker like a make file that produces a static binary image you can run in the cloud. so if you can build it on your dev machine you can run it where you need

cowboy beepboop
Feb 24, 2001

like java promised I guess

Soricidus
Oct 21, 2010
freedom-hating statist shill
put java in docker for double portability

Feisty-Cadaver
Jun 1, 2000
The worms crawl in,
The worms crawl out.

Powerful Two-Hander posted:

why is jira so slow anyway,

because Atlassian makes an absolutely colossal amount of money so the incentive to "make it faster" does not exist.

friend of a friend is the PM for confluence - they apparently rewrite the front end very often b/c they have nothing better to do.

the answer to JIRA woes is: use a hosted provider or hire a team of 3-4 people who do nothing but janitor jira. And buy really, really fast disk.

Feisty-Cadaver
Jun 1, 2000
The worms crawl in,
The worms crawl out.

my stepdads beer posted:

like java promised I guess

i wonder how slow a docker container on an ancient nokia flip phone would be.

probably still faster than javame

abigserve
Sep 13, 2009

this is a better avatar than what I had before
noone in my job wants to manage swarm or k8s and it's becoming a real fissure between the people who want to run docker but don't want to operate that poo poo and the people that charge ahead anyway, leading to a bunch of half-built clusters everywhere

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope
i added a Set<Butt> to a Turd class and suddenly hibernate tries to read the whole database when i query for a single Turd :negative:

thankfully it only broke staging and not production and i was able to kludge it out because the Set<Butt> was only ever read and never written to and also it was only used in a feature that was broken anyway

Zlodo
Nov 25, 2006

Feisty-Cadaver posted:

the answer to JIRA woes is: use a hosted provider or hire a team of 3-4 people who do nothing but janitor jira. And buy really, really fast disk.

yeah we have good jira janitors and our jira works decently fast, dunno what hardware it's running on tho

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



my stepdads beer posted:

treat docker like a make file that produces a static binary image you can run in the cloud. so if you can build it on your dev machine you can run it where you need

hrmmm i might look into it i guess

Wheany posted:

i added a Set<Butt> to a Turd class and suddenly hibernate tries to read the whole database when i query for a single Turd :negative:

thankfully it only broke staging and not production and i was able to kludge it out because the Set<Butt> was only ever read and never written to and also it was only used in a feature that was broken anyway

well clearly a turd cant have many butts!!! even if its some kind of ))<>(( situation, the turd is only in one butt at a time!

Adbot
ADBOT LOVES YOU

gonadic io
Feb 16, 2011

>>=

Krankenstyle posted:

hrmmm i might look into it i guess

for the simplest use case, some crud app you need a Dockerfile in the source dir containing:

FROM microsoft/python-bullshit # get images from dockerhub
COPY . . # just move your entire source directory into the image
RUN apt-get upgrade && apt-get install -y my butt foo # install your poo poo that isn't in the base dockerfile above, avoid multiple RUN if you can and just use a bunch of &&
EXPOSE 8080 # or whatever you need people to call you on. skip if you're not running a web server
CMD ["python", "myapp.py"] # whatever you use to run it normally

on the server, the dumbest way to run it is to checkout the repo, then:
docker build . -t "my-butt:1.0"
docker run my-butt:1.0 \
-p 8080:8080 # map container port to host port \
-e "MY_ENV_VAR=secret-pass" # you can use env files etc too \
-d # run in background

but ideally you would build in ci and then have some container registry (we use GCP's) to hold the image until the prod server pulls it. Try to avoid putting secrets into the container itself and instead pass using docker run.

gonadic io fucked around with this message at 14:14 on Mar 14, 2019

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