Classic Outlook for Windows can be started without an email account via Outlook.exe /PIM <new-profile-name>.
Outlook for Mac does not offer an equivalent option, but this can be worked around by pointing Outlook at a local dummy mail server so it accepts account setup without real credentials.
1. Run a local dummy mail server
Save and run the following script:
import socket
import threading
RESPONSES = {
'POP3': {
'greeting': b"+OK POP3 server ready\r\n",
'bye': b"+OK Bye\r\n",
'default': b"+OK\r\n",
'commands': {
'CAPA': b"+OK Capability list follows\r\nUSER\r\nUIDL\r\n.\r\n",
'AUTH': b"-ERR Authentication failed, try USER/PASS\r\n",
'STLS': b"-ERR TLS not available\r\n",
'STAT': b"+OK 0 0\r\n",
'UIDL': b"+OK\r\n.\r\n",
'LIST': b"+OK 0 messages\r\n.\r\n",
}
},
'SMTP': {
'greeting': b"220 localhost ESMTP\r\n",
'bye': b"221 Bye\r\n",
'default': b"250 OK\r\n",
'commands': {
'EHLO': b"250-localhost\r\n250-SIZE 1000000\r\n250 8BITMIME\r\n",
'HELO': b"250-localhost\r\n250-SIZE 1000000\r\n250 8BITMIME\r\n",
'DATA': b"354 Go ahead\r\n",
'AUTH': b"235 2.7.0 Authentication successful\r\n",
}
}
}
def handle_connection(conn, protocol):
cfg = RESPONSES[protocol]
conn.send(cfg['greeting'])
with conn:
while True:
try:
data = conn.recv(1024)
if not data:
break
command = data.decode('utf-8', errors='ignore').strip().upper()
print(f"[{protocol}] Received: {command}")
if command.startswith("QUIT"):
conn.send(cfg['bye'])
break
# Find matching command
response = cfg['default']
for cmd, resp in cfg['commands'].items():
if command.startswith(cmd):
response = resp
break
conn.send(response)
except (ConnectionResetError, BrokenPipeError):
break
def start_server(port, protocol):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
s.bind(('127.0.0.1', port))
s.listen(5)
print(f"Listening on port {port} for {protocol}...")
while True:
conn, addr = s.accept()
print(f"Connection from {addr} on {protocol}")
threading.Thread(target=handle_connection, args=(conn, protocol), daemon=True).start()
except OSError as e:
print(f"FAIL: Could not bind port {port}. Error: {e}")
if __name__ == "__main__":
servers = [
threading.Thread(target=start_server, args=(1100, 'POP3'), daemon=True),
threading.Thread(target=start_server, args=(2525, 'SMTP'), daemon=True),
]
for t in servers:
t.start()
try:
for t in servers:
t.join()
except KeyboardInterrupt:
print("\nShutting down...")
2. Configure Outlook for Mac
In Outlook for Mac, create a new account with these settings:
- Dummy email address and password
- Incoming server:
127.0.0.1
- Incoming port:
1100
- Outgoing server:
127.0.0.1
- Outgoing port:
2525
- SSL: disabled for both incoming and outgoing
Notes
Legacy Outlook (equivalent of classic Outlook on Windows) and Work Offline options are located under the Outlook menu in the macOS menu bar.
Use Outlook Profile Manager, located at /Applications/Microsoft Outlook.app/Contents/SharedSupport/Outlook Profile Manager.app, to create, delete, and set default profiles.
❧ 2025-12-07
lolwifi.network:
"This site takes a position: we believe untrusted public WiFi presents unacceptable risks for consumer devices. Our assessment is designed to surface logical contradictions in the 'it's fine' position.
"We present the technical facts fairly, but our framing has a point of view. If you disagree with our conclusion, we'd genuinely like to understand why—especially if you can address the join-phase risk problem."
reddit | HN
❧ 2025-11-30
One of the more frustrating features in iOS/iPadOS/macOS is the automatic insertion of unwanted photos and images into contact records, made even worse with the introduction of Contact Posters. There is currently no way to disable this anti-feature, and manually deleting images becomes an endless game of whack-a-mole. The situation is especially vexing in macOS Tahoe, where Contacts already suffers from extremely low information density.
These two simple scripts were tested in Tahoe on a local contacts database (back up before running, proceed at your own risk (and joy), etc.); the first lists contacts with images attached and the second deletes images from contacts:
1. List contacts containing images
tell application "Contacts"
set contactsWithPhotos to {}
set allPeople to every person
repeat with aPerson in allPeople
if image of aPerson is not missing value then
set end of contactsWithPhotos to name of aPerson
end if
end repeat
return contactsWithPhotos
end tell
2. Delete images from contacts
tell application "Contacts"
set contactsWithPhotosRemoved to {}
set allPeople to every person
repeat with aPerson in allPeople
if image of aPerson is not missing value then
set image of aPerson to missing value
set end of contactsWithPhotosRemoved to name of aPerson
end if
end repeat
save
return contactsWithPhotosRemoved
end tell
Related
❧ 2025-11-25
with Parall:
"[C]reate dedicated app shortcuts that launch fully separate instances - each with its own data folder, profile, environment variables and command-line arguments. With the new HOME redirect feature, it now supports the majority of non-sandboxed macOS apps."
Mac App Store | r/macapps
❧ 2025-11-18
Speech and thought bubble annotations (Tools → Annotate → Add Speech Bubble / Add Thought Bubble) were introduced in Preview 5.5/OS X 10.7 Lion (not Mountain Lion, as incorrectly stated in the top search result).
While the speech bubble option is still listed as of Preview 11.0/macOS 26.1 Tahoe, the thought bubble option was last seen in Preview 7.0/OS X 10.9.5 Mavericks.
However, starting with Preview 8.1 in OS X 10.11 El Capitan, an adjustable thought bubble (with built‑in text area) can be created by using the Sketch tool to approximate a cloud, an Easter egg that still works in macOS Tahoe.
***
Poor drawing skills triggered recognition of a heart shape, raising the question of what other shapes might be supported. Apple's documentation offers scant detail:
"If your drawing is recognized as a standard shape, it’s replaced by that shape; to use your drawing instead, choose it from the palette that’s shown."
Went digging for what these "standard shapes" might be:
otool -L /System/Applications/Preview.app/Contents/MacOS/Preview revealed a dependency on /System/Library/PrivateFrameworks/AnnotationKit.framework/Versions/A/AnnotationKit, which sounded promising, but the file was missing and an alias by that name two directories above pointed to Versions/Current/AnnotationKit, which was also missing.
Trying to find the macOS Framework binaries and Binary Extraction with Visual Tooling clarified that most system frameworks reside inside the dyld shared cache.
Extracted the cache using dyld-shared-cache-extractor: dyld-shared-cache-extractor /System/Volumes/Preboot/Cryptexes/OS/System/Library/dyld/dyld_shared_cache_arm64e /tmp/libraries
strings /private/tmp/libraries/System/Library/PrivateFrameworks/AnnotationKit.framework/Versions/A/AnnotationKit uncovered two lists of shapes:
| 1st |
2nd |
| Rectangle |
arrow |
| Rounded Rectangle |
outline arrow |
| Oval |
star |
| Line |
rounded rectangle |
| Line with Arrow |
oval |
| Outline Arrow |
chat bubble |
| Speech Bubble |
pentagon |
| Polygon |
triangle |
| Doodle |
freeform |
| Triangle |
heart |
| Heart |
cloud |
| Thought Bubble |
|
A 2019 snapshot of the iPadOS 14 features preview page (H/T) contained a similar list:
"Shape recognition allows you to draw geometrically perfect lines, curves, and shapes, including hearts, stars, and arrows. Simply start drawing and pause slightly at the end, and your imperfect shape snaps into a perfect one. Shape recognition is great for drawing diagrams and quick sketches.
"Shape recognition supports these shapes:
- Line
- Curve
- Square
- Rectangle
- Circle
- Oval
- Heart
- Triangle
- Star
- Cloud
- Hexagon
- Thought bubble
- Outlined arrow
- Continuous line with 90‑degree turns
- Line with arrow endpoint
- Curve with arrow endpoint"
See also
❧ 2025-11-17
Acorn includes a Trim to Edges command in the Image menu that "will automatically crop out anything that is a constant color, or no color at all."
Before and after:
IrfanView offers both Auto-crop borders and Auto-crop borders - Show selection in the Edit menu.
❧ 2025-11-09
After a decade of service, it was time to replace the Bose QuietComfort 20i Acoustic Noise Cancelling headphones referenced in 2015. While non‑Bluetooth ANC models have become increasingly scarce, the Bose QuietComfort Headphones (2023) offer a wired-only mode; Bluetooth is disabled (verified via EMF meter) when the included 2.5mm-to-3.5mm audio cable is connected:
Connect audio cable and turn on headphones (but don't put them on yet)
A female voice announces "Bluetooth off", followed by a loud startup jangle. She then advises, "To start setup, download the Bose Music app", repeating the prompt ~12 seconds later, presumably for the benefit of those temporarily deafend by the clangor. 🔈 (Voice prompts can be disabled in the Bose app, though the ear-piercing startup chime cannot.)
Despite being listed in Technical Specifications as "Protein Leather", Bose marketing materials confirm the ear cushions are synthetic (the case is listed as "Leather (Hard)", but is apparently synthetic as well); from their Earbuds vs. headphones: finding the perfect pair for you:
"Bose QuietComfort Headphones live up to their name, created with comfort in mind. They're ultra lightweight, and the earcups are fitted with luxurious synthetic leather (emphasis added) and minimal clamping. You can wear them for an extended period of time without experiencing headaches or aching ear canals."
Bose representatives have reiterated this for related models:
Bose QuietComfort 35:
"[T]he QuietComfort 35 headphones do not contain any animal products, the cushions are made from 80% rayon and 20% nylon."
Bose Quietcomfort Ultra:
"Bose uses a synthetic leather material for the ear cushions."
Reports indicate the ear cushions are prone to flaking within a short period (including the Ultra model). Higher-rated third-party headband covers and earpads are available, though some reviews note reduced ANC performance.
❧ 2025-11-04
Split 2-up PDF into single pages
apt install mupdf-tools / brew install mupdf-tools
mutool poster -x 2 doublepage.pdf singlepage.pdf
Reorder pages via click-and-drag
- Preview: View → Contact Sheet → click and drag pages to reorder → File → Save
Optimize filesize
apt install ghostscript / brew install ghostscript
Convert to grayscale and downsample images to 150 dpi (via /ebook):
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 \
-sColorConversionStrategy=Gray \
-dProcessColorModel=/DeviceGray \
-dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH \
-sOutputFile=grayscale.pdf singlepage.pdf
Perform OCR and embed text layer
❧ 2025-10-25
HelpWire feels like a breath of fresh air in remote support:
One-off, quick support option does not require an account for either host or client
"Currently, for Windows, macOS, and Linux with more platforms to come."
Free during tech preview, with subscriptions expected in "Q1–2 2026". However, "if you’re using HelpWire to help out family and friends, you’ll continue to enjoy a robust, fully functional experience at no cost."
Parent company: Electronic Team, Inc., based in Virginia with address and phone number prominently listed, was founded in 2001 and develops a number of other applications:
Knowledge Base | Changelog | Roadmap
Reviews:
❧ 2025-10-24
OverType: "A lightweight markdown editor library with perfect WYSIWYG alignment using an invisible textarea overlay technique. Includes optional toolbar. ~85KB minified with all features." Github | H/T
❧ 2025-10-24