I built a few websites with this, but to be honest I found a few of the architectural decisions to be quite limiting. I wired in gwbasic as an escape hatch (it gave me the equivalent of an eval in batch) and it let me do what I needed. The only pain was needing to print out the websites for distribution.
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.
That's awesome. At my last job, I created a Makefile-driven abomination that would, for a specific form of shell script, generate .gitlab-ci.yaml fragment and "link" them together. I'm equal parts proud and ashamed.
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.
I don't know, Most stories like this sound more like "clever" than "stupid" to me. You have a set of constraints and some tools. You use those tools to workaround/within those constraints to solve a problem.
Clearcase being a tire fire is "stupid". But your solution is "clever"
After many years, describing a workaround as "stupid" is way more positive than "clever" (red flag). Especially when talking workaround for 3rd party software.
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.
No the error is the users/management Clearcase and Java just don't work together using winking etc. So the users should use something else.
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.
> 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.
On a more serious note, what would be a (mostly?) sane way to do something like this on DOS? TurnoC? TurboPascal? What was the "web tooling story" of those toolkits?
Turbo Pascal 7, the last one for DOS, was released in 1992, one year before Mosaic. Later on you could set up TCP networking and a web stack to work on DOS (e.g. Arachne) but this was very uncommon. Typically you'd have a GUI browser running in Win 3.1, not directly on DOS. But I can't think of anyone actually trying to serve anything weblike from DOS. It's not a server OS, quite obviously so, so what's the point?
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).
Oh, you certainly can do it - DOS had TCP stack options for a long time now - and I'm not surprised that people do it for a lark. But I've never heard of anyone seriously doing something like this back when Turbo Pascal and Turbo C were still relevant dev stacks.
[0] is one result that comes up. there was a submission here on a HN a while back which featured somebody's self-hosted DOS server, but my algolia-fu is failing me.
You could write a web server in C using any compiler available on DOS, not just TurboC. There's GCC, MSVC (which is older than Ansi C itself), and I believe I heard that Watcom had the best C compiler for DOS.
I was doing PT tech consulting (relative of mine) and they used a 16-bit Foxpro application (accounting + inventory) for far longer than they should have. (Upgrade would have been 5 figures, and it was working great, so why change?) As it turns out, the software shipped with a DOS ui as well, that supported 100% of the functions + features that the GUI Windows version supported. .... which made it easy to run under SSH/Linux/Dosemu, which was used a few times when a bug in the original Foxpro runtime prevented printing on any version of Windows based on the NT4 kernel ....
Author here. Thank you for pointing that out. I didn’t know who Terry Davis was — but I had heard of TempleOS and now I have some more reading to do. Much appreciated.
Yep. If the DOS version >= 7, it's probably running in virtual 86 mode under Windows. Windows 98SE was the last version capable of booting directly to DOS.
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.
While satirical, this was around the time when building Rails-like frameworks was the rage. I was doing ColdFusion at the time, and tried out the Rails clone, CFWheels. Grokking many of the Rails concepts in a language I was familiar with led me to the original, which is where I do most of my work today.
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.”