Antigravity as web developer (AI in an IDE)

As noted in previous posts, the web chat interface can be a cumbersome method of interacting with an LLM for the purpose of web development tasks such as adding a CSS file to an HTML page to make it render nicely on smartphones.

What if we try artificial intelligence as a companion to a programmer’s integrated development environment (IDE)? Google’s $2.4 billion baby, Antigravity, is the contender for this post, a collaboration between John Morgan and Philip Greenspun.

Installing Antigravity immediately presents the new user with a challenging question: Review-driven development vs. Agent-driven development. There is no explanation on the setup screen as to what the difference between these two might be:

Antigravity’s default user interface presents the developer with three panes: a file explorer on the left, a code editor in the middle, and an LLM chat interface on the right. We start this experiment by opening a folder we’ve created named bh-antigravity-gemini that contains the HTML for the decidedly archaic Berkshire Hathaway homepage and proceeding to write a prompt asking to generate CSS and edit the page’s HTML to make it responsive:

Antigravity offers a variety of models to choose from but for the purposes of this experiment we’ll use the default which is Gemini 3 Pro (High) in Planning mode. Planning mode causes Gemini to come up with plans before implementing them. After submitting the prompt Gemini begins to think through a plan:

As Gemini works to develop a plan Antigravity presents a Task document showing the steps to be taken:

Once Gemini has come up with its plan Antigravity presents us with an Implementation Plan document outlining the proposed changes as well as a verification plan:

Since the plan sounds sensible we instruct Gemini to implement it:

Once Gemini completes the task Antigravity presents us with a Walkthrough document with an overview of the results of completing the task:

Below the message announcing the completion of the task Antigravity presents us with a list of files that have been changed including counts for lines added and removed. Just below the list is a button to “Accept all” changes. We want to inspect the changes for ourselves first so we select the berkshire-hathaway.htm file to see what was added. Sure enough, Gemini has kept the changes to a minimum as requested and simply inserted a viewport <meta> tag and a <link> to incorporate the newly created stylesheet:

We accept the changes in the HTML and move on to examine the newly created style.css file. The CSS includes comments indicating that Gemini has tailored it to match the styling present in the original HTML while implementing the proposed changes to make the page responsive:

Satisfied with its suggestions we accept the changes and proceed to view the results. The images below are the original page as viewed on desktop followed by the new page as viewed on desktop. As promised Gemini has kept the desktop styling largely the same with the primary difference being greater spacing between links:

The images below are the original page as viewed on mobile followed by the new page as viewed on mobile. The new CSS has transformed the page such that it is no longer rendered as it would be on desktop but instead presents the links as a single column with text that is readable and easy to select without needing to zoom.

The quality of Gemini’s code generation in this experiment appears comparable to what we saw from it in our previous comparison of ChatGPT, Claude, Gemini, and Grok. This is not surprising as Antigravity is merely another interface for a developer to interact with an LLM such as Gemini.

Our conclusion is that having AI integrated tightly into the IDE where the chat log is presented and persisted alongside the code and the model can be quickly directed to analyze files within the codebase without the need to paste them into a chat window or manually upload them via a web interface saves time and leads to a more organized and less fragmented experience. We also find that the IDE’s ability to highlight proposed changes and allow us to accept or reject them and edit our files in place achieves a level of integration into the development workflow that a web chat interface cannot match.

Full post, including comments

Climate change alarmist pays $200 million for a sea level house; time for new envy level?

May 2017, Harvard Crimson:

Mark Zuckerberg’s Commencement address at Harvard

How about stopping climate change before we destroy the planet and getting millions of people involved manufacturing and installing solar panels? … We get that our greatest challenges need global responses too — no country can fight climate change alone or prevent pandemics.

(The last part is my favorite. In 2017 he predicted that the lavishly funded UN and WHO would, three years later, be able to prevent a SARS-CoV-2 pandemic via muscular action, Scientific interventions such as saliva-soaked face rags, etc.)

February 2026, WSJ:

