10 interesting stories served every morning and every evening.




1 984 shares, 77 trendiness

The Fed says this is a cube of $1 million. They're off by half a million.

The Fed says this is a cube of $1 mil­lion. They’re off by half a mil­lion.

At the Federal Reserve Bank of Chicago’s Money Museum, there’s a big trans­par­ent cube on dis­play. It’s filled with tightly packed stacks of bills, claim­ing to con­tain .

Have you ever won­dered what one mil­lion dol­lars looks like? You don’t have to won­der any­more be­cause you can see it right in front of you!

I first tried count­ing the stacks right there in the room. The cube was tall, so I had to step back to see the whole thing, squint­ing at the stacks, try­ing to fol­low each row. I lost track al­most im­me­di­ately.

Also, peo­ple were start­ing to look at me funny. Apparently, star­ing in­tensely at a pile of cash while mut­ter­ing num­bers is­n’t nor­mal mu­seum be­hav­ior.

Then, I tried with a photo. I zoomed all the way in on my phone, drag­ging my fin­ger across the screen, men­tally tal­ly­ing as I went.

All I wanted was a way to click on things in a photo and have the num­ber go up.

You’d think this would al­ready ex­ist, a browser based tool for count­ing things.

Turns out it… does­n’t. At least, not as a web app I can find on Google.

There are some clunky old Windows pro­grams, niche sci­en­tific tools, and im­age analy­sis soft­ware that as­sumes you’re try­ing to count cells un­der a mi­cro­scope, not peo­ple, pen­guins, or stacks of $1 bills in a Federal Reserve cube.

It’s stu­pidly sim­ple: up­load an im­age, click to drop a dot, and it tells you how many you’ve placed. That’s it. But some­how, noth­ing like it ex­isted.

I orig­i­nally made it to in­ves­ti­gate this very cube, but I fig­ured other peo­ple might need to count stuff in pic­tures.

Now it’s yours too.

Count your en­e­mies. Count your bless­ings. Count your stacks of cash.

Because when some­one tells you it’s a mil­lion dol­lars, you might want to dou­ble check.

*The straps on them are blue which is the stan­dard for a stack of bills. Unless these are some sort of ul­tra-rare bun­dles. In which case, I have fol­low-up ques­tions.

So yeah. They’re off by .

Hey so… we’re $550,400 over bud­get on the mil­lion-dol­lar cube pro­ject.”

If you knock from each di­men­sion (basically peal­ing away the out­er­most layer of money bun­dles), the math ac­tu­ally gets kinda close

but since dol­lar bills are much wider than they’re tall, it would­n’t look like a cube any­more.

Maybe the Fed is play­ing the long game.

At the Fed’s in­fla­tion tar­get, this cube will be worth mil­lion in to­day’s dol­lars in:

Can’t wait to come back in 2047 and say: Nice. Nailed it.”

Sure, it does tech­ni­cally con­tain .

And also of bonus money.

Which is kind of like or­der­ing a burger and get­ting three.

I mean, sure, free stuff. But it’s not what you asked for.

You can only see the outer stacks. For all we know, the mid­dle is just air and crum­pled-up old news­pa­per.

A money shell. A dec­o­ra­tive cube. A fis­cal il­lu­sion. The world’s most ex­pen­sive piñata (but don’t hit it, se­cu­rity is watch­ing).

And get this: just the out­er­most layer is al­ready worth:

You’d only need a 3-layer-thick shell to blow past a mil­lion:

How would you make a mil­lion dol­lar cube?

Turns out U. S. dol­lars are ex­tremely non-cube-friendly. Each bill is wide by tall, a nice and even as­pect ra­tio of:

Best I could do

Which gives you a lovely al­most-cube:

Not per­fect. Not ter­ri­ble. At least it’s hon­est, un­like that other cube.

So what’s in the cube?

Maybe it’s an empty box with a money shell.

All I know is I built a tool, did the math, and triple-checked the stacks.

The sign says you don’t have to won­der. But I did any­way.

And now… you don’t have to ei­ther.

...

Read the original on calvin.sh »

2 538 shares, 30 trendiness

I built something that changed my friend group's social fabric

This is a story that started back in 2022, but I think its a per­fect time to re­flect on the im­pact that it has had on my friend group still to this day.

A year or so be­fore COVID, our friend group dis­persed across the world - I moved to Vancouver, one friend moved to the UK and an­other one moved to the United States. The rest of them still lived in Melbourne.

Once COVID hit, like many oth­ers, we looked to find a way to keep in con­tact and still hang out. We have al­ways been a big gam­ing group (both board game & video games) so mov­ing on­line seemed like a log­i­cal choice. We had al­ways used Discord so we started to ramp up our time there.

