Create a password manager with Clojure using Babashka, sqlite, honeysql and stash

Поділитися
Вставка
  • Опубліковано 4 жов 2024

КОМЕНТАРІ • 43

  • @borkdude
    @borkdude 2 роки тому +27

    Thanks for making such a high quality video about babashka. Spot on!

  • @andreyelgin1698
    @andreyelgin1698 2 роки тому +2

    Thanks. I learned clojure as a first language and I struggle. This videos help

  • @CalvaTV
    @CalvaTV 2 роки тому +7

    Wonderful video! Such a great example of the power of Interactive Programming. And lovely t-shirt!

    • @onthecodeagain
      @onthecodeagain  2 роки тому

      Was a super fun project! Thanks, its also comfortable!

  • @CZiNTrPT
    @CZiNTrPT 2 роки тому +2

    As a clojure beginner it's great to actually watch somebody starting a project and how to use the REPL in particular. I always wondered how one could eval in the middle of the file, without first initialization of -main and it's needed argument (basically like defining a debugger with it's startup arguments). But now I get it and see how to work around that by just evaluating small parts

    • @onthecodeagain
      @onthecodeagain  2 роки тому +1

      Thanks! I have a cool video coming out tomorrow that I think you'd like creating a url shortner

    • @CZiNTrPT
      @CZiNTrPT 2 роки тому +1

      @@onthecodeagain revisiting this video again to pick up what I forgot or missed, your new video is a timely Welcome

  • @DanBuneaArt
    @DanBuneaArt 2 роки тому +4

    Thank you for this video. Babashka was on my list for a while, mainly because I'd like to use it as AWS lambdas. This video helps seeing the entire flow of using it.

    • @borkdude
      @borkdude 2 роки тому +4

      Check out holy lambda as well. Nbb is also incredibly easy to set up on AWS Lambda these days.

    • @DanBuneaArt
      @DanBuneaArt 2 роки тому +1

      @@borkdude First thank you for making it possible and second for the tip :)

  • @Simon-vy8fe
    @Simon-vy8fe 2 роки тому +1

    I really enjoy your Clojure content, good job! :)

  • @T0neDeaf
    @T0neDeaf 2 роки тому +3

    Brillant!
    Little suggestion, I would have destructured some let bindings on the main function at 25:46
    (let [{:keys [arguments options]} (parse-opts args cli-options)
    [url username] arguments]...)
    Thanks for your videos, it's always a pleasure!

    • @onthecodeagain
      @onthecodeagain  2 роки тому +2

      True! I think I saw a pr from you :) ill merge it in

    • @T0neDeaf
      @T0neDeaf 2 роки тому

      @@onthecodeagain Yes, exactly! Thx :)

  • @LongDayAlone
    @LongDayAlone 2 роки тому +2

    Amazing content as always, thank you!

  • @indigo0086
    @indigo0086 2 роки тому +1

    BTW a neat workflow I use is that I have a function (I use emacs) that evaluates two or more defuns, this way immediately after my function, I have an array with different evaluations for the function I'm on. Then when I am in the body of my defun, I can just execute it and see the result as I type instead of having a comment area. When I'm done with the function I just #_ it and move it to a test or something. Some people do co-locations of testing to their file but I find this easier and very rapid feedback.

  • @PavlosVinieratos
    @PavlosVinieratos 2 роки тому +1

    really great video. one suggestion would be to use dark mode on your browser too, so we don't get blinded every time you alt-tab :D. maybe dark reader or anything else.

  • @SebastianAnklamm
    @SebastianAnklamm 2 роки тому +1

    superb video as always.

  • @JoshLemer
    @JoshLemer 2 роки тому +1

    Great video!

    • @onthecodeagain
      @onthecodeagain  2 роки тому

      Thank you!

    • @JoshLemer
      @JoshLemer 2 роки тому

      I have a question. Could you store the passwords encrypted as a column in the sqlite db rather than in the stash? Since you're already using sqlite, would it be simpler to just use one storage engine rather than 2?

  • @nonefvnfvnjnjnjevjenjvonej3384
    @nonefvnfvnjnjnjevjenjvonej3384 2 роки тому +1

    Your videos are really good. Now all you need to do is have a regular weekly upload schedule and your channel will skyrocket.

    • @onthecodeagain
      @onthecodeagain  2 роки тому

      Thanks a lot man! I'd love to get to a weekly schedule but its extremely tough and normally the videos I spend more time on are far better than the ones I do quickly

    • @onthecodeagain
      @onthecodeagain  2 роки тому

      Thanks a lot man! I'd love to get to a weekly schedule but its extremely tough and normally the videos I spend more time on are far better than the ones I do quickly

  • @PavlosVinieratos
    @PavlosVinieratos 2 роки тому +1

    when should we go for pods and when for regular clj? do you have a thought process in this?

    • @onthecodeagain
      @onthecodeagain  2 роки тому +3

      Not all normal clj works because the runtime isnt the jvm. I shouldve actually said that :p so pods are required when you want the functionality of a 3rd party lib that wont work as a clj lib :)

  • @badbunnyfreaky
    @badbunnyfreaky 2 роки тому +1

    What font and theme color are you using?

  • @indigo0086
    @indigo0086 2 роки тому +1

    A little to speedy for a tutorial, but great content.

    • @onthecodeagain
      @onthecodeagain  2 роки тому +1

      Thanks for that feedback. Is there any part in particular that I went over too quickly?

    • @indigo0086
      @indigo0086 2 роки тому

      @@onthecodeagain hey, I meant the general pace, sometimes you typed a bit quickly or flashed a resource on the screen but transitioned a little quickly. Basically anything you'd want the learner to know should have a bit of time to focus on it or pause if it's needed to read over before going on to the next thing.

  • @scootndute579
    @scootndute579 2 роки тому +1

    When your personal project stack has 5 things .. that's about 3 things too many imo

    • @onthecodeagain
      @onthecodeagain  2 роки тому +1

      Maybe... Sqlite and honeysql arent required for this to work, but they can be useful in another app so I wanted to include them.

  • @MartinClausen
    @MartinClausen 2 роки тому +2

    Very cool video, I love the practical approach and that the output is an actual useable application. Two minor comments. 1) Sqlite seems redundant, couldn't stash do the job on its own. 2) It appears that java has some nice facilities for cross platform clipboard support in java.awt.datatransfer.Clipboard;

    • @borkdude
      @borkdude 2 роки тому +3

      The java.awt stuff isn't included in bb right now, as it was a bit troublesome with graalvm

    • @MartinClausen
      @MartinClausen 2 роки тому

      @@borkdude Ah, good to know.

    • @onthecodeagain
      @onthecodeagain  2 роки тому +1

      Haha I know its not needed, but I wanted to show why you would use stash and how to use Sqlite with babashka. Ive used the Java utils in my other command line tutorial, but like was mentioned they didnt work in this runtime. Thanks for watching and for the feedback!! :)