• In case you’re new here, I am a Known NerdTM and therefore spend a lot of time thinking about Nerd ThingsTM. In particular, I spend a lot of time thinking about my technology, and how I can get the best out of it.

    One of my all time biggest peeves about smartphone home screens, especially for phones which use a “grid of apps” paradigm like iPhone, Xiaomi, and Oppo, is that any amount of business in a home screen wallpaper makes finding or viewing icons difficult.

    There are plenty of ways around this: use a flat color or gradient for your Home Screen wallpaper, find a less busy or less interesting Home Screen wallpaper, etc. My favorite hack for years was to add an acrylic blur to my Home Screen wallpaper. This way I had the same image on my Lock Screen and Home Screen, but the readability was significantly improved. There are tons of tutorials on how to do that manually, as well as multiple apps across both major phone platforms.

    However! I was recently messing with a Nothing Phone (2) that I have in my possession, and I saw that their 2.0 software update included a pretty cool wallpaper effect they call atmosphere:

    wow

    I spent a lot of time griping internally about how I would love this functionality on the objectively better mobile operating system, but then I remembered that I am not totally helpless!

    So I’ve decided to build my own iOS/iPadOS/MacOS app that provides a lot of the same functionality. I will call it Mesosphere, because obviously I have to pay homage to the functionality I am blatantly copying inspired by. This feels like a good challenge, and a way to learn some skills I’ve been putting off for a while. So. Here’s part 1!

    Tools

    In order to build this app, I need to have a set of tools. I’ve chosen the following frameworks and software sets to accomplish my mission:

    I have a decent amount of wire framing and prototyping experience in the Mac app Sketch, but Figma being a super powerful and web-based tool is intriguing. Also, Figma is big in the industry as a design tool, so I figured I might as well learn.

    Obviously. I could mess with UIKit and objective-c, but those are old as hell and not necessary with the given state of Apple’s newest language/framework combo. I’ve thought about also producing an android version in the future, in which case I would use Dart/Flutter, but that’s a long way off1.

    research

    Next up, I needed to figure out how the Nothing OS Atmosphere did its thing. First, like any true idiot who spends a ton of time online, I asked ChatGPT and Google Gemini. ChatGPT was less than helpful, but Gemini did suggest that I use a mesh gradient, which will be helpful later.

    Reverse engineering the behavior of the feature was made easier by my choice in wallpaper used in the experiment. In order to provide clear colors to track throughout the process, I used the “Six Retro Stripes” wallpaper by Basic Apple Guy. I dropped the wallpaper on the phone and turned on screen recording.

    I used both the light and dark mode versions of the wallpaper, and recorded three transitions. I then went through the videos frame by frame, grabbing what I thought of as key frames along the way where the change in color distribution was significant.

    Using the highly advanced tool known as “markup in the iPadOS Photos app”, I marked off each of the starting 7 colors from the wallpapers, and tracked their progression through the process to determine if there was a pattern or logic to the color distribution.

    Analysis

    Initial analysis was…interesting. Within a few frames Nothing OS had begun to blend and blur the colors together, but also had added an additional color from somewhere. By the end of the process, however, only three of the original seven (eight?) remained.

    Same stuff, same day. What started as seven (eight?) colors became three by the end. Interestingly, the three remaining colors of light blue, dark blue, and orange were the same in each experiment. The distribution of the colors varied in each of the iterations.

    Dark mode progressed similarly to light mode, however without the addition of an extra color. At the end of each iteration we were left with four colors from the original seven (including the background black). Looking closely at the light mode versions, I could see some of color eight, or the mysterious background color Nothing OS made up, so maybe the answer is four in both.

    Both light mode and dark mode used orange and the light blue, while the dark mode opted for black instead of the dark blue found in light mode.

    By George.

    Another interesting detail from each of the iterations was the presence of these small almost nugget shaped segments of each color that went flying around the screen to create the color blocks in the final wallpaper.

    Looking closely at the color nuggets, I see some star burst shapes in each, or something that looks like the inside of a sand dollar almost.

    What we learned:

    • Nothing OS picks and chooses colors from a wallpaper based on some preference mechanism, likely vibrance.
    • Only selected colors are present in the final wallpaper.
    • Instead of generating a true gradient from the wallpaper colors, it seems like Nothing OS is merely creating color blobs and expanding/rotating them into final position.
    • Once the blobs are positioned, the software is adding both a gaussian blur and grain/noise to increase the texture and complete the look.

    Bonus inspiration!

    A few weeks after my initial research, I was using my OnePlus 10 Pro (A+ phone love it) as a backup as I investigated some damage to my iPhone 15 Pro Max.

    ouchie

    I noticed inside the wallpaper settings there was a toggle I had never seen before. When I tapped it, this happened:

    wow wow

    Basically OxygenOS here is grabbing about four colors from the wallpaper image here, and using them in a number of generated wallpaper choices. These choices include a mesh gradient!

    What will mesosphere do?

    Ok so basic functionality for the Mesosphere app:

    • Be able to select colors from an image.
    • Use those colors to create a mesh gradient.
    • Add gaussian blur and noise/grain to increase texture.
    • Output the gradient image for use as a wallpaper on iOS/iPadOS/macOS devices.

    I have some other ideas of further expanded functionality, but those will wait a bit I think. Unless I get REALLY inspired.

    1 Yes, I know I could use Flutter to code a cross-platform app, but from what I hear SwiftUI is a significantly better framework for the Apple ecosystem.

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • Or why you won’t see many pictures of my kids from now on.

    As a terminally online millennial parent, I have been posting pictures of my kids to the social web since it was invented. Next to my grainy, over-filtered photos of Starbucks coffee cups were shots of my kids. As the years have gone by I have added the full gauntlet of parent posts: birthday carousels, glamor shots taken with each of the portrait modes, Halloween costume exposés, short videos of my infant daughter dancing to Kendrick Lamar.

    Society has created a term for this nearly globally shared behavior1, as it is wont to do: sharenting. For over a decade I have been gleefully participating in this behavior without a care to my name. That’s changing, and I can tell you why.

    Presenting: The ABCs of why I won’t be Sharenting.

    A – Agency

    As we strive to teach our children to be mindful of ownership of their own bodies, teaching them to respect and ask for consent for physical touch, and otherwise give them to the tools to manage themselves in the world around them, we need to also remember that the physical world isn’t the only place where their wishes for their body need to be respected.

    I few months ago I posted a video of my 6 year old daughter asleep at a metal concert. It was cute. I left it up. She saw it more than 8 weeks later and was mortified that I had posted something like that. She was so embarrassed, and asked me to take it down.

    Giving our kids the ability to consent in an informed way to videos and pictures of them being shared is just another extension of the same kind of parenting that teaches them that they don’t need to hug everyone that asks for one. Just one more step in helping them learn healthy, safe boundaries.

    B – Bullying

    We’re already seeing this. Someone manages to get images or videos from Instagram/Facebook that are embarrassing in some way or another, and uses those images to bully another child.

    As millennials, we are all familiar with the embarrassing photos our parents had of us in various photo albums and books scattered throughout the house. Remember the horror of friends or acquaintances seeing those photos. You could hide them, you could throw them under a couch. Now imagine those images being instead blasted across space and time to anyone with a smartphone.

    C – Creepies

    I had a bunch of other C’s in mind (capitalism, consent), but I think this is the best one. There are so many creepy people/products/software that can digest and make use of the images we post online of our children.

    So there’s capitalism, wherein massive data-hungry corporations like Meta and Google (and probably Twitter) use biometric data from images we post to associate faces with individuals, and then individuals with web history and interests, creating terrifyingly accurate profiles of every person on the platform. These corporations then either use these profiles for advertising, or sells the profiles to another company for the same end goals (ostensibly). These profiles can include sensitive information, even things you wouldn’t think could be used for ads, just in case someone somewhere wants to serve advertising to a very niche group.

    The worst case of the creepies is really going to come about with the proliferation of generative AI. Instead of typing sentences here, I’m just going to use a bulleted list of things that are already happening online with data from social media.

    • AI generated non-consensual porn
    • AI generated voice cloning used for scams
    • AI generated images used to show children in compromising positions
    • AI generated images/text/voice used to gain access to important information

    Imagine posting pictures of your children, and then learning someone somewhere has used some very easily accessible software to generate pornography of those kids.

    Now imagine someone sells those images. Or uses them to blackmail the children into doing real, dangerous activities. Or uses them to run a smear campaign to destroy those kids’ chances of getting a job or getting into Harvard.

    Imagine getting a phone call from your kid, telling you they’re in jail in Idaho and they need $4000 for bail. Then imagine learning that that wasn’t your kid, it was a scammer somewhere who had enough audio data to create a convincing model.

    These are the dangers we all face in an increasingly post-truth online world where technology is advancing quicker than our methods of protecting ourselves. The difference between me posting an image of me vs an image of my kid is that I am understanding and acknowledging the risks myself. When we post images or details about our kids we are making that choice for them, but we won’t be the ones paying the piper in case anything goes wrong.

    So. I won’t be posting my kids anymore.

    FAQ

    Well what’s your alternative? Great question! The use of purpose built social networks, like the ones enabled by PixelFed can give you much the same experience and features of Instagram or Facebook, but without any of the creep factor. Built in photo sharing apps such as Google Photos and iOS photos also work, though Google Photos still gives me the heeby jeebies because it is a free app provided by the world’s largest advertising company. At least iOS photos is just a piece of software you get because you bought the hardware.

    How about if I just set my profile to private? You should do this anyway! There’s absolutely no guarantees though that someone in your friend group, like a parent or a great aunt or someone, won’t post pictures of your kids without your permission. It also doesn’t fix the ad-tech issue.

    You’re ridiculous! Not a question, but I would rather be cautious and careful with my kids than not. Especially since the dopamine hit from everyone seeing how cute they are is temporary.

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • It’s me.

    So due to the presence of germ gremlins in my house, I am yet again sick. This marks two colds in the span of four(ish) weeks, and because I am a man you know that these colds are the worst things anyone has ever had to deal with.

    The sickness with which I am currently down has resulted in a lot of sneezing, which brought me to an interesting question:

    What do you say to an atheist when they sneeze?

    The usual “God bless you” or “bless you” could be perceived as pushy, so in the spirit of being more inclusive I present:

    Things to say to an atheist when they sneeze that isn’t a version of “bless you” because you can’t just sit there and say nothing:

    • “Dang!”
    • “You good?”
    • “…..anyway”
    • “Bruh”
    • “I hope you survive this”
    • “That was dramatic”
    • “Shhh”
    • “Rattled the old thinking box with that one eh?”

    Please feel free to submit your own.

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • Note: I have no idea why I wrote this, or why it ended up being so long. I just started and couldn’t stop myself. Please don’t read this.

    The 🐐 Android Version

    What the hell are we doing here?

    Great question. So. I am a massive nerd. Like, devastatingly. My particular fascination is with consumer computing i.e. smartphones, tablets, PCs, etc. I think the fact that I have a magic rectangle that can provide almost any piece of media, information, or data when I need it, then pivot to enabling me to talk to friends thousands of miles away before letting me recreate the Mona Lisa is just absolutely magical. I am also convinced that we are sliding into the most boring and aesthetically boring cyberpunk dystopia ever, but I digress.

    Because I am often hyper fixated on stuff like this, I enjoy experimenting with technology, and comparing it to what I currently own and use. Now, I have decided to punish you all by sharing my opinions on 4 smartphones from the year 2022 that run the Android operating system from Google.

    That’s right. *burp* it’s a phone post Morty! Er a phone comparison! Like we’re MKBHD Morty! I’m tech YouTuber Riiiiick! Like and *belch* subscribe!

    You were warned.

    (more…)

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • I was going to write a whole big thing here but instead I got bored with the idea, so here’s just a list.

    Favorite gadgets:

    1. Steam Deck
    2. Nixon Siren
    3. 12.9 Inch iPad Pro with M2

    Favorite websites:

    1. Ambient ScotRail Beats
    2. Radio Garden
    3. Waxy.org

    Favorite Apps:

    1. Libby
    2. Ivory
    3. Pocket Casts

    Favorite Foods:

    1. Pizza
    2. Waffles
    3. Tacos

    Favorite Sports Teams:

    1. Arsenal
    2. London Irish
    3. Dawgs

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • OK so maybe not literally the worst year ever, but it absolutely wasn’t the best now was it? Exactly.

    Any hoot, it being the end of the year of our lord two thousand and twenty-two, I figured I would get on board the year end listicle hype train. So. You’ve been warned.

    Also an important note: these are things that I experienced in 2022, though they may be older than that. I’m a slowpoke. Leave me alone.

    (more…)

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • ·

    ,
    it me

    Good evening, and welcome to another exciting edition of “things I’ve read that I want to talk about.”

    I’m going to opt to quickly review the last three books that I completed in 2022.

    Spoilers follow!

    (more…)

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • ·

    What would Jesus do?

    I write a lot in this blog about personal goals. Honestly that’s probably the number one topic of any post on here that doesn’t involve weirdo tech reviews (a few of those are incoming) or my dog being a total weirdo.

    It got me thinking about a question that I ask myself the day after I post one of those “goals” posts: why do I keep setting objectives if I rarely (if ever) reach them?

    In recent soccer analytics, there’s the concept of “expected goals, or xG”, which is the number of goals that could be expected to be scored based on where and how a shot was taken.

    See?

    This doesn’t always lead to actual goal scoring, just ask the 2021/2022 Arsenal squad, but it does mean that the players are getting close and are trying. It’s a measure of decent effort more than anything else.

    So I guess what I’m kind of getting at is that if I keep making goals, and writing them down publicly, maybe I’ll get to the point where I start completing them at a high percentage. If I manage that, well, look out, because I will be totally insufferable.

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • It’s been a minute huh?

    As some (most/all) of you know, I am the proud(ish) parent of a creature I call my Large Idiot Son, AKA the pitbull named Tuckeroni Pizza McNamara.

    He is beauty and grace.

    Something that you might not know about my big-toothed floppily flop face is that he can be a bit particular about things. Specifically I am talking about his penchant to abort defecation pre- or even mid-deposit for any or no reason whatsoever, despite the fact that he is being taken for a 1 mile + long walk specifically intended to allow him to make said deposit.

    So, in honor of the third anniversary of the day he joined our family, I present the following list:

    Ten reasons my dog decided to stop pooping.

    1. The wind blew.
    2. A blade of grass touched his butt.
    3. An air conditioner turned on.
    4. I was looking at him.
    5. I wasn’t looking at him.
    6. My shoe made a noise on the sidewalk.
    7. Just because.
    8. It started raining.
    9. He saw a sculpture of an owl that he hadn’t noticed before.
    10. Someone down the street coughed.

    Thank you.

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

  • Well. There used to be two.

    I went out one morning to walk the dog and I saw them swimming together in the pond. I was absolutely ecstatic. Nature that close, an animal I am not sure I had ever seen that close, swimming around in the pond behind my house. I was happy.

    Later that day I saw one of them dead on the side of the road. Run over.

    Now I only see the one swimming. It still makes me happy, but I always wonder at the same time. Is it lonely? Does it remember its friend swimming with it, and that’s why it comes back?

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶

    ¶¶¶¶¶