Over the next year, our group chat (in Signal) was drown­ing in no­ti­fi­ca­tions. A mix of gen­eral chit chat, talks on the ever chang­ing news of COVID and the most im­por­tant - when can peo­ple play games and chat. It re­ally an­noyed me when peo­ple would post on hey any­one wanna play [game] in 15 mins?”, for it to be buried in an­other 5 mes­sages. The mes­sage would have to be con­stantly bumped in Signal be­fore we even­tu­ally jumped in a voice chat in our Discord server. My friends were also an­noyed that they did­n’t know we were play­ing a cer­tain game tonight, for us to go we talked about it on Signal!”. Something had to change.

I thought, rather than peo­ple typ­ing in Signal that they want to play a game in Discord, it would be bet­ter for Discord to no­tify us when some­one has joined a voice chan­nel in our server. Now you’re prob­a­bly think­ing Daniel, would­n’t this just be an­other no­ti­fi­ca­tion that peo­ple would miss?” - you would be right to be skep­ti­cal, but I thought that since it was a dis­tinct no­ti­fi­ca­tion from Discord rather than Signal it would be bet­ter.

I went to Discord to find a set­ting to send a no­ti­fi­ca­tion to the server when some­one joined a voice chan­nel, and I came up with crick­ets. There was no such thing. Eventually I found that you can write a Discord bot to lever­age the on_voice_s­tate_up­date from dis­cord.py, a Discord API wrap­per. So I spun up a new git repo and got to work writ­ing a sim­ple Discord bot. Here is main guts of the bot.

Since on_voice_s­tate_up­date trig­gers on when a mem­ber joins or leaves a voice chan­nel and if the mem­ber muted or deaf­ened - we must check that the be­fore chan­nel is null and the af­ter chan­nel is not null to sig­nify that they have joined a voice chan­nel.

We then get the first text chan­nel of the server so that our bot can send the mes­sage to the server. Then we ac­tu­ally send the mes­sage to the text chan­nel. I added the delete_af­ter op­tion so that the text chan­nel is not clogged up with all the mes­sages sent from the bot. All we care about is re­ceiv­ing the no­ti­fi­ca­tion. Finally, I add a record into a post­gres table (hosted on Supabase) of the Discord server (guild), the mem­ber id and mem­ber dis­play name along with a time­stamp of when they joined. All this juicy data will come in handy later.

I orig­i­nally hosted the bot on fly.io. But I’ve been on a mis­sion to learn more about self-host­ing, so I bought a server from Hetzner and it runs on same server as this blog us­ing Coolify.

I added the bot to the server with the ap­pro­pri­ate per­mis­sions and we are live! Here’s what it looks like.

My friends had mixed views when I ini­tially told them. It was a 50/50 split be­tween that sounds use­ful’, to that sounds dumb and I won’t use it’. The hard­est part was con­vinc­ing peo­ple to down­load the Discord app on their phone as most of us did­n’t have it down­loaded.

Only a few months later, I had moved back to Melbourne and was with my friends on a sunny af­ter­noon at a pub. My friend, Jack, who was ini­tially in the I wont use it’ camp, com­pletely changed his tune. He said that it en­cour­ages him to jump into Discord not even to play games but just to have a quick chat with every­one and to so­cial­ize.

I quickly re­al­ized that this has not just re­duced the amount of mes­sages around or­ga­niz­ing to play games, it acted as a Batsignal for our friends to hang out. I es­ti­mated that over 60% of the time when peo­ple join Discord, it’s just to have a chin-wag about our day and not to play a game.

Since I had been keep­ing a record of each time some­one joined Discord, I now had years worth of data to see some trends (as of 27th June 2025).

Even I am stag­gered on how much we use Discord. Our ses­sions varies a lot from 5-30 mins to nights of multi-hour gam­ing ses­sions. All of my friends are in their 30s and with a few of us be­ing first-time Dads. Being one of those Dad’s - it was a life sav­ior when my lit­tle one was a new­born to jump onto Discord for even 5 min­utes to chat with my friends, watch some­one play a game and then log off for an­other di­a­per change. Our group has gone from pri­mar­ily text-based chat to chat­ting on Discord most nights - it’s rem­i­nis­cent of pick­ing up the land­line back in the 90s and call­ing your friends.

Every year we have an an­nual Christmas party for our friends and since last year I’ve been do­ing a Discord Wrapped’ (cross with the Dundies from the Office) - where I an­nounce who has joined Discord the most as well as pro­vid­ing each per­son with stats around their year on Discord. It’s been such a fun way to re­cap the year and see trends of our ac­tiv­ity.

I did­n’t re­al­ize the im­pact this would have on our group, but I’m very grate­ful I had a few hours to spare one Sunday to quickly whip this Discord bot up.

I plan to add achieve­ments based on who you hung out on Discord and some other fun ideas, as well as track­ing when you left Discord to get those juicy hours spent stats.

