[HN Gopher] Thinkserver: My web-based coding environment
       ___________________________________________________________________
        
       Thinkserver: My web-based coding environment
        
       Author : ColinWright
       Score  : 217 points
       Date   : 2025-02-10 12:52 UTC (3 days ago)
        
 (HTM) web link (checkmyworking.com)
 (TXT) w3m dump (checkmyworking.com)
        
       | grimui wrote:
       | Building custom tools that work for only you is so under rated. I
       | would never use that workflow but it works for the author and
       | that's awesome!
        
         | NitpickLawyer wrote:
         | > Building custom tools that work for only you is so under
         | rated.
         | 
         | This is one of the top applications for LLM-based dev IMO. With
         | things like aider / cline / cursor / windsurf / bolt it's
         | looking like this will be a lot easier to scaffold small-scale
         | projects that make sense for you and not necessarily turn into
         | products. It suits single-dev / small teams for now, and that's
         | OK.
        
           | joshstrange wrote:
           | This has been my experience as well. I find my much more
           | likely to "build" it myself versus using something off the
           | shelf because it'll give me full control over the project.
           | 
           | A lot of the reasons I would pull in dependencies for are
           | things I'm either not good at or not fast at writing and in
           | most cases LLMs are good at picking up the slack.
           | 
           | It's been a joy to write the core logic then have an LLM
           | throw a web GUI frontend together for me so I can iterate
           | faster.
        
       | tomglynch wrote:
       | I'm a big fan of glitch as well, so it's very impressive you have
       | built the same yourself. Do you self host the server and are
       | there any limitations on languages you can use?
        
       | lvturner wrote:
       | I've recently discovered the joys of vscode-server[0] for this
       | type of use case.
       | 
       | Which you can either serve as a WebApp direct from your machine,
       | or tunnel in from another VSCode instance - including a webhosted
       | version from Microsoft[1]
       | 
       | I may not do that much coding these days, but I already have
       | found it handy for when I forgot to do a Git push! Just log back
       | in to the Web Environment and everything is how I left it.
       | 
       | [0] https://code.visualstudio.com/docs/remote/vscode-server [1]
       | https://vscode.dev/
        
         | notpushkin wrote:
         | There's also code-server by Coder, which you can just run on
         | your own server and open in browser directly. It's also open
         | source (most tunneling features in VSCode aren't).
         | https://github.com/coder/code-server
         | 
         | There's a one-click setup for it in Lunni, a Docker dashboard
         | I've been working on (shameless plug): https://lunni.dev/
        
           | BOOSTERHIDROGEN wrote:
           | As someone who doesn't code professionally, what is the
           | primary use case that leads to significant daily enhancements
           | for developers?
        
             | lvturner wrote:
             | This is a multifaceted question, because there isn't one
             | use case, it depends on who you are.
             | 
             | If you are somewhat nomadic and always moving systems,
             | having a "home" you can dial back to and pick up where you
             | left off from is a massive boon (with a remote system like
             | this, my _phone_ is now powerful enough to do pretty much
             | any development task as now it 's just rendering the front
             | end and not doing real heavy lifting)
             | 
             | If you're an enterprise programmer working on locked down
             | networks and devices with more end point protection tools
             | than endpoints, an unencumbered authorized system with
             | access to the right network assets, as well as standardized
             | and project specific tooling is the difference between
             | coding and coding with one arm tied behind your back and a
             | blindfold on. (actually the benefits for enterprise are
             | many and not just DevEx -- think security, network admin,
             | vendor access, governance, AI rollout, reduction in project
             | specific on-boarding documentation....)
             | 
             | I'm sure there are many other use cases, though these are
             | just the immediate ones that spring to mind.
        
           | TheTaytay wrote:
           | Lunni looks cool. I hear mixed things about Docker Swarm. How
           | has it been to work with?
        
             | notpushkin wrote:
             | Thank you so much!
             | 
             | Personally, Docker Swarm works great for me. I was worried
             | about it for a while, too, but Mirantis seems to maintain
             | it pretty well. There are even new features being shipped,
             | like CSI support back in 2023! I'm thinking about adding a
             | Kubernetes backend though, just in case things get worse
             | for Swarm.
        
           | indigodaddy wrote:
           | Lunni looks neat. Is persistence baked in with the docker
           | stuff you deploy on and/or how is persistence
           | handled/achieved?
        
       | gyomu wrote:
       | This is awesome. I've also built a number of services for myself
       | (Pinterest style photo hosting for archival/research purposes,
       | analytics service for my websites, tracker for the books I've
       | read, message board for micro communities I'm a part of, etc). I
       | also share them with friends who express interest in them.
       | 
       | The costs are minimal (they all run on a shared $4/mo instance +
       | $10/yr domain per project) and I get to control where the data
       | lives, the features I want to have, etc.
       | 
       | No need to worry about getting the rug pulled on me because the
       | company got acquired or needs to raise revenue or anything like
       | that. No frustration because a redesign made the UI worse or
       | removed features I cared about.
       | 
       | It obviously takes a bit of time upfront, but I see it as a long
       | term investment in my productivity. I use boring, basic, stable
       | technologies so once something is deployed it keeps on humming
       | with extremely minimal involvement on my behalf.
       | 
       | I'm basically slowly working on replacing pretty much every 3rd
       | party app I use with something I wrote myself (it's going to take
       | a while but that's okay). My grandpa was a carpenter and pretty
       | much every piece of furniture in the house was something he or
       | his friends had made. As software craftspeople, we should strive
       | to do the same with our digital houses.
       | 
       | Kudos to the author and anyone else who does this. You don't hear
       | about these things in the mainstream because there's no reason
       | for people doing this to shout it from the rooftops, but this is
       | software at its best.
        
         | eGQjxkKF6fif wrote:
         | For the love of technology, and the love of coding, and the
         | love of self hosting, good.
         | 
         | This is the way.
        
         | mdrzn wrote:
         | Same.
         | 
         | Since Claude 3.5 Sonnet has been released I've been building a
         | lot of "microservices" that are just useful to me, or Chrome
         | Extensions that I've seen that I just recreated using Cursor.
         | Awesome learning experience and now I can customize them as
         | needed.
        
           | ffsm8 wrote:
           | I think you mean that you've been building a lot of simple
           | applications? Because that's not really what microservices
           | are.
           | 
           | I mean sure it's just a word and HN especially loves to spit
           | on original definitions, but it is always kinda jarring to
           | hear these technical terms in settings that have pretty much
           | no overlap with the original definition.
        
             | dewey wrote:
             | If you think as yourself as an application and you are
             | surrounding yourself by small service applications that do
             | one specific task...then I could see it make sense.
        
             | johnmaguire wrote:
             | Seems like we'll need to coalesce on a term for these. A
             | microapp[0]? Or a tiny app[1][2]?
             | 
             | [0] https://en.wikipedia.org/wiki/Microapp
             | 
             | [1] https://tinyprojects.dev/projects
             | 
             | [2] https://tinyapps.org/
        
               | hansvm wrote:
               | mApp?
        
         | sim7c00 wrote:
         | this makes it sound very nice. i only do this stuff out of
         | sheer frustration. not understanding stuff (i hate 'magic' ,
         | its 1s and 0s...), or not agreeing with decisions after i do
         | understand stuff. i really dislike i have to build everything
         | myself. though then again. i guess i do like building stuff
         | :')... it's a never ending s/shitshow/joy/g
        
           | sim7c00 wrote:
           | oh, and yeah, looks like a really nice project honestly. i
           | never do frontend stuff, but when i do, man, something like
           | this would be useful :')... typing chromium index.html ->
           | realizing it just spawned on the different workspace because
           | chromium is trying to be smart (more likely i am being dumb
           | ;D).
           | 
           | having it side by side like that looks really nice if u have
           | the screenspace.
        
         | rambambram wrote:
         | > I'm basically slowly working on replacing pretty much every
         | 3rd party app I use with something I wrote myself (it's going
         | to take a while but that's okay). My grandpa was a carpenter
         | and pretty much every piece of furniture in the house was
         | something he or his friends had made. As software craftspeople,
         | we should strive to do the same with our digital houses.
         | 
         | I do the same. Both with software and furniture in my house.
         | 
         | I've built all kinds of little dashboards, a big website
         | software project, a local-only bookkeeping system, etc.
         | 
         | With furniture, I'm not that far that I dare to build a chair
         | or couch, but I've built a bed frame, an over-engineered shoe
         | rack (https://www.youtube.com/watch?v=hXzO8BOIlhk), a weight
         | rack, and now I have some bookshelves in the works.
         | 
         | I don't know if you're Japanese, maybe it's coincidence, but I
         | really get inspired by watching Japanese craftsmen on Youtube.
         | It's not only the techniques or style that I like, but the
         | careful working on something that should last.
        
           | MrMcCall wrote:
           | For others of like interest, NHKOnline is an ever-growing and
           | fantastic collection of videos in English (or at least
           | subtitled) that showcase Japan's fascinating sub-cultures,
           | many of them craft-oriented.
           | 
           | Our favorite is "Design Stories" (which used to be "Design
           | Talks Plus") that features many such fantastic Japanese
           | crafspeople. Our family hasn't missed an episode in quite a
           | few years.
           | 
           | And, of course, there is the Canadian resident of Japan,
           | David Bull, who does traditional wood-block prints in the
           | style of the magnificent Hokusai. His attention to detail in
           | his work is inspiring to us as well.
        
           | bityard wrote:
           | Same here. I got into woodworking because I was astonished at
           | the price of decently-made furniture here in the US. You can
           | literally buy all the materials AND tools for less than one
           | solid wood rustic-chic kitchen table and bench costs to buy.
           | 
           | Anyway, the hard part about this is that you need a space and
           | then the tools and some tools are easier/cheaper to build
           | than buy (e.g. bandsaw, router table) but there comes a point
           | at which you have to stop building the shop and start
           | building furniture. Most of the YouTubers I follow haven't
           | gotten this message yet...
        
             | echoangle wrote:
             | > I got into woodworking because I was astonished at the
             | price of decently-made furniture here in the US. You can
             | literally buy all the materials AND tools for less than one
             | solid wood rustic-chic kitchen table and bench costs to
             | buy.
             | 
             | Not really surprising, the majority of the cost is the
             | actual work. Especially in high-wage countries like the US.
             | Buying a computer to build a website is also much cheaper
             | than getting a website made by someone else.
        
             | rambambram wrote:
             | > Anyway, the hard part about this is that you need a space
             | and then the tools and some tools are easier/cheaper to
             | build than buy (e.g. bandsaw, router table) but there comes
             | a point at which you have to stop building the shop and
             | start building furniture. Most of the YouTubers I follow
             | haven't gotten this message yet...
             | 
             | You might like my Youtube channel then (see previous link).
             | I work in my living room, using my couch and my Ikea stool
             | for basically everything. A lot of cheap hand tools, but I
             | can't work without my drill press. I pick up 2x3's at the
             | local home depot, start sawing and drilling, and mostly use
             | bolts and nuts for connections. Along the way I pick up new
             | power tools, like a portable drill, a dremel, and my newest
             | - a trim router. I built a bicycle caravan, a portable
             | stove, among others. One of the things that really
             | surprised me is the amount of jigs that come to life out of
             | nowhere, haha.
             | 
             | By the way, nice bandsaw you made!
        
         | videogreg93 wrote:
         | What service are you using that's 4$/month? I've used the free
         | tier of Render on the past which I enjoyed but the lowest paid
         | plan is 20$/month.
        
           | diggan wrote:
           | Some options that pop up frequently on HN: Vultr,
           | DigitalOcean, OVH and Hetzner Cloud, all have cheap VPSes,
           | $4-$5 per month for the cheapest I think. And usually if it's
           | an app for just you/your small family, you can get away
           | hosting multiple apps per VPS without suffering atrocious
           | performance (depends on the apps/usage obviously).
           | 
           | The trick (and somewhat the drawback in many's eyes) is to
           | rent a VPS (or dedicated/bare metal) instead of a "App
           | hosting service" (what Render is). You'd need to know some
           | basics about infrastructure and networking, but not anything
           | too advanced and that's stuff will be useful regardless too,
           | so not too easy to rationalize away :)
        
           | mediumsmart wrote:
           | Dreamhost shared unlimited is good for this I think. 3,95 -
           | After 3 years the price triples but still worth it. Unlimited
           | traffic, bandwidth, emails and subdomains.
           | 
           | https://www.dreamhost.com/hosting/shared/#shared-plans
        
           | indigodaddy wrote:
           | Some excellent VPS deals with high storage here. Host has a
           | good rep on LET. Believe these promos are ending soon and
           | many are sold out in any case, but I think they have some
           | stock in a few of them..
           | 
           | https://lowendtalk.com/discussion/199617/hostbrr-bf-
           | storage-...
        
         | bityard wrote:
         | 100%
         | 
         | I'm not a programmer by trade but I write tools for myself all
         | the time. My favorite is a wiki-style knowledge base that I
         | built for myself because I did not like the bulk or design of
         | all the existing solutions. (I am a bit picky.) I use it every
         | day for both work and personal stuff. There are lots of ways I
         | want to improve it, but finding the time is difficult.
        
           | canadiantim wrote:
           | I'd love to see the UI, you don't by chance have any
           | screenshots? I'm always interested in how people organize
           | their own knowledge based especially wiki style
        
       | cies wrote:
       | Nice to see another Elm enthusiast!
       | 
       | You must know about Ellie, right?
       | 
       | https://ellie-app.com
       | 
       | It does not have git integration like your project though.
       | 
       | Anyway, nice project!!
        
       | fodkodrasz wrote:
       | Nice.
       | 
       | One thing I couldn't unsee: The editor and the preview panels
       | seem to have their bottoms misaligned by 1-2px.
        
       | janoelze wrote:
       | nice work! very similar to the scrappy codepen clone i built for
       | myself, will copy a few things! I've integrated AI edits and use
       | it suprisingly often as well to sketch out mini apps.
       | https://endtime-instruments.org/scratch/
        
       | smokel wrote:
       | This might be a serious problem for tinkering platforms such as
       | Glitch and Kinopio [1]. They are awesome, but they strongly
       | inspire me to take creativity just a little step further and
       | build my own implementation.
       | 
       | This then leads to a fragmented landscape of such services, and
       | none gets enough traction to grow into seriously sustainable
       | popularity.
       | 
       | [1] https://kinopio.club/
        
         | rambambram wrote:
         | Just build it for yourself and don't feel bad about not being a
         | startup founder or something. I know it feels a little weird
         | and it takes some adjustment time, but don't compare the joy of
         | building software for yourself to business yardsticks. That
         | stuff won't match anyway.
        
       | bob1029 wrote:
       | Fantastic. This is something I've thought about doing too. There
       | are days where visual studio's shenanigans make me consider the
       | benefits of a bespoke web based UI very strongly.
       | 
       | With libraries like ace and codemirror available, the hard part
       | is mostly on the server with managing state and integrating
       | tools.
       | 
       | I use C#/.NET for everything, so I'd lean on the Roslyn APIs to
       | handle code completion, reference tracking, workspaces,
       | debugging, etc.
        
       | dented42 wrote:
       | This is so reminiscent of doing web development in smalltalk with
       | seaside.
        
         | genewitch wrote:
         | Every time I see a smalltalk comment I hope to see a reply
         | along the lines of
         | 
         | > I've been maintaining a Smalltalk compiler, <URL>
         | 
         | But alas. I wonder how hard it is to get a copy of the spec...
        
           | skydhash wrote:
           | It's a VM you need. Not a compiler. The Pharo Project's VM
           | [0] is in C, and not that extensive. Most of the good stuff
           | is written in smalltalk.
           | 
           | [0]: https://github.com/pharo-project/pharo-vm
        
           | igouy wrote:
           | https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
           | 
           | Download and search !Compiler in:
           | ./Cuis7-0-main/CuisImage/Cuis7.0.sources
           | 
           | :and you'll see the commented Compiler class source code:
           | 
           | "The compiler accepts Smalltalk source code and compiles it
           | with respect to a given class. The user of the compiler
           | supplies a context so that temporary variables are accessible
           | during compilation."
           | 
           | It would be easier to install Cuis Smalltalk and use the
           | Smalltalk browsers to explore the Compiler code.
        
       | devdri wrote:
       | Like other folks here I also made something similar for myself.
       | It started as a jsbin clone, but then I wanted to play with
       | tweaking the environment itself. So now it's become a single
       | editable directory tree where both the editor and the actual
       | projects/demos share common parts of code, all synced between
       | local storage and the server. If I break the editor and refresh
       | the page, there's a simpler alternative editor backup to fix it.
       | Lots of fun with such setup!
       | 
       | Here's a screenshot with the editor showing a preview when
       | editing itself: https://imgur.com/a/RxMCrlf
        
       | kostuxa wrote:
       | I found it so useful
        
       | pomdtr wrote:
       | This looks fantastic, I'll make sure to try it!
       | 
       | I've been working on a similar platform (https://smallweb.run),
       | which allows me to host all my side projects from a single root
       | folder. Each subfolder automatically becomes a subdomain, and I
       | can just use vscode remote ssh or mutagen to live edit my
       | websites.
        
         | diggan wrote:
         | > and I can just use vscode remote ssh or mutagen to live edit
         | my websites
         | 
         | What is old is new again :) Back when I started development, we
         | did this via git remotes, and some projects even did what you
         | created and created environments mapped from git remotes to
         | apps running with subdomains (like Dokku is probably the
         | first/most memorable FOSS service for this back in the day).
         | 
         | And before that, I'm sure people were doing the same thing with
         | Java WARs or similar, and before that, something else but
         | similar.
        
           | pomdtr wrote:
           | Yeah dokku is an inspiration!
           | 
           | The main difference is that smallweb use deno instead of
           | docker for sandboxing apps, and leverages url imports (which
           | can be used to distribute complex apps like VS Code):
           | 
           | ```
           | 
           | import { VSCode } from "jsr:@smallweb/vscode@0.1.7"
           | 
           | const vscode = new VSCode({ rootDir:
           | Deno.env.get("SMALLWEB_DIR") });
           | 
           | export default vscode;
           | 
           | ```
           | 
           | You can play with a live instance of smallweb at
           | https://demo.smallweb.live
        
             | diggan wrote:
             | > The main difference is that smallweb use deno instead of
             | docker for sandboxing apps
             | 
             | Yeah, a single-runtime (smallweb) instead of any language
             | (dokku) + I'd probably say the avoidance of using git for
             | the delivery would be the two biggest differences I can
             | glance.
        
               | pomdtr wrote:
               | Yeah, I see smallweb as a playground.
               | 
               | I want to "develop in prod", not rely on successives git
               | pushes to see changes.
               | 
               | If I need semantic releases, I publish the dev version as
               | a package on jsr, and I then import it from the "prod"
               | app.
               | 
               | I still uses github as way to store my apps though, you
               | can find them at https://github.smallweb.run
        
             | yencabulator wrote:
             | By "VSCode" here you mean something like a HTTP API for
             | file read/write[0] that can be used _from_ VSCode, I think?
             | VSCode also can be made into a web app[1], but I don 't see
             | that happening here.
             | 
             | [0]: https://github.com/pomdtr/smallweb-
             | vscode/blob/main/extensio...
             | 
             | [1]: https://github.com/gitpod-io/openvscode-server
             | https://github.com/coder/code-server etc
        
               | pomdtr wrote:
               | By vscode I mean vscode-web + an fsprovider extension.
               | 
               | You can play with it at https://vscode.demo.smallweb.live
               | (the code is located in the `vscode` folder)
        
         | ashu1461 wrote:
         | `live edit my websites`
         | 
         | This will only work if your websites are in vanilla javascript
         | / html right ?
        
           | pomdtr wrote:
           | Smallweb also allows you to run server-side code using deno.
           | The main process watch for changes in the app directories,
           | and automatically restart the corresponding deno processes
           | when a change is detected.
           | 
           | If you ever interacted with cloudflare workers or
           | https://val.town, it is a similar experience.
           | 
           | Feel free to join our discord at https://discord.smallweb.run
           | if you're curious !
        
         | qudat wrote:
         | Very cool, very similar to SSHFS support on https://pico.sh/pgs
         | and https://pico.sh/tuns
        
           | pomdtr wrote:
           | I love pico.sh! Some of their service can be reimplemented as
           | smallweb apps.
           | 
           | Ex: prose.sh is similar to
           | https://jsr.io/@tayzendev/smallblog, an app created by a
           | member of the smallweb community (we have a server at
           | https://discord.smallweb.run). You can see it running from
           | smallweb at https://blog.tayzen.dev
           | 
           | I even use the underlying lib ssh implementation of pico.sh
           | in smallweb (https://github.com/picosh/pobj), and I plan to
           | introduce a cloud service similar to their (you can subscribe
           | to the waitlist at https://cloud.smallweb.run)
        
       | research-studio wrote:
       | Oh wow! And I did not expect to click on this and see a Tyne &
       | Wear Metro project. I can see why you may have wanted to create
       | one though. Good luck with it!
        
       | varun_ch wrote:
       | This is seriously awesome! I made something extremely similar
       | called Dock'n'Roll, but this looks far more polished. I think we
       | should make our own tools more often.
       | 
       | https://varun.ch/projects/dockn
        
       | anildash wrote:
       | Christian's been an awesome Glitch community member for a long
       | time; I had caught Thinkserver when he first posted about it the
       | other day. Generally, over the last 7 or 8 years we've seen super
       | users be inspired to make their own tools like this every few
       | months and it's great! Every single one has good ideas and brings
       | new things to the table, and also there's a lot to learn from the
       | overall trends. (Like, in this case, support for coding on
       | phones, where we're still not very strong.)
       | 
       | The other takeaway I got from his original blog post is a little
       | bit of that trepidation you get when you put this stuff out
       | there, where it can be a little nerve-wracking, because you don't
       | want folks to rip it apart or file a million bug reports. fwiw
       | I'm glad folks are being mostly chill about it.
        
       | jackeilles wrote:
       | Fair bit of whiplash seeing my local metro system on one of the
       | examples haha, Tyne and Wear metro FTW!
        
       | indigodaddy wrote:
       | Very cool. Caddy in front with some basic auth and off I go on
       | the internetz?
        
       | rbanffy wrote:
       | For a second I thought this was about using a Lenovo server...
       | 
       | Damn names...
        
       ___________________________________________________________________
       (page generated 2025-02-13 23:01 UTC)