cimorene: two men in light linen three-piece suits and straw hats peering over a wrought iron railing (poirot)
[personal profile] cimorene
Yesterday Wax and I went and bought a new curtain rod to replace the one in the bedroom that's been hanging crooked for... several years.

We haven't put it up yet, but we got it!

Supercomputing and Affirmation

Oct. 27th, 2025 08:49 pm
tcpip: (Default)
[personal profile] tcpip
Every so often, there is a slight glimmer of light in my world where my usual state of driven dysthymia changes due to the affirming words and actions of others. Such an experience occurred last Friday when I organised a researcher tech talk with Dr Tomasz Wozniak, a senior lecturer in economics at UniMelb. Tomasz has recently been published, as part of an international team, in a Bank of Canada paper and in the prestiguous Journal of Econometrics on Structural Vector Autoregressions (SVARs) and time-series models that analyse the relationships between multiple economic variables to identify and isolate the effects of exogenous economic shocks. It's actually important stuff to keep people in jobs when (for example) there's a massive negative disruption to trade (hello, US tariffs).

Tomasz had been kind enough to provide a repository of his presentation, which also points out that in the course of his research and his use of Spartan he has become an editor of the R Journal and developed the R packages, bsvars, bsvarSIGNs, and bpvars. He had many extremely positive comments to make about Spartan, both in terms of the infrastructure that we offer and the support that we provide to researchers. Two comments particularly stood out; first was the effects of our optimisation of the software that we build from the source code, especially (in his case) the GNU compiler suite and the R programming language. As a result of our optimised installs, he reported that his jobs would run four times faster on Spartan compared to his own machine, despite the fact that he had faster processors. Further, he mentioned that a few years ago, after attending one of my introductory training sessions, he learned the advantages of using job arrays instead of a looping logic. Suddenly, his computational improvements were hundreds of times faster than what would be the case on his own system; we call it "high performance computing" for a reason.