I also had this idea to turn this into an IoT de­vice that has 5 RGB lights and sits on your desk. It would light up when each friend you have del­e­gated joins your Discord voice chan­nel and you could cus­tomize the colour for each friend. If I get some trac­tion I might turn it into a real prod­uct, so email me at my email ad­dress in my about page if that seems some­thing you’d like.

...

Read the original on blog.danpetrolito.xyz »

3 317 shares, 20 trendiness

A Terminal Browser That Uses LLMs to Rewrite Webpages

TL;DR Spegel is a proof-of-con­cept ter­mi­nal web browser that feeds HTML through an LLM and ren­ders the re­sult as mark­down di­rectly in your ter­mi­nal.

Two week­ends ago, af­ter my fam­ily had gone to sleep, I found my­self un­su­per­vised with a lap­top and an itch to build some­thing in­ter­est­ing. A cou­ple of hours later, I had a min­i­mal web browser run­ning in my ter­mi­nal (no JavaScript, GET re­quests only) that trans­formed web con­tent based on my cus­tom prompts.

Then, a few days later, Google re­leased Gemini 2.5 Pro Lite, sig­nif­i­cantly faster in­fer­ence speed, sud­denly my lit­tle week­end hack be­came a tad more prac­ti­cal.

Adapting con­tent to suit in­di­vid­ual needs is­n’t a new idea, think about trans­lat­ing books or sum­maris­ing lengthy ar­ti­cles. However, this used to be slow and ex­pen­sive. LLMs have changed this dra­mat­i­cally, mak­ing these trans­for­ma­tions quick and easy.

Spegel (“mirror” in Swedish) lets you ex­plore web con­tent through per­son­al­ized views us­ing your own prompts. A sin­gle page can have mul­ti­ple views, maybe one sim­pli­fy­ing every­thing down to ELI5 or an­other high­light­ing key ac­tions. It’s en­tirely up to you and your prompt­ing skills.

Sometimes you don’t want to read through some­one’s life story just to get to a recipe.

A pre­vi­ous ver­sion of this screen­shot showed an in­cor­rect recipe on the right. That was due to a bug where large web­sites got trun­cated. Thanks to every­one who pointed it out!

That said, this is a great recipe

[[views]]

id = recipe”

name = Recipe”

hotkey = 7”

or­der = 7”

en­abled = true

au­to_load = false

de­scrip­tion = Get to the point in recipes”

icon = 🍳

prompt = ”″Parse a recipe and ex­tract only the es­sen­tial parts.

Format the out­put like this:

# Ingredients

* 1 tbsp salt

* 400 g beef

# Steps

1. Preheat the oven to 200°C (Gas Mark 6).

2. Wash and chop the car­rots.

**Instructions:**

* Use **metric units** (not im­pe­r­ial).

* inches -> cm

* pounds -> kg

* cups -> dl

* Keep the out­put **clean and min­i­mal** no ex­tra com­men­tary, tips, or nu­tri­tion facts.

* Include the serv­ings.“”″

Spegel fetches HTML con­tent, processes it through an LLM us­ing prompts stored in a con­fig file (~/.spegel.toml), and out­puts mark­down ren­dered via Textual. Prompts and views can be ad­justed live dur­ing a brows­ing ses­sion.

This was my first ex­pe­ri­ence us­ing Textual for a TUI, and it’s been de­light­ful, pos­si­bly too de­light­ful, as I found my­self adding a few un­nec­es­sary in­ter­face el­e­ments just be­cause it was easy.

One gotcha was en­sur­ing only com­pleted lines (ending in new­line char­ac­ters) were streamed; oth­er­wise, the mark­down ren­derer would parse in­com­plete mark­down and fail to re­cover for­mat­ting

buffer: str =

async for chunk in llm_­client.stream(ful­l_prompt, ”):

if not chunk:

con­tinue

buffer += chunk

while \n” in buffer:

line, buffer = buffer.split(“\n”, 1)

yield line + \n”

if buffer:

yield buffer

There are a lot of great ter­mi­nal browsers out there, Lynx and Links2 are close to my heart. There are also mod­ern at­tempts like Browsh that can even ren­der graphs us­ing half-block Unicode char­ac­ters (▄█).

Spegel is­n’t meant to re­place these, it’s more of an ex­plo­ration or proof-of-con­cept. It cur­rently does­n’t sup­port POST re­quests (though I have some ideas on han­dling el­e­ments by cre­at­ing on-the-fly UIs).

But most mod­ern web­sites aren’t de­signed with ter­mi­nal brows­ing in mind. They rely on CSS and JS, mak­ing them cum­ber­some in small ter­mi­nal win­dows, full of clut­ter and noise. Spegel tries to clear away dis­trac­tions, pro­vid­ing con­tent tai­lored more closely to your needs.

Spegel is still in the early stages, so ex­pect some rough edges, but it’s us­able and kind of fun to play with.

Then just run it with a URL:

Don’t for­get to con­fig­ure your own ~/.spegel.toml, (example)

