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
Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Doctor Imposter posted:

Use of continue, confusing function name, hard-coded values, and 5 separate returns? Great!
None of these other than the one-character magic strings for appointment statuses are a problem.

Adbot
ADBOT LOVES YOU

Series DD Funding
Nov 25, 2014

by exmarx
Just use a switch statement with fallthrough :getin:

Linear Zoetrope
Nov 28, 2011

A hero must cook
Is it me, or does the open source community have a staggering fear of version numbers >= 1.0? It seems like most projects, even ones that are essentially feature complete, documented, and tested are stuck in alpha/beta version numbers like 0.5 due to a fear of commitment. I'm not necessarily exempting my own projects from this.

Linear Zoetrope fucked around with this message at 01:34 on Jun 30, 2016

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

Jsor posted:

Is it me, or does the open source community have a staggering fear of version numbers >= 1.0? It seems like most projects, even ones that are essentially feature complete, are stuck in alpha/beta version numbers like 0.5 due to a fear of commitment. I'm not necessarily exempting my own projects from this.

Yep. I chalk it up to not wanting anyone to think that the product has any kind of support backing it, because nobody wants to provide support, they just want to build things.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
Perpetual beta long after something should have left beta is hardly limited to open source stuff. Declaring things officially released generally happens for marketing reasons rather than any actual change in the product, and when you don't have any marketing people...

PT6A
Jan 5, 2006

Public school teachers are callous dictators who won't lift a finger to stop children from peeing in my plane
No software is ever "done" or "fixed." You need someone interested in making money to go "gently caress it, it's acceptable, let's ship."

Klades
Sep 8, 2011

Plorkyeran posted:

None of these other than the one-character magic strings for appointment statuses are a problem.

None of them are problems in general but I would argue that they're problems here, specifically.
A function with five lines of code should not need five return statements, and I think the one-liner if with the continue would be better as
code:
if (isValidAppointmentStatusForMatch() && chartNoMatches()) {
  switchAppointmentStatus(appointment)
  return;
}
I suspect whoever wrote it got "BOOLEAN LOGIC OPERATORS ARE EVIL" in their head at some stage. Which is odd because those people usually refuse to ever use multiple return.

sarehu
Apr 20, 2007

(call/cc call/cc)

Jsor posted:

Is it me, or does the open source community have a staggering fear of version numbers >= 1.0? It seems like most projects, even ones that are essentially feature complete, documented, and tested are stuck in alpha/beta version numbers like 0.5 due to a fear of commitment. I'm not necessarily exempting my own projects from this.

There's some sort of anti-Benford's law there, once they break 1.0 they fly hard into the 20's and 30's.

Soricidus
Oct 21, 2010
freedom-hating statist shill
Counterexamples: gnome, kde, linux, gcc, llvm, perl, python, php, ruby, mysql, postgres, ...

Jewel
May 2, 2009

This game Beseige http://store.steampowered.com/app/346010/ suffers from that a lot I think. My rule with early access games is that I try not to play them until "1.0" or around that, since I want the most content possible. Playing with less content, or far less refinement; and burning myself out and never trying the new stuff is always sad. The thing with Beseige though is that it's been out for over a year and a half and started as a pretty playable sandbox-y thing with a world; and after all this time, yes, they've added a lot, but they're still on "V0.30". After a year I think it was still at V0.17. Even just the "Early Access" label dissuades enough people that, like, you'd think they should just release 1.0 and continue adding for higher numbers. Devs seem to treat 1.0 as "it's 100% finished and i wont add anything".

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

qntm posted:

What's the bet that getting input.Foo has side-effects?

Ahahahaha oh but it doesn't.

You see, pretty much everything is a public autoproperty here. So Foo is just a public string Foo {get;set;}

SupSuper
Apr 8, 2009

At the Heart of the city is an Alien horror, so vile and so powerful that not even death can claim it.

Jsor posted:

Is it me, or does the open source community have a staggering fear of version numbers >= 1.0? It seems like most projects, even ones that are essentially feature complete, documented, and tested are stuck in alpha/beta version numbers like 0.5 due to a fear of commitment. I'm not necessarily exempting my own projects from this.
Pretty much. With the low life-expectancy of the average open source project, the mythical 1.0 carries a lot of weight, and devs always have a mile-long list of issues they wanna get around to before then, that never gets any smaller with no shipping dates stopping them.
Version numbers are weird. Major versions are exciting! Minor versions are boring... Anything 0.x is treated as "eh whatever anything goes", while 1.0 is the big release, the major milestone, the safe spot where you can just learn the API once and never worry about it again. Plus there's the tendency of treating it as decimals, where projects will hover around 0.3-0.4 forever because they're afraid 0.9 will look like 1.0 is right around the corner!
They become less meaningful and more marketing, and trying to follow a project's actual progress becomes a mess. I know node spent forever in 0.x, and then went through a whole bunch of numbers this last year.

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy

