5109
Fast and Easy Pickled Onion | Recipe | ChefSteps
1 Red onion, large
300g Red wine vinegar, or vinegar of your choice
300g Water
60g Sugar
20g Salt
2g Chili flake
2g Caraway seed

Soak 1 hour, drain.
recipes 
july 2018
I 'cracked' the sous vide hard boiled egg. Test my method out. I think it will be your go-to. : sousvide
185F for 10m (warm) - 12m (frig cold).
158F for 30m.
Ice bath if need cold.

2nd protein in egg whites sets at 180F, hence 185F for 10m.
Egg yolks develop sulfur smells at 170F, so limit the time over 170F.
recipes 
july 2018
The Art of Aeropress: Make 10 Kinds of Coffee Like Pro Baristas
Coffee: 22 grams
Grind Size: Setting 4 on Handground
Water: 260 grams at 203F
Water-to-Coffee Ratio: 12:1
Brew Time: 3:30
recipes  coffee  aeropress 
july 2018
framework for writing jdbc drivers, sql parser, etc
execute jdbc queries against in-memory domain objects
programming  java 
july 2018
How to GET a Cup of Coffee
kingdom of nouns-ish, with a purist HATEOS approach
programming  rest 
june 2018
Swift 4 KeyPaths and You - klundberg.com
let kp = \Person.address?.fullAddress // returns WritableKeyPath<Person, String?>
swift 
june 2018
Startup Interviewing is Fucked
Build something real together. The very act of doing that entirely changes the power dynamic; I cannot stress that enough. Whereas previously you had someone struggling to find out a secret only you were initially privy to, you’re now working together on a problem neither of you have a firm answer to yet. Before it was adversarial; now it’s collaborative.
interviews 
june 2018
proposal/24301-versioned-go.md at master · golang/proposal
Adopt semantic import versioning, in which each major version has a distinct import path. Specifically, an import path contains a module path, a version number, and the the path to a specific package inside the module.
go 
june 2018
What Happens If Your JWT Is Stolen? | Okta Developer
Tokens can be less secure than user/pass because they bypass 2FA. User-side JavaScript shouldn't have/need the token, use server-side cookies.
programming 
june 2018
Service mesh data plane vs. control plane – Envoy Proxy
Ultimately, the goal of a control plane is to set policy that will eventually be enacted by the data plane.
grpc 
june 2018
Fibonacci Hashing: The Optimization that the World Forgot (or: a Better Alternative to Integer Modulo) | Probably Dance
If you already have a good hash, then mapping large number to small slots is a separate concern.
programming 
june 2018
[strcat] : rust
This project is/was the largest single activity of my adult working life. All I wanted was for it to be done, to ship; we'd scoped, planned, slipped and given-up on plans for a 1.0 "sometime this year" every year since launch. Every day involved another round of intense pressure to meet the contradictory demands of absorbing advanced features from C++/Lisp/Haskell/Scala/Cyclone, pursuing a "fastest in the world" performance target, paying off technical debt for all the mistakes we'd made thus far, maintaining internal consistency and correctness, and stabilizing and shipping a finished product on some plausible timetable.
rust 
june 2018
Hasselback Potato Gratin Recipe | Serious Eats
Looks easy: potatoes, sliced on mandolin, with cream and cheese.
recipes 
june 2018
A ‘Cash Cow’ is on the Agenda – Drew McCormack – Medium
freemium: in-app purchases buys all features released from now+1 year. you keep those features (+ bug fixes) for life. any new features released after now+1 year requires a new IAP.
business 
june 2018
node.js - How do I override nested dependencies with `yarn`? - Stack Overflow
But in the docs to yarn --flat I found a reference to a "resolutions" block that can go in package.json:

"resolutions": {
"package-a": "2.0.0",
"package-b": "5.0.0",
"package-c": "1.5.2"
}
react 
june 2018
React Element and ElementClass Declaration Issue · Issue #20350 · DefinitelyTyped/DefinitelyTyped
The yarn locking algorithm sometimes resolves your packages with duplicates.
It does so consistently when doing yarn upgrade with a package that is also a sub-dependency of another package.
react 
june 2018
Chatbots were the next big thing: what happened? | Hacker News
It’s just like why all voice interfaces are shitty: no one has any idea what the thing can or cannot do. They have a hidden user experience but the interface makes it feel like you’re talking to a human, but it’s so far from being a human.
These interfaces are almost like a dark pattern because of how bad they are.
ux 
june 2018
SparkToro Raised a Very Unusual Round of Funding & We're Open-Sourcing Our Docs | SparkToro
Let me be super-clear about what we’re trying to build: an exciting, high-growth, high quality company that some venture investors might be excited to be part of… BUT, one that preserves the option to do things that wouldn’t fit with the outcomes venture investors need.

* For any year, have option to distribute profits or reinvest
* All profits to go investors until they get their original investment back
* Salaries must stay ~at-market until investors get their investment back
business 
june 2018
DSL Platform – Domain-Driven Design
DDD DSL with aggregates, events, reports, codegen's to java/c#. scored highly on benchmarks as revenj
programming 
june 2018
Distributed Systems and the End of the API | The Quilt Project
A distributed system is one where a machine I’ve never heard of can cause my program to fail. — Leslie Lamport

Any user code that does "client.send(data);" is terribly naive: timeouts, disconnected, reordering of events. This is basically all of:

RPC → #{DCOM, CORBA} → RMI → XML-RPC → SOAP → REST → #{‘REST’, Thrift}

They all assume request/response, usually sync, point-to-point, imperative mutations.

There are seven classes of networks: ring, mesh, star, full, line, tree, bus. APIs don't handle any of these.

Just as higher-level languages like Basic/Java/Python allowed more productivity by *removing* options vs. assembly/C, we need a similar jump over APIs that removes options but brings higher-level productivity.

Most people view concurrency as a programming problem or a language problem. I regard it as a physics problem. - Lamport
architecture 
june 2018
Round 16 results - TechEmpower Framework Benchmarks
java/C/C++/rust/go at top of the list. JS is not. from java, rapidoid, revenj are newbies that do well. netty, vertx are up there too.
programming 
june 2018
SV burgers...I'm sold! : sousvide
This thing was the softest, juiciest burger that I've consumed in recent memory. I used to rarely make them at home, but now that I've found this, I think they're going to become a summertime staple.
sousvide 
june 2018
Peter Bourgon · Go for Industrial Programming
Dependency injection is a powerful tool to optimize for read comprehension. And here I definitely don’t mean the dependency container approach used by facebook-go/inject or uber-go/dig, but rather the much simpler practice of enumerating dependencies as parameters to types or constructors.
go 
june 2018
Watch "GopherCon 2017: Mitchell Hashimoto - Advanced Testing with Go" on YouTube
Testing as a Public API == services come with stubs, also assertions for semantics implemented by user code
Golden files == snapshot testing
go 
june 2018
What's the point of having pointers in Go?
Pointers allow control over memory layout (affects efficiency of CPU cache). In Go we can define a structure where all the members are in contiguous memory.

Java has never been able to fully replace C++ for systems programming at places such as Google, in part because performance can not be tuned to the same extend due to the lack of ability to control memory layout and usage (cache misses affect performance significantly). Go has aimed to replace C++ in many areas and thus needs to support pointers.

Swift/C# do this via structs & classes.
go 
june 2018
go functional programming
Newbies should learn the language they're trying to learn.

The modern programmer thinks a newline is a thousand times harder to type than any other character. If instead you take a newline as only one keystroke, which it is, the fact that your program might not fit on one line is a bearable burden.
go 
june 2018
kepler.gl
Built with Deck.gl, Kepler.gl utilizes WebGL to render large datasets quickly and efficiently.
maps 
june 2018
XPRMNTL
feature flag as a service
programming 
may 2018
Velocity | Code Climate
time to merge, KPIs compared to industry, PRs merged, PRs reviewed, coding days
tools 
may 2018
3 Ways to Focus Your Attention at Work – Brian Grey
Focus, from Goleman of EQ:
Inner: (self-awareness)
Other: (empathy)
Outer: (systems thinking)
business 
may 2018
gRPC-Web: Moving past REST+JSON towards type-safe Web APIs - Improbable
The goals were simple: make it easy to consume gRPC APIs (primarily written in Go) in a modern type-safe Web App (primarily in TypeScript).
grpc 
may 2018
A Dash of Queueing Theory
Cumulative flow diagram:
* the height of the band == size of the queue at that point in time
* the width of the band == time it took for a unit of work
* slope of the (upper) arrival edge == the demand feeding in
* slope of the (lower) service edge == service process

Definitions

* Capacity utilization = * of time the service process was working (not idle)
* Percent unblocked = % of time idle = “100% - Capacity Utilization”
* Average items in queue = estimated as “(Capacity Utilization)^2 / (1 - Capacity Utilization)”
** As capacity utilization approaches 100%, queue size grows exponentially.
* Percent queue time - The average percentage of time spent in the queue for each time, of its whole cycle time.
** Estimated as ~= same percentage as capacity utilization.
** E.g. if system at 95% capacity (never idle), work items spend 95% of their cycle time in the queue
agile 
may 2018
How to save datetimes for future events - (when UTC is not the right answer)
But in the case of future datetimes such as meetings: converting to UTC and saving UTC + timezone name is not resistant to changes in time zone rules. And remember, time zone rules change all the time.
programming 
may 2018
Lambda Cambridge - How Scrum disempowers developers (and destroys agile)
In conclusion, instead of building up the management experience and product understanding of the development team, Scrum hives these functions off, giving the developers much of the responsibility but little of the power. The Scrum master who should be a technical and people leader is sadly often a project manager with a very limited amount of training.
agile 
may 2018
Every argument is two arguments, or the rise of private-sector censorship | ERIC POSNER
It’s enough to make your head spin, but the pattern is pretty clear. Person #1 makes an argument. Person #2 might criticize the argument on the merits, in which case we have a rare single-argument encounter. But with increasing frequency, Person #2 says (in essence) that Person #1’s willingness to make the first argument shows that Person #1 is a “creep,” or a fascist, or is acting in bad faith, which always is meant to imply that Person #1 should be fired from his job, or deprived of a public forum, or not taken seriously—should be publicly shamed.
misc 
may 2018
Schema evolution in Avro, Protocol Buffers and Thrift — Martin Kleppmann’s blog
One way of looking at it: in Protocol Buffers, every field in a record is tagged, whereas in Avro, the entire record, file or network connection is tagged with a schema version.

