@@nomadshiba right? I see nothing remotely marxist in any of this. Lewis as a member of the market, would not bear that cost - so chose another method. Sounds quite capitalistic to me.
I find that I may need to reuse a part of a script for another project. In that light, I may also save time when solving other or similar problems in the future
This is 100% how I pick my next software rabbit-hole, I mean “project” spend 6 months working on something that I could’ve had done in a few days without code. It’s not a glamorous life, but it’s one worth doing with code
I am a noob Python user... I spent a week making a terrible Flask site so that instead of running a script off my pc I can check things off my cell when on the go. Best week of migraines ever. 😂
Fr, I made a Python script that does all the work in 7 minutes, but it took 3-4 hours to make that fking script. In the end, I was happy and satisfied that i can do stuff and am not useless 😂
yea… but he made a video and script publick. now he might saved someone hours of time. Doesn’t matter how stupid you thinkr task is, you never know when and for who it will be useful in what scenario
yea... but he can re-run his script in seconds as many times as he likes, whenever he likes. Which is useful if he decides to make a change. If doing it manually you have to spend 17 minutes again each time.
I feel that a project like this just for the fun of problem solving and writing the code for it. Yeah, you could just spend the 17 bucks to get printed copies from the bank which you'll probably end up spending half a weekend scanning it all back to digital. OR you could spend a weekend making your finances actually fun!
this. this is how i got into programming. this is the reason i recommend basic programming as a hobby to anyone who uses a computer. i love these types of videos because they're the exact type of crazy pointless things i do.
Decided to try something new :) let me know what you think of this more "shorter" style content! We have a hackathon coming up shortly :) join the convo on discord!
Lewis, I think it wouldn’t hurt to check with a lawyer or ask someone from the bank if you could do this. I am 90% sure it’s ok but when it comes to banks you could potentially be breaking your contract or something hidden in the terms of service. Just a heads up from a lawyer & programming hobbyist. Love your videos!
i made a project once, called it multiterm, you can get for python as a module thru pip, it gives you a screen based system to create terminal user interfaces
Ah yes - I totally relate to the "I refuse to do this manual, tedious process that will take me 20 minutes so I'm going to spend a week writing software to do it". Many times.
I myself have multiple times turned a 20-minute problem into 2 days of python project. But the benefit I got, the next time I get that 20-minute problem, it would be done in seconds!
I closed my account with this same bank earlier this year. I'm not a programmer and I somehow screen scraped all my records for the past 7 years. You're right, they purposely made the UI barely workable to get you to pay them for what you need.
I did this manually recently. Downloaded all pdfs, copied everything to excel and did some calculations. I found out that the "No cost emi" was not really "No cost". It was less than the normal emi plan but it was way more than what expected.
1. I think you really lucked out with the proxy/man in the middle thing working. Normally mobile apps these days use HTTPS with certificate pinning, which means that you cannot intercept any traffic between your device and the server without modifying the app somehow. 2. I don't think the API getting the 4 years every single time is a dark pattern, I full heartedly believe it is incompetence.
Honestly, they probably just didn't have any support for pagination. That and 20 years of bank statements probably loads only marginally slower than four years. It was the path of least resistance and meant he got to go home at 5. I think that's the real reason Edit: the lack of encryption is inexcusable though
Everything you just said in the video is meaningless compared to the fact you can read your bank request in plain text through a proxy. This should never happen. Call your bank and tell them they have a major security issue and they need to stay up all night to fix it. Like today.
I've done something similar. I had to check how much credit accumulated in my account over years, had dozens of files to check through. Now I could check every single file, or I could do what I did, and learn how to automate it in 2 hours. The script took like a second to run. I can now use it whenever I want too.
I spend a lot of time with banking apps from all around the world. People should not be surprised by the lack of SSL pinning here. You have no idea how bad it is.
You don't want to mess with bank apps. It's illegal I'm pretty sure and even if it's not who keeps a bone headed judge who still uses a nokia as his only "smart" device from charging you with some sort of hacking? Especially if you show everything on a video for the whole world to see?
'clearly done so the bank can charge you $17' I don't think it's clear at all. It's pretty rare to ever need all your statements, so maybe it wasn't a "user story" in their design process and didn't get accounted for. And while it does seem a bit silly to query the database for all statements, conceivably it was just the easiest way to meet the deliverable, because the backend can just serve all the statements while different front ends (i.e. browser, app..) do the filtering? I guess I mean, as a programmer I think people overestimate how much is deliberate rather than just arbitrary in software development.
Sort of. WireShark is more focused on inspecting TCP/UDP network packets (transport layer), while Charles/ProxyMan/Surge focus on inspecting HTTP requests (application layer). WireShark is also built for Macs.
Wireshark for Mac is Wireshark for Mac. There's some overlap here, but Charles is a lot more focused on what it snoops and is limited in scope compared to the shark.
As a teacher, I did something like this for Canvas. There was an obvious lacking feature, so instead of eating my time, I made a chrome plug in to add a button to do the feature for me.
@@senatuspopulusqueromanum Just buttons for full marks, and no marks. Weirdly this isn't a build in thing. You have to go through each question and type the grade in.
@@Mathhead2000 ohh, makes sense. How did you do it, I know theres an API thing in the settings, but I'm not sure how I would do something for my canvas
@@senatuspopulusqueromanum Oh no. I just read the source code and created a Google Chrome plug in which created the buttons and correct Javascript when it was clicked. It was brittle, but worked fine for me.
The way you execute projects is has tons of learnings for a newbie like me who is really interested but gets lost during the research part but somehow creates it by not giving up! 😅
Why wouldn't using a self signed CA certificate on your phone, and MITM all requests by having the proxy decrypt it and then forward it using a forged certificate derived from your self signed CA like it does with all other HTTPS/SSL/TLS MITM attacks not work?
@@sophiophile This will not work, because the app is (or should) check the certificate of the server. The real certificate is known and saved in the app. After receiving a response, the app should check if the received certificate matches the saved certificate. So, it's not about the response having any certificate, which would allow MITM attacks, but the response should have the known good certificate. Search "certificate pinning" on Google.
I love taking a simple repetitive task, and turning it into a multiple hour, sometimes even days, programming project to automate it. It's just a lot more fun and satisfying to automate things.
I wanted to get my 6 years of bank statements from my Romanian bank when I moved to the UK, and they only allowed me to print it. They didn't ask for money for that, but I paid a nearby office supplies shop to use a Xerox scanner with an automatic feeder like 15 euros to get a PDF of the whole stack of papers. 10 years later that PDF is still in PDF form, I ain't got time to write the OCR for that xD
Reminds me a little bit of that one airline website that didn't allow me to purchase a ticket because my card's expiration year wasn't in the dropdown list. So I did what a good little front-end guy does and was able to book that flight. Still crazy to think how much bisiness they'd been losing due to bad actual front-end design.
The thing is, if you never do technically irrelevant stuff like this, you never gain the experience to built something when it’s really really relevant. Saving time is one thing; having once again experienced how to solve a problem end-to-end is practice on how to catch fish instead of constantly buying it. ❤
Having the ability to automate things is one of the best skill you could possible have. I always had a problem with twitter not bulk deleting your tweets and all of the external tools for that are limited to 3k tweets. In literally 10 minutes i made and script that look through all of your tweets and delete them all.
I was taking a couple pictures using my laptop computer but they were all mirrored and I couldn't find the option to disable it from the settings, so instead of opening the 2~3 pictures and flipping them in an image editor (~1 minute) I made a python script that runs each time I open the pictures folder that flips all images and renames them (so they don't get flipped multiple times.) 1-minute to 2.5-hour task completed successfully 😎
I have the exact same problem a year ago. I was not in my country to get the statement so I can only access it through the mobile app. I also thought about python script, but I didn’t know where to start so I was just gave up on the idea. This is immensely helpful. Thank you.
honestly, I doubt the bank doesn't have a download all button on purpose, it's likely the engineers just did the bare minimum to get the "history" feature out. The fact that you get all the statements over 4 years in the initial request speaks volumes about how much the eng team cares.
Its generally workers that doesnt know how their system works (cant expect a bank employee to know coding and how these things works) and software engineers exploiting their lack of knowledge by giving them bare minimum "workin" UI. They trying to work things out their old tech knowledge.
Found this very interesting. Small enough example to digest its entirety, but great example from top to bottom of multiple steps in the process and how they are related
Thank you. I am not the only one. I just want to make a button on my web server, that when I push it, it will download my utility bills, that are all in pdfs
Hahahaha, I wanted to make 1 video 10 minutes, animated whiteboard hand drawn style. I have spent last 4 days making a python code that finally works. Why to do something in a simple way? When you know python 😂😂
i caught a fuel theif in my area who used to take out fuel at night from motorbikes using Computer Vision and AWS, Now i walk like a superhero in my area XD
Bash is perfect for this kind of throw away data processing script. Tools like curl, cut, grep, cat, jq, awk, sed, sort, uniq, tr make this a breeze and really fast. You can literally open dev tools network tab and right click a request and "Copy as cURL" to replicate the exact request in a Bash script and you have extracted and formatted your data usually within 10 minutes easily. Most developers not using Linux are missing out. When I have to use Windows for development it's a self inflected handicap, and running "Bash" on Windows is a joke.
wait, they didn't have certificate pinning? It should have been slightly more complex to use charles proxy there. Like decompiling and recompiling with a different cert.
Love it! I also love automating stuff too! I wrote code to auto pay student loans for me since the loan servicer doesn’t allow me to set up auto pay before grace period is up.
I was confused why he would need credit card statement for taxes until i saw the way checking was spelled and realized he is Canadian. Which makes sense that he need to report something like a credit card
This is precisely exactly why companies are lobbying to ban web scraping. They call it 'piracy' when you use your own tools to retrieve your own data. Also - 0:53 be careful with apps like this. This is a great way for malicious programs to harvest session cookies and ship them to third parties. Depending on the app and how much you trust the developer this can easily be used to hack your accounts.
And those banks buying software from those "lazy programmers" is just fine right? There was absolutely no possibility the conversation went something like this? Bank: we pay X Coders: but that will not be enough, we need more. Bank: This is what we offer, take or leave it. Coders: (does want make money for food to survive): we could make it, but with lower quality. Bank: WE DO NOT CARE, JUST GET IT DONE AT THIS PRICE. (the bank does NOT care about customer quality/security)
@@DarkGob It's not? You think it's a "GREAT pattern" that corporations abuse their economic power to degrade customer quality? Degrade security is GREAT because it "was cheap"? Are you a big corp lackey or an idiot?
So funny as a programmer myself I often find myself spending more time to build an automated solution then if I had just done the task manually. But that would be boring and writing code is enjoyable so worth every min.
I've been repeatedly told I need to make a programming portfolio and add it to Github, however most of the coding I do is for weird shit like this that would take longer to explain the backstory than how the tool actually works.
Its useless code, but its my own well documented expandable user-friendly code that I made in an unnecessarily long time that only I will use once in my life
"But, I'm a programmer, so how can I stretch these 17 minutes over hours?" That is the most truest statement I've ever heard anyone say, and I do this all time.
I wouldn’t call myself a coder but I’m really interested - just feeling too silly to understand :/ But this kind of DoGoodThingsToSafeTimeAndMoney stuff makes me happy every time. Thanks man :)
I did that with IEX because the company wanted 20k +2k a year to give us our data so I just ran 14000 web scrapes in 15 minutes a day instead of exporting and modifying the data to run reports lol
Most marxist and anti-corporation CodingWithLewis video
Marxism is pro mega corporations and anti people and small business what are smoking
how? doesnt make sense
o7
@@nomadshiba right? I see nothing remotely marxist in any of this. Lewis as a member of the market, would not bear that cost - so chose another method. Sounds quite capitalistic to me.
@@redneckcoder It's a joke that none of them are and are quite the opposite.
This is perfect. Perfect example of, this could take me 30 minutes OR, I can spend a half day automating it.
A man of culture
auto and free? yeah ill take choice no 2
I find that I may need to reuse a part of a script for another project. In that light, I may also save time when solving other or similar problems in the future
Effort to avoid (future) effort.
in other words, i can do a borring 30 minute task orrr have fun for half a day and get what i want
"How can I take this 17 minutes... and stretch it out over hours?"
You're my inspiration
This is 100% how I pick my next software rabbit-hole, I mean “project” spend 6 months working on something that I could’ve had done in a few days without code. It’s not a glamorous life, but it’s one worth doing with code
oh shit we have the same pfp
@@Nikkuuu69 ur the 3rd person ive seen with this pfp as well lol
Difference between a developer and a software entrepreneur is knowing what pain points are worth investing time into to increase efficiency
I'm a programmer I solve 17 mins issue with 67 hours solution
High IQ
For 10000 people that could work as well
That others will use collectively saving hundreds of hours, that’s why i love coding
Always ❤
I am a noob Python user... I spent a week making a terrible Flask site so that instead of running a script off my pc I can check things off my cell when on the go.
Best week of migraines ever. 😂
Fr, I made a Python script that does all the work in 7 minutes, but it took 3-4 hours to make that fking script. In the end, I was happy and satisfied that i can do stuff and am not useless 😂
yea… but he made a video and script publick. now he might saved someone hours of time. Doesn’t matter how stupid you thinkr task is, you never know when and for who it will be useful in what scenario
yea... but he can re-run his script in seconds as many times as he likes, whenever he likes. Which is useful if he decides to make a change. If doing it manually you have to spend 17 minutes again each time.
@@michaelstreeter3125- He is closing the account though, so it’s likely a one-off activity for him.
I feel that a project like this just for the fun of problem solving and writing the code for it. Yeah, you could just spend the 17 bucks to get printed copies from the bank which you'll probably end up spending half a weekend scanning it all back to digital. OR you could spend a weekend making your finances actually fun!
For me it's the consistency. If I would need to press 1000 buttons correctly, it's bound to have some errors and so much brain strain.
The hyperplexed impression was so jood 😅
This was an awesome part 😂🎉
this. this is how i got into programming. this is the reason i recommend basic programming as a hobby to anyone who uses a computer. i love these types of videos because they're the exact type of crazy pointless things i do.
Why spent 10 minutes doing something when you can take hours??
@@CodingWithLewis truly a programmer of culture (i can relate lol 🥲)
Ikr? At least you are not bored then and can save other people's time afterwards too
Well, I wish I could get a job with this 😅
You can? @@oioio-yb9dw
Instructions unclear: The bank interpreted my python as a “threat” and said I had “intent to rob”
i like your profile picture
I'm a Banana
Very relatable. Why spend 17 minutes when you can spend hours to automate the task that you will never have to do again?
looks like not a secure app, you should not be able to intercept traffic in a secure app (i.e SSL pinning ), and the app should refuse to do anything
hmmm, exactly i don't understand.
In addition, he calls the app out for using “dark patterns” when it’s probably just coded lazily so it just returns all the statements at once
It's also weird that a native banking app uses regular REST endpoints instead of an RPC
And fetching every data possible in every request jeez they should innovate pagination in their api calls
And the traffic was unsecured?
I don't belive a bit, you might have dreamed you coded that
Decided to try something new :) let me know what you think of this more "shorter" style content!
We have a hackathon coming up shortly :) join the convo on discord!
How old are you?
I don't see any discord link though
What discord
Lewis, I think it wouldn’t hurt to check with a lawyer or ask someone from the bank if you could do this. I am 90% sure it’s ok but when it comes to banks you could potentially be breaking your contract or something hidden in the terms of service. Just a heads up from a lawyer & programming hobbyist. Love your videos!
@@pedroandrepiccolithat's why he added in that little delay. So the bank would never know!
i made a project once, called it multiterm, you can get for python as a module thru pip, it gives you a screen based system to create terminal user interfaces
What you are working on is WAY more complex than this. Props!
Ah yes - I totally relate to the "I refuse to do this manual, tedious process that will take me 20 minutes so I'm going to spend a week writing software to do it". Many times.
I myself have multiple times turned a 20-minute problem into 2 days of python project. But the benefit I got, the next time I get that 20-minute problem, it would be done in seconds!
0:47 Why is this the most relatable thing ever
I closed my account with this same bank earlier this year. I'm not a programmer and I somehow screen scraped all my records for the past 7 years. You're right, they purposely made the UI barely workable to get you to pay them for what you need.
I did this manually recently. Downloaded all pdfs, copied everything to excel and did some calculations. I found out that the "No cost emi" was not really "No cost". It was less than the normal emi plan but it was way more than what expected.
HYPERPLEXED IMPRESSION LMAOOO
"But I'm a programmer so how can I stretch that 17 minutes to over an hour" is so real and is my new motto!
1. I think you really lucked out with the proxy/man in the middle thing working. Normally mobile apps these days use HTTPS with certificate pinning, which means that you cannot intercept any traffic between your device and the server without modifying the app somehow.
2. I don't think the API getting the 4 years every single time is a dark pattern, I full heartedly believe it is incompetence.
100% incompetence, and it will remain in the code for another 20 years before they decide it's worth fixing 😆
Honestly, they probably just didn't have any support for pagination. That and 20 years of bank statements probably loads only marginally slower than four years. It was the path of least resistance and meant he got to go home at 5. I think that's the real reason
Edit: the lack of encryption is inexcusable though
Thank you for respecting my time enough to make this a ~5 minute video instead of trying to drag it out like other channels would.
Everything you just said in the video is meaningless compared to the fact you can read your bank request in plain text through a proxy. This should never happen. Call your bank and tell them they have a major security issue and they need to stay up all night to fix it. Like today.
he's using SSL unpinning, this is illegal in the US and can get you in jail if the bank wanted to.
@@eclipsek0first it's not a us bank, second do you think it being illegal would prevent actual malicious person to use that beach?
Tell them to use certificate pinning and enforce https all the time and they’re good
What's wrong with it? All apps act like this
If the bank implements a client side check to make the app close in case there's interception in process, some will still be able to bypass the check
Hey, blurring is non destructive and can be unblurred. It is better to block out text you don’t want seen.
I've done something similar. I had to check how much credit accumulated in my account over years, had dozens of files to check through. Now I could check every single file, or I could do what I did, and learn how to automate it in 2 hours. The script took like a second to run. I can now use it whenever I want too.
Bro saved $17.63, wasted a couple of hours writing the code, made a RUclips video on this topic, and earned double, triple, or more.
it's not about the money, it's about sending a message
I spend a lot of time with banking apps from all around the world. People should not be surprised by the lack of SSL pinning here. You have no idea how bad it is.
Reverse engineer the bank app and add the download button next!!
hes on iphone
@Hellscaped you can reverse engineer iPhone apps too lol
@@kaajjaak much more of a pain in the ass to get them working live
You don't want to mess with bank apps. It's illegal I'm pretty sure and even if it's not who keeps a bone headed judge who still uses a nokia as his only "smart" device from charging you with some sort of hacking? Especially if you show everything on a video for the whole world to see?
@@theairaccumulator7144 not hacking if you're modifying the client side
That hyperplexed impression 😂😂
He's honestly the 🐐. Love his vids!
'clearly done so the bank can charge you $17' I don't think it's clear at all. It's pretty rare to ever need all your statements, so maybe it wasn't a "user story" in their design process and didn't get accounted for. And while it does seem a bit silly to query the database for all statements, conceivably it was just the easiest way to meet the deliverable, because the backend can just serve all the statements while different front ends (i.e. browser, app..) do the filtering? I guess I mean, as a programmer I think people overestimate how much is deliberate rather than just arbitrary in software development.
1:14 is Charles not just WireShark for Mac?
Sort of. WireShark is more focused on inspecting TCP/UDP network packets (transport layer), while Charles/ProxyMan/Surge focus on inspecting HTTP requests (application layer). WireShark is also built for Macs.
Charles intercept the web requests and gives you the ability to edit it
Wireshark for Mac is Wireshark for Mac. There's some overlap here, but Charles is a lot more focused on what it snoops and is limited in scope compared to the shark.
Hahaha love your inner hyperplexed! Great video too, love the short style! Got some inspiration out of it as well.
0:51 oh buddy, I smiled when you hit my soul with that one :)
As a teacher, I did something like this for Canvas. There was an obvious lacking feature, so instead of eating my time, I made a chrome plug in to add a button to do the feature for me.
what did u do
@@senatuspopulusqueromanum Just buttons for full marks, and no marks. Weirdly this isn't a build in thing. You have to go through each question and type the grade in.
@@Mathhead2000 ohh, makes sense. How did you do it, I know theres an API thing in the settings, but I'm not sure how I would do something for my canvas
@@senatuspopulusqueromanum Oh no. I just read the source code and created a Google Chrome plug in which created the buttons and correct Javascript when it was clicked. It was brittle, but worked fine for me.
My first Python project in 2004 was a scraper. I still use it today. I just discovered your channel and am revitalized and getting back to coding.
Cant wait for "my wife tried to leave me, so I used python instead."
The way you execute projects is has tons of learnings for a newbie like me who is really interested but gets lost during the research part but somehow creates it by not giving up! 😅
I'm pretty sure it's illegal in some places to charge for your basic bank information (unless it's an analytical look at your account or something)
How is a bank app not certificate pinned? I wouldn't expect to get much further than the proxy step honestly
At the moment i would find out that the app is not checking the certificate i would switch to a better bank as fast as possible
Why wouldn't using a self signed CA certificate on your phone, and MITM all requests by having the proxy decrypt it and then forward it using a forged certificate derived from your self signed CA like it does with all other HTTPS/SSL/TLS MITM attacks not work?
@@sophiophile This will not work, because the app is (or should) check the certificate of the server. The real certificate is known and saved in the app. After receiving a response, the app should check if the received certificate matches the saved certificate. So, it's not about the response having any certificate, which would allow MITM attacks, but the response should have the known good certificate. Search "certificate pinning" on Google.
Tried something similar once, got temp ip banned from accessing my bank probably because I missed a header or something eeek.
I love taking a simple repetitive task, and turning it into a multiple hour, sometimes even days, programming project to automate it. It's just a lot more fun and satisfying to automate things.
I wanted to get my 6 years of bank statements from my Romanian bank when I moved to the UK, and they only allowed me to print it. They didn't ask for money for that, but I paid a nearby office supplies shop to use a Xerox scanner with an automatic feeder like 15 euros to get a PDF of the whole stack of papers. 10 years later that PDF is still in PDF form, I ain't got time to write the OCR for that xD
Have you checked the PDF? The scanner may have OCRed the pages and embedded the text in the file when it saved the PDF.
@@mlindholm I'd be genuinely impressed, but I'm not sure it did that. Text is not selectable, which is the usual telltale sign
"I'm a programmer, how can I take this 17 minutes and stretch it out over hours?"
So true lol
Me: I should figure out a way to automate this
Lewis: I hacked a bank to automate this
Reminds me a little bit of that one airline website that didn't allow me to purchase a ticket because my card's expiration year wasn't in the dropdown list. So I did what a good little front-end guy does and was able to book that flight. Still crazy to think how much bisiness they'd been losing due to bad actual front-end design.
Projects like these are why I got into programming in the first place.
Fixing annoying problems that simply shouldn't exist.
The thing is, if you never do technically irrelevant stuff like this, you never gain the experience to built something when it’s really really relevant. Saving time is one thing; having once again experienced how to solve a problem end-to-end is practice on how to catch fish instead of constantly buying it. ❤
This is amazing I like how you found a way to get the web requests through your phone via proxy
if the bank is fetching ALL your records at once then it seems easy to crash their servers if your devious
With my cookie attached 😅
Sounds like a great way to get the feds to visit you
"Hi, this is a robbery, by the way here is my passport, SSN and (pulls out a heavy stack of papers) my entire life worth of documents"
This is great! Thanks for making a video about this, today I learned how to extract requests from a phone app using a proxy.
Having the ability to automate things is one of the best skill you could possible have. I always had a problem with twitter not bulk deleting your tweets and all of the external tools for that are limited to 3k tweets. In literally 10 minutes i made and script that look through all of your tweets and delete them all.
2:30 you fricking legend 😂😂
Yes we need more videos, code/ function where it could be used for daily life rather than for corporate scenarios.
I was taking a couple pictures using my laptop computer but they were all mirrored and I couldn't find the option to disable it from the settings, so instead of opening the 2~3 pictures and flipping them in an image editor (~1 minute) I made a python script that runs each time I open the pictures folder that flips all images and renames them (so they don't get flipped multiple times.)
1-minute to 2.5-hour task completed successfully 😎
LMAO, that hyperplexed moment got me dead!!! So funny, wish he actually was in this video lol!
I have the exact same problem a year ago. I was not in my country to get the statement so I can only access it through the mobile app. I also thought about python script, but I didn’t know where to start so I was just gave up on the idea. This is immensely helpful. Thank you.
One of your best videos imo. I love learning practical applications that I have never even thought of.
honestly, I doubt the bank doesn't have a download all button on purpose, it's likely the engineers just did the bare minimum to get the "history" feature out. The fact that you get all the statements over 4 years in the initial request speaks volumes about how much the eng team cares.
lol i liked the hyperplexed refrence
Its generally workers that doesnt know how their system works (cant expect a bank employee to know coding and how these things works) and software engineers exploiting their lack of knowledge by giving them bare minimum "workin" UI. They trying to work things out their old tech knowledge.
Found this very interesting. Small enough example to digest its entirety, but great example from top to bottom of multiple steps in the process and how they are related
How does charles overcome HTTPS? Does it MITM your bank?
And no certificate pinning in banking software ?
And that's why when my dad asked me why was I looking into things one by one, I just said: believe it or not, manually is faster
First video of yours I've seen! Subbed and def would like to see more stuff like this!
Thank you. I am not the only one. I just want to make a button on my web server, that when I push it, it will download my utility bills, that are all in pdfs
THAT should be illegal, and you are right it's about making the experience hurt just enough that you'd rather just pay the fee.
Hahahaha,
I wanted to make 1 video 10 minutes, animated whiteboard hand drawn style.
I have spent last 4 days making a python code that finally works.
Why to do something in a simple way? When you know python 😂😂
That way you never have to do it again!
The fact that your bank doesnt have cert pinning is the scariest part of this video.
chaotic good, love solutions like this
i caught a fuel theif in my area who used to take out fuel at night from motorbikes
using Computer Vision and AWS, Now i walk like a superhero in my area XD
This is partly the reason I save every correspondence. Every statement, every letter, every email, from everyone.
save this one too, how many GB you up to btw?
Such a cool project. Love the onus! It sucks how paper is cheaper than paperless
loved the hyperplexed segment and yea stuff like this is why im glad i chose to be a programmer even tho the job market is shit rn
Dude. I’ve been tryna create a good algorithm to read my banks statement pdfs also for like a year so this hits close to home!
This video was like eating a bag of chips that we good, satisfying and a quick snack . Thanks buddy.
banking with rbc was your first mistake. One time they kicked me out of a branch for asking "too many" questions
As a long time RBC customer (terrible bank), I recognize those blurry app, website and statement layouts!
Bash is perfect for this kind of throw away data processing script. Tools like curl, cut, grep, cat, jq, awk, sed, sort, uniq, tr make this a breeze and really fast. You can literally open dev tools network tab and right click a request and "Copy as cURL" to replicate the exact request in a Bash script and you have extracted and formatted your data usually within 10 minutes easily. Most developers not using Linux are missing out. When I have to use Windows for development it's a self inflected handicap, and running "Bash" on Windows is a joke.
Yup wanna see more it's always great to watch engineers of your caliber solving problems
I'm curious if that bank will try to press a lawsuit.
wait, they didn't have certificate pinning? It should have been slightly more complex to use charles proxy there. Like decompiling and recompiling with a different cert.
It would be cool to get a real demo on it :)
As all scenarios are not the same it would be interesting too having to solve that little problem lol
Love it! I also love automating stuff too! I wrote code to auto pay student loans for me since the loan servicer doesn’t allow me to set up auto pay before grace period is up.
I was confused why he would need credit card statement for taxes until i saw the way checking was spelled and realized he is Canadian. Which makes sense that he need to report something like a credit card
Why is it not encrypted?
This is precisely exactly why companies are lobbying to ban web scraping. They call it 'piracy' when you use your own tools to retrieve your own data.
Also - 0:53 be careful with apps like this. This is a great way for malicious programs to harvest session cookies and ship them to third parties. Depending on the app and how much you trust the developer this can easily be used to hack your accounts.
No Lewis - it's not a 'dark pattern' used by the Bank to be difficult. It's what stupid/lazy programmers do.
And those banks buying software from those "lazy programmers" is just fine right?
There was absolutely no possibility the conversation went something like this?
Bank: we pay X
Coders: but that will not be enough, we need more.
Bank: This is what we offer, take or leave it.
Coders: (does want make money for food to survive): we could make it, but with lower quality.
Bank: WE DO NOT CARE, JUST GET IT DONE AT THIS PRICE. (the bank does NOT care about customer quality/security)
@@marcusjohansson668still not a dark pattern. Words matter.
@@DarkGob It's not?
You think it's a "GREAT pattern" that corporations abuse their economic power to degrade customer quality? Degrade security is GREAT because it "was cheap"?
Are you a big corp lackey or an idiot?
It’s August I’m not supposed to think about tax season 😭😭
Loved the hyperplex reference!
I imagine that feature is not there nit because its a dark pattern, but just because the bank are impompetent
So funny as a programmer myself I often find myself spending more time to build an automated solution then if I had just done the task manually. But that would be boring and writing code is enjoyable so worth every min.
LOLLL word by word, this happened to me and I did the same thing just a bit differently
this is the kind of shit that i love building, tools that make the things i do on a regular basis a zillion times easier
I've been repeatedly told I need to make a programming portfolio and add it to Github, however most of the coding I do is for weird shit like this that would take longer to explain the backstory than how the tool actually works.
How did you deal with SSL on the app? Or is the bank doing it in plaintext (big no-no) or ignoring SSL checks (even bigger no-no)?
"Never attribute to malice that which can be adequately explained by incompetence."
Its useless code, but its my own well documented expandable user-friendly code that I made in an unnecessarily long time that only I will use once in my life
I thought I was the only one who periodically wastes hours of time trying to automate something that would take 15 minutes to do manually.
The irony here is some dev set this up in the first place.
Dev: I can make it so annoying to get statements that people will pay.
Bank: Yes please
"But, I'm a programmer, so how can I stretch these 17 minutes over hours?" That is the most truest statement I've ever heard anyone say, and I do this all time.
I wouldn’t call myself a coder but I’m really interested - just feeling too silly to understand :/
But this kind of DoGoodThingsToSafeTimeAndMoney stuff makes me happy every time. Thanks man :)
I did that with IEX because the company wanted 20k +2k a year to give us our data so I just ran 14000 web scrapes in 15 minutes a day instead of exporting and modifying the data to run reports lol