Want to check out the source or con­tribute? It’s all on GitHub:

...

Read the original on simedw.com »

4 282 shares, 15 trendiness

stan-smith/OpenFLOW: Make beautiful isometric infrastructure diagrams

OpenFLOW is a pow­er­ful, open-source Progressive Web App (PWA) for cre­at­ing beau­ti­ful iso­met­ric di­a­grams. Built with React and the Isoflow li­brary, it runs en­tirely in your browser with of­fline sup­port.

* 📝 ISOFLOW_TODO.md - Current is­sues and roadmap with code­base map­pings, most gripes are with the isoflow li­brary it­self.

* 🤝 CONTRIBUTORS.md - How to con­tribute to the pro­ject.

* 💾 Auto-Save - Your work is au­to­mat­i­cally saved every 5 sec­onds

* 🔒 Privacy-First - All data stored lo­cally in your browser

# Clone the repos­i­tory

git clone https://​github.com/​stan-smith/​Open­FLOW

cd open­flow-lo­cal

# Install de­pen­den­cies

npm in­stall

# Start de­vel­op­ment server

npm start

Add Items: Drag and drop com­po­nents from the li­brary onto the can­vas

Connect Items: Use con­nec­tors to show re­la­tion­ships be­tween com­po­nents

Navigate: Pan and zoom to work on dif­fer­ent ar­eas

* Auto-Save: Diagrams are au­to­mat­i­cally saved to browser stor­age every 5 sec­onds

* Save As: Use Save New” to cre­ate a copy with a dif­fer­ent name

* Load: Click Load” to see all your saved di­a­grams

* Import: Load di­a­grams from JSON files shared by oth­ers

* Export: Download your di­a­grams as JSON files to share or backup

# Create op­ti­mized pro­duc­tion build

npm run build

# Serve the pro­duc­tion build lo­cally

npx serve -s build

The build folder con­tains all files needed for de­ploy­ment.

Deploy the build folder to any sta­tic host­ing ser­vice:

* Clear browser data (last re­sort - will delete all di­a­grams)

Contributions are wel­come! Please feel free to sub­mit a Pull Request.

MIT - Isoflow com­mu­nity edi­tion is re­leased un­der the MIT li­cense. Unlicense - OpenFLOW is re­leased un­der the un­li­cense li­cense, you can mod­ify and dis­trib­ute it how­ever you please, I don’t care.

...

Read the original on github.com »

5 233 shares, 25 trendiness

Figma Files Registration Statement for Proposed IPO

Figma, Inc. (“Figma”) to­day an­nounced that it has filed a reg­is­tra­tion state­ment on Form S-1 with the U. S. Securities and Exchange Commission (“SEC) re­lat­ing to a pro­posed ini­tial pub­lic of­fer­ing of its Class A com­mon stock. Figma has ap­plied to list its Class A com­mon stock on the New York Stock Exchange un­der the sym­bol FIG.”

The num­ber of shares to be of­fered and the price range for the pro­posed of­fer­ing have not yet been de­ter­mined. The of­fer­ing is sub­ject to mar­ket con­di­tions, and there can be no as­sur­ance as to whether or when the of­fer­ing may be com­pleted, or as to the ac­tual size or terms of the of­fer­ing.

Morgan Stanley, Goldman Sachs & Co. LLC, Allen & Company LLC, and J. P. Morgan will act as joint lead book-run­ning man­agers for the pro­posed of­fer­ing. BofA Securities, Wells Fargo Securities, and RBC Capital Markets will act as book-run­ning man­agers for the pro­posed of­fer­ing. William Blair and Wolfe | Nomura Alliance will act as co-man­agers for the pro­posed of­fer­ing.

The pro­posed of­fer­ing will be made avail­able only by means of a prospec­tus. Copies of the pre­lim­i­nary prospec­tus, when avail­able, may be ob­tained from Morgan Stanley & Co. LLC, Attention: Prospectus Department, 180 Varick Street, 2nd Floor, New York, New York 10014, or by email at prospec­tus@mor­ganstan­ley.com; Goldman Sachs & Co. LLC, Attention: Prospectus Department, 200 West Street, New York, New York 10282, by tele­phone at (866) 471-2526, or by email at prospec­tus-ny@ny.email.gs.com; Allen & Company LLC, Attention: Prospectus Department, 711 Fifth Avenue, New York, New York 10022, by tele­phone at (212) 339-2220, or by email at al­len­prospec­tus@al­lenco.com; or J. P. Morgan Securities LLC, c/​o Broadridge Financial Solutions, 1155 Long Island Avenue, Edgewood, New York 11717 or by email at prospec­tus-eq_fi@jpm­chase.com and post­sale­man­u­al­re­quests@broad­ridge.com.

