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
spiritual bypass
Feb 19, 2008

Grimey Drawer
Yeah, I'm thinking more like people who still use VB or whatever unmaintained garbage because they won't ever upgrade their own skills. It's fine to not write code constantly, which is very different from putting your workplace in danger due to negligent use of obsolete practices.

Adbot
ADBOT LOVES YOU

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Stop reminding me that I need to learn a second language over java.

Careful Drums
Oct 30, 2007

by FactsAreUseless

Mega Comrade posted:

I definitely feel myself creeping towards the latter. Its hard to stay enthusiastic about programming when you do it 8 hours a day 5 days a week. I'm not starting to dislike my job or anything, but when I get home I find myself wanting to do anything as long as its not programmer related.

I'm right with you there. I like programming, and there's a billion things I want to look into in my off hours apart from doing whatever story is currently assigned to me. Staying motivated to learn and do more isn't the easiest thing, especially with family.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

pokeyman posted:

Was that their literal take or were they aiming for the less objectionable "let’s stick largely to the parts of the language understood by the people here who write in it"?

Which I don’t totally agree with (people can learn!) but it has a kernel of truth.

i like how!!

The overwhelming majority of the project is legacy code, both old and new. This came up specifically because while I was out last week, he asked another team member why we were using IEnumerables as inputs and outputs in a new piece of rewritten code, rather than Lists, and that team member couldn't explain it. He asked, I explain that if we do things in a LINQ-y way, we get the dual benefits of both getting *one* straight path through the flow of read-parse-transform-serialize-output, but also that we also get the benefit of being able to do things like slip in and out logic into that chain without having to rewrite 1000 other lines of up and downstream code. Plus some talk on lazy eval etc.

His take was that even he doesn't really understand it, and so we should stop using it so that nobody gets confused. With a side of "thinking about things in that way isn't how we all learned in school so we probably shouldn't expect people to have to learn it."

I told him that when I go into surgery, I want the doctor that's read up on the latest techniques and procedures and tools - not the guy who graduated a decade or two back and refused to learn anything new since. He was unconvinced and likely will just join the "down with engineering and best practices!" club that's really taking off.

Keetron posted:

Stop reminding me that I need to learn a second language over java.

Spend three days and become a fluent C# dev :v:

Mega Comrade
Apr 22, 2004

Listen buddy, we all got problems!

Careful Drums posted:

I'm right with you there. I like programming, and there's a billion things I want to look into in my off hours apart from doing whatever story is currently assigned to me. Staying motivated to learn and do more isn't the easiest thing, especially with family.

We actually have a day dedicated once a month to upskilling and its great, I always plan it way in advance and look forward to it. I just cannot get the same enthusiasm up for my own time and I have no idea how to change that, its not like I don't have the time either, I don't have kids and my girlfriend often has to work weekends. I do sometimes manage to start something but I almost never continue with it, my github is a graveyard of unfinished projects and ideas.

Careful Drums
Oct 30, 2007

by FactsAreUseless

Cuntpunch posted:

The overwhelming majority of the project is legacy code, both old and new. This came up specifically because while I was out last week, he asked another team member why we were using IEnumerables as inputs and outputs in a new piece of rewritten code, rather than Lists, and that team member couldn't explain it. He asked, I explain that if we do things in a LINQ-y way, we get the dual benefits of both getting *one* straight path through the flow of read-parse-transform-serialize-output, but also that we also get the benefit of being able to do things like slip in and out logic into that chain without having to rewrite 1000 other lines of up and downstream code. Plus some talk on lazy eval etc.

His take was that even he doesn't really understand it, and so we should stop using it so that nobody gets confused. With a side of "thinking about things in that way isn't how we all learned in school so we probably shouldn't expect people to have to learn it."

I told him that when I go into surgery, I want the doctor that's read up on the latest techniques and procedures and tools - not the guy who graduated a decade or two back and refused to learn anything new since. He was unconvinced and likely will just join the "down with engineering and best practices!" club that's really taking off.


Spend three days and become a fluent C# dev :v:

that sounds like some Better things aren't possible! bullshit

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

Careful Drums posted:

that sounds like some Better things aren't possible! bullshit

He's a really sharp guy, super motivated, and great at analyzing bug reports and stuff. I do agree, the 'clever' poo poo that you can come up with can oftentimes go completely bonkers even while using normal language features.

But I guess I don't feel like being fluent and comfortable with .Select() or .Where() without .ToList()'ing it every single step of the way is...a *big* ask.

Nor do I really feel it's ok that rather than suffer a week of feeling dumb until it *makes sense* - the attitude tends to be just suffering in ignorance and blaming it on being too hard to understand.

