Programming thread

Bjarne Strostrup may have created a monstrous language that is now C++ but his smug academician face is always funny to me
the old academics are still better than the modern tranny devs
One of my favorite lesser known programming academics is Olin Shivers.


Scroll down and read the acknowledgements.
 
Google's making their own C++ knockoff (No, not Dart) after they failed their power grab at the standards body. "It's like C++ but it's also rust!"

There's a conspicuous absence of Google branding but note that most of the contributors are (((Googlers))) from the C++ project team or from NVIDIA. Really makes you think.

Also, eternal reminder:
View attachment 3507092
This language will almost be guarunteed to end up like every other Google project: half-assed or dead in under 5 years.
 
Doing a college class on Database Concepts, it feels weird, like for more than half the class I had no idea what the fuck I was doing with SQL, but then like two weeks ago it clicked for me.
Speaking of SQL... my company is doing contracting work for a bigger, extremely bureaucratic corporation / institution.

We're building a product that the client will be deploying internally on their servers. It's really me who's building it, all the code is mine, aside from some dockerfiles and other deployment scripts someone else is writing.

In building this, I'm not using an ORM, just inline SQL. I've never been a big fan of ORMs. I like to be directly involved in laying out the table design and I hate all the goofy constructions and weird bugs ORMs come up with, that you end up having to debug by hand anyway.

So at first, I had the goahead to start building this (just kinda prototyping, sketching it out) before we had hard specs from the client about the deployment environment. This was with the assumption that if I didn't do anything too exotic, the final changes to match the actual environment would be minimal. Which is more or less what happened. Started off with MySQL, then they told us we'd be using postgres, so I rewrote it, but otherwise that was the biggest env related change.

Now after a few weeks of work and testing, it was pretty much done. I moved on to a new project while my coworker started talking to the client's guys about deployment.

This is where it gets weird. They're saying they want to micromanage how the tables are named and how the columns are named. They're using some gui tool to model the relations graphically, and it generates column names from the English descriptions they put in, and they're horrendous.

Like hypothetically what was location.product_category_id in my code became loctn.loctn_prodkt_cat_index_uid in their proposed schema. Yes, they would occasionally reduplicate the table name in the field name too. Yes, they would arbitrarily toss in words like index into the field names. No, none of this was done consistently.

I'm going to have to rewrite this (and the project that has since come after this, fuck me). Or my coworker will be assigned to it. It's mostly a search and replace job but you want to do it right. I had to spend two days this week helping my coworker debug what the new SQL code broke.

I wanted to hassle them about this and get an explanation from them, but they're also a client and this is not really a hill to die on. This project is a little crud REST API with some automation tossed in. I'm not super proud of it but on the other hand it's also not terrible.

So now I'm just trying to rationalize this to myself. Maybe they're used to working with braindead pajeet python code that just uses an ORM and this isn't usually a huge problem most of the time? So they're using that shitty gui tool, maybe it's just laziness on the part of the database pajeet we're working with? I can deal with that.

