3,579 karma · joined October 6, 2016
That depends on the worker’s goals. If your goal is to have work/life balance or “personal” productivity then, yeah, I empathize. But there is more investment I put back into my team when I’m in person. It’s not just my code output. I find it very hard to mentor young engineers remotely.
Also, if you are a stockholder, like many engineers, and if teams do in fact have more “synergy” (bleh) then it’s also good for the workers via stock based comp.
With your example, I would need to create custom parsing logic, and handle a dynamic number of JSON fields. But if a TimeSpan class had JSON deserialization built in based on the ISO8601 format, then I wouldn't need to do anything special. That's the benefit of using the standards. Same if I wanted to convert the JSON stringified format into a postgres time span there isn't any special parsing logic I need to do.
Yes, it's just a string in JSON, so it's not semantically special. But other languages that have a TimeSpan type could take advantage of the standard serialized format.
Here is an example of what it could look like in F#, no special logic for deserializing into a custom type:
type MyEvent = {
myDuration: TimeSpan;
createdAt: DateTimeOffset;
eventId: string;
}
let rawJson =
"""
{
"myDuration":"P15DT5H0M20S",
"createdAt": "2023-08-24T20:30:00Z",
"eventId": "e_1234"
}
"""
let myEvent = JsonSerializer.Deserialize<MyEvent>(json = rawJson)See http://xml.coverpages.org/ISO-FDIS-8601.pdf (section: 5.5.4.2 Representation of time-interval by duration only, pg. 21)
Would like to see more json parsers in static languages allow me to define a field as a time span and can serialize into the valid format.
For an example, see this proposal in Crystal: https://github.com/crystal-lang/crystal/issues/11942
Example: A duration of 15 days, 5 hours, and 20 seconds would be:
P15DT5H0M20S
A duration of 7 weeks would be:
P7Whttps://fsharp.github.io/fsharp-core-docs/reference/fsharp-c...
An assumption. I also didn’t say whether the 2nd amendment laws were illegal or wrong.
this core preference in environment and vibe is the main difference between the 2 camps. I was desperate to be in an office where there was a buzz of high energy and a go, go, go environment like skydivers jumping out of a plane. Would still prefer a private office though so get deep focus when necessary.
Not sure if its nature or nurture, since I grew up doing team sports year round.
`js_from_ocaml`, `string_from_int`, etc would have been clearer in english.
If i didn't speak Spanish it would bother me a lot more.
I agree that the auth system is cumbersome. I wanted to use it on the edge for IoT devices where the device only has the same permissions as the user who the device belongs to, but not very easy. Their auth isn’t very customizable.
How? Better/newer algorithms? Faster? Cleaner code? Better APIs?
Would love to see this work supported by the core Nats team. A standard spec so others could make clients.
If you don’t think about the tech between services, at the end of the day my service is using some protocol to send and receive data, using grpc or otherwise.
NATS has a clean request/reply paradigm built in that makes this simpler.
It decouples the service addresses via a pubsub architecture.
So if I want service A to send a request to service B, then it is done by subscribing to a shared topic, there is no service discovery.
It kind of replaces GRPC and Istio.
I like the “static typing” and code generation you get from grpc so a hybrid of the 2 would be my preference.
I actually solved the code generation part for NATS though by using AsyncAPI (like Open API but for messaged based systems). Would be better if baked in.
I'm really excited for Espressif (the chip maker) to roll out newer versions of their microcontrollers on RISC-V. I would love to see a renaissance of inexpensive personal devices.
[1]: We're pre-launch so nothing to share now.
A calendar reminder to cancel the week before renewal is another option
https://web.archive.org/web/20230000000000*/https://www.jane...