Christopher Allan Webber

Free as in Monads

Christopher Allan Webber at

Some ideas I don't understand but feel like I would do well to understand.

Claes Wallin (韋嘉誠), X11R5 likes this.

Claes Wallin (韋嘉誠), Claes Wallin (韋嘉誠) shared this.

Show all 6 replies

I would have said that instead of "abstraction" you can talk about "giving useful descriptions" or "giving a representative model" of things.

If you're trying to model something, simplicity is tied to clarity, and clarity is paramount. Describing things with the appropriate level of precision matters. Focusing too much on the wrong details makes for a cluttered and hard-to-use model.

Douglas Perkins at 2015-12-15T22:28:41Z

Claes Wallin (韋嘉誠), Sean Tilley likes this.

I still like to know whats going on underneath ..

always curious.

in my quest for lower latency I'm always looking to trim fat somewhere..

let me explain my motivation:

I'm always struggling with latency

10 second waits for page loads are not acceptable..

if we seriously want more people to use our federated networls rather than centralised platforms we need to get latency down on our servers.

people expect a response from as server as quickly as they are nowdays used to on facebook, google, etc..
and unlike most people believe, the worst bottlenecks are on on our own servers, where we *can* do something about them!

yes people talk a lot about shaving half a second off here or there by putting a server closer to the user or doing whatever is the current marketing flavour of the month  but these days even if the user is on the other side of the planet what can be gained by those things is usually small compared to that wait for our server to actually start sending a response!
(for any server hosted where connectivity is reasonably good)

If we can trim down whats holding things up on our own servers it would be "fast" enough!
 
Frameworks buffering everything before they send *anything* is the elephant in the room there -
nearly every framework does it but nobody has yet ever offered a decent explanation why - and of course changing that also mean maybe using three templates for something in a theme instead of one, but surely thats not too bad given the benefits!

that is why things always get so hacky here and why some of the most important stuff here still runs on code written in the 90s!


michaelmd at 2015-12-16T02:19:15Z

Introductory section just made me think of good old Swedish metal band https://en.wikipedia.org/wiki/Abstrakt_Algebra. :-)

Claes Wallin (韋嘉誠) at 2015-12-16T10:31:49Z

I find people's aversion to abstraction pretty confusing. Everything works via layers of abstraction. Abstraction is the most fundamental and important concept in engineering. For example: Digital circuits are implemented in terms of (i.e. an abstraction layer over) analog circuits. There are groups of people that want to use C for everything because they don't like high-level languages, but I certainly do not want to be concerned with the minutia of manual memory management when thinking about high-level problems like in a web application. It's absolutely crucial in good software design to construct a language that makes it easy to express the solutions to problems in the domain you are concerned with.

tl;dr - Read your SICP, folks!

David Thompson at 2015-12-16T15:16:58Z

Paco Vila, Claes Wallin (韋嘉誠) likes this.