In mobile, 62.7% of computation energy cost is spent on data movement [pdf] - <AUTHOR> https://safari.ethz.ch/architecture/fall2019/lib/exe/fetch.php?media=onur-comparch-fall2019-lecture6b-in-memory-computation-i-afterlecture.pdf <comment><AUTHOR> One way in which the brain differs from conventional computers is that neurons appear to serve as both CPU and memory storage. Rather than having a few fast CPUs and a large bank of dedicated memory with a few busses (leading to "the von Neumann bottleneck" of data transfer between memory and CPU), the brain has many slow neurons each of which has many connections with other neurons.

So, in-memory computing may be more brain-like.

The brain appears to be very good at massive concurrency with low energy consumption, at the expense of slow serial computation and a high error rate.

<comment><USER2> From a mathematical view on complexity, I don't see exactly the difference between memory and computation. I wonder what would be suitable definitions for the two concepts.

<comment><USER3> You can make sense of the differences abstractly considering the band, the state register and the instruction table of a Turing machine.

<comment><USER4> A Turing machine is just one of many ways in which you could make a computing device. It is one of the easiest to mechanize and program for, which is why we use them but there is absolutely no reason to believe it is the only way of doing things. GP was getting at a more basic form of computation than the specific one performed by Turing machines. From a mathematical perspective the tape, the registers and instruction tables are all implementation details.

<comment><USER3> > absolutely no reason to believe it is the only way of doing things

Well, I did not suggests that.

> From a mathematical perspective the tape, the registers and instruction > tables are all implementation details.

No, they are used to define concepts such as space complexity for Turing machines and there is something to learn from Turing machines, that's why people are studying them.

<comment><USER5> You can think of the Church Turing thesis as providing a formalism for how the tape, registers and instruction tables are all implementation details.

</comment></comment></comment></comment></comment></comment><comment><USER6> Some big part of the data movement can be eliminated by introducing persistent RAM, i.e. the memristor that never happened unfortunately. When the missing component is finally invented I think we'll have an opportinity to revisit some of the core OS concepts, such as a file. Just imagine for a second you have a persistent random-access memory device that doesn't require you to serialize/deserialize things, or move and resolve the binary modules. Your binary module/app will be executed right where it's stored, provided that it was resolved and prepared when it was first copied to your file system. Similarly, a JSON file will be stored as a memory structure rather than serialized JSON (converted to text as necessary, e.g. when viewed in a text editor) Etc. etc.

There are some really interesting changes that can potentially happen when the memristor type of memory becomes available, possibly with its own problems too, but with the huge benefit of moving less data.

<comment><USER7> > Similarly, a JSON file will be stored as a memory structure rather than > serialized JSON

You can do this in C++ right now: mmap a file to a memory region, and just create structs in that region.

This has two problems:

\- normally you want to save at controlled points in time, otherwise you have to worry about recovering from states where some function updated part of the data and then crashed (phone ran out of power etc)

\- just writing a bunch of internal data structures into a file used to be moderately popular and has great performance, but it's a major headache when you ever update them. You end up implementing a versioning scheme and importers for migrating old files to your new application version. At that point a file format that is designed for data exchange is less headache.

In general mmap already offers you a way to treat your disk like memory with decent performance (thanks to caching), and the number of good use cases turned out to be somewhat limited. I doubt just making that faster with new technology will change much.

<comment><USER4> There is a huge difference between what the GP proposes and your interpretation: the GP talks about a structure that is not just a memory backed copy of the data in the file (which _still_ requires an in memory structure pointing to the bits and pieces to make sense of it, or a painful parse step for every access and an impossibility to write back to it).

So the whole structure in its native form rather than the contents of the json file, for instance a graph would reside in memory and could be operated on directly.

Hence the 'serialized' in the part that you quoted. Once you serialize it the whole thing becomes hamburger and needs to be parsed again before you can operate on it.

<comment><USER8> wongarsu is talking about actually mmaping the C structs in memory out to disk. There's no serialization involved: the format on disk is exactly the same as the bytes in RAM, and you rely on the OS to page them in on demand (notably, parts of the file that are never touched by the CPU are never paged in). You get around the invalidation of pointers by never using them: all data is stored as flattened arrays, and if you need to reference another object, you store an array index instead of a pointer.

This is a more common technique than most people suspect. It's taught in most operating system courses [1]. It's the basis for how SSTables (the primary read-only file format at Google, and the basis for BigTable/LevelDB) work, as well as for indexing shards. It was how the original version of MS Word's .doc files worked, and was also why it was so difficult to write a .doc file parser until Microsoft switched to a versioned serialized file format sometime in the 90s. I think it's how Postgres pages work (the DB allocates a disk page at a time and then overlays a C structure on top of it to structure the bytes), but I'm not familiar enough with that codebase to know for sure. It's how zero- copy serialization formats like Cap'n Proto & FlatBuffers work, except they've been specifically engineered to handle the backwards-compatibility aspects transparently.

It has all the problems that wongarsu mentions, but also huge advantages in speed and simplicity: you basically let the compiler and the OS do all the work and frequently don't need to touch disk blocks at all.