This is hardly the first time that this has happened. For every dollar invested in high performance computing, the estimated social return on investment is $44 (in Japan, for example, it's c$75:1 due to alignment with national objectives). In a world where so many are in well-paid "bullshit jobs" whilst other struggle as part of the precariat class with low-paid insecure work, I have been fortunate enough to find a career that has stability and fair renumeration, interesting and challenging work, and actually produces socially useful outcomes. For almost twenty years, I have believed this with utter sincerity, but it is still very pleasing when the affirmation comes from others.

Quality Experiences

Oct. 23rd, 2025 09:11 pm
tcpip: (Default)
[personal profile] tcpip
I have argued for a while that Epicureanism is a refinement of Hedonism and Stoicism is an advanced development from Epicureanism; "To live, to live well, to live better" (Whitehead, "The Function of Reason"). Each of these represents a qualitative change and, as one learns in the business of Quality Assurance, that is defined as improved precision and is differentiated as a continuum of accuracy, ultimately from "high quality" to "low quality". I find that this applies to people as well as processes; inconsistent people, who fluctuate between emotive extremes, can occasionally be enjoyable and exciting, but ultimately are hurtful and exhausting and are thus best avoided, no matter who is enticing the good times are. Such people invariably are unsuccessful in life; quality requires both a degree of consistency and reflective, tested, improvement.

Over the past few days, I have been fortunate enough in life to experience a few examples of high-quality experiences. The first was an evening of music, which I attended with Kate. This was headlined by the Paul Kidney Japanese Experience, and supported by The Black Heart Death Cult and Cat Crawl. All performed with great competence in accordance with their particular style. "Cat Crawl" (who describe themselves as "a three-piece tantrum in the form of a band") provided early 1980s-style feminist punk with humour, whilst in comparison "The Black Heart Death Cult" were a gloomy-shoegaze fusion, reminiscent of the French "blackgaze" from the 2000s. Finally, the Paul Kidney Japanese Experience gave something akin to a Japanese version an extended Hawkwind space rock concert. All in all, a great night with a great variety of styles. As a radical contrast, the following day Nitul invited me to the end-of-semester Baroque Ensemble Concert from the students at Unimelb's Faculty of Fine Arts and Music. It was an admirable selection from Lully, Bach, Vivaldi, Schein and more, and in total included over fifty performers of music and song. I found myself, as I often do in such music, drifting off to another world.

As more culinary experiences, Kate and I attended the Melbourne Italian Festival the following day at the Melbourne Exhibition Centre. The building is beautiful, but despite my heritage, I find a great deal of contemporary Italian culture pretty gaudy at best, especially in the field of fashion, homewares, and music. Of course, in food and film, it retains a very high level, the latter with a decidedly leftist influence. Apropos, last night I had the delight of being cooked for by the Minister for Climate Change Action and Energy Resources, etc, Lily D'Ambrosio, who provided an astounding Calabrian feast for some twenty individuals whilst showing off the capabilities of induction cookers. Lily deserves high praise for the quiet revolution she has led in Victoria, changing the production of electricity towards renewables and, more recently, with the phaseout of fossil fuels in domestic appliances, all with significant success. Quiet revolutions too, can be an example of quality.

Trying one new recipe a week

Oct. 22nd, 2025 07:54 pm
cimorene: Illustration of a woman shushing and a masked harlequin leaning close to hear (gossip)
[personal profile] cimorene
I decided a little while ago to try one new recipe per week as far as I can manage.

Since then we have made:

Ina Garten's Black Bean Soup, which is basically a mirepoix+bell peppers plus a bunch of black beans, Southwestern seasoning, and vegetable broth. It's similar to a couple of our favorite soup recipes and also to just the way I make black beans for burrito filling, but it's good.

RecipeTinEats' Country Harvest Root Vegetable Soup, which is very simple: a huge quantity of root vegetable chunks (she gives weight of each and we followed this pretty closely, but this style of recipe is easy to substitute of course) and some alliums sauteed with thyme and curry powder for seasoning and then cooked in water till soft, with cream added at the end, pureed with an immersion blender. This was delicious and we will definitely be having it regularly.

RecipeTinEats' Ultra Lazy Creamy Chicken and Broccoli Pasta Bake. I love pasta casserole and want to try more recipes where you don't have to pre-cook the pasta. The pasta came out great and this was delicious, but it's a little rich for me. It's a bit like oven-baked mac and cheese with broccoli in it. The vibes are very creamy and fatty and it just feels extremely heavy as a main dish.

Trying a white bean soup recipe this week. (I like to make soup once a week at least in the fall and winter.)
cimorene: abstract deconstructed tapestry in bright colors (blocks)
[personal profile] cimorene
I wonder how many people have gotten about three hours of research deep into "How to break up with all your Google products" and given up because it's too hard or too much work. This has DEFINITELY happened to me AT LEAST three times in the last ten years.

I'm not even doing it today, I'm just reminded because there's YET ANOTHER post going around about Firefox updating to integrate AI and the hidden switches in about:config you have to use if you want to turn it off. The same post talks about switching your default search engine. In one of these previous times years ago I switched from Google to DuckDuckGo, but DuckDuckGo has been pushing AI more over time and it's really annoying so I've been meaning to switch and -

- at the bottom of the post it said we should all switch to Qwant or udm=14, and so I looked up both of those. Qwant is a French search engine that is aggressively integrating AI, but they are big on not storing and selling your data at least, which would've been nice if not for the llm. udm=14 is a string you can append in Google search that gives you the "old" (pre-AI) style results. (There are other search engines - I found a link to The Search Engine Map, which shows all the ones which give English results - but I feel this experience is representative.)

I'm weighing whether I want to switch browsers. I'm definitely mad enough to, but I hate switching browsers...

Dear Yuletide Writer

Oct. 19th, 2025 02:21 pm
vass: cover of album "I want a hippopotamus for Christmas" (Yuletide Hippopotamus)
[personal profile] vass
This is a placeholder. I'll finish the letter after I finish the signup and before assignments go out. I DID IT! First time ever I managed to write this letter before the signup deadline. \o/

Dear Yuletide Author,
Thank you for offering a fandom we matched on. I hope you have a good fic exchange season.

General likes: Worldbuilding. Queer and trans people and polyamory. Gen and shipping are both fine. Bad puns (all puns are bad puns). Dinosaurs. Spaaaaace. AIs (not in the LLM sense!). Non-AI computers. Aliens that are alien. Science! (accurate or cartoony). People working together. Kissing. Co-sleeping. Infodumping is Good, Actually. Experimental formats and/or interactive fiction are welcome.

DNWs: animal harm, sad cats, dementia or terminal illness, rape/noncon, misgendering, ableism.

Fandom-specific

16th Century CE RPF
Characters: Michel de Montaigne
Character Exceptions: My gift must feature all of my chosen character tags (if 0: any from tag set)

more )