But I push a little, and my more business minded colleague talks to the project manager on the client side. (I don't think he trusts me not to call him a knob gobbler, which is fair enough) The business manager replies "nah, just policy that we abbreviate columns that way". This makes no sense. A human is having to type out the longer English descriptions, so at some point there is some control over what column names get generated. But by this point, I feel like I'm losing this fight.

Also, by the way, terrible H1B1 hires are making this so much worse. I've worked with intelligent, competent pajeets before, but they're rare. Your typical pajeet coder is well trained, but only in providing the same cookie cutter solutions to very specific problems, and god help you if you need them to demonstrate some creativity or flexibility in solving an unexpected problem. And the language barrier is a huge problem.

So here's what I think would happen if I kept pushing: they'd put me on a call with their database pajeet again.

I'd spend an hour trying to figure out how the field names are generated. I'd be asking if typing the English documentation text in their shitty db schema GUI program is what does it. (which is what I'm guessing). I'd ask them if they could type whatever doc text is necessary to generate fields at least mildly close to the original field names. That'd be a good compromise. I'd be ok with that.

But I'd have to sit there explaining myself over and over and wait a good thirty seconds each time for the pajeet to reply and say "but no see mister we put the description in the box here". I don't know if it's the language barrier or the lack of problem solving skills but there's something serious wrong with these people in the tech industry.

All in all, I think it'd probably take an hour and a half to get a yes or no on that proposal and I'd look like an annoying spergy asshole the whole time. So I'm just giving up now.

Also why are we hiring people who can barely speak English for a technical position? Nuance and the ability to express it and understand it is vital. Also if I went to Bangalore and couldn't speak the local language competently I'd feel like a huge asshole.

Also half of them consistently misspell my first name. Marvin is not difficult to spell (not my real name). It's in my email signature. I always am very careful and respectful to spell their names properly yet they treat my name like they're writing a Nigerian prince email.

Fuck me, I hate big orgs.
 
Last edited:
@Marvin
I once worked on a project that didn't use an ORM, but had table names in constants. So instead of the inline queries looking like "SELECT * FROM users WHERE…" they looked like define("TBL_USERS", "users"); … "SELECT * FROM " . TBL_USERS . " WHERE…" To this day I have no goddamn idea why that was originally done since all of those constants were just the table name in caps and prefixed with "TBL_", but that might be the approach I'd take if I had to put up with clients who decided they were going to use RNG to decide table names themselves.
 
@Marvin
I once worked on a project that didn't use an ORM, but had table names in constants. So instead of the inline queries looking like "SELECT * FROM users WHERE…" they looked like define("TBL_USERS", "users"); … "SELECT * FROM " . TBL_USERS . " WHERE…" To this day I have no goddamn idea why that was originally done since all of those constants were just the table name in caps and prefixed with "TBL_", but that might be the approach I'd take if I had to put up with clients who decided they were going to use RNG to decide table names themselves.
Couple things come to mind... they want to store sets of tables for two->infinity clients in a single database, but can't use schemas (this is what, like, MariaSQL and SQLite at this point?)- and there's some reason they can't prefix the table names? Or they want to gradually migrate to using views on top of the tables to restrict access based on a user's permissions as defined in some other tables (this doesn't even make sense, just make a USERS view that points straight at TBL_USERS and doesn't apply additional security and add the security and the triggers later, but I can still see some dumbass deciding it should be done that way).
 
@Marvin
I once worked on a project that didn't use an ORM, but had table names in constants. So instead of the inline queries looking like "SELECT * FROM users WHERE…" they looked like define("TBL_USERS", "users"); … "SELECT * FROM " . TBL_USERS . " WHERE…" To this day I have no goddamn idea why that was originally done since all of those constants were just the table name in caps and prefixed with "TBL_", but that might be the approach I'd take if I had to put up with clients who decided they were going to use RNG to decide table names themselves.
Thing is, it's not just the table names but the column names as well.

Though now that I'm thinking about it, I can probably replace all the string literals with some kind of format string template and it'll actually be moderately readable. Just concatenation would probably be as comparably unreadable as their proposed names, because I'd have to do it for every fucking table and field name. Sprintf would be pretty bad too. (ie db.Exec(fmt.Sprintf("UPDATE %s SET %s = $1, %s = $2 WHERE %s.%s = $3", user_table_name, user_table_field_name_name, user_table_field_name_birthdate, user_table_name, user_table_field_name_id), user.Name, user.Birthdate, user.Id)) (also am in bar, coding from memory, may not be representative of reality)

I'm doing this in golang, which is whatever, but I can leverage its pretty solid format language library for this.

So that'd turn UPDATE user SET name = $1, birthdate = $2 WHERE user.id = $3 into UPDATE {{.user.name}} SET {{.user.field.name}} = $1, {{.user.field.birthdate}} = $2 WHERE {{.user.name}}.{{.user.field.id}} = $3, which is sadly one of the least faggy options available, short of just eating crow and resigning myself to this nonsense.

Still pretty resentful bureaucracy and pajeets are messing with me like this, I'm an independent contractor goddammit.

:drink: drowning my sorrows
 
@Marvin When you understand what Indian education is like it all starts to make a whole lot more sense.

Essays? Well they're just rambling until you hit the word count. Your whole FUTURE is based on the scores you receive from standardized exams. This includes both applying to universities and applying to jobs (does any employer care about your high school GPA in the US? Well, no. In India though...)

Obviously they can't think critically because they've been brought up to memorize and regurgitate.
 
Currently interested in personal knowledge management systems. I've implemented Foam in VScode for my "second brain" to help me organise and contextualise notes properly so it stops being a spaghetti mess. Looking forward to building it up this coming week while I work on some small projects, and eventually creating cool recipes/templates for myself and others.

I've also decided to make a portfolio of interesting projects for employers as opposed to cookie cutter things like "restaurant booking tracker", "twitter clone". I could do that to prove I know how to do things in a basic way, but I feel my value lies in what sparks my interests and how I utilise that to solve problems in novel ways.

Other than that, I'm just toodling through a backend dev road map and implementing what I learn as I go. It's a nice way to learn and I think I might be ahead of schedule as far as applying for positions with confidence.
 
Got a potential avenue for progression at work, but I really need to brush up on my C#... Going to do some searching on my own with M$'s resources, but if anyone has some good learning resources it would help.
 
@Marvin When you understand what Indian education is like it all starts to make a whole lot more sense.

Essays? Well they're just rambling until you hit the word count. Your whole FUTURE is based on the scores you receive from standardized exams. This includes both applying to universities and applying to jobs (does any employer care about your high school GPA in the US? Well, no. In India though...)

Obviously they can't think critically because they've been brought up to memorize and regurgitate.
What's dumb is this applies to a lot of American Indians just as well. They've lived here all of their lives yet they have the same pitfalls and mindset to the point of weakness.
 
Quit my jerb (they'd prefer "got fired" but they were willing to retain me before I called the CEO a faggot).

God what a shitshow.

The office is murderously hot. Ventilation only works in the server room, but if you open the door, moisture starts collecting in there in a pipe near the ceiling and it starts rattling.

The CEO (who is a faggot) is making rounds: "HEY PUSSIES HOWS UR PUSSIES??!! Y ARNT U NEKKID!!!???? ITS HOT AMIRITE??"

No one knows anything. No one knows how the fucking product works. The API is a mystery and serves 500-key dicts to populate a 50column table row because no one knows which data is needed (Pajeet frontenders say "all of it" because they don't want to do their jobs).

In fact no one wanted to do their jobs except me and my immediate boss the performance team-lead. Because performance didn't require much product knowledge, the two of us started chewing through the codebase (me writing code and him seeking out bottlenecks) improving performance anywhere from 10x to 1000000x (yes, seriously- I mean, it was really shit code).

Unfortnately, the CTO came up with a terrific idea that'd allow him to not do his: workers should just coordinate themselves and assign tasks to each other! If you go through a lead instead, you will be reprimanded for not being a team player.

And to facilitate that, he hired an ultra retarded faggot who looks like a thumb and breathes liquid cancer, and gave him The (metaphorical) Stick. As in, empowered him to lead daily task-tracking skype calls, all sorts of development meetings, my bro Mike's performance conference, testing, the pajeet roundup, etc. Everyone quickly realized where The Stick lay.

Do you maybe need testing access credentials? Database logs, performance metrics, or just to populate the fucking mysql timezone tables? Frontend to switch to the newly optimized url, or to list the data it actually needs? Lol tough shit, you either get no response whatsoever, or, in case of the db admin, a "why is IT so inhospitable to LGBTQ+ persons" article from an Ukrainian website that'll give AIDS to both you and your machine. You go to your lead, he gets ignored, too, and you get reprimanded by the CTO. Only The Thumb who wields The Stick can get anything done.

So I quit. The good news is my dream employer has an opening with my exact skillset - I worked for them twice removed for 1.5 years, so I wrote that in an Overly Attached Girlfriend cover letter. If they actually hire me, I hope they have a corporate anthem so I can sing it every morning hand over heart. (I also applied to over 70 other places, lol.) We'll see.
 
Last edited:
Were those stints on a contract basis?
I was a contractor of a guy who was a contractor of another guy who was a contractor of theirs.
They read my cv today. Didn't reply (yet / at all).
It's legal for them to hire me, as a contractor or employee. It'd only be sus (tax dodging) if I were an employee and then became a contractor.

Meanwhile I'm getting swarmed by recruiters from different branches of the same bank. They get a $600 bonus per hire and no penalties for wasting their bosses' time so it's funny. "I've never worked on a high-load system! I don't know what multithreading even is!" "DON'T WORRY YOU'RE BRILLIANT YOU WILL LEARN IT NEVER HURTS TO TRY" (It does actually, few jobs are as draining as looking for one.)
 
marvin touched on this in his above lengthy post(not sure why i cant reply or quote it) but id like to rant on the language barrier.
i currently work with a lot of indians and while i am sympathetic to anyone trying to speak english, i know first hand how difficult it can be to speak a foreign language, it makes working so frustrating at times. something which would only take like 2 minutes to explain to a native speaker ends up taking 20 minutes and at the end of it they still dont completely understand. though i do admit, some of it can be blamed on me not being the best at explaining things, but that's just it, with competent english speakers even my lack of ability to clearly explain things isnt a problem.

i dont know, i just feel so frustrated and annoyed when working a technical job and having coworkers who i cant communicate effectively with. though on the plus side i do find many(but not all) of the female indian accents to be kind of sexy.

and everything else marving said about pajeet programmers is 100% true. sorry just need to rant abotu this topic a bit.
 
What's dumb is this applies to a lot of American Indians just as well. They've lived here all of their lives yet they have the same pitfalls and mindset to the point of weakness.
I knew a guy years ago. Indian (dot, not feather) family, but he was born here. Dude was dumb as fuck. To be fair, I think he was just the depository for all the worst genes in his family. I get the impression his cousins are less dumb. (probably not any brain surgeons there though)

But dude got a comp sci degree (I don't have one, I dropped out) and is still as dumb as fuck. I haven't checked up on him in a few years, but I'm sure he's gainfully employed by some terrible bureaucratic corporation where he just coasts by on mediocrity.

No one knows anything. No one knows how the fucking product works. The API is a mystery and serves 500-key dicts to populate a 50column table row because no one knows which data is needed (Pajeet frontenders say "all of it" because they don't want to do their jobs).
Woof! I know that. I worked for a startup in a foreign country once and was the main backend engineer. (Actually, they told me for months my title was CTO until I actually tried to exercise that authority over one of our hires, just for our CEO to gently tell me that the title was just for show. I quit immediately and flew home.)

Until we were able to hire frontend engineers, we contracted out the development of our UI to some pakis. They insisted that the REST API that I wrote didn't provide the information they needed to implement the frontend. Bullshit, I said. In response, I implemented a terrible, ugly-as-sin frontend using jquery as spite code. Absolutely doable.

Now don't get me wrong, maybe my API was shitty and ugly. Which is fine, I can appreciate that criticism. I can take that on board. But don't bullshit me and tell me you actually can't do the job when you absolutely can.
not sure why i cant reply or quote it
Annoying bug in xenforo. Quoting posts longer than a certain length shits out. It can still be done by manually fucking with the BB code. A user script can probably mitigate it. I've been meaning to try to address that but I've been busy.
i dont know, i just feel so frustrated and annoyed when working a technical job and having coworkers who i cant communicate effectively with. though on the plus side i do find many(but not all) of the female indian accents to be kind of sexy.
Funny thing, when I worked with the pakis, they have a lot of female coders. Poorer and less egalitarian countries seem to have more women working in typically male nerd jobs, if only just to support the household.
something which would only take like 2 minutes to explain to a native speaker ends up taking 20 minutes and at the end of it they still dont completely understand. though i do admit, some of it can be blamed on me not being the best at explaining things, but that's just it, with competent english speakers even my lack of ability to clearly explain things isnt a problem.
There's a lot of intuition necessary to explain programming concepts.

Also BTW Chinese coders are also terrible with bad English.
 
Last edited:
Back