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
Series DD Funding
Nov 25, 2014

by exmarx

eschaton posted:

I couldn't tell you

but I've definitely seen that some people seem to have a thing for "no I want to do this all in pure Swift" and that's just silly, it's like saying "no I want to use pure C, no stdlib or OS" when writing something to run on Unix.

developers clinging to autistic ideals of purity? say it ain't so

Adbot
ADBOT LOVES YOU

Series DD Funding
Nov 25, 2014

by exmarx
a github project accepted my pull request and now i'm being informed that i received a "primecoin tip" for it

gonadic io
Feb 16, 2011

>>=

Series DD Funding posted:

a github project accepted my pull request and now i'm being informed that i received a "primecoin tip" for it

this isn't the peecoin thread

gonadic io
Feb 16, 2011

>>=
no wait

hindcoin?

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
Rumpcoin

MeruFM
Jul 27, 2010

Series DD Funding posted:

a github project accepted my pull request and now i'm being informed that i received a "primecoin tip" for it

sever

your fork

computer toucher
Jan 8, 2012

hi, a few months ago I wasn't a programmer at all, but I learned the best language there is which is php and made a terrible thing with it and after it was done I was told that I got the database end of things all wrong and now it's like gaaah I know what I should do to fix it but the thing to do is rewrite the whole thing. i already rewrote it once to use a templating engine.

but yes the bottom line is that hi, I'm a terrible programmer.

Valeyard
Mar 30, 2012


Grimey Drawer

computer toucher posted:

i already rewrote it once to use a templating engine.

I thought PHP IS a templating engine

cowboy beepboop
Feb 24, 2001

Valeyard posted:

I thought PHP IS a templating engine

yes it is. that doesn't stop people `echo`ing raw html elements at random like they're programming in 1999

computer toucher
Jan 8, 2012

my stepdads beer posted:

yes it is. that doesn't stop people `echo`ing raw html elements at random like they're programming in 1999

it gets absolutely unmaintainable very fast. twig separates logic and presentation and autoescapes everything. no need to echo poo poo, just pass vars to twig and render a template.

but yes lol php. I'll rebuild the thing in django when I feel like learning a new thing.

tef
May 30, 2004

-> some l-system crap ->

computer toucher posted:

hi, a few months ago I wasn't a programmer at all, but I learned the best language there is which is php and made a terrible thing with it and after it was done I was told that I got the database end of things all wrong and now it's like gaaah I know what I should do to fix it but the thing to do is rewrite the whole thing. i already rewrote it once to use a templating engine.

but yes the bottom line is that hi, I'm a terrible programmer.

welcome to programming where it is often easier to abandon hope and try again than to actually do the right thing in the first place, and if you do the right thing in the first place, no-one will listen so there isn't any point

computer toucher
Jan 8, 2012

tef posted:

welcome to programming where it is often easier to abandon hope and try again than to actually do the right thing in the first place, and if you do the right thing in the first place, no-one will listen so there isn't any point

yeah. i balanced the first brick on it's end and built a house on top and now I'd need to turn that brick around so that the house stays intact. gently caress it, I'll leave it like it is since it works just fine and nobody's using it so who cares.

it was a learning excercise and met that goal.

Soricidus
Oct 21, 2010
freedom-hating statist shill
i recommend convincing them that the problem was in what they asked for not what you provided. or possibly that their requirements have changed. either way their best bet is to keep giving you money for working on it.

(this is a general strategy, may not apply in this instance maybe)

Forgall
Oct 16, 2012

by Azathoth

computer toucher posted:

hi, a few months ago I wasn't a programmer at all, but I learned the best language there is which is php and made a terrible thing with it and after it was done I was told that I got the database end of things all wrong and now it's like gaaah I know what I should do to fix it but the thing to do is rewrite the whole thing. i already rewrote it once to use a templating engine.

but yes the bottom line is that hi, I'm a terrible programmer.
They should have had somebody supervise you the whole way instead of just leaving you with it for several months. Reminds me of my first job (unpaid internship in anything but name really) where instead of teaching me poo poo they just took my untested unreviewed code and shoved it into production.

Bloody
Mar 3, 2013

shoulda used .net

bobbilljim
May 29, 2013

this christmas feels like the very first christmas to me
:shittydog::shittydog::shittydog:
sometimes people think that since they spent all the time to make some software that they should try to fix it rather than do it all over again. this is untrue because most of the value is not in the pile of poo poo you made, but what you learnt whilst making GBS threads. so when you need to clean up your shitpile it might be easier to just do a new poo poo with what you learned from making GBS threads the first time

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

