Your favorite web dev stack sucks.
August 4, 2016 7:27 AM   Subscribe

Tired of dealing with oldfangled frameworks and hopelessly uncool databases? Want to get on board with the newest technology for making web sites?
posted by signal (87 comments total) 18 users marked this as a favorite
 
A++++ trolling.
posted by PMdixon at 7:31 AM on August 4, 2016 [4 favorites]


It's all LIPSTIK on a PIGG stack.
posted by blue_beetle at 7:35 AM on August 4, 2016 [8 favorites]


All of those stacks should have an L in front of them. The only constant is Linux.
posted by gkhan at 7:41 AM on August 4, 2016 [4 favorites]


Jesus, DevOps advocacy really is just random stuff thrown together, isn't it?

I tried a few times and...I think I need to start over with a new character-generation sheet.
posted by wenestvedt at 7:53 AM on August 4, 2016 [8 favorites]


I run all of these, in Docker containers.
posted by Artw at 7:53 AM on August 4, 2016 [32 favorites]


This does remind me of the DockerCon demo that (with intentional cheek, mind) implemented a "serverless" architecture with CGI and PHP.
posted by tobascodagama at 7:54 AM on August 4, 2016


Also, how come PPA (Plaintext Perl Apache) isn't available?!
posted by wenestvedt at 7:54 AM on August 4, 2016 [7 favorites]


I loved that, when I tried it the first time, it failed with a JavaScript error, so all the React bits didn't render so all you saw was the blurb up top. And that it throws the same error occasionally even when it does work. (In that way, it truly is Web dev in 2016.)
posted by mrg at 7:58 AM on August 4, 2016 [14 favorites]


It doesn't let you choose perl at all. :-(
posted by Kikujiro's Summer at 8:04 AM on August 4, 2016 [5 favorites]


That seems vaguely appropriate for webdev in 2016.
posted by tocts at 8:06 AM on August 4, 2016 [2 favorites]



It doesn't let you choose perl at all. :-(


That was in the 2001 version. It got phased out a few years ago with Java Struts.
posted by bitdamaged at 8:10 AM on August 4, 2016


This is what I saw when I visited the site.

I thought it was suggesting HTML as the stack.
posted by justkevin at 8:14 AM on August 4, 2016 [5 favorites]


Since when is failing with a JavaScript error a 2016 thing? We've been doing that since the late 90's.
posted by rouftop at 8:15 AM on August 4, 2016 [4 favorites]


Perhaps you would prefer a "500 - Server Error" death rattle?
posted by wenestvedt at 8:17 AM on August 4, 2016 [4 favorites]


TRY THE PPD STACK

Featuring:
PostgreSQL Python Django
Get on the trolley and start writing web applications like it's 2016 already!


That...makes sense? I mean, I would almost prefer starting over to move to that compared to what we are on now.
posted by [expletive deleted] at 8:19 AM on August 4, 2016


I just realized that if you include Linux and Apache, and take Python as implied by Django, you get the LAPD stack.
posted by [expletive deleted] at 8:24 AM on August 4, 2016 [3 favorites]


No Crystal/Kemal stack? Pff sure, you can use this tool if you want to be coding like it's still May.
posted by firechicago at 8:25 AM on August 4, 2016 [9 favorites]


I would almost prefer starting over

Apparently, every other developer would prefer starting over, too, which is why these frameworks keep proliferating.
posted by 1970s Antihero at 8:29 AM on August 4, 2016 [28 favorites]


Artw: "I run all of these, in Docker containers."

Yes, but do you deploy it with Swarm, Fleet, Kubernetes, Mesos or EC2?
posted by octothorpe at 8:51 AM on August 4, 2016 [3 favorites]


Artw: "I run all of these, in Docker containers."

Yes, but do you deploy it with Swarm, Fleet, Kubernetes, Mesos or EC2?


And for that matter, what are you using for service discovery and configuration? Marathon? Consul?
posted by The Gaffer at 8:53 AM on August 4, 2016 [4 favorites]


NB around the time I started seriously pushing for writing a bunch of new services in Haskell, stored in one repo, I lost the ability to tell when people were joking about this sort of thing.
posted by The Gaffer at 8:56 AM on August 4, 2016 [3 favorites]


I know someone building a website in OCaml. I kid you not.
posted by grumpybear69 at 8:58 AM on August 4, 2016 [1 favorite]




quick what are some three letter swears
posted by Going To Maine at 9:02 AM on August 4, 2016


Apparently, every other developer would prefer starting over, too, which is why these frameworks keep proliferating.

You're right, of course. I was more just commenting on how the choices I got were prolific, mature components that work reasonably well with one another and are very suitable for a web stack. I mean, the youngest component in that stack is a framework over ten years old.

I would happily use this on Debian Oldstable to publish a blog ranting about kids on my lawn and the evils of systemd.
posted by [expletive deleted] at 9:03 AM on August 4, 2016 [6 favorites]


It has been [0] days since the last time-lost systemd fight.
posted by The Gaffer at 9:04 AM on August 4, 2016 [10 favorites]


I know someone building a website in OCaml. I kid you not.

I wish someone would pay me to write backends in OCaml.
posted by dis_integration at 9:06 AM on August 4, 2016 [7 favorites]


Needs FFF: FreeDOS, Fortran, Flatfile.
posted by scruss at 9:06 AM on August 4, 2016 [10 favorites]


Yeah, but to capture the essence of modern Webdev the site needs a feature where the suggested technologies automatically switch every two months...
posted by -1 at 9:10 AM on August 4, 2016 [6 favorites]


Yeah, but to capture the essence of modern Webdev the site needs a feature where the suggested technologies automatically switch every two months...

They should also break compatibility at random with minor version bumps.
posted by dis_integration at 9:11 AM on August 4, 2016 [4 favorites]


NAW: Notepad, Apache, WindowsXP
posted by JoeZydeco at 9:13 AM on August 4, 2016 [12 favorites]


Plus, what about the Clojure + Linux + Uninteresting Storage Tech + EC2 + Redis + F# + UBS + Clojurescript + Kotlin stack?

I hear that's a pretty good summary/round-up of webdev nowadays... ;)
posted by -1 at 9:14 AM on August 4, 2016 [9 favorites]


In my previous job, the web console for the hardware product we sold was written in TCL running on a TclHttpd server.
posted by octothorpe at 9:23 AM on August 4, 2016 [1 favorite]


https://fortran.io/
posted by The Gaffer at 9:25 AM on August 4, 2016 [6 favorites]


They should also break compatibility at random with minor version bumps.

And the only current, non-contradictory documentation for a working configuration is on a third party's content-marketing-driven tutorial site. It remains current for one to two weeks after publication, before the developers push major breaking changes, which also remain undocumented outside of a few cryptic comments in the source. (The variable names in the source contradict the comments.)
posted by brennen at 9:27 AM on August 4, 2016 [5 favorites]


No guys, no

The new hotness is COBOL on Wheelchair
posted by egypturnash at 9:34 AM on August 4, 2016 [8 favorites]


(ASK ME HOW I KNOW.)
posted by brennen at 9:35 AM on August 4, 2016 [2 favorites]


If only there were some way to make Javascript more like J2EE development
posted by thelonius at 10:01 AM on August 4, 2016 [1 favorite]


Could be worse though, could be dealing with legacy shit. Like for example, updating a business-critical custom VB .NET 2.0 application for 32 bit Server 2003 to run on 2012 R2, and keeping all the creaky db interactions working and fucking Crystal Reports while updating it from consuming a flat file to using a poorly documented, buggy SOAP API, and the code is a big ball of mud that in an attempt to tame you grep all the places where a global variable is assigned a value and you get more than 500 lines. And the only comments are the 50% of the code that is commented out. And the version control was zip files by date. ASK ME HOW I KNOW.
posted by [expletive deleted] at 10:11 AM on August 4, 2016 [20 favorites]


If only there were some way to make Javascript more like J2EE development
Isn't that a bit like saying "if only there were some way to make a stroke more like heart attacks"?
posted by -1 at 10:14 AM on August 4, 2016 [6 favorites]


Don't forget to have a developer take a minor, trivial piece of code any 12 year old could replicate in 5 minutes, take it offline out of spite and have it crash 50% of the websites in the world because it's a requirement of a requirement of a requirement of a requirement etc., of the basic architecture running billion dollar websites.
posted by signal at 10:42 AM on August 4, 2016 [10 favorites]


