Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
hp
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
hp
9y ago
re: other languages: yes, there's a list of implementations in the typesafe config README
32.
▲
by
hp
9y ago
I'm pretty sure the last value wins, but maybe don't understand what you mean.
33.
▲
by
hp
9y ago
I would say HOCON isn't JSON for humans, it's config file for humans. The features are all about building up a config in a DRY way and merging overrides with defaults and overriding with env vars and stuff like that. It's spe
34.
▲
by
hp
9y ago
there's also a little blurb at https://github.com/typesafehub/config#rationale-for-supporte...
35.
▲
by
hp
9y ago
I think this is reasonable in some contexts but it depends. Often the configuration is done by a different person or in a different context than the development. The configure-er may or may not be a programmer and the deployment environment
36.
▲
by
hp
9y ago
https://blog.ometer.com/2015/09/07/json-like-config-a-spectr... I wrote HOCON and also the above comparison post.
37.
▲
by
hp
9y ago
I designed the HOCON format. Here is my take on the why not JSON / why not YAML questions: https://blog.ometer.com/2015/09/07/json-like-config-a-spectr... Short answer is "UX" There's also
38.
▲
by
hp
10y ago
You can run pkg-config yourself, the m4 macros are just for convenience. Look at the shell the macros expand to to see how to do it. Though I don't see the point in reinventing your own build system, exactly. Some people I trust seem t
39.
▲
by
hp
10y ago
I agree. Many mistakes would have been fine if there was a compelling reason for users to switch. Linux has been successful when it found a greenfield space: Android, Chromebook, x86 servers. The open source aspect isn't magic, it won&
40.
▲
by
hp
10y ago
Yep. it works well. https://wiki.gnome.org/ReleasePlanning/TimeBased
41.
▲
Layout APIs don’t have to be terrible – lessons from Bokeh
(blog.ometer.com)
1 points
by
hp
10y ago
|
0 comments
42.
▲
by
hp
10y ago
Legally "all rights reserved" is the default, until/unless you follow the legally appropriate ceremony to disable it. If you get the ceremony wrong in some way then you're back to "all rights reserved" in pract
43.
▲
by
hp
10y ago
This "license-free" text is a lot of needless confusion that will only serve to complicate anyone's life who needs to show this to a lawyer. The project could avoid the term "license free" and follow the guidelines
44.
▲
by
hp
10y ago
Seconded, it's a clean well-documented API with an implementation that's easy to read.
45.
▲
by
hp
11y ago
If you need a bunch of library features not found in the C standard, you could switch languages or you could ... use a library. "Use language builtin hash table or write your own hash table" are not the only two options as this ar
46.
▲
The dangerous “UI team”
(blog.ometer.com)
2 points
by
hp
11y ago
|
0 comments
47.
▲
by
hp
11y ago
Historically they have supported a lot of things the others didn't or didn't easily support: cross-compilation, changing the prefix/libdir/datadir, creating tarballs, "distcheck" to automatically check the tarb
48.
▲
by
hp
11y ago
all I'm saying is that "not hard" as you put it and "30% more code, transactions, and a complicated test harness" don't go together for me. If they do for you then enjoy :-)
49.
▲
by
hp
11y ago
Usually you have to use C when a large runtime (GC, rich standard library) is going to cause a problem. One common case of that is when you're making a least common denominator library that would be called by multiple higher-level lang
50.
▲
by
hp
11y ago
The reason it's hard is that everything you do has to become a "transaction" with the ability to roll back. Say you send five messages in a function, now you have to pre allocate all of them in order to cancel them all if any
51.
▲
JSON-like config, a spectrum of under/overengineering
(blog.ometer.com)
3 points
by
hp
11y ago
|
0 comments
52.
▲
by
hp
11y ago
It's Linus being hyperbolic. Read follow-ups in the linux-kernel thread to see more specifically what these benchmarks mean.
53.
▲
by
hp
11y ago
I would call it "dbus performance overhead is userspace library AND context switching" See: http://article.gmane.org/gmane.linux.kernel/1939651 Or really, it isn't "context switching"; it'
54.
▲
by
hp
11y ago
Linus is mixing together two different performance issues. http://article.gmane.org/gmane.linux.kernel/1939651 kdbus is solving an "architecture" issue that would affect any binding, while his profile is esse
55.
▲
by
hp
11y ago
Here is the long version of that point: http://article.gmane.org/gmane.linux.kernel/1939651
56.
▲
by
hp
11y ago
kdbus really addresses a different performance issue than tuning mallocs and locks would. By tuning mallocs/locks/validation/parsing, you can reduce the overhead of each dbus send/receive, but with kdbus you remove half
57.
▲
by
hp
11y ago
The Linus profile is mostly a red herring here, because it is 1) a bad benchmark with a bunch of blocking round trips and 2) mostly profiling the gdbus bindings which are just one binding. For a more in-depth performance discussion of dbus,
58.
▲
by
hp
11y ago
the trace isn't dbus itself, it's a particular client program using the gdbus binding. The gdbus binding uses a lot of malloc and threads, and this particular client program is all blocking round trips.
59.
▲
by
hp
12y ago
It's probably straightforward to write an HTTP server which exposes everything on the bus as an http API, if someone wants a free project idea.
60.
▲
by
hp
12y ago
I should have mentioned here earlier, the original thought with dbus was that nobody would use libdbus directly; KDE would use an API more or less exactly like DCOP and GNOME would use soemthing like gdbus. For that reason, libdbus was lowl
More ›