Billionaire Meta CEO Mark Zuckerberg and his wife, Priscilla Chan, are the latest California billionaires to buy a home in South Florida. … THE PRICE: While it isn’t clear exactly what Zuckerberg and Chan are paying for the nearly 2-acre property, local real-estate agents said it would likely trade for $150 million to $200 million. Last year, an undeveloped Indian Creek lot of roughly the same size sold for about $105 million.

A peasant to whom $200 million is real money might look at the contrast between the 2017 statement about climate panic (“destroy the planet”) and the 2026 sea level waterfront house purchase and shout out “Hypocrisy!”. But maybe instead it is time for a new level of envy. What if Mark Zuckerberg believes what he’s been saying about climate change and bought the house anyway? That’s the real estate equivalent of driving a $600,000 Ferrari Purosangue to an elementary school with two kids and a bag of drive-thru breakfasts in the back. The owner knows that the kids are doing $200,000 of damage to the interior and simply doesn’t care. Zuck expects the above house to be washed away in 5-10 years, in other words, and is indifferent to the consequent loss of $200 million.

Envy 101: being bitter about the people who can afford to buy beachfront mansions and pass them down to their kids and grandkids

Envy 303: being bitter about the people who can afford to buy beachfront mansions and treat them as disposable

Full post, including comments

The Army helicopter crash in DC revisited

As noted in Reagan National Airport Black Hawk-CRJ crash, the easiest way to have prevented the January 2025 crash would have been to implemented congestion pricing on the highways around DC so that officials didn’t need helicopter taxi service to avoid the traffic jams that have been caused by dramatic population growth induced by spectacular growth in government spending (plus open borders?).

“The Last Flight of PAT 25 Two Army helicopter pilots went on an ill-conceived training mission. Within two hours, 67 people were dead.” (New York Magazine):

Black Hawks are typically flown by two pilots. The pilot in command, or PIC, sits in the right-hand seat. Tonight, that role was filled by 39-year-old chief warrant officer Andrew Eaves. Warrant officers rank between enlisted personnel and commissioned officers; it’s the warrant officers who carry out the lion’s share of a unit’s operational flying. When not flying VIPs, Eaves served as a flight instructor and a check pilot, providing periodic evaluation of the skills of other pilots. A native of Mississippi, he had 968 hours of flight experience and was considered a solid pilot by others in the unit.

In terms of flying hours, Mr. Eaves was at the same stage as a civilian helicopter pilot beginning a second year working as an instruction in little Robinsons, mostly going in circles around a training airport.

His mission was to give a check ride to Captain Rebecca Lobach, the pilot sitting in the left-hand seat. Lobach was a staff officer, meaning that her main role in the battalion was managerial. Nevertheless, she was expected to maintain her pilot qualifications and, to do so, had to undergo a number of annual proficiency checks. Tonight’s three-hour flight was intended to get Lobach her annual sign-off for basic flying skills and for the use of night-vision goggles, or NVGs. To accommodate that, the flight was taking off an hour and 20 minutes after sunset. …

Night-vision goggles have a narrow field of view, just 40 degrees compared to the 200-degree range of normal vision, which makes it harder for pilots to maintain full situational awareness. They have to pay attention to obstacles and other aircraft outside the window, and they also have to keep track of what the gauges on the panel in front them are saying: how fast they’re going, for instance, and how high. There’s a lot to process, and time is of the essence when you’re zooming along at 120 mph while lower than the tops of nearby buildings. To help with situational awareness, Eaves and Lobach were accompanied by a crew chief, Staff Sergeant Ryan O’Hara, sitting in a seat just behind the cockpit, where he would be able to help keep an eye out for trouble.

Lobach, 28, had been a pilot for four years. She’d been an ROTC cadet at the University of North Carolina at Chapel Hill, which she graduated from in 2019. Both her parents were doctors; she’d dreamed of a medical career but eventually realized that she couldn’t pursue one in the Army. According to her roommate, “She did not have a huge, massive passion” for aviation but chose it because it was the closest she could get to practicing medicine, under the circumstances. “She badly wanted to be a Black Hawk pilot because she wanted to be a medevac unit,” he told NTSB investigators. After she completed flight training at Fort Rucker, she was stationed at Fort Belvoir, where she joined the 12th Aviation Battalion and was put in charge of the oil-and-lubricants unit.

