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
MC Fruit Stripe
Nov 26, 2002

around and around we go
Internal customers is just what he calls other departments, because IT obviously works for everyone and has no power of its own. QA? Internal customer. Help desk? Internal customer. Developers? Internal customer.

So I told a guy infront of developers and QA that no I will not be logging on as you to do this thing - me do bad. Me do real bad.

Adbot
ADBOT LOVES YOU

WaffleLove
Aug 16, 2007

Boogalo posted:

The NES game Star Tropics came with a letter from the character's dad along with the manual. A puzzle in the game told you to get the letter wet to reveal a frequency code that was required to continue the game. I was stuck there for so long.

https://en.wikipedia.org/wiki/StarTropics

Omfg. I own this game and bought it used. I was stuck there for so long :/ Internet was not a thing for me at the time.

Thanks Ants
May 21, 2004

#essereFerrari


MC Fruit Stripe posted:

Internal customers is just what he calls other departments, because IT obviously works for everyone and has no power of its own. QA? Internal customer. Help desk? Internal customer. Developers? Internal customer.

So I told a guy infront of developers and QA that no I will not be logging on as you to do this thing - me do bad. Me do real bad.

Is the customer also always right?

Che Delilas
Nov 23, 2009
FREE TIBET WEED

MC Fruit Stripe posted:

I enjoy my coworkers but man do I loving hate my director. And I mean with a preoccupying hate, not just a professional disregard.

Take it from someone who's had the same feelings, this is an unsustainable situation if you value your health.

myron cope
Apr 21, 2009

Our "security admin" added lastpass to the 'banned list' because they were hacked. I feel like this is a pretty large overreaction.

Ynglaur
Oct 9, 2013

The Malta Conference, anyone?

myron cope posted:

Our "security admin" added lastpass to the 'banned list' because they were hacked. I feel like this is a pretty large overreaction.

Tell him/her that he/she should probably ban their own network, since I'm sure that has been hacked as well. If it hasn't, then having everyone use the same password everywhere will ensure its only a matter of time.

MC Fruit Stripe
Nov 26, 2002

around and around we go

Che Delilas posted:

Take it from someone who's had the same feelings, this is an unsustainable situation if you value your health.
I guess for me it's a little different.
To be honest I never really think of work outside of work
So it doesn't bother me so much

Absolutely I understand that for some people it affects life outside of work.

Given the choice, I'd simply replace my director
I don't have that option though, so I just deal with his bullshit
Really though, I just come on here to vent my frustration.
Let it out and then move on, that's my motto.

stubblyhead
Sep 13, 2007

That is treason, Johnny!

Fun Shoe

WaffleLove posted:

Omfg. I own this game and bought it used. I was stuck there for so long :/ Internet was not a thing for me at the time.

I rented it at Blockbuster, and they didn't have the paper when I called to ask. I went up from 000 until I found the right code.

It was 747.

Proteus Jones
Feb 28, 2013



MC Fruit Stripe posted:

I guess for me it's a little different.
To be honest I never really think of work outside of work
So it doesn't bother me so much

Absolutely I understand that for some people it affects life outside of work.

Given the choice, I'd simply replace my director
I don't have that option though, so I just deal with his bullshit
Really though, I just come on here to vent my frustration.
Let it out and then move on, that's my motto.

That reads like a free verse poem. Beautiful, man.

keseph
Oct 21, 2010

beep bawk boop bawk

mewse posted:

- The DRM on Diablo 3 is a really nasty precedent where the game is run on company owned servers and executables never provided to the customer. It was a decent game and it was just doing what MMOs have been doing forever, but it was a pretty blatant move to take control away from us, the public. When smaller companies start doing this and shutting down their servers when they go bankrupt, it will be like intentionally destroying our culture which is also a problem in a lot of intellectual property debates.

At the same time, though, they had some pretty legitimate reasons for wanting to restrict user behavior -- namely the *absurd* cheating that went on in D1 and D2. It ran the gamut from duping items, to one-shotting people who weren't PVP-enabled, to crashing other people's games outright; they easily stand out in my memory as the most heavily-exploited online games I've ever played. Very few other [non-MMO] online games had the same character permanence across many hours of play, so the impact of cheating was that much more severe. When they settled on the decision to include the RMAH (putting aside your personal feelings on it!), strict measures to curb exploitation became a foregone conclusion.

Kazinsal
Dec 13, 2011


flosofl posted:

That reads like a free verse poem. Beautiful, man.

*snaps fingers repeatedly as a bongo drum roll fades out*

nitrogen
May 21, 2004

Oh, what's a 217°C difference between friends?

Kazinsal posted:

*snaps fingers repeatedly as a bongo drum roll fades out*

If you think that's good, you should read this:

http://www.catb.org/jargon/html/story-of-mel.html

quote:

Maybe they do now,
in this decadent era of
Lite beer, hand calculators, and “user-friendly” software
but back in the Good Old Days,
when the term “software” sounded funny
and Real Computers were made out of drums and vacuum tubes,
Real Programmers wrote in machine code.
Not FORTRAN. Not RATFOR. Not, even, assembly language.
Machine Code.
Raw, unadorned, inscrutable hexadecimal numbers.
Directly.


It goes on like this, it's beautiful

Proteus Jones
Feb 28, 2013



nitrogen posted:

If you think that's good, you should read this:

http://www.catb.org/jargon/html/story-of-mel.html


It goes on like this, it's beautiful

That link is pure pro-click. Mel is my hero.

quote:

[1992 postscript — the author writes: “The original submission to the net was not in free verse, nor any approximation to it — it was straight prose style, in non-justified paragraphs. In bouncing around the net it apparently got modified into the ‘free verse' form now popular. In other words, it got hacked on the net. That seems appropriate, somehow.” The author adds that he likes the ‘free-verse' version better than his prose original...]

skooma512
Feb 8, 2012

You couldn't grok my race car, but you dug the roadside blur.
Nurse says system hasn't been working right for a week.

Decides to put in a ticket for it on Saturday morning. I can't exactly update the VDIs outside of business hours....

sfwarlock
Aug 11, 2007

flosofl posted:

That link is pure pro-click. Mel is my hero.

I may or may not have included #define MORE_MAGIC 1 in projects before.

EDIT: Also, pissing me off right now, Windows update.

"Sure, I can take a bit of Saturday to spin up a new base image so we can test (some stuff) ... no, man, it's cool, it'll take me 15 minutes to do the install then I sit back while it updates all day, it'll save us so much time on Monday."

Four hours later:

sfwarlock fucked around with this message at 22:18 on Jun 20, 2015

RadicalR
Jan 20, 2008

"Businessmen are the symbol of a free society
---
the symbol of America."

flosofl posted:

That link is pure pro-click. Mel is my hero.

I don't get it. Assembly has never been my friend.

nitrogen
May 21, 2004

Oh, what's a 217°C difference between friends?

RadicalR posted:

I don't get it. Assembly has never been my friend.

ELI5:
Basically Mel used bugs as features. He used the fact that an index would overflow, and used that behavior to obfuscate his code.

If you don't know what an integer overflow is, it's basically this:

He had a procedure that didn't have an obvious bit of code saying "POINT TO INSTRUCTION NUMBER ONE" What he did instead was "Point to instruction X+Y and at some point x+y exceeded the computer's ability to store numbers. (e.g. 8 bit variable can store only value up to 255. therefore, 256=1)

Weatherman
Jul 30, 2003

WARBLEKLONK

MC Fruit Stripe posted:

I guess for me it's a little different.
To be honest I never really think of work outside of work
So it doesn't bother me so much

Absolutely I understand that for some people it affects life outside of work.

Given the choice, I'd simply replace my director
I don't have that option though, so I just deal with his bullshit
Really though, I just come on here to vent my frustration.
Let it out and then move on, that's my motto.

Congrats, dude :3:

