LocalSend has become my go-to app for sharing files between devices. If you’ve ever been frustrated by the limitations of AirDrop or struggled to move files between devices without using the cloud, then this app is a game-changer. It’s like AirDrop, but for everything under the sun.
LocalSend is an open source, cross-platform file-sharing app that lets you send files and text between devices on the same local network. No internet connection or third-party server required.
It works across all major platforms: Windows, macOS, Linux, Android, and iOS. I also find it to be more reliable than AirDrop, which can be extremely finicky. LocalSend just works. It’s fast, finds devices quickly, and transfers files without random drop-offs.
Another big plus: privacy. Since LocalSend operates over a local network, your files never leave your devices. There’s also no file size limit, making it perfect for transferring large files without needing a USB drive or cloud service.
I use LocalSend for everything from moving files between my laptop and phone to transferring books to my e-reader. If you’re looking for a fast, reliable, and private way to share files, LocalSend is worth checking out. It’s replaced AirDrop for me in many situations!
I feel like I want to start creating some posts related around how I, as a software engineer, personally use generative AI tools. I think they are a huge boon for increasing productivity, exploring new ideas, and even learning new things
Reading Reddit, Hacker News, and various other forums, there’s a lot of anxiety among software engineers about how AI is going to steal our jobs. It’s not without merit:
I feel like half of my social media feed is composed of AI grifters saying software developers are not going to make it. Combine that sentiment with some economic headwinds and it’s easy to feel like we’re all screwed. I think that’s bullshit. The best days of our industry lie ahead.
It’s highly unlikely that software developers are going away any time soon. The job is definitely going to change, but I think there are going to be even more opportunities for software developers to make a comfortable living making cool stuff.
I am inclined to agree. Hey, I will drink this Kool-Aid!
—
Well, let’s get to the real reason I’m making this post. I posted about my 2024 reading list and shared all the books I had read during the year. Try to compile that list and add links by hand would be a huge pain. There has to be an easier way. (Cue super hero music)
There is!
If you go to my GoodReads “read” list, it looks like this. And it keeps going. It’s a lot of data.
If we open up the browser console, we can see that it’s just a good old fashioned HTML table.
So, using an AI tool like ChatGPT or Claude, how do you get this data in a manageable way? One area that I’ve personally seen people struggle with is how to write a prompt in a way that helps them. You need to provide context. You say:
Describe the problem: “I want to output a list of books from an HTML table into a JSON object using a JavaScript function that I can paste into the browser console.”
Provide some example date: “Here is the table’s head with names for each column: [paste block of code]. Oh! Here is also an example row of data: [paste block of code]”
Provide an example of the output: “Can you create a JSON object in the following shape?”
Using Claude as an example, here is what that looks like and you can also see the generated output:
Moment of truth — does it work? Let’s paste it into the browser console and see the result:
Yes! Victory! One problem though. I did not read 60 books in 2024. Oh, no. We are pulling all books visible from the page. This isn’t a problem. We can fix it by simply asking a followup question: “Can we modify the function so that it only returns books where date read is in the year 2024?”
Claude modifies the function to add a filter for 2024. If we paste that into the browser console, we now get the correct number of hooks: 30!
There is still another thing to do. I want to make this into a nice, unordered list that I can just add into my blog post. Again, we follow the steps outlined above:
Can you create an unordered HTML list that shows links to each book? Please add a link around the title, but keep the author name unlinked.
Here is my JSON object: [paste block of code]
I essentially want a list that looks like this: <li><a href=”[booklink”>Book title</a> by Author</li>
Hot diggity! It works. It generates a block of code that I can just paste into my blog’s text editor. Pretty neat. It took a total of 5 minutes. (Hey, writing this post took a lot longer than that.)
Anyway, this has been a production of “How I use AI”. Stay tuned for more exciting updates, coming to a blog near you.
The Alignment Problem, (released in 2020 but still highly relevant today, especially in the age of generative AI hype), is a fascinating exploration of one of the most interesting issues in artificial intelligence: how to ensure AI systems safely align with human values and intentions. The book is based on four years of research and over 100 interviews with experts. Despite the technical depth, I feel that this book is written to be accessible to both newcomers and seasoned AI enthusiasts alike. A word of warning though: this book is has A LOT of info.
Before we get too deep into this review, let’s talk about safety and what it means in the context of AI. When we talk about AI safety, we’re referring to systems that can reliably achieve their goals without causing unintended harm. This includes:
The AI must be predictable, behaving as expected even in novel situations.
It must be fair, avoiding the amplification of existing societal biases.
It needs transparency, allowing users and developers to understand its decision-making process.
It must be resilient against failures and misuse.
Creating safe AI tools is both a technical challenge, as well as a psychological challenge: it requires understanding human cognition, ethics, and social systems, as these elements become encoded in AI behavior.
The book is divided into three main sections: Prophecy, Agency, and Normativity, each tackling different areas of aligning artificial intelligence with human values.
Prophecy explores the historical and technical roots of AI and highlights examples of unintended outcomes, such as the biased COMPAS recidivism prediction tool. COMPAS (Correctional Offender Management Profiling for Alternative Sanctions) is a risk assessment algorithm used in the criminal justice system to predict the likelihood of a defendant reoffending. However, investigations revealed that the tool disproportionately flagged Black defendants as higher risk compared to white defendants, raising critical questions about fairness and bias in that AI system.
Agency delves into reinforcement learning and the parallels of reward-seeking behavior in human, showcasing innovations like AlphaGo and AlphaZero. His explanation of reinforcement learning, and its connection to dopamine studies, is particularly insightful. Christian dives into psychological experiments from the 1950s that revealed the brain’s pleasure centers and their connection to dopamine. Rats in these studies would press a lever to stimulate these areas thousands of times per hour, foregoing food and rest. Later research established that dopamine serves as the brain’s “reward scalar,” which helps influence decision-making and learning. This biological mechanism has parallels in reinforcement learning, where AI agents maximize reward signals to learn optimal behaviors.
Normativity examines philosophical debates and techniques like inverse reinforcement learning, which enables AI to infer human objectives by observing behavior. Christian connects these discussions to ethical challenges, such as defining fairness mathematically and balancing accuracy with equity in predictive systems. He also highlights key societal case studies, including biases in word embeddings and historical medical treatment patterns that skew AI decisions.
Christian interweaves these sections with interviews, anecdotes, and historical case studies that breathe life into the technical and ethical complexities of AI alignment.
He also delivers numerous warnings, such as:
“As we’re on the cusp of using machine learning for rendering basically all kinds of consequential decisions about human beings in domains such as education, employment, advertising, health care and policing, it is important to understand why machine learning is not, by default, fair or just in any meaningful way.”
This observation underscores the important implications of deploying machine learning systems in critical areas of human life. When algorithms are used to make decisions about education, employment, or policing, the stakes are insanely high. These systems, often trained on historical data, can perpetuate or amplify societal biases, leading to unfair outcomes. This calls for deliberate oversight and careful design to ensure these technologies promote equity and justice rather than exacerbate existing inequalities. (Boy, oh boy — fat chance of that in light of current events in January 2025)
Christian also highlights some of the strengths of machine learning. These systems can detect patterns in data that are invisible to human eyes, uncovering insights that were previously thought impossible. For example:
“They (doctors) were in for an enormous shock. The network could almost perfectly tell a patient’s age and sex from nothing but an image of their retina. The doctors on the team didn’t believe the results were genuine. ‘You show that to someone,’ says Poplin, ‘and they say to you, “You must have a bug in your model. ‘Cause there’s no way you can predict that with such high accuracy.” . . . As we dug more and more into it, we discovered that this wasn’t a bug in the model. It was actually a real prediction.”
Examples like this show the real-world potential of machine learning to revolutionize fields such as healthcare by identifying patterns that humans might overlook. However, these benefits are accompanied by significant challenges, such as the “black box” nature of AI decision-making, where it remains difficult to determine what features a model is actually using.
Christian shows how understanding these technical challenges, alongside ethical frameworks, can lead to more robust and equitable AI systems. These considerations emphasize the nature of AI safety, which requires combining insights from cognitive science, social systems, and technical innovations to address both immediate and long-term risks.
While the book is dense (very dense!) and information-rich, this strength can also be a drawback. Some sections felt overly detailed, and the pacing, especially in the latter half, left me feeling fatigued.
Despite this, The Alignment Problem remains a compelling and optimistic exploration of how researchers are tackling AI safety challenges. I think this book is an insightful read for anyone interested in AI and will leave you thinking about our future AI overlords long after you’ve turned the last page.
We took Benson into the vet for his (now, it seems almost monthly) check up. Plus, they had to drain more fluid from his body. This time, they shaved a big old patch on his side to “tap” him. He looks ridiculous!
But he’s doing well, all things considered! Sadly, the tumor on his heart has gotten bigger. He still loves his pillows, though.
Here’s another “year-in-review” post (I’m done, I swear). Over the course of 2024, I read 30 books. My favorite books this year were Bury My Heart at Wounded Knee and The Cuckoo’s Egg (I wrote about visiting the author at his Oakland house). My least favorite was easily Palo Alto (it was one of the few reviews I wrote this past year).
Add this to my coffee confusion post from last year. A new study published in the European Heart Journal concludes that greater coffee intake (in the morning) was “significantly associated with a lower risk of all-cause mortality.”
Hey, that’s pretty cool!
From the journal article:
In their study published in this issue of the European Heart Journal, Wang et al.8 analysed the time of the day when coffee is consumed in 40 725 adults from the NHANES and of 1463 adults from the Women’s and Men’s Lifestyle Validation Study. They noticed two distinct patterns of coffee drinking, i.e. the morning-type pattern, present in around a third of participants, and a less common all-day-type pattern present in 14% of the participants. During a median follow-up of almost a decade, and after adjustment for caffeinated and decaffeinated coffee intake, the amounts of cups per day, sleep hours, and other confounders, the morning-type, rather than the all-day-type pattern, was significantly associated with lower risks of all-cause mortality with a hazard ratio of 0.84 and of cardiovascular mortality of even 0.69 as compared with non-coffee drinkers.
Last.fm has been diligently cataloging my music listening habits for nearly 20 (!!) years. Now that we’ve said goodbye to 2024, it’s time to look back at what I’ve been digging into. Compared to previous years, there are some interesting surprises. And stuff that is just absolutely the same as always.
Dispatch
Social Distortion
Hot Water Music
The Interrupters
Red Hot Chili Peppers
Angie Mattson
Aesop Rock
Guts
Natural Incense
The Juliana Theory
Dispatch and Hot Water Music have always consistently been in my top 3, (except for last year, where neither even made my top 10, weird). It’s no surprise that both of them rank up there as my favorite bands. I saw HWM earlier this year when they made their way back to the Bay Area.
Thanks to some iPhone photo memories, I was reminded of Angie Mattson early in the year — this is an artist who loved about 20 years ago and then literally dropped off the face of the Earth. Her music is no longer available on Spotify or Apple Music. I found a few videos that are still up on YouTube (who knows for how long), but other than the albums in my local library that Last.fm has logged, she apparently doesn’t exist anymore.
Social Distortion was coming back to town and I was so excited to see them. And then a few days before the show, I tore my ACL in a paintballing incident with friends (go figure, it was my first time ever playing paintball), and I could barely walk.
Fun times all around, really. Here’s hoping 2025 is even better — even though this year starts off with the letters W(ednesday) T(hursday) F(riday).