10 interesting stories served every morning and every evening.
Seven countries now generate nearly all of their electricity from renewable energy sources, according to newly compiled figures.
Albania, Bhutan, Nepal, Paraguay, Iceland, Ethiopia and the Democratic Republic of Congo produced more than 99.7 per cent of the electricity they consumed using geothermal, hydro, solar or wind power.
Data from the International Energy Agency (IEA) and International Renewable Energy Agency (IRENA) also revealed that a further 40 countries generated at least 50 per cent of the electricity they consumed from renewable energy technologies in 2021 and 2022 — including 11 European countries.
“We don’t need miracle technologies,” said Stanford University Professor Mark Jacobson, who published the data.
“We need to stop emissions by electrifying everything and providing the electricity with Wind, Water and Solar (WWS), which includes onshore wind, solar photovoltaics, concentrated solar power, geothermal electricity, small hydroelectricity, and large hydroelectricity.”
Professor Jacobson also noted that other countries like Germany were also capable of running off 100 per cent renewable-generated electricity for short periods of time.
Figures released by the IEA in January show that the UK generated 41.5 per cent of its electricity from renewable sources in 2022 — up 10.5 per cent from the year before.
In Scotland, renewable energy technologies generated the equivalent of 113 per cent of the country’s overall electricity consumption in 2022.
“These record-breaking figures are a major milestone on Scotland’s journey to net-zero, clearly demonstrating the enormous potential of our world-class renewable energy resources,” Claire Mack, chief executive of Scottish Renewables, said at the time.
While Scotland’s electricity generation was dominated by wind power, researchers predict that solar will come to dominate global electricity supplies over the coming decades.
There has been significant progress in recent years with improving efficiency rates for solar cells, primarily boosted by the so-called ‘miracle material’ perovskite.
Commercial costs have also fallen, which led scientists at the University of Exeter and University College London to claim last year that solar energy has reached an “irreversible tipping point” that will see it become the world’s main source of energy by 2050.
Their 2023 paper, published in the journal Nature Communications, found that technological and economic advances meant the transition to clean energy is not just reachable, but inevitable.
“Due to technological trajectories set in motion by past policy, a global irreversible solar tipping point may have passed where solar energy gradually comes to dominate global electricity markets, without any further climate policies,” the researchers wrote in the study.
“Solar energy is the most widely available energy resource on Earth, and its economic attractiveness is improving fast in a cycle of increasing investments.”
...
Read the original on www.independent.co.uk »
...
Read the original on arxiv.org »
In 2020, I started making my own soft drinks, including a sugar-free, caffeine-free cola! If you’re just looking for the current recipes, you can find them on GitHub. They were inspired by recipes like Open Cola and Cube Cola.
Otherwise, read on for “log book”-style instructions and pictures of my first attempts, which have been adapted from this Mastodon thread.
We start by making a flavor emulsion from essential oils! These oils are extremely strong, and can cause skin irritations, so if you want to be safe, wear latex gloves for this step!
We also need super small quantities. In this attempt, I’m aiming for:
There! In total, we have about 2 ml of essential oil. This will lend flavor to about 9 L of cola!
But oils don’t dissolve in water, right? They would just float on the surface!
So what we’ll add next is gum arabic, a natural emulsifier, that will help the oil form tiny, tiny droplets that stay dispersed in water!
Combine 2 g of gum arabic, 4 ml water, and our oil mixture with a hand mixer. Keep mixing until it emulsifies, it will take on a milky brown color and the oily phase will disappear. This took me about 5 minutes.
Next, we add: 40 ml of caramel color, which will give the cola its dark appearance.
As well as 5 g citric acid, and an additional 10 ml of water. You can also add caffeine at this point, but one of the main motivations for me to make my own cola is to have cola without caffeine (it gives me headaches).
Stop mixing when it starts smiling at you! :D This is our finished cola concentrate. It smells delicious!
Other recipes would now integrate this into sugar syrup made from 1 kg of sugar, but I want to try a variation using artificial sweeteners, for dieting reasons. This is a combination of sodium cyclamate and saccharin, which is pretty common in Germany. I’ll use 70 ml.
This gives us about 120 ml of the finished cola syrup! \o/ I’ve been following the Cube-Cola recipe.
Because this is still a very concentrated solution and hard to handle, I’m diluting it down to 1 L. In theory, this should give a nice cola when diluted further in a ratio of 1:8. First taste test coming up!
It’s good! It’s really good! The sweetness is just right for me, and the oil blend tastes nice and cola-y! :)
I like my drinks really sour, so I might add another… 10 g of citric acid to this batch. There is a slightly bitter aftertaste, which I attribute to the artificial sweetener I’m using.
I might also tweak the oil ratios to accentuate the citrus flavors a bit more in the next batch. And I thought this would be too much food coloring, but it seems pretty perfect!
What I’d be really excited to try is making other flavors: Orange soda! Cherry soda! Almond & apricot soda!
Open Soda (Note: site is no longer online as of 2026…) has two pretty weird ones (including a bubble gum soda?!), but that’s pretty much all I found. There still seems to be potential for reverse engineering! :)
And here are two more resources I found while preparing my ingredients today: Jan Krüger’s blog post about tweaking cola recipes and Richard Grove’s Notes on Making Cola, which go deeper into food chemistry!
Made a second batch of cola syrup without caramel color. It’s much weirder to drink than I expected.
I also switched to sucralose as a sweetener, hoping that it would have less aftertaste. Instead of 1000 g sugar in the original recipe, I used 1.6 g sucralose, which is ridiculous, but it’s still too sweet for my taste. :O
And I made a tool upgrade! It’s important to get these small quantities right…
This week’s batch: blood orange + almond + lime (in a 2:1:1 ratio), plus as much orange food coloring as I dared to put in! :D
I cut the amount of sucralose in half — still a bit too sweet for my taste. Had to completely guess the oil ratios, but I’m happy with how it turned out! My whole apartment smells like marzipan now.
This time, when I did the mixing in a big plastic bowl, I noticed some floating stuff on the concentrate, which I assume are tiny plastic shavings produced by the hand mixer? I filtered them out, and might switch to glass or metal containers.
In today’s cola batch, I reduced the amount of sucralose further to 0.4 g, added 0.07 g vanillin, as well as a bit more cassia oil. Good stuff! I call it “Syntez-Cola”, because I combined ideas from Cube-Cola and Jan Krüger’s recipe! :)
… this is the point where I should start a blog post, and a Git repo with version numbers and a changelog, I guess. :P (Edit 2026: Here you go!)
I found decaf Coca-Cola in a supermarket last week, and could do a direct taste comparison. At this point, I prefer my cola by a large margin! Coca-Cola tasted bland, like molten cola popsicles. It had an interesting dryness to it, though, which I’m not sure how to replicate.
Made a simple orange soda today, really happy with how it turned out! I put the recipe here, along with my modified cola recipe, and the almond + blood orange drink I invented!
blinry almond 0.1.1 contains less almond oil, to highlights the citrus flavors a bit more. Find the updated recipe here.
One of these two bottles is a version with sugar instead of sucralose. 400 g of sugar seem to be a good replacement for 0.6 g sucralose. Curious to see whether people will be able to taste the difference! :) (Edit 2026: They totally could!)
blinry orange 0.1.1, now with 14% more orange! :D Recipe here.
Since these early experiments, I made a handful batches of these recipes without modification. I still think they’re really nice! Especially blinry orange is rather unique.
If you try them for yourself, I’d be happy about feedback!
And I’m still thinking what ingredients might go into a DIY Mountain Dew, or a DIY Fassbrause…
You can add your comment to this post in the Fediverse! Alternatively, drop me a mail at mil@blinry.org.
...
Read the original on blinry.org »
This is a heavily interactive web application, and JavaScript is required. Simple HTML interfaces are possible, but that is not what this is.
Learn more about Bluesky at bsky.social and atproto.com. A statement regarding the removal of DDLC from the Google Play Store:
...
Read the original on bsky.app »
In his classic
Programming Perl — affectionately known to a generation of technologists as “the Camel Book” — Larry Wall famously wrote of the three virtues of a programmer as laziness, impatience, and hubris:
If we’re going to talk about good software design, we have to talk about Laziness, Impatience, and Hubris, the basis of good software design. We’ve all fallen into the trap of using cut-and-paste when we should have defined a higher-level abstraction, if only just a loop or subroutine. To be sure, some folks have gone to the opposite extreme of defining ever-growing mounds of higher level abstractions when they should have used cut-and-paste. Generally, though, most of us need to think about using more abstraction rather than less.
Of these virtues, I have always found laziness to be the most profound: packed within its tongue-in-cheek self-deprecation is a commentary on not just the need for abstraction, but the aesthetics of it. Laziness drives us to make the system as simple as possible (but no simpler!) — to develop the powerful abstractions that then allow us to do much more, much more easily.
Of course, the implicit wink here is that it takes a lot of work to be lazy: when programmers are engaged in the seeming laziness of
hammock-driven development, we are in fact turning the problem over and over in our heads. We undertake the hard intellectual work of developing these abstractions in part because we are optimizing the hypothetical time of our future selves, even if at the expense of our current one. When we get this calculus right, it is glorious, as the abstraction serves not just ourselves, but all who come after us. That is, our laziness serves to make software easier to write, and systems easier to compose — to allow more people to write more of it.
Ideally, you would want those that benefit from abstractions to pay the virtue of laziness forward — to use their new-found power to themselves labor on the abstractions they make. But a consequence of the broadening of software creation over the past two decades is it includes more and more people who are unlikely to call themselves programmers — and for whom the virtue of laziness would lose its intended meaning.
Worse, the extraordinary productivity allowed by modern abstractions has given rise to an emphasis on a kind of false industriousness. Pejoratively, this was the
rise of the brogrammer, with the virtue of ironic laziness and hammock-driven development displaced by
hustle porn about crushing code.
Onto this dry tinder has struck the lightning bolt of LLMs. Whatever one’s disposition is to software creation, LLMs allow that to be applied with (much) greater force, so it should be of little surprise that LLMs have served as anabolic steroids for the brogrammer set.
Elated with their new-found bulk, they can’t seem to shut up about it. Take, for example, brogrammer-of-note
Garry Tan, who has been particularly insufferable about his LLM use, bragging about his rate of thirty-seven thousand
lines of code per day (and “still speeding up”):
If laziness is a virtue of a programmer, thinking about software this way is clearly a vice. And like assessing literature by the pound, its fallacy is clear even to novice programmers.
As for the artifact that Tan was building with such frenetic energy, I was broadly ignoring it. Polish software engineer Gregorein, however,
took it apart, and the results are at once predictable, hilarious and instructive: A single load of Tan’s “newsletter-blog-thingy” included multiple test harnesses (!), the Hello World Rails app (?!), a stowaway text editor, and then eight different variants of the same logo — one of which with zero bytes.
The problem here isn’t these issues per se (which are all fixable!), and it isn’t even the belief that the methodology that created them represents the future of software engineering (though that is certainly annoying!).
The problem is that LLMs inherently lack the virtue of laziness. Work costs nothing to an LLM. LLMs do not feel a need to optimize for their own (or anyone’s) future time, and will happily dump more and more onto a layercake of garbage. Left unchecked, LLMs will make systems larger, not better — appealing to perverse vanity metrics, perhaps, but at the cost of everything that matters. As such, LLMs highlight how essential our human laziness is: our finite time forces us to develop crisp abstractions in part because we don’t want to waste our (human!) time on the consequences of clunky ones. The best engineering is always borne of constraints, and the constraint of our time places limits on the cognitive load of the system that we’re willing to accept. This is what drives us to make the system simpler, despite its essential complexity. As I expanded on in my talk
The Complexity of Simplicity, this is a significant undertaking — and we cannot expect LLMs that do not operate under constraints of time or load to undertake it of their own volition.
This is not to say, of course, that LLMs won’t play an important role in our future: they are an extraordinary tool for software engineering, but — as outlined in our
guidelines for LLM use at Oxide — they are but a tool. We can put them to use tackling the non-ironic (and non-virtuous!) aspects of programmer laziness — helping us take on thorny problems like technical debt — or
use them to promote our engineering rigor, but it must be in service of our own virtuous laziness: to yield a simpler, more powerful system that serves not just ourselves, but the generations of software engineers to come after us.
...
Read the original on bcantrill.dtrace.org »
The macOS Dock is built around apps, not windows. Multiple displays and desktops make it hard to track what’s open where. boringBar keeps windows organized by desktop, with instant previews, one-click desktop switching, and pinned apps within reach.
boringBar also gives you a searchable app launcher, scroll-to-switch desktops, full window titles on chips, and a cleaner workspace when you hide the Dock. As a bonus, it makes macOS feel more familiar if you’ve just switched from Windows or Linux.
Shows only the windows on the active desktop for that display, so you stay focused on what is in front of you.
Jump to any desktop on the current display with one click, and see how many windows are open on each one.
Search and launch apps from a single list, then open it instantly with a configurable global shortcut.
Hover a chip to preview windows before switching, so you can pick the right one faster.
Unread badges from macOS appear directly on chips, so important updates stay visible.
When an app needs your attention, its chip gives a subtle pulse so you notice it right away.
Scroll up or down on the bar to move between desktops. Direction is configurable.
Choose small, medium, or large. Pick the size that suits you best.
Collapses multiple windows into one chip, with a count badge.
Hide app name text on chips while keeping icons and window count badges.
Show full window titles in chips, or just the app name for a cleaner look.
Keeps the Dock out of the way while you use boringBar, then brings it back when you turn the feature off.
Mirror bars across multiple monitors, including setups where the system setting “Displays have separate Spaces” is off.
Right-click the bar and choose Show Desktop, or click the ribbon at the far right edge to reveal the desktop.
Right click on any app in the bar to pin them to the bar itself or to the top of the application menu.
boringBar requires two macOS permissions. Accessibility is used to observe and interact with windows, desktops, and apps on your behalf. Screen Recording is used solely to fetch window thumbnail previews and is not used for anything else. You can verify this yourself: the purple dot in Control Center only appears when thumbnails are being fetched, and you will not see it from boringBar at any other time.
Yes. You can download and try boringBar free for 14 days with all features unlocked. A license is required to continue using it after the trial.
Personal licenses come in two flavors:
Perpetual — a one-time $40 purchase covering 2 devices, with 2 years of support and updates included. The software keeps working after that; you just won’t receive further updates.
Yearly — a subscription starting at $7.99/year for 1 device, with additional devices at $2/year each, up to 5.
Business licenses are billed annually, start at 6 users, and use volume pricing, so the per-user cost drops as your team grows:
For example, a 6-user business license is $20.99/year, a 20-user license is $69.99/year, and a 50-user license is $144.99/year.
What is the difference between a personal and business license?
Both licenses give you access to the same features. A personal license is for individual use and comes in two flavors: a one-time perpetual purchase covering 2 devices, or a yearly subscription covering up to 5 devices. A business license is an annual subscription intended for use within a company or organization and includes volume pricing.
Can I use my license on multiple Macs?
Each license seat is linked to one device. A perpetual personal license includes 2 seats; a yearly personal license covers 1 to 5 devices. For yearly personal and business licenses, make sure to purchase the appropriate number of seats upfront, as seats cannot be added to an existing license. If you need more later, you can purchase a separate license. Multiple users on the same machine share a single seat.
Personal license holders receive an activation key by email after purchase. Business license holders need to add each team member from the Business License Management page first. In the boringBar app, that team member then enters their email address and receives a one-time code to confirm and activate their license.
boringBar can hide the Dock for you while it is running, but it will still be visible in Mission Control. When you turn the feature off or quit the app, the Dock comes right back.
Enter the email address associated with your business license to sign in.
We sent a 6-digit code to
Enter the email address associated with your personal license.
...
Read the original on boringbar.app »
This website requires javascript to properly function. Consider activating javascript to get access to all site functionality.
...
Read the original on www.lesswrong.com »
Oooooh boy. Let’s get this out of the way first. Email sucks.
Now to the how and the why. We’re builders. We love making tools to help designers and developers live a little bit easier. We’re pretty good at it. Marketing, though? We do our best, but the truth is, we don’t like to bother people.
Like a lot of small software companies, we use SendGrid to deliver our emails. We try our best to follow email best practices. We even have a 99% reputation score in SendGrid. Gold star. A+ student.
Gmail, however, did not get the memo.
Right before we hit send on our announcement emails for our new Build Awesome Kickstarter campaign, we took a deeper look at some of our recent email sends. Things had gone quiet. Not bouncing. Not throwing errors. Just… disappearing into Gmail’s spam folder like a ’possum slipping into a vent.
In our recent crash course, here’s what we’ve learned about Gmail deliverability: it runs its own reputation system that has absolutely nothing to do with anyone else’s opinion of you. If you don’t do certain things “correctly” (meaning Gmail’s own definition), you get marked as spam.
Now, there are definitely folks who will choose to mark some of what we send as spam. And for them, rightly so. We get that. But this is not that. We’ve entered a black hole for Gmail deliverability. And since 90% (literally) of our email list goes to Gmail addresses… the results aren’t pretty. It looks like this has been happening to us for a while. We’re a small company of just over 20 people, and can’t watch everything all the time. We’d rather be making you new icons. So some of you may have missed things we were genuinely excited to share. That’s a big bummer.
But here’s the part that really gets us. At our CORE, our instinct is to only email folks when we actually have something fun to share. A big release, something we’re excited about, news worth your time. That’d probably be every couple of months, if that. Respectful. Low noise. How we want to be treated. Like, genuinely, if we could, we would only very occasionally send a big email blast to our customers.
Turns out, the email gods hate that. To keep a sending IP “warm” and maintain deliverability, you’re expected to send constantly. Like… all the time. Which means the system actively punishes companies for respecting their customers’ inboxes. It’s a genuine catch-22: send too many emails and your reputation drops from complaints. Send too few and it drops from inactivity. Try to do the right thing and you get penalized either way. And. It. Is. Frustrating.
We’re working to fix our issues by culling old addresses, slowing our sends down, and making sure all of our i’s are dotted and t’s are crossed. It’s not a fast fix.
So if you haven’t heard from us recently… or if you’ve heard TOO MUCH from us recently, that’s why. We’re working on it. And we’ve got a lot of good stuff to catch you up on. In the meantime, please help spread the word about Build Awesome. It’s a genuinely cool product, and we hope you’ll like it. At the very least, watch the video.
See the Build Awesome Kickstarter
P. S. If you suspect you might’ve missed some emails from us, mind doing a quick favor? In your email client, search for from:hello@m.fontawesome.com in:spam and click the little “Report Not Spam” button. You’re awesome.
...
Read the original on blogfontawesome.wpcomstaging.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.