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
Spatial
Nov 15, 2007

Pixelboy posted:

I have a 34" 21:9 monitor and I fill 75% of it with empty space :downs:

Adbot
ADBOT LOVES YOU

redleader
Aug 18, 2005

Engage according to operational parameters
I once set my editor to use Papyrus, then spent 15 minutes giggling quietly to myself at the result.

B-Nasty posted:

I'm the guy that does a Ctrl-A, Ctrl-K Ctrl-F in Visual Studio to auto-format your artisanal, hand-crafted whitespace to the language defaults.

:eng101: Ctrl-K, Ctrl-D!

dougdrums
Feb 25, 2005
CLIENT REQUESTED ELECTRONIC FUNDING RECEIPT (FUNDS NOW)
I just finally stopped using ctrl-r ctrl-r like a doof.

Absurd Alhazred
Mar 27, 2010

by Athanatos
Was it here where someone was talking about using two datacenters badly? Well...

https://twitter.com/SwiftOnSecurity/status/870703400912003076

Jaded Burnout
Jul 10, 2004


Absurd Alhazred posted:

Was it here where someone was talking about using two datacenters badly? Well...

https://twitter.com/SwiftOnSecurity/status/870703400912003076

Yeah that was me.

I do loving hate the Register, it's a real rag. There's a lot of ifs, maybes and probablies in that "reporting", but the conclusion that Heathrow/airline outsourcing is bad holds up because no poo poo it is. Except when it's government outsourcing apparently because the register seem to be all about that.

A friend of mine used to work a lowly tech position on some critical outsourced Heathrow software and from what I've heard it was a real mess. But I've also been to those data centres and the NOC and other staff were all very competent so :shrug:

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION
When I think of proportional fonts I think of my beautiful grid selections going out the window and I weep.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

Yeah, how does column selection work with proportional fonts?

Absurd Alhazred
Mar 27, 2010

by Athanatos
I'm going to double-post this in the Fall of Unicorns thread:

https://twitter.com/jxxf/status/871000661869154304

hyphz
Aug 5, 2003

Number 1 Nerd Tear Farmer 2022.

Keep it up, champ.

Also you're a skeleton warrior now. Kree.
Unlockable Ben
So, have you heard of the ZX Spectrum Next? It's a Euro-UK-ish project to restore the ZX Spectrum, one of the classic older games machines, using an FPGA-based board - but with a faster clock speed and a bunch of extra features. One of the extra features is hardware sprites.

The ZX Next is driven by a Zilog Z80 (or rather an FPGA Z80 that can run faster than the original did). To set up the hardware sprites, you use the Z80s port output opcodes to crank out 255 bytes of palletised color data to a particular port. The Z80 has several port output opcodes. You can output a value to a specified port, you can output to a port you specify in one of the 8-bit registers (C), and there's even a built-in OTIR instruction that does a self-contained loop, automatically passing through a section of memory and outputting each byte as it goes. Sweet, right?

Well, no. It's insane. See, the twist is that the Z80s port select lines actually carry 16 bits, not 8. So the port number you specify, via register C or in the instruction, only goes on the lower 8.

What goes on the upper 8? Well, if you output to a specified port, then the value you are outputting goes on those register select lines. So if you try to output $20 to port $75 using that method, it actually outputs to port $2075. Wonderful.

How about that nice looped version? That's even sillier. It puts the goddamn loop counter on. So instead of outputting byte by byte on port $75, it outputs on $0075, $0175, $0275, $0375 yadda yadda yadda.

Needless to say, this makes all those nice instructions into total chocolate fireguards on any system like the Next that actually uses the 16-bit port addresses. I really wonder if it was ever useful.

Absurd Alhazred
Mar 27, 2010

by Athanatos

hyphz posted:

So, have you heard of the ZX Spectrum Next? It's a Euro-UK-ish project to restore the ZX Spectrum, one of the classic older games machines, using an FPGA-based board - but with a faster clock speed and a bunch of extra features. One of the extra features is hardware sprites.

The ZX Next is driven by a Zilog Z80 (or rather an FPGA Z80 that can run faster than the original did). To set up the hardware sprites, you use the Z80s port output opcodes to crank out 255 bytes of palletised color data to a particular port. The Z80 has several port output opcodes. You can output a value to a specified port, you can output to a port you specify in one of the 8-bit registers (C), and there's even a built-in OTIR instruction that does a self-contained loop, automatically passing through a section of memory and outputting each byte as it goes. Sweet, right?

