ddcctl
Killed by Google
ddcctl | Killed by Google | |
---|---|---|
22 | 2,302 | |
1,807 | 2,348 | |
- | - | |
0.0 | 7.0 | |
over 1 year ago | 14 days ago | |
C | TypeScript | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ddcctl
-
TIL there are apps that can control your monitor without touching the buttons on it
There are some other command line based open-source alternatives as well, like ddctl and m1ddc - the former only works on Intel, the latter on M1 Macs (M2 Pro and HDMI is not supported). Lunar has great CLI support as well for those who want a command-line based solution.
-
Let's talk: name your favorite accessories that improved your PC/desk area.
https://github.com/kfix/ddcctl is what you are looking for! It works on my dell and asus monitors at least.
-
Mac mini m2 pro not working with dell ultrasharp u3223qe over usb
Only TB supports DDC? https://github.com/kfix/ddcctl
- Monitor controls for Mac OS X command line
- The Apple TV expects you to have an iPhone in order to accept new iCloud terms and conditions
-
Ask HN: Best tips for reducing eyestrain while coding with astigmatism?
I received the same diagnostic in 2017, which coincided with the year I got my first external monitor for my MacBook. Headaches and eye pain became a more common occurence in the first weeks, until I stumbled upon ddcctl [0] and the fact that monitor brightness can be changed from the OS.
That's when I developed the first version of Lunar (https://lunar.fyi) to adapt brightness automatically throughout the day based on the sun position in the sky. (reading the light sensor was not possible at the time)
That combined with Night Shift (macOS native version of f.lux) fixed most of my problems.
I also tried blue light filter glasses but the only effect they had was removing more money from my savings. I feel like this is just modern day snake oil for computer workers.
In the end, what fixed all of my problems was a LASIK [1] operation (well actually PRK because I had only a small abberation). I still recommend this to all my friends and relatives who are always complaining about their vision. It did change my life.
I still cringe when someone turns on an overhead lightbulb though, I never use those in my home. Turns out this wasn't my astigmatism, it's just that most LED bulbs are simply too bright single point lights.
I fit my home with TRADfri warm light lamps hidden behind sofa/door/desk [2], WLED-powered [3] LED strips and simple string lights (like you can see in the front page video on https://lowtechguys.com/volum/)
[0] https://github.com/kfix/ddcctl
[1] https://en.wikipedia.org/wiki/LASIK
[2] https://www.ikea.com/gb/en/p/tradfri-remote-control-kit-smar...
[3] https://kno.wled.ge/
-
Ask HN: What is the best income stream you have created till date?
macOS apps which I share at https://lowtechguys.com/ bring me $7k/month on average at the moment, and it keeps growing.
It started in 2017 when I shared the first free and open source version of Lunar (https://lunar.fyi/), an app for controlling monitors.
At that time, there was only a command line for doing this stuff (https://github.com/kfix/ddcctl) and I wanted a more visual way of changing the brightness. So I learned Swift, learned how to bridge the ddcctl C code and call it from Swift, then made a rough interface and published it: https://www.producthunt.com/products/lunar#lunar-5
It turned out people did have a need for this and asked if they could donate. I set up a Buy me a Coffee page and in 4 years collected about $5k in donations. That's a lot of money for a Romanian.
When Apple Silicon appeared, Lunar didn't work anymore because the whole hardware arrangement and drivers were different, and there was no documentation on how to send I²C data. I took the plunge and quit my stressful job, bought an M1 MacBook and reverse engineered the I²C communication: https://alinpanaitiu.com/blog/journey-to-ddc-on-m1-macs/
Then published Lunar 4 as a Free version with a Pro paid upgrade. I was reluctant with this, didn't think anyone would buy it, but to this day I'm able to be unemployed and put my ideas into practice because of it.
-
What are some useful cli tools that arent popular?
ddcctl - DDC monitor controls for the OSX command line
-
Dasung Macos shortcuts on M1
Not really sure if ddcctl could help or is related to ddcutil, but in all case I had no chance with it.
-
HDMI Firewall
No worries! The same sentiment is what keeps me enthusiastic about programming day after day :)
So computer monitors have support for a communication protocol called Display Data Channel which is normally used by the host (Mac, PC) to get info about supported resolutions, frame rates, signal timing etc.
On top of that, a command interface has been created called MCCS or Monitor Control Command Set [1] which allows changing brightness, volume, input and a ton of other aspects of the monitor, by sending specific bytes through the cable. That cable can be HDMI, DisplayPort, Thunderbolt, VGA, DVI. It doesn’t matter, as long as it has dedicated wires to carry the I2C signal.
I2C is the 2-wire communication protocol used by DDC, and it basically defines things like “a pulse of 5V (volts) of x milliseconds followed by 0V of y milliseconds means the 0 bit. The 1 bit is represented by a pulse of 5V of 2x milliseconds”. It’s a bit more complex than that, also defining TCP-like features with data frames and ACK packets, but you get the idea. It’s something that both devices agree on so that they can send raw bytes using 5 volt pulses.
I’ve created Lunar as an adaptive brightness app for macOS after finding out about a little CLI called ddcctl: https://github.com/kfix/ddcctl
That’s where I learned how DDC packets look like, where to place the payload (brightness value between 0 and 100, input ID, etc) and how to write that to the monitor using the macOS I2C APIs.
When Apple Silicon came out, none of that was possible anymore so I had to go looking around kernel assembly and private macOS frameworks for “the Apple Silicon way” of writing data through I2C.
If you’re also curious how I learned that, it’s a very cool domain called “reverse engineering” and I learned it while working as a Malware Researcher at Bitdefender. A bit hard to get started, but so many gems to discover once you know how to open binaries in IDA/Hopper and look around their disassembled code.
[1] https://milek7.pl/ddcbacklight/mccs.pdf
Killed by Google
-
How I migrated from Firebase to Supabase
I was already starting to feel a little cornered in the whole Google ecosystem and a bit limited with stuff like backups, vendor lock in, etc. (and you always have the obvious hanging over your head) and ultimately, I think I just find the mental model of a SQL database more intuitive compared to a NoSQL database. So I thought to myself; "the longer I leave it, the harder it'll be to make the switch".
- With Vids, Google thinks it has the next big productivity tool for work
-
Google Axion Processors, our new Arm-based CPUs
https://killedbygoogle.com/
Their reputation is deserved. Google domains was killed only last year!
-
Google's Decision to Effectively Kill-off Small Sites
And this isn't even the first time I've been burned by Google's decisions. If you're familiar at all with the Google Graveyard, you'll know that Google has a long history of killing off products and services that people have come to rely on. This has happened to me a number of times, in both a personal and professional capacity, and frankly it's getting old.
- Google Scholar PDF Reader
-
Calls grow for Sundar Pichai to step down from Google CEO position
Just because Google has a couple of decent services that you're willing to pay for doesn't detract from the fact that most of their products have a worse life expectancy than a victorian child in the 1800s. https://killedbygoogle.com
They ruined every single opportunity to be more than an advertising company since Orkut. With scrapped attempts, starts and lack of intention for most of the 2010s to even during the early half of the Pixel Era, they seemingly haven't learnt to stick to something and iterate on it well.
And the fact that over 50% of their revenues come from search and by extension, advertising.
The fact' that til this day, they still haven't evolved from the "throwing shit at the wall then at the fan" strat which explains how they have fumbled so much so quickly.
- Google's Gemini Headaches Spur $90B Selloff
-
Our Company Is Doing So Well That You're All Fired
Yeah. The Google Graveyard really shows how far this can go.
https://killedbygoogle.com
The punchline is that in addition to hundreds of failed hobby projects, their stock is doing great. Monopoly power is a helluva drug.
-
Gemini Ultra now available in Google Bard
To me Gemini is just sort of generic and uninteresting. There has to be hundreds or thousands of products and companies based on the name "Gemini" - "Bard" was at least interesting, different and distinct.
I've no idea about the quality of the product itself, I have never had a reason to use it. It's long past cliché now but I wouldn't get too attached to a Google product that is definitely costing a lot of money but which has no clear pathway to turning a profit. I think they will keep it ticking over until the hype train moves on from Chatbots/LLMs, and then it'll join the Google Graveyard @ https://killedbygoogle.com
-
Gemini Ultra Released
We're not talking about reliability, we're talking about Google's penchant for killing established products that people use. https://killedbygoogle.com
What are some alternatives?
ddcutil - Control monitor settings using DDC/CI and USB
Materialize - Materialize, a CSS Framework based on Material Design
ddccontrol - DDC Control
babel-plugin-superjson-next - Automatically transform your Next.js Pages to use SuperJSON
winddcutil - Windows implementation of the ddcutil Linux program for querying and changing monitor settings, such as brightness and color levels.
Ryujinx-Games-List - List of games & demos tested on Ryujinx
Lunar - Intelligent adaptive brightness for your external monitors
tModLoader - A mod to make and play Terraria mods. Supports Terraria 1.4 (and earlier) installations
OSX_GVT-D - Guide to pass iGPU to MacOS KVM guest.
BetterJoy - Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput
display-switch - Turn a $30 USB switch into a full-featured multi-monitor KVM switch
kotlin - The Kotlin Programming Language.