bobbilljim posted:

sometimes people think that since they spent all the time to make some software that they should try to fix it rather than do it all over again. this is untrue because most of the value is not in the pile of poo poo you made, but what you learnt whilst making GBS threads. so when you need to clean up your shitpile it might be easier to just do a new poo poo with what you learned from making GBS threads the first time

this but posting

qntm
Jun 17, 2009

code:
+---------------------------------------------------------------------+
|  14:09:21 a.m.      CUSTOMER DATA ENTRY FORM             16/25/2007 |
|                     ------------------------                        |
|                                                                     |
|  NAME:      _____________         +-----------------------------+   |
|  FIRSTNAME: _____________         |NBR ISN PRED-ID COLOUR COLOUR|   |
|  SEX        _____________         |--- --- ------- ------ ------|   |
|  STREETADR: _____________         |  1 FGC 8797899    RED    RED|   |
|  POSTCODE:  _____________         |  2 BRK 4389793  GREEN  GREEN|   |
|  CITY:      _____________         |  3 TT0 3495434  PRPLE  PRPLE|   |
|  COUNTRY:   _____________         |  4 T00  345345  CHAIR  CHAIR|   |
|  SEX:       _____________         |  5 007 3454355    BLU    BLU|   |
|  DOB:       _____________         +-----------------------------+   |
|  TEL:       _____________                                           |
|  TELEX:     _____________         POWERED BY: COBOL ON COGS         |
|                                                                     |
|                        ***DYNAMIC ACCESS***                         |
|  0000000: 4153 4349 4928 3729 2020 2020 2020 2020                   |
|  0000010: 2020 2020 2042 5344 204d 6973 6365 6c6c    <----------!   |
|  0000020: 616e 656f 7573 2049 6e66 6f72 6d61 7469                   |
|  0000030: 6f6e 204d 616e 7561 6c20 2020 2020 2020                   |
|  0000040: 2020 2020 2020 4153 4349 4928 3729 0a0a                   |
|  0000050: 4e08 4e41 0841 4d08 4d45 0845 0a20 2020                   |
|  0000060: 2020 6108 6173 0873 6308 6369 0869 6908                   |
|                                                                     |
|Enter-F1---F2---F3---F4---F5---F6---F7---F8---F9---F10---F11---F12---|
|      HLP  FRWD BCK  CLC  ETX  DC1  DC2  DC3  DC4  BLAH  FCKU  LoB   |
|                                                                     |
+---------------------------------------------------------------------+

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

qntm posted:

code:

+---------------------------------------------------------------------+
|  14:09:21 a.m.      CUSTOMER DATA ENTRY FORM             16/25/2007 |
|                     ------------------------                        |
|                                                                     |
|  NAME:      _____________         +-----------------------------+   |
|  FIRSTNAME: _____________         |NBR ISN PRED-ID COLOUR COLOUR|   |
|  SEX        _____________         |--- --- ------- ------ ------|   |
|  STREETADR: _____________         |  1 FGC 8797899    RED    RED|   |
|  POSTCODE:  _____________         |  2 BRK 4389793  GREEN  GREEN|   |
|  CITY:      _____________         |  3 TT0 3495434  PRPLE  PRPLE|   |
|  COUNTRY:   _____________         |  4 T00  345345  CHAIR  CHAIR|   |
|  SEX:       _____________         |  5 007 3454355    BLU    BLU|   |
|  DOB:       _____________         +-----------------------------+   |
|  TEL:       _____________                                           |
|  TELEX:     _____________         POWERED BY: COBOL ON COGS         |
|                                                                     |
|                        ***DYNAMIC ACCESS***                         |
|  0000000: 4153 4349 4928 3729 2020 2020 2020 2020                   |
|  0000010: 2020 2020 2042 5344 204d 6973 6365 6c6c    <----------!   |
|  0000020: 616e 656f 7573 2049 6e66 6f72 6d61 7469                   |
|  0000030: 6f6e 204d 616e 7561 6c20 2020 2020 2020                   |
|  0000040: 2020 2020 2020 4153 4349 4928 3729 0a0a                   |
|  0000050: 4e08 4e41 0841 4d08 4d45 0845 0a20 2020                   |
|  0000060: 2020 6108 6173 0873 6308 6369 0869 6908                   |
|                                                                     |
|Enter-F1---F2---F3---F4---F5---F6---F7---F8---F9---F10---F11---F12---|
|      HLP  FRWD BCK  CLC  ETX  DC1  DC2  DC3  DC4  BLAH  FCKU  LoB   |
|                                                                     |
+---------------------------------------------------------------------+

I'm the colour CHAIR

tef
May 30, 2004

-> some l-system crap ->

computer toucher posted:

it was a learning excercise and met that goal.

this is a pretty good attitude to take with web apps, as fashion trends dominate so much that much of the frontend ends up being rewritten as it turns out last year's one size fits all approach didn't work, so maybe this year's will

however there may be a point where your code is more responsible for data, and privacy, emails, names, passwords, and stuff, and it's kinda hard to write off trashing someone's identity as a learning experience

or where your frontend code has to be usable by everyone. (:toot: https://gds.blog.gov.uk/2012/01/20/user-testing-accessibility/ ) or where your website ends being used by scammers, spammers, and generally abusive people.

and it's not so easy to write off the consequences of your actions. it would be nice if teams both managed consequences, but then again we have terms like technical debt

but tbh it sounds like this is a good case of the eh, gently caress it, what's next, but it does pay some to have some foresight (actually hindsight, learning from previous terrible things, and bringing them up to prevent them being repeated)

Captain Foo
May 11, 2004

we vibin'
we slidin'
we breathin'
we dyin'

eschaton posted:

I'm the colour CHAIR

i'm F11

Necc0
Jun 30, 2005

by exmarx
Broken Cake

computer toucher posted:

yeah. i balanced the first brick on it's end and built a house on top and now I'd need to turn that brick around so that the house stays intact. gently caress it, I'll leave it like it is since it works just fine and nobody's using it so who cares.

it was a learning excercise and met that goal.

start learning design patterns and be sure to sketch everything out on paper before you start writing

you'll still gently caress things up but it won't be as atrocious

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

tef posted:

this is a pretty good attitude to take with web apps, as fashion trends dominate so much that much of the frontend ends up being rewritten as it turns out last year's one size fits all approach didn't work, so maybe this year's will

Tef is sometimes just grumpy but this is 100% true

rotor
Jun 11, 2001

classic case of pineapple derangement syndrome

Necc0 posted:

start learning design patterns and be sure to sketch everything out on paper

use as many design patterns as you can - the more patterns you have in your design, the better it'll be

Notorious b.s.d.
Jan 25, 2003

by Reene

rotor posted:

Tef is sometimes just grumpy but this is 100% true

grumpiness is the appropriate reaction to our lovely industry

computer toucher
Jan 8, 2012

Forgall posted:

They should have had somebody supervise you the whole way instead of just leaving you with it for several months. Reminds me of my first job (unpaid internship in anything but name really) where instead of teaching me poo poo they just took my untested unreviewed code and shoved it into production.

there's no "they", I did the project just for me. they is google and snack overflow's "how do I added a columns to mysql?".

triple sulk
Sep 17, 2014



Do any of you have experience with negotiations involving non-domestic (remote) positions?

tef
May 30, 2004

-> some l-system crap ->

Necc0 posted:

start learning design patterns

this is probably the worst advice ever:

- becoming a biologist? well better learn the taxonomy

- a chemist? memorise the periodic table

- a physicist? blah blah you get the point, and i might as well stop before i get to a car metaphor

software design does not come from knowledge of a taxonomy

it's an interesting book of it's time, like earlier work on structured programming, where things like for, if, and while got introduced, design patterns cemented the ideas of iterators, observers, but it turns out that many of the patterns described were often workarounds around language restrictions: builders stop mattering so much when you have named arguments, and there are some other examples i am too lazy to dredge up, but google for peter norvig on design patterns and whatver

what usually happens from reading design patterns is instead of a directory structure of web/ api/ db/ core/ net/ you instead get one that looks like mediators/ facilitators/ intermediataries/ abstracts/ :toot:

there are some books ~two decades old that are still relevant, but they are often much more about approach, technique, and practice, rather than classification.

:toot: read the practice of programming :toot:

FamDav
Mar 29, 2008

triple sulk posted:

Do any of you have experience with negotiations involving non-domestic (remote) positions?

http://sulk.yospos.net

Bloody
Mar 3, 2013

God forbid you be a chemist that knows the elements of a physicist that knows f equals ma or an engineer that knows v equals ir gently caress all that you do you

computer toucher
Jan 8, 2012

tef posted:

this is a pretty good attitude to take with web apps, as fashion trends dominate so much that much of the frontend ends up being rewritten as it turns out last year's one size fits all approach didn't work, so maybe this year's will

however there may be a point where your code is more responsible for data, and privacy, emails, names, passwords, and stuff, and it's kinda hard to write off trashing someone's identity as a learning experience

or where your frontend code has to be usable by everyone. (:toot: https://gds.blog.gov.uk/2012/01/20/user-testing-accessibility/ ) or where your website ends being used by scammers, spammers, and generally abusive people.

and it's not so easy to write off the consequences of your actions. it would be nice if teams both managed consequences, but then again we have terms like technical debt

but tbh it sounds like this is a good case of the eh, gently caress it, what's next, but it does pay some to have some foresight (actually hindsight, learning from previous terrible things, and bringing them up to prevent them being repeated)

this is true, I (think) I made a lot of the security/privacy parts right, it was the database handling that went wrong.

tef posted:

this is probably the worst advice ever:

- becoming a biologist? well better learn the taxonomy

- a chemist? memorise the periodic table

- a physicist? blah blah you get the point, and i might as well stop before i get to a car metaphor

software design does not come from knowledge of a taxonomy

it's an interesting book of it's time, like earlier work on structured programming, where things like for, if, and while got introduced, design patterns cemented the ideas of iterators, observers, but it turns out that many of the patterns described were often workarounds around language restrictions: builders stop mattering so much when you have named arguments, and there are some other examples i am too lazy to dredge up, but google for peter norvig on design patterns and whatver

what usually happens from reading design patterns is instead of a directory structure of web/ api/ db/ core/ net/ you instead get one that looks like mediators/ facilitators/ intermediataries/ abstracts/ :toot:

there are some books ~two decades old that are still relevant, but they are often much more about approach, technique, and practice, rather than classification.

:toot: read the practice of programming :toot:

I probably should start by learning a real language. it all started with "lol kyber.ninja is unregistered and it's 15 dollars for a year *purchase*". the whole web thing started with "i want to put up a server and gently caress around with it". then it turned into "hey nginx is p cool", after that it was "editing flat html with nano sucks, how do I make a form to do this in the browser?" into "hmmm, I should probs put this in a database instead of flat files?" into "oh hey I wonder if I could build a secure user authentication and session storage logic" into "well hmm I'll make a discussion board with avatars and private messages and the works" when I realized that one table per thread is very much NOT the way you do databases but now everything leverages on that. and I even have separate databases for users, read history and messages since I didn't know any better. it works just fine but I can't really do a forums-wide search. topic search does work. it's here if you want to laff: https://kyber.ninja.

tef
May 30, 2004

-> some l-system crap ->

rotor posted:

Tef is sometimes just grumpy but this is 100% true

the middleware stuff is less flavour of the month driven, which is why you end up with those massive forms and wizards and other 90's desktop interactions, along with alert boxes.

on the other hand, many web apps are often marketing portals. less techie places will often just change the copy and layout every couple of months to demonstrate work is being done. in tech, they need to keep updating it if they are to be seen as keeping up with their competitors, who are doing the same. and let's not forget constant a/b testing to work how to squeeze the last drop of revenue out.

modern web development is less about domain experience and more about being able to keep atop of the changes and the fragile empires built out of hobbyist code on github. the browsers are finally moving at more than a glacial pace and it is terrifying watching everyone try and build a workable layer atop before giving up and getting it right this time.

we did it, we finally got a x11 with a built in widget set: it now runs turing complete code and downloads a poo poo ton of assets before showing you a page where the webfonts haven't loaded, and we did it all via a matroshka layering of package management to concatenate files together.

web development may go out of fashion but fashion will always be around in tech companies

pre ipo it's a good investor story time "we're using the latest X and this is why we'll be better", post IPO it's "we're updating to the latest tech, so people will have confidence in us" or "we set the standards for what people use, so we have to update it to avoid the notion of being stale". although with some, the layout of the site has become the brand identity: amazon, but they still plough ahead in releasing new aws tech. similarly, the browser vendors are in a similar competition on features.

tef
May 30, 2004

-> some l-system crap ->

Bloody posted:

God forbid you be a chemist that knows the elements of a physicist that knows f equals ma or an engineer that knows v equals ir gently caress all that you do you

because science is about rote memorization of facts :eng101:

tef
May 30, 2004

-> some l-system crap ->
you're teaching people to pass a proxy of what makes a good scientist

and being a bad one in the process. a good scientist may know that f = ma, knowing f = ma does not make you a good scientist. teaching through rote is an awful way to teach, and confuses knowledge for understanding. it's not memorizing f = ma, it's understanding the relationship, and how it fits into the larger context of newtonian physics. people tend to remember them if they're nudged to the solution rather than marched through it

going back to code

design patterns is a reference manual, and an out of date one at that. there has been some modern resurgence of them in ruby, which i can only see being useful because ruby's language design is of a similar vintage to what the book describes.

it is not a good book for what has been asked. stop recommending it to beginners. it will not teach them to think about software, it will not teach them to write software. what it will do is give them a set of boiler plate for code and a bunch of names, which only fit specific languages rarely used by beginners.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

a vintage language that has become vinegar

tef
May 30, 2004

-> some l-system crap ->
nb a similar book of the same period is "refactoring" and i believe this to be a better investment for beginners dealing with 90's oo languages), but again, beginners, eh.

computer toucher posted:

this is true, I (think) I made a lot of the security/privacy parts right, it was the database handling that went wrong.

it's kinda hard but a top trick is don't collect any data because it's horrible and messy, and there are pretty standard idioms for passwords and poo poo, but you can often avoid them too.

quote:

I probably should start by learning a real language.

eh i dunno they're all kinda unreal things, don't worry about which languages are "big boy languages", because doing so is trying to win an rear end in a top hat competition.

(paul graham is current running champ with the blub paradox: if i am smart and i use the best language, and other people don't use my language, they must not be as smart as me qed)

quote:

it all started with "lol kyber.ninja is unregistered and it's 15 dollars for a year *purchase*". the whole web thing started with "i want to put up a server and gently caress around with it". then it turned into "hey nginx is p cool", after that it was "editing flat html with nano sucks, how do I make a form to do this in the browser?" into "hmmm, I should probs put this in a database instead of flat files?" into "oh hey I wonder if I could build a secure user authentication and session storage logic" into "well hmm I'll make a discussion board with avatars and private messages and the works" when I realized that one table per thread is very much NOT the way you do databases but now everything leverages on that. and I even have separate databases for users, read history and messages since I didn't know any better. it works just fine but I can't really do a forums-wide search. topic search does work. it's here if you want to laff: https://kyber.ninja.

this is pretty much how all software in production gets written: a small prototype that works is iteratively hacked on, until the assumptions weaved throughout the code slows feature development down to an unprofitable state. which is why people either try and patch it up as they go - refactoring - or abandoning hope and trying again.

if legacy code is one type, the other type of code is failures. often from a rewrite, a failure is a project that aims to "get it right first time" usually before that all important getting it working state. it can also be done iteratively, where a piece of code that doesn't work grows to add more features that don't work yet because fixing the bugs is too hard and it works on my machine. (software that doesn't hit production after three months should be taken out back and shot)

so what i'm saying is: keep doing that thing you are doing, it seems to be working. scratch an itch, tug on a thread, grow your code, and know when it's time to move on to another project.

tef
May 30, 2004

-> some l-system crap ->
i have become much nicer to beginners when i realise how terrible the tools we expect them to use are

welcome to a nightmare world of ever changing detail and monotonically increasing complexity, there aren't any docs but at least there is google and other people suffering online too, although many of them are total assholes with an astounding sense of entitlement

tef
May 30, 2004

-> some l-system crap ->
but hey if you're a guy, white enough, no or little social skills, and parents with enough money to get you a computer and pay your internet bills, you can self teach your way to a series of exploitative jobs with low salaries, or join in the gold rush in sf for far better money, but the company makes far higher margins on your work :toot:

tef
May 30, 2004

-> some l-system crap ->
but frankly as deals with capitalism go it's pretty good if you have the option :toot:

Adbot
ADBOT LOVES YOU

Notorious b.s.d.
Jan 25, 2003

by Reene

tef posted:

but hey if you're a guy, white enough, no or little social skills, and parents with enough money to get you a computer and pay your internet bills, you can self teach your way to a series of exploitative jobs with low salaries

worst crocodile tears ever.

average wages for software developers hover between 3x and 4x the median wage in america. nobody doing IT work in 2014 is hurting for money because they're underpaid.

tef posted:

[...] but the company makes far higher margins on your work :toot:

this is called "work"

by definition people pay you less than the value the organization derives. even at not-for-profits. if you did not deliver a surplus, you wouldn't work there.

yes, it's exploitative. that's not the point. sometimes work is a good deal?

  • Locked thread