# mac os

Published articles for mac os.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Apple patched macOS Screen Sharing vulnerabilities, including a pre-auth flaw

DevFeed: [Apple patched macOS Screen Sharing vulnerabilities, including a pre-auth flaw](<https://devfeed.tech/articles/security-week-2634-macos-screen-sharing-23089.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/kaspersky/articles/1071144/>)

Author: Kaspersky\_Lab ("Лаборатория Касперского")

Published: 2026-08-17T14:31:10Z

Content type: news

Language: ru

Sources: ["Лаборатория Касперского" RU](<https://devfeed.tech/sources/ru-2.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [Security](<https://devfeed.tech/topics/security.md>), [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>)

Tags: [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [cve](<https://devfeed.tech/tags/cve.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [macos](<https://devfeed.tech/tags/macos.md>), [screen](<https://devfeed.tech/tags/screen.md>), [screen-sharing](<https://devfeed.tech/tags/screen-sharing.md>), [security](<https://devfeed.tech/tags/security.md>), [tag-9fe8963de219](<https://devfeed.tech/tags/tag-9fe8963de219.md>)

### AI overview

Apple released macOS updates to address Screen Sharing vulnerabilities. The report distinguishes a post-auth flaw found by Bynario with ChatGPT assistance from a separate pre-auth flaw, and says vulnerable internet-exposed systems were reportedly attacked to install a Monero miner.

### Source excerpt

6 августа компания Apple выпустила срочный патч, закрывающий уязвимость CVE-2026-65400 в операционной системе macOS. Обновления стали доступны для версий macOS Tahoe (26.6.1), а также более старых Sequoia (15.7.9) и Sonoma (14.8.9). Уязвимость обнаружена в службе, отвечающей за возможность поделиться содержимым экрана рабочего стола. В описании патча, как всегда максимально лаконичном, компания Apple благодарит исследователя Альфредо Песоли из компании Bynario. Его публикацию по данной теме можно прочитать здесь. В ней описана возможность неправомерного доступа к компьютеру Apple с максимальными привилегиями, но только если атакующему известен пароль. На самом деле, как позднее указали представители компании Calif, речь идет о двух разных уязвимостях в одном и том же модуле. Идентификатор проблемы, которую выявили в Bynario, -- CVE-2026-43760. Она была обнаружена при помощи ИИ-ассистента ChatGPT и относится к классу post-auth -- то есть атакующий должен знать пароль. Эта проблема, вместе с парой других, также в Screen Sharing, была закрыта апдейтом macOS 26.6. Еще раньше исследователь, известный под ником Osxreverser, обнаружил уязвимость класса pre-auth -- эксплуатация без аутентификации, пароль знать не требуется. Но не стал сообщать о ней компании Apple, а только среагировал на публикацию компании Bynario. Читать далее

## What 21 five-minute demos looked like at WorkOS Demo Night

DevFeed: [What 21 five-minute demos looked like at WorkOS Demo Night](<https://devfeed.tech/articles/what-21-five-minute-demos-looked-like-at-workos-demo-night-16074.md>)

Original publisher: [Read original article](<https://workos.com/blog/workos-demo-night-august-2026-recap>)

Author: WorkOS

Published: 2026-08-07T00:00:00Z

Content type: article

Language: en

Sources: [WorkOS Blog](<https://devfeed.tech/sources/workos-blog.md>)

Topics: [Demo](<https://devfeed.tech/topics/demo.md>), [Agent Harness](<https://devfeed.tech/topics/agent-harness.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agent-harness](<https://devfeed.tech/tags/agent-harness.md>), [demo](<https://devfeed.tech/tags/demo.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [recap](<https://devfeed.tech/tags/recap.md>)

### AI overview

A recap of WorkOS Demo Night in San Francisco, featuring 21 live five-minute demos. The article highlights Carbon Code, an agent harness running on emulated Mac OS 9 that edited its own source and added an effort selector during the event.

### Source excerpt

A recap of the August 5 Demo Night at our San Francisco office: 21 live five-minute demos, no slides, no pitches, and an agent harness running on Mac OS 9.

## The C Standard Library Function isspace() Depends on Locale

DevFeed: [The C Standard Library Function isspace() Depends on Locale](<https://devfeed.tech/articles/the-c-standard-library-function-isspace-depends-on-locale-20753.md>)

Original publisher: [Read original article](<https://www.evanjones.ca/isspace_locale.html>)

Published: 2023-06-06T13:41:23Z

Content type: article

Language: en

Sources: [Evan Jones](<https://devfeed.tech/sources/evan-jones.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [ASCII](<https://devfeed.tech/topics/ascii.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [ascii](<https://devfeed.tech/tags/ascii.md>), [bug](<https://devfeed.tech/tags/bug.md>), [c](<https://devfeed.tech/tags/c.md>), [function](<https://devfeed.tech/tags/function.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [library](<https://devfeed.tech/tags/library.md>), [locale](<https://devfeed.tech/tags/locale.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [standard](<https://devfeed.tech/tags/standard.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>)

### AI overview

The article explains that C's isspace() behavior depends on the active locale. In the default C locale it recognizes six ASCII whitespace characters, while other locales may also recognize Unicode whitespace. The author connects this behavior to a parsing bug involving PostgreSQL Hstore values on Mac OS X.

### Source excerpt

This is a post for myself, because I wasted a lot of time understanding this bug, and I want to be able to remember it in the future. I expect close to zero others to be interested. The C standard library function isspace() returns a non-zero value (true) for the six "standard" ASCII white-space characters ('\t', '\n', '\v', '\f', '\r', ' '), and any locale-specific characters. By default, a program starts in the "C" locale, which will only return true for the six ASCII white-space characters. However, if the program changes locales, it can return true for other values. As a result, unless you really understand locales, you should use your own version of this function, or ICU4C's u_isspace() function. An implementation of isspace() for ASCII is one line: /* Returns true for the 6 ASCII white-space characters: \t \n \v \f \r ' '. */ int isspace_ascii(int c) { return c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r' || c == ' '; } I ran into this because On Mac OS X, Postgres switches to the system's default locale, which is something that uses UTF-8 (e.g. en_US.UTF-8, fr_CA.UTF-8, etc). In this case, isspace() returns true for Unicode white-space values, which includes 0x85 = NEL = Next Line, and 0xA0 = NBSP = No-Break Space. This caused a bug in parsing Postgres Hstore values that use Unicode. I have attempted to submit a patch to fix this (mailing list post, commitfest entry). For a program to demonstrate the behaviour on different systems, see isspace_locale on Github.

## Video Stabilization with \`ffmpeg\` and \`VidStab\`

DevFeed: [Video Stabilization with \`ffmpeg\` and \`VidStab\`](<https://devfeed.tech/articles/video-stabilization-with-ffmpeg-and-vidstab-21682.md>)

Original publisher: [Read original article](<https://paulirish.com/2021/video-stabilization-with-ffmpeg-and-vidstab/>)

Author: Paul Irish

Published: 2021-04-30T18:33:00Z

Content type: tutorial

Language: en

Sources: [Paul Irish](<https://devfeed.tech/sources/paul-irish.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [commands](<https://devfeed.tech/tags/commands.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [diy](<https://devfeed.tech/tags/diy.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [guide](<https://devfeed.tech/tags/guide.md>), [install](<https://devfeed.tech/tags/install.md>), [installation](<https://devfeed.tech/tags/installation.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [make](<https://devfeed.tech/tags/make.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A practical guide to stabilizing video with FFmpeg and VidStab. It covers installation on Mac OS and Linux, the two-pass detection and transformation workflow, and commands for creating vertically stacked or side-by-side comparison videos.

### Source excerpt

Way back in Dec 2015, @maxogden wrote a nice guide on stabilizing your own video with ffmpeg. I return to it on occasion and have updated my gist comment to offer some updated commands. Since enough has changed regarding installation and use, I figure a new, spiffy, and working guide deserves a non-gist home. Presenting the 2021-era guide to pretty easy DIY video stabilization! On Mac OS, install ffmpeg and vidstab from homebrew: 1 2 brew install ffmpeg brew install libvidstab On linux, you can sudo make install. Run stabilization in two passes There are plenty of options for libvidstab, like shakiness, accuracy, smoothing. The defaults are good, but you may want to experiment. There's even a visual diagnostic mode. Assuming the source video is named clip.mkv... 1 2 3 4 5 6 # The first pass ('detect') generates stabilization data and saves to `transforms.trf` # The `-f null -` tells ffmpeg there's no output video file ffmpeg -i clip.mkv -vf vidstabdetect -f null - # The second pass ('transform') uses the .trf and creates the new stabilized video. ffmpeg -i clip.mkv -vf vidstabtransform clip-stabilized.mkv You now have a clip-stabilized.mkv! Bonus: create a comparison video Use the vstack or hstack filter, depending on if you want them stacked vertically or side-by-side: 1 2 3 4 5 # vertically stacked ffmpeg -i clip.mkv -i clip-stabilized.mkv -filter_complex vstack clips-stacked.mkv # side-by-side ffmpeg -i clip.mkv -i clip-stabilized.mkv -filter_complex hstack clips-sxs.mkv Double bonus: A two-liner that does everything (because repeating these filenames gets annoying) 1 2 export vid="sourcevid.mkv" ffmpeg -i "$vid" -vf vidstabdetect -f null -; ffmpeg -i "$vid" -vf vidstabtransform "$vid.stab.mkv"; ffmpeg -i "$vid" -i "$vid.stab.mkv" -filter_complex vstack "$vid.stacked.mkv"

## Debugging Python Operator Precedence With MacsBug

DevFeed: [Debugging Python Operator Precedence With MacsBug](<https://devfeed.tech/articles/debugging-python-operator-precedence-with-macsbug-27356.md>)

Original publisher: [Read original article](<https://saagarjha.com/blog/2020/04/22/debugging-python-operator-precedence-with-macsbug/>)

Published: 2020-04-22T00:00:00Z

Content type: article

Language: en

Sources: [Saagar Jha](<https://devfeed.tech/sources/saagar-jha.md>)

Topics: [ctf](<https://devfeed.tech/topics/ctf.md>), [debugging](<https://devfeed.tech/topics/debugging.md>)

Tags: [ctf](<https://devfeed.tech/tags/ctf.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>)

### AI overview

The article recounts solving challenges in PlaidCTF 2020, focusing on The Watness 2 reversing challenge. It describes identifying the challenge as related to a prior WebAssembly-based puzzle and opening its StuffIt archive using The Unarchiver.

### Source excerpt

I'm a Capture the Flag (CTF) player with Shellphish, and last weekend our team participated in PlaidCTF 2020, an event organized by the Plaid Parliament of Pwning (PPP). As a pre-qualifier for the DEF CON CTF 2020, it's historically been a fairly challenging competition-this year our team only managed to place 17th, slightly below our usual performance, as many of our team members were preoccupied with inconveniently-placed project deadlines. However, the rest of us had a great time working on the challenges; I helped solve two, golf.so and The Watness 2. golf.so was released early in the CTF and asked teams to create small shared libraries that would call execve("/bin/sh", ["/bin/sh"], ...) when LD_PRELOADed in to /bin/true; a number of us worked together to solve this fairly quickly, getting under 194 bytes (the requirement for the full 500 points) with some aggressive but straightforward segment overlapping, careful trimming of "required" but leniently checked fields, and stuffing of code into the remaining header bytes that were required but could be set to fairly arbitrary values. Some teams golfed it further to 136 bytes, although I'm not sure how (or why, beside bragging rights) they did so. The Watness 2 took longer and in my opinion was a bit more interesting, and this is the one we'll be talking about here.

## Xcode 11 Migration

DevFeed: [Xcode 11 Migration](<https://devfeed.tech/articles/xcode-11-migration-19681.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/xcode-11-migration/>)

Author: Shai Almog

Published: 2020-03-05T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [migration](<https://devfeed.tech/topics/migration.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [build](<https://devfeed.tech/tags/build.md>), [ios](<https://devfeed.tech/tags/ios.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [migration](<https://devfeed.tech/tags/migration.md>), [server](<https://devfeed.tech/tags/server.md>), [servers](<https://devfeed.tech/tags/servers.md>), [update](<https://devfeed.tech/tags/update.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

The article explains Codename One's migration from Xcode 9.2 as Apple raises Xcode requirements. Catalina is incompatible with Xcode 9.2, so builds explicitly requesting it will fail; the servers are planned for an operating-system upgrade and Xcode 11.3 installation.

### Source excerpt

Apple keeps moving the goal posts of xcode requirements for developers. This is good as it keeps the technology fresh but it means support for older devices becomes untenable. Unfortunately there isn't much we can do and we need to move with the times as Apple will no longer accept apps built with older versions of xcode. The main problem with this is another pain point for iOS developers. Newer versions of code require newer versions of Mac OS. That means we need to update the version of Mac OS on all of our servers. That's a HUGE pain not just because of the drudge of upgrading every server...

## EOF is not a character

DevFeed: [EOF is not a character](<https://devfeed.tech/articles/eof-is-not-a-character-33311.md>)

Original publisher: [Read original article](<https://ruslanspivak.com/eofnotchar/>)

Author: Ruslan Spivak

Published: 2020-03-01T16:53:00Z

Content type: tutorial

Language: en

Sources: [Ruslan Spivak](<https://devfeed.tech/sources/ruslan-spivak.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [IO](<https://devfeed.tech/topics/io.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [ASCII](<https://devfeed.tech/topics/ascii.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [ascii](<https://devfeed.tech/tags/ascii.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [computer](<https://devfeed.tech/tags/computer.md>), [example](<https://devfeed.tech/tags/example.md>), [file](<https://devfeed.tech/tags/file.md>), [function](<https://devfeed.tech/tags/function.md>), [library](<https://devfeed.tech/tags/library.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [python](<https://devfeed.tech/tags/python.md>), [standard-library](<https://devfeed.tech/tags/standard-library.md>), [stream](<https://devfeed.tech/tags/stream.md>), [systems](<https://devfeed.tech/tags/systems.md>), [text](<https://devfeed.tech/tags/text.md>), [unix](<https://devfeed.tech/tags/unix.md>), [value](<https://devfeed.tech/tags/value.md>)

### AI overview

This tutorial explains that EOF in C is not a character and is not stored at the end of a file. It examines EOF in Unix I/O, its usual value of -1, and why that value cannot represent a character.

### Source excerpt

I was reading Computer Systems: A Programmer's Perspective the other day and in the chapter on Unix I/O the authors mention that there is no explicit "EOF character" at the end of a file.

## Zulu Desktop Builds

DevFeed: [Zulu Desktop Builds](<https://devfeed.tech/articles/zulu-desktop-builds-19687.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/zulu-desktop-builds/>)

Author: Shai Almog

Published: 2019-04-10T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Java](<https://devfeed.tech/topics/java.md>), [JavaFX](<https://devfeed.tech/topics/javafx.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [deployment](<https://devfeed.tech/tags/deployment.md>), [java](<https://devfeed.tech/tags/java.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The article explains changes to Codename One's Java desktop deployment process. Because ZuluFX packaging produced oversized applications and was unreliable on Windows and macOS, the project is moving to manually generated installers using third-party tools. The new build approach is experimental, and compilation may still fail while issues are resolved.

### Source excerpt

Sometimes you pick up a task and know in advance it's going to be hell to implement it. Sometimes, the hell you were expecting turns out to be WAY worse than you anticipated. This is the case for modern Java desktop deployment. Amazingly, Java was able to take one of the worse deployment processes possible and make it MUCH worse than before. If you haven't used the Codename One desktop port I'll sum it up to you. We use javapackager (formerly javafxpackager) to essentially wrap the jar file as a DMG/pkg on Mac OS and as an EXE/MSI on Windows. This "worked" in the broad sense of the word. It had a lot of issues and we had to create a lot of workarounds.

## 71. Мои рабочие инструменты

DevFeed: [71. Мои рабочие инструменты](<https://devfeed.tech/articles/71-30376.md>)

Original publisher: [Read original article](<https://www.mdubakov.com/posts/my-tools>)

Published: 2018-06-28T18:34:31Z

Content type: opinion

Language: ru

Sources: [Blog by Michael Dubakov](<https://devfeed.tech/sources/blog-by-michael-dubakov.md>)

Topics: [mac os](<https://devfeed.tech/topics/mac-os.md>)

Tags: [electron](<https://devfeed.tech/tags/electron.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>)

### AI overview

The author describes a small set of work tools, explaining how they use Notes, Mail, Keynote, Google Docs, a calendar, and drawing software. They also observe that browser-based work and Electron applications make changing from macOS easier.

### Source excerpt

На самом деле у меня удивительно мало инструментов. Их становилось все меньше и меньше, пока не осталось всего 8.

## Xcode 9.2 Mode

DevFeed: [Xcode 9.2 Mode](<https://devfeed.tech/articles/xcode-9-2-mode-19683.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/xcode-9-mode/>)

Author: Shai Almog

Published: 2018-01-31T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Xcode](<https://devfeed.tech/topics/xcode.md>), [migration](<https://devfeed.tech/topics/migration.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Server](<https://devfeed.tech/topics/server.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [build](<https://devfeed.tech/tags/build.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [migration](<https://devfeed.tech/tags/migration.md>), [signing](<https://devfeed.tech/tags/signing.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Codename One's build servers now support functional Xcode 9.2 builds after a migration that required updated Mac OS versions and fixes for signing changes. The article explains how to toggle Xcode versions and notes potential splash-screen, notification, and iOS permission issues.

### Source excerpt

Every time we switch a version of xcode in the build servers things go haywire because of minor behavioral changes from Apple. Over the holidays we started a long and painful migration to xcode 9.2 which required an update to the Mac OS versions on our servers. Thankfully this wasn't as bad as the old xcode 5 to 7.3 migration where the old build code literally stopped working...

## Using a "Don't Ask Again" Checkbox in Confirmation Dialogs

DevFeed: [Using a "Don't Ask Again" Checkbox in Confirmation Dialogs](<https://devfeed.tech/articles/tip-don-t-ask-again-19572.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/tip-dont-ask-again/>)

Author: Shai Almog

Published: 2017-06-04T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [dialog](<https://devfeed.tech/topics/dialog.md>)

Tags: [dialog](<https://devfeed.tech/tags/dialog.md>), [figure](<https://devfeed.tech/tags/figure.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [os](<https://devfeed.tech/tags/os.md>)

### AI overview

The article discusses confirmation dialogs for reversible actions, comparing macOS behavior with systems that repeatedly ask for confirmation. It proposes a dialog with a "don't ask again" checkbox as a compromise between safety and user convenience.

### Source excerpt

One of my favorite things about Mac OS is something subtle that took me a while to notice: it doesn't ask stupid questions. If you delete a file on a Mac it goes to the trashcan immediately, no question. Even though other OS's copied the trashcan concept they didn't embrace it in the same way, most of them still ask whether you are sure about this action even though the action is reversible.

## Elasticsearch and Kibana for Selenium Automation

DevFeed: [Elasticsearch and Kibana for Selenium Automation](<https://devfeed.tech/articles/elasticsearch-and-kibana-for-selenium-automation-27935.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2015-12-02-selenium_with_kibana/>)

Author: Teodor Rupi Follow

Published: 2015-12-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [kibana](<https://devfeed.tech/topics/kibana.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Data visualization](<https://devfeed.tech/topics/data-visualization.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [logstash](<https://devfeed.tech/topics/logstash.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [apache](<https://devfeed.tech/tags/apache.md>), [automation](<https://devfeed.tech/tags/automation.md>), [backend](<https://devfeed.tech/tags/backend.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [ci](<https://devfeed.tech/tags/ci.md>), [data-visualization](<https://devfeed.tech/tags/data-visualization.md>), [devops](<https://devfeed.tech/tags/devops.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [java](<https://devfeed.tech/tags/java.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [linux](<https://devfeed.tech/tags/linux.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [maven](<https://devfeed.tech/tags/maven.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This article describes trivago's Selenium-based automated testing infrastructure and its use of Kibana for real-time reporting, filtering, and analysis of test results. It outlines a setup that uses Jenkins, Kafka, Logstash, Elasticsearch, and Kibana, with testing across multiple platforms and browsers.

### Source excerpt

The advances and growth of our Selenium based automated testing infrastructure generated an unexpected number of test results to evaluate. We had to rethink our reporting systems. Combining the power of Selenium with Kibana's graphing and filtering features totally changed our way of working.

## Creating standalone Mac OS X applications with Python and py2app

DevFeed: [Creating standalone Mac OS X applications with Python and py2app](<https://devfeed.tech/articles/creating-standalone-mac-os-x-applications-with-python-and-py2app-31828.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2015/11/create-standalone-mac-os-x-applications-with-python-and-py2app/>)

Author: Chris Hager

Published: 2015-11-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [mac os](<https://devfeed.tech/topics/mac-os.md>), [App](<https://devfeed.tech/topics/app.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [applications](<https://devfeed.tech/tags/applications.md>), [bitbucket](<https://devfeed.tech/tags/bitbucket.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [github](<https://devfeed.tech/tags/github.md>), [issue-tracker](<https://devfeed.tech/tags/issue-tracker.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [python](<https://devfeed.tech/tags/python.md>), [stackoverflow](<https://devfeed.tech/tags/stackoverflow.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial on using py2app to package Python 2 or 3 source code, including a Tkinter interface, as standalone Mac OS X applications. It covers setup, development and testing with alias mode, deployment builds, data files, and troubleshooting a known bug.

### Source excerpt

In this tutorial we'll be using py2app to create a standalone OSX application from a Python 2 or 3 source code with a simple Tkinter user interface. "py2app is a Python setuptools command which will allow you to make standalone application bundles and plugins from Python scripts. py2app is similar in purpose and design to py2exe for Windows." Relevant links about py2app: Documentation Source on BitBucket (last commit 2015-05-05) Issue Tracker, Mailing List This guide is loosely based on the official tutorial.

## Introducing JVM - The Java Version Manager

DevFeed: [Introducing JVM - The Java Version Manager](<https://devfeed.tech/articles/introducing-jvm-the-java-version-manager-37784.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/introducing-jvm/>)

Author: Carlos Alexandro Becker

Published: 2015-02-22T00:00:00Z

Content type: release

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [version](<https://devfeed.tech/topics/version.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [mac os](<https://devfeed.tech/topics/mac-os.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [java](<https://devfeed.tech/tags/java.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [shell-script](<https://devfeed.tech/tags/shell-script.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

The article introduces JVM, a shell script that automatically selects a project's Java version. It detects project files and properties, matches them with installed Java versions, and supports Mac OS X and Ubuntu.

### Source excerpt

In recent years it has become more and more common to work in different projects running on different versions of Java. There are still some running on Java 6, and there are tons already running on Java 8.

## Handling crashes on Mac OS X: ordering of Mach exceptions versus POSIX signals

DevFeed: [Handling crashes on Mac OS X: ordering of Mach exceptions versus POSIX signals](<https://devfeed.tech/articles/handling-crashes-on-mac-os-x-ordering-of-mach-exceptions-versus-posix-signals-21565.md>)

Original publisher: [Read original article](<http://lackingrhoticity.blogspot.com/2013/08/handling-crashes-on-mac-os-x.html>)

Author: Mark Seaborn (noreply@blogger.com)

Published: 2013-08-07T20:25:00Z

Content type: tutorial

Language: en

Sources: [Mark Seaborn](<https://devfeed.tech/sources/mark-seaborn.md>)

Topics: [Operating system](<https://devfeed.tech/topics/operating-system.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [POSIX](<https://devfeed.tech/topics/posix.md>), [out-of-process](<https://devfeed.tech/topics/out-of-process.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>)

Tags: [crash](<https://devfeed.tech/tags/crash.md>), [dialog](<https://devfeed.tech/tags/dialog.md>), [exception](<https://devfeed.tech/tags/exception.md>), [exception-handling](<https://devfeed.tech/tags/exception-handling.md>), [experimentation](<https://devfeed.tech/tags/experimentation.md>), [handler](<https://devfeed.tech/tags/handler.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [memory](<https://devfeed.tech/tags/memory.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [os](<https://devfeed.tech/tags/os.md>), [out-of-process](<https://devfeed.tech/tags/out-of-process.md>), [posix](<https://devfeed.tech/tags/posix.md>), [process](<https://devfeed.tech/tags/process.md>), [processes](<https://devfeed.tech/tags/processes.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [signal](<https://devfeed.tech/tags/signal.md>)

### AI overview

This article explains how Mac OS X handles hardware exceptions through POSIX signals and Mach exceptions. It reports that Mach exception handlers receive priority, while the kernel uses a first-chance Mach handler, a POSIX signal handler, and a second-chance Mach handler when handling faults and crashes.

### Source excerpt

Mac OS X is a curious operating system because its kernel is derived from two kernel codebases -- the Mach kernel and a BSD kernel -- that have been glued together. From these two ancestors, OS X inherits two different mechanisms for processes to handle hardware exceptions (a.k.a. faults): POSIX signals: In-process only. Registered per-process. The handler is always called on the thread that produced the fault. Mach exceptions: Allow both in-process and out-of-process handling. Can be registered per-thread and per-process. The handler is invoked via Mach RPC. On OS X, it's possible for a process to have both POSIX signal handlers and Mach exception handlers registered. It's not immediately obvious which of the two handlers will take priority and get invoked first, but experimentation shows that it's the Mach handler. If a process faults with a memory access error, the Mach exception handler for EXC_BAD_ACCESS gets invoked first, and if this handler returns KERN_FAILURE, the POSIX signal handler for SIGBUS will then be invoked. However, that's not the full story. OS X has a built-in Crash Reporter service which will create a crash dump if an application crashes and pop up a dialog box. Crash Reporter works via Mach exception handling and runs out-of-process. An application will normally have Crash Reporter's crash handler registered as one of its default Mach exception handlers. But what stops this handler from interfering with normal use of POSIX signals, if Mach exception handlers take priority over POSIX signals? The answer is that OS X's kernel has three steps for handling a hardware exception: First-chance Mach exception handler: The kernel tries to invoke the Mach exception handler registered for the type of fault that occurred, e.g. EXC_BAD_ACCESS. If there's no handler registered, it skips this step. If the handler returns KERN_SUCCESS, the kernel resumes the thread that faulted. POSIX signal handler: If the Mach exception handler was absent or returned KERN_

## Installing Go on Mac OS X and Configuring GOPATH

DevFeed: [Installing Go on Mac OS X and Configuring GOPATH](<https://devfeed.tech/articles/installing-go-gocode-gdb-and-liteide-22049.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2013/06/installing-go-gocode-gdb-and-liteide.html>)

Published: 2013-06-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Environment Variables](<https://devfeed.tech/topics/environment-variables.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [go-projects](<https://devfeed.tech/tags/go-projects.md>), [golang](<https://devfeed.tech/tags/golang.md>), [guide](<https://devfeed.tech/tags/guide.md>), [installation](<https://devfeed.tech/tags/installation.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [programming](<https://devfeed.tech/tags/programming.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

A tutorial for installing Go on Mac OS X, checking the installation, configuring GOPATH, and installing basic packages. It also references Windows installation guidance and related editors.

### Source excerpt

Check out my new installtion document: External resource on ardanlabs.com: https://www.ardanlabs.com/blog/2016/05/installing-go-and-your-workspace.html I removed the sections about gocode and GDB. These are not necessary any longer. I also added links for more editors. Windows This is a great post by Wade Wegner for installing Go on your Windows Machine: External resource on wadewegner.com: http://www.wadewegner.com/2014/12/easy-go-programming-setup-for-windows/ Mac OS X The following instructions will guide you through installing Go on your Mac. Step 1: Download Go Open your favorite browser and go to the following website: External resource on golang.org: http://golang.org/dl/ Screen Shot This will show you all the latest builds for the different operating systems. Darwin is the name for the Mac OS. Download the installer package for your OS version and architecture. Once downloaded go to your Downloads folder in Finder and double click on the pkg file to start the installation. The installation will put Go in /usr/local/go. Once the installation is complete you will want to check the installation. Note: Moving forward we will be using both Terminal and Finder. It helps to be able to see all the files in Finder. Finder by default will not show you everything that is on your hard drive. To show all files in Finder: Open a Terminal session. If you don't know where the Terminal program is go to your Applications folder in Finder and then Utilities. Click on Terminal and a bash shell command window will open. Execute the following commands in Terminal. defaults write com.apple.finder AppleShowAllFiles TRUE killall Finder The killall Finder will reload the Finder program and now you can see all the files. Step 2: Check Installation Open a Terminal session and type the following command go version You should see the following if everything installed correctly go version go1.5 darwin/amd64 Now type the

## WebKit for Developers

DevFeed: [WebKit for Developers](<https://devfeed.tech/articles/webkit-for-developers-21679.md>)

Original publisher: [Read original article](<https://paulirish.com/2013/webkit-for-developers/>)

Author: Paul Irish

Published: 2013-02-28T10:53:00Z

Content type: article

Language: en

Sources: [Paul Irish](<https://devfeed.tech/sources/paul-irish.md>)

Topics: [WebKit](<https://devfeed.tech/topics/webkit.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [web browser](<https://devfeed.tech/topics/web-browser.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [Chromium](<https://devfeed.tech/topics/chromium.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apple](<https://devfeed.tech/tags/apple.md>), [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [chromium](<https://devfeed.tech/tags/chromium.md>), [css](<https://devfeed.tech/tags/css.md>), [developers](<https://devfeed.tech/tags/developers.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [safari](<https://devfeed.tech/tags/safari.md>), [web](<https://devfeed.tech/tags/web.md>), [web-browser](<https://devfeed.tech/tags/web-browser.md>)

### AI overview

This article explains WebKit as an open browser engine and examines how WebKit-based browsers share components while differing across platform-specific ports. It covers parsing, layout, rendering, networking, hardware acceleration, and WebKit's use in Safari, GTK-based environments, and mobile browsers, while preserving a historical snapshot from early 2013.

### Source excerpt

Feb 2015: A lot's happened since I wrote this post two years ago. Chrome forked WebKit and started Blink, Opera adopted Chromium, and node-webkit became nw.js. This post describes a complexity of defining WebKit that doesn't exist much anymore; with Chrome's departure the WebKit world is more simple and clear. WebKit is deployed through iOS Safari and Mac Safari, and the active GTK community leverages WebKit inside the GNOME Platform. Some smaller mobile browsers use WebKit, some Chromium, some use forks of either, and many just use the system WebViews that are both powered by up-to-date version of iOS WebKit and Android Chromium. The post below is kept intact and represents a snapshot of history in early 2013, rather than the modern WebKit landscape. For many of us developers, WebKit is a black box. We throw HTML, CSS, JS and a bunch of assets at it, and WebKit, somehow.. magically, gives us a webpage that looks and works well. But in fact, as my colleague Ilya Grigorik puts it... WebKit isn't a black box. It's a white box. And not just that, but an open, white box. So let's take a moment to understand some things: What is WebKit? What isn't WebKit? How is WebKit used by WebKit-based browsers? Why are all WebKits not the same? Now, especially with the news that Opera has moved to WebKit, we have a lot of WebKit browsers out there, but its pretty hard to know what they share and where they part ways. Below we'll hopefully shine some light on this. As a result you'll be able to diagnose browser differences better, report bugs at the right tracker, and understand how to develop against specific browsers more effectively. Standard Web Browser Components Let's lay out a few components of the modern day web browser: Parsing (HTML, XML, CSS, JavaScript) Layout Text and graphics rendering Image decoding GPU interaction Network access Hardware acceleration Which of those are shared in WebKit-based browsers? Pretty much only the first two. The others are handled by individual

## Reinventing spinlocks

DevFeed: [Reinventing spinlocks](<https://devfeed.tech/articles/reinventing-spinlocks-38911.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2012-09-12-reinventing-spinlocks>)

Author: Marek

Published: 2012-09-11T22:00:00Z

Content type: tutorial

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [C](<https://devfeed.tech/topics/c.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [x86](<https://devfeed.tech/topics/x86.md>), [mac os](<https://devfeed.tech/topics/mac-os.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [c](<https://devfeed.tech/tags/c.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [library](<https://devfeed.tech/tags/library.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

This tutorial compares two spinlock implementations in C using compare-and-swap and a conditional store. It explains the required compiler barrier, notes architecture-specific ordering considerations, and reports benchmark results for contended and uncontended cases.

### Source excerpt

Reinventing spinlocks In the previous article I was playing with the implementation of the concurrent Queue in C. During the experiments I tried to outsmart library and beat the speed of their spinlock implementation. CAS/CAS My first attempt was to use compare-and-swap instruction for the spinlock. Here's the code, basically we spin till the lock is acquired: This approach works well, but we can still do better. CAS/store It's easy to notice that the doesn't actually need the heavy write.

## Script d'installation du JDK 5 sur MacOSX Lion et Mountain Lion (Mis à jour)

DevFeed: [Script d'installation du JDK 5 sur MacOSX Lion et Mountain Lion (Mis à jour)](<https://devfeed.tech/articles/script-d-installation-du-jdk-5-sur-macosx-lion-et-mountain-lion-mis-a-jour-26058.md>)

Original publisher: [Read original article](<https://blog.arkey.fr/2012/07/30/script-pour-installer-le-jdk-5-sur-macosx-lion/>)

Author: brice.dutheil@gmail.com (Brice Dutheil)

Published: 2012-07-30T00:00:00Z

Content type: tutorial

Language: fr

Sources: [The Coffee Workshop](<https://devfeed.tech/sources/the-coffee-workshop.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Script](<https://devfeed.tech/topics/script.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [installation](<https://devfeed.tech/tags/installation.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [java](<https://devfeed.tech/tags/java.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [script](<https://devfeed.tech/tags/script.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

This tutorial presents a script for installing JDK 5 on Mac OS X Lion and Mountain Lion, where no standard installation path was available. It describes the required downloads and terminal steps, warns that the script requires root access and may damage the system, and explains how to add the installed JDK to IntelliJ.

### Source excerpt

MAJ 14/06/2016: La dernière version du script est maintenant sur un repository github dédié. MAJ 29/07/2012: Le script a été mis à jour pour fonctionner avec Mac OS X Mountain Lion. Le script a été mis à jour pour télécharger lui même le DMG chez Apple, en bref il n'y a plus qu'à commencer à l'étape 2.