lorefnon

joined 1 year ago
[–] lorefnon@programming.dev 1 points 6 months ago

A big caveat looks to be that paid plan pricing is not disclosed. So likely geared towards enterprise customers.

 

DBOS Cloud, a transactional serverless computing platform, made possible by a revolutionary new operating system, DBOS, that implements OS services on top of a distributed database. We’ve used this new architecture to build a novel TypeScript transactional programming environment that enhances applications with automatic statefulness, transactionality, observability, and cyber-resilience. This makes fault-tolerant cloud-native application development much simpler and faster.

[–] lorefnon@programming.dev 1 points 7 months ago* (last edited 7 months ago)

Hi - I have been using this in production for a few months now, and haven't experienced significant issues with debugging or troubleshooting.

It also helps that the library is type-safe - if we are overriding a function, we must comply with the signature of the original function for TS to pass.

Wrt. run time errors, the use of proxy does not interfere with good stack traces, if that is what you are worried about.

If we take the example in this gist where an overriden function throws an exception, we can see that the stack trace clearly shows the file (which overrides the hello function) where the exception is originating from.

In effect, the DX is not much different if you use any other mechanism for making some feature runtime configurable. In comparision to most traditional IoC/DI utilities I find the DX to actually be superior:

  • Unlike a lot of other IoC solutions whose APIs are cloned/inspired from similar Java/C# libraries, you don't need to wrap things in classes to participate in the DI system
  • Also, that a function is overridable is transparent from consumer side - they just call a function that they import without needing any @Inject/@Provide boilerplate. This is great if you are writing a library or a small utility and don't want to enforce usage of a specific DI/IoC library for your consumers.

What we don't have (and likely will never) is support for things like request scoped DI or hierarchy of IoC containers. In mostly-functional TS code I have seldom missed those patterns.

 

Modern utility toolbelt - rapidly evolving, type safe and esm friendly out of the box. No mutations.

[–] lorefnon@programming.dev 1 points 7 months ago

Yes, that mode works pretty well. In my case I don't really own the types (they come from a third party source) so being able to to auto generate validators from them is very convenient.

[–] lorefnon@programming.dev 2 points 8 months ago (2 children)

I use it in the code generator mode (https://typia.io/docs/setup/#generation) that doesn't require the tsc plugin integration and works well with other build tools (in my case esbuild) and arbitrary testing/code-coverage libraries.

 

Typia is a transformer library supporting:

  • Super-fast Runtime Validators
  • Enhanced JSON functions
  • Protocol Buffer encoder and decoder
  • Random data generator
 

When developing APIs or writing integration solutions, we often fetch data from multiple sources and combine them together. This requires quite a bit of boilerplate even if you use utility libraries like lodash.

This library aims to be provide a simple type-safe utility that makes the task of combining multiple collections simpler using an intuitive association API.

You may find this API to be reminiscent of association APIs found in ORMs. However, collection-joiner is completely agnostic about how these collections are obtained - so you could for example, fetch a list of users from a database, a list of departments from another service, a list of roles from a key value store and merge them into a single hierarchy when constructing a response.

[–] lorefnon@programming.dev 2 points 1 year ago

Lounge looks pretty cool

[–] lorefnon@programming.dev 6 points 1 year ago

Build times in nodejs are not so great in even medium size projects if you make heavy usage of advanced typescript features - either yourself or through libraries like zod. So if something makes the nodejs runtime faster, it could potentially make ts compiler faster too - for which I'd be very grateful.

 

Working with the primary TS compiler API is pretty arduous. It is nice to see dedicated community effort towards making this more approachable.

[–] lorefnon@programming.dev 0 points 1 year ago

Tyson is nice - esp. if you are already using TS/JS.

https://github.com/jetpack-io/tyson

1
submitted 1 year ago* (last edited 1 year ago) by lorefnon@programming.dev to c/meta@programming.dev
 

I am unable to subscribe to RSS feeds for programming.dev from a yarr instance hosted on an AWS EC2 instance (ap-south-1).

This issue seems specific to programming.dev. I can access RSS feeds for other lemmy instances without any issues.

I can access the feeds from browser, but when I try to fetch it on AWS I get a 403 error. Curious if this is done intentionally.

$ wget https://programming.dev/feeds/c/programming.xml?sort=Active
--2023-07-17 18:27:15--  https://programming.dev/feeds/c/programming.xml?sort=Active
Resolving programming.dev (programming.dev)... 172.67.137.159, 104.21.73.21, 2606:4700:3031::ac43:899f, ...
Connecting to programming.dev (programming.dev)|172.67.137.159|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2023-07-17 18:27:15 ERROR 403: Forbidden.
[–] lorefnon@programming.dev 1 points 1 year ago

I don't use it right now, but two years ago I helped a team incrementally adopt Kotlin in a ten year old java/spring/mybatis codebase. We didn't have any android experience and in the initial few months mostly used kotlin as a better java, avoiding features that would prevent us from switching back to java if needed.

But it worked pretty well - we didn't face much resistence from people experienced with java because they could still continue to benefit from their jvm familiarity, and the language was approachable to new folks who joined us. It also helped that we could just copy paste java code into a .kt file and intellij would convert it to kotlin.

We didn't venture into kotlin's js/native targets but for jvm it worked out great for us.

view more: next ›