← February 2023 890 photos
March 2023
815 photos
April 2023 → 471 photos
Browse Archive (303 months)
March 22, 2023 14 items
Blog Posts

Art critics have been present long before the birth of photography and have accompanied photographers through the journey from analog to digital. Now, with the proliferation of machine learning and the integration of on-device ML chips, such as Apple's Neural Engine chip, your smartphone has evolved into a discerning critic of your photographic creations. [![](https://eecue.com/img/3840/086c9f3424.jpg)](https://eecue.com/photo/086c9f3424) ## Apple’s ML Photo Scores Apple uses AI/ML to give each of your photos a series of scores. This is a hidden and undocumented feature that employs machine learning algorithms to examine your photos and allocate a score based on numerous factors such as quality, sharpness, and more. These scores are listed below (you can click through each of those links below to see all my photos ordered by each score): - [all](https://eecue.com/collections/scores_all) - combined weighted average - [overall](https://eecue.com/collections/scores_overall) - [curation](https://eecue.com/collections/scores_curation) - [combined](https://eecue.com/collections/scores_combined) - [framing](https://eecue.com/collections/scores_framing) - [sharpness](https://eecue.com/collections/scores_sharpness) - [blur](https://eecue.com/collections/scores_blur) - [immersive](https://eecue.com/collections/scores_immersive) - [subject](https://eecue.com/collections/scores_subject) - [chosen subject](https://eecue.com/collections/scores_chosen-subject) - [timing](https://eecue.com/collections/scores_timing) - [interaction](https://eecue.com/collections/scores_interaction) - [color](https://eecue.com/collections/scores_color) - [lively color](https://eecue.com/collections/scores_lively-color) - [perspective](https://eecue.com/collections/scores_perspective) - [composition](https://eecue.com/collections/scores_composition) - [lighting](https://eecue.com/collections/scores_lighting) - [symmetry](https://eecue.com/collections/scores_symmetry) - [pattern](https://eecue.com/collections/scores_pattern) - [post processing](https://eecue.com/collections/scores_post-processing) - [reflection](https://eecue.com/collections/scores_reflection) - [camera tilt](https://eecue.com/collections/scores_camera-tilt) These scores are preserved in an SQLite database and remain invisible to the end user. However, they serve to sort and highlight your photos, streamlining the process of finding your best shots. For instance, Apple’s ML model believes this is my number one overall photo: [![](https://eecue.com/img/3840/ef90222d4f.jpg)](https://eecue.com/photo/ef90222d4f) I mean, it’s pretty good, but best overall? Here are the second and third ones: [![](https://eecue.com/img/3840/1862767914.jpg)](https://eecue.com/photo/1862767914) [![](https://eecue.com/img/3840/292937bd78.jpg)](https://eecue.com/photo/292937bd78) ## Seeing your photo’s scores ...

March 21, 2023 24 items
Links (24)
March 12, 2023 8 items
Blog Posts

As we navigate the digital world, we often come across articles we don't have time to read but still want to save for later. One way to accomplish this is by using the Read Later feature in Apple News. But what if you want to access those articles outside the Apple News app, such as on a different device or with someone who doesn't use Apple News? Or what if you want to automatically post links to those articles on your blog? That's where the nerd powers come in. [![](https://eecue.com/img/3840/1cdda7e8fa.jpg)](https://eecue.com/photo/1cdda7e8fa) ## Reverse Engineering the Data Initially, I reached out to [Rhet Turnbull](https://github.com/RhetTbull), the creator of the amazing [osxphotos](https://github.com/RhetTbull/osxphotos) app/Python library that I use to [extract the data from Apple Photos](https://eecue.com/blog/extracting-data-from-apple-photos--the-power-of-organization). I use that data to [power the photo section](https://eecue.com/indexes/tags-s) of my site. I asked Rhet if he had ever pulled this data from News. While I waited to hear back from him, I used `lsof` to look for the file that Apple News uses to store Read Later Articles. I discovered that Apple News uses a Binary PList file located in a super obvious place: > /Users/eecue/Library/Containers/com.apple.news/Data/Library/Application Support/com.apple.news/com.apple.news.public-com.apple.news.private-production/reading-list Simple and obvious, right?! After I found it, I noticed it was in a strange format that a normal binary PList parser couldn’t understand. However, I was able to just run `strings` on the file and extract the Apple News Article ID which looks like this: [https://apple.news/AbtWOAgVqToW62MeeZ1xkcQ](https://apple.news/AbtWOAgVqToW62MeeZ1xkcQ). I wrote a script to parse the data on the page above and then use [Beautiful Soup](https://www.crummy.com/software/BeautifulSoup/) to extract the article data. It wasn’t perfect, but it did the job: ```python import subprocess import requests from bs4 import BeautifulSoup # Run the `strings` command to extract the strings from the binary file proc = subprocess.Popen(['strings', '/Users/eecue/Library/Containers/com.apple.news/Data/Library/Application Support/com.apple.news/com.apple.news.public-com.apple.news.private-production/reading-list'], stdout=subprocess.PIPE) # Loop through the output and look for article IDs article_ids = [] for line in proc.stdout: # Check if the line starts with "rl-" and ends with "_" if line.startswith(b'rl-'): # Extract the article ID by removing the "rl-" prefix and "_" suffix article_id = line.decode().strip()[3:] if article_id.endswith('_'): article_id = article_id[:-1] article_ids.append(article_id) def extract_info_from_apple_news(news_id): # Construct the Apple News URL from the ID apple_news_url = f'https://apple.news/{news_id}'

March 8, 2023 1 items
Blog Posts

In 2008, I had the opportunity to tour SPAWAR, the Space and Naval Warfare Systems Command, now known as [NAVWAR](https://en.wikipedia.org/wiki/Naval_Information_Warfare_Systems_Command). SPA/NAVWAR is a research and development laboratory for the U.S. Navy. During my visit, I was fascinated by the various autonomous military robots that were being developed and tested there. [I photographed the tour](https://eecue.com/blog/1139_spawar---autonomous-military-robots-) and [wrote about it for WIRED News](https://www.wired.com/2008/03/gallery-spawar/). Fast-forward to 2023, and with the emergence of large language models like [ChatGPT](https://openai.com/blog/chatgpt) and [Bing AI](https://www.bing.com/new), it's possible to imagine how these robots could be controlled using AI in ways that are frankly somewhat terrifying. With great power comes great responsibility, and we must consider the potential risks of relying on AI-powered machines in warfare. [![](https://eecue.com/img/3840/2ac9813d02.jpg)](https://eecue.com/photo/2ac9813d02) ## How Large Language Models Could Control Autonomous Robots for War Large language models like ChatGPT are designed to understand and generate human-like language. They work by training on vast amounts of text data, which enables them to recognize patterns and make predictions about what words are likely to come next in a sentence. With this ability, it's possible to use natural language commands to control autonomous robots on the battlefield. For example, a commander could use a chatbot interface to ask an autonomous drone to perform a specific task, such as "Scan the area for enemy activity and report back." The drone would then use its onboard sensors to perform the task and send the results back to the commander. This type of interaction could reduce the need for human operators in dangerous situations and provide real-time intelligence to decision-makers. [![](https://eecue.com/img/3840/9ab9ca2ab3.jpg)](https://eecue.com/photo/9ab9ca2ab3) ## The Potential Risks of Autonomous War Machines While the idea of using AI-powered machines in warfare may seem appealing, it's important to consider the potential risks. One major concern is the possibility of unintended consequences. Autonomous robots rely on algorithms and programming to make decisions, and there's always the risk of a bug or glitch causing the machine to behave in unexpected ways. This could lead to unintended harm to civilians or friendly forces. [![](https://eecue.com/img/3840/233391190c.jpg)](https://eecue.com/photo/233391190c) Another concern is the potential for hackers to gain control of autonomous robots. If an adversary were able to gain access to the communication channels used to control the machines, they could potentially cause havoc on the battlefield. They could redirect drones to attack friendly forces or civilians, or use them for reconnaissance to gain a tactical advantage.

March 7, 2023 3 items
Blog Posts

Explosive Experience: How Illegal Fireworks Almost Blasted Me Out of My 20th-Floor Apartment (And Why My Cats Are Still Hiding Under the Bed) On the night of July 4th, 2018, I was in my apartment at T...

Photos (2)
March 6, 2023 1 items
Photos (1)
March 3, 2023 1 items
Photos (1)
March 1, 2023 1 items
Photos (1)