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
leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
you people and your 8080s. try implementing something fun and esoteric, like a belt machine. if your want real fun, build the whole thing in VHDL after your emulator is working.

i did that for a masters course and still have nightmares

Adbot
ADBOT LOVES YOU

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

eschaton posted:

LOL you say that like it’s some horrible inefficiency to traverse a few runtime data structures

depending on your platform it absolutely can be, especially if it’s a common pattern

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

moonshine is...... posted:

My issue with debuggers was, learning gdb/or figuring out what gui frontend is good for gdb. My first language was C++ in college, it sucked I never got beyond making useless console apps with it. Now I'm working with C#, when it comes to writing C#, I love the debugger built into visual studio, it's way better than using console.writeline to sort something out.

hot take: the gdb protocol is good

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
I still :lol: about people rewriting FreeBSD’s jails in a Linux as this incredibly new amazing thing.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Kevin Mitnick P.E. posted:

i assumed that the thing op was talking about with pinning pods to hosts and hostPath volumes wasn't actually happening cause if you do that k8s is just a pointless complexity layer

we have about a dozen pointless complexity layers in our game client, so I wouldn’t be surprised if there are a few in someone’s server config.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

akadajet posted:

it's amazing how many incompetent people there are in tech

it’s amazing how many of them make it to the top

it’s almost like promotions don’t have anything to do with competence

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Slurps Mad Rips posted:

“look in video game development we don’t have time for unit tests. if it looks like it works then it works”, my manager said as he hit “run” in visual studio 2010 and then refused to make eye contact with me as it immediately crashed from a pure virtual function exception.

I had a lead ask me a few months ago what the point of a unit test was because it didn’t seem to test much. He proceeded to harp about how he wanted tests while rejecting any changes that would lead to testable structures. This lasted for about a month, in which time he wrote no tests. He often talks about how useful singletons are and extols the virtue of empty non-qualified catch statements. This is the type of brokebrained person that you get to deal with in games because they’re too connected to get the axe and too incompetent to get hired on with a reasonable dev team.

I’m in process of convincing my manager and the rest of the team to move perf critical portions of the code to ECS to trick my coworkers into writing testable code.

my manager and other teams managers are aware of my plot and in on it. a lead on a different team was against the shift in patterns until I explained that teaching ECS allowed an opportunity to teach people who thought they knew (but don’t know) reasonable practices what they should already be doing. they immediately understood and asked if I needed help getting the ball rolling.

games are terrible. still better than government work though.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

pokeyman posted:

can we start calling them "loc lines", like "yac yards"? it sounds so deliciously stupid and I think we could start a groundswell

is “loc lines” better than compacting it into “klocks”

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Captain Foo posted:

dehumanize yourself and face to cockroach

name is super apt given their sales team

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

DONT THREAD ON ME posted:

the shell commands sed, echo, and cat form a turing complete language

pretty sure you just need sed.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

CPColin posted:

I wrote a BBCode parser for Experts Exchange's special unicorn of a BBCode flavor and, thanks to a long request notification service that I also wrote, discovered that mismatched italics tags exhibited O(n²) or O(n³) behavior as it repeatedly scanned the input back and forth, desperate to find a matching [/i] tag. That was a fun one to hotfix.

Later, I had to write code to translate HTML to their BBCode format, because an ill-advised WYSIWYG editor project from years prior had saved a bunch of raw HTML into the database that the code was having to sanitize every time it was displayed.

Every day I wake up and see that company still alive is a shock.

counterpoint: SA is still alive, so that’s a pretty low bar

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Soricidus posted:

congratulations you’re in the top 1% of professional programmers

we should really pick that bar up off the floor someday.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Private Speech posted:

on one hand, LMBO at stealing code and admitting to it

on the other :tinfoil: it probably, uhh, happens a lot

I found GPL code in a codebase once and had to explain to exec team what that meant and how to remediate. that was fun

same re: CCbySA except replace ‘once’ with ‘basically constantly’

personally never been tempted to steal a codebase I’ve worked on because they’ve all been garbage. but people misappropriate code all the time.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

urea posted:

These OOP insights just seem to me like really convoluted ways to do functional programming

better than nonfunctional programming.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

florida lan posted:

this describes my current employer's code base, and is doubly fun because it was checked in *by* the exec team

founders, amirite

:smith::hf::smith:

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

BurntCornMuffin posted:

Out of curiosity, what issues? I've used both over the years, but I like Gradle far better: it's more flexible, its build files are nicer to read, and the wrapper is great for enabling people to build without having to install the program.

I have never seen a Maven project fail to produce a messy POM, and the XML format needs to finally die.

hot take: xml is fine. jason certainly isn’t any better.

xslt is real bad though

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Xarn posted:

This. There is a definite trend towards value-oriented error handling, and while I don't agree that there is no place for exceptions, it definitely fits better in some ise cases.

Go, being a reactionary-C, throws away all improvements made to errors as values since C because :shrug:

I refuse to believe go’s error handling could be as bad as errno. error status is at least thread safe in go, right?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Progressive JPEG posted:

iirc errno is thread-local

so even errno has had more thought put into it

errno is thread local in modern versions of the spec, but originally it was a global var. of course when C was originally conceived multi core processors were somewhat rare.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Fatal Error posted:

c terrible programming s: turns out if you want to work on a project on linux and windows, you should make sure you're not using a reserved filename. aux :bahgawd:

user name post combo

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
started doing some stuff with the server team here. go is such a godawful language for this, why would anyone use it willfully?

:smith:

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

fritz posted:

are they 1- 4- 8- or 8-space tabs

I use 3 space tabs to make it very obvious when people mix tabs/spaces

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Ciaphas posted:

every time i see something like this i twitch involuntarily
code:
Foo* p = new Bar();
p->Initialize();

how about

code:
Foo *p = malloc(sizeof(Foo));
p->Initialize();

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
I just got a robocall from Belize. which of you is doing this?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Bloody posted:

ugggghhh this "thread safe" code is loving cursed. and not at all thread safe. it just has a lot of locks

there’s a Job.Threading namespace at job that has a bunch of collections in it. all of them use the non-thread-safe system collections as backing types and don’t even lock.

when confronted, the architect couldn’t identify what the problem was.

:eng99:

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Powerful Two-Hander posted:

i think the problem here is that our server builds are hosed up and have the classic "whatever the default of the guy that built or possibly even deployed the image was using at the time" which is pretty funny if I'm honest

like iirc for years you couldn't rely on server time zone or language between environments because there was no consistency in what had actually been set up even for servers allegedly built at the same time, idk if this has been fixed.

poo poo is hosed up

just convert everything to internet time. the machines are already on the internet so it just makes sense.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Xarn posted:

Oooof, I wonder what set of evolutionary steps left a function with both an output parameter and a return value.

probably the same as TryGetValue on a bunch of collections in c#

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Doom Mathematic posted:

If it's all equally "important" then implicitly you can do the tasks in any order you prefer. I would start with the low-difficulty, high-value ones.

this is probably the correct thing to do. but can someone tell me why all the fun stuff is high-difficulty, low-value?

fake edit: it’s probably because all high value work gets sliced until it’s low-difficulty

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Soricidus posted:

if I had a figgie for every time I’ve encountered a vital new requirement, sweated blood to deliver a solution in record time, and then watched it never be used, I’d have retired long ago

yeah but how many times would you retire per year

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Krankenstyle posted:

always use integers for money (eg in cents, 100 = 1 dollar, or whatever precision you need)

this is all cool and good but banks don’t behave that way hth

the world is on fire, nothing should ever work, no one actually cares

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.
found a C# list of ref types with a comment about locality

author doubled down when I tried to point out that the guarantees they were claiming weren’t accurate, and that we had effectively no guarantee on what memory the objects were using

:eng99:

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

eschaton posted:

that’s essentially what the stupid “put a web renderer in the standard” proposal is

why would anyone want that in the standard?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

eschaton posted:

vi and vim are not and never will be “fine”

you’re right, but neovim is great

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

gonadic io posted:

need a bit of design rubberducking.

dominions 5 is an async game where players submit their turns whenever and then once all players have (or the usually 24 hour timer ticks over) then the server generates the next state and everybody submits their next turn.

i wrote a discord bot that checks the server state on a loop and then 1) allows players to query the state, and 2) sends PMs to players when a game they're in rolls over.

currently the design is: there's a shared mutex containing a hashmap for all servers to their state. one thread updates this in a loop, and then when players query the bot in the other thread they query the saved state so they they're not querying the server each time.

the main thing i struggle with is notifying the players. currently the update thread just does this if it notices that the server has advanced. this is less than ideal for a few reasons: 1) it prevents updates from happening while sending like 10 PMs, 2) if any of those calls fail it's handled poorly, 3) sometimes the game server decides to capture tcp connections forever which prevents all games from updating and requires a manual restart despite my efforts to put timeouts into my tcp calls, 4) duplicate pings are also happening for ??? reasons 5) the updates happen one at a time so when the bot starts you might have to wait for 20 other calls before your game has info

like what should this design look like? the update thread actually spawning child threads 1 per server it needs to look at? some kind of queue of notifications to go out so that the update thread(s) don't care about actually sending the PMs? rust specific but should i just stick with thread::spawn or start messing with futures? serenity (the discord library i'm using) doesn't support async but i can just run it in a threaded executor's spawn_blocking if i needed.

the original idea was to be super simple and it's just kind of grown organically and now things are starting to interact poorly

Ideally you'd have some lightweight tasks/futures library backed by a thread pool. Then the update thread manages the tasks lifecycles.

The C# thread pool has a separate set of UI threads; I'd check the docs to see if rust's is similar.

So yes; futures.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

taqueso posted:

Acceptance tests of external libraries or really external anything are cool and good, too.


e: I thought this book covered the how of test driven development well, something I hadn't seen before in other books that tend to concentrate on the why. Does anyone have any recommended reading on testing?
https://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627


http://propertesting.com/

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Wheany posted:

if you see a terrible programmer, turn your monitor on

Just get a matte monitor, then you don't have to look at terrible programmers so often

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Bloody posted:

waterfall is awful lol

It's better when people are honest about it instead of claiming they're doing something else though.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

dick traceroute posted:

extensible meme language

template meta-memeing

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

ratbert90 posted:

Chef is fine if you really need a client/server relationship. :shrug:

All of them are bad but none of them are better :shrug:

Just pick one, move on, and occasionally complain about it imo

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Ciaphas posted:

i think this is the point where i need more directed learning on testing and testable code in general, rather than googling topics as i approach them (or shitposting here - not that i'm not grateful :v:)

Working effectively with legacy code is good; you can lookup your complaint about code in the index.

Adbot
ADBOT LOVES YOU

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

abraham linksys posted:

this is like my least favorite thing about leaving the safe single-threaded confines of js

async/await on a single-threaded event loop meant it was extremely easy to reason about concurrency because you knew, if you were in a sync function accessing some poo poo, that within that function it was absolutely impossible for it to change out from under you. the await breakpoints then told you "on the other side of this, something might have changed." it was nice! sure you had "colored functions" or whatever that stupid blog post is about, but in practice js has been async by default for i/o for years, it's other languages who are having trouble catching up (see: kotlin coroutines are kinda pointless because none of the jvm db libraries and only a handful of http servers/clients support them)

now everyone suddenly wants this green thread stuff which i thought were thoroughly argued against here in a compelling way. when you have threads (green or non-green), you suddenly find yourself having to do poo poo like create awkward-to-use queues to prevent unwanted concurrency, and i hate this! threads are totally fine for cpu-intensive poo poo, but in your normal i/o-bound web context just give me one drat thread and an event loop with async/await or yield or whatever

i don't really know where .NET async/await lands with all this? i assume given it's a non-plang you have all sorts of threading options, but i'm unclear if, for example, asp.net gets a (pooled) thread per request or if it single-threads everything synchronous

i still haven't managed to figure out erlang, i dunno, maybe it'd make me see the light on this poo poo, but i'm skeptical. i assume they have like... patterns for abstracting over state so you never actually want shared state and thus it doesn't matter, or something

Just hold the state in its own thread. Then communicate between threads by dropping messages in thread safe queues. Easy.

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