John Cox

Blogs · @wyome · Now · Shelf

Interesting

Liquid Smoke Cocktail

Amanda Schmadel of Barrel Proof in New Orleans built her Postcard Home, a mezcal riff on the New York sour, by pairing the pit-fired smoke of mezcal with a second, non-burned smoke from Amaro Sfumato Rabarbaro, whose rhubarb root is naturally smoky. Red wine got dropped because the mezcal overpowered it, and after trying a half dozen amari, only Sfumato kept the drink from going flat; the result is restrained rather than sooty, with lemon as counterweight. The piece also explains how smoke gets into Scotch and mezcal but not tequila, suggests the cocktail as a pre-barbecue opener, and ends with the recipe (mezcal, lemon, simple syrup, Sfumato, salted half-rim, grapefruit twist).

Permalink

Get Stronger Abs: 6 Moves You've Never Tried

Fitness slideshow arguing that repeating the same easy core staples, like leg raises, basic planks, and oblique crunches, leads to a plateau, and that you need harder variations to keep challenging your abs. It promises six replacement moves meant to add difficulty, though the captured text only includes the intro and none of the exercises themselves. It links to a related piece on myths about six-pack abs.

Permalink

Top Open-Source Static Site Generators - StaticGen

This is a filterable directory of open-source static site generators, apparently the Jamstack/Netlify-style listing, with each entry showing GitHub stars, forks, open issues, implementation language, supported templating languages, and license. Hundreds of tools are ranked by stars, starting with Next.js, Hugo, Docusaurus, Nuxt, Gatsby, Astro and Jekyll, and tapering off through niche generators in Rust, Haskell, OCaml, Bash, Elixir and others, with many offering a one-click "Deploy to Netlify" button. It's useful as a reference for comparing options by language, template engine, license and project popularity, including newer entries like Starlight, TanStack Start and Rustyll at the unranked end.

Permalink

Grav - A Modern Flat-File CMS | Grav

This is the landing page for Grav 2, the flat-file, Markdown-and-YAML CMS, which now ships with a first-party REST API, a built-in MCP server so AI agents get the same permissioned access as a human admin, and a rebuilt SvelteKit 5 single-page admin with real-time collaborative editing. It pitches the stack (PHP 8.3+, Symfony 7, Twig 3), the no-database and zero-lock-in design, and the Helios documentation theme. It also promotes Grav Premium and paid services from Trilby Media, the team behind the CMS. A banner notes that version 2.2 claims 2x faster cold starts and 96% less memory on large sites.

Permalink

The 300 Best Albums of the Past 30 Years (1985-2014) | SPIN

This is the opening installment of SPIN's 30th-anniversary countdown of the 300 best albums of 1985–2015, covering numbers 300 through 241. The list was built from more than a dozen contributors' ballots, with a cap of three albums per act to keep Radiohead and Kanye from dominating. Compilations, EPs, and live records were eligible. The blurbs run from Green Day's *American Idiot* and Ice Cube's *AmeriKKKa's Most Wanted* through shoegaze, indie, techno, and rap picks to The Weeknd's *House of Balloons*. Most are written in a jokey, referential critic's voice, and a few use the entry to make a case for an overlooked or underrated record, such as Bruce Springsteen's *Tunnel of Love* and Aerosmith's *Pump*.

Permalink

Top 10 data mining algorithms in plain English | rayli.net

A plain-English walkthrough of the ten data mining algorithms ranked most influential in a well-known survey paper: C4.5, k-means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes and CART. Each gets the same treatment: what it does, a concrete example (often a patient dataset, but also balls on a table for SVM, supermarket baskets for Apriori and fruit for Naive Bayes), whether it's supervised or unsupervised, its strengths and weaknesses, and where to find implementations such as Weka, scikit-learn and R. It's a beginner's springboard, not a rigorous treatment, and it's handy for the side-by-side comparisons, like C4.5 versus CART and eager versus lazy learners.

Permalink

discoveryd Clusterfuck • furbo.org

A furious post from developer Craig Hockenberry arguing that discoveryd, the networking daemon introduced in OS X Yosemite, is a major cause of Apple's recent quality problems: runaway CPU use, WiFi dropping after sleep, and Bonjour hostnames that keep incrementing (names (1), (2), (4)). He blames Apple's silence, with no tech note or mitigation advice despite widespread reports, and describes how a reader's tip to power down all Apple TVs and reboot the AirPort fixed his network. From that he speculates that an older discoveryd version poisoned Bonjour's shared cache, and that any iOS or OS X device could do the same to a home or public network, a fix that can't work in offices or cafés and that leaves owners of unsupported older hardware stuck.

Permalink

Clusterize.js

Code snippets from the Clusterize.js documentation showing how to set up the library, a vanilla JavaScript plugin for rendering very large lists or tables without bogging down the browser. Each example pairs the required HTML scaffolding (a scroll container with `clusterize-scroll` and a content element with `clusterize-content`, built from a table, ol, ul, or plain divs, plus an optional `clusterize-no-data` placeholder row) with a `new Clusterize({...})` call that takes `scrollId` and `contentId`. The data can either be passed in as an array of HTML row strings via `rows` or be left in the markup and picked up from there. It's a quick reference for the markup variants and initialization patterns rather than an explanation of how the library works.

Permalink

Electron

This is the Electron homepage, pitching the framework as a way to build cross-platform desktop apps for macOS, Windows, and Linux by bundling Chromium and Node.js with ordinary web code. It lists the built-in pieces (native window and menu APIs, an autoUpdater powered by Squirrel, a crashReporter, community installer tooling) and says major releases track Chromium so security fixes arrive quickly. It also points to Electron Forge as the batteries-included starter toolkit (`npm init electron-app@latest`) and Electron Fiddle as a sandbox for trying small experiments, with the current stable release shown as Electron 44.5.1 (Node 24.21.0, Chromium 152).

Permalink

PaymentFont — A sleek Payment Webfont

Hungarian-language affiliate guide to online casinos, presented as an independent expert ranking by "Turulkaszino" with scored top-10 lists, casino-by-casino comparisons and bonus and payment tables. It explains that Hungary's rules sit in a grey zone: foreign-licensed sites are tolerated, but winnings there are taxed at 15% personal income tax plus 15.5% social contribution, while winnings at the few Hungarian-licensed sites like Vegas.hu are tax-free. It also covers the history of Hungarian gambling, licensing bodies, popular software providers and slots, betting strategies from a "expert", and help resources for problem gamblers. Its objectivity is doubtful: the page is mostly promotional, with ratings that contradict each other, a heavily scrambled text, and several claims that conflict with the page's own tax section.

Permalink

SMINT | The simple jQuery plugin for lovers of one page websites.

SMINT is a jQuery plugin for smooth-scrolling one-page websites with a sticky menu, and this is the author's announcement of version 3 along with a call for showcase submissions via Twitter. The update lets links use a plain `#section1` href matched to a div with that class, so IDs are no longer needed. It also fixes the bug where the menu bar stuck partway down the page after a refresh (not yet thoroughly tested), and adds an `intLink` class for scrolling internal links and an `extLink` class for external links in the menu. The author admits it's still imperfect and plans a gallery of the best SMINT-built sites.

Permalink

Hypher - bramstein.com

Documentation for Hypher, a small, fast JavaScript library that inserts hyphenation points into words, usable from Node.js, as a jQuery plugin, or through Ender. You create one instance per language object (leftmin, rightmin, exceptions, patterns, taken from a separate patterns repository). `hyphenate` returns syllable arrays for single words, while `hyphenateText` handles whole strings, including compound words, by inserting soft hyphens. The jQuery version only touches an element's own text nodes, so nested elements like `em` must be selected explicitly.

Permalink

CoRD: Remote Desktop for Mac OS X

CoRD's project page describes a free, open-source Mac OS X client for connecting to Windows machines over RDP, pitched at sysadmins and terminal-server users. It highlights per-session or single-window views, automatic scaling, full-screen mode, clipboard sync, and saved servers reachable through hotkeys or a drawer. A 2020 notice from its maintainer, Dorian, declares the project defunct and points users to Microsoft's own clients or the cross-platform FreeRDP project instead.

Permalink

10 Reasons Your Top Talent Will Leave You | Dhaval Shah (ssdhaval@yahoo.com) | LinkedIn

Argues that top performers leave because leaders fail them, not because of pay or company-level factors, and backs this with employee-survey figures: over 40% don't respect their boss, over 50% feel their values differ from the employer's, over 60% see their career goals misaligned, and over 70% feel unappreciated. It lists ten leadership failures that drive talent out, including not tapping their passions, challenging their intellect, giving them a voice, recognizing their work, increasing their responsibility, and keeping promises. The takeaway is that retention follows from understanding, investing in, and leading people well, not from chasing retention directly.

Permalink

snabbt.js

Documentation for snabbt.js, a roughly 5kb JavaScript animation library that deliberately limits itself to transforms (translate, rotate, scale, skew) and opacity so animations stay at 60 FPS on mobile. It never queries the DOM and can't animate arbitrary properties like color or padding, and it requires requestAnimationFrame and matrix3d (no IE below 10). The page covers the core call and chaining, built-in, custom and spring easings, plus advanced features: sequences, value feeding with a chainable Matrix API, transform origins, input-driven manual mode, attention animations, and multi-element animations using per-element initializer functions. It closes with module loader and jQuery support and a full configuration reference.

Permalink

MacGap

MacGap is an Xcode project template that lets HTML/JS/CSS developers build native OS X apps by wrapping their code in the system's WebView (WebKit), with a JavaScript API for things like native notifications and writing files to disk. It stresses being tiny (a blank app under 1MB) and Mac App Store compatible, since it relies on standard WebView and Apple's official APIs rather than an embedded Chrome or hacks. Setup is just cloning the MacGap2 repo, opening the Xcode project, and editing public/index.html, with documentation on the project's GitHub Pages site.

Permalink

10 Tips for Writing JavaScript without jQuery | Tutorialzine

A tutorial arguing that modern browsers and ES5/HTML5 APIs make jQuery unnecessary for small projects like simple pages, browser extensions, and mobile sites. It walks through ten vanilla JS replacements with code demos: DOMContentLoaded, querySelector/querySelectorAll, addEventListener with event delegation, classList and setAttribute, textContent/innerHTML, DOM insertion and removal, tree traversal, forEach/map, CSS-based animation via Animate.css, and AJAX via XMLHttpRequest or a small library like Reqwest. It stays balanced, saying jQuery is still often the better choice and that you shouldn't reinvent its wheels just to save bytes.

Permalink

jQuery 3.0: The Next Generations | Official jQuery Blog

The jQuery team announces a renaming of its two parallel builds for the next major release. The wide-compatibility 1.x line (currently 1.11.1) becomes "jQuery Compat 3.0" and the slimmer 2.x line (currently 2.1.1, which dropped IE8 and older) becomes "jQuery 3.0". Both share a version number to signal identical public APIs, which fits semver better than the old split. Browser support is also realigned: the main package targets evergreen browsers and may add others by market share, while Compat keeps older ones like IE8, Opera 12 and Safari 5 at the cost of size and performance. Most sites are advised to use Compat, evergreen-only sites and webview apps like Cordova can use the main package, and a new jQuery Migrate version will flag removed deprecated methods. Both packages will be on npm, Bower, the jQuery CDN and Google's CDN.

Permalink