DOS on Dope: The last MVC web framework you'll ever need (2010)
secretgeek.net
secretgeek.net
A few days ago at work, building an internal website for a customer, I designed a feature which involved executing a console app in another folder.
My fellow dev, a little younger than I, balked at the idea and said “are you sure web sites can even do that?”
A distant, dreamy look washed over my eyes, visions of ‘DOS on Dope’ shimmered inside the brain,
The words “are you sure web sites can do that?” echoed over and over, reflecting around and around inside the porcelain dome of the skull…
Strange mathematical symbols like “>”, “:\”, and “|” appeared and disappeared within the mind’s flickering cathode ray tube, and I said:
“Yep.”
Kidding aside, I love this. Once I built a GitLab runner that would execute a .gitlab-ci.yaml script written in Commodore BASIC. You feel like a mad genius when it all comes together.
For those who know Clearcase, and winking in. Well, there was a team that had a 2 hour java build and they were suffering. Nothing was working right.
One could argue that using Clearcase and Clearmake was the error.. and even back then as a PFY I'd agree.
But help them I must. So I wrote a makefile, that wrote makefiles, that would then compile all the code into /tmp, and copy the jar back into place.
Because... Clearcase tracks every file you touch, it is critical, you ONLY touch your inputs, do not produce extra .class files where it can see them, or you'll end up with a bunch of files all interdependent and confused.
Their build went from ~2hrs to about ~5 minutes when I was done. Less if it "winked" in everything.
... The amount of good, stupid can do is amazing.
Clearcase being a tire fire is "stupid". But your solution is "clever"
What clear case did was correct for C/C++ and possibly Pascal and Ada and run by makefiles. Clearcase would spot which header files were used in your code and only recompiled if you changed those headers and if someone else used the same code and headers clear case would give them the .o file it had compiled for you. (no having to generate .dep files). As local machines got faster this became less of a speedup.
In the latter all dependency tracking was not part of the language so it could be left to clear case.
Java does its own dependency tracking and so did cleanse on the server so you get the mess. Clearcase is not necessarily at fault here it just was not designed for Java.
And when it changed... Clearcase did not degrade gracefully. It was a full on collapse.
Clearcase assumptions still worked for C/C++.
Clearcase could also act in the way svn, PVCS and CVS did with a checkout to a local disk and that way there would not have been the issues the OP talks about. (We did that for some projects not because of Java but because we were on Windows). Clearcase was still useful as it had good merging and easy branching 10 years before git.
After git and mercurial came out then yes Clearcase was not worth the money and collapsed.
#!/usr/bin/make -f
And I similarly felt equally proud and ashamed.> So far I haven't run into any performance problems. Whenever I've opened up a DoD website to several users, my hard drive tends to get wiped long before I discover performance issues.
I was floored by this dead panning
Another fun DOS DoS: copy con clock$
1. https://hv23.idocker.hacking-lab.com/
2. https://dev.to/leandronsp/building-a-web-server-in-bash-part...
I love the sense of humor on this site.
DOS on DOPE - https://news.ycombinator.com/item?id=32970096 - Sept 2022 (18 comments)
DOS on Dope (2010) - https://news.ycombinator.com/item?id=29962658 - Jan 2022 (67 comments)
DOS on Dope - https://news.ycombinator.com/item?id=24826251 - Oct 2020 (2 comments)
DOS on Dope: The last MVC web framework you'll ever need - https://news.ycombinator.com/item?id=1666580 - Sept 2010 (20 comments)
So to summarize, I think DOS on Dope is Enterprise Ready and future proof!
In principle I suppose CGI would work just fine for these hypothetical purposes, so long as everything is completely synchronous (so each CGI handler blocks all request processing while it runs).
How to run a DOS-based web server - https://news.ycombinator.com/item?id=38705747 - Dec 2023 (20 comments)
Any recommendations, has anyone shipped (and maintained!) something like this?
And then there are the DOS flavors besides MS-DOS such as PC-DOS and DR-DOS. And later, FreeDOS. :]
I consider DOS 6.22a to be DOS-"DOS", but 7.1 also works.
Back in the day, DESQview is how we ran multiple modem line BBSes on one machine.