Hacker Newsnew | past | comments | ask | show | jobs | submit | shibel's commentslogin

A custom Python/Django based mini-app (mini — at least for now) that will allow me to import transactions sanely and safely to my local GnuCash install.

I’ve been doing tedious manual entry for a bit over two years now and after having missed three consecutive months, the only other option was to bail.

As a start it should help with 3 main things:

- Translation, categorization: my source documents aren’t in English but my GnuCash entries are. This is one of the reasons I don’t use the built-in imports. (This should shave off at least 90% of time spent entering data)

- Human-error prevention: there were at least 5 times where it took me over 15 minutes to reconcile a discrepancy because I entered some number or some account wrong somewhere.


I happen to use Paddle. Happen because Stripe isn’t available in my country and Lemon Squeezy wasn’t around / was very new back then. It’s OK but it really irks me that they don’t really fight chargebacks. (I haven’t had many but the fee they throw on you automatically is so hefty for a B2C.)

Their V1 API (not Paddle “Billing”) is…not the best I’ve used.


The fees come from the bank and are the same on stripe so, that part is just how the game works.

I see the 'not fighting disputes' from both sides; as a vendor it sucks, but for paddle fighting them is a loose loose game, it would cost them say 50-200$ in time to handle each one and they get some of the liability for it too, also imagine paddle gets really good at fighting chargebacks - where do you think the fraudsters will go to process payments?


AFAIK fees are put by banks not the Paddle/Stripe. Stripe also 'charges' $15 for any dispute, even if won.


Agreed on the chargeback fee they really dont give a shit. I have learned to deal with their V1 API, it has a lot of weird quirks. Kinda wish they offered a better upgrade path to the new billing.


Lemonsqueezy is a lot more expensive than Paddle especially if you are EU based. Hidden fees and things like they only payout USD so you are paying exchange fees multiple times.


Off topic: I’m halfway through the article and can’t help but notice the relatively high number of times a word is erroneously repeated twice; wondering if it was “edited” by AI.


Yeah, I also wondered how quick would it be to ~~rip off~~ replicate “diskprices.com for X” and took a weekend (ok more) to build https://tvpricesindex.com (Also using HTMX).

TVs are much less of a “commodity” of course, but it’s a nice experiment that I’ll iterate on a bit more with time. Also, first deploy on Railway (was nice enough, definitely compared to Heroku, but they have a way to go), and using other libraries I wanted to learn.

Will probably start grouping models better soon, and offer other filters.

BTW: If you plan to do something like this with PAAPI (Product Advertising API), know that Amazon has the constant axe of banning you if you don’t generate “qualified” sales for 30 days straight.


The Amazon PAAPI is "interesting" because to even access it, you need to have 3 qualified sales. But... I wanted to use the API to create a website where I'd post the affiliate links on. It's a chicken-and-egg problem. That's why I went with eBay.


Yep, I don't have much experience with affiliate programs (I like to build more SaaS-like apps[1]) but from my research Amazon have gotten really stingy circa 2019. Happy to see an alternative.

[1] I didn't know about the 3-sales precondition either. I guess some people bought albums on Amazon on my other music-related app.


Yep, I'm fighting this battle at the moment. I got the required 3 sales, but then they rejected me a few days later. From the rejection email "Your website/app did not meet our content standards as the content on your site is insufficient."

There's clearly precedent as I know Jeremies diskprices qualifies. Fingers crossed that Amazon play fair...


I don't understand their worries. What are they trying to achieve with this? I can understand e.g. not wanting to have affiliate links on fraudulent/deceptive websites, but how is a search interface hurting anybody?


Using Selenium, even headlessly, Amazon prices can easily be scraped. This could be turned into an API without much difficulty, I imagine.


Yeah, my first lines of Python (or code) were Selenium/BeautifulSoup. The problems with these are sensitivity for (DOM) changes, speed, and scale (not that I'm too concerned with those at the moment, it's just a fun refreshing project).


What’s the point of having [Spoiler Alert] in the opening paragraph if the spoiler is already in the title?


Moaner's Mandate: Regardless of its content, every headline is destined to be the target of at least one disgruntled reader's ire


Editor usually chooses the title. Editor is incompetent.

(Dunno if krebs is a one man show or not)


Rumor has it Microsoft is pushing them to move their infrastructure to Azure, which explains much of the frequent downtimes lately.


Maybe it's the case, but Github has always had issues with uptime and stability.


"Always"? I don't remember it being nearly as frequent before they were bought by Microsoft, some data to back this up would be nice.


Where'd you get this from?


1) A friend in DevOps who supposedly has contacts there.

2) It's not like this push is a big secret: https://www.cnbc.com/2022/10/12/microsoft-github-relying-mor...


Where is their infra right now?


Hi. I’m the author. First off, happy to hear you find that refreshing - it’s a really nice compliment to hear!

I, like you, hate blanket statements. Perhaps I should I’ve emphasized a newbie like me in that sentence? I really knew next to nothing about how web development, and specifically serving your site from a server, works.


Author here. Small world! Would love to see your app if you don’t mind sharing. I’m @SHxKM on Twitter if you’d like to connect.


Unfortunately it’s abandonware now. It was called Showhopping and it would use the Scrobbler API and a list of your favorite bands and find out if any bands you might like (including the ones you listed) were playing in a given area any time soon. You could give it a location and a time range and it would give a list of shows playing on a map with a percentage back based on the likelihood that you’d enjoy the show. It was very lightweight with no sign up and I had it in mind people could use it like Yelp essentially, just ad-hoc.

https://lifehacker.com/showhopping-finds-upcoming-shows-arou...

Anyway, nice to meet you! I enjoyed your write up.


OP here: that’s a good idea that did come up to mind (specifically rotating the Redis queue credentials). I was just sure Heroku’s gonna take care of this shit by now.

BTW, I’m not 100% sure it’ll work: if Heroku updates that zombie dyno’s environment variables, it may still have access to the new credentials :/ (My Redis instance is also a Heroku add-on)


> BTW, I’m not 100% sure it’ll work: if Heroku updates that zombie dyno’s environment variables, it may still have access to the new credentials :/ (My Redis instance is also a Heroku add-on)

If the configuration only read once during startup, the celery process won't use the new configuration unless it's restarted, right?


Heroku will automatically restart dynos if you change environment variables.


Rotate a token, but also mangle it and change to the correct one in code. eg: change database url from `postgres://` to `invalid://` and replace it in code.


OP here: I agree my phrasing is kind of problematic. Will rephrase shortly. Thank you for bringing that up.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: