Saturday, June 7, 2025

California Now Issues Non-Resident CCWs

 Lawyers I worked with persuaded courts that California had to issue to non-residents.  Not as good as reciprocity, and the costs are substantial, but if you regularly travel there, it might make sense.  Here is a pretty comprehensive training course in Riverside.


Less than two hours from LAX.

A Good Use for ChatGPT

 I have a string that I copy from newspapers.com headers of this format:

Telegraph-Forum

Fri, Apr 21, 1967 Page 13


I wanted to convert this into:


Telegraph-Forum, Apr. 21, 1967, 13.

I never found a way to do this recording a keyboard macro.  There were a couple false starts and I lost everything because it tried to sav e it to a template unsuccessfully.  Now it is correct.

#If VBA7 Then

    Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As Long

    Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long

    Private Declare PtrSafe Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As LongPtr

    Private Declare PtrSafe Function IsClipboardFormatAvailable Lib "user32" (ByVal wFormat As Integer) As Long

    Private Declare PtrSafe Function GlobalLock Lib "kernel32" (ByVal hMem As LongPtr) As LongPtr

    Private Declare PtrSafe Function GlobalUnlock Lib "kernel32" (ByVal hMem As LongPtr) As Long

    Private Declare PtrSafe Function GlobalSize Lib "kernel32" (ByVal hMem As LongPtr) As Long

    Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _

        (ByVal Destination As LongPtr, ByVal Source As LongPtr, ByVal Length As Long)

#End If


Const CF_UNICODETEXT As Integer = 13


Function GetClipboardText() As String

    Dim hClipMemory As LongPtr

    Dim lpClipMemory As LongPtr

    Dim size As Long

    Dim clipText As String


    If IsClipboardFormatAvailable(CF_UNICODETEXT) = 0 Then Exit Function

    If OpenClipboard(0&) = 0 Then Exit Function


    hClipMemory = GetClipboardData(CF_UNICODETEXT)

    If hClipMemory <> 0 Then

        lpClipMemory = GlobalLock(hClipMemory)

        If lpClipMemory <> 0 Then

            size = GlobalSize(hClipMemory)

            clipText = Space$(size \ 2) ' each Unicode character is 2 bytes

            CopyMemory ByVal StrPtr(clipText), ByVal lpClipMemory, size

            GlobalUnlock hClipMemory

        End If

    End If


    CloseClipboard

    GetClipboardText = clipText

End Function


Sub FormatCitationFromClipboard_API()

    Dim raw As String

    Dim cleaned As String

    Dim title As String, dateLine As String

    Dim regex As Object, matches As Object

    Dim month As String, dayNum As String, year As String, pageNum As String

    Dim formattedText As String

    Dim splitPos As Long

    Dim rngPaste As Range, rngTitle As Range

    Dim insertStart As Long


    raw = GetClipboardText()

    If Trim(raw) = "" Then

        MsgBox "Clipboard is empty or not text.", vbExclamation

        Exit Sub

    End If


    ' Normalize separators: replace line breaks and bullets with a unified separator

    cleaned = Replace(raw, vbCrLf, " • ")

    cleaned = Replace(cleaned, vbLf, " • ")

    cleaned = Replace(cleaned, vbCr, " • ")

    cleaned = Replace(cleaned, Chr(11), " • ") ' Word's weird line break

    cleaned = Replace(cleaned, "·", "•") ' Replace middle dot with bullet if needed


    ' Now try to split on bullet separator

    splitPos = InStr(cleaned, "•")

    If splitPos = 0 Then

        MsgBox "Clipboard contents must contain a title and a date line separated by a bullet or line break." & vbCrLf & "Text: " & raw, vbExclamation

        Exit Sub

    End If


    title = Trim(Left(cleaned, splitPos - 1))

    dateLine = Trim(Mid(cleaned, splitPos + 1))


    ' Normalize odd characters in dateLine

    dateLine = Replace(dateLine, ChrW(160), " ")  ' non-breaking space

    dateLine = Replace(dateLine, ChrW(183), " ")  ' middle dot

    dateLine = Replace(dateLine, "·", " ")

    dateLine = Replace(dateLine, "•", " ")

    dateLine = Trim(dateLine)


    ' Create regex object

    Set regex = CreateObject("VBScript.RegExp")

    With regex

        .Pattern = "([A-Za-z]{3}),?\s+([A-Za-z]{3})\s+(\d{1,2}),?\s+(\d{4})\s+Page\s+(\d+)"

        .IgnoreCase = True

        .Global = False

    End With


    If Not regex.Test(dateLine) Then

        MsgBox "Could not parse the date line: " & dateLine, vbExclamation

        Exit Sub

    End If


    Set matches = regex.Execute(dateLine)(0)

    month = matches.SubMatches(1)

    dayNum = matches.SubMatches(2)

    year = matches.SubMatches(3)

    pageNum = matches.SubMatches(4)


    ' Insert and style the text

    Set rngPaste = Selection.Range

    insertStart = rngPaste.Start

    rngPaste.Text = title & ", " & month & ", " & dayNum & ", " & year & ", " & pageNum & "."


    ' Recreate the title range within the same StoryRange

    Set rngTitle = rngPaste.Duplicate

    rngTitle.Start = insertStart

    rngTitle.End = insertStart + Len(title)

    rngTitle.Style = ActiveDocument.Styles("newspaperTitle2")


    ' Optional debug

    ' rngTitle.Select

    ' MsgBox "Styled: " & rngTitle.Text

End Sub


Awesome.  It takes about six seconds off each incident. My curiosity got the better of me:


Q. Do you know how many kilowatt-hours this session has used?
A. GPT-4 Energy Estimates (as of 2024–2025)


Inference energy per token (i.e., words generated or processed): ~0.00002–0.0001 kilowatt-hours per 1000 tokens (estimates vary widely by hardware and implementation).


Your session looks fairly long — let's estimate 30,000–50,000 tokens total (input + output), roughly equivalent to ~20–30 pages of dense conversation.
🧮 Estimated Server-Side Energy Use (GPT)



Estimate RangeValueTokens processed ~40,000 tokens
Energy per 1000 tokens (kWh) ~0.00002 to 0.0001 kWh
Total energy (server-side) ~0.0008 to 0.004 kWh

The Chaos Enlarges

6/7/25 Los Angeles Times:
"Patel’s response came a day after immigration officials descended on businesses around Los Angeles and arrested 44 people on suspicion of immigration violations and another for obstruction. ICE has arrested a total of 118 people in L.A. in connection with suspected immigration violations this week, according to the Department of Homeland Security.

"Immigration rights advocates said conditions at the Metropolitan Detention Center downtown had become overcrowded, with 200 people packed into a facility built to hold only 100."

Solution is obvious.  Verify their immigration status,  load them into vans, drive to Tijuana.

The usual leftists are commenting about how fascist and ignorant supporters of the laws are, while a vast sea of supporters of ICE are making it clear that, yes, we voted for this.  If progressives wanted immigration law reform,  they have a number of sessions of Congress where Democrats controlled both houses and the White House.  They did nothing.  

They really do not want a situation with lawful immigration after background checks ot they would have passed this into law.

Could You Do Me a Favor?

I have reason to believe emails to me are being silently dropped.  No complaints to the sender, just nothing.

Could you email me at my first name the magic punctuation symbol before domain name claytoncramer.com and then comment that you did so here.  I am hoping for enough data for my hosting service to find a pattern.  Also email claytoncramer at my Gmail account in case I need the send headers.

UPDATE: At this point dozens of you have emailed me at both addresses.  None have disappeared.  I will stop worrying.

Do You Remember When Wearing Masks Was Mandatory? Then Virtue Signalling? Now It's Fascist

 When COVID-19 arrived, we were told we must wear masks.  Then, after these requirements were eased, the progressives imagined that continuing to wear masks was a sign of concern for others.  (Let me emphasize that people at high risk of death from COVID, the immune compromised and elderly might well have good reason to continue wearing masks.  This is not a criticism of those people.)

The problem was that many states had laws prohibiting the wearing of masks as disguises:

The original version of the statute was enacted in 1923.[10] See 1923 Minn. Laws ch. 160, § 1. Like similar laws enacted during the same era, the law grew out of concerns over the rise of the Ku Klux Klan. See Wayne R. Allen, Note, Klan, Cloth & Constitution: Anti-Mask Laws & the First Amendment, 25 Ga. L. Rev. 819, 821-22 & n.17 (1991).

6/6/25 NPR:

ICE agents, as well as other federal agents delegated to work with ICE, are increasingly wearing masks during operations, something many people find objectionable. But at a press conference on Monday, ICE Acting Director Todd Lyons said agents had good reasons to do so.

"People are out there taking photos of [agents'] names, their faces and posting them online with death threats to their family and themselves," Lyons says. "So I'm sorry if people are offended by them wearing masks, but I'm not going to let my officers and agents go out there and put their lives on the line and their family on the line because people don't like what immigration enforcement is." 

This sort of intimidation of police is something I would expect of the Klan.  If progressives object to our immigration laws, they should have changed them while they controlled Congress and the White House.  9/29/17 Mother Jones:

Over the past year of clashes between “alt-right” and left-wing protesters and an escalating debate over violence as the means to an end, the word “masked” has become an epithet of sorts to describe protesters on the left.

Last month in famously liberal Berkeley, California, where right-wingers have been planning rallies that seem intended to stir up raucous counterprotests—and which have drawn hundreds of masked opponents—city leaders passed an ordinance allowing the city manager to set ground rules as to what kinds of items cannot be worn or carried into protest areas. Masks and other face coverings have been banned at every local demonstration since. 

These rules haven’t thwarted antifa, a loose-knit network of groups and individuals who aim to confront—sometimes violently—people they identify as fascists. On August 27 in Berkeley, more than 100 antifa protesters clad in various configurations of black hoodies, bandanas, hats, and sunglasses—and some carrying heavy poles or shields—ignored the city ordinance and marched en masse to Civic Center Park, where a handful of right-wingers had made sporadic appearances during the day.

So, it is okay for Antifa to wear masks as disguises but not law enforcement.  How special. 

Friday, June 6, 2025

Origins of Woke

 A thoughtful article, worth reading in full, so I am quoting only a little:

A research proposal on cosmic inflation from an acclaimed German quantum physicist is rejected because she did not address the relevance of her findings to “sex, gender, and diversity.” Could it be because… there is none?

A respected peer-reviewed physics journal publishes a paper on introductory physics courses that identifies whiteboards as complicit “with white organizational cultures, where ideas and experiences gain value (become more central) when written down.” No mention of blackboards.

A collection of 67 papers published in the Journal of Chemical Education includes “Decolonizing the Undergraduate Chemistry Curriculum” and “Integrating Antiracism, Social Justice and Equity Themes in a Biochemistry Class.” What’s next—the Periodic Table of Intersectional Elements?

Rice University offers a course on “Afrochemistry: The Study of Black-Life Matter.” BLM, get it?...

We have made so much moral progress since the Enlightenment—particularly since the civil rights and women’s rights movements that launched the modern campus protest movement in the first place—that our standards of what is intolerable have been ratcheted ever upward to the point where many people are hypersensitive to things that, by comparison, didn’t even appear on the cultural radar half a century ago. Thus it is that modern moral crusaders have forgotten how far we’ve come since the abolition of slavery, the elimination of the death penalty in most countries, the franchise for all adult citizens, children’s rights, women’s rights, gay rights, animal rights, and even the rights of future generations to inhabit a livable planet. In other words, most of the big moral movements have been fought and won, leaving today’s moral crusaders with comparatively smaller causes to promote and evils to protest, resulting in demands for safe spaces and trigger warnings, and paroxysms thrown over microaggressions and misgendering trans people. 

When I was young, there were certain assumptions made by lots of adults (not all by any means).  Blacks were intellectually inferior.  Women lacked the intelligence and ambition of men; that is why their place was home raising children. 

Today, you would be hard pressed to find anyone who would publicly admit such beliefs outside a neo-Nazi rally.  Not just publicly:  I know only a few people even in private who even scurry up to the edge of such ideas. (Even supporters of traditional sex roles know better than to assert female inferiority.  Raising children and being in charge of home schooling is not a job for the dumb and lazy.)

If you desperately need some way to distinguish yourself from your moral inferiors, you need to find some cause to which to attach yourself beyond equal opportunity, regardless of race or sex.  Something that makes you stand out.  It is way easier to imagine a society awash in racism than to ask harder questions as to why blacks in America remain poor in spite of enormous efforts to provide opportunities.

In our search for the ultimate causes of this tragic period in history we could consider a number of historical trends, starting with the lack of viewpoint diversity that took hold in the academy in the 1990s and accelerated into a massive shift in the professoriate and student body to the point of there being next to no conservative voices anywhere to be found by the 2010s and 2020s. And certainly the science wars of the 1990s, following on from the postmodernism movements in the humanities of the 1970s and 1980s, which challenged the view that there is a reality and that it can be known through reason and the methods of science. And those threads can be pulled back to the anti-Western, post-colonial, post-capitalist Marxist liberation movements of the 1950s and 1960s, themselves reflecting the anti-Enlightenment Romantic movements of the 18th and 19th centuries. But underlying these historical trends are deeper themes rooted in the interpretation of human nature.

This is also important.  The left's insistence that there are no absolute truths (F=ma; x=1/2at^2; metals reflect light better than non-metals) and the abandonment of reason are part of the problem.  Oh yes, I forgot: the wokerati have found one absolute truth: America is a nasty, hate-filled, racist society.  If you disagree, you are a mouth-breathing savage.  (And why is that intrinsically bad? :-)

Golden Dome

Golden Dome will be expensive.   Will it work?  SDI turned out to be the biggest bluff in history.   It bankrupted the Soviet Union as they tried to figure out a solution.

Golden Dome might turn out to be another bluff.   If it makes the PRC unsure if a first strike or retaliatory strike will be ineffective even in part, it may limit their willingness to take the risk.

Unlike SDI, we now have a system that is at least similar in theory and actually somewhat effective: THAAD.  Does the PRC in five years want to risk that Golden Dome will not work?  If it works,  incineration of Chinese cities and many years of poisoned fields would be the result, with loss of only a few million Americans,. If it fails,  they likely have thr same consequences from SLBMs.