A reg­is­tra­tion state­ment on Form S-1 re­lat­ing to these se­cu­ri­ties has been filed with the SEC but has not yet be­come ef­fec­tive. These se­cu­ri­ties may not be sold, nor may of­fers to buy be ac­cepted, prior to the time the reg­is­tra­tion state­ment be­comes ef­fec­tive. This press re­lease shall not con­sti­tute an of­fer to sell or the so­lic­i­ta­tion of an of­fer to buy these se­cu­ri­ties, nor shall there be any sale of these se­cu­ri­ties in any state or ju­ris­dic­tion in which such of­fer, so­lic­i­ta­tion, or sale would be un­law­ful prior to reg­is­tra­tion or qual­i­fi­ca­tion un­der the se­cu­ri­ties laws of any such state or ju­ris­dic­tion.

Figma is where teams come to­gether to turn ideas into the world’s best dig­i­tal prod­ucts and ex­pe­ri­ences. Founded in 2012, Figma has evolved from a de­sign tool to a con­nected, AI-powered plat­form that helps teams go from idea to shipped prod­uct. Whether you’re ideat­ing, de­sign­ing, build­ing, or ship­ping, Figma makes the en­tire de­sign and prod­uct de­vel­op­ment process more col­lab­o­ra­tive, ef­fi­cient, and fun––while keep­ing every­one on the same page.

...

Read the original on www.figma.com »

6 201 shares, 8 trendiness

openfiletax/openfile: A free tax tool based on IRS Direct File

Skip to con­tent

We read every piece of feed­back, and take your in­put very se­ri­ously.

Include my email ad­dress so I can be con­tacted

Use saved searches to fil­ter your re­sults more quickly

To see all avail­able qual­i­fiers, see our doc­u­men­ta­tion.

Sign up

You signed in with an­other tab or win­dow. Reload to re­fresh your ses­sion.

You signed out in an­other tab or win­dow. Reload to re­fresh your ses­sion.

You switched ac­counts on an­other tab or win­dow. Reload to re­fresh your ses­sion.

Notifications

You must be signed in to change no­ti­fi­ca­tion set­tings

Notifications

You must be signed in to change no­ti­fi­ca­tion set­tings

There was an er­ror while load­ing. .

OpenFile is a free tax tool forked from IRS Direct File. More in­for­ma­tion at https://​docs.open­file.tax/​en/​lat­est/​di­rect-file.html.

OpenFile uses Docker. To run the en­tirety of OpenFile:

The OpenFile client will start at lo­cal­host:3000/​df/​file.

There was an er­ror while load­ing. Please re­load this page.

There was an er­ror while load­ing. Please re­load this page.

You can’t per­form that ac­tion at this time.

...

Read the original on github.com »

7 174 shares, 11 trendiness

Feasibility study of a mission to Sedna -- Nuclear propulsion and advanced solar sailing concepts

...

Read the original on arxiv.org »

8 154 shares, 17 trendiness

Code⇄GUI bidirectional editing via LSP

I built a small proof-of-con­cept for a sys­tem that en­ables real-time bidi­rec­tional edit­ing be­tween any mod­ern code ed­i­tor and a GUI, en­abled by an LSP server.

I like work­ing on small pro­jects at home that ben­e­fit from CAD. I’m also a pro­gram­mer with a per­sonal de­vel­op­ment en­vi­ron­ment that I’ve spent years mak­ing as cozy as pos­si­ble. Naturally I’ve been in­ter­ested in find­ing code-based CAD sys­tem to use for my pro­jects that al­lows me to use that cozy de­vel­op­ment en­vi­ron­ment.

I read a re­cent up­date from Kevin Lynagh about his on­go­ing work on

codeCAD, and this part on bidi­rec­tional edit­ing stood out to me (emphasis mine):

For ex­am­ple: One idea I’m ex­plor­ing is bidirectional edit­ing”, so geom­e­try can

be ma­nip­u­lated us­ing ei­ther:If you graph­i­cally drag a point around, the co­or­di­nates in the source code should au­to­mat­i­cally up­date. If you edit the source code, the graph­i­cal UI should au­to­mat­i­cally up­date. A sim­ple way to test this idea is to throw a in the UI that dis­plays the cor­re­spond­ing source code. But to me, that feels ter­ri­ble be­cause I never want to be cod­ing in some janky, in-browser — I want to be work­ing with source code in Emacs, with all of my fa­mil­iar key bind­ings, color schemes, au­to­com­plete, and decades of cozy prac­tice.But do­ing this prop­erly is an ab­solute boat­load of work:How does the sys­tem rewrite source code? Is it me­di­ated by files on disk with

re­load on save? How do the ed­i­tor and UI stay in sync and avoid clob­ber­ing

each oth­er’s un­saved changes? Maybe we need an LSP server?The lan­guage in­ter­preter needs to pre­serve com­ments and flow them through,

even when the UI makes ed­its to the code.How much of this needs to be built to eval­u­ate whether bidi­rec­tional edit­ing fits nicely in the hand”?