Well, no. It's insane. See, the twist is that the Z80s port select lines actually carry 16 bits, not 8. So the port number you specify, via register C or in the instruction, only goes on the lower 8.

What goes on the upper 8? Well, if you output to a specified port, then the value you are outputting goes on those register select lines. So if you try to output $20 to port $75 using that method, it actually outputs to port $2075. Wonderful.

How about that nice looped version? That's even sillier. It puts the goddamn loop counter on. So instead of outputting byte by byte on port $75, it outputs on $0075, $0175, $0275, $0375 yadda yadda yadda.

Needless to say, this makes all those nice instructions into total chocolate fireguards on any system like the Next that actually uses the 16-bit port addresses. I really wonder if it was ever useful.

Sounds like it would be great for hardware debugging. Just connect a readout to those 8 upper bits, and you can see what the output ports should have gotten.

Pollyanna
Mar 5, 2005

Milk's on them.


Absurd Alhazred posted:

I'm going to double-post this in the Fall of Unicorns thread:

https://twitter.com/jxxf/status/871000661869154304

This is similar to something I did within the first month at my first real job. It was a massively stupid situation and a good indicator of the company's performance as a whole. :yikes:

I hope that engineer isn't taking it too personally - they're not at fault.

CPColin
Sep 9, 2003

Big ol' smile.
When I started at Experts Exchange in 2007, they were moving pretty rapidly with a site-wide redesign and somebody found it useful to be able to edit the email templates via an employee-only page on the Production website. Every now and then, we would have to instruct new employees that they needed to copy changes to the other environments, lest they be wiped out.

Once, I replaced the $username variable in a heavily used template with "CPColin". Another time, somebody in Customer Service accidentally blanked one of the more important templates. Took way too long before somebody deleted that page.

The "execute arbitrary SELECT queries on the Production database" page stayed up for a while longer, though.

Zopotantor
Feb 24, 2013

...und ist er drin dann lassen wir ihn niemals wieder raus...

hyphz posted:

So, have you heard of the ZX Spectrum Next? It's a Euro-UK-ish project to restore the ZX Spectrum, one of the classic older games machines, using an FPGA-based board - but with a faster clock speed and a bunch of extra features. One of the extra features is hardware sprites.

The ZX Next is driven by a Zilog Z80 (or rather an FPGA Z80 that can run faster than the original did). To set up the hardware sprites, you use the Z80s port output opcodes to crank out 255 bytes of palletised color data to a particular port. The Z80 has several port output opcodes. You can output a value to a specified port, you can output to a port you specify in one of the 8-bit registers (C), and there's even a built-in OTIR instruction that does a self-contained loop, automatically passing through a section of memory and outputting each byte as it goes. Sweet, right?

Well, no. It's insane. See, the twist is that the Z80s port select lines actually carry 16 bits, not 8. So the port number you specify, via register C or in the instruction, only goes on the lower 8.

What goes on the upper 8? Well, if you output to a specified port, then the value you are outputting goes on those register select lines. So if you try to output $20 to port $75 using that method, it actually outputs to port $2075. Wonderful.

How about that nice looped version? That's even sillier. It puts the goddamn loop counter on. So instead of outputting byte by byte on port $75, it outputs on $0075, $0175, $0275, $0375 yadda yadda yadda.

Needless to say, this makes all those nice instructions into total chocolate fireguards on any system like the Next that actually uses the 16-bit port addresses. I really wonder if it was ever useful.

IIRC the Spectrum's ROM (at least the extended Interface 1 version) actually used the 16-bit feature.

KernelSlanders
May 27, 2013

Rogue operating systems on occasion spread lies and rumors about me.
Everyone gets one free DROP TABLE.

Boris Galerkin
Dec 17, 2011

I don't understand why I can't harass people online. Seriously, somebody please explain why I shouldn't be allowed to stalk others on social media!

Absurd Alhazred posted:

I'm going to double-post this in the Fall of Unicorns thread:

https://twitter.com/jxxf/status/871000661869154304

shitthatdidnthappen.txt

DICTATOR OF FUNK
Nov 6, 2007

aaaaaw yeeeeeah

Boris Galerkin posted:

shitthatdidnthappen.txt

yeah this seems like such an insane combination of circumstances that it's rather unbelievable

Snak
Oct 10, 2005

I myself will carry you to the Gates of Valhalla...
You will ride eternal,
shiny and chrome.
Grimey Drawer
I saw that on reddit.

I kinda looks to me like things were hosed and the CTO was trying to find a scapegoat to blame it on.

Or like, yeah, it didn't happen.

redleader
Aug 18, 2005

Engage according to operational parameters
Lol if you don't believe that scenario is possible, nay, likely.

toiletbrush
May 17, 2010

Snak posted:

I kinda looks to me like things were hosed and the CTO was trying to find a scapegoat to blame it on.
I posted a similar thought when this showed up in the STDH thread, I feel sorry for the guy because he obvs doesn't know its not his fault.

KernelSlanders posted:

Everyone gets one free DROP TABLE.
When I got my first proper developer job it was at a tiny company with just three other devs, and one day one of us made some kind of gently caress-up that meant that all the CD's duplicated for a particular release where useless and had to be re-duplicated, costing a ton of money (for a small co) and much embarrassment. The dev was worried he'd get fired but the boss just said 'well at least I know who I can rely on to never make that mistake again', which I thought was kinda cool.

Doom Mathematic
Sep 2, 2008

redleader posted:

Lol if you don't believe that scenario is possible, nay, likely.

Lots of things are possible but some stories are just a little bit too perfect. Whether or not it's a real thing which necessarily happened in so many words, this is still a useful parable.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Being a newbie dev and being the immediate cause of a huge gently caress-up in your first week is an entirely believable scenario, as is management deciding that "immediate cause" = "sole cause". So the broad thrust of the story is believable. I could well believe that to be a TheDailyWTF-style embellishment, though.

Meat Beat Agent
Aug 5, 2007

felonious assault with a sproinging boner
Even if it's made up or embellished or whatever, it's not that hard to appreciate a story where the big, obvious takeaway is "don't be this company".

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Don't Do What Donny Don't, Inc. Does

Coffee Mugshot
Jun 26, 2010

by Lowtax

TooMuchAbstraction posted:


The style guide also just barely stops short of saying "if you can't fit what you want to say into a single 80-character line, then your code is badly-written."

This is exactly opposite of the idiom BTW. Go style recommends not caring and to avoid wrapping lines just to fit them into 80 lines. If it runs through gofmt, it doesn't matter. Having long lines might point to a bad design pattern, for example, a function with a large amount of arguments. Maybe it is better to abstract some of those arguments into more descriptive types and since types are pretty cheap, the effective Go page strongly recommends that kind of refactoring. You will find a lot of 100+ char lines all over the standard library if that is useful evidence of this.

Harik
Sep 9, 2001

From the hard streets of Moscow
First dog to touch the stars


Plaster Town Cop
The only thing remotely eyebrow raising is the credentials, and giving everyone direct DB access via a single account is so common I don't know what to tell you.

Project horrors: Customer can't understand i2c, so on a low-latency-required project I'm adding a 115200 baud serial port to proxy the i2c devices behind. Bonus: They don't know what i2c devices will be out there, so it's just going to be a uart protocol for writing and reading arbitrary i2c data. It's going to be connected to an rpi or similar. It's the most singularly useless project I've ever been involved in, and I'm going to enjoy making it as a reminder that holy gently caress my entire field is full of useless people.

E: This originated when trying to read a sensor via i2c by taking an example "WeatherStation" app for their dev board and not understanding why it wasn't working. I compared the source to the original: they hadn't made any changes to it. The best part is going to be the number of billable hours doing their job for them by teaching their guys everything - so much more time than just doing it myself.

Harik fucked around with this message at 13:40 on Jun 7, 2017

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
I've learned that spending a large part of one's career working with ignorant and/or stupid users and coworkers holds you back in your career and that besides going to better places with better hiring standards (and an ecosystem of companies that meet such criteria where you live) the only way to progress is to get out of doing anything technical like... management because your own skills will atrophy. The number of times I've had to help people ssh into machines, configuring someone's Maven or Ivy settings, and cleaning out full disks is eye-watering.

After all, you can spend 30 hours / week actually doing something where you learn and grow, or you can spend 5 hours / week and have to make it up with 25 hours OUTSIDE work. The person with the better job that only works 40 hours / week will beat you in the long run.

denzelcurrypower
Jan 28, 2011
The co-workers side I can agree with. Ignorant users though I feel is just an issue most programmers will have to live with and accept as something to consider in the development process, especially for UI/UX design.

KernelSlanders
May 27, 2013

Rogue operating systems on occasion spread lies and rumors about me.
It's not a "coding" horror per se, but I've had a hell of a day. You know that old trope about sales selling something first and telling engineering what they have to build later? Well, I found out today, that they sold something last summer that was supposed to launch on January first of this year. That's right, they told engineering what they were supposed to build five months after it was supposed to be delivered.

e: ranted too much and deleted a bit

KernelSlanders fucked around with this message at 06:02 on Jun 9, 2017

Kilson
Jan 16, 2003

I EAT LITTLE CHILDREN FOR BREAKFAST !!11!!1!!!!111!

KernelSlanders posted:

It's not a "coding" horror per se, but I've had a hell of a day. You know that old trope about sales selling something first and telling engineering what they have to build later? Well, I found out today, that they sold something last summer that was supposed to launch on January first of this year. That's right, they told engineering what they were supposed to build five months after it was supposed to be delivered.

e: ranted too much and deleted a bit

I don't know if we've had anything quite that bad recently, but I get questions from sales people all the time about stuff they're selling, because they've been told it's almost finished, even though we (development) haven't even heard of the thing yet.

I guess it must be pretty common.

necrotic
Aug 2, 2005
I owe my brother big time for this!
It is and its infuriating.

duz
Jul 11, 2005

Come on Ilhan, lets go bag us a shitpost


Makes me glad we deal with government contracts. The sales guys can promise the world, but if it's not in writing, they're not getting it. And the RFP writers know to check with the engineering department about anything that they haven't listed before.

QuarkJets
Sep 8, 2008

If the F35 is any indicator then you write the world into the contract

Hughlander
May 11, 2005

QuarkJets posted:

If the F35 is any indicator then you write the world into the contract

Only for cost plus.

PT6A
Jan 5, 2006

Public school teachers are callous dictators who won't lift a finger to stop children from peeing in my plane

Meat Beat Agent posted:

Even if it's made up or embellished or whatever, it's not that hard to appreciate a story where the big, obvious takeaway is "don't be this company".

It's a good message for anything. If a single mistake that's even remotely easy to make is enough to cause a big problem, someone hosed up, and it isn't the guy that made the single mistake.

Everyone makes small mistakes, given enough time. The trick is to design systems that are so resilient that no single mistake can cause a serious issue. Anything else is a poor design, and I think it speaks to a particular defect in tech culture that it's not immediately recognized as such across the board.

putin is a cunt
Apr 5, 2007

BOY DO I SURE ENJOY TRASH. THERE'S NOTHING MORE I LOVE THAN TO SIT DOWN IN FRONT OF THE BIG SCREEN AND EAT A BIIIIG STEAMY BOWL OF SHIT. WARNER BROS CAN COME OVER TO MY HOUSE AND ASSFUCK MY MOM WHILE I WATCH AND I WOULD CERTIFY IT FRESH, NO QUESTION

KernelSlanders posted:

It's not a "coding" horror per se, but I've had a hell of a day. You know that old trope about sales selling something first and telling engineering what they have to build later? Well, I found out today, that they sold something last summer that was supposed to launch on January first of this year. That's right, they told engineering what they were supposed to build five months after it was supposed to be delivered.

e: ranted too much and deleted a bit

I had no idea this was a common thing, glad I and my coworkers are not the only ones with this problem.

canis minor
May 4, 2011

Another job, another code:

code:
return (true == $value->is_running || 1 == $value->is_running ) ? true : false;

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt







NihilCredo fucked around with this message at 17:31 on Jun 13, 2017

itskage
Aug 26, 2003


canis minor posted:

Another job, another code:

code:
return (true == $value->is_running || 1 == $value->is_running ) ? true : false;

The first bit aside, It's crazy how long it takes some people to realize you can just return the result of the test and not have to explicitly write true : false all over the drat place.



So I found this yesterday:
code:
return new Promise((resolve, reject) => {
            urllib.request(full_url, params).then(response => {
                if (response.status < 200 && response.status > 299) {
                    const string_response = response.data.toString();
                    throw new Error({path: full_url, message: string_response});
                }
ahh good stuff...


Apparently I reviewed this PR last december and missed it :negative:

Dr. Stab
Sep 12, 2010
👨🏻‍⚕️🩺🔪🙀😱🙀
To be fair, you'd definitely want to throw an error in that condition.

Adbot
ADBOT LOVES YOU

Absurd Alhazred
Mar 27, 2010

by Athanatos

Dr. Stab posted:

To be fair, you'd definitely want to throw an error in that condition.

Yeah, it means that another thread was definitely writing to that variable. :v:

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