HN user

krenel

145 karma

Jan Carreras Prat

Email: contact@jcarreras.es

Posts4
Comments41
View on HN

[EU/SEPA Only] If you have signed a B2B SEPA Direct Debit (SDD), it's enough to revoke it on your banking portal as you have mentioned. Your bank is required for a signed Mandate to be able to debit your account. If you have been debited already for a B2B SDD, you only have 3 inter-banking business days to try to Reject the payment (if your bank offers that as a service), afterwards the bank that has issued the SDD is not legally bounded to return the money.

If it's a Core SEPA Direct Debit, there is not the concept of a "signed mandate" but according to the rulebook [1] you have up to 13 months [2] to ask for a Return.

[_sigh_] I've spend so much team reading those rulebooks

[1] https://www.europeanpaymentscouncil.eu/what-we-do/sepa-payme...

[2] "If the request for a Refund concerns an Unauthorised Transaction, a Debtor must present its claim to the Debtor PSP within 13 months of the debit date. [...]"

Shameless plug; I've been playing with a [Redis Server implementation in Go](https://github.com/jan-carreras/ddia) for the past weeks. Mainly as a way to try out things explained in Designing Data-Intensive Applications book (favourite of mine!). Those are the [commands implemented](https://github.com/jan-carreras/ddia/blob/master/commands.md), + TTL + AoF files (for state replication) + config file, ... The "challenge" was to do it without any external dependency other than go stdlib.

I actually build minimal Redis clones in every new language or runtime, or when I want to explore threading models.

100% agree with your advice; I'll definitively try to implement other parts of the Redis service in Go (eg: pub/sub, replication, clustering...) and probably repeat the same exercise when learning any new language.

Yeah, thought the same. The AML team on a bank cannot disclose that the account is being investigated by the regulator, nor give any information to the client about it.

Of course, if the bank wished to do so, they could give information or unblock the funds. But the fines that the regulator can impose to the bank are disproportionate (hundreds of thousands, per individual case) to "convince" the bank to comply.

Thus, is not "the bank" who is doing that to you, it's the regulator, and the agreement between the bank and them. And this "agreement" is a requirement in order for the regulator to give a banking license, so...

Let's be clear, the bank is not gaining anything out of this, quite the opposite: they are at risk of bad reputation, having an angry customer at their offices or calling daily, etc...

It's a very frustrating situation, tho. I do understand that.

For me the use case is: someone leaves a comment that's ambiguous, someone asks for clarification, some people respond _what they think that original commenter meant_, finally originally commenter solves the doubt.

I find myself Control+F the name of the original commenter to see if he/she has replied, because I'm interested in _that_ response — not so much of the interpretation of others.

Wanted to PM you but no contact info, so I'll do it thru here.

Finding solid, dependable people with the right skills and attitude is really, really hard.

1. What are the soft skills of the candidates that you most value? 2. After 6 months, what the most important aspect that you value to decide if it was a good/great hire? 3. Offtopic: Do you have an all time favourite book for growth/self improvement you could recommend?

Thanks in advance!

The book about him[1] explains how he is a workaholic . Not just by the worked hours, but the intensity of those, context switching between projects and attention to detail, pressure teams, etc...

I understand your point about "waste of his position" and that he could have a more balanced life, but as the books depicts him that's not the case. Nor it was when he was at PayPal or Zip2.

Good (audio) book, btw. I would recommend.

[1] https://www.goodreads.com/book/show/25541028-elon-musk

I would agree that we're talking about the same thing, really:

The right technologies for a project are the ones you deem to be right, given appropriate consideration of many factors

It's _usually_ difficult to take into consideration all the factors of a new flashy thing. The unknown unknowns. Thus _maybe_ choosing a trendy set of technologies might indicate that the exercise of balance and consideration you were commenting and that I do agree with 100%, has not been as honest as possible.

When someone comes at your approach wielding a slogan, be skeptical.

I do agree. Although the point of the article is to _lean_ more on "boring technology" side of, and paying extra effort when considering adopting newest flashy things.

Having read the article 3-4 time in the last years, I don't think they say "don't use new things", just "not too many new things at the same time"

Hi mate,

very interesting library. Keep it up.

Improvement suggestion: While reading the README, the JSON library comparison [1] it's confusing, at least to me. It uses symbols like: ○, and △ which are not obvious. I would rather use "yes/no" or the classic check/x (unicode chars, HN does not support them here) if you want to use symbols. I don't know what "△" even means, so I cannot suggest an alternative.

Just my 2 cents.

[1] https://github.com/goccy/go-json#json-library-comparison

Edit: This 2021 I have the objective to contribute more to OS projects. Is it OKay if I submit a PR with the change? Thanks!