In addition to her official duties, Lobach served as a volunteer social liaison at the White House, where she regularly represented the Army at Medal of Honor ceremonies and state dinners. … She was planning to leave the service in 2027 and had already applied for medical school at Mount Sinai. Helicopter flying was not something she intended to pursue.

Though talented as a manager, she wasn’t much of a pilot. … One instructor described her skills as “well below average,” noting that she had “lots of difficulties in the aircraft.” Three years before, she’d failed the night-vision evaluation she was taking tonight. … It’s not uncommon for pilots to struggle during the early phase of their career. But Lobach’s development had been particularly slow. In her five years in the service, she had accumulated just 454 hours of flight time, and she wasn’t clocking more very quickly.

Captain Lobach had the same number of hours as a Big Tech engineer who flies recreationally for about three years and, based on the above, far less interest in becoming proficient. The small number of hours seems to be common within the Army:

Similar problems exist throughout Army aviation; the service has been having a hard time retaining its most experienced pilots and providing adequate flight time for those currently coming up through the ranks. Since 2011, the average number of hours flown per year by crewed Army aircraft has fallen from 302 to 198.

Here’s a confusing part. Maybe the issue was with the tail rotor rather than “a tail fin”?

As they passed over the Civil War battlefield of Thoroughfare Gap, an alarm called a master caution went off, indicating that a control system for a tail fin was malfunctioning. If the situation worsened and the surface became stuck, the helicopter could crash.

(This was unrelated to the crash as it happened an hour earlier and the system was “reset”.)

The conclusion of the article is bizarre. After writing about a person who wasn’t interested in aviation, the author concludes with a quote from the pilot-brother of one of the regional airline pilots who was killed by the Army crew’s incompetence:

He thinks that Lobach could have become a good pilot if they gave her another thousand hours of flying time. Instead, the Army withheld from her the training and flight time that she needed to fly safely and then required her to go fly anyway on a mission that was as ill-conceived as it was poorly executed.

The article is heartbreaking because there are thousands of superb civilian helicopter pilots who would have sacrificed almost anything to take Captain Lobach’s place behind the controls of a Blackhawk even without receiving her Army pay and benefits ($150,000/year if we include housing allowance and the actuarial value of the pension?). It’s understandable that the military is a bureaucracy, but after all of the selection hurdles how does it end up with pilots who don’t love to fly and live to fly?

Full post, including comments

Bad Bunny’s nuanced views on immigration

“Bad Bunny uses Grammy Award win to protest ICE” (CNN, February 2026):

Accepting the award for best música urbana album, Bad Bunny began his speech saying, “Before I say thanks to God, I’m gonna say: ICE out!”

“How Bad Bunny Did It” (The Atlantic, February 2026):

Bad Bunny is articulating the surreal and sad feeling of seeing his homeland transformed by internet-supercharged globalization. The U.S. territory’s economy has long relied on tourism, but in recent years, a wave of laptop-toting mainlanders lured by the balmy climate and notoriously loose tax laws has driven rent increases and threatened to wash out the local identity. Bad Bunny’s new album, Bonilla wrote, is a “lament for a Puerto Rico slipping through our fingers: betrayed by its leaders; its neighborhoods displaced for luxury developments; its land sold to outsiders, subdivided by Airbnb and crypto schemes and repackaged as paradise for others.”

(The gringos at The Atlantic characterize Puerto Rico as having “notoriously loose tax laws”, but “How Puerto Rico Became the Newest Tax Haven for the Super Rich” (GQ 2018) and other sources make it clear that Act 20 and Act 22 are, in fact, tightly specified.)

Separately, if you want to enjoy Bad Bunny’s Super Bowl performance, but don’t understand el idioma de los conquistadores (or the way that Bad Bunny pronounces this language), here’s a recital in the English language:

The “We Accept EBT” sign on the set was a nice touch. It wasn’t inclusive, however, for viewers in Minnesota. Why not an additional “Waxaan aqbalnaa EBT” or “Halkan EBT waa laga aqbalaa” sign? (the majority of Somali-headed households are on SNAP)

In other NFL news, our home town of Jupiter, Florida was indirectly featured recently by Bill Belichick’s young associate:

Related:

Full post, including comments

Why won’t San Francisco Democrats provide their teachers with fair compensation?

Californians love to brag about how productive and rich they are. San Francisco should be the richest city in the world right now given that most of the AI companies have set up shop within the city limits and the founders/executives of these companies also live within city limits, e.g., Sam Altman (worth nearly $2 billion) That’s a tax base that municipal governments all around the world can only envy. We are informed that Democrats protect American workers’ interests and there are no Republicans who could potentially prevent San Francisco from taxing and spending.

Separately, we are informed that public employee unions would never use their power to exploit taxpayers by demanding above-market compensation. Our newspapers report as an established fact that unionized schoolteachers are “underpaid”.

This week, however, we learn that the elite Democrats who run San Francisco refuse to provide their public schoolteachers with the fair compensation that the union has requested, thus necessitating a strike. NYT:

On Monday morning, Cassondra Curiel, the president of the union, the United Educators of San Francisco, led a rally on the steps of Mission High School, where dozens of teachers, dressed in red, rattled tambourines and hoisted signs calling for higher wages. Some brought their children, who were out of school for the day.

Full post, including comments

If AI is useful why is gold gaining in value compared to the S&P 500?

One of my faith-based beliefs is that productive assets, such as a company that makes widgets, are more valuable than rocks or metal bars. This, of course, hasn’t been true lately. Here’s the price of gold over the period of Bidenflation (we’re still in the “Bidenflation” period even without Biden, since inflation is tough to tame once it gets going, e.g., because government is nearly half the economy and many government payments are automatically indexed to inflation):

On the other hand, the S&P 500 is also way up, especially the Big Tech/AI companies.

What does ChatGPT have to say? The S&P is worth 1.7X all of the above-ground gold:

How about 10 years ago when AI wasn’t functional and productivity gains from AI weren’t baked into investor expectations? The ratio was higher: 2.35X.

So the value of productive assets, which should be enhanced by AI, have actually fallen relative to an unproductive asset, whose value shouldn’t be directly affected by AI.

Does this mean that markets don’t think that AI is useful? Or perhaps they think that AI will make some companies more productive, but it will render so many humans useless that taxes on the productive to fund idle lifestyles for the useless will wipe out any economic gains? Or maybe there is a simpler explanation, e.g., people love gold.

Full post, including comments

In Mr. Biden’s Neighborhood only one of your next-door neighbors is a violent criminal

Mostly Peaceful Immigrants, Installment #6734… “Less than 14% of those arrested by ICE in Trump’s 1st year back in office had violent criminal records, document shows” (CBS):

Less than 14% of nearly 400,000 immigrants arrested by Immigration and Customs Enforcement in President Trump’s first year back in the White House had charges or convictions for violent criminal offenses, according to an internal Department of Homeland Security document obtained by CBS News. … Nearly 60% of ICE arrestees over the past year had criminal charges or convictions, the document indicates. But among that population, the majority of the criminal charges or convictions are not for violent crimes.

In other words, at least 1 out of 7 of the arrested migrants was a violent criminal (plus some additional migrants who are violent criminals, but had (1) never been arrested by the police, (2) never been charged with a violent crime by local prosecutors, and/or (3) been convicted of a violent crime only in their home country).

CBS spins this as evidence for the irrationality of Donald Trump’s deportation policies. But who would be enthusiastic living among the 400,000 noble enrichers who’ve been arrested? Imagine a realtor telling a potential house buyer, “only 1 out of 7 of your new neighbors will be violent criminals. So if there are two households of 4 people on either side of you, most likely you’ll have a next-door neighbor who is a violent criminal and 4 or 5 next-door neighbors who are non-violent criminals.”

A hater’s response to CBS on X:

Also in Journalism, the New York Times told us that we’re in a “climate emergency” and that Donald Trump was ending democracy. How do the journalists there prepare for these catastrophes? Are they digging tunnels in Nova Scotia and planning their escape before the Trump Dictatorship v2.0 closes the border? No. They spent at least an entire day digging up and watching 25 years worth of old halftime shows:

Full post, including comments

AI competition for the redesign of a site that already has CSS

In our last post, John Morgan and Philip Greenspun compared four LLMs to see how they would do on redesigning the Berkshire Hathaway home page, an HTML relic of the 1990s untainted by CSS. Today we’ll give AI a tougher challenge: redesign the philip.greenspun.com site from four sample HTML files and the CSS that is referenced by them. The contenders are ChatGPT, Grok, Gemini, and Claude.

The Prompt

I want to update the CSS on a web site so that it renders nicely on mobile and, ideally, has an improved look on desktop as well. I’d like to not make too many changes to the HTML, though I could add a viewport meta tag in the head of every HTML file, for example. I’m going to upload four sample HTML files from this site and two CSS files that are referenced (margins-and-ads.css is the one that nearly all pages on the site reference). Please send me back new CSS and any changes that you think would be worth doing on all of the HTML pages on the site.

Sample Pages on Desktop Before (Chrome)

Sample Pages on Mobile Before (iPhone 17 Pro Max, Chrome)

Comment from Philip: I’m grateful to John for not looking at these and asking, “Did you think that mobile web browsing was a fad and would go away?” (on the actual device they all are absurdly small and hard to read)

from ChatGPT 5.2

Below is a “drop-in” modernization that keeps your existing HTML working, but makes it responsive on phones and nicer on desktop—without needing structural HTML changes.

It’s designed around what I see in your samples:

  • Most pages pull in margins-and-ads.css and currently just set big left/right margins plus floats for images/ads/notes. margins-and-ads
  • Some pages also include philg.css for paragraph spacing/indents and note backgrounds. philg
  • Layout is often “classic HTML”: <body bgcolor=...> , <center> , <table> for header layout, images with align/hspace/vspace , etc. Philip Greenspun on Photography Travels with Samantha Home
  • Photo pages use <div class="minigallery">…</div> with <br><br> breaks. How to Photograph Architecture …
  • Some pages include custom elements like <photonetpage> / <photonetpagenav> and <product…> tags. How to Photograph Architecture … How to Photograph Architecture …
  • p.marginnote exists and is sometimes floated right at 25% width (bad on mobile). margins-and-ads

One small HTML change I recommend on every page

Add this inside <head> :

<meta name="viewport" content="width=device-width, initial-scale=1">

That alone fixes a lot of “tiny text / zoomed-out” mobile behavior.

(Your pages currently don’t have this viewport meta in the sample heads. Philip Greenspun on Photography Travels with Samantha Home)

Optional but nice (safe even with older markup):

<meta name=”color-scheme” content=”light”>

Why these changes help (mapped to your existing markup)

  • Big fixed margins become mobile-friendly padding: your current body {margin-left/right: 3em} can still be too wide or awkward on phones. margins-and-ads
  • Floats collapse on mobile: images with align="right" and your .illustration floats (plus margin notes/ads) are the #1 cause of “narrow column” mobile misery. Philip Greenspun on Photography margins-and-ads
  • minigallery becomes usable: instead of relying on <br><br> breaks, it wraps naturally and centers on small screens. How to Photograph Architecture …
  • Layout tables stack: your header table (image + title) won’t force sideways scrolling. Philip Greenspun on Photography
  • Custom tags display correctly: <photonetpage> / <photonetpagenav> should behave like block containers. How to Photograph Architecture …

If you’re willing to do one more (still small) HTML improvement later

Not required, but high value over time:

  1. Remove bgcolor / text attributes from <body> and let CSS control it. (Right now you set it in HTML on many pages. Philip Greenspun on Photography)
  2. Replace <center> blocks with CSS classes (centering via CSS is more controllable). Travels with Samantha Home

But again: the CSS above works even if you do none of that.


If you want, I can also generate a tiny “smoke test” checklist (pages to open + what to verify) based on these exact sample files (header table, minigallery , marginnote , and a long chapter page).

[after asking for the checklist]

After ChatGPT

A huge amount of screen space is wasted when the browser is opened at my usual width:

Maybe ChatGPT is right that this is about as wide as a column of text should be, but on a site without ads it doesn’t look right and denies the user the choice to get more content on his or her screen. My previous style sheets didn’t set a font, which enabled the browser to default to whatever the browser authors thought was best or whatever the user had chosen via customization (of course, it would be a rare user who’d take the trouble). ChatGPT has hard-coded in a sans-serif font. Asked why, ChatGPT explains:

But then it backpedals and says that maybe serif could play a role:

Why serif may actually be the right choice for your site

Now the counter-argument—and this matters for your content.

Your site is:

  • long-form
  • essay-like
  • book-structured
  • historically text-forward
  • intentionally “print-ish” (paragraph indents, chapter structure)

That is exactly where serif shines, especially on desktop and tablets.

You’re not running a SaaS dashboard or news feed—you’re publishing durable prose.


My recommended compromise (best of both worlds)

Use serif for body text, sans-serif for UI and headings, with mobile-aware tuning.

Option A: Classic, conservative (very “Philip Greenspun-appropriate”)

body{
font-family: Georgia, "Times New Roman", Times, serif;
}

Then add (already supported by the rest of the CSS):