[1] [https://www-users.cs.umn.edu/~kauffman/4061/lab06.html](https://www- users.cs.umn.edu/~kauffman/4061/lab06.html)

<comment><USER4> I think we already covered that:

[https://news.ycombinator.com/item?id=21647777](https://news.ycombinator.com/item?id=21647777)

</comment></comment></comment></comment></comment><comment><USER9> Including a copy of Maslow's hierarchy of needs and some green field vs factory slides seems to be .. overselling it a bit?

Fortunately it pulls back towards a "what are the easy wins" approach: in- memory initialising (rather than stream zeroes over the bus, ask the memory to zero itself) and in-memory copy.

The three real problems are:

\- this is only useful if the whole stack "knows" about it, or can be transparently optimised to use it. Otherwise the person running a Javascript for loop to set values to zero will ruin it.

\- this relies on the data being in DRAM-row-size chunks, and moving it around within the same physical chip. That may also require re-architecting to make that common enough to be useful. Locality issues are the downside to distributed systems; the whole CPU architecture is oriented towards continuing to pretend that everything happens in a defined order in a single place.

\- possible security issues (rowhammer?): may seem far off, but if you don't think about it upfront it gets very expensive later.

(Worth recapping: the silicon is fundamentally differently-processed for DRAM, such that implementing complex logic is slow and expensive.)

</comment><comment><USER10> It's not just a problem with data movement inside the machine. Data movement between processes and machines is also horribly wasteful.

Text encoding/decoding wastes massive amounts of energy, which is why I've been developing a format over the past 2 years with the benefits of binary (smaller, more efficient) as well as text (human readability/editability): [https://github.com/kstenerud/concise- encoding](https://github.com/kstenerud/concise-encoding)

<comment><USER11> Waste can be very subjective.

Exchanging text makes the format easier to debug and accessible to humans, which can be a purpose in itself.

<comment><USER12> It should only be easy to debug and accessible to humans when needed IMO. I really think it should be possible to load a "production message", log event or whatever into a debug parser which only then spits out human readable output.

<comment><USER11> Even switching between modes may introduce new kinds of undefined behavior, which may not be visible on the text-only side

<comment><USER10> Every extra step in the process adds another potential failure point. But we're fast approaching a data and energy crunch that will push the industry towards binary formats once more. This is my attempt to keep that shift sane, and avoid the mess of the 80s and 90s.

The implementations are almost done now, and my first tool will be a command line utility that reads one format and spits out the other, so that you can take a binary dump from your production system using tcpdump or wireshark or whatever, and then convert it to a human readable format to see what's going on. I'll probably even put in a hex-reader so that you can log the raw message and then read it back:

        2019-10-02:15:00:32: Received message [01 76 85 6e 75 6b 65 73 88 6c 61 75 6e 64 68 65 64 79]

        $ ceconv --hex 01 76 85 6e 75 6b 65 73 88 6c 61 75 6e 64 68 65 64 79
        v1
        {
            nukes = launched
        }

<comment><USER11> I doubt there is any significant crunch coming from just encoding/decoding the stream. Most of the time comes still from waiting for network resources, and evaling megabytes of add-in JS. Now the same problem applies to JS, and the counter argument for openness and usability are still the same. Compressed transmission and binary parallel transmission in HTTP/2 are also helping with the comms size.

The project still seems cool, I'll have to have a deeper look into it soon

</comment></comment></comment></comment></comment></comment><comment><USER13> The entirety of acceleration hardware industry is based around this fact. Basically every single accelerator tries to move more memory towards significantly simpler (and wider) compute. At the extreme of this is compute- on-DRAM, not a new idea certainly, but one that is yet to materialize. Systolic architectures are also very efficient . GPUs are far less so, their main advantage is relatively good tooling and extensive programmability, not energy efficiency, per se. And CPUs utterly and completely suck at high throughput workloads, power efficiency wise. They do often have enough compute to do e.g. lightweight deep learning though.

Years ago it cost 8pJ/mm to move a byte on-chip. It's probably closer to 5pJ/mm now, but ALUs consume a fraction of this energy to do something with that byte. And once you leave the chip and hit the memory bus, things get _really_ slow and expensive.

</comment><comment><USER14> I think this headline is very misleading. This is about computational energy cost and does not represent what the headline implies (that it's 62.7% of total energy consumption)

<comment><USER15> Yeah on mobile screen and radio dominates the compute part by quite a bit. Not that it's not still worth optimizing.

<comment><USER16> Screen and radio are both data movement tools, so I don't understand the OP's classification process.

<comment><USER17> The next step after in-memory computing: in-screen computing!

<comment><USER18> Maybe not computing, but cathode ray tubes were used as RAM in the forties: [https://www.radiomuseum.org/forum/williams_kilburn_williams_...](https://www.radiomuseum.org/forum/williams_kilburn_williams_kilburn_ram.html)

</comment></comment></comment></comment></comment><comment><USER19> The number one cost of any distributed system is data movement.

Mobile phones are essentially leaf nodes in a huge distributed system, where they interact with "downstream dependencies", ie. the servers that provide all the functionality of their apps.

So it makes sense that moving data would use the most power.

</comment><comment><USER20> A small part of the solution: Let's block ads! Proof: [https://webtest.app/?url=https://www.wowhead.com](https://webtest.app/?url=https://www.wowhead.com)

<comment><USER21> Wow, this website is cool and makes for a fun and very interesting (and telling) comparison between old reddit and the redesign:

[https://webtest.app/?url=https://www.reddit.com](https://webtest.app/?url=https://www.reddit.com)

vs.

[https://webtest.app/?url=https://old.reddit.com](https://webtest.app/?url=https://old.reddit.com)

An order of magnitude increase in page size and energy consumed, and it takes 5 times as long to load, with 5 times the ad requests.

<comment><USER22> Given the current environmental state, there should be a big push to shame these websites for wasting energy. Perhaps if this happened on a larger scale we'd see better designs produced that don't rely on highly wasteful and inefficient virtual machines that are mistook for web browsers.

<comment><USER20> Good idea. Where do we start this shaming? I don't have the resources.

</comment></comment></comment></comment><comment><USER23> Cerebras's "wafer scale engine" [1] takes some of these ideas and applies them narrowly to deep learning training. 400,000 cores, 18GB of on-chip memory, 9.6 petabytes of memory bandwidth in a 1.2 trillion transistor package in a gigantic 46,225mm^2 package.

[1] [https://www.cerebras.net/cerebras-wafer-scale-engine-why- we-...](https://www.cerebras.net/cerebras-wafer-scale-engine-why-we-need-big- chips-for-deep-learning/)

</comment><comment><USER24> "We observe that data movement between the main memory and conventional computation units is a major contributor to the total system energy consumption in consumer devices. On average, data movement accounts for 62.7% of the total energy consumed by Google consumer workloads." [0]

[0] [https://people.inf.ethz.ch/omutlu/pub/Google-consumer- worklo...](https://people.inf.ethz.ch/omutlu/pub/Google-consumer-workloads- data-movement-and-PIM_asplos18.pdf)

</comment><comment><USER25> A major improvement to the energy cost of data movement will come from closer memories, like HBM and on-die stacked DRAM.

<comment><USER26> What do you mean by "closer memories"?

<comment><USER25> Putting memory closer to the CPU, through dense and short-distance interconnects, allowing for much more efficient communication. Eg. [https://www.youtube.com/watch?v=-besHp8HLxo](https://www.youtube.com/watch?v=-besHp8HLxo).

</comment></comment></comment><comment><USER27> Slide 3. Paper [https://people.inf.ethz.ch/omutlu/pub/Google-consumer- worklo...](https://people.inf.ethz.ch/omutlu/pub/Google-consumer-workloads- data-movement-and-PIM_asplos18.pdf)

Still, this doesn't sound right. Screen should be dominant.

<comment><USER28> I don't think they are talking about the phone's total energy; the charts in that excellent paper you linked to have costs for CPU, L1, L2, DRAM etc but no screen, GPU, radio etc.

A long time ago I was a technical product manager for, among other things, this stuff. At the time, the screen completely dominated and the GPU was a distant second, unless you were playing a 3D game, in which case it used almost as much as the backlight. CPU and radio were a long way behind them.

My intuition is that this hasn't changed, as I can still get dramatically better battery life on my new iPhone in iBooks by playing with the brightness slider.

<comment><USER16> Per Carroll's results in An Analysis of Power Consumption in a Smartphone: The backlight is either the lowest power local component (10%, 40mW) or highest (50%, 400mW) depending on how bright it is turned up.

The GSM radio is the highest power component (about 400mw), when it is working continuously (phone call).

Related: a big contribution of smartphone OS optimizations and stuff like wifi 6 is about being smarter about turning off the radio for micro time slices when not needed.

Laptops are similar, but it depends a lot on whether you are using a 15W CPU Ultrabook with no GPU, or 65W mobile workstation CPU plus a GPU.

</comment></comment></comment><comment><USER29> With all of that ad overhead it's reached a point where the actual costs incurred by the user rival the ad revenue gained by the publisher.

</comment><comment><USER30> Most of the data is useless anyway. Bloat factor over mostly text content and an adequate quality picture is huge, probably 10x.

</comment><comment><USER31> ethz going _strong_ these days on HN

</comment><comment><USER32> TLDR: let's put compute inside the memory. I'm very leaning towards calling this bullshit.

Closer to memory compute is what we have been doing for last 10 years, and that's why we have ever increasing hierarchical caches.

Yes the ALUs are a tiny part of the power budget because moving / syncing data is the hard problem. If you want massive parralelism, use a GPU.

The in memory clone and zero could make some sense, but generally you want to start writing to that memory soon after that, meaning you still need to pull it into your cache and the benefit is negated.

<comment><USER33> PIM is already a reality it's just a matter of time until it sees broad adoption. PIM does not suffer from the crippling limitations of GPUs which only perform well with arithmetic bound problems, cannot run conventional non SIMD code efficiently and need a relatively large batch size.

For instance try deserializing a million JSON strings with a GPU. The end result is a graph like memory structure which GPUs usually struggle with. GPUs cannot take advantage of sharing the instruction stream here because it will hit branches for almost every single character and diverge quickly. And finally if you only want parse one JSON object then the GPU is worthless.

A PIM based solution would not struggle with heterogeneous non-batched workloads with arbitrary layout at all but still offer the same performance advantages that GPUs enjoy compared to CPUs and reduce energy usage at the same time.</comment></comment>


Is Clojure an acceptable Lisp? [video] - <AUTHOR> https://www.youtube.com/watch?v=Y0LUZ7gbWbk <comment><USER2> First 25 minutes of this talk is mostly about common lisp, only the last 5 minutes about clojure.</comment>


A Static Future: The magic of compile-time workflows - <AUTHOR> https://joshwcomeau.com/gatsby/a-static-future/ <comment><USER2> "It's exactly the kind of intensely-dynamic application that seems inconceivable to build statically"

Statically is to some degree how these things used to work. Before hosting with databases was widely available, internet forum software (such as UBB) used to work by regenerating all the affected pages when posting new threads and replies. They relied on simple files as the data source. They worked really well to a point, until each update took so long as to be intolerable. The practice was then to prune older content to fix the performance issues.

The biggest problem area for SSGs is sites with user-specific content where dynamic "pop-in" after load isn't a tolerable solution, or where there's a combinatorial explosion of pages. The ecommerce example is interesting because it's not the 50m product pages that's the problem, it's all the faceted navigation/search pages where it _may_ be desirable to support search indexing, the number of unique pages here may as well be considered unlimited. All of these problems are solvable with SSGs to some degree, but there's always going to be a tipping point where the amount of engineering contortion you're having to perform just to avoid using servers isn't worth it. Especially when we have a little thing called cache headers which work really well if you set them up correctly.

<comment><USER3> I think 4chan still does this to generate their site. It's all plaintext files -- even the "api" is just flat JSON files! It would be interesting to see what caching instructions they send to the CDN, because you can definitely notice it sometimes if you're refreshing busy threads.

</comment></comment><comment><USER4> This is not a new concept by any means—it's reviving a concept that has been around since at least the very early days of the web.

It's known as push-based caching, as distinct from pull-based caching.

Push caching: when something changes, you immediately propagate the change to every location, to be valid until replaced. That _used_ to be the standard model. It's precise, but its eagerness can lead to prohibitive storage requirements (combinatorial explosion is very easy to achieve, and now you must store every computed state, not just the wrapping and the data) and cost of editing if the change has to propagate far (e.g. if you put a list of the five most recent blog posts in a sidebar of a site, making a new blog post now requires that _every single page_ be regenerated). Also it's conceptually more difficult to get right—doing no caching is far, far easier.

Pull caching: responses are generated on demand and cached for typically a limited time, meaning that you may serve stale data for up to your cache lifetime. But the laziness (that it doesn't generate everything possible) works in its favour for many situations.

Hybrids are possible. Your cache may have the ability to programmatically invalidate entries, so that if you can calculate which pages _would_ need to be regenerated, you can tell the cache, supplanting time-based caching and potentially yielding the most database-efficient result (no extraneous content generated, but pages cached exactly as long as they will be valid).

Build pipelines like Make are similar: you pull by specifying the resource you require, but its validity is determined by the dependency tree, and the tool essentially pushes things, materialising the necessary resources, until the requested resource is complete.

Push caching has an elegance that pull caching lacks (and I much prefer it, when feasible), but there _are_ reasons why it's not the standard model of the web any more. It's tougher to implement well, and has scaling limits that can constrain your design.

\----

As a practical application of this: in the article itself, it speaks of the reduced costs and better scaling of the static approach. But it doesn't take into account the possibility that you generated a bunch of pages that weren't ever requested (e.g. everyone read the blog post about widgets, but no one opened the list of posts tagged "widgets", even though you had gone to the trouble of generating it), and so could easily have made more requests than you would have if you had instead had regular pull-based caching in place.

<comment><USER5> There are thousands (millions? billions?) of websites that are not replicated, do not use a CDN, have no multiple locations.

When you rebuild the site due to some change, you are updating one single folder heirarchy on one server somewhere. No caching. Just build (and if necessary as a separate step, copy/install).

I didn't not see anywhere in his writeup that suggest that you generate pages based on requests.

<comment><USER4> If you are modifying HTML directly, no cache is involved.

But if you are modifying something that is used to _generate_ the HTML, what you deploy is a complete cache of the operation of building the site. The fact that you could throw it away and build a new version is what makes it match the definition—just because no piece is _colloquially_ known as a cache doesn't stop it from being just that. Build artefacts are a cache of the operation of compiling the source.

To demonstrate this, putting the "requests" part into it: imagine hooking the static site generator up to the server directly, so that a request to /widgets.html turned into "run the static site generator, but only ask it for what it would output for /widgets.html, then respond with that".

The terminology I used is quite correct and widespread in the industry at large—it's just that it's not at all in vogue in the JAMstack world.

</comment></comment></comment><comment><USER6> To be honest, if you dynamically generate a site and include the relevant headers, a web cache in front of the site will do all the "compilation" without any of the headache of a specific ahead-of-time process.

If you get a really large site (= in terms of pages), it's often easier to invalidate an entire cache and allow it to rebuild lazily than go through and linearly reprocess every page, and you don't get any examples of pages having both "old" and "new" content as you browse the site while republishing is taking place (although you can also accomplish this with content-switching once the full rebuild was done).

<comment><USER7> Wikipedia does this. Logged-out readers get cached versions of the Wikipedia page (though they can use a manual "purge" action in order to trigger an update when needed), logged-in users get a SSR version rendered by PHP starting from replica databases. Edits go to the master/source-of-truth DB.

</comment></comment><comment><USER8> I am quite deep into this idea of static website and I had a little of experience building one ( now defunct ) and I provide tools targeted to static website developers ( [https://simplesql.redbeardlab.com](https://simplesql.redbeardlab.com) )

The experience of creating one with python and netlify was superb, you just push out all the pages that you need and you call it done. Simple, fast, cheap, nothing to complain.

However, I need to nitpick the author, what he calls compile time, is "compile time" only in the world of frontend development (and in most of the case is not a compilation step). Moreover, also Gatsby call the step "build" and not compile (and for good reason) so I don't see the reason to introduce another source of confusion. Indeed I was running a python script that at _runtime_ create the correct webpages.

SimpleSQL provides API to interact directly with databases from JS or making API call. That I believe works amazingly for static website, provided that people want to write SQL.

One problem that I see is how to do authentication and I am working on fixing it. Different credentials, one only for logging, and if you are able to login, that you will receive a credentials for accessing your own data. The logging credential can be stored in the cookies or wherever make sense for the application.

<comment><USER9> >However, I need to nitpick the author, what he calls compile time, is "compile time" only in the world of frontend development (and in most of the case is not a compilation step).

I run into that issue with a lot of web frontend terminology. Sometimes, it is harmless, like calling it "tree shaking" instead of the more standard "dead code elimination". Other times, it can cause a large amount of confusion, like with "client-side rendering" and "server-side rendering". In all other contexts, "rendering" refers to the generation of an image. Yet somehow in web development, "rendering" refers to the generation of HTML, and has nothing whatsoever to do with the generating of an image to display to the user.

<comment><USER10> "Tree shaking" is standard terminology in Lisp (and possibly Smalltalk?).

It's also a narrower term, since DCE is used for standard optimizations in e.g. C that have nothing to do with a heap of objects.

</comment></comment></comment><comment><USER11> If your definition of "static site" is simply that the server doesn't generate any HTML at request-time, then any SPA is "static" (just one empty index.html and a web packed bundle.js generated at compile-time and an API call does the rest). But if that's the case the static future started about 7-8 years ago!

Personally I think that if your client script is making AJAX requests that patch the content of the document after the initial HTML is loaded and there's no other way to see that content then it's not a static site. In other words, a static site to me is simply one that works with JavaScript turned off.

The author seems to be talking about JamStack, where-in every change to the content of the site constitutes a recompile. I have serious reservations about using that technique on a site with many users making changes, like a social network or a comment section.

Also, since you're all probably gonna try to fight me; there's nothing wrong with SPAs, and Gatsby and Next.js both do SSR which ticks my "works without JS" box.

<comment><USER12> Interesting point. Wikipedia's definition of 'static web page' quite explicitly includes pages that use JavaScript, it just precludes the server from dynamically generating the pages. To quote: _Dynamic functionality must be performed on the client side_.

An SPA would be expected to use APIs, which wouldn't be static, but if we treat the APIs as separate from the static web page, they might still make the cut.

This random article [1] considers _API-powered static website_ not to be a contradiction.

[0] [https://en.wikipedia.org/wiki/Static_web_page](https://en.wikipedia.org/wiki/Static_web_page)

[1] [https://hackernoon.com/quickstart-an-api-powered-static- webs...](https://hackernoon.com/quickstart-an-api-powered-static- website-1cc140205df9)

<comment><USER11> I didn't mean that a static site doesn't use JS at all, just that it _can_ still work when JS is disabled. It's not that we necessarily expect people to turn off JS, but that the site can still be fully represented using only static files.

</comment></comment></comment><comment><USER13> The static movement needs to figure out a clever way to do Authn/Authz before it will really take off.

If I have to hit a db for that every page I lose a lot of the value and might as well not bother.

<comment><USER3> Don't a lot of sites offload auth to the CDN layer? I think every popular CDN has a way you can do it.

</comment></comment><comment><USER14> The biggest thing about that are CDNs.

The biggest growth pain for sites passing 1 million per hour mark is that the application side is not scaling well.

The moment you go for a multi-DC setup, from then on all your code have to be written with that in mind. Very often that is an overkill just to show some pictures, user profiles, and articles.

Third point, having one or more application servers going down becomes nowhere near as critical when your site was served from a single nodejs instance, which you have to debug under load to see why it crashes

</comment><comment><USER15> Seems to me, you could archive similar benefits by generating your HTML server-side on request (the classic pre-ajax way to do things) but also allowing your generated pages to be cached.

I guess the challenge would then be cache management, as you'd have to return Last-Modified or ETag headers for dynamically generated pages - meaning you'd have to hit the database to populate those headers.

However, seems to me, this could still be less work than statically generating everything up-front.

<comment><USER16> Instead of running build_entire_site when updating content, you can run invalidate_cache

</comment></comment><comment><USER16> > If you change the header component, and that header component is shown on > every page in the site, you will have to give it some time.

To me this invalidates SSG for any busy site with a somewhat large menu. Any time you change the order of some options or rename an item, everything needs to be rebuilt.

If you combine it with something like Edge Side Includes it could work I guess, only rebuilding the part if the page that's needed.

</comment><comment><USER17> I remember some years ago, generating your data files directly into a web- enabled S3 bucket was all the rage. Basically, that's what is now being called "incremental builds".

It appears that the sad story of web development frameworks is that a new team will reinvent the wheel every year so that nothing will ever be fashionable and production-grade at the same time.

I have some internal C++ servers running for 10+ years now. I wouldn't be able to imagine that with Rails. When we set up our current website, AngularJS 1.4 was new and considered very fashionable. By now, everyone treats the entire AngularJS project as archaic.

I predict that in a year, there'll be a new hip web framework and its acolytes will then have their own Heureka moment with static files.

<comment><USER7> 10+ year old C++ is most likely not good C++. I wouldn't trust such a network service to be reasonably secure. There are better solution nowadays even in the web development domain, that don't compromise on performance.

</comment></comment><comment><USER18> It's in Clojure, not Gatsby, but I've been working on statically serving citations to covid-19 data ([https://devpost.com/software/coronavirus-charts- org](https://devpost.com/software/coronavirus-charts-org))

</comment><comment><USER19> Building a component one time and using CDN as a cache seems really efficient. The article also mentions plausibly extending this to support an application like Spectrum. Really curious how would that work since Spectrum has real time chat like features.

</comment><comment> lachlan-sneff What a beautiful page.</comment>


The Problem with Palm Oil - <AUTHOR> https://ethical.net/ethical/the-problem-with-palm-oil/ <comment><USER2> I really feel like the solution here has nothing to do with Palm oil, or any other specific commodity. The solution is for rich countries to pay people in poor countries to take care of their forests. If the market value of a healthy forest is greater then that of palm oil, the forest will survive. If the inverse is true, the forest will be destroyed. If we want people in less developed countries to not exploit their natural resources, we're going to have to pay them more then they could get otherwise, or the resources will be extracted and sold.

<comment><USER3> > If the market value of a healthy forest is greater then that of palm oil, > the forest will survive. If the inverse is true, the forest will be > destroyed.

More precisely: if the market value of palm oil is greater than that of healthy forest, there will be _incentives_ to destroy the forest. That only translates to "the forest will be destroyed" where people / societies have no other values in play beyond their incentives.

Incentives matter, for sure, and using them as a tool to encourage preservation is a good arrow to consider stocking the quiver with. But something important is lost if we assume they're the only things that matter; it's essentially an acceptance of the idea there are no values besides incentives.

[edited "More precisely" conditional sentence to actually make sense, I accidentally swapped the hypothetical and asserted consequence when I typed it out the first time]

<comment><USER4> > people / societies have [...] other values in play beyond their incentives.

Isn't that basically just a non-monetary incentive?

<comment><USER5> Yes, but "incentives" is just a model. Sometimes the model helps; sometimes not. You can fudge the model enough so that everything fits into it, but it's often adding complexity for no increase in clarity.

</comment></comment></comment></comment><comment><USER6> As a soapmaker, I used beef tallow as a primary ingredient for a long time. More recently, trying not to use animal-derived products led me to try palm oil, as it's a nearly perfect substitute for tallow. The properties of palm oil are ideal for soapmaking, as well as many other products.

Palm oil is one of those wonder ingredients that are useful in so many ways, and I truly hope we can find a way to make its cultivation more sustainable. For now, it's most important to know where your ingredients are sourced and the local impacts of harvesting them.

<comment><USER7> You are raising a very interesting point, so. I assume you sourced your tallow locally, right?

So the question is what's more sustainable. Palm oil from another continent or locally sourced tallow from farmers supplying meat locally as well. And I have no idea what the answer is, only that it is an incredibly hard question.

<comment><USER8> I assume that at the scale palm oil is used, the size of an animal industry capable of providing enough tallow would surely be far more unsustainable. The fattier animals that produce tallow in large quantities have a trophic efficiency of 1/5 or 1/6 so for every pound of animal mass they consume 5-6 pounds of plant food. That's a lot of calories wasted just chewing cud.

<comment><USER9> The confounding variable is that the cows would have been produced anyway for food, so using leftover tallow, bone, etc is ecologically virtuous

<comment><USER10> Unless you pay for it.

The cows are produced for money. Muscle meat is one of the most lucrative products, but demand for any part of the cow incentivizes more cows.

It's possible that it would still be ecologically the lesser evil because the market value is low and what you might choose as an alternative isn't necessarily better, but it's not so clear cut as you make it sound.

<comment><USER11> And as many people have discovered, once you try to commercialize use of a 'free' resource it stops being free real quick.

Does anyone making biofuel still get their feedstock for free?

</comment></comment></comment></comment></comment></comment><comment><USER12> Here in Europe, we destroyed our forests more than a millennium ago. Since then, we are profiting economically from all the agricultural land that destruction created. It made us rich.

But we really don't like it when other people want to do the same!

Solution?

We should fill Europe again with thick forests. Not the groomed artificial woods we have now, that really only exist because we can sell the wood after 20 years. We should destroy all our agricultural land and convert it back to dark natural forests, full of large and dangerous animals. Why do we expect the Third World to have all the the economically useless forests?

<comment><USER13> Europe forests are growing again, both because of increased protection and reduction in farming.

[1] [https://www.weforum.org/agenda/2019/07/forest-europe- environ...](https://www.weforum.org/agenda/2019/07/forest-europe- environment/&sa=U&ved=2ahUKEwikhMiF6N7nAhVKecAKHa6GCEkQFjAAegQIDBAB&usg=AOvVaw3yoswzOjEDFhsM6gTrGZRL)

<comment><USER12> > "Sorry, but we can't find the page you were looking for"

<comment><USER13> I tried to remove google tracking bits from the url, but miserably failed. This is the correct link:

[https://www.weforum.org/agenda/2019/07/forest-europe- environ...](https://www.weforum.org/agenda/2019/07/forest-europe-environment/)

edit: anyway, as the parent pointed out, not everything is great, as the new forests, even when not used for wood, are still sort of artificial. But at least there is a trend in the right direction.

</comment></comment></comment></comment><comment><USER14> I've said this before, and I'll say it again: Palm oil is the most efficient oil to extract by practically a factor of 2 [1]. So in the long term, if global supply increases or stays stable, if we replace palm oil crops with another crop, eventually we'll make the problem worse and face more deforestation.

[1] according to this [http://journeytoforever.org/biodiesel_yield.html](http://journeytoforever.org/biodiesel_yield.html)

I wish the article would go more in depth into what it would take:

>Because when done right, oil palms can yield the highest amount of oil per acre of land, and if Western countries drastically decrease their demand for palm oil, that could bring a harsh disaster for many now reliant on a Western thirst for the oil.

<comment><USER15> Your comment has a lot of assumptions.

For example if the choice is between a palm oil biodiesel powered car or an electric one, it makes a difference.

<comment><USER14> Exactly, the focus should be on reducing consumption which, like you mentioned, comes down to consumer choice and policy. less biodiesel cars means less demand means less deforestation.

Thing is, everything has palm oil in it, so reducing global palm oil demand is akin to reducing global consumption of goods.

<comment><USER16> > Thing is, everything has palm oil in it

I feel like this is unnecessarily hyperbolic, unless I'm ignorant about the true spread of palm oil in "everything."

This site [1] says that 72% of palm oil is used for food stuffs, all processed foods, which anyone can eat less of. Most of the remainder is in soap products. That doesn't sound like "everything" to me.

1\. [https://www.palmoilinvestigations.org/about-palm- oil.html](https://www.palmoilinvestigations.org/about-palm-oil.html)

</comment></comment></comment></comment><comment><USER17> Are problems like this an inevitability of international trade among economically unequal parties? If one party offers N dollars per ounce of palm oil, and the other party desperately needs money more than anything else, how could you expect anything less than the most desperate of measures taken to produce as much palm oil as possible?

What are our options? No trade among economically disadvantaged countries at all? Devalue our currency? Paternalistic oversight?

<comment><USER18> When international trade consists only of material and not migrants

Mass wealth can only be generated in advanced economies. For the people of developing countries to benefit their countries must participate somehow in these advanced economies. With globalization they are allowed to participate only by the exchange of goods (either selling manufacturing in developed countries like China or natural resources in undeveloped countries like Congo). Before globalization, they could not participate at all.

Advanced economies like the US and EU allow immigration only in a limited capacity, and they do so in way that benefits mainly the investor class, entrepreneurs and high-skill workers. Consider the typical Silicon Valley visa, the H1-B. The H1-B only allows corporations to sponsor highly-skilled workers to take jobs that are hard to fill with Americans. Think software engineers working at Google. This kind of immigration benefits investors in Google and workers in the software industry while increasing competition for Americans in the market for high paying jobs. Excluded from all of this especially are low-skill foreign workers.

Everyone wants to be rich, and they will not stop this pursuit. As long as the majority of people in this world, those who are living in non-advanced economies, can only become rich by the selling of manufacturing and natural resources instead of their labor, then there will always be billions of people whose work effects the planet's environment in a significantly damaging way.

<comment><USER19> In no way does a H1-B benefit anybody but possibly some execs. It is exploited to drive down wages in our high demand industry. Probably the worst is that instead of taking new grads and mentoring them up there are many places that would rather contract some H1-B instead.

<comment><USER20> H1-B definitely benefits H1-B recipients.

<comment><USER21> Though they may be better off as a result of getting an H1-B, it's not clear that the system benefits them compared to other possible immigration methods.

</comment></comment></comment></comment></comment><comment><USER22> > The Guardian interviewed 66-year-old oil palm farmer, Hussein Mohammad, who > decried the EU's choice to draw down their consumption of palm oil biofuels. > He says, "I have spent all my money on the palm oil farm; I've recently > planted new trees that will last for the next 25 years and my whole family > relies on this. It's how my kids afford to study."

I see the modern environmental movement as a continuation of western imperialism. The developed Western world especially Europe intensively developed their land and eradicated much of their wildlife, in the process of developing the richest civilization in the world. As a result, now the majority of undeveloped land and species lies in the developing world. The modern environmental movement seeks to limit how these countries can develop and what they can do with the natural resources of their countries by using Western social, diplomatic, and economic pressure on these developing countries.

<comment><USER23> except deforestation is no longer a requirement for development and really hasn't been for 100 years. Look at Japan and South Korea (67.00% and 63.20% forestation respectively). Indonesia is already down to 46.46%. Go look at Brazil outside of the Amazon. Mostly deforested already for farmland and it hasn't really brought the country into the 1st world. Agrarian societies are a dead end for development.

<comment><USER22> For Japan's case at least, it seems there was significant deforestation followed by reforestation. I think that was the case in the US as well. It seems that poor countries trash their environment to develop and become rich (see United Kingdom, United States, China). Once they are rich they start caring more about the environment and do things like reforestation and other more environmentally friendly actions.

[https://www.nippon.com/en/features/c03913/japan%E2%80%99s-fo...](https://www.nippon.com/en/features/c03913/japan%E2%80%99s-forests- from-lumber-source-to-beloved-resource.html)

</comment></comment></comment><comment><USER24> To put a face on the problem, this video of an orangutan fighting to remain in its home while the forest is logged out from under it is powerful.

[https://www.youtube.com/watch?v=ihPfB30YT_c](https://www.youtube.com/watch?v=ihPfB30YT_c)

<comment><USER25> Attenborough's recent film "Our Planet" had an episode dedicated to Palm Oil monocultures and the displaced and dying orangutan. Heartbreaking. Good series if you haven't seen it.

</comment></comment><comment><USER26> It's disappointing that such an article doesn't even mention the Roundtable on Sustainable Palm Oil [1] that is set up to address exactly these problems. It's early days but you can look out for their logo on packaging.

[1] [https://rspo.org/](https://rspo.org/)

</comment><comment><USER27> This is one of the most useless comparisons I have ever seen:

"That's an increase of the equivalent of roughly 36,000 Olympic sized swimming pools of carbon dioxide more per year."

Why are we measuring gas inside of a pool? Is that a lot? or a little? I don't think I've ever even seen an Olympic sized swimming pool in person!

<comment><USER28> And how does one visualize 36,000 of them??

<comment><USER27> That part is easy. It's a cube with 33 pools on each side. Duh.

</comment></comment></comment><comment><USER29> The problem with palm oil is that it's an amazing product with amazing properties and is very efficient to produce but unfortunately is best produced in countries that have no qualms about razing their environment to produce it.

We used to clear-cut entire forests in Canada (and still do some of that). We destroy eco-systems for oil production. Brazil razes the Amazon to produce beef and soy. Lots of countries engage in environmental destruction for the sake of the economy. Palm oil isn't particularly bad, it's just choices people make.

<comment><USER30> In the US, palm oil is not a domestic oil, it's one that comes in chemical tankers.

Petroleum & fuel tankers are too gross, those materials may be in the same terminal, but not the same ship as palm or tallow. And they don't need to fully remove every last bit of diesel after discharge for instance before loading gasoline. They fully clean out the heavy fuel and crude carriers far less often, compatibility is usually acceptable. Ship tanks are just challenging to get really clean, depending on what has been in them.

Those developing plantations & ranches are in countries where they need our industrial chemicals, and we seem to consume their products in similar bulk.

It could be considered an uneven exchange, but that's what intercontinental commerce has been for millennia. While shipbuilding has been largely motivated by profitmaking according to value differential, buyers and sellers are both making money so they're accordingly influential.

These are the chemical ships where they have to clean out most compartments after cargo discharge anyway, so they can load something different for the departing voyage.

Chief Mates love it after they have discharged things like Benzene or Methanol in developing countries because they leave the cargo compartments and maze of on-board pipes & valves cleaner than any intentional procedure. And pure chemicals like this just evaporate. They know they can load almost anything after that.

</comment></comment><comment><USER31> The article (as many others) fails to address the single most important question in the palm oil debate.

What alternatives are there if we are to avoid palm oil? How are they more environmentally friendly?

<comment><USER32> Algal oil is a potential substitute. There was a laundry detergent manufactured from algal oil instead of palm oil however there was pushback from consumers because the algae were genetically modified.

[https://www.theguardian.com/sustainable- business/2017/sep/29...](https://www.theguardian.com/sustainable- business/2017/sep/29/algae-yeast-quest-to-find-alternative-to-palm-oil)

Scaling algal oil production is a problem that is currently being worked on.

</comment></comment><comment><USER33> This hits well on my biggest problem with a lot of liberal solutions to climate change: not enough systems thinking. In Europe and elsewhere, politicians got to celebrate the adoption of biofuel, and now they also get to be righteous about banning it. Given how terrible almond production is for the environment as well, I could see a similar move being made there. Who is responsible for evaluating risk in these situations? Who is modeling effects on our ecosystem when they promote $SOLUTION as panacea?

<comment><USER34> Couldn't agree more. That's why simple policies which do not dabble into the how, just the end effect, typically works better (sorry for no references, but AFAIK from my Master's on the subject it's pretty well established).

That's why carbon tax (especially a global one) is such an attractive policy. Of course, there are issues with that as well, but generally it'll probably (and seems to) have the largest and best effect long term.

<comment><USER35> Only if the carbon tax is applied retroactively, with interest, to make up for the dramatic economic inequality generated by countries who already got ahead economically by wrecking the atmosphere. Otherwise, it's just another way developed countries are using to keep themselves ahead of the rest of the world artificially with inhumane international policy.

<comment><USER36> Baloney. If your line of reasoning held, Venezuela would be in a great place. Obviously, the differences between countries of various levels of economic development go far beyond who can put the most co2 in the air. Additionally, we are already seeing renewables become cheaper than fossil fuels. A great outcome would be leapfrogging - just like with cell phones vs landlines.

<comment><USER37> > Obviously, the differences between countries of various levels of economic > development go far beyond who can put the most co2 in the air.

not really. Everything is about energy

</comment></comment></comment></comment></comment><comment><USER38> It might be tokenism or spitting into the wind, but I've avoid palm oil as much as possible for going on 8 years. I read ingredients before purchasing and resist the urge to shop unthinkingly.

Another thing is to research corporations who own particular brands such as this free sample of just some of the villains on supermarket shelves:

\- ConAgra (which owns Angie's)

\- KraftHeinz (one of the worst companies to work for)

\- Sabra (supports occupation of Palestine)

\- MillerCoors (including Blue Moon)

Buy local from independent shops where and when you can.

The diffuse, Tragedy of the Commons of demand leads to circumstances in other parts of the world, be it cash crops for food or for drugs (and sometimes food is the drug).

</comment><comment><USER39> >The (not so) sustainable biofuels

I remember reading some time ago about palm oil converted to biodiesel and immediately became suspicious of the final product as anything but a chance to push the sale of palm oil.

soft oils like canola/linseed, and corn are suited best for biodiesel as their final product is at a much lower gel point than coconut or palm. To run a diesel safely at anything but sub-tropic temperatures with a minimum of waxing or smoking, you'd need gallons of stabilizers and modifiers in the mix.

the place I remember hearing this being used was Indonesia, and only at around 50% for a passenger rail line. This makes sense as its partially using petrochemical diesel as a cheap additive for gel and flow stability.

the UK and EU could improve their biodiesel uptake with better recycling practices. most of east europe is awash in high quality sunflower oil for frying and cooking, and could easily see this waste oil converted.

</comment><comment><USER40> It's refreshing to see an article actually pointing biofuels policy being the dominant driver of palm oil related deforestation. If I remember right another problem is that India was expected to become a big palm oil producer where they are historically one of the biggest palm oil importers. This unfortunately didn't happen, somehow the upfront cost and time to production was something that was somehow difficult in India where Malaysia and Indonesia could do this. Something else I'm curious about is what effects we will see from the recent change in policy in Europe, which is busy increasing the local production of canola/rapeseed crops significantly and I suspect that will have some unintended consequences.

</comment><comment><USER41> The world does not have to run this way. We can make other choices.

Part of the solution could be:

Walkable "first world" cities.

Better public transit.

Passive solar design.

A _less is more_ ethos in developed countries.

Actively valuing and protecting small businesses rather than crushing them under our boot in our rush to cater to big business.

</comment><comment><USER42> A lot of brands in Sweden started advertising "no palm oil" a couple years ago. Now it seems they replaced it with shea oil in some cases. Is that any better?

I feel like the food industry is always in a race with ethics to find the cheapest process.

</comment><comment><USER43> In terms of climate change, palm oil seems to be a really really bad substitute for other oils. I'd support increased tariffs on palm oil, and moneys to subsidize keeping rain forest.

<comment><USER44> Yeah, I had heard palm oil isn't the healthiest for you but didn't realize that it had so many environmental implications as well...

</comment></comment><comment><USER45> I've been to Malaysia and seen this. It's interesting -- just row after row after row of palm trees. Otherwise it would all be jungle, but are jungles useful for local Malaysians? They're full of mosquitos and too dense to even really walk through.

<comment><USER46> Rainforests not jungles. Gotta talk the talk.

<comment><USER45> The people in Malaysia who I talked to used the word jungle.

<comment><USER47> I think poster means "saving the Jungle!" just doesn't have same appeal as "saving the Rainforest!"

</comment></comment></comment></comment><comment><USER48> Why is it on me, the consumer, to worry about unethical palm oil sourcing?

<comment><USER49> um, because you buy it, you're a typical price-sensitive non-1%er and companies produce it in response to your demand?

<comment><USER50> how the hell do you not buy palm oil?

<comment><USER51> The only really safe bet is to avoid purchasing pre-made items, and make your own sauces/treats/cakes etc. We cook all our own meals at home, but buy shampoo + cookies + cakes + chocolate bars (as normal people do). We try to stick to brands we _know_ don't have any palm oil, but I'd wager that almost all our produce doesn't have any in it.

Except I just checked and my peanut butter (whole earth) _does_ contain it, even though I thought it didn't... You might have a point.

<comment><USER52> I have been checking every time for several years now.

If, for instance, the jar that says "peanut butter" on the front does not say "Ingredients: peanuts" on the side, I put it back on the shelf and pick up the next one.

You can't trust brands any more, and it makes shopping an arduous and time- wasting chore. Not to mention the stupid little games manufacturers play with the ingredient list for obfuscation's sake, like adding three distinct kinds of sugar so "sugar" doesn't show up as the first ingredient. Or adding 12 different kinds of filler to a crab cake, so that "crab" shows up as the first ingredient.

<comment><USER51> If you're looking for an alternative to your known goods on occasion (not at home, store stopped stocking it or even just not necessarily knowing that peanut butter can be made from just peanuts), it's easy to get stuck looking for options.

It's easy to be dismissive of the problem and say "just get X", buy you need to know that exists, but you can make the argument for cookies, chips, sauces, dips, soaps...

<comment><USER52> Before checking every time, I only read the ingredient list occasionally, usually at home when eating it. I started to notice things, like this progression:

Ingredients: peanuts.

Ingredients: peanuts, peanut oil, salt.

Ingredients: peanuts, hydrogenated vegetable oil (one or more of: peanut oil, palm oil, rapeseed oil, soybean oil, cottonseed oil), salt.

The company might run up against a supply problem, where they have to choose between a bad batch of peanuts or nothing at all, and they choose to remain in business by "remediating" that bad batch. But maybe their sales actually go up, so instead of going back to basics, they keep doing the same thing, but with cheaper oil. I get it. I don't like it, but I get it. You can make more money by trying to eat Jif's or Skippy's lunch than by catering to purity snobs.

Repeat similar scenarios for other brands of other products, every year, across the whole grocery store. Products try to stay competitive by masking inferior base ingredients with added fat, salt, and sugar, then go on to game the ingredients list, to obfuscate the fact that they replaced expensive ingredients with cheaper ones, while simultaneously reducing the package weight and upping the unit price. Those oil palm farmers don't need to worry; peak capitalism has their back. Palm oil use will continue to increase, because the marginal cost of production currently makes it the cheapest of all plant-based oils, at least until oil-algae farming technology matures.

</comment></comment></comment></comment></comment></comment></comment><comment><USER53> I realized a few years when I started habitually reading ingredients lists that palm oil was showing up in more and more foods, but it wasn't till I correlated it with an upset stomach that I purposefully stopped buying food products with it. I've been trying to cut my sugar intake, so I don't get these anymore, but one major place you might notice a difference is if you use coffee creamer. Most of the cheaper ones have palm oil. The good ones don't, and the differences on the body are noticeable to me at least.

Sometimes pragmatic choices can lead to ethical results.

</comment><comment><USER54> he World Wildlife Fund writes "The (palm oil) industry is linked to major issues such as deforestation, habitat degradation, climate change, animal cruelty, and indigenous rights abuses in the countries where it is produced.

</comment><comment><USER55> Palm oil is a convenient scape goat.

</comment><comment><USER56> Or oil on your palm.

</comment><comment><USER43> I

<comment><USER43> My apologies. There was a posting snafu, and all that came out was an I.

</comment></comment><comment><USER57> > 92 to 184 teragrams of carbon dioxide

Usually emissions of CO2 are measured in tons... This is a sneaky measurement change. wtf is a teragram? Okay, turns out it's a million tons, or as we used to call it, a megatonne. WHYYY

<comment><USER58> Because grams, kilograms, megagrams, gigagrams, teragrams, petagrams, exagrams etc.

</comment></comment><comment><USER50> > environmental health and the well-being of poor and marginalized communities > in pursuit of profits

Heh. Isn't that too dramatic. So SEA countries are suppose to sit down and not able to sell anything? How bad is this too bad of a situation? The article failed to highlight this.

To me it feels like someone just doesn't like someone else getting too much money at selling palm oil for some reason. I wonder which other industry that benefits from boycotting palm oil.

<comment><USER59> It sounds a lot like politics.

They're against something but provide no suitable alternatives. Even if they provided an acceptable alternative to them, someone else would pipe up and mention a lot of problems with the alternative. On the end we're supposed to somehow achieve the impossible.

These things are lose-lose.

The only real answer is to lower ave standard of living (in other words a western lifestyle needs to be recalibrated downward) and to lower total population via slowed growth -at least in high growth areas... but none of that is palatable to anyone.

<comment><USER60> I like the idea of lowering standard of living. Can you give me some examples?

<comment><USER59> Probably something akin to the ex-Yugoslavia with less repression. Though I suspect some repression would be necessary to achieve that. I don't say that in a positive way —but I don't think people would volunteer for such a state.</comment></comment></comment></comment>


FundersClub: getting Crowdfunding right - <AUTHOR> http://alexeymk.com/2012/08/12/fundersclub---getting-crowdfunding-right.html

<comment><USER2> I find it silly to say they've solved the crowdfunding problem when all they've really done is close off a majority of the crowd, and limited actual investment to a select few people who can actually meet their bar. What is it about this project that is actually crowdfunding, rather than a directory for qualified investors?

</comment><comment><USER3> How is restricting investment to qualified investors "crowdfunding"? To me, this just sounds like appropriation of a sexy word to sound good.

<comment><USER4> I assume (and hope) that this will be opened up to all the newly-qualified investors once the JOBS act takes effect.

<comment><USER5> They said it didn't rely on the JOBS act.

<comment><USER6> It doesn't rely on the JOBS act _now_ , because that's not possible yet. But I doubt they'll rule out that option in the future.

</comment></comment></comment></comment><comment><USER7> It seems premature to say if they are getting it right or not given that the first investment hasn't even settled yet. Getting enough investors is part of the equation, but so are working with the investors and the company after the investment is made.

</comment><comment><USER8> I find it fascinating that people think Crowdfunding isn't working, and that the only way to 'make it work' is to stick with the people who are already doing it on a big scale.

Crowdfunding will work on two levels: one, because legitimate companies and investors will find each other, regardless of size, history or 'accreditation'. two, because of retail investors. Some retail investors will take a bath. There will be wailing and gnashing of teeth. But that hasn't stopped stock market investing or real estate investing.

</comment><comment><USER9> Except I don't make over 200k so I can't fund anything. I wouldn't call it "getting crowdfunding right".

</comment><comment><USER10> >"Over time, FundersClub plans to operate liquidity services for private companies, including employee liquidity program management for private companies, and eventually a trading platform for private companies that wish to provide ongoing private market liquidity to their shareholders."

These guys are in it for the long haul, so I hope they have some serious backing. I'm talking like years and years.

But, comments here are right, this isn't crowdfunding. This is just access to YC companies by proxy.

</comment><comment><USER11> It does look really exciting -- but I agree, it's too early to say they've been successful. FC and AngelList both seem worth consideration.

It's insane that everything else about startups has progressed so much over the past 20 years, but funding (especially the range past early seed incubator/friends and family/etc. and before Series A) is still so rube goldberg. (Series A and later is also broken, but the main limiting factor there is board seats for partners at VC funds, so it's a different problem; great telepresence might be what fixes that, like the iPad based telepresence robot.)

</comment><comment><USER12> If they could get rid of the silly "accredited investor" limitation this could be huge. I guess it's a legal problem though and they are forced to do it?

</comment><comment><USER13> If accreditation is still required I don't see how it's any different than AngelList. (Besides lacking the distribution and credibility of AngelList.)

</comment><comment><USER14> Effective Crowdfunding is a hard problem. I am rooting for FundersClub to succeed. This will open up doors to solid startups that for whatever reasons could not get into YCombinator, AngelPad etc.

<comment><USER15> There are also a lot of startups that aren't right for those incubators. For YC, if you have a family and don't live in SV then that is a massive sacrifice to move out there, which closes the doors to many. Many others are similar.

Where crowdfunding is most promising (in my mind) is that it removes the SV edge for startups. You don't need to be in the valley to be funded, you just need a compelling product/story/team/etc.

Plus, there are also many other startups that have gone beyond the incubator stage, but are not right or ready for VC. You would traditionally turn to Angels in that stage, but why not turn to your users, or the general public?

</comment></comment><comment><USER16> Flagged as inaccurate. It's not crowdfunding, and it's definitely not crowdfunding done right.

This site is just a directory of accredited investors, who are already allowed to make investments in non-SEC companies.</comment>


An apology to our community, and next steps - <AUTHOR> https://meta.stackexchange.com/questions/334551/an-apology-to-our-community-and-next-steps?cb=1 <comment><USER2> Appears to be a dupe of [https://news.ycombinator.com/item?id=21175225](https://news.ycombinator.com/item?id=21175225). Is there significant new information?</comment>


The challenges of blue/green deployment with AWS Lambda and CloudFormation - <AUTHOR> https://read.acloud.guru/some-quick-thoughts-on-blue-green-deployment-for-lambda-with-cloudformation-ac66797984f <comment><AUTHOR> Fundamentally, versioned Lambda code doesn't feel like it belongs in CloudFormation. In the end, the set of versions of a Lambda function is probably going to look like a replica of your repository history.</comment>


Virtual Machine Performance Demystified - <AUTHOR> http://www.engineyard.com/blog/2009/10-years-of-virtual-machine-performance-semi-demystified/

<comment><USER2> I worked on VMware's virtual machine monitor from 2000 to earlier this year. I overlapped with Michael Mullany, and his article is a fair recollection of our efforts. The more technical crowd here might appreciate a few additional thoughts.

1\. Everywhere he talks about "memory", he really means "privileged virtual memory operations." Flushing the TLB, altering the virtual to physical mappings, changing address spaces, etc. Ordinary loads and stores have always been directly executed at native speed. He also merges "apache" (lots of context switches) and "compile" (lots of process creation and page faults) into the odd-sounding "apache compile").

2\. In my opinion, paravirtualization was first a hack, and only retrospectively framed as a performance optimization. By hacking up Linux, the Xen folks were able to get a viable system working much more easily than would have been possible for unmodified kernels. The notional perf advantages of this approach have, IMHO, not been convincingly shown, and RVI/EPT hardware impressively raise the bar for ever demonstrating it.

3\. Although I worked on it, I would be very shy about claiming "hypervisor" as a VMware invention. First, it is not an entirely accurate description of ESX, which keeps a much more rigid separation of the "monitor" (responsible for providing virtual CPUs, memory management hardware, and devices) from the "vmkernel" (responsible for driving IO and keeping VMs out of one another's way) than most people imagine when they hear the term "hypervisor". But most importantly, I first remember hearing the term applied to kernels from the first virtualization golden age, in the 1970's. We have stood on these giants' shoulders enough without claiming their inventions for ourselves.

<comment><USER3> I interpreted "Apache compile" as "a compile of Apache ['s httpd server]".

<comment><USER2> That's a reasonable interpretation, it just isn't my recollection of the workloads we used for benchmarking. I remember running the actual httpd server under synthetic loads, and compiling the Linux kernel make -j <bignum>.

</comment></comment></comment><comment><USER4> I think this article was in response to some of the issues that were mentioned as a motivation for Github's move away from Engineyard... Specifically, Github mentioned slow IO issues on virtual machines as a significant issue.

FWIW IO performance on Joyent is abysmal, and they supposedly use Sun's latest virtualization technology.

It sounds like the problem is not with the technology but with how it's managed... It's easy to partition memory and CPU resources, but not as easy to partition IO resources.

I'm still waiting for virtual hosts that are paired with their own dedicated solid state storage rather than sharing one hardware IO system or using slow network storage.

<comment><USER5> Hi Grand -- this is michael. Yes this was to respond to some of the perceptions out there that virtualization = slow. It's really not (at least now, it isnt' - as long as you know what you're doing, some of the tech docs to get the new hardware virtualization features working seem a bit daunting). And on the other hand, there's no alternative to having enough hardware capacity to meet your requirements. Virtualization can't make i/o capacity appear from thin air.

</comment></comment><comment><USER6> This is about hypervisor performance. (Seeing the title and domain, at first I expected it to be about Ruby VMs.)</comment>


Thanks for the Surprise Integration with My Website, Apple - <AUTHOR> https://www.asaph.org/2018/09/jguitar-apple-ios-shortcut.html <comment><USER2> > I'm genuinely thrilled that someone at Apple deemed my chord calculator > technology worthy of inclusion in the iOS shortcuts gallery. If anyone from > Apple is reading this, please reach out using JGuitar.com's contact form. We > can work together to make this experience even better. I can provide high > quality SVG images of all chord diagrams, support alternate tunings, > instruments and more.

Is everyone missing the fact that the author seems quite happy about the exposure and reaches out to Apple at the bottom of the post offering collaboration? I'm sure they can handle themselves. It feels borderline patronizing to read all the comments about involving lawyers because Apple is being _so_ abusive. When you publish something on the internet, people can link to it. That's how the internet works.

<comment><USER3> The reason everyone is reacting the way they are is because this news really isn't about this particular website. It's about the fact that the largest corporation on earth has decided it can freeboot everyone else's content. It's part of a trend too. Google a topic and on the right hand side of the page you'll see the first paragraph from Wikipedia. How exactly do you expect wikipedia to survive if no one ever has to actually go there to get the information it publishes? Not only is it an unethical way of presenting content - providing information without referencing the source, but it's actively damaging the source of the information by intercepting users who would otherwise use the service.

The fact that "Oh well, it was fine this time" isn't a valid justification for why they decided to do it in the first place.

<comment><USER4> The web was literally built do be usable this way. I know people have started to believe that the only allowable way to view "content" is in the way the website builders decided, but your browser is allowed to display the content it downloaded in any way it wants to you.

<comment><USER5> You're right and I'm totally on board with that. But that doesn't seem to be how Apple works, if they freely share everything they put on line then, for sure, have at it.

If they expect people to pay to access their IPR then they should, without prompting, pay others when they want access to their's.

<comment><USER4> You're right, the big companies are the biggest offenders against this intended use of the web. And that's bad.

And they aren't accessing others intellectual property with this. They are building custom tools to display other's intellectual property. Very different.

<comment><USER6> So Google, Microsoft and Apple who fund and build the web browser you are currently using are against the intended use of the web.

I wish more companies would "offend" then.

<comment><USER7> browser have very explicit rules against this very action by apple.

in your browser, apple.com cannot access the content from jguitar.com

<comment><USER8> That is not true in several ways. Iframes and cdns work. There are security measures that prevent https connections from embedding http and other content restrictions, but those are for security reasons. People hotlink images, it's a wild web out there

<comment><USER7> For everything you described there is a tag or http header i can set on my own content to prevent a browser on another domain from 'hotlinking'. If you are the 'browser' as this IOS feature is, there is none. I hope it at least respect the robots.txt rules.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> Author here. Thanks everyone for your thoughtful feedback. I intentionally wanted to strike a cooperative tone in putting this story out there. When the largest company in the world features your side hustle in their brand new product, it's an opportunity, not a reason to "lawyer up". You can catch more flies with honey than with vinegar. Would I have preferred attribution and a heads up? Sure. But I'm frankly more interested in how I can help improve the user experience and further incorporate my software into Apple products. If anyone from Apple is reading this, let's talk. You can reach me here:

[https://jguitar.com/contactus.jsp?subject=Guitar+Chord+Finde...](https://jguitar.com/contactus.jsp?subject=Guitar+Chord+Finder+Shortcut)

And those concerned about JGuitar.com's scaling or bandwidth costs need not worry. JGuitar.com serves several million pageviews/year, and is well optimized to handle the traffic coming from these shortcuts.

<comment><USER9> I sincerely urge you to follow-up with this story. I would love to see what Apple does in good faith on this one - it would have a real impact on how I perceive them as a company.

</comment></comment><comment><USER10> There's a lot of misunderstanding here. As someone that has been in a similar situation:

1\. It's not Apple, it was Workflows that wrote the tool.

2\. It's not an integration, it's an example of how to use Shortcuts.

3\. The biggest pain point won't be bandwidth (OP seems to know what they're doing with caching) but fielding user requests/complaints/spam without the upside of the web traffic. iOS 12 has only been up for a few days and he's already getting a ukulele request. Tip of the iceberg.

> We can work together to make this experience even better.

This isn't "working together". This is someone at Workflows finding a neat, unauthenticated API endpoint and using it in a demo. I doubt Apple knows about it.

<comment><USER11> wrong

<comment><USER12> Well argued.

(which point is wrong?)

</comment></comment></comment><comment><USER13> Apple did not create this. It originates in the "Workflow Gallery", which Apple rebranded when taking over the service.

I think the question is: Are these downloadable workflows an integral part of the Apple software or are they just merely "Sample Code"? In this case the gallery is curated only by Apple (I think), but if we go down this path, what prevents DCMA takedown requests for GitHub repos that contain sample code which accesses services like this?

<comment><USER14> If apple cannot make the products they aquire conform to their own ecosystem, how can they expect users to?

</comment></comment><comment><USER15> It's cool that Apple's using your stuff, it's not cool they're not giving you attribution.

I'd add a JGuitar url and copyright notice to all your images, so that this is displayed in Apple's results, and also call a lawyer.

<comment><USER16> I really don't get why people suggest lawyers and c&d letters as step 1.

Yes apple could have done this better and they should -- but why not just have a chat with apple before you go nuclear?

<comment><USER17> I think a lot of people feel that if it was the other way around (people using Apple copyrighted material) they would get a lawyer on their ass in no time.

However it is debatable since Apple is 'only' providing a template/example which the user must actively turn into a 'shortcut' to have this functionality. Or at least that's how I understand this feature works.

Then again, I think Apple surely could do a better job in attribution toward the sources. Maybe a standard for website owners to provide meta info with a fallback to the website URL.

<comment><USER18> > However it is debatable since Apple is 'only' providing a template/example > which the user must actively turn into a 'shortcut' to have this > functionality. Or at least that's how I understand this feature works.

According to the linked site, this is a premade shortcut that Apple supplied, not something the user needs to create. Just click install and it works, was how I read it.

</comment></comment></comment></comment><comment><USER19> Given that this is a gallery of possible shortcut ideas, what's the big fuss about? How is different from suddenly making the front page of HN/Reddit or Google?

The suggestion to hotlink directly to an image is slightly problematic, but a copyright watermark makes sense whether it was Apple doing this or not.

The shortcuts app lets you connect to any site on the internet - if a rock star made this Shortcut and chose to tweet it the result would be exactly the same - why would it matter who made the sample and whether it was bundled or not? Apple isn't claiming ownership, nor have they asked the owner not to add a notice.

</comment><comment><USER20> Maybe he could detect the "Shortcuts/" User-Agent HTTP header, and add a watermark to the generated images ("powered by JGuitar.com"?

</comment><comment><USER21> Apple is lucky they didn't do this to Jamie Zawinski

(Every link to [https://www.jwz.org/blog/](https://www.jwz.org/blog/) from HN shows a NSFWish image, based on referer header)

</comment><comment><USER22> > Firstly, I would have used an https url instead of http and secondly, I > would have made it look for images with a width & height greater than 200px > rather than equal to 200px.

I didn't know Shortcuts were powerful enough to pull images of specific sizes from webpages. That's really useful.

Creating a Shortcut to scrape these guitar tabs doesn't seem that different from writing a Bash script that does the same thing.

The main issue is that most users would grab the Shortcut from the gallery, find the guitar tabs they need, and never know where it came from.

Maybe Apple could automatically provide attribution in their Gallery? Like "This shortcut is powered by Google.com and JGuitar.com".

</comment><comment><USER23> The Shortcuts devs seems to have taken the "act now, apologize later" approach.

Another funny solution is how they implemented the "Add to Home screen" functionality: when you select "Add to Home screen" in the Shortcuts app, it opens a data:// URL in Safari, and you have to add it from there :D

<comment><USER24> > Another funny solution is how they implemented the "Add to Home screen" > functionality: when you select "Add to Home screen" in the Shortcuts app, it > opens a data:// URL in Safari, and you have to add it from there :D

Because, presumably, they do not have access to the private API to bypass this step yet–for third party apps the only way to add things to the homescreen is through Safari.

<comment><USER23> But Shortcuts is a first-party app. The developer is listed as "Apple" in the AppStore.

It _used to be_ a third-party app called Workflow, but Apple acquired them early 2017. They had plenty of time to replace the Safari workaround with the proper private API.

</comment></comment></comment><comment><USER25> Just a few years ago this would have sparked an outcry about apple / google / microsoft using his website / assets / whatever without asking for consent.

But today it's cool when some billion dollar company uses someone elses creations without paying because you should be happy they didn't shut your service down with some vague patent bullshit.

</comment><comment><USER26> Only Apple can have someone effusively thanking them for what effectively amounts to abuse.

Unbelievable.

<comment><USER27> For the real artist, most important thing is to know that people use your work and they like it or it's useful for them.

<comment><USER28> That's an absurd statement. There are plenty of "real artists" that want to make a living with their work. You can't pay your bills with exposure.

<comment><USER29> Not OP, but I saw the sarcasm miles away.

<comment><USER27> No sarcasm intended.

<comment><USER29> Then I apologize. Also missed the nuance as Sgt_Apone

</comment></comment></comment></comment></comment></comment><comment><USER30> I would just sniff the UserAgent and replace the images with a miniature version of the graphic and a big "Visit JGuitar.com for the proper experience".

</comment><comment><USER31> This is the first time I understand the point of the new EU copyright legislation or the "Leistungsschutzrecht" in Germany.

\- It's NOT OK to integrate s/o else's content into a website. \- It's OK to link to it.

As a content creator, how are you going to profit from such an integration?

EITHER license the content for integration OR only link to the original sources.

Not saying that the laws were good or that I understand them well, but AFAIK they are aiming in this direction.

</comment><comment><USER32> Isn't this exactly the kind of situation that the European Copyright article 11 'Link tax' tries to remedy? A big company takes content from a small one without attribution, remuneration or anything?

</comment><comment><USER31> Imagine if s/o "integrated" Apple Maps into their site and showed maps rendered by Apple on their app without any form attribution.

I highly doubt that Apple would be thrilled.

</comment><comment><USER33> Isn't this what Google has been doing all along, creating "mini" integrations with all of our websites? I don't see the big difference.

<comment><USER34> They at least provide attribution.

</comment></comment><comment><USER35> This is what the web was built for. Good job everyone!

<comment><USER5> Yes, so "good job" to Apple because they're freely sharing all their IPR online too?

<comment><USER35> In the same way every company today wouldn't be able to run without MIT- licensed software, with absolutely zero guarantee of giving anything back, the spirit is that you don't care what others do or not do, all you care about is that content is open by default.

And speaking of that, you can definitely use the same workflow automation to extract anything from Apple's own websites.

</comment></comment></comment><comment><USER36> I don't think this is an Apple app. The app info says the publisher is DeskConnect, Inc. The subheading says Apple, but when clicked to see all apps by "Apple", it only shows this one. Looks shady.

<comment><USER37> It is a legit Apple app, released alongside iOS 12. Apple bought the app called Workflow which they've made their own, rebranding it to Shortcuts.

</comment></comment><comment><USER38> (slightly OT)

It is not clear if the author is earning something out of the situation (more traffic I suppose?).

However, it seems to me if Shortcuts really takes off among the average iOS user, there could be a massive business building cloud services exposed via these low-code programming environments.

Killer App for FaaS?

At the same time Microsoft's TouchDevelop tried in the past to bootstrap the lack of apps on Windows Phone, but didn't succeed and had virtually no impact.

I am curious if (and hopeful) Apple will be different here.

</comment><comment><USER39> What's stopping the website owner from returning any image he wants in this case. Advertising, political messages, pornography?

Doing things like this without the consent of the website owner feels very dangerous. It looks bad on Apple they haven't thought this through and are a disgruntle owner away from a major incident.

</comment><comment><USER40> Somewhat relevant: Whatever Happened to the Semantic Web? [https://news.ycombinator.com/item?id=18023408](https://news.ycombinator.com/item?id=18023408)

</comment><comment><USER41> This sets a bad precedent. I'm not convinced this is good for anyone regardless of how innocuous it seems.

Apple wouldn't tolerate this if it was done to them. It would be like Disney complaining about copyright infringement while infringing someone else's copyright...

</comment><comment><USER42> If I were you I'd send them a cease and desist letter

<comment><USER16> Why? Just out of pure hate or dislike for apple? A request to show a link to the website under the image would be better imo.

He could always play dirty and just print the website on the bottom of the image but I don't see how this or the c&d will help his site.

<comment><USER43> This is as though Apple were hotlinking his images -- they are being consistently used in a setting besides that which was originally intended, without permission (or even attribution).

</comment></comment></comment><comment><USER44> Now only if Google had done it, the feel of the article might have been a little different ...

</comment><comment><USER45> I am baffled that Apple would dare do such a thing, not only from an attribution stand point only, but also for offering a service to their customers, they can't rely on being there, or its quality, or anything really.

It's really, really weird.

<comment><USER23> As others have pointed out ([https://news.ycombinator.com/item?id=18038182](https://news.ycombinator.com/item?id=18038182)) the Shortcuts app is a slightly rebranded version of the Workflow app that was acquihired by Apple early 2017. Looks like they launched Shortcuts without vetting their content.

<comment><USER46> In which sense does this fact make it better ? Not only weird, but to me this feels a careless attitude...

<comment><USER47> It turns out that corporations are not people, but are instead made up of people, and some of those people - especially when working together with lots of other people on projects - are prone to making stupid mistakes that make the corporation itself look stupid even though knowledge of what was being done might not have been purposefully present anywhere among the people responsible for the error.

I mean I've worked on projects where somebody got in some content and I said - hey you should probably vet that content and they said oh, oh I think it's okay because of X, and I said well are you sure because, well ok I'll check I asked and they said they think X is fine. Ok well whatever, I'm sure not going to fight over this thing for the next two weeks just to end up looking like a jerk at the end.

</comment></comment></comment></comment><comment><USER48> So just a few days ago a good number of HNers were lamenting copyrights. One commenter even going so far as to say that he never respects copyright. Other suggesting that copyright owners should lose copyright when they've made enough money. Just ridiculous nonsense.

And today, because the "bad guy" was Apple, suddenly everyone cares about copyright.

A forum where people have no problem discussing torrents which are used frequently to violate copyrights — and now they are outraged about Apple using chord finder in a gallery example for Shortcuts? And the owner of the content is actually happy about it!

Hypocrites.

<comment><USER49> Most actual complaints I see here are about moral rights. These are adjacent to copyright, but represent a distinct set of concerns related to the author's reputation rather than exploitation of the work _per se_.

</comment></comment><comment><USER50> I dont get it, he should be extremely happy by what they did. Free advertising, free traffic, its like getting a nr 1 result Google. All i read here is, get a lawyer. He should be celebrating.

<comment><USER51> The only reference to his site is hidden behind 3 screens in a URL. All ads are stripped, his brand is stripped. I don't think he must celebrate (though he seems happy).

<comment><USER52> >All ads are stripped...

What ads?

<comment><USER52> (looks like ads have been added... never mind)

<comment><AUTHOR> They've been there for years. You just turned off your ad blocker :)

<comment><USER52> weird... when I reloaded without content blockers on my phone there weren't any ads, but checking on my big computer I saw them.

I guess that's what I get for assuming.

<comment><AUTHOR> The mobile site has fewer ads than the desktop site. Ads only appear in the footer on mobile.</comment></comment></comment></comment></comment></comment></comment>


Samza is now a top-level Apache project - <AUTHOR> https://mail-archives.apache.org/mod_mbox/incubator-samza-dev/201501.mbox/%3CCABYbY7fvdOu_%2BEWaxXmHVvCtwPTkC6%2Bq_XDaETwAOkq5kt-46Q%40mail.gmail.com%3E

<comment><USER2> Apache Samza is a distributed stream processing framework. It uses Apache Kafka for messaging, and Apache Hadoop YARN to provide fault tolerance, processor isolation, security, and resource management.</comment>


Guide to Retargeting Someone Else's Website - <AUTHOR> https://blog.repixel.co/2019/12/04/the-ultimate-guide-to-retargeting-someone-elses-website/ <comment><USER2> It seems to me that this is cross-site tracking of the sort forbidden by WebKit (Safari)'s and Firefox's tracking prevention policies:

[https://webkit.org/tracking-prevention-policy/](https://webkit.org/tracking- prevention-policy/)

[https://wiki.mozilla.org/Security/Anti_tracking_policy](https://wiki.mozilla.org/Security/Anti_tracking_policy)

If Repixel can identify someone as a golfer with joint pain because they visited a golfing website and an unrelated joint pain website, that sounds like tracking an identifiable user across multiple first parties.

Should Safari and Firefox ban Repixel?

<comment><USER3> they don't "ban" domains based on this policy. they just don't make their cookies available to the cross origin requests as per the ITP browser changes: [https://clearcode.cc/blog/intelligent-tracking- prevention/#I...](https://clearcode.cc/blog/intelligent-tracking- prevention/#ITP8)

so Firefox and Chrome are making changes which basically limit the effectiveness of this technique.

<comment><AUTHOR> It's a Facebook approved app through and everything stays within Facebook's ecosystem. Check it out: [https://blog.repixel.co/2019/07/01/facebook-and- gdpr-complia...](https://blog.repixel.co/2019/07/01/facebook-and-gdpr- compliance/)

<comment><USER2> Safari's tracking policy is in large part intended to protect users against the Facebook ecosystem (even though, yes, it is not specific to Facebook or any other domain and just establishes policies for technical behavior): [https://www.theverge.com/2018/6/4/17427000/wwdc-apple- safari...](https://www.theverge.com/2018/6/4/17427000/wwdc-apple-safari- antitracking-facebook-like-share)

> _Cross-site tracking is tracking across multiple first party websites; > tracking between websites and apps; or the retention, use, or sharing of > data from that activity with parties other than the first party on which it > was collected._

I think that having Facebook share tracking information with Repixel and in turn with Repixel's customers counts as "sharing of data from that activity with parties other than the first party on which it was collected," no?

<comment><AUTHOR> Where are you seeing that sentence that you quoted? I'm curious to take a look. I don't see it in the verge article that you linked to. Apologies if I'm missing something.

<comment><USER2> Sorry, that was unclear. That sentence is from the WebKit/Safari policy which I linked earlier in the thread. (The _Verge_ article is a synthesis of the stated policy and the fact that the WWDC presentation clearly had a screenshot of blocking Facebook cookies.)

<comment><AUTHOR> All good, thanks for clarifying! I'll take a look tonight.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> I received the following email apparently sent by Repixel's CEO John Evans on the 4th of December. I've already reported it to HN's moderators:

<quote>

Hi Edward,

I noticed you're a big contributor on Hacker News and I was hoping to get an article seen by the community. Would you be open to taking a look at a piece of my content, and if you find it interesting, consider posting it? I would do it myself but I think your karma points would give it an extra push. Happy to return the favor if there's anything I can do for you in return!

Best, John

</quote>

I'd have concerns about this firm's services, practices, and ethics.

<comment><USER5> You are an influencer and these kind of approaches happen all the time. I think this allowed networking behaviour.

<comment><USER4> As a pseudonymous nym, quite literally the only stock I have are the facts and reasoning I post, and my past record.

I'm not willing to compromise either.

</comment></comment></comment><comment><USER6> This "guide" is just an advertisement for their product.

<comment><USER7> I think there is value in posting this sort of advertisement to HN, because it reliably leads to a good discussion of how to subvert it as a user :)

</comment></comment><comment><USER8> I assume this is something uBlock Origin will take care of for me?

<comment><AUTHOR> Yeah you'd be covered. This is another way of retargeting, and as far as I understand, you'd be opted out globally.

</comment></comment><comment><USER9> I still don't get it. So I'm paying the site owner for the pixel and FB for the ad?

<comment><AUTHOR> It's kind of like display advertising, but less spammy because it works in the background. Instead of reaching the site owner's audience through a banner on their site, you pay them to tag their visitors (through their Facebook pixel) and reach their audience on Facebook/Instagram.</comment></comment>


Who becomes self-employed? [pdf] - <AUTHOR> http://www.sba.gov/advo/research/rs333tot.pdf

<comment><AUTHOR> _"... Baccalaureate Education and the Employment Decision: Self-Employment and the Class of 1993 a working paper by Chad Moutray Office of Advocacy U.S. Small Business Administration ..."_

This is the title of the study which I found here ~ [http://www.danpink.com/archives/2008/11/who-becomes-self- emp...](http://www.danpink.com/archives/2008/11/who-becomes-self-employed)

 _"... This longitudinal survey asks a number of questions to a nationally representative sample of college and university students who were seniors during the 1992-1993 academic year. The same students answer follow-up questions periodically. In the case of the B &B data, there is information from subsequent questionnaires in 1994, 1997, and 2003. Much of the analysis in this paper focuses on employment in 2003, or ten years after graduation. To the best of my knowledge, the present study is the first to link and analyze educational ... experiences at the baccalaureate level with self-employment and other employment decisions using the 2003 B&B data responses ..."_

From the abstract. Some of the data is interesting. In the study "Startups" don't seem to fit the model of a small business. For example:

 _"... The author also noted that the grades of those working in smaller firms tended to be lower on average, and they were less likely ... to have earned as many professional qualifications or advanced degrees as their peers who were employed by large businesses ..."_

Also nice summarisation of Startup risk WRT rewards ...

 _"... While Moutray (2007) found that increased educational attainment corresponded to higher levels of self-employment, research tends to show that "being one's own boss" does not necessarily yield higher earnings. Indeed, many would-be entrepreneurs have high—perhaps unrealistic—expectations regarding their future earnings potential, according to Arabsheibani et al. (2000). A number of authors have observed that the self-employed earn less than their employed counterparts. ..."_</comment>


Helios contains set of packages for interacting with Apache Solr - <AUTHOR> https://github.com/stevenferrer/helios <comment><AUTHOR> Halo, just sharing ;)</comment>