6 ms·
https://wooo.sh/ https://wooo.sh/ Recently rewrote my old site after feeling limited by markdown and decided to start from a clean slate and write a blog engin
by wooosh 5y ago
https://wooo.sh/ https://wooo.sh/
Recently rewrote my old site after feeling limited by markdown and decided to start from a clean slate and write a blog engine in TCL.
Though I don't have a post up yet that uses any new features, it supports LaTeX without requiring client side JS, as well as collapsible elements.
It's also easy to add new types of content (such as a graphviz element), since an article is just a TCL script, for example:
https://github.com/wooosh/blog/blob/master/pages/articles/fractional_datatypes.page.tcl https://github.com/wooosh/blog/blob/master/pages/articles/fr...
I intend to replace utteranc.es for comments with a self-hosted solution, as I'm not super happy with relying on an external resource without subresource-integrity, especially for something that requires login (making it a great target for phishing).
- ccakes 5y agoUpvoted for the TCL-based blog!
- trevcanhuman 5y agoomg, you're 17! I am as well, see my comment [0]. the only thing I know about Tcl is that git uses the tcl language to generate the git gui and gitk programs. [0] https://news.ycombinator.com/item?id=30939560 https://news.ycombinator.com/item?id=30939560
- wooosh 5y agoProbably the most common way people interact with Tcl is through python, ironically. Tcl has a GUI library called Tk, through tkinter, available as part of the python standard library. Outside of Tk, Tcl pops up in a couple of odd places, usually as part of some testing system (expect(1) and SQLite use it) or build system, though use has fallen off quite a bit since the 1990s. Placing somewhere between a lisp and shell, it's incredibly effective as a language for gluing things together and creating DSLs, and is fairly easy to embed in a manner similar to Lua. Definitely not a perfect language, but one that I find extremely comfortable to work in and iterate quickly for certain projects. Antirez's blog has a pretty concise explanation of Tcl's features and what makes it special: http://antirez.com/articoli/tclmisunderstood.html http://antirez.com/articoli/tclmisunderstood.html
- iffycan 5y agoI used to work at a place whose webserver was in TCL (AOLServer). Once I figured out some of the gotchas, I learned to really like TCL. Like you mention, it's used as glue in lots of places, for instance in my Electrical Engineering classes to glue together VHDL/Verilog and program FGPAs.
- no-s 5y agoI have a friend who worked as a principal developer on an EDA product from Synopsys. It was amusing how he converted all of the product and product acquisitions into TCL and whatever compiled language + a c lib so he could invoke the feature from TCL.
- sebcat 5y agoAlso used by OpenOCD[1] for chip debugging and flashing. [1] https://openocd.org/ https://openocd.org/
- retrocryptid 5y agobut that's hardly an endorsement.
- JoelMcCracken 5y agoI've felt the same restrictions, at first I built a version of my site using pollen; that had its issues, so I rewrote it into haskell (with an xml post format) My main rationale for using XML for this is that 1. It was designed for it. (extensible markup!) 2. It has built-in considerations for things that could otherwise cause a more naive approach to have problems (for example, CDATA tag) 3. Other interesting features for this specific use case. I don't love it, but it works OK. I might end up making a little less-verbose DSL which makes writing it a bit nicer, but actually converts to XML on a pass-through. Anyway, shoot me an email if you want to compare notes on the topic. It seems like so many people are happy with markdown as an authoring format that its rare to meet people who see the problems.
- mroll 5y agovery cool that you are writing tcl :) if you haven't found it already, the tclers wiki is a font of wisdom about the language and so many other cool topics. https://wiki.tcl-lang.org/ https://wiki.tcl-lang.org/