HNHacker News
TopNewBestAskShowJobs

koblas

389 karma · joined May 30, 2008

Just another hacker - blog has the links to my life - http://skitoy.com
submissionscomments
koblas··on Tales from Mainframe Modernization
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.
koblas··on UI is hell: four-function calculators
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.
koblas··on Engineers do not get to make startup mistakes when they build ledgers
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.
koblas··on Arno A. Penzias, 90, Dies; Nobel Physicist Confirmed Big Bang Theory
I have some good memories and little stories from my brief time working with him. Great guy.
koblas··on Running Speeds
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.

koblas··on Free IRS-run tax filing pilot to be available in 13 states
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.
koblas··on Ask HN: How to switch software engineering domains
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.

koblas··on Most container images in production have serious vulnerabilities
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.

koblas··on Meilisearch 1.0 – Open-source search engine built in Rust
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.
koblas··on Things I’ve learned in my years as a software engineer (2021)
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.
koblas··on Twitter Futures
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.
koblas··on Stripe’s real pricing: a primer
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.

koblas··on Show HN: I made a 2D shoot 'em up game with Go, using Entity Component System
Great work here, while I suck at games, it's great to see how Go can be used to build browser based applications.
koblas··on Commission proposes to accelerate the rollout of instant payments in euro
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.

koblas··on Commission proposes to accelerate the rollout of instant payments in euro
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.
koblas··on Commission proposes to accelerate the rollout of instant payments in euro
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.

koblas··on Write better error messages
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.
koblas··on How to build software like an SRE
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.

koblas··on FedNow FAQ
Payments Canada is working on their real-time system, in theory this will be deployed this year.

https://www.payments.ca/real-time-rail-payment-system

koblas··on FedNow FAQ
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.
koblas··on Cull your dependencies
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".

koblas··on The tech sector teardown is more catharsis than crisis
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.

koblas··on High-Security Mechanical Locks (2020)
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.

koblas··on Arti – An implementation of Tor in Rust
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.

koblas··on Arti – An implementation of Tor in Rust
Isn't that just NAT through a SOCKS proxy as transport.

Never would have imaged that use case.

koblas··on Some discouraging anecdotes on how services handle account deletions
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.
koblas··on Examining the covidtests.gov architecture
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.

koblas··on Terraform Scripting Concepts
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.

koblas··on Code Review as a Service
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.

koblas··on Some thoughts on microservices
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.

Page 1 of 6Next →