Like

Liked Normalize Identifying Corporate Devices in Your Software
Post details
If you dual-license your software in such a way that it requires a paid license for commercial use, here are two code blobs for you. macOS pub fn mdm_enrollment() -> eyre::Result<(bool, Option<String>)> { let mut command = Command::new("/usr/bin/profiles"); command.args(["status", "-type", "enrollment"]); let stdout = command.output()?.stdout; let output = std::str::from_utf8(&stdout)?; if output.contains("MDM enrollment: No") { return Ok((false, None)); } let mut server = None; for line in output.lines() { if line.starts_with("MDM server") { server = Some(line.trim_start_matches("MDM server: ").to_string()) } } Ok((true, server)) } Windows pub fn mdm_enrollment() -> eyre::Result<(bool, Option<String>)> { let mut command = Command::new("dsregcmd"); command.args(["/status"]); let stdout = command.output()?.stdout; let output = std::str::from_utf8(&stdout)?; if !output.contains("MdmUrl") { return Ok((false, None)); } let mut server = None; for line in output.lines() { if line.contains("MdmUrl") { let line = line.trim().to_string(); server = Some(line.trim_start_matches("MdmUrl : ").to_string()) } } Ok((true, server)) } Looking at mobile device management (MDM) enrollment is not a silver bullet for identifying corporate devices running your software, but it is a good start.

 Repost

Reposted Hazel Weakly (@hazelweakly.me)
Post details
This is why I have a website. It’s also why everything I’ve ever written has appeared on my website with *very* few exceptions Having a single domain name that’s YOU is invaluable. My website gets lots of compliments on its branding and appearance. My slides borrow that appearance, too It matters! [contains quote post or other embedded content]

 Like

Liked Hazel Weakly (@hazelweakly.me)
Post details
This is why I have a website. It’s also why everything I’ve ever written has appeared on my website with *very* few exceptions Having a single domain name that’s YOU is invaluable. My website gets lots of compliments on its branding and appearance. My slides borrow that appearance, too It matters! [contains quote post or other embedded content]

 Listen

Listened to Break | Throw A Stone, Crack A Window
Post details
Welcome back to Break, a Fallthrough aftershow! In this episode, Kris, Matt, Angelica, and Cory O'Daniel talk extend their discussion from Fallthrough episode #42.Enjoying the aftershow? Let us know on social media! If you prefer to watch instead of just listen, head over to YouTube where you...

 Reply

Nice! Mine (and on GitHub pulls blog posts and other information like my current job, how many steps I walked the day before, etc!