Some countries don't have cents, some countries have 3 digits of cents. So, yes you can but you also then get thinking you can express everything as ints. But, the moment you need to convert from KWD to VND (84000.00:1) you could be at the edge of the size of a 64 bit int. Note: VND is pretty stable, when currencies start deflating the numbers can get crazy.
Plus, for owners of the HP41, if you had an essay question in your chemistry test you could type in cliff notes... Naw, I never did that.
Many fintechs are not licensed to hold funds and work with bank partners who hold your actual funds. That allows them to say they're insured because they're not co-mingled with the corporate funds in the event of insolvency. This doesn't stop them from making accounting errors.
I have some good memories and little stories from my brief time working with him. Great guy.
Best advice -- find a local running club that does track workouts. The group dynamics will be incredibly helpful as a baseline. Sprinting is big on strength low on endurance, that's why you see muscular sprinters and lean 5k+ runners.
IMHO the biggest factor at being fast is training fast and understanding this is a multi-year effort not a quick fix. Odds are you will need to change slightly your foot strike pattern, this is a long term project, not something that's done in a month.
Good luck.
Are you filling forms yourself or using a service? I'm doing the expat thing and it's still like 90 pages for the final filing.
Keep in mind that the layoffs earlier this year have still had a huge impact on the job market for software engineers. Many companies moved their hiring bar higher and have gotten more selective over their canidates. 2 years ago, if you pretty much had a pulse you could have jumped fields (yes, some jobs did require specialized knowledge).
Many Canadian companies are not doing "interesting" things so I can understand the perspective of being at the long end of the funnel on sprint tasks for a product that might not be getting huge marketing wins. You've already taken the first step at figuring out what's interesting to you. As others have said, start learning about some topic areas find the meetups over those topics and start networking and getting to know people in the field.
Lastly, interviewing is a skill.
I cannot empasis how true this is. The classic UNIX problem was that the LPT printer daemon has an issue (it had lots and lots). But, none of your systems were running LPT, but you still had to patch 1000+s of systems just to maintain a security policy.
What's different between full on UNIX systems and Docker, the possibility of deploying code based on scratch images. Imagine a system which only had the pieces necessary to run in production, your security exception reports would go to zero.
Was excited to see a non-GC'ed search engine that looked solid. But, without having the replicated - distributed version of it in the "free" tier makes it hard to really evaluate.
Touching on the writing point. Think of it as muscle memory, if you watch people put together PowerPoint slides you see that those who do it regularly can create a solid presentation quickly. As a developer, at some point you're going to be writing some basic technical specifications to decompose a project. Even if you've been only writing to yourself, having the ability to quickly pull together a document that communicates with others is an asset.
As an armchair observer I can say that I've learned a lot of interesting things about community, moderation and how being erratic manager can totally undermine your outcomes.
Depending on where you're located you should potentially consider a solution that looks more like Payment Processor -> Hold in Currency -> Bulk Fx to Local currency. Typically business level Fx processing is 2% - with 3% for credit card fees.
At scale your Fx fees can be less than 2% of the conversion amount, I know that at scale the fees can get down to <0.2% if you're moving multiple millions (USD) in a month.
I know that both Adyem and Braintree will capture into local currency, so you can avoid Fx fees by the payment processor themselves.
Great work here, while I suck at games, it's great to see how Go can be used to build browser based applications.
I deal with a few people who clearly receive regular Interac payments, but still haven't figured out how to associate their email with their bank account. Thus requiring the question.
ps. Don't get me started about figuring out how to send automated payments and if you're lucky enough to find a bank that has a broken API to this.
Interac is a network by the bank cartel in Canada, not run by the government. Payments Canada is working on Real-Time Rail as a payment system that is independent from the banks. For example if you send funds to your brokerage they take 24+ hours to arrive, with Real-Time they'll arrive in a minute.
SEPA Instant (UK Faster payments) has been in market for a few years now. While the Federal Reserve is still working on rollout plans for FedNow.
The US "instant payments" is Venmo/PayPal which are secondary to the banks not primary.
The error message that is presented to the user should always be clear and helpful. When an error is presented to the user, you should have matching logging (e.g. sentry) that provides technical reporting on what happened. By having both solutions in place you have error handling that is complete and services both communities.
For golang, but would work in any language. What's really worked is the idea that your main loads configuration and injects all of the configured interfaces into your handler.
You then can build all of the testing on mocks/stubs to test the behavior. If you access a database you access in through the interface which can mimic the appropriate behavior for your code in test vs production. If you need to you can do local integration testing of the db access layer.
Payments Canada is working on their real-time system, in theory this will be deployed this year.
This will be a nice little win for account verification processes. Just doing this to connect two accounts and having to wait the days for the transfers to show up to verify.
This makes me think about the quality of the dependancy. If you could evaluate packages for things like:
* Test coverage -- that's not a metric on NPM * Code practices -- what's the review history * Issue velocity -- hard metric, lots of features vs fixes * Hygiene -- for many languages is typing enforced / validated
I'm sure there are lots of other metrics, but so many times you're just evaluating two packages based on "star count" or "npm installs".
Actually just had a discussion about this and putting the dollars out in front in the hiring process is something that more canidates are looking for in this competitive market. I'm sure it was said something like "this title (grade) pays 380k, is that's what you're hired at". Since levels.fyi has this all documented it still comes down to the interview and your ability to pass the interview and meet expectations for the level.
What they're trying to do is get you to continue with the process and potentially slow down any other interviews by putting the total compensation out there at the start.
One thing that usually overlooked in many high security lock discussions is the key stock thickness. If you look at a typical house key side by side with the high security version it's notably thicker and more durable.
Prevents breaking a key off in a lock by a large factor.
Let me clarify --
I never would have imagined SOCKS being used for this use case. There was no such thing as geo-restrictions or censorship at the time on the internet.
Isn't that just NAT through a SOCKS proxy as transport.
Never would have imaged that use case.
Banks are also regulated by financial crime regulations, which take presence over GDPR. There is an obligation to preserve data for a period of time (years) for this purpose.
If you go with the authors original description that the lambda function for handling orders is small and fast. Probably a bunch of server side validation before stuffing in DynamoDB or maybe into a queue (Message Queues / Kafka). We can assume that the program is small and fast.
If you saw 300,000,000 requests in the month on a 256MB lambda function and 500ms of runtime. It would only cost $678 for the order capture. Maybe my math is wrong here, but not huge in my book.
As a long time terraform user, I've been playing with a spare time project in Pulumi. TF and Pulumi share providers, but that's the extent of it.
My quick observations:
* It's nice to write TypeScript as the configuration language
* The provider documentation is poor and lacks the examples that terraform has, I find my self reading terraform documentation to understand how to configure Pulumi.
* You're constantly fighting with "async" vs "Input" vs "apply" when using a value, basic cases are handled in Pulumi but as soon as you want to do something complex you're toast. Maybe I just am doing it wrong, but that goes back to the lack of docs.
* How it handles dev/production/staging is just a little off from my expectations, not that terraform at it's core does this well either (why terragrunt exists).
Overall it's not bad, but it's not a silver bullet either to the typical problems. And suffers from a "small" community problem where you can't google solutions to problems with the same success.
As somebody who's done a bunch of reviews on the platform you realize a bunch of things about development that we don't want to admit. When I review code for my own team (for my day job), there are many times where internal pressures on my time will make me prematurely stamp LGTM on one of my co-workers PRs that I trust. When I'm doing reviews on PullRequest I remove the "trust" marker in my review along with this strange thing called "economic compensation" where I'm paid to spend time working on it, rather than having somebody ding me for not completing some other task that needs to ship this week so I spend more time reviewing the details.
I think there are a few levels of code reviews that should be in place.
* Automated checks eslint/typescript as examples, you would be surprised at how many companies don't have this!
* Best practices -- react hooks, golang interfaces, calling conventions...
* Testing -- are the tests structure to test good and bad, are they brittle? * Security -- Did you build the right IAM role in terraform, did somebody just checkin their GITHUB key (ok, that should be automated).
* Performance -- Is that Promise.all going to dispatch 1000 calls in parallel.
* Architecture and inter dependancies, there is a limit for a 3rd party here.
Now if you're the Lead/Architect on a project and at a minimum you can outsource the Best practices / Testing portion of the pull request to a 3rd party you now can focus on the architectural dependancies that are really what you care about.
As an architect you can easily provide reviewer notes to the person doing the review that you are interested in focusing on specific areas of improvement across your team. Giving you the coverage to focus on the high level issues and inter dependancies while not focusing on variable names or test coverage.
Your time is valuable, you should spend it on character development not on the punctuation.
There is a huge amount of truth to this. I've been thinking of these as Microliths large monolithic codebases surrounded by service workers (lambda style or queue style).
The biggest problem I've seen is that early applications are not built in a modular fashion. More as a maze of twisty little functions calling each other, where you quickly end up with circular dependancies and other "challenges". If your base monolithic architecture mimics the world of microservices, modular single purpose functions and event busses to pass around information.
Good design is good design.