I just avoid HTML, JavaScript etc and just use plain text files. People can just google anything else they need.
posted by Damienmce at 10:46 AM on August 4, 2016 [1 favorite]


quick what are some three letter swears

FFS
posted by a lungful of dragon at 10:52 AM on August 4, 2016 [2 favorites]


If only there were some way to make Javascript more like J2EE development

That's pretty much why Angular exists.
posted by wildblueyonder at 11:15 AM on August 4, 2016 [4 favorites]


In my previous job, the web console for the hardware product we sold was written in TCL running on a TclHttpd server.

My first engineering gig was for a company that used Vignette StoryServer which used TcL as its primary scripting language. I came to like it. StoryServer was funny it created static web pages on the front end but basically had a 404 handler that when you requested a URL that had never been requested before it would see if it could generate the file on the fly, produce it and then return the file. Subsequent request would use the cached file.
posted by bitdamaged at 11:29 AM on August 4, 2016 [1 favorite]


Angular 2 sounds like it's going to be a trainwreck.....
posted by thelonius at 11:32 AM on August 4, 2016


My former employer got busted for using a pirated copy of Vignette StoryServer.
posted by Multicellular Exothermic at 11:35 AM on August 4, 2016 [1 favorite]


Linux isn't actually a given, especially if the topic is esoteric bits of software. Windows, Solaris, NetBSD, and FreeBSD are all valid, not to mention Linux has far too many flavors to list.
posted by fragmede at 11:53 AM on August 4, 2016


They forgot the FOAAS stack
posted by Annika Cicada at 12:13 PM on August 4, 2016


I wish someone would pay me to write backends in OCaml.

And then there's js_of_ocaml and now bucklescript for writing frontends in OCaml!
posted by kenko at 12:15 PM on August 4, 2016