Sab669
Sep 24, 2009

a hot gujju bhabhi posted:

I don't think he was talking about people like you, that's pretty normal behaviour. He was talking about people who refuse to try anything new at work or refuse to do something outside their comfort zone for fear that they might actually learn something new.

Where do you people work where you can just arbitrarily decide to include new libraries/frameworks into your products?? If I told my boss I was going to add <whatever latest hot JS library> for some new feature we're adding I'd 100% get a very cockeyed look, then be told QA doesn't have the time to test such a thing enough. I'm all for trying to write better code, but that seems like the extent of my "control" over my own personal development while at work.

School of How
Jul 6, 2013

quite frankly I don't believe this talk about the market

Mega Comrade posted:

I definitely feel myself creeping towards the latter. Its hard to stay enthusiastic about programming when you do it 8 hours a day 5 days a week. I'm not starting to dislike my job or anything, but when I get home I find myself wanting to do anything as long as its not programmer related.

Most jobs don't require constant learning or "improving". Growing up my father was an accountant. The only learning he ever had to do was for three days a year he'd go to a seminar in Florida where he would learn about all the new things in the industry. The rest of the year he would just perform his job. This is how it is for nearly 99% of people in the workforce. I think it's perfectly normal to be fatigued by the expectation that you have to constantly learn the new stuff, because a lot of the new stuff that comes out is just a remix of the old stuff. Very rarely does something new come out that actually makes it possible to do things that you couldn't do before.

CPColin
Sep 9, 2003

Big ol' smile.
Much like your posting

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

School of How posted:

Most jobs don't require constant learning or "improving". Growing up my father was an accountant. The only learning he ever had to do was for three days a year he'd go to a seminar in Florida where he would learn about all the new things in the industry. The rest of the year he would just perform his job. This is how it is for nearly 99% of people in the workforce. I think it's perfectly normal to be fatigued by the expectation that you have to constantly learn the new stuff, because a lot of the new stuff that comes out is just a remix of the old stuff. Very rarely does something new come out that actually makes it possible to do things that you couldn't do before.

Ok. But that's the nature of the job. If you aren't constantly learning and growing your skillset and experience - on your own time much of the time - then you're not going to get jobs compared to candidates who *do* spend the time to keep up to date.

School of How
Jul 6, 2013

quite frankly I don't believe this talk about the market

Pollyanna posted:

How has made the fatal mistake of thinking that whoever writes code will be the only person who ever maintains it.

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

My favorite example is Super Mario Bros. for the NES. That game was first released in 1985, and the code hasn't changed one bit since then. And yet the game still works perfectly fine today as it did 30 years ago. It doesn't really matter if the code for SMB is "maintainable" or not because it doesn't need maintenance.

School of How fucked around with this message at 22:54 on Aug 15, 2019

spiritual bypass
Feb 19, 2008

Grimey Drawer

Sab669 posted:

Where do you people work where you can just arbitrarily decide to include new libraries/frameworks into your products?? If I told my boss I was going to add <whatever latest hot JS library> for some new feature we're adding I'd 100% get a very cockeyed look, then be told QA doesn't have the time to test such a thing enough. I'm all for trying to write better code, but that seems like the extent of my "control" over my own personal development while at work.

I've had the ability to add new libraries to existing projects at most jobs I've had. The ones where I couldn't felt very conservative in their practices and also lacked basic stuff like automated deployments (talking about web stuff). I didn't stay long at those places.

Munkeymon
Aug 14, 2003

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



Keetron posted:

You are not a senior developer and I you would be best off becoming a certified plumber.

It's horrifying enough that he might be telling the truth about being a flight instructor without wondering what sorts of horrors How the Plumber could inflict on infrastructure.

kitten smoothie
Dec 29, 2001

School of How posted:

Most jobs don't require constant learning or "improving". Growing up my father was an accountant. The only learning he ever had to do was for three days a year he'd go to a seminar in Florida where he would learn about all the new things in the industry. The rest of the year he would just perform his job. This is how it is for nearly 99% of people in the workforce. I think it's perfectly normal to be fatigued by the expectation that you have to constantly learn the new stuff, because a lot of the new stuff that comes out is just a remix of the old stuff. Very rarely does something new come out that actually makes it possible to do things that you couldn't do before.

You're saying "most jobs don't require ongoing learning" and then citing an accountant fulfilling the annual continued professional education requirement to keep their CPA license :psyduck:

kitten smoothie fucked around with this message at 15:56 on Aug 15, 2019

Sab669
Sep 24, 2009

