HNHacker News
TopNewBestAskShowJobs

cmacleod4

383 karma · joined September 8, 2015

Retired programmer, blog at https://colin-macleod.blogspot.com
submissionscomments
cmacleod4··on A history of ARM, part 2: Everything starts to come together
Ok, thanks for the clarification.
cmacleod4··on A history of ARM, part 2: Everything starts to come together
Fascinating story. I do find it odd that the main designer is referred to throughout as Sophie Wilson although when designing the original ARM chip she/he was actually Roger Wilson :-/
cmacleod4··on Tcl/Tk 8.6.13 Released
Release Notes can be found at https://www.reddit.com/r/Tcl/comments/z2459z/tcltk_8613_rele... .
cmacleod4··on Python, Catastrophic Regular Expressions and the GIL (2013)
> > Nonetheless, every popular programming language (except Go[1])

> ... and Rust. Although Rust doesn't have a regex library in std, the official regex crate (I am its author) descends from RE2[1].

... and Tcl (see my earlier post). You might argue that Tcl is not popular but it still has a significant following.

cmacleod4··on Python, Catastrophic Regular Expressions and the GIL (2013)
Need I point out that one can avoid both the issues highlighted here by just using Tcl?

Regexps in Tcl use a non-backtracking implementation which handles such cases with minimal slowdown, e.g. the example shown with 16 and 32-character inputs:

    (dep) 7 % timerate {regexp (a+)+b aaaaaaaaaaaaaaaa}
    0.353737 µs/# 2826961 # 2826961 #/sec 1000.000 net-ms
    (dep) 8 % timerate {regexp (a+)+b aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
    0.412612 µs/# 2423587 # 2423587 #/sec 1000.000 net-ms
One discussion of this can be found at https://comp.lang.tcl.narkive.com/XPVME8zS/tcl-regexp-perfor... .

Tcl's threading implementation has no GIL, which not only avoids the type of lock-up described here, but also allows performance to scale to use all cores of your machine, see: https://www.hammerdb.com/blog/uncategorized/why-tcl-is-700-f... .

cmacleod4··on Tcl is faster than Python for database benchmarking
This is the critical point that most commenters are missing or ignoring!
cmacleod4··on Show HN: Bloomberg Terminal for Individuals
It does seem to have quite a bit of functionality, though obviously not in the same league as a real Bloomberg terminal. (I used to work on the Bloomberg software for online trading of bonds, repos, derivatives, etc.)
cmacleod4··on Feather: Teaching Tcl Objects to Fly (2000) [pdf]
I'm afraid the Feather project was abandoned, so this is of historical interest only. Some more info can be found at https://wiki.tcl-lang.org/page/Feather .
cmacleod4··on Tcl Ported to Go
Tcl is perhaps an acquired taste, but some of us weirdos still like it - https://colin-macleod.blogspot.com/2020/10/why-im-tcl-ish.ht...
cmacleod4··on Slowly waking up to the truth: Brexit has left us poorer, adrift and alone
A handy guide to the process can be found at https://ml44.com/ .
cmacleod4··on Lua, a Misunderstood Language (2021)
Not to mention that Tcl also has an article about how it's been misunderstood, see https://news.ycombinator.com/item?id=4920831 and https://news.ycombinator.com/item?id=31129936 :-)
cmacleod4··on Introduce to a new co-routine language
Tcl is another well-established language which has had full coroutine support for 10 years now. As with Lua, a Tcl coroutine has to explicitly yield for execution to switch to another coroutine. I would not see preemptive scheduling of coroutines as an advantage, it opens up all the unsafe concurrency issues you get with threads, but without getting threads' advantage of running on multiple cores to compensate. Coroutines in Tcl also integrate cleanly with the existing event system, this allows writing event-driven code without the awkwardness of control inversion, also known as callback hell.
cmacleod4··on Watching 'Spirited Away' again, and again
I get that too. I'm using Chrome on Windows 10, the only adblocking I use is a customised hosts file.
cmacleod4··on How gray became the king of color
"Fifty Shades of Grey" has been much misunderstood; clearly it refers to the colour choices on modern cars. :-/
cmacleod4··on Ask HN: How to make a native GUI with a modern language?
Sorry, s/same/sane/.

Also "modern" is in the eye of the beholder. There are many features that Tcl had long before some of the supposedly more modern languages. In some areas like single-file deployment of applications it's arguably still ahead of its newer competitors.

cmacleod4··on Ask HN: How to make a native GUI with a modern language?
Not everyone considers Tcl to be a same language, but if you are willing to approach things a little differently Tcl/Tk can be very effective in the space you are looking at.
cmacleod4··on Top Secret Rosies: The Female “Computers” of WWII
The "computers" we are familiar with were originally called "automatic computers" to distinguish them from the earlier human "computers". Later the "automatic" was dropped and forgotten.
cmacleod4··on The Tcl War
I assume this has popped up again because Thomas Lord, who was involved, died recently. It's ancient history, but promoted unjustified prejudices against Tcl which still persist.
cmacleod4··on Redis vs. KeyDB vs. Dragonfly vs. Skytable
.. and both happen to have strong links to Tcl :-)
cmacleod4··on What is a programmable programming language? (2019)
Strong support for metaprogramming techniques is one of the underappreciated features of Tcl - see https://wiki.tcl-lang.org/page/Meta+Programming and https://www.magicsplat.com/blog/meta-html/ .
cmacleod4··on A terminal with UI like visual code
Nice! I might even steal a few ideas if/when I ever get round to updating my attempt at something similar: https://wiki.tcl-lang.org/page/gush :-)
cmacleod4··on Is there any future for the GTK-based Desktop Environments?
Just use Tk, problem solved :-) - https://tkdocs.com/
cmacleod4··on Fossil
Note that you can get free online fossil hosting at https://chiselapp.com/ .
cmacleod4··on The implied poor Russian Army truck maintenance practices
Absolutely fascinating.
cmacleod4··on TclTutor 3: Computer aided instruction package for learning the Tcl language
Note that a web-enabled version can be found at the end of page https://wiki.tcl-lang.org/page/Tcl+Tutor
cmacleod4··on In place of a legal notice, here is a blessing
Note that while the sqlite code is public domain, the enormous test suite that every release has to pass is not!
cmacleod4··on BBC licence fee to be abolished in 2027 and funding frozen
Restricting DAB reception would be pointless unless they also turned off all non-digital am/fm broadcasts, which I think is unlikely.

I believe there was once a separate BBC radio license, but they gave up on that long ago. So now BBC radio is financed from the TV licence fee, but there's no requirement to have a TV licence to listen to radio.

cmacleod4··on What’s the Difference Between American English and British English?
As a brit on holiday in Florida, I stopped at a petrol/gas station and asked if they had any maps. The guy told me I should go to Home Depot. Only later I realised that he thought I was asking for mops.
cmacleod4··on Compile Python applications into stand-alone executables
> Unfortunately high-quality bundling into executables just isn’t a focus of Python (nor of any other high-level language).

You seem to be ignoring Tcl, which solved this problem about 20 years ago with Starkits (https://wiki.tcl-lang.org/page/Starkit) and Starpacks (https://wiki.tcl-lang.org/page/Starpack).

cmacleod4··on Tcl library for Go-style concurrency based on Communicating Sequential Processes
Last update to this was 6 years ago and the documentation links are dead. However from the man page file it seems that this flavour of coroutine cannot be used in the same program as native Tcl coroutines. This would make it useless to me and I suspect to many other people who have an interest in this area.
← PreviousPage 5 of 7Next →