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.
 
  • Locked thread
necrotic
Aug 2, 2005
I owe my brother big time for this!
What a poo poo show. Revert the database to no posts

Adbot
ADBOT LOVES YOU

JewKiller 3000
Nov 28, 2006

by Lowtax
posting on a page that doesn't exist

thanks lowtax

Sapozhnik
Jan 2, 2005

Nap Ghost
so, what, every thread there's a spooky X-post-long hole after every 25 posts, for different values of X in each thread?

how the gently caress does this even happen :psyduck:

cinci zoo sniper
Mar 15, 2013




Sapozhnik posted:

so, what, every thread there's a spooky X-post-long hole after every 25 posts, for different values of X in each thread?

how the gently caress does this even happen :psyduck:

nah looks like its spooky X-post hole after every 40-X posts

Chalks
Sep 30, 2009

Sapozhnik posted:

so, what, every thread there's a spooky X-post-long hole after every 25 posts, for different values of X in each thread?

how the gently caress does this even happen :psyduck:

A bunch of missing posts that no longer count towards posts per page but still count towards the number of pages a thread thinks it has.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

radiuuuuuuuuuum

HoboMan
Nov 4, 2010

Lowtax be like:
SQL code:
DELETE dbo.Users
WHERE UsersName = 'Zen Death Robot'

ERROR: The DELETE statement conflicted with the REFERENCE constraint 'FK_Poasts_UserID'.

DELETE dbo.Poasts
WHERE UsersName = 'Zen Death Robot'

(985283 rows affected)

DELETE dbo.Users
WHERE UsersName = 'Zen Death Robot'

(1 rows affected)

HoboMan fucked around with this message at 22:48 on Oct 6, 2017

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

quiggy posted:

i have a suite of classes that encapsulate three primitive types and one stl type: bool, double, int, and std::string. i had to create a Type enum with values BOOL, DOUBLE, INT, and STRING to do some of what i want :cripes:

not sure I understand (is it like a struct or like a union?), but I can probably help if you could explain in more depth

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av

HoboMan posted:

i want a real qa team so bad

currently it's a bunch of BAs that are supposed to do it in their down time. guess how well that works?

as long as I work in this field, I will never go without full time QA people again, if I can do anything about it

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

HoboMan posted:

Lowtax be like:
SQL code:
DELETE dbo.Users
WHERE UsersName = 'Zen Death Robot'

ERROR: The DELETE statement conflicted with the REFERENCE constraint 'FK_Poasts_UserID'.

DELETE dbo.Poasts
WHERE UsersName = 'Zen Death Robot'

(985283 rows affected)

DELETE dbo.Users
WHERE UsersName = 'Zen Death Robot'

(1 rows affected)

yeah it was definitely something like this. i don't buy that zdr did it because zdr has consistently not hosed things up the whole time he's been adminning.

FlapYoJacks
Feb 12, 2009
What's worse?

Javascript or PHP?

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av
php without a shade of doubt

HoboMan
Nov 4, 2010

HoboMan posted:

Lowtax be like:
SQL code:
DELETE dbo.Users
WHERE UsersName = 'Zen Death Robot'

ERROR: The DELETE statement conflicted with the REFERENCE constraint 'FK_Poasts_UserID'.

DELETE dbo.Poasts
WHERE UsersName = 'Zen Death Robot'

(985283 rows affected)

DELETE dbo.Users
WHERE UsersName = 'Zen Death Robot'

(1 rows affected)

but in the dbo.Thrad table there's a poastCount int (it used to be a tinyint which was why there was the old limit) that radium put in and everything uses for post count (because it's super fast!) and Lowtax forgot to update it

darthbob88
Oct 13, 2011

YOSPOS

ratbert90 posted:

What's worse?

Javascript or PHP?

PHP, because there are actual good alternatives, but there's no replacement for Javascript.

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat

ratbert90 posted:

What's worse?

Javascript or PHP?

both are equally terrible because they encourage people who have no right to be doing anything with a computer to "program"

gonadic io
Feb 16, 2011

>>=
Two entire forums (admittedly a lot of overlap) of people who do this poo poo for a living and we're still in this situation.

cinci zoo sniper
Mar 15, 2013




gonadic io posted:

Two entire forums (admittedly a lot of overlap) of people who do this poo poo for a living and we're still in this situation.

its not like theres a huge concilium of 6-fig webdev/dba goons trying to crack this problem, no one just gives a poo poo a shitposts away

anthonypants
May 6, 2007

by Nyc_Tattoo
Dinosaur Gum

gonadic io posted:

Two entire forums (admittedly a lot of overlap) of people who do this poo poo for a living and we're still in this situation.
xenforo is right around the corner

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

gonadic io posted:

Two entire forums (admittedly a lot of overlap) of people who do this poo poo for a living and we're still in this situation.

because lowtax wants people to do this stuff for free or cheap and is actively hostile towards anybody who tells him anything he doesn't want to hear. who would want that job?

Elysiume
Aug 13, 2009

Alone, she fights.
give all of yospos full R/W access to everything on SA, tia

cinci zoo sniper
Mar 15, 2013




Elysiume posted:

give all of yospos full R/W access to everything on SA, tia

id wipe yor poasts

Elysiume
Aug 13, 2009

Alone, she fights.

cinci zoo sniper posted:

id wipe yor poasts
the modern era's burning of the library of alexandria

cinci zoo sniper
Mar 15, 2013




Elysiume posted:

the modern era's burning of the library of alexandria

code:
composer remove elysiume/alexandria

redleader
Aug 18, 2005

Engage according to operational parameters
starting to think that the guy who was rewriting the forums in elixir may have been on to something

mod saas
May 4, 2004

Grimey Drawer
has anyone seen some missing posts?

gonadic io
Feb 16, 2011

>>=
its like the ultimate hellban

jony neuemonic
Nov 13, 2009

e/n incoming :toot:

how do i get better at greenfield development? i think i'm pretty good at working with existing stuff and i haven't had much trouble walking into some pretty gnarly projects and getting a handle on things, but whenever i get asked to build something from scratch i panic and deliver (imo) pretty bad work. it's real demoralizing because i don't want to do bad work, and it makes what should be a good opportunity (no more legacy code!) into a huge source of stress.

ErIog
Jul 11, 2001

:nsacloud:

jony neuemonic posted:

e/n incoming :toot:

how do i get better at greenfield development? i think i'm pretty good at working with existing stuff and i haven't had much trouble walking into some pretty gnarly projects and getting a handle on things, but whenever i get asked to build something from scratch i panic and deliver (imo) pretty bad work. it's real demoralizing because i don't want to do bad work, and it makes what should be a good opportunity (no more legacy code!) into a huge source of stress.

Can you give an example of why you think your work is bad and in what areas you feel those projects were lacking?

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer
Free the goastpost

MrMoo
Sep 14, 2000

jony neuemonic posted:

e/n incoming :toot:

how do i get better at greenfield development? i think i'm pretty good at working with existing stuff and i haven't had much trouble walking into some pretty gnarly projects and getting a handle on things, but whenever i get asked to build something from scratch i panic and deliver (imo) pretty bad work. it's real demoralizing because i don't want to do bad work, and it makes what should be a good opportunity (no more legacy code!) into a huge source of stress.

The trick is to make one quick and gnarly version, then take a second wind, and perform magic on the "existing solution" as you normally would.

MononcQc
May 29, 2007

Prototype to do all the loving up early then rewrite

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

"plan to throw one away" etc etc

yeah i agree it kind of sucks cause you get so excited not to deal with legacy garbage and then you're staring at public static void main and go completely blank trying to anticipate every single architectural decision up front

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
making sure you have good requirements is probably everything

DONT THREAD ON ME fucked around with this message at 01:19 on Oct 7, 2017

quiggy
Aug 7, 2010

[in Russian] Oof.


hackbunny posted:

not sure I understand (is it like a struct or like a union?), but I can probably help if you could explain in more depth

alright gonna effortpost about this, keep in mind i live in a c++03 hellworld that also has weird coding requirements like no templates (or i'd do it that way)

so i have a pure virtual class called Action. an Action is essentially a string/value pair, so it has two fields, std::string key and some value of some type called param. this is for a pretty basic library so i don't need to worry about what the key actually is, that's for the code that uses an Action to worry about.

there are four types of Actions i care about : BoolAction, DoubleAction, IntAction, and StringAction. each one derives from Action, and carries with it a few functions it's required to implement, most notably getRawParam(), which returns a const void* to the param field. it also supplies a getType() function, which returns a value from an ActionType enum that has values BOOL, DOUBLE, INT, and STRING, and a function called getPair(), which returns a std::pair that wraps the ActionType and const void* together. each one also by contract has a getParam() function that returns a value of its type, although because no templates these cannot inherit from a base getParam()

there's also a setRawParam function that accepts const void* pointers, casts them to the proper type, and stores them in param, and an ActionFactory that does most of the heavy lifting when creating actions: feed it a type, a key, and a const void* and it'll give you an Action of the correct type. ActionFactory also has a clone method that lets you copy Actions more easily; all Actions have their copy constructors and assignment operators hidden to force you to use clone instead.

this is an extremely core piece of a major rewrite of our largest software package, so it needs to be as fast as possible. if it weren't for that i'd rely in large part on dynamic_casting Action pointers to learn their types, but that's too slow so i have the ActionType system set up instead. it's really the lack of templates that's killing me, or i'd just make an Action<T> class that has a getParam() that returns a const T&. or if c++ had literally any element of reflection i wouldn't have to do stupid bullshit like switch statements on getType() to cast properly. basically c++03 without templates is a hellworld of pain

Hunter2 Thompson
Feb 3, 2005

Ramrod XTreme
Reduce your scope for the first version, don't try to think ahead too hard about features you might need to add later. Just get something simple that works solidly, even if it's not very efficient or idiomatic.

You're going to do many re-writes. It's a fact of development, don't let it bum you out.

At some point it switches over from greenfield to maintenance / extension.

Incremental development is the key thing to keep in mind. It's really hard to build a functional complex system from scratch, nearly all complex systems evolved from working simple ones.

jony neuemonic
Nov 13, 2009

ErIog posted:

Can you give an example of why you think your work is bad and in what areas you feel those projects were lacking?

it's possible that i'm just being too picky, but it never feels like i hit a spot where things are robust. it's always just good enough to work but that's it. to be fair to myself, the last couple of times i've been asked to build something new it's been using things i have no experience with but i dunno, i should be able to read the docs and not gently caress it up too badly.

carry on then posted:

"plan to throw one away" etc etc

yeah i agree it kind of sucks cause you get so excited not to deal with legacy garbage and then you're staring at public static void main and go completely blank trying to anticipate every single architectural decision up front

this is a huge part of it. all i can see is the end result they want, but never the steps i need to get there.

MrMoo
Sep 14, 2000

MALE SHOEGAZE posted:

it probably really depends on what you're doing but making sure you have good requirements is probably everything

That's the fallacy of waterfall, you should assume requirements are going to be varied and undefined until significantly later. Choose technologies you understand and concentrate getting something working but also flexible for new demands. Ideally you should be able to regularly replace components with better(tm) versions as required. To avoid is locking into particular technologies and architecture which could break the entire project or significantly hamper growth: i.e. snowflake technologies.

Jabor
Jul 16, 2010

#1 Loser at SpaceChem
"my workplace bans the language facilities that make it easy to do X; why does this language make it so hard to do X?"

quiggy
Aug 7, 2010

[in Russian] Oof.


Jabor posted:

"my workplace bans the language facilities that make it easy to do X; why does this language make it so hard to do X?"

tbf templates in c++ are an awful hacky thing that are held together with twine and glue, so i get why my boss doesn't like them. just saying in most other languages there's more ways to skin a cat

Adbot
ADBOT LOVES YOU

FamDav
Mar 29, 2008

jony neuemonic posted:

e/n incoming :toot:

how do i get better at greenfield development? i think i'm pretty good at working with existing stuff and i haven't had much trouble walking into some pretty gnarly projects and getting a handle on things, but whenever i get asked to build something from scratch i panic and deliver (imo) pretty bad work. it's real demoralizing because i don't want to do bad work, and it makes what should be a good opportunity (no more legacy code!) into a huge source of stress.

i get this - especially if you're in a larger company where a lot of the work is extension and addition. some tips

* think backwards. who's the customer of this? what do they actually want? Once you have an idea of what they want, you can start figuring out how to get them it
* Come up with the set of constraints you're working under. Try and really pick the constraints that have to absolutely be fulfilled
* Talk to your coworkers about your idea. Rubber ducking helps but getting a fresh pair of brain hemispheres helps more
* Be conservative. Assume that your group is going to have to own this, and that every new concept you bring in is yet more cognitive load. The clearest example of this is bringing in a new language that nothing else uses or knows.
* Write out a design. Take notes, do some prototyping, come up with your data model and interactions. Write up a design doc that hits these
  1. What is this all for? Often times you know how exactly what you mean when you say "Frothing Bit Reaper" but unsuprisingly a lot of your peers won't. Explaining what this is and why we're doing this is important for context
  2. Remember those constraints from that other bullet? Add these in too. Without those, someone reading your doc will think you're making the wrong decision because they lack the context of the constraints you're operating under.
  3. Go into medium-level detail. Be specific enough that you could hand the doc off to someone else to code it up, but general enough that you haven't literally done all the work

It turns out that "measure twice, cut once" is very applicable to software development, and having a document on hand that explains the what, why, and how of the project is really helpful for the actual implementation of said project

  • Locked thread