rt4 posted:

I've had the ability to add new libraries to existing projects at most jobs I've had. The ones where I couldn't felt very conservative in their practices and also lacked basic stuff like automated deployments (talking about web stuff). I didn't stay long at those places.

Sounds like my current place :downs:

From a technological / skillset / direct pay perspective I want to leave, but the actual benefits are really good and the coworkers are the most enjoyable I've ever had. But my area (western NY) doesn't have many great opportunities and I dislike most of the regions that are "worth" relocating to :sigh:

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

School of How posted:

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

My favorite example is Super Mario Bros. for the NES. That game was first released in 1985, and the code hasn't changed one bit since then. And yet the game still works perfectly fine today as it did 50 years ago. It doesn't really matter if the code for SMB is "maintainable" or not because it doesn't need maintenance.

Good luck building your time machine. The rest of us will continue to live in a world where patching software is normal.

School of How
Jul 6, 2013

quite frankly I don't believe this talk about the market

Cuntpunch posted:

Ok. But that's the nature of the job. If you aren't constantly learning and growing your skillset and experience - on your own time much of the time - then you're not going to get jobs compared to candidates who *do* spend the time to keep up to date.

You can't improve your skills infinitely. When you're a newbie and you suck, then it's true that constant improvement is possible. But once you reach the master phase, then you reach a plateau that you may never get over, no matter how much time you put into it. Most people at the master phase do things to keep their skills, rather than improve their skills.


kitten smoothie posted:

You're saying "most jobs don't require ongoing learning" and then citing an accountant fulfilling the annual continued professional education requirement to keep their CPA license :psyduck:

My point was that it's only three days a year. Is it normal for a programmer to spend three days a year learning new things?

Careful Drums
Oct 30, 2007

by FactsAreUseless

School of How posted:

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

My favorite example is Super Mario Bros. for the NES. That game was first released in 1985, and the code hasn't changed one bit since then. And yet the game still works perfectly fine today as it did 50 years ago. It doesn't really matter if the code for SMB is "maintainable" or not because it doesn't need maintenance.

Yes, code does not need maintenance in tyool 2019 where enterprise software is still shrink-wrapped and sold on the shelf of circuit city.

minato
Jun 7, 2004

cutty cain't hang, say 7-up.
Taco Defender

School of How posted:

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

My favorite example is Super Mario Bros. for the NES. That game was first released in 1985, and the code hasn't changed one bit since then. And yet the game still works perfectly fine today as it did 50 years ago. It doesn't really matter if the code for SMB is "maintainable" or not because it doesn't need maintenance.

Your favorite example is weak.

First, old console games are a rare type of software in that they were never meant to patched, so they weren't written with maintenance in mind; it was more important to cram it all into the cartridge on a tight deadline.

Second, if the game was a success then that tradeoff came back to bite the developers, because they'd need to reuse the code for the sequels and ports to other / newer platforms.

Sab669
Sep 24, 2009

Didn't see how's post about coding maintenance. Lol come work in an industry with heavy government regulation and then we'll see how often you have to go back and touch old code.

Literally every year our EMR has to have a bunch of new stuff / remove old stuff, while also having the ability to transition between any given 'annual version'. Making sure new poo poo works with old poo poo is all I do.

kayakyakr
Feb 16, 2004

Kayak is true

Mega Comrade posted:

I definitely feel myself creeping towards the latter. Its hard to stay enthusiastic about programming when you do it 8 hours a day 5 days a week. I'm not starting to dislike my job or anything, but when I get home I find myself wanting to do anything as long as its not programmer related.

Ah man, I'm sorry to hear this. I might be in the weird camp where writing code is both job and hobby, so while I enjoy a bunch of other things, I'm perfectly happy working the day job then snuggling up on the couch at night and playing around with my side projects.

Lord Of Texas
Dec 26, 2006

School of How posted:

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

Lol, yes it does need to be maintained even if the business requirements never change. At a minimum any network connected software is going to need security patches. You are way out of your depth man, Dunning-Kruger to the max. Maybe do some self-evaluation of your skillset.

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

Sab669 posted:

Where do you people work where you can just arbitrarily decide to include new libraries/frameworks into your products?? If I told my boss I was going to add <whatever latest hot JS library> for some new feature we're adding I'd 100% get a very cockeyed look, then be told QA doesn't have the time to test such a thing enough. I'm all for trying to write better code, but that seems like the extent of my "control" over my own personal development while at work.

My comments were more about working on areas of the code base you're not necessarily familiar with. One example is a guy that was on my team who did backend stuff, C# etc. He kept saying in our one-on-ones that he was keen to gain some familiarity with front end stuff. So I would occasionally try to hand him some minor task and say "feel free to ask the front end devs if you're unsure of anything and they'll help you out". His response was always the same: "Oh.. I don't think I'm the best person for that job." No, you're not, but neither was anyone else UNTIL THEY LEARNED TO BE.

And it was the same with any concept that was new to him, he just outright rejected it because he didn't want to do or learn anything new.

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

School of How posted:

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

My favorite example is Super Mario Bros. for the NES. That game was first released in 1985, and the code hasn't changed one bit since then. And yet the game still works perfectly fine today as it did 50 years ago. It doesn't really matter if the code for SMB is "maintainable" or not because it doesn't need maintenance.

SMB took at least a couple of years to be built, during which time many developers had to work together and fix bugs in each other's code. That is maintenance.

Lord Of Texas
Dec 26, 2006

School of How posted:

Most jobs don't require constant learning or "improving". Growing up my father was an accountant. The only learning he ever had to do was for three days a year he'd go to a seminar in Florida where he would learn about all the new things in the industry. The rest of the year he would just perform his job. This is how it is for nearly 99% of people in the workforce. I think it's perfectly normal to be fatigued by the expectation that you have to constantly learn the new stuff, because a lot of the new stuff that comes out is just a remix of the old stuff. Very rarely does something new come out that actually makes it possible to do things that you couldn't do before.

God drat now I really don't know if you're trolling or just a junior developer who thinks he is senior. If you're trolling, kudos, you got me good.

School of How
Jul 6, 2013

quite frankly I don't believe this talk about the market

Sab669 posted:

Didn't see how's post about coding maintenance. Lol come work in an industry with heavy government regulation and then we'll see how often you have to go back and touch old code.

Literally every year our EMR has to have a bunch of new stuff / remove old stuff, while also having the ability to transition between any given 'annual version'. Making sure new poo poo works with old poo poo is all I do.

The dichotomy to me isn't maintainable/non-maintainable, it's working/not-working. If the code is working, then it's maintainable. I can't fathom an example of working code that is not maintainable. If it works, then it can be studied and it'll be possible to understand how it works. Once you understand how it works, then you can make any adaptation you need. The only code that is truly impossible to figure out how it works is code that does not work.

I recall a time at a job a few years ago when some greenfield work came up. I convinced the product manager to let me do this greenfield work. When the lead developer found out about this, he insisted on starting the project himself, and then having me work off his "start". The lead developer spent all morning writing up like 1000 lines of code, but literally none of it was working code. He then gave me the file and told me I had to base the project off his code. It was like if a 3 year old made a drawing of a spaceship, and making a NASA engineer adapt that drawing into a working spaceship; it's impossible. Unlike working coce, it's impossible to figure out non-working code.

Infinotize
Sep 5, 2003

School of How posted:

If the code is working, then it's maintainable. I can't fathom an example of working code that is not maintainable.

You are a hack and a stain on the profession, or at best a pretty lousy troll

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
You see, the only demand we should make of a professional exam for programming should be that it exclude people like how but the existing interviewing process is doing fine at it

kayakyakr
Feb 16, 2004

Kayak is true

Infinotize posted:

You are a hack and a stain on the profession, or at best a pretty lousy troll

If troll, it's been very effective, seeing as they've managed to derail the thread, consistently, for 2-3 weeks at this point.

OTOH, it's like a good heel in wrestling, as everyone's come together to know that this is the most wrong person on the board.

CPColin
Sep 9, 2003

Big ol' smile.
Would you believe it's only been ten days?

Sab669
Sep 24, 2009

Today I learned a code's maintainability is a binary thing: Either it can be maintained, or it cannot.

There is exactly zero difference between well-commented code with thoughtful variable names and split up into reasonably-sized functions and CS99 stuff where you use single characters for variable names and singular functions do way too many things.

https://dotnetfiddle.net/sKKOCf - This function works, please explain to me what it does (I wish I could say I renamed some of the variables and deleted comments, but I didn't :suicide:)

Sab669 fucked around with this message at 17:10 on Aug 15, 2019

Pollyanna
Mar 5, 2005

Milk's on them.


School of How posted:

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

My favorite example is Super Mario Bros. for the NES. That game was first released in 1985, and the code hasn't changed one bit since then. And yet the game still works perfectly fine today as it did 50 years ago. It doesn't really matter if the code for SMB is "maintainable" or not because it doesn't need maintenance.

Am I losing my poo poo or was this actually for real just posted in 2019 CE?

kitten smoothie
Dec 29, 2001

School of How posted:

