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
Jabor
Jul 16, 2010

#1 Loser at SpaceChem

Kilometres Davis posted:

I still keenly remember the presentation they showed us in first year Uni showing people with masters degrees make more than phds, and are less likely to be rejected for being overqualified.

Might have been local data only though idk it was 10 years ago.

were they correcting for amount of industry experience, or was it essentially just saying "doing actual work for X years will get you more promotions than spending those X years on a phd"?

Adbot
ADBOT LOVES YOU

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
use your visual basic ui to track people's ip addresses

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
it really loving sucks

but it's still better than all the other options for what it does

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

gonadic io posted:

Ex coworker used to chose in comic sans full time. Idk if he was doing it ironically, or as some kind of counter-culture thing? He said he found it easier to read maybe he just has lovely eyesight

Proportional fonts are overall easier to read, yes.

Comic Sans, though, still seems incredibly weird.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
less poo poo to worry about is huge. even if you do want to run on your own hardware for some reason, you should probably structure it as an internal cloud so that the people developing your applications don't need to care about managing actual machines, and the people taking care of the machines don't need to care about what the developers are doing.

(if you're small enough that that sounds way too complicated for you, you should probably just be using someone else's cloud)

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
That sounds horrible.

The point of tests is to help you tell when something is an (unexpectedly) breaking change. If you need to change the tests for every single non-breaking change as well, the tests are providing no value.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
it's really tempting to want to use them for stuff like immutable value types, especially if they happen to match your wire types anyway. (what, are you going to write them once as a proto, a second time as an AutoValue, plus write converters?)

but you'll inevitably run into an immutable value type that can't be a proto, and now you have two totally incompatible ways of doing immutable value types in your codebase. not sure what the best solution is tbh

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
Storing serialised protobufs is just fine.

What you'll want to be careful with is if you want to actually query your data (e.g. "look up all the things where foo = 12") - at that point you want a database, not just a bunch of files.

e: talking to cinci

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
love 2 not escape angle brackets in html pages

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

MALE SHOEGAZE posted:

people doing the emulator 101 thing: what's the ac flag in the condition codes?

nm: auxiliary carry, apparently. also this manual is the best resource i've found:

http://altairclone.com/downloads/manuals/8080%20Programmers%20Manual.pdf

yeah, it's for doing bcd arithmetic (which was a thing people did back in those days, 'cos converting a binary number to decimal in order to display it is pretty expensive when you don't have a hardware divider)

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

meatpotato posted:

* uint16_t or int16_t for things that are 16 bit data off of hardware, like PCM audio samples for example. No real point using these for the result of operations because it'll probably* be faster to use 32 bit or 64 bit on modern hardware anyway.

doesn't c have stuff like uint_fast16_t for this reason?

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

CRIP EATIN BREAD posted:

wouldnt it make sense to save the PC before the interrupt and then restore it afterwards? seems like that's a lot easier

then you have to not restore it if the interrupt instruction was a jump

but do still restore it if it was a conditional jump that wasn't taken

even if the jump location happens to be the same as advancing the program counter normally

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
got to use my favourite debugging method today: draw a bunch of rectangles on the screen and try to divine meaning from their locations

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
if you ever use shared_ptr, you've hosed up somehow

it's possible that shared_ptr is the best way to resolve your immediate problem, but that just means the root fuckup was so long ago that it's now a pain to fix

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

Progressive JPEG posted:

returning a large heap allocated object?

if the caller is going to be taking ownership, return a unique_ptr. if not then return a raw pointer or a reference.

if you don't know who's supposed to have ownership, and one might be cleaned up before the other one is finished with the large object you've returned, then

Jabor posted:

that just means the root fuckup was so long ago that it's now a pain to fix

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
rewriting history on master should absolutely not be part of your normal workflow. if someone pushes some sensitive information that shouldn't be there, there should be a way to remove it, but it should involve contacting someone who administers the server, and also writing a retrospective on how that sensitive information got there to begin with and what process changes can be made to prevent a similar fuckup from happening in the future.

do whatever you like on your local vcs, though. that one's yours. the thing everyone else cares about is what commits you're pushing to master, which should absolutely not be your half-broken wip commits

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
oh, you've seen my resume

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
c++ operator overloading is some horribly abused poo poo

and it started right at the beginning when some genius decided that the left and right shift operators would be perfect to use for i/o

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

H2Eau posted:

i guess I'm just spoiled, because we break our js frontends up into tiny pieces a fresh npm i and webpack takes a whole 15 - 30 seconds

15 minutes is some real bullshit

30 seconds is too long imo, our incremental builds take about that long and it's long enough to break your flow.

ideally you'd be down in the single digits.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
just use ComparisonChain

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
Props to that one dev that wrote 15 unit tests even though it was obvious that noone else gave a poo poo.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
microservices are a design smell, yes

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
i actually didn't think it was that bad, the only person suggesting that they were bad is coc's resident idiot savant who has a knack for being completely wrong literally every time they post

i guess there were a bunch of people engaging with him though

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
it should be like nans where any operation that isn't explicitly checking for it just produces undefined

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

CRIP EATIN BREAD posted:

you can use a lookup table like you suggest (join tables) but honestly you'll probably be fine just using a single character as your gender column and then using a separate table with no foreign key that identifies all the gender settings for a specific company, which will be a tuple like (company_id, code, description). obviously using a join table is "more correct" but constantly doing joins for some things is pointless. especially if they have changes, like say a company had A, B and C available, but then decided C isn't an option anymore. So now you'll also have to implement a "deleted" column and it all ends up being a lot of work when you could just use a column, and performance will probably be better avoiding the joins.

Yes, I'm sure that querying for an id and then manually doing a join on the client is going to be way more efficient than getting your relational database to do it.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

CRIP EATIN BREAD posted:

the idea is you don't need a join at all, ever.

the thing you described (make a column with a synthetic value, use it to look up data in another table if you need that data) is literally a join

you're just pointlessly doing it in the client instead of in the database

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
often the things i need to debug involve them happening a whole bunch of times, but is only going wrong one of those times. so if you wanted to use a debugger, you'd either have to come up with a conditional breakpoint expression that only triggered in the failure case (and if you knew enough about the problem to be able to write that, you probably don't need to step through it in a debugger - often the problem only becomes apparent well after the point you want to start investigating values), or work through all the non-failing cases first before you get to the interesting one.

so it's easier to add a bunch of logging, reproduce the issue, then read the entrails to divine what went wrong

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

cinci zoo sniper posted:

EVERY MORNING I WAKE UP AND OPEN PALM SLAM A VHS INTO THE SLOT. ITS ENTERPRISE DATA MANAGEMENT AND RIGHT THEN AND THERE I START DOING THE MOVES ALONGSIDE WITH THE MAIN CHARACTER, SINGLE SOURCE OF TRUTH. I DO EVERY MOVE AND I DO EVERY MOVE HARD. MAKIN WHOOSHING SOUNDS WHEN I SLAM DOWN SOME OF THEIR NUMBERS OR EVEN WHEN I MESS UP OUR NUMBERS. NOT MANY CAN SAY THEY ESCAPED THE GALAXY’S LONGEST SKYPE CALL WITH 25 PEOPLE. I CAN. I SAY IT AND I SAY IT OUTLOUD EVERYDAY TO PEOPLE IN MY OPEN OFFICE AND ALL THEY DO IS PROVE PEOPLE IN PROFESSIONAL ENVIRONMENT CAN STILL BE IMMATURE JERKS. AND IVE LEARNED ALL THE LINES AND IVE LEARNED HOW TO MAKE MYSELF AND MY INBOX LESS LONELY BY TYPING EM ALL. 2 HOURS INCLUDING WIND DOWN EVERY MORNING. THEN I LIft

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
in c++ you have references, which are pointers except you don't need to use ->

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
The good thing about c++ is that someone who really understands it can write abstractions the are only a little bit leaky. This means that you, as the person writing code to actually do a thing, can just use them without caring what's under the hood too much.

If you have someone who doesn't understand it that well or is just a little bit lazy writing your abstractions though, you're in for a bad time.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
In that case you only need 10 2x improvements.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

bob dobbs is dead posted:

i did get a few weird looks when i showed up 2pm once

just play it off like you're coming back from lunch

make sure you take your bag to lunch every day to prime expectations

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
Implying someone works at the turd-shunting yard is a zero-cost insult, so it's not surprising that it just got optimized away in hackbunny's mental model

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
if your service needs transient working storage, k8s handles it just fine. if your service needs persistent storage, it shouldn't be doing it itself, it should talk to a different service or a database or something which handles that.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

Xarn posted:

So how does the DB handle its storage?

very carefully

but essentially, the point is if a service is responsible for persisting data, that's the *only* thing it should be responsible for. no processing, no business logic, purely persisting data for your other services to use

and since that's not specific to your business domain, ideally you let someone else do the heavy thinking on that part

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
early on in high school i had an it class which was basically "play mario teaches typing for an hour a day"

and to be totally honest, it was far, far more relevant and useful than the "mess around with php" class i ended up doing towards the end of highschool

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
sounds like he wasn't the only incompetent manager at that org

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
Suppose you make it "really big" and then exclude everything touching the edge.

How big does "really big" need to be, in order to give you the right result?

It's quite a bit smaller than you initially thought

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
You should make a deprecation and turndown plan, and send it to everyone (especially the c++ grognards).

After about a month of no-one actually looking at the plan, then you can start switching the system off using your previously-written plan (that no-one objected to) as justification.

Adbot
ADBOT LOVES YOU

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
uh, you should be getting paid at least time-and-a-half before you even think about doing OT

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