louis, (edited )
@louis@emacs.ch avatar

deleted_by_author

  • Loading...
    nthcdr,
    @nthcdr@emacs.ch avatar

    @louis common lisp for job security of course :) As long as it's nothing super specialized you need to interact with and customer doesn't care why not take the chance. I've delivered three systems in cl and it was a pleasure to work on them all.

    louis,
    @louis@emacs.ch avatar

    @nthcdr Love to hear that. What kind of apps did you ship?

    nthcdr,
    @nthcdr@emacs.ch avatar

    @louis Business coordination system for an internet operator was the largest one. Was a great success, fast and easily evolved everyone loved it as far I know.

    Second one was a stand alone desktop app something akin to google refine (now open refine) but for a special business need.

    Third one was a recommendation engine for an auction house. Was supposed to be a proof of concept but made it into production as often is the case and lived a couple of years until concepts got rewritten in a language other developers were more accustomed to.

    louis,
    @louis@emacs.ch avatar

    @nthcdr Thanks for sharing! It's always nice to hear when Common Lisp makes it into production.

    svw,

    @louis Congratulations!

    not_null_p,
    @not_null_p@emacs.ch avatar

    @louis Congratulations! Also, will it be possible for you to write an after-action-report afterwards? I'd love to read about the Common Lisp stack that you use in the end.

    daviwil,
    @daviwil@fosstodon.org avatar

    @louis congrats!

    mickles,

    @louis Congrats!

    galdor,
    @galdor@emacs.ch avatar

    @louis Congratulations, you must feel amazing! I wish you a lot of success.

    As for the tech, you already know what I'm going to say :)

    dekkzz76,
    @dekkzz76@emacs.ch avatar

    @louis

    is the CL needed ready to go or are u going to be plumbing CL packages like you did before?

    louis,
    @louis@emacs.ch avatar

    @dekkzz76 For the most part, it would be Huchentoot, easy-routes, Postmodern, JZON, perhaps Reblocks from @svetlyak40wt for the Web UI.

    Or, try out the new full features Tungsten Toolkit from @galdor ?

    Not that CL would bring a big advantage in terms of time saving, but it could result in some contributions to existing packages, either as code, time or monetary.

    svetlyak40wt,
    @svetlyak40wt@fosstodon.org avatar

    @louis @dekkzz76 @galdor with Reblocks your don't need any API. But if you have to provide a public API, take a look at my OpenRPC library: https://40ants.com/openrpc. I like it so much!

    louis,
    @louis@emacs.ch avatar

    @svetlyak40wt Looking at OpenRPC now. Didn't know about it. Is that like what WSDL was for SOAP?

    Because I have a very specific use case in mind. I run a lot of microservices (written in Ruby, Go and Python) that are called from a Go process via Websockets. They exchange messages via JSON.

    However, everything is hardcoded and extending these is very error prone. OpenRPC + your library looks just like the perfect solution.

    svetlyak40wt,
    @svetlyak40wt@fosstodon.org avatar

    @louis OpenRPC is like OpenAPI (Swagger), but built around JSON-RPC and JSON-schema.

    My library provides a macro to define server methods and a macro to generate a client from OpenRPC spec.

    For example, you can build a microservice in Common Lisp and talk to it from a microservice written in Go. There are dozen packages related to openrpc: https://pkg.go.dev/search?q=openrpc&m= but I can't recommend any because have no experience with Go.

    svetlyak40wt,
    @svetlyak40wt@fosstodon.org avatar

    @louis @dekkzz76 @galdor what kind of ETL load is expected?

    I think it might be the most difficult part, because I didn't see any ETL related Common Lisp projects. There is no alternatives to Luigi or Airflow.

    louis,
    @louis@emacs.ch avatar

    @svetlyak40wt
    Not big data analytics, just reading HTTP requests with JSON / XML, transforming the data and store it in a Postgres database.

    @dekkzz76 @galdor

    svetlyak40wt,
    @svetlyak40wt@fosstodon.org avatar

    @louis @dekkzz76 @galdor if amount of requests/data is not high then usual CL tools will be ok.

    dekkzz76, (edited )
    @dekkzz76@emacs.ch avatar

    @louis @svetlyak40wt @galdor

    no more episodes of for you then louis - nose to the grind stone

    louis,
    @louis@emacs.ch avatar

    @dekkzz76 Don't get me started... I love the new Number One, Rebecca Romijn. She is the perrrrfect modern version of Captain Janeway which I adored at the time 😎​

    @svetlyak40wt @galdor

    dekkzz76,
    @dekkzz76@emacs.ch avatar

    @louis @svetlyak40wt @galdor

    louis has teen crush on janeway shocker

    grinn,
    @grinn@emacs.ch avatar

    @dekkzz76 @louis @svetlyak40wt @galdor

    Janeway was my favorite captain as well, no shame

    galdor,
    @galdor@emacs.ch avatar

    @louis @dekkzz76 @svetlyak40wt

    Please don't use Tungsten, it is not production ready. We could have a discussion regarding me making it ready, but it would be expensive and would take time.

    Funny thing is that I was recently discussing about potential contract work, and we joked about Erlang and Common Lisp. But I'll be working in Go for a thousand reasons.

    louis,
    @louis@emacs.ch avatar

    @galdor Thank you for mentioning that. The project looks super active on GitHub and very comprehensive though. Why do you all that excellent work when you wouldn't even use it for your own contract work?

    @dekkzz76 @svetlyak40wt

    galdor,
    @galdor@emacs.ch avatar

    @louis @dekkzz76 @svetlyak40wt

    I built it both for personal projects (they are personal so I may as well have fun writing them) and hoping to maybe use them for commercial work.

    It turned out that as I already learned years ago, the CL ecosystem is in shamble, and the effort to get it up to my standards is insane compared to Go.

    I'm well aware that many CL enthusiasts are convinced that the CL ecosystem is production ready. And maybe it is for their needs. Not for mine.

    For your example, a REST API using JSON and Postgres is trivial with Go. You only need the excellent pgx and you're done. Static typing, fast compilation of static binaries for any platform you want without any headaches, fast GC, suitable concurrency model. Again, suitable concurrency modern. Essential for a server.

    And as always, this is just my personal opinion, there are multiple viable options depending on your skills, the job, the technical and human context…

    louis, (edited )
    @louis@emacs.ch avatar

    @galdor You are right, as always. On a rational level though. 🙂 Type safety, mature and supported libraries are more important than the language itself to be successful in a project like this, which is about high-level CRUD programming.

    The Web UI though could be a good target for Reblocks and SBCL. I'll seriously evaluate that option.

    @dekkzz76 @svetlyak40wt

    screwtape,
    @screwtape@mastodon.sdf.org avatar

    @louis @dekkzz76 @svetlyak40wt @galdor
    What about using and contributing to fukamachi's clack as a choice? It supports a tungsten server, and you could look at some of the other current options.

    louis,
    @louis@emacs.ch avatar

    @screwtape That's a wonderful suggestion, thank you! I know about all the great work fukamachi is doing for the Common Lisp community.

    screwtape,
    @screwtape@mastodon.sdf.org avatar

    @dekkzz76 @louis
    ! What would you use? Fukamachi's clack? https://github.com/fukamachi/clack

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • ngwrru68w68
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • megavids
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • provamag3
  • JUstTest
  • All magazines