RadicalR
Jan 20, 2008

"Businessmen are the symbol of a free society
---
the symbol of America."

nitrogen posted:

ELI5:
Basically Mel used bugs as features. He used the fact that an index would overflow, and used that behavior to obfuscate his code.

If you don't know what an integer overflow is, it's basically this:

He had a procedure that didn't have an obvious bit of code saying "POINT TO INSTRUCTION NUMBER ONE" What he did instead was "Point to instruction X+Y and at some point x+y exceeded the computer's ability to store numbers. (e.g. 8 bit variable can store only value up to 255. therefore, 256=1)

:aaaa: Damnnnnnn.

sfwarlock
Aug 11, 2007
It's even more complex than that.

Let's say there's the following setup in memory, starting at location 350. 41 is the code for whatever operation he's doing, and it looks in the following location for the memory address to operate on. (For instance, if it meant increment, and if the next location was 1234, it would increment the value in memory address 1234 in place.)

0350: Perform operation 0041 on...
0351: address FFFC
0352: Increment...
0353: address 0351.
0354: Goto..
0355: address 0350.

The first time through the loop, 351 gets incremented to FFFD.... the second time, FFFE; the third, FFFF.

The next time through, 351 gets incremented past FFFF and overflows, carrying over into the address "above": 0041 FFFF becomes 0042 0000.

And in this particular architechture, 42 means GOTO - so the next time through the loop, it performs a GOTO 0.

"Sure enough, the next program instruction was
in address location zero,
and the program went happily on its way."

MC Fruit Stripe
Nov 26, 2002

around and around we go

Weatherman posted:

Congrats, dude :3:
Dang it took a while for that to be unwrapped.
Everyone had fun with it though
Can't say I'm surprised it was missed.

2 people went off the rails, but you got it!
9 emails from people who need things
Too bad it's the weekend
Hope they can wait til Monday, because they will

nitrogen
May 21, 2004

Oh, what's a 217°C difference between friends?

sfwarlock posted:

It's even more complex than that.

Thats a great ELI35 explanation. (I was trying to be really simple.)

This kind of poo poo is why i'm not a programmer, but why I also idolize people that can actually do it. Cuz I wish i could, but I absolutely cant.

Neito
Feb 18, 2009

😌Finally, an avatar the describes my love of tech❤️‍💻, my love of anime💖🎎, and why I'll never see a real girl 🙆‍♀️naked😭.

nitrogen posted:

Thats a great ELI35 explanation. (I was trying to be really simple.)

This kind of poo poo is why i'm not a programmer, but why I also idolize people that can actually do it. Cuz I wish i could, but I absolutely cant.

Most programmers probably wouldn't be able to do that, either. Working with (or even really understanding) direct machine code is a pretty rare skill these days (at one point, it's mentioned that he uses previous instructions as constants, for example).

22 Eargesplitten
Oct 10, 2010



MC Fruit Stripe posted:

Dang it took a while for that to be unwrapped.
Everyone had fun with it though
Can't say I'm surprised it was missed.

2 people went off the rails, but you got it!
9 emails from people who need things
Too bad it's the weekend
Hope they can wait til Monday, because they will

The greatest curse, forever receiving only half of what one is entitled.

e: I would never be able to do that code stuff. The only time I do anything with addresses is pointers, and even then I'm not addressing them directly, just saying "This poo poo where this stuff is, put something else here."

Also using GOTOs is very frowned upon these days.

nielsm
Jun 1, 2009



22 Eargesplitten posted:

Also using GOTOs is very frowned upon these days.

Machine code does not have blocks, it's completely flat. Most real-hardware instruction set architectures (ISAs) don't even define such as thing as a procedure/function, you can "call function" to absolutely anywhere in memory.
Typical ISAs have a couple different "jump" (goto) instructions: Unconditional jump, jump if register is zero, jump if register is nonzero, jump if previous instruction resulted in an overflow, etc.
"GOTO is evil" only applies to high level languages.

