HN user

fsaintjacques

166 karma

https://github.com/fsaintjacques

[ my public key: https://keybase.io/fsaintjacques; my proof: https://keybase.io/fsaintjacques/sigs/Yg1HeI9vItNn1ALJyYNOqHCuRHrExi62XYyFGXBwUaA ]

Posts1
Comments92
View on HN

I highly recommend anyone to read Google's [AIP](https://google.aip.dev/). There's even a grpc schema linter for it. Put more focus on the resource data design than nitpicking on transport details. I would consider the best lessons to be:

- Optional but supported user defined identifiers, it's so frustrating to work with API that passes you back an identifier.

- String identifier (names) for resources, with some kind of type namespacing, i.e. the prefix in the author's document - Consistent set of fields (create_time, update_time, annotations, ...)

- Avoid dynamic map (this is a JSON self-inflicted wound)

JSON parsing is a minefield, especially in cross-platforms scenarios (language and/or library). You won't encounter those problems on toy project or simple CRUD applications. For example, as soon as you deal with (u)int64 where values are greater than 2^53, a simple round-trip to javascript can wreak silent havoc.

See http://seriot.ch/projects/parsing_json.html

Protobuf support for google's first-class citizen languages is usually very good, i.e. C++, Java, Python and Go. For other languages, it depends on each implementation.

Optable | Montreal and Remote | Golang, React, Crypto | Full-Time | https://www.optable.co

Optable is building a decentralized data management and connectivity platform designed for online advertising. Our goal is to enable advertisers to leverage publisher's first-party data in a world where third-party cookies and globally shared identifiers will disappear. We operate private instances of our software on behalf of our customers. We use modern, secure multiparty computation and cryptographic techniques to allow matching of data while protecting privacy. We are looking for full-stack engineers who are comfortable working on complex backend features but won't shy away from front-end development. We are also looking for a cryptography engineer to help us build cryptography software and protocols.

Please apply by writing to careers -at- optable.co and mention hackernews.

https://www.optable.co/jobs/software-eng-full-stack-dev https://www.optable.co/jobs/cryptography-engineer

Pure Bash Bible 7 years ago

Python is a portability minefield. I'll spend more time trying to get the script/package run than reading the bash script.

AdTech Sucks 7 years ago

rtb bid request volume can easily go 1m/sec, this is not impressions, but offers to buy for an impression.

AdTech Sucks 7 years ago

Technical challenges and salary. In my local market, most jobs are web shops and/or CRUD business applications with low pay.

On SQS 7 years ago

Tables as queues is perfectly legit, one less component to worry about.

As a software engineer in Montreal, you can get above market rate at these companies:

- AdGear

- AppNexus

- Element.ai

- Google

- Hopper

- Shopify

This.

Don't forget integer type defined by implementation. Very easy to shoot yourself in the foot in when consumers/producers are not written in the same language, even more if it's a mix of dynamic and static languages.

Nothing beats a well defined and commented schema.

Does that means you can have fairly recent kernels with LTS releases? If so, amazing. That was my biggest complaint of Ubuntu on servers.

You take a decision based on an offer called the bid request, domain/url/page is part of said metadata.

The catch is that almost all fields in said offer can be faked by a malicious adversary due to lack of security/competence from the exchange.