Jsor posted:

Is it me, or does the open source community have a staggering fear of version numbers >= 1.0? It seems like most projects, even ones that are essentially feature complete, documented, and tested are stuck in alpha/beta version numbers like 0.5 due to a fear of commitment. I'm not necessarily exempting my own projects from this.

I treat 1.0 as the point where I can't change the API anymore without a deprecation release and actually have to follow semantic versioning. That blows, so eternal beta it is!

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

Jewel posted:

This game Beseige http://store.steampowered.com/app/346010/ suffers from that a lot I think. My rule with early access games is that I try not to play them until "1.0" or around that, since I want the most content possible. Playing with less content, or far less refinement; and burning myself out and never trying the new stuff is always sad. The thing with Beseige though is that it's been out for over a year and a half and started as a pretty playable sandbox-y thing with a world; and after all this time, yes, they've added a lot, but they're still on "V0.30". After a year I think it was still at V0.17. Even just the "Early Access" label dissuades enough people that, like, you'd think they should just release 1.0 and continue adding for higher numbers. Devs seem to treat 1.0 as "it's 100% finished and i wont add anything".

Games should only hit 1.0 when they're finished, because games almost always have a very well-defined meaning for "finished" (and the ones that don't have a well-defined meaning either never get off the launchpad, or are Dwarf Fortress). Hitting 1.0 before they're done would gently caress with peoples perception of what 1.0 means and engender mistrust in version numbers.

Munkeymon
Aug 14, 2003

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



Jewel posted:

This game Beseige http://store.steampowered.com/app/346010/ suffers from that a lot I think. My rule with early access games is that I try not to play them until "1.0" or around that, since I want the most content possible. Playing with less content, or far less refinement; and burning myself out and never trying the new stuff is always sad. The thing with Beseige though is that it's been out for over a year and a half and started as a pretty playable sandbox-y thing with a world; and after all this time, yes, they've added a lot, but they're still on "V0.30". After a year I think it was still at V0.17. Even just the "Early Access" label dissuades enough people that, like, you'd think they should just release 1.0 and continue adding for higher numbers. Devs seem to treat 1.0 as "it's 100% finished and i wont add anything".

Went to sign into Steam to put that on my wishlist and got the prompt to enter the mobile authenticator code. OK fine whatever I guess it has been a while since I signed in on this machine. Oh, but I got a new phone the other week, so I'm not signed in on the Steam app... which requires a mobile authentication code from the Steam app :sigh:

JFC Valve what is loving wrong with you* just use the 2FA thing literally everyone else supports

*yes, I know about Valve

Space Kablooey
May 6, 2009


Munkeymon posted:

Went to sign into Steam to put that on my wishlist and got the prompt to enter the mobile authenticator code. OK fine whatever I guess it has been a while since I signed in on this machine. Oh, but I got a new phone the other week, so I'm not signed in on the Steam app... which requires a mobile authentication code from the Steam app :sigh:

JFC Valve what is loving wrong with you* just use the 2FA thing literally everyone else supports

*yes, I know about Valve

Couldn't you send that code to your email?

xzzy
Mar 5, 2009

The worst is every few months they'll harass you to verify your email address. It worked just fine last time Valve, I'll tell you when my address changes. :argh:

Skyl3lazer
Aug 27, 2007

[Dooting Stealthily]



So I don't have the code unfortunately, but this certainly counts as 'program horrors' at least.

The contractor my company is currently working with is being paid to provide a large CRM solution that stores data, prints proper forms, etc. Today they've come back to us with two issues, neither of which I can even fathom.

1) The web interface has been running very slowly, even during this testing phase. It might have at a max, 12 concurrent users. They came back and said one of the things that's causing speed issues are the fields we can search on. As in, if I'm searching for a person, just the ability to search on First, Last, Middle names, and date of birth, it was causing the entire system to have 3-4 second loads at a minimum. Note that this wasn't that people were constantly doing 20-requirement searches, I'd be surprised if they used two at a time. Yet somehow, eliminating 90% of data pieces that could potentially be searched on would speed up the system. The cherry on top of all of this is that those fields are all still going to be searchable if you click 'advanced'.

2) We were having issues with a watermark being printed at 100% opacity on top of text on one of the forms. When we asked them to make it semitransparent and put it behind text, they said we needed to send a black and white image back, instead of the color seal. Well we went back and forth on this, and today we found out the reason they were pushing back. Their system somehow can't use color images in watermarks. ...what? how? Not only that but they asked us to provide the b/w image instead of just putting through a greyscale filter in photoshop or even loving paint.

I'm floored. Like, actually how do either of these things happen?

Munkeymon
Aug 14, 2003

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



HardDisk posted:

Couldn't you send that code to your email?

Yeah, after you go into account recovery and disable their dumbass proprietary 2FA thing they'll send you email or text codes to authenticate logins on the Steam client by default. IDK why I thought the app would be better honestly.

Strong Sauce
Jul 2, 2003

You know I am not really your father.





If you haven't heard about this: https://googleprojectzero.blogspot.com/2016/06/how-to-compromise-enterprise-endpoint.html

quote:

These vulnerabilities are as bad as it gets. They don’t require any user interaction, they affect the default configuration, and the software runs at the highest privilege levels possible. In certain cases on Windows, vulnerable code is even loaded into the kernel, resulting in remote kernel memory corruption.

whoa this is bad. hey google security guy what happened when you emailed symantec the results?: https://bugs.chromium.org/p/project-zero/issues/detail?id=820#c1

quote:

I think Symantec's mail server guessed the password "infected" and crashed (this password is commonly used among antivirus vendors to exchange samples), because they asked if they had missed a report I sent.

They had missed the report, so I sent it again with a randomly generated password.

MrMoo
Sep 14, 2000

Skyl3lazer posted:

I'm floored. Like, actually how do either of these things happen?

Developers writing CRM software are not going to be superstars.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

MrMoo posted:

Developers writing CRM software are not going to be superstars.

And if you do hire a superstar to work on a CRM they'll build some incredibly overcomplicated thing that maybe happens to support being used as a CRM out of boredom.

BigRedDot
Mar 6, 2008

TooMuchAbstraction posted:

Yep. I chalk it up to not wanting anyone to think that the product has any kind of support backing it, because nobody wants to provide support, they just want to build things.

This is pretty off-base, IMO. There's a difference between "not wanting" to provide support, and being the only one or or two or three people at the pointy end of an issue tracker with thousand or tens of thousands of users. There's nothing about being an OSS developer that magically grants superhuman abilities to do more work in a day than anyone else. Just how many dozens or hundreds of people's problems can you solve in eight hours? For a successful OSS project, indeed for an OSS project to be successful, it has to reach a point where there is a real community, one that can self-serve and self-support.

FWIW I'm nominally in charge of a ~4500 star project on GH with ~50k installs/mo. We're about to have a 1.0 later this year, though if were only up to me, guess what I'd probably wait a bit longer. Reluctance isn't about "wanting to build things" it's loving exhausting just trying to keep up with mailing list, SO, and GH triage. Never mind actual development, PR reviews, managing the other core devs, encouraging and mentoring new contributors, keeping up with social media about the project, working on governance and funding sources... and I am lucky, unbelievably lucky enough to get paid to work on OSS. Is it any wonder someone who makes something kind of cool in their unpaid spare time and graciously gives it away for free doesn't necessarily also want to sign up to be chained to it in perpetuity?

BigRedDot fucked around with this message at 22:27 on Jun 30, 2016

Evil_Greven
Feb 20, 2007

Whadda I got to,
whadda I got to do
to wake ya up?

To shake ya up,
to break the structure up!?

Strong Sauce posted:

If you haven't heard about this: https://googleprojectzero.blogspot.com/2016/06/how-to-compromise-enterprise-endpoint.html


whoa this is bad. hey google security guy what happened when you emailed symantec the results?: https://bugs.chromium.org/p/project-zero/issues/detail?id=820#c1
Whoops.

quote:

Many developers will be familiar with executable packers like UPX, they’re tools intended to reduce the size of executables by compressing them. This causes a problem for antivirus products because it changes how executables look.


Antivirus vendors solve this problem with two solutions. First, they write dedicated unpackers to reverse the operation of the most common packers, and then use emulation to handle less common and custom packers.
While that looks like a big annoyance, their approach is lacking:

quote:

Effectively, we can get Symantec to execute a sequence like this:

char *buf = malloc(SizeOfImage);

memcpy(&buf[DataSection->VirtualAddress],
DataSection->PointerToRawData,
SectionSizeOnDisk);


All of these values are attacker controlled, resulting in a very clean heap or pool overflow.
Which is a problem, because:

quote:

On Linux, Mac and other UNIX platforms, this results in a clean heap overflow as root in the Symantec or Norton process. On Windows, this results in kernel memory corruption.


Because Symantec uses a filter driver to intercept all system I/O, just emailing a file to a victim or sending them a link to an exploit is enough to trigger it
I never thought I would say I prefer the annoying McAfee that I have, but here we are.

ToxicSlurpee
Nov 5, 2003

-=SEND HELP=-


Pillbug
Don't a lot of open source projects get hacked apart or pillaged for source code in a lot of implementations? Mostly a lot of open source stuff seems to be "hey workday I made this thing. Use it if you want but you're on your own getting it to work in your environment." That seems to be the difference between proprietary and oss and like everything else in tech land there are tradeoffs when using either.

At least with open source you have the code if it quits being supported.

OddObserver
Apr 3, 2009

Evil_Greven posted:


I never thought I would say I prefer the annoying McAfee that I have, but here we are.

Well.... https://bugs.chromium.org/p/project-zero/issues/detail?id=817

Evil_Greven
Feb 20, 2007

Whadda I got to,
whadda I got to do
to wake ya up?

To shake ya up,
to break the structure up!?

16 Symantec issues, 7 Windows issues, 1 Linux issue.

e: that looks like the only McAfee issue on their entire list of public-viewable issues

Evil_Greven fucked around with this message at 00:17 on Jul 1, 2016

necrotic
Aug 2, 2005
I owe my brother big time for this!

Evil_Greven posted:

I never thought I would say I prefer the annoying McAfee that I have, but here we are.

Prefer none of them except windows defender and emet.

Or just go to osx the land of no viruses.

Ochowie
Nov 9, 2007

MrMoo posted:

Developers writing CRM software are not going to be superstars.

Plorkyeran posted:

And if you do hire a superstar to work on a CRM they'll build some incredibly overcomplicated thing that maybe happens to support being used as a CRM out of boredom.

Why would anyone write their own CRM at this point? Between Salesforce and the fact that every ERP has a CRM module what's the point?

MrMoo
Sep 14, 2000

People are cheap, Salesforce costs money :homebrew:

Ochowie
Nov 9, 2007

MrMoo posted:

People are cheap, Salesforce costs money :homebrew:

Base SalesForce licenses are really cheap. Not sure how much different options can make the price rise but I'm sure it's cheaper than paying an outside contractor to build one from scratch.

EssOEss
Oct 23, 2006
128-bit approved
No, you have the intern build your CRM, silly man! After all, we have to pay them anyway so they might as well do some work!

Westie
May 30, 2013



Baboon Simulator
Coding horror of the loving month: EE2

Folks at work thought it'd be a good idea to have a dev manage a website of a client we're hoping to have one of our websites.

Turns out I'm that dev, and I'm wanting my life to end right about n

Westie
May 30, 2013



Baboon Simulator


I think this says all about my experience with EE2

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal

What.

Assuming I get that right, why even bother having stuff in a hierarchy? I'd take some vomit in a bespoke csv-like garbage format over this.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
It's a fairly standard example of what happens when you build a programming language by starting with a nice simple non-turing-complete thing that solves a specific problem well and then keep glomming on new features that each solve one specific problem when it turns out that you need more flexibility.

Soricidus
Oct 21, 2010
freedom-hating statist shill

Westie posted:



I think this says all about my experience with EE2

Sever

Westie
May 30, 2013



Baboon Simulator

I wish I could :sever:

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal

Plorkyeran posted:

It's a fairly standard example of what happens when you build a programming language by starting with a nice simple non-turing-complete thing that solves a specific problem well and then keep glomming on new features that each solve one specific problem when it turns out that you need more flexibility.

Yeah, I suppose that's the most likely explanation. It's definitely something I've seen happen before, but not taken as far as that example. It's hard to believe that was really the only (best?) way to do this given their constraints.

Adbot
ADBOT LOVES YOU

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Westie posted:

I wish I could :sever:

The first step is deciding you're going to make a change; after that you're just solving tractable problems one at a time.

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