Maybe we need an LSP server?

I’ve been a happy user of LSP servers since they be­came com­mon­place in Neovim se­tups, but I have al­most no ex­pe­ri­ence with lan­guage server in­ter­nals. I had cer­tainly never con­sid­ered that they could fa­cil­i­tate bidi­rec­tional edit­ing with a GUI.

That line from Kevin’s post was a proper nerd-snipe be­cause a few hours later I had built this proof-of-con­cept:

What you’re see­ing here is a text ed­i­tor next to a GUI, and data live-up­dat­ing both ways be­tween them, made pos­si­ble by a small server that uses LSP to com­mu­ni­cate with the text ed­i­tor and WebSockets to com­mu­ni­cate with a web app.

I’ve shared more tech­ni­cal de­tails and the code for this demo here on

GitHub.

Bidirectional edit­ing is­n’t new. What’s new, as far as I’m aware, is real-time bidi­rec­tional edit­ing that works with your fa­vorite text ed­i­tor.

I’ve tried out a hand­ful of code-based CAD sys­tems, but so far I haven’t found any that achieve more than two out of these three fea­tures:

* Real-time-ish up­dates in the GUI from changes made in the code

* Real-time-ish up­dates in the code from changes made in the GUI

* Works well with my pre­ferred code ed­i­tor

Fusion 360 has de­cent bidi­rec­tional edit­ing for pa­ra­me­ters, but it’s not fully code-based and it cer­tainly does­n’t let me use my own ed­i­tor.

OpenSCAD does­n’t re­quire the use of its own text ed­i­tor, and it’s pos­si­ble to trig­ger re­loads in the GUI via file watch­ing when you save source files in ex­ter­nal ed­i­tors, but it only goes one way.

Zoo has some bidi­rec­tional edit­ing, but only with its built-in ed­i­tor.

Arcol, the tool that I help build at my day job, is in­no­vat­ing in CAD in­ter­face de­sign in some ex­cit­ing ways, but we’re build­ing for ar­chi­tects, not pro­gram­mers.

This is just a toy demo, but it’s enough to ex­cite me about the pos­si­bil­ity of a sys­tem that achieves all three of those points!

I don’t plan to de­velop this demo fur­ther, at least not any­time soon, but I hope it in­spires peo­ple to find more cre­ative uses (abuses?) of LSP servers.

One of the best code-CAD en­vi­ron­ments I’ve worked in is OpenSCAD + Neovim with the OpenSCAD LSP server, only us­ing the OpenSCAD GUI for the viewer, not the built-in text ed­i­tor. OpenSCAD is fun­da­men­tally not built for GUI edit­ing, but since it’s open source and has a nice lan­guage server al­ready, it could be a good place to de­velop a more in­ter­est­ing demo of this con­cept.

Like Kevin’s post said, do­ing this prop­erly will be a boat­load of work. Handling con­flict res­o­lu­tion, in­cre­men­tal ed­its, and the more com­plex gen­eral LSP server in­ter­nals are all se­ri­ous tasks, let alone cre­at­ing a whole new lan­guage for CAD.

I’m look­ing for­ward to see­ing what Kevin comes up with for codeCAD!

...

Read the original on jamesbvaughan.com »

9 133 shares, 27 trendiness

The fake review crisis just got worse

Today marks the end of an era. After nearly a decade of help­ing mil­lions of shop­pers nav­i­gate the murky wa­ters of on­line re­views, Fakespot has of­fi­cially closed its doors. If you tried to check a prod­uct list­ing this morn­ing and found Fakespot not work­ing, you’re not alone. The ser­vice has per­ma­nently shut down.

TL;DR: Fakespot, the pop­u­lar fake re­view de­tec­tion tool ac­quired by Mozilla in 2023, shut down to­day, July 1, 2025. Founded by Saoud Khalifah in 2016, it helped mil­lions iden­tify un­re­li­able Amazon re­views with 90% ac­cu­racy be­fore Mozilla dis­con­tin­ued it due to sus­tain­abil­ity chal­lenges.

Back in 2016, Saoud Khalifah bought a prod­uct on Amazon, trust­ing the glow­ing re­views, only to dis­cover he’d been duped by fake feed­back. Instead of just leav­ing his own an­gry re­view, Khalifah took a more proac­tive ap­proach: he built Fakespot.

What started as one per­son’s frus­tra­tion with de­cep­tive sell­ers be­came a tool that an­a­lyzed mil­lions of re­views across Amazon and other ma­jor re­tail­ers like eBay and Walmart. The premise was sim­ple but pow­er­ful: use AI to spot pat­terns that hu­man shop­pers might miss, like sus­pi­ciously sim­i­lar lan­guage or re­viewer pro­files that did­n’t quite add up.

