OS hacking: Centralizing program configuration (with a system configuration server)

preview_player
Показать описание


Комментарии
Автор

Yes, we are happy you used multiple cursors. I use the alt-j shortcut in the Jetbrains products ALL the time!

kevingravier
Автор

It's a nice idea but hopefully it doesn't turn into a Windows registry kind of thing. I feel like the API should encourage only using a single domain (its application name). EDIT: How would it work if you wanted two separate copies of the same application with distinct configurations?

XXLuigiMario
Автор

Very nice video! There could be a small mistake in:
"auto was_maximized = Config::read_i32("FileManager", "Window", "Maximized", false);"

freezing
Автор

Any reason not to let a program pledge domains more than once, restricting their domains further each time? just like normal pledge? Could be useful for a one-off read at start up in certain programs

philo
Автор

31:00 re: defaults... it's tough. In the least defaults ideally would be centralized to the top of a module or in their own module of an app. And perhaps rather than using them directly it is better for the app to check if they exist in a config file (or now the config server) and create them.

And this is where APIs can make such things easier. If you have a "create if not there" call then it can be just as simple to do as would using the value directly somewhere (outside config server failure). A CAS API would be good too to manage race conditions from the client side.

spawnlink
Автор

Why don't you use the IdeaVIM plugin if you're familiar with vim already?

blackwhattack
Автор

BMessage in BeOS was a nice concept that also was used for config by some apps. Not sure there was any service to centrally manage such things but certainly would have been nice.

spawnlink
Автор

I haven't fully watched the video, so you might have addressed this, but wouldn't it be possible to circumvent the domain pledge by just opening another connection to the config server?

chrrrs
Автор

Someone should let Ali know that the fact Core::IODevice tries to write with an invalid fd instead of failing to write is kinda weird 🙂

andrewkaster
Автор

Pro tip: you can use . to repeat last command, for example Iconfig.<esc> and then 5. will type

slendidevel
Автор

Instead of find/replace you could use SHIFT+F6 on methods/variables/classes to automatically rename all the references to them throughout the code :)

hiravoid-legacy
Автор

Suggeston:

ConfigDomain // Can be on class level and no need to remember the Domain string value (prone to spelling mistakes)
ConfigDomain

auto left = file_manager_config.read_i32_value("Window", "Left", 100);
auto always_on_top = window_manager_config.read_bool_value("Window", "AlwaysOnTop", false);

tiloiam
Автор

52:40 *grumble grumble* should've kept the Message struct argument to those handlers

cxboog
Автор

Isn't it better to create some king of enum with all available domains, so you shouldn't write it manually? Typos == evil :^)

EvilFlipTV
Автор

Better than Linux and smells like OSX (if OSX didn't bury its config files in weird places).

ecosta
join shbcf.ru