I can't fathom an example of working code that is not maintainable.

Have you looked in your home directory recently?

Jose Valasquez
Apr 8, 2005

School of How posted:

The dichotomy to me isn't maintainable/non-maintainable, it's working/not-working. If the code is working, then it's maintainable. I can't fathom an example of working code that is not maintainable. If it works, then it can be studied and it'll be possible to understand how it works. Once you understand how it works, then you can make any adaptation you need. The only code that is truly impossible to figure out how it works is code that does not work.

It honestly sounds like you have never worked on anything with more than a trivial amount of complexity. From that point of view almost all of your posts make sense.

rsjr
Nov 2, 2002

yay for protoss being so simple that retards can win with it

Cuntpunch posted:

The overwhelming majority of the project is legacy code, both old and new. This came up specifically because while I was out last week, he asked another team member why we were using IEnumerables as inputs and outputs in a new piece of rewritten code, rather than Lists, and that team member couldn't explain it. He asked, I explain that if we do things in a LINQ-y way, we get the dual benefits of both getting *one* straight path through the flow of read-parse-transform-serialize-output, but also that we also get the benefit of being able to do things like slip in and out logic into that chain without having to rewrite 1000 other lines of up and downstream code. Plus some talk on lazy eval etc.

His take was that even he doesn't really understand it, and so we should stop using it so that nobody gets confused. With a side of "thinking about things in that way isn't how we all learned in school so we probably shouldn't expect people to have to learn it."

Is this something C# specific? It seems like a generic why do we code against an interface over an implementation rather than the benefits of using LINQ, which is only an added bonus since LINQ I assume is built on top of that particular interface. Your answer isn’t very satisfying in that context, to be honest.

See https://stackoverflow.com/questions/383947/what-does-it-mean-to-program-to-an-interface etc.

spiritual bypass
Feb 19, 2008

Grimey Drawer

Sab669 posted:

Sounds like my current place :downs:

From a technological / skillset / direct pay perspective I want to leave, but the actual benefits are really good and the coworkers are the most enjoyable I've ever had. But my area (western NY) doesn't have many great opportunities and I dislike most of the regions that are "worth" relocating to :sigh:

Similar situation here in mid-sized southern US city. Go full remote, you probably won't regret it.

return0
Apr 11, 2007

Cancelbot posted:

I tried with my AWS interview stuff, god drat I tried. I even started a slight derail from the shite that is continuing to unfold.

Has anyone done the Amazon/AWS on site "loops" anyhow? That's where i'm at, 6 hours of interviews...

I've both interviewed there, are am an interviewer there, so I've seen it from both sides. My experience as an interviewee (several years ago) was mostly positive, with only one bad section. In the bad section I didn't gel with the interviewer, and didn't finish answering their question, but did fine in the other sections and ended up with an offer; something to keep in mind if you think a section didn't go well.

As an interviewer I do a technical section on the SDE loops, and am a 'bar raiser' on both SDE and other tech job family loops. From what I've seen, most interviewers genuinely make an effort to be accommodating and understanding, and want the candidate to have a positive experience.

In terms of preparation, I agree it's worth practicing whiteboarding & writing code in front of others, and remembering to talk the interviewer through your thought process in general. To be honest these things are useful no matter where you interview for a developer role.

return0
Apr 11, 2007

School of How posted:

Code is not something that inherently has to be "maintained". It's not like a sports car that will have parts wear out and need to be replaced.

My favorite example is Super Mario Bros. for the NES. That game was first released in 1985, and the code hasn't changed one bit since then. And yet the game still works perfectly fine today as it did 50 years ago. It doesn't really matter if the code for SMB is "maintainable" or not because it doesn't need maintenance.

The sense in which a software product rusts is that it no longer meets user expectations. Customers get excited about a new trend, or a successful feature that was once a differentiator is copied by competitors, or the code doesn't run on new hardware, for many other reasons. This is why nobody is buying Super Mario Bros. for the NES in 2019 (outside of novelty retro purchases, which themselves likely don't use the original code). If a product is to evolve with changing customer expectations and demand, it must be amenable to change - likely by a different team of developers.

Other than that I agree. If you're writing one off games or apps as a solo developer and you've got no intention or maintaining them, just do whatever works, is fast, and cheap (although, you may find that it's fastest and cheapest to write it well in the first place).

Adbot
ADBOT LOVES YOU

Munkeymon
Aug 14, 2003

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



bob dobbs is dead posted:

You see, the only demand we should make of a professional exam for programming should be that it exclude people like how but the existing interviewing process is doing fine at it

:negative: it's not good enough, I'm afraid

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