With the Intel x86 ISA you also have the fun property of variable length instructions: Some instructions take a single byte to encode, some take two, I think some take upwards 5 or more bytes to encode. The result is that the same sequence of bytes can mean something entirely different if you jump into the middle of an instruction. If you craft your code carefully, you can have two entirely valid blocks of code "overlap" that way.

Kazinsal
Dec 13, 2011


I will admit, I have gotten frustrated at the performance of a piece of C or whatever (it might have been C++, but near bare metal so most libstdc++ stuff was out anyways) and just wrote it in assembly, assembled it, wrote it into the C as an unsigned char[], casted it as (*void)(), and, well... committed a sin.

But gently caress, self-modifying code isn't even kosher (or sometimes even possible) on x86/x86-64 so thinking about writing that just makes me :stonk:

evol262
Nov 30, 2010
#!/usr/bin/perl
Self-modifying programs are shockingly common now

Weatherman
Jul 30, 2003

WARBLEKLONK
I've never really got the idea of self-modifying code. I can't see the benefit (or difference, really) of it over conditional logic.I get that you're actually changing executable values in memory, but what's the advantage of doing so over just an if ... then ... else if ... etc. block?

evol262
Nov 30, 2010
#!/usr/bin/perl
Hooks that let you patch live code later. Genetic algorithms.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...
To be fair, Mel was a very clever programmer but would have been a nightmare to work with. In this case, he wrote completely unmaintainable code, and explicitly added bugs because he didn't like management's ideas and wanted to sabotage them. Don't pine too hard for him.

Super-NintendoUser
Jan 16, 2004

COWABUNGERDER COMPADRES
Soiled Meat

Volmarias posted:

To be fair, Mel was a very clever programmer but would have been a nightmare to work with. In this case, he wrote completely unmaintainable code, and explicitly added bugs because he didn't like management's ideas and wanted to sabotage them. Don't pine too hard for him.

Mel is the Nilokai Tesla of his day.

Neito
Feb 18, 2009

😌Finally, an avatar the describes my love of tech❤️‍💻, my love of anime💖🎎, and why I'll never see a real girl 🙆‍♀️naked😭.

Volmarias posted:

To be fair, Mel was a very clever programmer but would have been a nightmare to work with. In this case, he wrote completely unmaintainable code, and explicitly added bugs because he didn't like management's ideas and wanted to sabotage them. Don't pine too hard for him.

I mean, the entire main plot is about how entirely unfollowable his code is. As much respect as you could give him for being able to write code like that in the first place, you could disrespect him for writing code like that in an environment like that.

It's really a generational thing; in that era, where really only one or two people worked on a project at once, it was acceptable and even admirable. In the modern era, where you may have dozens of people working on the same project, it's a good way to get strung up by your neck during code review.

E: Also, consider how few resources they had to work with; saving even a byte or two, like Mel did obsessively, helped amazingly.

Neito fucked around with this message at 17:29 on Jun 21, 2015

wolrah
May 8, 2006
what?

Neito posted:

It's really a generational thing; in that era, where really only one or two people worked on a project at once, it was acceptable and even admirable. In the modern era, where you may have dozens of people working on the same project, it's a good way to get strung up by your neck during code review.

It's also a generational thing in that back then that sort of "optimization" might have actually been worth doing depending on what the machine had to do. Game consoles in the '80s and in to the '90s had all sorts of stuff like this as developers constantly tried to one-up each other. Microcontrollers can still sort of be that way today, where if you have a fixed hardware platform that you need to get every last drop of functionality out of you might lean on some really obscure quirks of the architecture to make it do what you want it to do.

It definitely makes the code harder to work with, but in some cases the benefits outweigh the costs.

spog
Aug 7, 2004

It's your own bloody fault.

wolrah posted:

It definitely makes the code harder to work with, but in some cases the benefits outweigh the costs.

While I agree with you, it's also partly the reason for so many legacy systems that we're stuck with because nobody can truly understand then, or have the ability to unravel the bits of knotted string that hold them together.

I bet there are many departments who have a server/system that is run by the equivalent of sacrificing chickens and consulting runes.

wolrah
May 8, 2006
what?

spog posted:

While I agree with you, it's also partly the reason for so many legacy systems that we're stuck with because nobody can truly understand then, or have the ability to unravel the bits of knotted string that hold them together.

I bet there are many departments who have a server/system that is run by the equivalent of sacrificing chickens and consulting runes.

Oh yea, by no means am I suggesting that it's really ever worthwhile in general purpose computing to optimize an entire program to this level.

Extremely limited embedded environments where for whatever reason there isn't a compatible upgrade available are the only cases I can support anything like that being done during the internet era.

One-off functions that are called thousands of times per second like in a game engine, network firewall, etc. make sense sometimes to go to assembly-level tweaking, but someone like Steve Gibson trying to do full GUI apps in pure machine code is a nutjob.

edit: Found the applicable Knuth quote...

quote:

Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.

IMO in an ideal world the vast majority of code we interact with from day to day should be written in an easily understood language like Python (just one example, insert your favorite where applicable), if that's slow enough that it actually overwhelms I/O and other things that actually slow down most modern computing tasks you then go to a lower level but still widely understood language like C, then in the very few remaining circumstances where that's still not fast enough it's finally OK to start thinking about assembly type stuff.

wolrah fucked around with this message at 00:45 on Jun 22, 2015

anthonypants
May 6, 2007

by Nyc_Tattoo
Dinosaur Gum
It is twenty goddamn fifteen how in the gently caress have people never heard of shared Excel workbooks. We are supposed to be a team, we do not need half a loving dozen "Long_File_Name_For-Excel_Document+First-Wave - INITIALS.xlsx" files to work out of you loving idiots.

And this bullshit about "DON'T EDIT THIS FILE", how about you sanity check the loving data in it first? I take one loving look in it and we've got email addresses like "5 Batch@companyname.net" or "1 @$4/username@companyname.net" because you pulled that data out of the goddamn billing database??? Why not pull the loving email addresses from the loving email server because that's literally the only place you're going to find useful information. Oh, those people can't be looked up in our billing database or in Salesforce.com? The only clear record of them is on the email server, and there's been no attempt at reconciling the two or three or four loving places where we store customer information? NO loving poo poo, people have been complaining how that poo poo is literally not loving managed by anyone since before I started, this should not loving come as a loving surprise to anyone.

anthonypants fucked around with this message at 12:07 on Jun 22, 2015

Thanks Ants
May 21, 2004

#essereFerrari


Don't worry though, a change of CRM system will magically ensure people populate fields correctly and keep records up to date :downs:

THE SOFTWARE IS RARELY THE PROBLEM

Bob Morales
Aug 18, 2006


Just wear the fucking mask, Bob

I don't care how many people I probably infected with COVID-19 while refusing to wear a mask, my comfort is far more important than the health and safety of everyone around me!

Thanks Ants posted:

Don't worry though, a change of CRM system will magically ensure people populate fields correctly and keep records up to date :downs:

THE SOFTWARE IS RARELY THE PROBLEM

We use ACT. We have 3 different databases and sometimes data from one database magically appears in another until you hit refresh or something. WTF

Collateral Damage
Jun 13, 2009

That pisses me off more than anything at the moment. We're in the implementation phase of a new fund management system and there's one exceptionally whiny user who keeps complaining how bad the new system is and the old one was much better and yadda yadda.. Every single issue she's raised has been because she hosed up her data entry, and yet she refuses to accept that she's at fault and somehow expects the system to magically know when she mispells a customer's email adress or something.

Adbot
ADBOT LOVES YOU

Dog Fat Man Chaser
Jan 13, 2009

maybe being miserable
is not unpredictable
maybe that's
the problem
with me
No more relevant-to-the-thread poo poo will piss me off. Accepted a new job offer in a totally different field and handed in my resignation today, just a few more weeks here. :toot:

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