I strongly suggest you the Loop Habit Tracker [1][2]. Simple yet powerful app. You configure your habits and associate a frequency, and once done they disappear from the list. You can set up reminders/alarms as well.

The only "tip" I would suggest to you is to open the app once a day. For that, I created a daily habit of "checking my habits". A little bit meta, but it holds myself accountable.

Some of my tracked habits: calling mom/grandma, reading, use Anki, gratitude journal, exercice, drink 1.5L or water a day, meditate, breathing exercices, no screen time after 20:00, etc.

Of course, not meant to disencourage you from doing your own app, just to show how I scratch my very same itch. May the code be with you ;)

[1] https://play.google.com/store/apps/details?id=org.isoron.uha...

[2] It's an OpenSource project! https://github.com/iSoron/uhabits

Well, the parameter of a Timer is of type Duration:

  A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.
Which is not really good because we have to calculate the time between now() and Saturday. If "wall time" changes, the scheduler will not be triggered when expected.

In that case I would not rely on Timer to use it in a cron-like fashion, or trigger a Ticker every second, check the _current_ wall time, and decide if anything needs to be done.

You can read more about Timers, Tickers and Sleeps in this (pretty interesting) article[1]

[1] https://blog.gopheracademy.com/advent-2016/go-timers/

In Python:

  import time 
  time.get_clock_info(name)

where name can be one of those:
  'monotonic': time.monotonic()
  'perf_counter': time.perf_counter()
  'process_time': time.process_time()
  'thread_time': time.thread_time()
  'time': time.time()

Operators are polymorphic. While the + operator is commutative when using on integers/float, it is not currently when used on lists:

>> [1,2,3] + [4,5,6]

[1, 2, 3, 4, 5, 6]

>> [4,5,6] + [1,2,3]

[4, 5, 6, 1, 2, 3]

In dictionaries it would behave differently as well (duplicated keys, etc.)

IMHO the affirmation of

Go is faster to iterate

holds true considering the total lifespan of the project. Golang is more explicit thus requiring more time to define every type but I've never refactored so fast and safe a codebase. In Python the fact that is dynamic makes it more difficult to safely iterate over it (is more statically-typed Vs dynamically typed). About error handling, it's not perfect, but the code is readable, easy to follow and easy to reason about.

Iteration in go is simply harder as you have to be more explicit rather than sketching something out.

I will completely agree that prototyping in Python is way faster. Python is my preferred language for throwaway/prototype code.

Where do you get this idea from?

It's solely based in my experience. I hope it contributes to the conversation.

100% agree. We've just finished to roll out our implementation in Go migrating a subsystem from PHP and receiving around 150req/second and demultiplexing those request to 1500-2000req/second to legacy backends.

The key to the success of the project was that the API was an exact match, and we could compare both implementations for exact requests. The deploy strategy of the new version:

- Reply the real traffic to the new Go service comparing the results with the old one - Then implement a toggle feature than enabled different traffic sources to use one backend or the other - Keep changing backends to the new system and ensure that metrics were unaffected

Having e2e and integration tests for the Golang project was of a huge help, since we could fix all differences using TDD.

Although we changed some of the implementations to take advantage of Go constructs, just a 1-to-1 replacement would have had a huge performance impact.

HTTP Cats 7 years ago

Resta prohibit explícitament per la ICANN la utilització del domini .cat per a pàgines de gats (cat en anglès), llevat que siguin en català o tinguin a veure amb la cultura catalana.

It's explicitly forbbiden by ICANN the use of .cat domain for pages about cats, unless are in catalan [language] or it has to do with catalan culture.

[1] https://ca.wikipedia.org/wiki/.cat

Your comment resonates with me.

I work hard to improve things; most of it was worth it, some of it didn't went well but it was a constant fight with my boss. If I failed, he would bring it back for months.

What worked for me was to step back and get into super pasive mode. Give all the responsability to my manager. I didn't question any of his design decisions, gave support to all ideas even if seem plain wrong unless he wanted honest feedback (usually, he didn't because I would change the original idea). Never say or even insinuate "I told you this was not gonna work"; I just acted surprised and asking to him "ok, what do we do now?". It just took a few months for my manager to start reliying on me, more and more. Now I have even more space for improving things, with the full support of my manager because "he wants me to do it" not "because I push my ideas to him".

At the end of the day, it's not dumb if it works.

Writing lots of code quickly is not a good thing. You shouldn’t be writing more than a few lines of code per day.

Some studies says that on average a programmer writes a few lines per day. So OK.

And if your editor is helping you write a lot of code really quickly, it’s encouraging you to write bad code.

Are you implying that being able to write faster results in more code produced ergo lower quality code? Usually being able to write/refactor/replace/etc faster means you have less friction between the code and your thoughts. You can more easily express what you have in your mind, in the code.

Why? Because it puts pressure on me to refactor.