Kikujiro's Summer: It doesn't let you choose perl at all. :-(

Heh. Obviously Perl doesn't fit what's being said here; it's only used for projects that actually produce something.
posted by merlynkline at 12:43 PM on August 4, 2016 [8 favorites]


facebook is the most obvious example of why someone shouldn't make something in perl. It's too precious, too powerful. It begs on the eye of Mordor.
posted by Annika Cicada at 12:56 PM on August 4, 2016 [1 favorite]


facebook in perl? You take that back!
posted by merlynkline at 1:09 PM on August 4, 2016 [2 favorites]


Wow, I knew I was a little out of touch because I've spent the last 14 years working for 2 giant companies both famous for doing everything in-house, but I don't know 90% of the things this references (at least, the databases and "frameworks". Most of the languages are familiar, although I've never heard of "Groovy" or "Elixir" or "Racket" before and have no idea what "Clojure" is, despite having seen the word around).
posted by thefoxgod at 1:09 PM on August 4, 2016


(Although, my company usually has multiple competing _internal_ tools/frameworks for doing any one thing, that sometimes get deprecated or replaced suddenly.... so its like this, except all of the knowledge is not transferable should you leave)
posted by thefoxgod at 1:12 PM on August 4, 2016 [2 favorites]


PEE stack on my third try! (PostgreSQL, Elli, Erlang). I am and always will be 12 years old.
posted by punchee at 1:19 PM on August 4, 2016


facebook is the most obvious example of why someone shouldn't make something in perl. It's too precious, too powerful.

I thought facebook was a php shop, even still?
posted by dis_integration at 1:26 PM on August 4, 2016 [1 favorite]


Clojure's Lisp with better marketing. Groovy is a Python knock-off for the JVM. Everything old is new again.

Don't forget to have a developer take a minor, trivial piece of code any 12 year old could replicate in 5 minutes, take it offline out of spite and have it crash 50% of the websites in the world because it's a requirement of a requirement of a requirement of a requirement etc., of the basic architecture running billion dollar websites.

I feel there's a story here, and it probably involves npm.
posted by Leon at 1:57 PM on August 4, 2016


It's the story of npm and left-pad. (Previously)
posted by frimble at 2:01 PM on August 4, 2016 [2 favorites]


This is bang on. Web development is an increasingly nightmarish morass of me-too trendy shite.
posted by GallonOfAlan at 2:08 PM on August 4, 2016 [3 favorites]


I think the situation with JS frameworks and the situation with cluster management tools aren't really the same. Cluster management is much earlier on in the adoption cycle, and so the space of options there isn't the result of churn so much as it being a nascent-ish technology* with a number of viable competitors, like the videotape format war. I think it gets dragged into these discussions around the hype cycle largely because Docker coopted the kind of over-exuberance you see in the JS community and brought it into the infrastructure space (along with some of its pathologies, ask an ops person how they feel about dockerd some time), but the entrants in cluster management are more serious and more necessary (at scale) than the JS framework du jour.

* Twitter's been running its production workloads on Mesos since 2010, Apple has been running Siri on it for a while, and of course the general approach of resource-isolated, dynamically-placed workloads in the form of Borg has been used at Google for the better part of a decade, so I think "nascent" understates the relative stability of things here.
posted by invitapriore at 2:26 PM on August 4, 2016 [4 favorites]


This needs an additional layer to describe the staging environment and build tools. Then a listing for which bourbons to drink while trying to cobble this house of cards on top of quicksand together.

Seriously, a webdev Olympics should contain trying to get a client's environment up and running in under two hours.
posted by fifteen schnitzengruben is my limit at 3:28 PM on August 4, 2016 [4 favorites]


Groovy is a Python knock-off for the JVM

I thought it was a Ruby knock-off for the JVM? (I haven't actually used Groovy)
posted by atoxyl at 3:31 PM on August 4, 2016


I think the situation with JS frameworks and the situation with cluster management tools aren't really the same.

From what I can tell, this is true on one level, and your analysis is pretty darn reasonable. The systems level of the stack is undergoing a probably-inevitable shakeup that's both far along enough to be stupidly ramified and novel enough to be compounded partly of eventual dead ends and faddish flashes-in-the-pan. Eventually things will rationalize, I expect.

On the other hand, in a broad, aesthetic/cultural sort of way, both things are part and parcel of this larger thing where the entirety of the stack is riddled with almost fractal absurdity and this kind of hilarious, frothy, endlessly churning complexification of every possible domain. It's not that everything has gotten worse, exactly. It's just that so many things have become ridiculous.

(Feel free to read this comment as residing anywhere on the spectrum between mild bemusement and disgusted loathing, depending on your tastes and current socioeconomic relationship to the production of software.)
posted by brennen at 4:28 PM on August 4, 2016


Haha all us Tcl or ex-tcl guys should get together. I wonder how many of you I know either personally or online, it was not a big world.

I started writing community sites in AOLServer in the late 90s, did some stuff in tclhttpd too off and on. Did some Storyserver consulting.

I eventually gave it up because it was hard to find jobs (although, it was also hard to find programmers, so, if I found a job posting it was usually gonna be mine)
posted by RustyBrooks at 6:53 PM on August 4, 2016 [1 favorite]


Oh shit, facebook runs on PHP hahaha. The stacks are too damn high.
posted by Annika Cicada at 8:01 PM on August 4, 2016 [2 favorites]


I got put into the MRR stack? >..>

Is this something I'd have to be a web dev to understand?
posted by Zalzidrax at 8:19 PM on August 4, 2016


This constant idiotic wheel-reinventing is why I'm totally sick of web development. Contemplating the NodeJS ecosystem, e.g., makes me want to vomit.
posted by iffthen at 9:09 PM on August 4, 2016 [2 favorites]


facebook runs on PHP

They had to invent a thing that transformed PHP into C++ code.....I wonder what the output of that looks like?
posted by thelonius at 11:45 PM on August 4, 2016


It's the story of npm and left-pad.

Global namespace. 280k packages. All interdependent on each other.

"npm is written entirely in JavaScript and was developed by Isaac Z. Schlueter as a result of having "seen module packaging done terribly""

Indeed.

I'll be over here, either giggling or sobbing. Haven't decided which.
posted by Leon at 12:28 AM on August 5, 2016 [2 favorites]


All of this "Standards are wonderful; there are so many to choose from!" web development nonsense is the main reason why I'm so glad I've always been more of a back-end guy. (Ooh, matron.)
posted by Mr. Bad Example at 2:09 AM on August 5, 2016


...and yet I'm teaching myself Django right now, because not having some kind of web tech in my skill set feels like a big hole.

Ooh, matron.

posted by Mr. Bad Example at 2:35 AM on August 5, 2016


> Seriously, a webdev Olympics should contain trying to get a client's environment up and running in under two hours.

This is one of those I'm not sure which is better things. Modern tools make spinning up a new dev env easy, though the tools trade off initial setup time for on-going maintenance of the config file. It's quite pleasant for 'vagrant up' to generate a working dev env from scratch after a cup of coffee.

...until you realize that it says that a new environment gets set up frequently enough that someone had to go and automate that. Which says the turnover of people is high enough to warrant that.
posted by fragmede at 2:54 AM on August 5, 2016 [1 favorite]


First project I was front end lead on we used vanilla Javascript. No frameworks. No libraries. Most fun I've had at work in years.
posted by eustacescrubb at 5:08 AM on August 5, 2016 [4 favorites]


  FFS

So FreeDOS, Fortran, SQLite: that Fortran.io mentioned upthread is Fortran+SQLite, so if only we could get it to run on FreeDOS, it would be awesome.

For a very particular definition of awesome, that is.
posted by scruss at 5:37 AM on August 5, 2016


No frameworks. No libraries. Most fun I've had at work in years.

First thing I'd do if I had to do that would probably be to build a library.
posted by Artw at 7:22 AM on August 5, 2016 [3 favorites]


So FreeDOS, Fortran, SQLite: that Fortran.io mentioned upthread is Fortran+SQLite, so if only we could get it to run on FreeDOS, it would be awesome.

You could get it going on FreeBSD to keep the acronym, but it would be much more curse-worthy if it were running FreeDOS, especially considering the hoops you'd have to jump through to get it networked.
posted by dis_integration at 7:42 AM on August 5, 2016


They had to invent a thing that transformed PHP into C++ code.....I wonder what the output of that looks like?

Last I looked at this (years ago, went to some conference sessions by the authors), they'd moved on from transpiling to HHVM. This is old news by now, and I haven't kept up, but at the time I remember thinking that it seemed like a reasonable chain of decisions. Say what you will about Facebook (my concise summary would be "fuck you, Facebook, burn to the ground"), but they have hired a lot of very smart people.
posted by brennen at 8:44 AM on August 5, 2016 [2 favorites]


First thing I'd do if I had to do that would probably be to build a library.

Writing libraries is kind of fun.

...which is a pretty good partial explanation for the current state of the software industry.
posted by brennen at 8:57 AM on August 5, 2016 [3 favorites]




...which is a pretty good partial explanation for the current state of the software industry.

There's something primal, something vital that speaks to a lot of developers, that seems to whisper into their ears: "You should write your own framework, because the ones that already exist are only 99.9% compatible with your vision! It will be easy, and cheap! Your peers will shower you with praise!".

Good lord do I wish I could get that voice to shut the fuck up around people I work with.
posted by tocts at 10:52 AM on August 5, 2016 [2 favorites]


Writing libraries is kind of fun.

...which is a pretty good partial explanation for the current state of the software industry.


Yeah this exactly - good resume item too therefore...
posted by atoxyl at 11:10 AM on August 5, 2016


Rails guy is supposedly (but believably) a multimillionaire, certainly set for a long, long time as a conference speaker and consultant. Who wouldn't want to be the next one?
posted by atoxyl at 11:13 AM on August 5, 2016


Does not load on my iPad. I suspect that's not the joke intended.
posted by ChurchHatesTucker at 4:34 PM on August 5, 2016 [1 favorite]


My framework has no server and no client. It's perfect!
posted by blue_beetle at 10:42 PM on August 5, 2016


Rails guy also co-founded a profitable company with a decent business model. But you have a point: for any given language there's only 1 or 2 people who get to write the killer app, and there's millions trying to.
posted by iffthen at 12:08 AM on August 6, 2016


After nearly 18 years in web dev and web app programming... new frameworks are brilliant new paradigms for making the same set of dumb web mistakes using ever more novel and difficult frameworks. After an unhappy winter & spring in a node.js project, I just started working on a product that actually interests me, and is written in PHP (OO, not spaghetti) and python. With some jQuery. Sooo happy.
posted by Artful Codger at 4:50 PM on August 6, 2016 [2 favorites]


« Older "This Is What a Feminist Looks Like"   |   Histori(an) Has Its Eyes On You Newer »


This thread has been archived and is closed to new comments