Translation State - Ann Leckie
Characters: Qven, Reet Hluid
Character Exceptions: My gift must feature one or more of my chosen character tags (giver's choice)

more )

Prophet - Sin Blaché & Helen Macdonald
Characters: Any
Character Exceptions: My gift must feature all of my chosen character tags (if 0: any from tag set)

more )

the well-meaning mortician and the undead ghoul man whom he cannot embalm (Tumblr post)
Characters: the well-meaning mortician, the undead ghoul man he cannot embalm
Character Exceptions: My gift must feature all of my chosen character tags (if 0: any from tag set)

more )

Nine Worlds Series - Victoria Goddard
Characters: Aioru, Lazo Mdang, Princess Anastasiya, Quintus Mdang
Character Exceptions: My gift must feature one or more of my chosen character tags (giver's choice)

more )

And that's all. Thank you again, and have a fun and non-stressful Yuletide!

Diff Utilities

Oct. 18th, 2025 09:57 am
[personal profile] lmemsm
I've been looking at different diff tools trying to figure out how I would design my own cross-platform portable diff program with the features I use most. The most interesting thing I found out was how different the various outputs of the diff programs all are. There's also no one algorithm that creates the most intuitive output for a human to read. A certain algorithm may be better for one case but not for another. I'll share a summary of what I've researched about diff utilities so far.

The two main diff programs I think about when I consider diff programs are the diff from GNU diffutils and the BSD diff program that's available with many BSD operating systems. The BSD diff program traditionally uses a variant of the Longest Common Subsequence and attributes the algorithm they use to Harold Stone. The latest GNU diff program uses Myers' algorithm. Myers' algorithm was a breakthrough because it managed to solve the problem in O(ND) time, something that was once thought to be impossible. The original GNU diff program predated Myers' algorithm so much older versions used a different solution. I've seen some posts at the BSD site that one of their goals was to add a Myers' implementation to their diff program to improve speed. I haven't seen anyone complete that project to date. The improvement in speed of the Myers' algorithm does come at a cost of requiring more memory. Useful diff algorithms need to keep the trade off of space versus time in mind and not come up with solutions that fail if the files being compared are arbitrarily large.

Most systems use either the GNU diff or the BSD diff or are based on them. Busybox is based on the BSD diff. I did search for other implementations that might be useful for people using an alternative to the standard GNU coreutils and diffutils. I was only able to find a few. It seems diff algorithms are more easily found in version control tools such as git. Toybox has an original implementation of diff. It's in the toys pending directory so I assume it's not part of most standard Toybox installations. I did some experimenting with it to see if I could use it as a stand-alone program. I got as far as finding some bugs in the implementation of displaying diffs in Unidiff format with a specified number of context lines. The sbase project also has an implementation of diff. It's written to optimize for speed. It can use different algorithms depending on the situation. However, in using it, I found cases where it was incorrectly marking lines as different when they were the same line. I originally assumed both projects used Myers' algorithm, but on closer examination, they probably don't. I found another C based implementation of the diff algorithm in GOT (Game of Trees version control system) which does use Myers' algorithm. Was able to get it to compile and compare two files using it. Interestingly, the output from it did not match with the output from GNU diff.

The projects have a wide range of licenses from GPL to BSD 0 clause. Busybox is licensed using GPLv2.
I am not at all sure how they legally use the diff code based on BSD systems which is licensed with a Caldera 4 clause license that is incompatible with GPL licenses. Possibly the Busybox developers wrote an exception for the Busybox license so they could incorporate that code. sbase uses an MIT license. The BSD based diff is mainly using a BSD 3 clause license (or 4 clause in older versions) but includes the Caldera license in the diffreg.c file. I've searched for other versions of the BSD diff tool that use other licenses. While the licenses vary, most copies of the diffreg.c file include the Caldera license. I did run across a few BSD variants that were licensed with BSD 3 clause licenses and didn't mention the Caldera license in diffreg.c but I think this was an omission and don't think their versions of diffreg.c were actually licensed as BSD 3 clause. Finding a decent version of the diff algorithm that can be used in a library and can link with code using GNU GPL licenses or proprietary licenses is no easy task.

I still find it surprising that the various diff implementations all come up with different output and not even different versions of the GNU diff utility will necessarily have the same results. It makes it harder to verify if a diff program's output is valid or not.

I'd be very interested to hear what others think are necessary features in a diff program. Does an alternative to GNU diff work well enough for your situation? Are there features from one diff program you wish were part of another? I'd like to take the best from some of the various diff programs out there like sbase and toybox and combine them to make a diff that has all the functionality I use most. I'd need a tool that I could use in conjunction with programs such as diffh which can display differences in files side by side in HTML format. It would be nice to discuss this further with others looking for lightweight, efficient or cross-platform tool implementations for their systems. How would you design a diff program?

simple pseudo-random number generator

Oct. 17th, 2025 11:26 pm
miriam_e: from my drawing MoonGirl (Default)
[personal profile] miriam_e
Found a really interesting pseudo-random number generator that simulates the roll of six-sided dice. It was on the Wikipedia page for the TI-57 Texas Instruments programmable calculator. (It was my first computer. I still use an emulator of the TI-57 on my Android smartphone from time to time.)
π (pi)
+
RCL 0
=
yˣ
8
-
Int 
=
STO 0
x (multiply)
6
+
1
=
Int 
R/S (stop and start)
RST (reset back to step 00)
I rewrote it as an awk one-liner:
awk 'BEGIN{
   pi = 3.14159265358979323846264338327950 ;
   for (n=0;n<20;n++){
      a=pi+b ; a=a**8 ; b= a-int(a) ; a=b*6+1 ;
      printf int(a) "  "
   }
   print ""
}'
Its output looked a bit biased to me so I wrote a quick check to see how frequently the different numbers come up in 2,000 rolls:
awk 'BEGIN{
   pi = 3.14159265358979323846264338327950 ;
   for (n=0;n<2000;n++){
      a=pi+b ; a=a**8 ; b= a-int(a) ; a=b*6+1 ; c[int(a)]++
   }
   print c[1], c[2], c[3], c[4], c[5], c[6]
}'
Surpisingly even spread:
354 316 346 327 331 326

Climate: A Grim Prognosis

Oct. 17th, 2025 11:37 am
tcpip: (Default)
[personal profile] tcpip
For the past several weeks, I have delved deeply into the content produced by scientific climate change deniers. By "denier" I mean those who argue that global warming is below the range expected by mainstream studies and by "scientific" I mean that handful of actual active researchers in climatology, rather than unqualified opinions. Without exclusion, I've found that these scientific deniers engage in extraordinary selection biases, unfounded speculations, and flawed logic. But, to the untrained eye, I can certainly see how they could be convincing; they appeal to ideological confirmation biases and, of course, they appeal to certain vested interests. Their influence is profound; there are very few climatology journal articles that are in the denier category, but the content makes up the overwhelming majority of related advertorials. The result is a profound disparity between an misinformed public opinion compared to scientific research, which, in a capitalist democracy, is reflected in the politics of demagoguery.

Two days ago, the World Meteorological Organization reported the largest recorded level of atmospheric CO2 and the largest increase in a single year (a reminder that CO2 remains in the atmosphere for a very long time). It follows Trump's decision to withdraw from the 2016 Paris Agreement, which sought to preferably limit global warming this century to 1.5 degrees C above pre-industrial levels, with a long-term objective of below 2.0 degrees. As COP30 approaches it increasingly becomes clear that voluntary agreements to a global problem is biased toward unenforceable lobbying even when adaptive and mitigative technologies exist and even when our first major tipping point (coral reef losses) looms, a situation that has been warned about for years even as fossil fuel subsidies increase - your taxes at work.

I am now in my third year as a climatology postgraduate, after many years of debating the issue and engaging in autodidactic research. When I started formal studies, it quickly became apparent to me that, despite international agreements and technological change, the most accurate trajectory was the RCP8.5 scenario; high-emissions, high-growth, high-population, the highest plausible temperature increase, i.e., the worst case scenario. Maybe it's the risk engineer disposition in me, but I think we should prepare against worst-case scenarios, especially when the costs are high. The problem is that they are so incremental; people understand the accretion of warming as explained by the popular metaphor of the "boiling frog" story that describes how people do not effectively react to creeping changes. Whilst it is a strong and appropriate metaphor, it is also a myth. A frog will react when the water is too hot for comfort. But I wonder whether humans are as clever as a frog.

Profile

linux4all: Happy Tux (Default)
Linux4All

September 2019

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
29 30     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags