Archive for the ‘General’ Category

March is grap month

Saturday, March 12th, 2022

OK, not really, but I have had someone inquire about using grap and a notice that it has been included in the Free Software Foundation’s Free Software Directory.

Fans of archaic typesetting software, rejoice!

Grap release

Wednesday, June 10th, 2020

If you’re looking for another harbinger of the End Times, consider this grap release. The changes are minor, but the code is now available from github.

Enjoy!

Review: In The Dream House

Sunday, March 22nd, 2020

Carmen Maria Machado has brought a remarkably powerful work into the world with In The Dream House. Any short summary would belie the honesty, power, and craft she employed. That said, it’s a memoir of her years as a victim in an abusive relationship.

Abuse is complicated, layered and yet invites simple judgement from us. Everyone has preconceptions about what it is and perhaps insight from being involved. Whether the reader believes that one brings it on oneself or that the abusers are possessed by overriding malice or many many other explanations, each person and relationship differs.

Machado tells her story in tiny, bite-sized chapters that slowly cohere into the narrative. They also cohere into an introduction to her remarkable mind. She has dissected her experience deeply from many angles. Each chapter is a facet of those thoughts, captured at different moments in time and reflecting aspects of the situation. That creates bounds around her experience that neither define or encapsulate it. Other people’s experience is never our own, and Machado doesn’t let us believe so. The corral she draws around the thing clarifies it remarkably.

She attacks the thing from so many perspectives. She is a scholar of the literature and the statistics. She is a queer woman living with her understanding of others’ assumptions and judgements. She has dug deeply into how those preconceptions have shaped her own ideas of her identity. She is a hurt child. She is a Star Trek fan. She is a literary scholar. She is a young, sociable college student. She is a writer. And so, so, much more. She is a human, and one I find remarkable.

I have to stress hat last facet – being a writer – because she is a remarkable one. Each of these facets is a gem in itself. The memories are evocative and poetic. The musings are clear while capturing the thoughts that led her to them. The scholarship is professional. And the whole thing intertwines in ways that make it all more of what each is.

A must.

Review: How Long ’til Black Future Month?

Saturday, January 11th, 2020

So often when I review short story collections I start by saying that they’re a mixed bag, which is me basically saying that the quality is uneven. Black Future Month is mixed, but all the stories work for me.

That surprised me a little because the stories really cover a lot of ground. If N K Jemisin has a lane, she clearly doesn’t need to stay in it. OK, very broadly speaking you could call all of these SF, but one could easily defend several as outside that domain.

More importantly than which Dewey Decimal number I assign the collection, I found all of them entertaining and most thought-provoking. Some play with storytelling, some subvert genre conventions, and all are just good stories.

With a title like this one, it’s easy to imagine that the point of the writing is to provoke reactions, especially given the state of the SF community. Jemisin walks a difficult line with boldness and panache. She is intentionally challenging many assumptions that underlie SF, but that’s never the whole point of a story. These are SF stories, and ideas and themes have center stage. By illuminating those themes from unfamiliar angles, these stories sparked new ideas for me.

Big picture issues aside, everyone in these stories is believable. All SF authors manipulate their characters to highlight the speculation inherent in the fiction. Jemisin’s people always ring true. I never thought that someone playing by her rules in the worlds she puts them in were acting like characters. They were people. (That reinforces the inclusion and representation goals, of course.)

Overall an interesting and exciting set of stories.

Strongly Recommended.

Brush With Tragedy

Saturday, November 23rd, 2019

I was horrified to see that a motorist had hit and killed a cyclist along my daily commuting route on Thursday morning. I was further surprised when I realized that I had passed the scene soon enough after the collision that the police were still on the scene and had the street shut down.

I didn’t see the accident, so all I can do is give my sympathies and a few impressions of that area. I’m just going to post those here to contribute what I can to understanding and sympathy.

The Scene

The intersection in question is somewhat challenging, but far from the worst I see on a regular basis. The intersection is treacherous because of the fork and joining of Olive and Manchester. There’s no good way for northbound bike traffic to continue up Manchester without northbound Olive traffic posing a risk. I wasn’t there, so I have no idea if that contributed.

Most of the people I see on bikes in that area are riding simple cruiser kinds of bikes. They look like folks who are making short trips from a bus stop to work or between some of the dispersed work locations – lots of car lots/parking lots there. That also means there are come car carriers and other commercial vehicles in the area regularly that can make it hard to see what’s happening.

Again, my sympathies to the families and friends. Thanks to the indispensable Biking In LA blog for keeping us all aware.

Reading List 2018

Sunday, January 13th, 2019

I read 34 books in 2018. Here are the ones I strongly recommended

I either read better stuff, or my grading is getting softer. You can see the full list of my 2018 capsules.

Histograms in grap

Saturday, July 28th, 2018

I know everyone loves it when I talk about arcane typesetting languages, so here’s a response to a fellow who wanted to replicate the histograms at http://www.jmillville.com/project/learnstats/ex9.html in grap.

 

Attached is a commented grap/groff file that draws something like both
histograms.  I commented the grap to explain what I was up to (comments
start with .\"), but feel free to ask about anything that's confusing.

I didn't see immediately how he set the widths of his histogram
bars/buckets, so I used 10-pound-wide buckets centered on 105,110,115...
for all crew (blue) and 5-pound-wide buckets centered on
105,110,115,120... for the rowers (green).  (The bucket width is both
the clustering range and the width of the histogram bars.)

I've attached the grap/groff (called hist.ms), the data file I used
called data, and the postscript it generates when I call

$ groff -Gp hist > hist.ps

on my ubuntu box with groff and grap installed.

I used grap 1.45 from a stock ubuntu .deb.

If I wanted to do this same task as flexibly as possible, I'd probably
preprocess the data using a scripting language and then generate grap
output that I'd run through groff as above.  I'm slowly writing a pic to
svg program in my spare time that would make that more portable to use.

Hope that helps some.

The grap script looks like this:

.G1
.\" Initialize globals
tot105 = tot115 = tot125 = tot135 = tot145 = tot155 = 0
tot165 = tot175 = tot185 = tot195 = tot205 = tot215 = 0

rtot105 = rtot115 = rtot125 = rtot135 = rtot145 = rtot155 = 0
rtot165 = rtot175 = rtot185 = rtot195 = rtot205 = rtot215 = 0
rtot110 = rtot120 = rtot130 = rtot140 = rtot150 = 0
rtot160 = rtot170 = rtot180 = rtot190 = rtot200 = rtot210 = 0

.\" between takes teh following args in order
.\" $1: value to test
.\" $2: center of bucket
.\" $3: bucket width
.\" $4: variable stem
.\" if the test value is in the bucket (between the center +/- width/2) 
.\" the macro increments the variable made from concatenating the stem and
.\" the bucket center.
define between {
  if ($1 >= $2-($3/2) && $1 < $2+($3/2) ) then {
    $4$2 = $4$2 + 1
  } 
}

.\" Copy the test data through between calls to set the globals
copy "data" thru {
  between($1,105,10,tot)
  between($1,115,10,tot)
  between($1,125,10,tot)
  between($1,135,10,tot)
  between($1,145,10,tot)
  between($1,155,10,tot)
  between($1,165,10,tot)
  between($1,175,10,tot)
  between($1,185,10,tot)
  between($1,195,10,tot)
  between($1,205,10,tot)
  between($1,215,10,tot)
  if ($3 == 1) then {
    between($1,105,5,rtot)
    between($1,110,5,rtot)
    between($1,115,5,rtot)
    between($1,120,5,rtot)
    between($1,125,5,rtot)
    between($1,130,5,rtot)
    between($1,135,5,rtot)
    between($1,140,5,rtot)
    between($1,145,5,rtot)
    between($1,150,5,rtot)
    between($1,155,5,rtot)
    between($1,160,5,rtot)
    between($1,165,5,rtot)
    between($1,170,5,rtot)
    between($1,175,5,rtot)
    between($1,180,5,rtot)
    between($1,190,5,rtot)
    between($1,185,5,rtot)
    between($1,195,5,rtot)
    between($1,200,5,rtot)
    between($1,205,5,rtot)
    between($1,210,5,rtot)
    between($1,215,5,rtot)
  }
}

.\" Set up the coordinates and the ticks to match the example
coord x 100, 220 y 0,8
ticks bot in 0.02 down 0.04 from 100 to 220 by 20
ticks top in 0.02 from 100 to 220 by 20 ""
ticks left in 0.02 left 0.08 from 0 to 8
ticks right in 0.02 from 0 to 8 ""
label left "Number of Members"
label bot "Weight in Pounds"
label top "The Boat Race Crew Histograms" size +2

.\" Draw bars for both kinds of crew
bar up 105 ht tot105 wid 10 fillcolor "blue"
bar up 115 ht tot115 wid 10 fillcolor "blue"
bar up 125 ht tot125 wid 10 fillcolor "blue"
bar up 135 ht tot135 wid 10 fillcolor "blue"
bar up 145 ht tot145 wid 10 fillcolor "blue"
bar up 155 ht tot155 wid 10 fillcolor "blue"
bar up 165 ht tot165 wid 10 fillcolor "blue"
bar up 175 ht tot175 wid 10 fillcolor "blue"
bar up 185 ht tot185 wid 10 fillcolor "blue"
bar up 195 ht tot195 wid 10 fillcolor "blue"
bar up 205 ht tot205 wid 10 fillcolor "blue"
bar up 215 ht tot215 wid 10 fillcolor "blue"

.\" Draw bars for rowers
bar up 105 ht rtot105 wid 5 fillcolor "forestgreen"
bar up 110 ht rtot110 wid 5 fillcolor "forestgreen"
bar up 115 ht rtot115 wid 5 fillcolor "forestgreen"
bar up 120 ht rtot120 wid 5 fillcolor "forestgreen"
bar up 125 ht rtot125 wid 5 fillcolor "forestgreen"
bar up 130 ht rtot130 wid 5 fillcolor "forestgreen"
bar up 135 ht rtot135 wid 5 fillcolor "forestgreen"
bar up 140 ht rtot140 wid 5 fillcolor "forestgreen"
bar up 145 ht rtot145 wid 5 fillcolor "forestgreen"
bar up 150 ht rtot150 wid 5 fillcolor "forestgreen"
bar up 155 ht rtot155 wid 5 fillcolor "forestgreen"
bar up 160 ht rtot160 wid 5 fillcolor "forestgreen"
bar up 165 ht rtot165 wid 5 fillcolor "forestgreen"
bar up 170 ht rtot170 wid 5 fillcolor "forestgreen"
bar up 175 ht rtot175 wid 5 fillcolor "forestgreen"
bar up 180 ht rtot180 wid 5 fillcolor "forestgreen"
bar up 185 ht rtot185 wid 5 fillcolor "forestgreen"
bar up 190 ht rtot190 wid 5 fillcolor "forestgreen"
bar up 195 ht rtot195 wid 5 fillcolor "forestgreen"
bar up 200 ht rtot200 wid 5 fillcolor "forestgreen"
bar up 205 ht rtot205 wid 5 fillcolor "forestgreen"
bar up 210 ht rtot210 wid 5 fillcolor "forestgreen"
bar up 215 ht rtot215 wid 5 fillcolor "forestgreen"

.\" Draw a key (Note that the positions here are in the histogram coordinates)
bar 102, 7.8, 155, 6.5
bar 105, 7.6, 120, 7.2 fillcolor "blue"
bar 105, 7.0, 120, 6.6 fillcolor "forestgreen"
"rowers and coxswains" ljust size -4 at 122, 7.4
"rowers and coxswains" ljust size -4 at 122, 6.8
.G2

Enjoy!

Review: Astrophysics for People In A Hurry

Sunday, May 6th, 2018

This collection of essays from Neil deGrasse Tyson warmed my heart, but didn’t delight me.  That may say more about me and prejudices – having read Asimov’s math & science essays as a kid – than Tyson’s writing.  He’s writing about interesting stuff.  He’s engaging.  He illustrates difficult concepts with interesting analogies.  He taught me things I didn’t know.  But I still come off more warmed than excited.

If you – or your kids – have any interest in cosmology and astrophysics take a look.  If you want to find out if you have an interest in those things, have a look.

Recommended.

Pro Tip: Only the People can change the Constitution (generally with the help of Congress)

Sunday, March 4th, 2018

When a president or candidate claims to be a protector against or progenitor of changes to the Constitution, do not believe them.

The president’s role in repealing the Second Amendment or preventing its repeal is operationally zero.  The same is true of adding new amendments – e.g., the ERA.

The process is completely contained in Article V.  The tl;dr is: if two thirds of both houses propose an amendment (enough to override a veto, were one even possible, incidentally) and three fourths of the state legislatures or conventions therein approve it, the proposed amendment becomes part of the Constitution.  (There’s an alternative way to start the ball rolling, but the 3/4 approval by states always has to happen.)

The chief executive’s only input or output is the ability to shout from the Bully Pulpit. That’s it.

The judicial isn’t involved, either.  It’s just us.

So don’t vote based on that crap.

Review: The Shallows

Sunday, February 11th, 2018

The Shallows is the best kind of polemic: it’s one that gets the facts right and lets the reader get on to disputing the ideas.  And I do dispute the ideas even as I admire the presentation and research that Nicholas Carr has done.

The focus of Carr’s concerns is that today’s information economy is changing the way people approach and process information.  On its face that assertion is true, but Carr’s concern isn’t that people search Google instead of the card catalog; he’s concerned that these tools are changing the layout and function of people’s brains.  This sounds much more dire.  He implies that people are losing their ability to read and interpret long-form arguments and similar hallmarks of the humanist scholar. That has a certain alarmist feel about it, but the facts he marshals in its support are genuine.

His argument that tools change how we think at a biological level hinges on recent research into brain plasticity.  This is the observation that neurological connections rearrange themselves throughout human lifetimes, not just during early brain development. The most dramatic examples of this are people whose brains rearrange themselves after traumatic brain injury to restore or enhance existing brain function.  These are remarkable examples, and worth a look no matter what else you think of Carr’s arguments.  His exposition of these ideas implies that he expects arguments about the efficacy of the phenomenon.  He won’t get them from me.

We do disagree, though. The first point is a bit subtle.  He seems to hold a vaguely dualistic view of the brain and mind.  That is, he seems to believe that the mind is distinct from the brain and uses the brain to think with.  Under this view the various tools are damaging the house his self lives in.

I don’t believe that at all.  I think that the brain the entire manifestation of self and consciousness, modulo the fact that we don’t know how it works and there may be elements of consciousness that reside other places. But it’s all physical.  As a consequence, brain plasticity is unsurprising; every though or memory or impression modifies the organ in some way.  I am surprised by just how widespread the changes can be, but it doesn’t feel to me like modern tools are undermining my thinking equipment.  My interpretation is that the tools and I are adapting to one another.

Philosophical fine points aside, the second point on which we largely disagree is that he believes that the traditional scholarly modes of thought are under siege.  And that this is a loss to society.  Perhaps because I believe that my brain is meeting the tools halfway, this seems non-coercive to me.  I think people who use the information revolution’s tools can change how they use their brains.  I also think that this is neither a one-way street or an binary choice.  I’m comfortable finding a sweet spot here.

All of which is a lot of extra text that underscores the idea that this is a book worth reading, even though I disagree with its conclusions.

Strongly recommended.