h1, h2, h3, h4,
photonetpagenav{
font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

This:

  • preserves the essay/book feel
  • keeps navigation and headings crisp
  • avoids over-modernizing the site

Option B: Modern serif optimized for screens (my favorite)

body{
font-family: Georgia, "New York", "Times New Roman", Times, serif;
font-size: 17px;
line-height: 1.6;
}

Plus mobile tweak:

@media (max-width: 720px){
body{
font-size: 16px;
}
}

This gives you:

  • excellent long-form readability
  • no “tiny Times on iPhone” problem
  • minimal aesthetic change from the original site

Option C: Keep sans-serif everywhere (only if you want a stylistic reset)

This is what I initially gave you, but I would not recommend it unless you’re intentionally rebranding the site visually.


Why I didn’t ask first (and what I’d do now)

I defaulted to sans-serif because:

  • the stated priority was mobile correctness
  • you wanted minimal HTML changes
  • CSS-only fixes favor safe defaults

But given:

  • your paragraph indents
  • chapter structures
  • archival nature of the content

I would switch the body back to serif and tune size/line-height instead.


TL;DR

  • I chose sans-serif for mobile safety and cross-platform predictability.
  • For your site, serif is not only appropriate—it’s arguably better.
  • Best solution: serif body, sans-serif headings, with slightly larger text and generous line-height.

If you want, I can:

  • give you a one-line diff to revert the font choice cleanly, or
  • mock up before/after screenshots (conceptually) for desktop vs mobile so you can decide instantly.

That last offer is interesting. Maybe ChatGPT actually does have a browser in its back pocket, contrary to what we’ve seen in earlier interactions. Asked for the screenshots, it responds that the first rule of Screenshot Club is that there are no screenshots.

Great—since I can’t literally render screenshots of your pages here, the most useful thing I can do is give you faithful visual mock-ups of what you’d see, tied directly to your actual content and layout patterns. Think of this as a guided “mental screenshot” you can compare against your browser in 30 seconds. Another page:

Things actually look pretty good on mobile. These are iPhone 14 Pro Max mockups from Desktop Chrome’s developer tools:

From Grok Expert

Analysis and Key Changes

  • Mobile Responsiveness:
    • Added media queries for screens under 768px (common breakpoint for tablets/mobile). On small screens, I remove floats (e.g., stack margin notes and ads vertically), ensure images scale down, reduce body margins for more content space, and increase relative font sizes where needed (e.g., small notes).
    • Images now have max-width: 100% and height: auto to prevent overflow and maintain aspect ratios.
    • Flexible layouts: Used relative units (em, %) more consistently. No fixed pixel widths were added; existing ones (like 25% for margin notes) are adjusted or overridden on mobile.
  • Desktop Improvements:
    • Modernized typography slightly: Set a base font size (16px for readability), used a sans-serif font stack (system fonts for performance), and added subtle line-height and padding for better readability.
    • Improved spacing: Increased paragraph margins slightly for breathing room, without altering the vintage feel.
    • Kept the look simple and consistent with the original— no major redesigns like grids or flexbox (to minimize potential breakage on old HTML).
  • Minimal HTML Impact:
    • No structural changes needed (e.g., no new wrappers or classes). The existing classes (e.g., .illustration, .marginnote) are leveraged.
    • The only global HTML change I recommend is adding a viewport meta tag to every <head> (this enables proper scaling on mobile).
    • Tested mentally against the provided HTML samples: They should render well without edits beyond the meta tag. For example:
      • “Travels with Samantha Home.htm”: Centered content and image galleries stack nicely on mobile.
      • “Chapter X_ Overcharged in Katmai.htm”: Narrative text with inline images flows better; philg.css styles (e.g., indented paragraphs) are preserved but made responsive.
      • “How to Photograph Architecture (Interior).htm”: Minigalleries (floated images) stack vertically on mobile.
      • “Philip Greenspun on Photography.htm”: Lists and blockquotes remain readable.
  • Other Notes:
    • Combined some redundant styles from philg.css into margins-and-ads.css (e.g., body margins, paragraph indents). If philg.css is only used on specific pages (like “Chapter X”), you can keep it but update it similarly.
    • Assumed no JavaScript or modern frameworks—just plain CSS.
    • Performance: Kept CSS lightweight; no bloat.
    • Browser Compatibility: Should work on modern browsers (IE11+ might need tweaks, but the site is old anyway).
    • Testing: I recommend testing on real devices (e.g., via BrowserStack or your phone). If you provide a live URL, I could refine further.

Recommended HTML Changes

Add this to the <head> of every HTML file (right after the <title> or existing meta tags):

HTML

<meta name="viewport" content="width=device-width, initial-scale=1.0">

This is the only change needed site-wide. It tells mobile browsers to use the device’s width for layout and start at 1:1 scale (no forced zooming out).

If you want to automate this (e.g., via a script or find/replace), search for </head> and insert it just before.

No other HTML changes are required—the CSS updates handle everything via existing selectors.

Updated CSS Files

Updated margins-and-ads.css

This is the primary CSS file (referenced by nearly all pages). I’ve incorporated relevant styles from philg.css (e.g., paragraph margins and indents) to make it self-contained. If a page references both, this won’t conflict, but you could remove redundant philg.css includes if desired.

after Grok

Not nearly the epic waste of horizontal screen space:

Based on the desktop samples: Advantage, Grok. How about mobile?

These seem fairly similar to what ChatGPT’s CSS produced.

from Gemini Pro

Here is a modern, mobile-responsive solution for your website.

1. The HTML Change (Crucial)

You must add the “viewport” meta tag to the <head> of every HTML file. Without this, mobile phones will zoom out to show the desktop view, making the text tiny and unreadable regardless of what CSS we write.

Insert this line inside the <head> section of all HTML files:

HTML

<meta name="viewport" content="width=device-width, initial-scale=1">

2. The CSS Updates

Since margins-and-ads.css is your primary stylesheet, we will transform it into a “Master” stylesheet that modernizes the look and handles mobile layouts.

Replace the entire content of margins-and-ads.css with this:

For philg.css : The old text-indent (indenting the first line of every paragraph) makes mobile text look messy and is generally outdated for web design. I recommend replacing the content of philg.css with the following, which aligns with the new modern style:

3. Summary of Changes

  1. Fixed Widths Removed: The old CSS set specific margins (3em) that squeezed phone screens. The new CSS uses max-width: 900px for desktop (comfortable reading width) and small padding for mobile.
  2. Images Tamed: Old HTML uses width="230" attributes and align="right" . The new CSS overrides this on mobile, forcing images to scale
Full post, including comments

Shout-out to our brothers, sisters, and binary-resisters in Minneapolis

Some gratitude to the good people of Minneapolis. The city’s martyrs of ICE resistance, such as Alex Pretti and Renée Good, are apparently forgotten because Donald Trump briefly posted part of a “king of the jungle” video (apparently suppressed by the righteous who run YouTube, but available from the haters at X). Front page of the NYT today condemning Trump for his racism; nothing anywhere on the front page about Minneapolis, as if the sacrifices were for nothing:

I will celebrate Minneapolis, therefore, with a shout-out to SANUS, headquartered in suburban Minneapolis (a 3-minute drive from the Al-Amaan mosque). Mere hours before we were to our Super Bowl extravaganza guests are arriving, our four-year-old $900 Costco 86″ TV wouldn’t turn on. Thanks to the Sanus BLT3-B1 “tilt 4D” mount, however, I was able to pull the recalcitrant machine from the wall and use my Ph.D. in EECS skills to unplug it and plug it back in. The kids are watching the Puppy Bowl and, if the Costco gods are with us, the party will proceed as planned.

I suppose that we also have to celebrate our brothers and sisters in China (not too many binary-resisters there) for actually making the Sanus BLT3-B1 so that it cost $100 instead of $300.

(I do wish that ICE would detain and deport whoever made the Xfinity XG1v4 box, which I picked up because of its advertised 4K capability. It needs to be power-cycled almost every time that we want to use it and the boot-up process is almost 10 minutes.)

Let this be a cautionary tale for anyone who is considering a super-slim wall-hugging TV mount that requires professional skills and multiple humans to execute a dismount and reach-around. (I guess we could have accomplished the power-cycle via flipping breakers. I’ve never seen a behind-the-TV outlet that is associated with a convenient switch that could be used for a convenient power-cycle.)

Finally, maybe this is the time to start an extended warranty claim on the TV? It was a floor model at Costco and they threw in a five-year warranty from Allstate. The warranty was already used once to replace the TV’s main board, possibly a casualty of a lightning storm putting high voltage into the Xfinity cable (another good reason to go with a fiber connection if you’re lucky enough to live in a place where fiber is available).

Loosely related

From the masjid around the corner from Sanus, a Facebook post from one month after the Gazans’ peaceful October 7, 2023 excursion into Israel:

Allah is the All-Mighty, the Most Merciful, the One Who has the absolute ability to save the oppressed, inflict punishment on the criminals and stop the brutal massacre and genocide happening in Gaza.

It’s a challenging theological question. Allah is “All-Mighty, the Most Merciful” and with “the absolute ability to save the oppressed” (redundant with “All-Mighty”?). Yet the genocide happening in Gaza wasn’t stopped until the Gazans had suffered the loss of most of their military capability. Why did Allah wait two more years and, perhaps more importantly, not assist the Gazans in realizing their military goals, including the destruction of the Zionist entity and the establishment of Hamas rule from the river to the sea?

Full post, including comments

Add EBT card readers to televisions?

It’s Super Bowl Sunday, a day when tens of millions Americans with jobs will sit on their sofas instead of working and paying taxes associated with working, e.g., payroll and personal income tax.

We have been gifted by far-sighted and generous politicians whose dreams of an improved cradle-to-grave welfare state for roughly 50 percent of Americans have been spoiled by the laziness of Americans who have jobs but don’t work enough hours to fully fund progressive dreams.

Imagine the boost to tax revenue if working Americans worked all weekend instead of watching games on TV. What if we augmented televisions and streaming services with EBT card readers and only those with active SNAP/EBT/food stamps would be able to watch NFL, NBA, MLB, etc.? (It’s easier to get someone who works 50 hours per week to instead work 60 hours per week than it is to get someone who works 0 hours per week to toil for 10 tedious hours per week.)

I pointed this out yesterday, but it is worth pointing out again today: Santa Clara County just recently issued a mask order to reduce the spread of COVID-19 (below) and today they’re going to host a COVID-19 superspreader event. #Science!

Full post, including comments