Coder Social home page Coder Social logo

Comments (2)

engvik avatar engvik commented on August 10, 2024

Initial thought was to expose the sbanken API through the command line, but I guess there aren't any reasons to add other functionality for convenience either. Maybe expose them through a sub command.

Do you have any thoughts on how this should be invoked? Maybe a be a separate command with date range filters?

from sbanken-cli.

haakonstorm avatar haakonstorm commented on August 10, 2024

I've been thinking about this from a few different perspectives.
I tend to come back to the same answer.

Oftentimes we spend time coding or scripting what takes less time manually. In this case, logging in to sbanken, then boogie around in the web UI. But sometimes we can re-use that little pipeline, sometimes we think its worth sharing.
Elon Musks entire "x.com" venture solved and automated a lot of really complex problems. But, the only thing people really wanted, was this "tiny" feature: to e-mail money; paypal. I can't help but recognize the similarities here. Hear me out. We're essentially taking something inherently "easy" (sbanken.no web UI), and "complicating" it (sbanken-cli, JSON, cmd line args).

The cool part about complicating, is gaining the new option to also re-assemble; over and over. Oftentimes we who are knee-deep in the complexities, are the last to see the new options only now available.

For example: consider the following hypothetical command and its output. I use main to call the binary and not sbanken-cli as I dutifully follow your USAGE clause way down in readme.md😉

λ main --json status

{"balance": "-220413,23"}

What sbanken-cli (I mean, main) did here, was compute my net worth.
To do that, it had to fetch and sum all my different accounts and my loan(s).
What is interesting, is that because with the way we do modern finance, this negative amount isn't particularly useful to anyone, even me.
This is fact because I can still go to an ATM and withdraw cash.
(After properly disinfecting the keypad with n-benzene alcohol. Then entering my 15 1/2 bit long PIN cipher. And then get the virus because, you know, nobody disinfected the cash.)

Anyways, this exercise actually surface a couple of things.
Firstly, the sad state of hand hygiene in our little nation.
Secondly, that we need some intuitive way to verbalize and rationalize over .. money.
And lastly, that this tool of yours, main, actually potentially enables "ordinary users" to simplify tasks everybody does, almost every day. "Did my paycheck arrive yet"? "Whats my balance"? "Pay eFaktura X". "Send cash to Y".
I'm not talking about sbanken-cli mushrooming to a gui, but implementing enough 'magic' for the tool to actually deliver on the -cli promise. Lets assume we spec this 'magic' in extremely simple terms, like speccing a "Markdown for norwegian banking" of sorts. Who knows, when "danskebank-cli" and "landkredittbank-cli" manifest, they adopt Pengvikdown or Engvikonomy as well. Slowly, over time, features emerge, like the one described above. When you transfer from one account to another, those two transactions can be matched and then removed. Likewise, when you transfer from sbanken to postbanken those two transactions can also be matched and removed. Little by little. This is way too long already, and you've already stated you only intended to essentially only wrap the sbanken api json in a cli and be done, so I'll end here. sbanken-cli is awesome already.

But to round off and arrive full circle at the Elon Musk reference: If both you and I are main-equipped, we can do stuff like "you e-mailing me a request for cash". By daemonizing sbanken-cli and scripting some simple polling and such, events like deposits of cash can be relayed to a notification, to a telegram–cli bot that asks me yes/no on eFaktura Y, you get the idea. I guess my point is that some tool need to become the defacto tool to be relied upon for day to day stuff.

from sbanken-cli.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.