a) rewriting in C++
b) pooling some objects
Which one is the right call?
2,558 karma · joined December 10, 2011
a) rewriting in C++
b) pooling some objects
Which one is the right call?
HTTP2 is great if you have independent requests and want to avoid head of line blocking. I'm not aware of any sort of streaming/partial result capabilities for graphql.
Graphql is great if you want to give a trusted client a richer API and/or if your infrastructure has good ways of handling abusive API users.
Google changes extension model for Chrome, breaking ad blockers, reaction seems to be that it's an obvious power grab.
Apple changes extension model, breaking network blocker, reaction seems to be favorable.
Only to find out they barely worked. FWIW the unit tests were pretty solid but the integrations weren't and the graceful degradation story was a little too good.
So we went from no complaints to having an entire department breathing down our next because all of the sudden people started giving a shit about our product (web performance improvements).
ad_proc and online documentation was awesome.
I also had to figure many things out from first principles because documentation was all for PHP and Apache, not aolserver and tcl.
Once I ended up with a bunch of zero length files (presumably metadata was written before content?).
I also, multiple times ended up with errors related to full drives despite by drive not being full. Deleting snapshots seemed to help.
Then I went to a zfs fs on root and never had another problem.
In describing features orthogonal is basically jargon for unrelated and adds no additional clarity imo.
After a couple days it was assigned to an engineer for implementation and of course the first thing he did was unflatten it.
1. URL shortening
2. CDN load balancing
3. Emergency content removal
4. Emergency content rewriting (removing a dynamically generated cache buster)
5. A bunch of other things.
We had a few transforms which couldn't be done in a streaming way, like inserting content in the head based on content seen in the body, so we opted to do none of them streaming. Which does hurt TTFB if your content isn't cacheable.TLS 1.0 relies on MD5 and SHA1 and is no longer PCI-DSS compliant.
In case anyone is curious: TLS1.1 was released in 2006 and TLS1.0 was released in 1999. Fun fact: TLS 1.0 re-uses the SSLV3 version sequence for interoperability. 0x0300 is the 2 byte sequence for SSLV3 and TLS1.0 got 0x0301. Lack of knowledge of the above once led a less experienced me to use SSLv3 for an app in 2011 because "the number was higher".
But as others have mentioned, publicly committing to a specific measurable goal can help others hold you accountable.
function transfer(amount, acct1, acct2) {
var current_balance = await acc1.balance()
if current_balance > amount {
await acct1.sub(amount)
await acct2.add(amount)
}
}
Now what happens if you get multiple calls to transfer? What you want is probably something like: function transfer(amount, acct1, acct2) {
await acct1.Lock()
....
await acct1.UnLock()
}I get that Google changed the way go packages work, but I don't understand the difference between that and literally every package manager in existence.
"The thing I love about Haskell is that even the simplest things become research projects"
However I understand where you are coming from. There's something to be said for environments that encourage learning.
But assuming you represent and process your image as a packed slice of rgba or something, the gc wont be in your way at all.
Source: led team that built production go image resizing and conversion services at walmartlabs.
If the effect is all in my head but it works, then who cares if it's all in my head?
Your LB may have some nines, your individual vms (or set of vms in a region) may have some nines, your data store may have some nines, but if all of them aren't working together it's unlikely your business will be up.
This is inherently customer-dependent and yet it's super predictable (nobody only uses a lb).