Here's a one-liner to download the MNIST dataset as PNG images, white over black.
python -c "from tensorflow.keras.datasets import mnist; import os, matplotlib.pyplot as plt; (x_train, y_train), _ = mnist.load_data(); os.makedirs('mnist_images', exist_ok=True); [plt.imsave(f'mnist_images/{i}_{y}.png', img, cmap='gray') for i, (img, y) in enumerate(zip(x_train, y_train))]"
Run this in the command-line interface with a Python environment with the tensorflow
and matplotlib
packages.
I have two Synology DS923+ NAS devices, one running at home and the other remotely. I backup specific folders of each NAS to its remote location with Hyper Backup and Tailscale, running DSM 7.2.21. Tailscale puts both machines in the same network, removing the need to expose my networks publicly and letting Hyper Backup find the remote machine by its Tailscale IP address. This workflow works great, but yesterday I noticed Hyper Backup couldn't find the remote machine, marking it as Off-line.
Before you test my solution below, try restarting both machines from the DSM interface.
If that doesn't work, here's how I fixed the issue and restored my backups.
I uninstalled and reinstalled Tailscale on both Synology DSMs and restarting the machines. Note that this changes the Tailscale IP address of the machine and requires reauthentication, which isn't straightforward for a remote machine because you'll lose the ability to connect via SSH (the machine isn't in the Tailscale network anymore). I had to run scheduled tasks with logging on to (a) enable Tailscale, (b) update it, (c) start it, and then (d) see the authentication URL for me to log into the browser.
These are the commands I triggered manually, and the first two are scheduled to run on boot and daily, respectively.
# Start Tailscale's service.
# Scheduled to run on boot.
/var/packages/Tailscale/target/bin/tailscale configure-host; synosystemctl restart pkgctl-Tailscale.service
# Update to Tailscale's latest version for Linux.
# Scheduled to run daily.
tailscale update --yes
# Start Tailscale, which requires authenticating via browser.
tailscale up
The last command will output a URL to your task's logs (so you need to set up a logging file first) which you need to open in your browser to authenticate the machine to your Tailscale network.
Voila, you can now go to your Tailscale admin page to see your machines' new IP addresses and set that as your Hyper Backup task's target.
One machine did not find the other because they pinged the other machine's Tailscale IP before the NAS was on the network, which mapped the IP to a non-existing source. Restarting, it seems, flushes the DNS cache, letting the machine resolve the other machine's address correctly.
If this helped you in any way, I'd love to know. You can message me here.
I'm running the version DSM 7.2.2-72806 Update 3. ↩
Tim Urban wrote an essay on Life Weeks in his Wait But Why blog in 2014. Recently, Gina Trapani—a software developer known primarily for her time as a Lifehacker writer—created her own Life Weeks page, which made it to the top of Hacker News. Within weeks (maybe days), somebody created lifeweeks.app, where anyone can make their own life weeks page, which also made it to the top of Hacker News as a ShowHN post.
Here's what the lifeweeks.app's Life Weeks sample by its creator, Cory Zue, reads.
This project was inspired by Wait but Why, and heavily influenced by Gina Trapani's adaptation.
You can make your own Life in Weeks by going here.
The internet is crazy, and it moves fast.
Last week, I wrote that the only thing you could do if you didn't have time to do everything you wanted was to "want to do less." But that was a somewhat reductionist point of view, likely in response to an unusually hectic week on my end.
You can prioritize and plan for what matters. You might be able to say no to things that steal your time and that you'd rather not do. You can focus on not wasting time and ensure what you care about happens.
"One of the biggest changes that you could make to get more of what you want is to set higher expectations, even if you don't achieve them," say Margaret A. Neale and Thomas Z. Lys on Getting (More Of) What You Want (2015). "Setting higher expectations will change your behavior, and can lead to better performance."
Aiming for less makes room for quality time with the rest, but we risk doing nothing if we aim too low. On the contrary, aiming higher works.
No time to do everything you want?
That will always happen.
And the only thing you can do is want to do less.
According to the 2024 AI Index Report1, hundreds of machine learning papers were published in 2022 every day. That's a lot of content to keep up with. At most, if you were one of those people who read papers, you could skim through a subset of the papers published every day and pick a few to review more deeply. Being selective is key.
In an era of information overload, it can be challenging to stay up-to-date and decide what to pay attention to.
FOMO invites us to pay attention to the hype, but that's a trap to constantly stay in shallow waters, never diving deep into any areas.
There's always someone, somewhere, willing to put time and effort into exploring the adjacent possible in a specific field or topic.
That could be you.
Pick a topic.
Stick with it.
Don't look elsewhere.
Check the Artificial Intelligence Index Report 2024. The yearly number is seventy-two thousand machine learning papers, not even including related topics like pattern recognition or computer vision. ↩
Recently, Bitbucket announced changes to Bitbucket Cloud's free plan "that will go into effect on April 28, 2025."
Repository storage limit: free workspaces will now have a total storage limit of 1 GB.
Snippets and downloads: these features will no longer be available for free workspaces.
Pipelines logs: the retention period for Pipelines logs will be reduced to 90 days.
These changes only affect users on a Free plan.
If you do not reduce the size of your workspace or upgrade your plan, your workspace and its content will be put in read‑only mode on April 28, 2025. You will have to make sure your workspace is within the new storage limit if you want to remain on your Free plan.
I've archived unused repositories on my Synology NAS. It had been years since I accessed some of these projects, and some are old versions of active projects that I'm unlikely ever to use.
When I first bought Elgato Prompter, one of my main uses would be presenting online, sharing my main screen while looking at my Presenter notes on Elgato Prompter. This workflow stopped working after a Keynote update some time ago.
Just today, I found an unchecked box in Keynote's settings, Show presenter display window in other applications.
I went ahead and checked that box, and, voila, the Presenter Display is visible again in Elgato Prompter.
You'll see a detailed description if you hover over that checkbox's text.
Select to allow the presenter display window to be viewed in other applications when you share your screen.
What happens is that Elgato's teleprompter isn't like other monitors connected to your computer. It receives a "shared screen" from your Mac via DisplayLink Manager.
I hope this helps!
We tend to idealize how our lives will be after a change or acquisition, but we’re back to the present whenever those novelties arrive.
Our mind tries to fool us, but the moment is not a time in the future. It's happening now.
Being in “the moment” means being present right now, paying attention to what you are doing and what's happening to you—your emotions, your experience, your feelings.
Experience this moment as if you could never return to it—because you can't!
It’s hard to be present all the time, but it’s worth trying.
The point of planning is to ensure that, in the future, you can be present.
Before parting ways at the boarding gate of Tenerife North Airport, José Luis and I recorded our first impressions after a week of freediving classes using two microphones and a recorder—what we learned, what we loved, and what we thought we knew but didn't.
If you listen to our conversation, you'll understand what it feels like to dive deep underwater, relying solely on your breath, and the most common reasons people lose their lives practicing this sport. However, you won't truly know what it feels like unless you've done it yourself.
The only way to understand how something feels is to experience it. The best way to remember what you felt is to capture your emotions as they happen or shortly after.
That's why non-fiction writers do immersions and dive into the activities and niches they want to write about: Writing about things you have never experienced is hard. (It helps to have jumped from a plane to write about parachuting.)
Still, nobody truly knows what you're going through, and they won't be able to relate to it unless they've been through the same thing. They can't feel your happiness or sadness, your satisfaction or frustration, your pain or pleasure. They aren't you, and you aren't them.
We may never know what certain people are going through.
Immersion makes the difference.
I've been waiting for BenQ's new monitors since they announced them at Adobe Max 2024.
People on Reddit wondered why BenQ had announced these monitors without talking about their release date or price.
I subscribed to receive news about the launch of these monitors. Today, I got an email announcing the price point and release date.
The PD2730S is BenQ’s first ever 5K monitor, featuring 98% P3 color coverage, Thunderbolt 4 connectivity, and Mac compatibility, providing Retina-like clarity and precision in your creative work.
I have been considering buying BenQ's PD2725U 4K display for some time. But the PD2730S has me waiting because it features a 27-inch 5K display, covers 98% of P3 color space with 10-bit color simulation (using a technology known as 8-bit + Frame Rate Control, or FRC), two Thunderbolt 4 ports, two USB-C, and three USB-A, which renders an extra hub unnecessary. It's a great monitor for color grading with DaVinci Resolve, for instance.
The PD3226G is a 32-inch 4K 144Hz display with 95% P3 color space.
Both BenQ monitors are available for pre-order in the US today and will be released on March 1, 2025. The PD2730S will cost $1199.99 and the PD3226G $1099.99.
According to Pareto's Principle (the 80/20 rule), eighty percent of the results will come from twenty percent of the effort.
Moving to my new studio took much longer than I initially thought, and I'm past that initial eighty percent. The never-ending task remains of giving a home to rarely used items I should get rid of and finishing small details.
Optimization can lead to frustration when you don't know when to stop.
The same principle applies to other contexts, such as organizing your digital life, processing your inbox, sorting files, or cleaning your Desktop.
The key is to identify when the returns start to diminish and move on to something else—the remaining work could take four times as much time and effort as you've already accomplished.
We all have different circumstances, and it's hard to generalize what prevents us from being creative and making.
Here are six things to watch out for to keep creative friction away.
Lack of time. We have so much on our plates that we don't get enough time to work with focus. Reserve time slots to ensure you dedicate time to specific activities.
Lack of energy. We tend to be more rational in the morning and more creative in the evening, but you better allocate time to do the things that need to get done in the morning as you may be exhausted by the end of the day.
Lack of clarity. Define what you want to spend your time on in advance. You'll waste less time and gain in efficiency.
Lack of tools and materials. Investing in the right equipment and supplies can make your work easier, faster, and more enjoyable.
Friction to engage in your craft. The less effort you exert to enter creator mode, the more prone you are to engage in your craft.
Distractions. Likely the worst enemy of any creator, distractions take different shapes and can be hard to recognize but are everywhere.
What pushes you away from making?
Today, I want to share a recent comment on one of my posts1 from Frank Harmon.
Sketching is a meditative practice. Sketching allows us to focus on what is in front of us, clearing away all the busyness of our mind.
Perhaps that temporary escape from reality is what draws us to sketching.
Frank replied to my Newsletterversary V publication. ↩
As I mentioned last week, I published 53 stories and sketches in 2024.
Here are the ones with the most views (in descending order).
No such thing as easy steps, Stick to it, Bits of advice from Kevin Kelly, and More and less are among my favorites.
What stories did you enjoy the most?
Hi, Friends.
Here is my last publication of the year.1
In 2023, I slowed down my YouTube channel, podcast, and blog due to a job change, a wedding, and a house renovation.
In 2024, I took a break from sharing videos and podcasts to enjoy the arrival and early months of Manuel's life, our first son (!).
I plan to return to podcasting and streaming in 2025.
Here are some highlights from 2024.
The end of the year is a great temporal landmark to reflect on what we did over the past year and rethink our practice. Yet, it’s best to conduct similar reviews throughout the year instead of waiting for New Year’s resolutions.2
If you're thinking of starting a blog or a personal journal, I invite you to read One Word per Day. I agree with Seth Godin that "everyone should have a blog and write daily, in public." It's a great and free way to establish your tone before anyone cares about your writing.
If there’s anything you’ve learned or enjoyed from my content, I’d love for you to send me a note.
I look forward to sharing more with you in 2024.
Thanks so much for being there!
Goodbye, 2024.
Happy New Year!
Today, with delay, I'm celebrating my publication's fifth anniversary, which took place July 2, 2024, and got me to 262 weekly sketches and mini-essays published over five years.1
Frank Harmon’s Native Places blog is one of my greatest inspirations for this project. The formula is simple: pair a sketch with a mini-essay, share it online, and repeat.
I send this newsletter once a week, but I sketch and write every single day.
I’m figuring it out. But I enjoy every bit of it and will continue writing, drawing, and publishing for years. (I encourage you to discover the power of writing: start with one word per day.)
I'd love to hear your thoughts, feedback, comments, and suggestions and invite you to write a comment, reply, send me a voice note, or send me a private message.
Thank you, as always, for pushing me to keep going.
Happy newsletterversary.
262 weeks and 1826 days between July 2, 2024, and my first sketch and mini-essay on July 2, 2019. ↩
When I decided to set up local storage drives at home with a Synology NAS1 (for network-attached storage), I realized Dropbox finally released a feature I've been waiting for for years: adding storage space to your plan.
My Dropbox Essentials plan allows me to increase my storage quota by multiples of 1TB at $63.62/year each.2 If you are on a yearly plan, you get charged for the extra space for the remainder of the billing period, and, supposedly, they don't guarantee you'll get refunded if you decrease the quota—but I think they would if you downgrade.3 The gist is that you can increase your quota whenever you run out of space. My 3TB plan was capped at 4TB by adding one extra terabyte, and that was it. And it took Dropbox years to enable this feature to get more space in their paid plans. (I'm unsure whether this add-on is available in the Family plan.)
I don't know what took them so long, as I think many people will add terabytes to their accounts and will pay them more.
It is convenient, but late for me. I'm running in the opposite direction, trying to rely less on the cloud to store my data.
I got the Synology DS923+, a NAS with four bays that can be extended up to nine bays with two 12TB Seagate Ironwolf drives for redundancy. Kudos to Rafa Roa for the recommendation. ↩
Storage Space (quantity 1). $59.88 / year. Adds 1 TB of storage space. Purchasable up to 1,000 TB. Read more on Dropbox's help page. ↩
The fine print reads, "If you cancel, previous charges won't be refunded unless it's legally required." ↩
In the past months, I stopped podcasting, streaming, and coding for great personal reasons, which I will share with you in the future.
While it's crucial to stick to the things you feel you should continue doing, it should be okay to give up, take a break, or slow down when it doesn't make sense to continue doing them anymore or when it's impossible to keep up.
The alternative to periodicity—creating at a constant pace—is what I'll call seasonal creativity, which implies focusing on a specific endeavor for a given period, shipping it, and going dark until the following season.
Over the past few years, I have aimed to send a weekly newsletter, stream at least once a week, and release a monthly podcast episode. I continued sending the newsletter but paused the stream and podcast. Adding video to the podcast made editing and releasing episodes slower, and my reduced time availability made it harder to live stream on YouTube. Instead of producing throughout the year, it might make sense to release content in seasons.
Regardless of your creative pace, you should feel entitled to let your craft aside when life demands it and return to it when you are ready.
Read your writing.
Watch your recordings.
Look at your photos.
With enough time, you'll experience what you made through the spectator's lens.
It’s easy to relax and let things slide once you've been skipping something for a while.
The new normal becomes not doing it.
That’s why you should be careful about letting go of certain good habits you want to cultivate.
Periodicity is everything.
Black Friday prompts us to buy more.
Temporary discounts instill a fear of missing out on deals.
Fast, free shipping and easy returns make online shopping convenient.
Amazon's clever nudge has been to extend the return period for end-of-year purchases until February 6, exactly one month after Three Kings' Day, the Spanish equivalent of December 25th's Santa Claus.
If anything, Black Friday is harvest time for those who wait and save.
Earlier this year, Antonio Banderas and Domingo Sánchez founded Sorhlin Andalucía in Málaga, a cultural space where the Freepik-hosted Upscale conference is taking place this week.
I was surprised to see such a big and well-organized event happening here, in Málaga, my hometown, and I hope this serves as a precedent for other events to be hosted here.
Speaker talks followed Linus Ekenstam's opening.
The overall sentiment is that current AI offerings allow creatives to create faster, better, cheaper, and easier, and we should find responsible ways to use AI.
Martin LeBlanc (Freepik) believes creating with AI still requires creativity, but creating is easier than before.
"The industry is [currently] focused on faster and cheaper output, not breakthroughs," says Hugo Barbera (HumAIn). "We are settling for replication more than transformation."
Some startups that presented productize AI to automate specific workflows, such as portfolio creation (Journo) or face anonymization (Piktid).
Nick Coronges, R/GA's CTO, feels that AI isn't disruptive (yet), and we're creating the same stuff as before, just faster and cheaper. Coronges works with well-known brands, and I loved their Google Android rebrand, which surfaces some of AI's yet-to-come transformational uses. R/GA developed a set of polymorphic AI models capable of creating infinite Android design configurations with "fixed structural rules [and] open-ended outputs within those constraints." Nick believes 2025 will be the year of AI rebrands.
George Eid (Area 17 Founder) warns us about perpetuating bias, loneliness, laziness, and technology's limitations and misleading nature—privacy, security, equity, disinformation, and well-being are in danger.
Before the end of the morning session, Justin Hackney (EleveLabs) asks if, when a creation moves you, it matters whether the artifact was created with AI, which brought back Seth Godin's saying that what matters is impact, not effort.
A fundamental transformation is coming.
I've published a weekly drawing and mini-essay for the past 281 weeks since July 9, 2019—five years, four months, and ten days (or 1960 days).
My writing themes and tone evolve, yet the gist is that I continue to practice.
This writing series, together with my journal, is where I think and develop ideas; what's yours?
Over the years, I've drawn in sketchbooks of many makes and sizes. In concept, I love the consistency of sticking to a single paper type and size. Yet exploring different brands and sketchbooks is required to find which paper and format you enjoy best.
Each sketchbook suits a different type of drawing and moment, some for travel, some for home, some for watercolor, etc., which means I have multiple unfinished sketchbooks.
To avoid checking each of my sketchbooks individually to know which is which, I recently sorted and tagged them with rounded color stickers that signal their status: red for completed, green for ongoing, and yellow for empty.
On top of the color sticker, I name sketchbooks serially, starting with the year I started, followed by the sketchbook number in that year, e.g., 2024.02
for the second sketchbook I started in 2024.
I have sketchbooks of various brands—Moleskine, Stillman & Birn, Hahnemuhle—and sizes—A3, A4, and A5—organized in a tiny shelf on wheels, which also houses my Canon imagePROGRAF PRO-300 printer.
Most of my sketchbook pages are scanned and stored on the cloud, and many of their drawings are edited and published, but many still need to be.
The point is to minimize the creative friction by seeing at a glance which sketchbooks I can draw in.
Major life changes shift your mindset and focus.
No matter how much you try, it's not something you can predict and accurately plan for.
It's like writing non-fiction; you can do all the research you want, but the best way to learn about it is to perform a real immersion.
To learn and figure out your opinion about things, to expose what you think about a given topic, to justify and explain your point of view, and to tell others why you think you are right.
I was thinking of relatives and friends to whom I may want to explain specific things—technical, factual, or conceptual—and how an online essay about it, a "one-pager," could be consumed individually by multiple people.
In the end, the point of any write-up is to spread an idea and have others reflect on it.
A web link becomes a shortcut to a brief explanation, as I did last week explaining how I date my sketches.1
There was a typo last week that I’ve already corrected. 10.01.18
may be interpreted as January 10, 2018, in Spain and October 1, 2018, in the US, whereas it represents January 18, 2010. The format is year.month.day
. ↩
When is 10/8/12
?
Is it October 8, 2021?
Is it August 10, 2012?
Or is it August 12, 2010?
I grew up in Spain and used to see and write down dates as day, month, and year—say, 15/10/24
for the fifteenth of October 2024.
In the US, the month goes first.
10/15/24
also represents October 15, 2024.
Digital systems put the year first, then format dates in human-readable forms adapted to regional patterns.
This means you'll see month/day/year
in the United States region or day/month/year
for Europe.1
For illustration, you can think of programming languages using the letters d
for day (15), m
for month, y
for year, and other letters for other datetime components.
These codes allow programs to display present, past, and future dates to humans.
I caption sketches by hand and prefix the name of digital scans with yymmdd
2—the year, month, and day when I draw them, which lets me browse drawings chronologically.
This often confuses people because dates appear flipped.3
10.01.18
may be interpreted as January 10, 2018, in Spain and October 1, 2018, in the US, whereas it represents January 18, 2010.
Next time you see one of my drawings, remember it's year, month, and day.
You can test this by changing your computer or phone's region. Nowadays, systems let you pick a calendar, date, and time format independently of the global setting of the machine, and you can use whatever you are more familiar with, regardless of the machine's region. ↩
Certain systems use dd
and mm
to display two-digit day and month explicitly. The limitation of this format is that by living at the turn of the century, files from the 1990s are sorted after files from the 2000s. That is, 920101
(Jan 1, 1992) will show up after 240101
(Jan 1, 2024). The only way to fix this would be to prepend the entire year—19900101
and 20240101
—but that makes too many digits. ↩
I wrote this essay to point people here and avoid confusion. That may be you! ↩
The issue is that, by default, Laravel came with DB_HOST as 127.0.0.1
but MySQL 9 will reject that host in favor of localhost
.
If everything else is configured correctly, simply set your DB_HOST
to localhost
, and you should be good to go.
macOS Sequoia introduces new features to help you be more productive and creative on Mac. With the latest Continuity feature, iPhone Mirroring, you can access your entire iPhone on Mac. It’s easy to tile windows to quickly create your ideal workspace, and you can even see what you’re about to share while presenting with Presenter Overlay. A big update to Safari features Distraction Control, Highlights, and a redesigned Reader, making it easy to get things done while you browse the web. macOS Sequoia also brings text effects and emoji Tapbacks to Messages, Math Notes to Calculator, the ability to plan a hike in Maps, and so much more.
iPhone Mirroring sounds extremely useful.
Hits the Upgrade Now button.