Make a refactoring without the right tools can be counter productive. Try to refactor a 400 lines of code of Python with Notepad. You will only detect the errors on run time, I promise.

I don’t want my editor to refactor my code.

As far as I know, you editor does NOT refactor you code. YOU are the one who does it. The editor is just a tool that allows you to do it without pain, preventing common errors and helping you to do your jobs, no the other way round.

And not just that. Any good editor should do syntax highlight for you (you are more productive, but this does not imply to write more code). And automatically indenting. And maybe balancing the braces. And a long etc.

The editor is a tool. Any professional should use the right tools for doing its job. Is your best tool a pain-in-the-ass editor and you can do a good refactor as fast as your team mates? Good for you! :D

Not just that. All that has being said by the US media, and all the oficial information released the Govermen is directed to US citzens, without really talking about the world wide implications of the problem.

I'm from Spain. Are we being spyed? Since we have seen too many times that non-american people (even not being in the US) do not "enjoy" the most basic rights in the US... what can we expect?

> But wait, maybe this was manipulation on the photographer's part (know to happen) and the policeman did it by accident?

As always you can not now if this exact photo, in its context, had a reasonable explanation. The thing is that the OP shows tens of photos of people highly injured and it cannot be "just coincidence" or bad faith from the photographer.

This photos remembered me the demonstrations here in Spain. Police brutality looks exactly the same. What a shame.

Fastmail Failed 13 years ago

Same here. Really happy with the service and though I don't make intensive usage of mail I have the Enhanced account[1]. Everything works like a charm, it's very customisable at all levels, I've imported successfully all the emails from my old gmail account and is fast as hell. The service really looks promising.

And about the tech support, I've sent a few mails and they have answered me properly. Sometimes the mail was the tipically pre-made made one though. But it have detailed information about how to solve my problem, so that's cool.

[1] I'm using the 2 month trial. I haven't introduced the credit card yet. Even paying an account is sooo cheap.

Hey, I have a project similar to groundcontrol but un Python, is called RaspCTL[1][2]. You add/execute commands thru a web interface, radio support (using mpd), can manage the daemons, dashboard with the memory usage/processes, processor temperature, etc...

And just right now I'm working on an alarm system, where you'll be able to launch any arbitrary commands or start/stop playing a radio. In a few days I'll release the new version.

BTW, for the ones who have a dynamic IP and want to use a Dynamic DNS service for being able to access to your RPi from the internet, you can check this out[3].

[1] Official site: http://raspctl.com/ [2] Repository: http://code.krenel.org/raspctl [3] http://ip.raspctl.com/

> For the love of god, what is wrong with having an Advanced options panel?

The OP seems to think about the average user and decides that a lot of stuff is not needed in Firefox options. But the average user does NOT click on Advances Options in any case. To be fare, the average user do not click on Preferences at all.

Is not bad idea to have some of this options as plugins, though. But we must remember that if the "average user" clicks on "Full screen" button (or even worse, F11), he/she'll probably have to reboot the computer in order to "fix" de computer.

I understand your point but in my case I don't like Ads and the propouse of the ads itself - they hack you brain and make you to buy things you problably don't need and you are not aware that even exists. Like everybody that surfs the internet nowadays, I have the "Brain-Ad-Filter" but that don't means that some Ads can be really annoying sometimes.

Not having AdBlock installed means that you are OK with the Ads and Ads Companies because you are not opting out.

The only downside is that the content creator is not receiving a little amount of money for my visit. That's right. And it's a pitty. But, most of the time, I would not pay parsonally most of the pages I visit with my money, and the fact that the creator of the content gets paid by a Ad company thanks to an arrangement that have done is something I don't care. If you really like the content of a page and you want to reward the author, send him some real moeny, or a beer (I have done it and it's awesome!).

> why not use one simple and concise awk statement which does it all in one go? >awk -F: '{print$1}' /etc/passwd ps -ef | awk '/[h]ttpd/{print$2}'

IMO is easier to type the "grep/grep -v" statements than the awk ones. Usually we are more used to use grep and we add pipes and filters until we get the expected result.

I'm using zsh and thanks to the Global Aliases I can do, though: $ ps -ef G something GV grep GV ownpid

> I don't use ad blockers, so I know just how awful many ads are. What is your reason for not using AdBlock?

> [...] I wish people would use it more carefully. What does "carefully" in this context means?

These are genuine questions. I always recommend AdBlock to all my friends and everybody is delighted with it. I would like to have a point against AdBlock, though. Some times people come to me to install "that wired program that removes Ads in youtube"... you know what I mean.

I had to do that and enabling the forwarding of the authentication agent with the -A option in the ssh client was very handy:

$ ssh -A -t office_user@office ssh production_user@production

I have the same private key in all my machines, so this worked transparently avoiding the IP restriction of iptables of the production machine.