HNHacker News
TopNewBestAskShowJobs

jclark_th

13 karma · joined September 10, 2019

submissionscomments
jclark_th··on SatPulse: A server-oriented alternative to gpsd
Author here. When I started working on SatPulse a few years ago, I was focused on a narrow use case: making it easy to create your own PTP server using inexpensive hardware. But it turned out that producing a really good solution for this use case involved building a fairly general GNSS subsystem, with some unique capabilities including vendor-independent configuration and support for a wide range of modern Chinese GNSS hardware (see https://satpulse.net/2026/04/01/a-tour-of-the-gps-modules-su...). With SatPulse 0.2, I have extended the GNSS subsystem, and the daemon and CLI built on top of it, to work for a range of timing and positioning use cases beyond the original PTP focus. To be clear, I am not trying to replace gpsd, which does an excellent job of what it sets out to do. But I think there is room for another approach, particularly for server environments, where explicit configuration makes sense. I have also done an experimental cross-platform GUI powered by the same Go library that is used by the daemon and CLI: https://satpulse.net/2026/04/26/desktop-gui-preview.html.

Happy to answer questions.

jclark_th··on High Temperature and High Humidity Reduce the Transmission of Covid-19
Another paper saying something similar

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3550308

jclark_th··on Ballerina Programing Language
I didn't say that all the listed problems were caused by the goal of being familiar.

It doesn't yet have generics because they are hard to get right and the language is still at an early stage. Many languages that subsequently added generics did not have them in the earliest versions of the language (C++, Java, C#, TypeScript, Go).

jclark_th··on Ballerina Programing Language
There’s lots of detail in the language spec:

https://ballerina.io/spec/lang/2019R3/

I also wrote a blog explaining what we are trying to achieve:

https://blog.jclark.com/2019/09/ballerina-programming-langua...

jclark_th··on Ballerina Programing Language
Ballerina has simple lambdas e.g. x => x + 1.
jclark_th··on Ballerina Programing Language
The language has a lot of syntactic compromises, because it has a design goal of being familiar to users of C-family languages like C, JavaScript, Java, C#, etc.
jclark_th··on Ballerina, a language with structural type system
Thank you for your comments. Both the cartoon and the sentence you highlighted have been fixed. We want to create an environment where everybody feels welcome. Your rule about not sexualizing the name seems like an excellent idea.
jclark_th··on Ballerina, a language with structural type system
Here's what the spec [1] says about the sequence diagram aspect of the language: "[Ballerina's] abstractions and syntax for concurrency and network interaction have been designed so that there is a close correspondence with sequence diagrams. This enables a bidirectional mapping for any Ballerina function between its textual representation in the syntax described in this specification and its graphical representation as a sequence diagram, such that the sequence diagram fully shows the aspects of the behavior of that function that relate to concurrency and network interaction."

The two biggest things that are different about Ballerina in my view are the language abstractions for providing and consuming network services, and the correspondence with sequence diagrams.

[1] https://ballerina.io/spec/lang/2019R3/