Fakespot’s tech­nol­ogy re­vealed some eye-open­ing sta­tis­tics. About 43% of the best-sell­ing Amazon prod­ucts had re­views that were un­re­li­able or fab­ri­cated, ac­cord­ing to a study by app com­pany Circuit. The prob­lem was even worse in cer­tain cat­e­gories. Clothing and jew­elry led the pack with a stag­ger­ing 88% of re­views deemed un­re­li­able.

These num­bers painted a sober­ing pic­ture of the on­line shop­ping land­scape. Most of us rely on prod­uct re­views as a ma­jor fac­tor when de­cid­ing what to buy, but nearly half of the feed­back you read might not be gen­uine.

As Fakespot gained trac­tion, in­vestors took no­tice. In November 2020, the com­pany raised $4 mil­lion in Series A fund­ing, bring­ing their to­tal fund­ing to $7 mil­lion and sig­nal­ing strong con­fi­dence in their mis­sion to com­bat fake re­views.

Three years later, Mozilla ac­quired Fakespot, bring­ing the star­tup’s 13-person team into the Firefox fam­ily. Mozilla in­te­grated Fakespot’s tech­nol­ogy di­rectly into Firefox as the Mozilla Review Checker” fea­ture, mak­ing it eas­ier than ever for users to ver­ify prod­uct re­views with­out in­stalling sep­a­rate ex­ten­sions.

For many users, this felt like a per­fect match. Mozilla’s rep­u­ta­tion for pri­vacy and trans­parency aligned beau­ti­fully with Fakespot’s mis­sion to bring hon­esty to on­line shop­ping.

But as Mozilla an­nounced in May, not all ac­qui­si­tions fit into a sus­tain­able long-term model. The com­pany made the dif­fi­cult de­ci­sion to dis­con­tinue both Pocket and Fakespot as part of a strate­gic re­fo­cus on Firefox’s core fea­tures and AI-powered in­no­va­tions.

The rea­sons were prac­ti­cal, if dev­as­tat­ing for users. A flood of re­views lament­ing the clo­sure have ap­peared on Fakespot’s ex­ten­sion page on the Chrome Web Store:

Fakespot’s mis­sion res­onated strongly with con­sumers, but Mozilla could­n’t find a sus­tain­able model to keep it run­ning. Resources that once sup­ported the ser­vice would now flow to­ward Firefox fea­tures like ver­ti­cal tabs, smart search, and ad­di­tional AI-powered fea­tures.

As we say good­bye to Fakespot, it’s worth re­flect­ing on what it ac­com­plished. For nine years, it served as a de­fender against fraud in an in­creas­ingly de­cep­tive mar­ket­place. It gave shop­pers a fight­ing chance against pro­mo­tional re­view­ers and bot farms that un­der­mine trust in on­line shop­ping.

For those of us who came to rely on Fakespot’s re­view analy­sis be­fore mak­ing pur­chases, its ab­sence leaves us less con­fi­dent in our buy­ing de­ci­sions. The need for trust­wor­thy re­view analy­sis has­n’t gone away. If any­thing, it’s more crit­i­cal than ever.

I know I’m not alone in feel­ing this gap, which is why I’ve be­gun build­ing a tool that aims to be the spir­i­tual suc­ces­sor to Fakespot. TrueStar will use mod­ern AI, stream­lined analy­sis tech­niques, and sus­tain­able eco­nom­ics to keep costs man­age­able while main­tain­ing the ac­cu­racy shop­pers need.

When did Fakespot shut down?

Fakespot of­fi­cially closed on July 1, 2025, with the Mozilla Review Checker fea­ture in Firefox hav­ing ended on June 10, 2025.

Why did Fakespot shut down?

Mozilla could­n’t find a sus­tain­able busi­ness model for Fakespot de­spite its pop­u­lar­ity, choos­ing to redi­rect re­sources to core Firefox fea­tures and AI-powered browser tools.

What hap­pened to Fakespot?

Mozilla ac­quired Fakespot in 2023 but an­nounced in May 2025 that both Fakespot and Pocket would be dis­con­tin­ued as part of a strate­gic re­fo­cus on Firefox de­vel­op­ment.

What are the best Fakespot al­ter­na­tives?

While sev­eral op­tions ex­ist in­clud­ing ReviewMeta, The Review Index, and emerg­ing tools like TrueStar, the mar­ket is still de­vel­op­ing sus­tain­able so­lu­tions that bal­ance ac­cu­racy with af­ford­abil­ity.

As Fakespot’s servers go dark, let’s raise a glass to the tool that made on­line shop­ping so much more trust­wor­thy for nearly a decade. Thanks to Saoud Khalifah and his team for show­ing us what’s pos­si­ble when tech­nol­ogy serves truth over profit.

Rest in peace, Fakespot. You fought the good fight. 🥂

If you found this ar­ti­cle help­ful, con­sider shar­ing it with oth­ers who might be won­der­ing why their fa­vorite re­view checker stopped work­ing to­day. Let’s keep the con­ver­sa­tion about on­line au­then­tic­ity go­ing.

...

Read the original on blog.truestar.pro »

10 130 shares, 8 trendiness

Announcing PlanetScale for Postgres — PlanetScale

Never say nev­er­Want to learn more about un­lim­ited IOPS w/ Metal, Vitess, hor­i­zon­tal shard­ing, or Enterprise op­tions?

Today we are an­nounc­ing the pri­vate pre­view of PlanetScale for Postgres: the world’s fastest Postgres host­ing plat­form.

You can re­quest ac­cess to PlanetScale for Postgres by vis­it­ing this link.

We are al­ready host­ing cus­tomers’ pro­duc­tion work­loads with in­cred­i­ble re­sults. Convex, the com­plete back­end so­lu­tion for app de­vel­op­ers, is mi­grat­ing their re­ac­tive data­base in­fra­struc­ture to PlanetScale for Postgres. Read more about their mi­gra­tion here.

PlanetScale has been suc­cess­ful host­ing some of the world’s largest re­la­tional data­bases, so why are we build­ing for Postgres? The rea­son is sim­ple: cus­tomer de­mand. In March we an­nounced PlanetScale Metal and some­thing wild hap­pened. We had an im­mense num­ber of com­pa­nies reach­ing out to us ask­ing us to sup­port Postgres. The de­mand was so over­whelm­ing that by the end of launch day we knew we had to do this. We are noth­ing with­out our cus­tomers, we do the dif­fi­cult but bor­ing bit of pro­vid­ing in­dus­try lead­ing up­time so they can build in­cred­i­ble prod­ucts. We want more and more ex­cit­ing com­pa­nies build­ing on PlanetScale.

Our ini­tial goal was to con­vince our­selves we could be ad­di­tive to the ecosys­tem and pro­vide some­thing of value. We spoke to over 50 cus­tomers of the cur­rent Postgres host­ing plat­forms and we heard iden­ti­cal sto­ries of reg­u­lar out­ages, poor per­for­mance, and high cost. PlanetScale is an en­gi­neer­ing com­pany. We are not go­ing to en­ter a mar­ket with any­thing but ex­cep­tional en­gi­neer­ing.

We had to val­i­date we could out-per­form the cur­rent so­lu­tions while be­ing more re­li­able. This led us to build­ing a com­pre­hen­sive bench­mark method­ol­ogy. After ex­ten­sive test­ing we are proud to share that we con­sis­tently out­per­form every Postgres prod­uct on the mar­ket, even when giv­ing the com­pe­ti­tion 2x the re­sources:

PlanetScale for Postgres uses real Postgres run­ning on our pro­pri­etary op­er­a­tor mean­ing we can bring the ma­tu­rity of PlanetScale and the per­for­mance of Metal to an even wider au­di­ence. Today’s re­lease al­ready achieves true high avail­abil­ity with au­to­matic failovers, query buffer­ing, and con­nec­tion pool­ing via our pro­pri­etary proxy layer PSBouncer. We run Postgres v17 and sup­port on­line im­ports from any ver­sion > Postgres v13, as well as au­to­matic Postgres ver­sion up­dates with­out down­time. Additionally, PlanetScale Metal’s lo­cally-at­tached NVMe SSD dri­ves fun­da­men­tally change the per­for­mance/​cost ra­tio for host­ing re­la­tional data­bases in the cloud. We’re ex­cited to bring this per­for­mance to Postgres.

Vitess is one of PlanetScale’s great­est strengths and has be­come syn­ony­mous with data­base scal­ing. Contemporary Vitess is the prod­uct of PlanetScale’s ex­pe­ri­ence run­ning at ex­treme scale. We have made ex­plicit shard­ing ac­ces­si­ble to hun­dreds of thou­sands of users and it is time to bring this power to Postgres. We will not how­ever be us­ing Vitess to do this.

Vitess’ achieve­ments are en­abled by lever­ag­ing MySQL’s strengths and en­gi­neer­ing around its weak­nesses. To achieve Vitess’ power for Postgres we are ar­chi­tect­ing from first prin­ci­ples. We are well un­der way with build­ing this new sys­tem and will be re­leas­ing more in­for­ma­tion and early ac­cess as we progress. As with all PlanetScale prod­ucts we work with cus­tomers at scale to build and val­i­date ma­tu­rity. If your com­pany runs Postgres at a sig­nif­i­cant scale and this is some­thing that in­ter­ests you, reach out.

We are in­cred­i­bly ex­cited to be a part of the vi­brant and thriv­ing Postgres com­mu­nity. Sign up for the pri­vate pre­view of PlanetScale for Postgres wait­list here.

...

Read the original on planetscale.com »

To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".

10HN is also available as an iOS App

If you visit 10HN only rarely, check out the the best articles from the past week.

If you like 10HN please leave feedback and share

Visit pancik.com for more.