At first glance it may seem that Avro’s approach suffers from greater complexity, because you need to go to the additional effort of distributing schemas.
programming 
may 2018
2 Fast 2 Furious: migrating Medium’s codebase without slowing down
Medium moved to react to apollo graphql to sangria to grpc
grpc 
may 2018
Generating Unified APIs with Protocol Buffers and gRPC
Used odie to add a EntityFields codegen class that was driven from grpc IDL, at first read/write from db, but later would read/write via grpc microservice
grpc  microservices 
may 2018
Envoy Proxy - Home
ADVANCED LOAD BALANCING
Envoy supports advanced load balancing features including automatic retries, circuit breaking, global rate limiting, request shadowing, zone local load balancing, etc.
microservices  grpc 
may 2018
lyft/domic: Reactive Virtual DOM for Android.
reactive DOM-ish but with native android views
java  android 
may 2018
Announcing Envoy: C++ L7 proxy and communication bus
Envoy runs on every host and abstracts the network by providing common features (load balancing, circuit breaking, service discovery, etc.) in a platform-agnostic manner.
microservices  grpc 
may 2018
Style Guide  |  Protocol Buffers  |  Google Developers
Use CamelCase (with an initial capital) for message names – for example, SongServerRequest. Use underscore_separated_names for field names – for example, song_name.
grpc 
may 2018
Packaging Generated Code for gRPC Services
The heart of the gRPC service library generation process is a Git repository to store the proto files. The idea here was to have a central place for all of Bugsnag’s service definitions.

examples in java/ruby for building/pushing the jars/gems to artifactory
grpc 
may 2018
Building scalable microservices with gRPC
The popularity of gRPC has grown dramatically over the past few years with large-scale adoption from major companies such as Square, Lyft, Netflix, Docker, Cisco, and CoreOS.
grpc 
may 2018
Introduction - Conductor
Workflow engine based on JSON + wire calls. Similar to AWS workflow engine?
microservices 
may 2018
Netflix/Hystrix: Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevit
Hystrix is a library that helps you control the interactions between these distributed services by adding latency tolerance and fault tolerance logic. Hystrix does this by isolating points of access between the services, stopping cascading failures across them, and providing fallback options, all of which improve your system’s overall resiliency.

Also does parseq-style request batching.

Technically not grpc.
grpc 
may 2018
(6) +1 #320: You Buddha And Your Fundies - YouTube
average performance practice something until they get it right. elite professionals practice something until they cannot get it wrong.

even the buddha meditated, b/c even his happiness was impermanent. focus on the fundamentals
performance 
may 2018
« earlier      later »
accounting advertising agile ai ajax algorithms amg android architecture art audio aws backup banking bizo bodybuilding boo books bugs business c# cache carpet cars chairs charts clothing coffee colors communication competitors cooking couchdb css cygwin dabbledb database del.icio.us design design/sparklines designers documentation drugs dvr dynamo eclipse ecommerce economics education email engineering exercise filetype:gif filetype:pdf finance firefox fitnesse flash flickr flute flute/discussion flute/ff flute/music flute/performances flute/used fonts food forbes freebsd furniture fuse games gardening gifts gis git go google government graphql grills grpc gtd guns guns/suppressor gwt gwt/bugs hadoop hardware health history hosting hotkey house/tables household html html/editor http humor i3 ie imaging interviews investing iphone ipod java java/gui java/jta java/multicast javascript jquery js js/jquery jsr168 jta keto keyboard knives labels laszlo lifting linux mac management markdown marketing math mealkits media:document media:image medicine memcache memory memory/apps messaging methodology microservices misc mom motivation music mvcc netty networking oauth office omaha orm os outlook outsourcing parenting parsing patents patterns performance philosophy photography photos photos/libraries php physics pm pocketpc podcast politics postgresql ppc presentation productivity progamming programming psychology python quickbooks quotes ra rails react realestate recipes regex religion remodeling remote research rest reviews rfc richclient richclient/javascript rowing rss ruby running s3 saas sales saunas scala scalability scheduler science scm scoliosis scrum security seo shipping shopify sleep smalltalk soap sousvide spark speech sports sql ssh ssl statistics stocks svn swift tags tapestry technology tempagency testing thinking thinkpad threads timetracking tools toread trac travel tvs typescript ubuntu ui uml unix usecases ux vc video vim violin webdav wiki win32 windows wmii writing xml xmonad xp yc

Copy this bookmark:



description:


tags: