Zeolite retains heat indefinitely, absorbs 4x more heat than water - <AUTHOR> http://www.extremetech.com/extreme/130523-zeolite-thermal-storage-retains-heat-indefinitely-absorbs-four-times-more-heat-than-water <comment><USER3> Short version of the science: The heat is released via an exothermic chemical reaction between the Zeolite and water. However, unlike the one-time-use chemical-reaction heating pads you can buy in a pharmacy, this reaction is reversible, so you can "recharge" the Zeolite by heating it and removing the water as it is released in order to force the reaction to reverse itself. The reaction goes something like this:

Zeolite + water <-> Zeolite & water complex + HEAT

The reaction happens at the surface of the zeolite, so the storage capacity is proportional to the surface area of the pellet. If you make the pellet highly porous, this can be proportional to its volume.

<comment><USER4> I don't see how this can translate to the title "Zeolite retains heat indefinitely". After the cycle of heating and cooling has been repeated some finite number of times, parasitic heat loss to the environment will eventually remove all of the heat added at the beginning.

<comment><USER3> When you use water as a heat storage medium, you are storing the heat in the kinetic energy of the water molecules. In common parlance, you are increasing the temperature of the water. Obviously, over time the water's temperature will gradually revert to the ambient temperature, and you will lose all the heat you stored in it.

In contrast, when you store heat in Zeolite, you are not storing it as kinetic energy, you are driving an endothermic chemical reaction that stores the energy in high-energy chemical bonds. After you are done heating the Zeolite to "charge" it, it will return to the ambient temperature, but it still has (lots of) energy stored in the chemical bonds. This energy does not dissipate in the way that the kinetic energy of a high-temperature substance would. The energy can only be released by reversing the chemical reaction, so it is securely stored. You can then transport the Zeolite at ambient temperature to a location in need of heat, and then add water, which reverses the chemical reaction and releases the heat again.

So it doesn't actually store "heat", it takes in heat (i.e. molecular kinetic) energy and stores it in a different form (chemical bond energy).

<comment><USER5> So then it could be used to store heat created from a reactor then transported where the heat is needed?

<comment><USER3> Yes, that is the general idea.

</comment></comment></comment></comment></comment><comment><USER6> >By applying heat to Fraunhofer's zeolite comes into contact with water, a chemical reaction adsorbs the water and emits heat.

Parse Error: Unexpected verb "comes" on line 129.

<comment><USER7> Also: "adsorbs."

EDIT: upon further research, I find that "adsorption" is actually also a thing, but it appears that here they meant the traditional absorption. Adsorbtion definitely isn't a thing. Also it sounds like a baby trying to say "abortion," which is weird.

What possesses people to give things such similar names? And while we're at it, mathematicians: stop using variables that rhyme. Bs, Cs, Ds, Es, Ps, Zs, it makes my head hurt. Would it kill you to chuck an H or a Q in there? M and N, now thats just purely vindictive. How am I supposed to cope with that?

After writing this comment I think the spelling part of my brain is now fried forever. And to think I've been walking around merrily saying "absorbsion" all these years...

<comment><USER8> I learnt the verb "adsorb" in high school chemistry. Why is adsorption not a thing? (Although it does look like the article meant "absorption" and not "adsorption".)

Quote for those not in the know:

\-----

<<<"Absorb" refers to a situation where something is taken into a medium, and disappears as a consequence (from?). "Adsorb" refers to a situation where something gets stuck onto (to?) the surface of a medium.

We would use "absorb" for when light is absorbed by a coloured or opaque object, or for when water is soaked into a sponge, or even for when my students manage to "take in" some of what I am telling them. It is an ordinary English word.

"Adsorb" is used for a very specific situation where molecules get stuck onto a surface. It does not occur as a word in ordinary language, outside its scientific meaning. Adsorption is very important, because many chemical reactions can go a lot faster when the reacting molecules are adsorbed at a surface (reactions of hydrogen gas on the surface of nickel, for example), or chemical reactions can be prevented by the presence of a barricading adsorbed layer on the surface (aluminium failing to react with air, for example), or impurities can be removed from a solution by adsorbing them onto a finely divided solid (activated charcoal for decolorizing solutions, or for medicinal use, for example).>>>

<comment><USER7> "adsorb" versus "adsorp."

Now you can see why my brain was fried trying to type all that correctly. Not only do the phonemes sound the same, the letters are mirror images of each other. I think I now know how dyslexics must feel all the time.

</comment></comment></comment></comment><comment><USER9> How selective is the zeolite in what it absorbs? Could this be used for water purification? That is, if you let the zeolite absorb water from an impure source, move it to a clean container and heat it to release the water, is the water potable? Even if it selectively absorbs water to remove contaminants, does the zeolite itself make the water non-potable?

<comment><USER10> Actually, yes: water softeners use zeolites to remove various minerals from the water. See this for an explanation:

<http://www.watervalue.com/watersofteners.html>

</comment></comment><comment><USER11> This reminds me of zeolite-water solar adsorption refrigeration:

This paper presents some of the experimental evaluations of a prototype solar refrigerator, based on an intermittent thermodynamic cycle of adsorption, using water as refrigerant and the mineral zeolite as adsorber. This system uses a mobile adsorber, which is regenerated out of the refrigeration cycle and no condenser is applied, because the solar regeneration is made in the ambient air For the regeneration, a SK14 solar cooker is considered. The cold chamber, with a capacity of 44 liters, is aimed for food and vaccine conservation. The objective is to analyze the advantages and disadvantages of the eventual use of this refrigerator in rural regions of Peru, where no electricity is available. On the bases of the results obtained, a new prototype of refrigerator for rural regions is designed, based on the same thermodynamic cycle, but including changes in design and operation.

[http://fc.uni.edu.pe/mhorn/ISES2003%20(solar%20refrigeration...](http://fc.uni.edu.pe/mhorn/ISES2003%20\(solar%20refrigeration\).pdf)

During the day, solar energy is used to drive water out of the zeolite. The dry zeolite is exposed to water under low-pressure causing the water to evaporate and be adsorbed into the zeolite. The evaporative cooling can be used to refrigerate food without electricity.

A German company with various zeolite refrigeration applications:

<http://www.zeo-tech.de/index_en.html>

</comment><comment><USER12> Non-swipe link [http://www.extremetech.com/extreme/130523-zeolite-thermal- st...](http://www.extremetech.com/extreme/130523-zeolite-thermal-storage- retains-heat-indefinitely-absorbs-four-times-more-heat-than- water?onswipe_redirect=no)

</comment><comment><USER13> This german company is using silicagel in an air conditioning unit to cool with heat: <http://www.sortech.de/sortech/forschung/> (site unfortunately in german).

Edit: I just found another german company using heat for cooling, this one is using zeolite: <http://invensor.com/en/technology/zeolite.htm>

</comment><comment><USER14> > retains heat indefinitely

What are the physics behind that, because it sounds like it violates the laws of thermodynamics.

<comment><USER15> No, your conversion of ambient heat to drying the zeolite and the inverse release of heat when adding water; are both less than perfectly efficient. Entropy grows at each step. The retention of heat in the dried zeolite is not a conversion step, and the total entropy of the system doesn't change during that time.

</comment></comment><comment><USER16> Heat shield for spaceships? Imagine on re-entry the outside part is made of a layer of zeolite, heat builds up but is retained on the layer and water is released as vapours ( which can add an extra layer of shielding ).

</comment><comment><USER17> While industrial applications of this is useful, I think it is far more useful to look at distributed manufacturing applications (such as RapRap + practical zeolite heat batteries).

</comment><comment><USER18> Is this the same Fraunhofer Institute that owns the patents on MP3?

</comment><comment><USER19> Solar power storage for night/clouds - solved?

</comment><comment><USER20> So, assuming it is cheap and available, that's storage for solar power solved.

<comment><USER21> I'd like to see some energy density numbers in units I can understand before I would jump up and down about this use.

(I'm not saying you're wrong so much as saying I can't provide evidence you're right, and I'm hoping someone else can. Or at least tell us what exactly "the heat storage capability of water" is such that something can have 4 times as much. Please hold wild-assed guesses, please, I can compute the energy difference between two temperatures of water for a given volume as well as the next guy, but what temperatures, or is that even the right question? I'm looking for someone who _knows_.)

<comment><USER22> The term of art you're looking for is "specific heat".

<https://en.wikipedia.org/wiki/Specific_heat>

The relevant number for water at 25C is 4.184 joules per gram. But this isn't a strict apples to apples comparison: if you heat and cool zeolite in a vacuum chamber, it'll have a pathetic specific heat. (Like perlite, another foamed mineral, which has a specific heat of something like 0.1) That's because there's a chemical reaction taking place, not pure dumb-matter heating or cooling.

Meanwhile, the energy density of a lithium ion battery is 720 joules per gram, and the energy density of gasoline is 47,200 joules per gram. This does not "solve" energy storage, in any way, shape, or form.

<comment><USER23> Someone downmodded you because you messed up your units.

It's 4.184 joules per gram _Kelvin_. Meaning it stores that much energy for each dress of heat you add to it. If you take water from near freezing to boiling that's 100 degrees of storage - meaning 418.4 joules per gram - <USER2> is much more reasonable.

And there is no reason you have to stop at boiling. Storing something at 500 degrees is not impractical, so assuming starting at 20 degrees (room temperature) you can store over 2000 joules per gram. And there are plenty of materials that can handle even higher temperatures.

<comment><USER21> And that's a big part of my question... given that in the abstract water can store any amount of heat (between absolute 0 and the point at which we can no longer call it "water" due to being a plasma of some form), what exactly does it mean for this material to be able to store 4 times as much?

I'm sure there's an answer, because I'm sure the journalist got that number from somewhere, but I lack the connections to know where to begin finding this information.

</comment></comment></comment></comment></comment><comment><USER20> links to some relevant Fraunhofer pages;

[http://www.igb.fraunhofer.de/en/press-media/press- releases/2...](http://www.igb.fraunhofer.de/en/press-media/press- releases/2012/thermal-storage.html)

[http://www.igb.fraunhofer.de/en/competences/physical- process...](http://www.igb.fraunhofer.de/en/competences/physical-process- technology/heat-and-sorption-systems/thermal-storage-methods.html)</comment>


Cock.li server seized again by German prosecutor, service moves to Romania - <AUTHOR> http://arstechnica.com/tech-policy/2016/01/cock-li-server-seized-again-by-german-prosecutor-service-moves-to-iceland/ <comment><USER2> Mr. Canfield's thoughts on the matter:

>> Of course, though the facts of the case are yet to be seen since no one in Germany is talking to us, I will definitely never host anything in Germany ever again

He was trusting of authorities and purposely did not use TLS (beyond STARTTLS) or encrypt his hard drives. And this is what happens. They take his hard drives immediately and seize his entire service.

How are we supposed to trust the authorities when they make themselves untrustable?

How are we, as server admins, supposed to stand down and backdoor our servers for law enforcement when this happens, when we know we can't trust them to use their powers responsibly?

Every time some big NSA exposé is unveiled, every time someone gets raided for no particular reason, I get to reaffirm my distrust of the Internet police, in whatever form they choose to take.

Policing the Internet is untenable and useless. Don't help the authorities attack your users, because oftentimes...

you're their last defense.

<comment><USER3> I wish that Debian installer (and other distributions) would have encryption on as default, especially if the installer ask you if you intend to install it as a mail server. Users are entrusting their communication to the server which means that the sane defaults should address their need for privacy and control.

Law enforcement always operate on what is easiest and cheapest. A common practice seem to have been established to raid a data center and take anything that could be valuable and then have it put on the backlog to be sorted in the next 5 years or until statute of limitations. By adding encryption to the situation, its possible to change the economics so its more economical to go through a judge and compel the service provider to provide the specific record that is being requested.

<comment><USER4> IMO, "sane defaults" are missing from pretty much every operating system out there -- both in their installers and the resulting installed system.

It all comes down to that "convenience versus security" trade-off and, for better or worse, those implementing these systems tend to lean more towards the "convenience" side. It's going to take some major changes before we start seeing systems that are "(mostly) secure by default".

</comment></comment></comment><comment><USER5> Ignoring the childish domain name, hopefully the discussion won't go down that route again - that guy seems quite sincere and explains the situation quite well.

My take away: Don't (blindly) trust Germany, and certainly don't use Hetzner. If he's correct ("Hetzner didn't provide a copy of the confiscation order to me or my lawyer") I'm glad to be the first in this community that runs around, arms flailing, shouting "Hetzner is bad, Hetzner is the devil".

<comment><USER6> Yeah, Hetzner also has this strange habit of spitting out SQL errors when you put apostrophes into forms on their website.

I'd avoid them.

<comment><USER7> As someone who just applied for (and failed to get) a job at a DB company:

Not sanitizing your inputs is unacceptable, _even for a newbie_. These guys must be _really_ stupid.

<comment><USER8> They are to big to fail at this point. And based on their price the servers are amazing. (If you dont care about a perfect uptime.)

</comment></comment></comment></comment><comment><USER9> Running a server containing users' data (especially an e-mail server) in 2016 _without full-disk encryption_ is like running a web server _without HTTPS_. Just _don't_. It's a privacy disaster waiting to happen.

This can happen in any country, even to a silly cock joke site like this, and your users _will_ be hurt by it, possibly for many years to come. There is no longer any excuse not to do it.

<comment><USER10> Excuse my ignorance, but how does full-disk encryption work if you don't have console access to it?

How do you enter the password after, say, a hard reset/power outage?

<comment><USER9> For Debian and Ubuntu servers: Mandos ([http://www.recompile.se/mandos](http://www.recompile.se/mandos))

Introduction here: [http://www.recompile.se/mandos/man/intro.8mandos](http://www.recompile.se/mandos/man/intro.8mandos)

Disclosure: I am a co-author. (Yeah, yeah, we _will_ switch our certificate from CACert to LetsEncrypt. Soon. Ish.)

</comment></comment></comment><comment><USER11> His video statement is pretty funny; I wish they were all this funny. [https://u.pomf.is/imrkjv.webm](https://u.pomf.is/imrkjv.webm) "Steadfast commitment to a cock joke".

I'm kind of surprised Hetzner didn't replace a hard drive after the first raid; it was apparently operating in degraded RAID-1.

<comment><USER5> I'm surprised that they give out your drive(s) without handing out a document that explains why they had to do that.

As far as I'm aware (not a lawyer, a complete layman) there's no 'gag order' here. So, my limited understanding so far is that this is either a complete fuck-up ("Nah, we don't care to provide that document") or malicious. Even if I follow the 'probably stupid, not malicious' argument: Why would you want to pay Hetzner if this video is correct and you won't even be able to get the documentation for them handing out your data?

<comment><USER12> Why do you assume there's no gag order? From what I understand it's either that or what you suggest.

<comment><USER13> If there were a gag order, why would they have told him at all? Grab the disk, blame a hardware failure, done.

</comment></comment></comment></comment><comment><AUTHOR> Previous discussion on HN after the first time it was seized

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

</comment><comment><USER14> since people seem surprised, let me reiterate on those laughable german data protection laws:

[http://glasz.org/sheeplog/2015/02/data-privacy- regulations-i...](http://glasz.org/sheeplog/2015/02/data-privacy-regulations- in-the-eu-are-among-the-strictest.html)

DO NOT trust any government or company. everything is full of submissive sheep. particularly so in germany.

<comment><USER15> One of the remarkable things about the U.S. constitution is that it theoretically allows no escape rope from protection of rights; by contrast the constitutions of many European democracies as well as Canada contain "notwithstanding clauses" that allow free rein to the government when they deem it necessary for any reason to trample on your rights.

Not saying the USA is particularly good about upholding those rights... pur government has been looking for loopholes in the Bill of Rights since it was ratified.

<comment><USER16> i have to admit i'm quite jealous of the u.s. constitution as it is very restrictive and works by the assumption that the state has no rights except those explicitely granted therein. really a beautiful document.

though there are some stupid loopholes it heavily depends on the people to defend it. but meanwhile, everybody is whining, brainwashed, focussing on the 2nd amendmend. unable to see its purpose.

other shit is more important, i guess. like what the gas price is and if silicon valley is eating money.

sheep have just lost their way.

<comment><USER17> It was rather uncommon at the time of its writing to have a written constitution. It's something to point to and say, "no that's not what it says, look here, it says this." I think the founders would have said nothing's perfect, there is no magic, of course the people have to decide, including by arguing a lot, whether to defend it and what detailed policy that translates into. If they don't defend it, they're f'd no matter what anyway.</comment></comment></comment></comment>


Comparison of CSS in JavaScript Libraries for React - <AUTHOR> https://github.com/FormidableLabs/radium/blob/master/docs/comparison/README.md <comment><USER3> We've stopped shipping CSS on green fields client projects. It's been amazing. All of our styles are in JS objects that are applied to inline style tags. It's modularized like classes are, but there is no cascade so there are no globals. Most importantly, everything can be recomputed at any time - <USER2> longer dealing with a static stylesheet.

var globalStyles = require("globalStyles");

var styles = { color: globalStyles.blue, padding: foo ? "15px" : "10px", margin: bar(this.state.qux) }

We built Radium to solve the problems this causes, like :hover - it's the lib Chan talks about in that React Europe talk christopherscot links to.

[http://projects.formidablelabs.com/radium/](http://projects.formidablelabs.com/radium/)

I talked at CSSConf about ditching CSS for inline about a month ago:

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

</comment><comment><USER4> Or just use webpack? Not sure what these things are trying to solve that making a less or scss file for every component file and require-ing it doesn't.

<comment><USER5> There are a few arguments here on keeping your CSS in JS just as JSX allows for HTML in JS: [https://speakerdeck.com/vjeux/react-css-in- js](https://speakerdeck.com/vjeux/react-css-in-js)

</comment></comment><comment><USER6> If you're interested in CSS in JS you should check out css-modules [1] and its Webpack [2] or Browserify implementation [3].

You get scoped, modular, composable, requirable CSS without the burden of doing styles in JS.

[1] [https://github.com/css-modules/css-modules](https://github.com/css- modules/css-modules)

[2] [https://github.com/webpack/css-loader](https://github.com/webpack/css- loader)

[3] [https://github.com/css-modules/css-modulesify](https://github.com/css- modules/css-modulesify)

<comment><USER7> This is miles better than everything on that list for things that don't need much dynamic style computation.

</comment></comment><comment><USER8> Here's another great comparison: [https://github.com/MicheleBertoli/css-in- js](https://github.com/MicheleBertoli/css-in-js)

I think that css-modules (implemented in webpack's css-loader) is the sanest approach: [https://medium.com/seek-ui-engineering/the-end-of-global- css...](https://medium.com/seek-ui-engineering/the-end-of-global- css-90d2a4a06284)

</comment><comment><USER9> So I'm looking for a simple solution 1 step beyond just using js style objects. Would radium be good without creating a ton of lock-in? I can't really sort through this giant chart.</comment>


Making Hipmunk Hotel Search on Mobile - <AUTHOR> http://blog.hipmunk.com/post/16129662762/the-making-of-hotel-search-on-mobile

<comment><USER2> Since when do y'all are including AirBnb listings? That's pretty cool to include them in the search results with traditional hotels.

<comment><USER3> We have included them from the start. They are an alternative to hotels just like we include Amtrak train searches in flights.

</comment></comment><comment><USER4> Thanks for sharing.

On the web version it feels that the highlighted hotels are too few now. For example, over all of Paris, it shows only 10 highlighted hotels, with a bunch of gray dots all around. It gives me the feeling that there isn't much availability or that your catalogue is short.

When it's at the level of a neighborhood, it makes sense. But at the city level not really (IMO), since you'll have hotels of different styles/atmosphere but of similar quality overall.</comment>


Thousands of Facebook internal documents and emails published online - <AUTHOR> https://www.businessinsider.com/facebook-internal-documents-executive-emails-published-six4three-court-leak-2019-11 <comment><USER2> I'm learning a lot about the early company culture of Facebook. And to an extent, also about how big tech companies work in general.

Just the past 10 minutes, I've learned that development speed is key, because it is basically their KPI for execution. I don't fully agree with that, but I don't think it's a bad heuristic. Speed is a necessary condition to survive from the competition. I think Paul Graham greatly exemplified that in his essays, you need to be one of the fastest or at least not be outpaced a lot by the #1.

I think there's also a lot of interesting startup advice in these type of documents. The advice may or may not be ethical, but there may be info in there to understand why Facebook became so big. I wouldn't want to do something unethical, but it's handy to know what unethical things work and why because maybe one could distill successful principles from it that are ethical.

<comment><USER3> The classic is _The AutoDesk Files_. It has the advantage of being well organized, curated, and correlated with 35 years of operating history.

[https://www.fourmilab.ch/autofile/www/autofile.html](https://www.fourmilab.ch/autofile/www/autofile.html)

<comment><USER4> [https://www.fourmilab.ch/autofile/www/section2_44_3.html#SEC...](https://www.fourmilab.ch/autofile/www/section2_44_3.html#SECTION00443000000000000000)

What Does Simulation Have To Do With It?

Alan Kay, delivering the keynote speech at the Second West Coast Computer Faire in 1978 said, ``we decided to focus on simulation in Smalltalk, because that's the only really interesting thing to do with a computer''. When I heard this, I was aghast: ``Simulation'', I thought, ``why in the world would people want to use personal computers to model throughput in a machine shop, or to calculate the number of toilets[Footnote] in a football stadium''. Certainly any rational person wanted a personal computer to do real computer science on it: to write operating systems and compilers so that others could use them to write programs, and...well, I hadn't thought that out completely.

``Simulation'' had come to mean (at least in the computer science lexicon), a specific kind of modeling of systems, usually done in an odd simulation language such as Simscript or Simula. What I only realised years later was that what Alan Kay was talking about something far more grandiose when he said ``simulation'': getting the whole wide world into that itty-bitty can: the computer. And yet, ``simulation'' in the limited computer science sense has already had a great and often little-appreciated impact on computer science as a whole. In his speech, Alan Kay exhorted people to look closely at Simula-67 for the direction of the future. Simula-67 included (in 1967!) classes, object orientation, multiple communicating processes, in fact close to a laundry list of what is currently considered the way to approach complex problems. So simulation in the small has already influenced the mainstream, and I believe that simulation writ large will have an impact many times greater.

<comment><USER5> We've done great at learning all the lessons from the LISPs, the PROLOGs and the ALGOLs. But we have not even begun to adopt the lessons from Simula and it's successor Smalltalk (ruby barely scratches the surface). When we do it will be a game changer.

<comment><USER2> I remember there was this blog post about making iphone apps with Smalltalk or something like that.

If I'd ever want to learn Smalltalk I'd want to start there. It's hard to prioritize though, there's so much I want to learn.

But since I already bought The Little Schemer to just have something lying around to seduce me to learn more, I wonder...

What's a good book for Simula or Smalltalk?

<comment><USER6> > What's a good book for Simula or Smalltalk?

For Smalltalk, just start with the Blue Book. It's so well written and complete -- and most of it still alive in current implementations -- that it's the best place to start.

[http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook....](http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf)

</comment></comment></comment></comment></comment></comment><comment><USER7> From Zuck (Thursday, January 10, 2013 1:28AM) Subject: Re:Competitive Mobile App Install Ads

"I think we should block WeChat, Kakao and Line ads.Those companies are trying to build social networks and replace us.The revenue is immaterial to us compared to any risk.

And I agree we should use ads to promote our own products, but I'd still block companies that compete with our core from gaining any advantage from us. I'd also keep blockingGoogle but otherwise wouldn't extend the block to anyone else."

<comment><USER8> These actions may look anti-competitive, but these companies are all foreign (China, South Korea, Japan). China does anti-competitive stuff to US companies _all the time_. I doubt there's any legal case for FB abusing monopoly powers based on this email. If anything, this is just very competent business decision making.

<comment><USER9> > These actions may look anti-competitive, but these companies are all > foreign. China does anti-competitive stuff to US companies . . .

I don't think there's any exception in the antitrust laws like "but you can be anti-competitive if the other guy did it first." And anti-competitive behavior in a Chinese company can hardly justify anti-competitiveness against a Japanese company or a Korean company. They may all be in Asia but they are nonetheless different countries. Google is also not a Chinese company, as you are probably aware.

Also a note: _you don 't have to be a monopoly to be charged with anti- competitive behavior_. Being a monopoly can raise the standard of behavior and increase the penalties, but anti-competitive behavior can be illegal on its own, aside from whether you have an actual monopoly. For more you can start with [https://en.wikipedia.org/wiki/United_States_antitrust_law](https://en.wikipedia.org/wiki/United_States_antitrust_law)

<comment><USER8> I would guess foreign companies aren't protected by US antitrust law the way domestic ones are.

</comment></comment></comment></comment><comment><USER10> Link to the docs: [https://dataviz.nbcnews.com/projects/20191104-facebook- leake...](https://dataviz.nbcnews.com/projects/20191104-facebook-leaked- documents/assets/facebook-sealed-exhibits.pdf)

<comment><USER11> Small warning for those on metered connection, that is seemingly a 627 MB .pdf.

<comment><USER12> Ahaha makes sense - I tried to open it on my iPhone 6S with no luck.

</comment></comment></comment><comment><USER13> It'll be a pretty long while before I manage to read through _all_ of this, but I plan to. Got a small start today, and I'm going to keep going through at least a few dozen pages every day, and dedicate a couple of weekends to doing more significant reading.

I'm seeing some people around the Internet arguing that this is pretty typical and not surprising. The stuff I'm reading so far is surprising to me.

My prediction: similar to the Snowden leaks, there are going to be a bunch of people who say that none of this is unexpected, and we already knew most of the main points. With Snowden, those people are downplaying the environment that existed prior to the leak, and retroactively rewriting the arguments that people used to make. The same thing will be true with Facebook.

So I have personally had people argue to me on HN (recently) that the reason Facebook's APIs are so closed-off is because of privacy concerns, particularly around the 2016 election. If we want an Open Internet, that's fundamentally at conflict with a private Internet, so really _we 're_ to blame for Facebook's policies. These documents, to me, make that claim objectively false -- Facebook was talking about closing off access as early as 2012, and the reason they were doing so was to reduce competition.

There are people on this very thread arguing that really this is just a story about privacy, and everyone is being mean to Facebook -- and I don't know how to square that with the memos and emails I just finished reading that argue the opposite.

> _" When we started Facebook Platform, we were small and wanted to make sure > we were an essential part of the fabric of the Internet. We've done that - > we're now the biggest service on Earth. When we were small, apps helped > drive our ubiquity. Now that we are big, (many) apps are looking to siphon > off our users to competitive services. We need to be more thoughtful about > what integrations we allow and we need to make sure that we have > sustainable, long-term value exchanges."_

Regardless of whether or not anything here is actually illegal, based on what I've read so far, I feel like (for me) the debate over whether federation is compatible with privacy is over, barring some kind of crazy revelation half- way through this document. We should assume that platforms like Twitter are having the same conversations, and we should assume that when Facebook/Twitter executives say that closing down APIs is necessary for privacy, that they're gaslighting.

<comment><USER14> The Solid project is building out the W3C ACLs standard to tackle the idea of fine-grained sharing over federated systems.

<comment><USER15> Any updates on that? I haven't seen any news about it since it was announced

<comment><USER14> On Solid, or specifically the ACLs proposal? There's a lot of ongoing work on Solid in the Gitter rooms, forums, and the working groups for the differest standards. There's also a growing set of (MVP) apps for Solid right now.

</comment></comment></comment></comment><comment><USER16> > Facebook has fought vigorously against the release of the documents. It > continues to argue that the documents do not paint a balanced picture of its > activities. In an emailed statement, a company spokesperson told Business > Insider: "These old documents have been taken out of context by someone with > an agenda against Facebook..."

I sympathize with some (it probably doesn't paint a 'balanced' picture, this person probably does have an agenda against FB) of what they're saying here but...4000 pages and the context still can't be established?

<comment><USER17> How many emails, memos, etc. does a large organization create _everyday_? I'm sympathetic to your point, but surely 4000 documents could be cherrypicked to present a consistent view of the company (for good or bad).

<comment><USER18> That's ad hominem. The documents should be looked at in their own merit. This isn't some phrase that can be taken out of context, it's a bunch of formal documents that can be looked at to establish a line of facts related to FB's conduct.

<comment><USER19> Its not an ad hominem.

Its only an ad hominem if someone makes an unrelated personal attack against the source of an argument. The original argument was that these documents are suggestive of facebook corporate culture/evilness. A counter argument that the documents are cherry-picked by someone with a grudge (which may or may not be true) directly responds to the original claim that you can gleam a fair picture of facebook based on these documents. Thus it is not an ad hominem (that's not to say that it is necessarily a good argument)

</comment></comment></comment></comment><comment><USER20> A few years after your CEO proposes crazy ideas via email:

      24 Q. So where you say "which is kind of crazy,"
      25 why was that kind of crazy?

      < missing pages ... >

      1 A. Again, I don't recall.
      2 Q. Mr. Olivan?
      3 A. Again, I don't recall.
      4 Q. Mr. Cox?
      5 A. Again, I don't recall.
      6 Q. Ms. Sandberg?
      7 A. Again, I don't recall.
      8 MR. GODKIN: All right.

</comment><comment><USER21> I think we should be skeptical when it comes to Facebook coverage in the media, as quite a few stories have been pushing these false and speculative narratives, often including hearsay and personal subjective opinions to support claims rather than facts.

I mean, if you really believe Facebook is so bad, then do your job as a journalist and dig though the material yourself. Find the facts, and show us the exact facts that support your idea. Do not just speculate and make assumptions. However, you should really understand to leave out irrelevant off-hand comments made in "the heat" of a discussion. What is important is what a company is saying publicly, and that it matches up to what they are doing to a reasonable degree.

I am generally in favor of transparency, but it is not good to blindly and uncritically leak internal documents and discussions, just look at the whole pizzagate falseness. But, this is especially true when you know about the current media sentiment and same said material has just conspicuously been held by a company in conflict with Facebook.

Personally, I think the bikini app was deprived of decency, and it is amazing this app is not getting more criticism for what it did in the media. I think we can all agree the decision to remove access was necessary and a victory for users, as it is a step towards more privacy focused social media. The fact that the media will even touch the bikini story is ridiculous.

Those of us who grew up on the internet should be more objective.

Facebook is doing a much better job than their competitors (YouTube, Twitter. Etc.). The privacy controls are actually really good already, and I am sure we will only see them improve. We should give credit where credit is due!

I think, ultimately, this is about privacy and the information companies collect. People are in their right to be worried, but the media should still be more objective. For example, I wonder why no one cares about anonymization and increased transparency as solutions, something that rarely seems mentioned by the media. Companies do not invest in this for fun and giggles. More info here: [https://policies.google.com/technologies/anonymization?hl=en](https://policies.google.com/technologies/anonymization?hl=en)

Making more technology open source, including anonymization technology, would probably help to increase trust.

<comment><USER22> > just look at the whole pizzagate falseness

Pizzagate is largely responsible for Epstein's crimes entering the public zeitgeist. Some of the allegations were bizarre and unfounded, but I credit Pizzagate for taking down one of the most rampant child sexual abusers in our nation's history (that we know of). Bill Clinton's rides on the "lolita express" were brought to light by Pizzagate, which then kept investigating Epsteins connections to Trump, Acosta, and Epstein's numerous associates.

To put my tinfoil hat on, I suspect that once the internet started releasing some seeds of truth, the pedo cabal engaged in topic sliding superlative accusations to muddy the waters about which revelations had a basis in fact.

Does Hillary Clinton really drink the blood of children? Of course not. But, Epstein was certainly a creep and I'm glad he was taken down. I'd hope the FBI has done an impartial investigation of the allegations against Podesta and Alefantis: public found some creepy-but-ambiguous skelletons in their closets as well.

<comment><USER23> Pizzagate's main propagandist was a Trump supporter who is in court with Jeffery Epstein's ex-lawyer Alan Dershowitz siding against Epstein's victims.

That supporter, Mike Cernovich, rallied gullible MAGA fanatics around this conspiracy leading to a gunman storming a pizza place looking for a non- existent child sex dungeon.

For whatever reason you are hear trying to give it credit when really it was a deflection campaign. Cernovich didn't detail his work with Alan Dershowitz in court as much as he promoted outright conspiracy theories to followers known to be violent.

These people want you to believe Epstein's accusers but not when it comes to their claims about Trump or Dershowitz. If the accusers are to be believed then their claims exonerate Clinton while rope Dershowitz and Trump in being involved with the child sex trafficking centered around Mar-a-Lago.

<comment><USER22> Pizzagate was an online popular movement that raised suspicion against numerous political figures on both sides of the aisle.

I think you're giving Cernovich way too much credit here. Many right-wing personalities latched onto pizzagate because Bill Clinton flew on the "Lolita Express" many times, sometimes without secret service, and this made HRC look bad. Cernovich is a publicity troll: he latched on because it was self serving. I wouldn't be surprised if he was a 'topic sliding' agent being used intentionally.

A lack of accusers pointing the finger at Clinton does not exonerate him.

But I agree, from what I've read, it seems that Dershowitz and Trump both had involvement - at minimum they had prior knowledge of Epstein's crimes.

<comment><USER23> >Pizzagate was an online popular movement that raised suspicion against numerous political figures on both sides of the aisle.

Don't forget shooting firearms in pizza parlors based on the efforts of people explicitly biased towards Trump. Why bother trying to make the conspiracy theory look balanced when it was all about shrieking at Clintons and deep state democrats.

>Cernovich is a publicity troll

He is in court with Dershowitz, his involvement and apparent pro-rape statements along with biases towards Trump has resulted in the victim expressing fear over his propagandist tendencies and his involvement in the court case in general.

That is more than publicity trolling.

>A lack of accusers pointing the finger at Clinton does not exonerate him.

No it just leaves people relentlessly accusing him despite lack of actual victim testimony look like hopeless lost biased assholes that would rather talk about Clintons 24/7 than address named culprits.

Like lets hear about her emails for four more years instead of the current actions of sitting representatives or efforts of people like Alan Dershowitz, running public defense of Trump's inner circle. Including his involvement in writing the foreword for Muller's report published on Amazon well before the actual report was put out.

<comment><USER22> This isn't a situation for partisan tribalism. Everyone with connections to Epstein should be investigated by the FBI.

Also,

>Don't forget shooting firearms in pizza parlors

You mean the guy who fired a single shot to open a locked closet door because he thought children were trapped behind it . That was idiotic, but not an act of terrorism or motivated violence.

<comment><USER5> If firing a gun at _anything_ , especially a chunk of metal, in a Pizza Parlor with people in it isn't motivated violence then what is? Does the word 'ricochet' mean anything to you?

<comment><USER22> I think intentionally firing a gun at someone with the intent to kill or injure is definitely morally distinct from irresponsible tool usage.

Using a gun to open a lock is dumb and irresponsible, but it is not violent.

<comment><USER5> Are you seriously trying to argue that he brought the gun because he couldn't bring a pass-key instead? I'm of the opinion that it didn't get worse because there wasn't anything behind that door but god forbid if there had been people there and he could have easily maimed or killed someone just by firing it in the first place.

Gullible violent idiots should not have access to guns.

<comment><USER22> I'm not saying the shooter was right or justified: what he did was dangerous, irresponsible, and reprehensible.

However, I just think that it is misleading to say "shooting firearms in a pizza parlor" because that makes it sound like he was spraying a crowd of people with bullets with reckless disregard for life when he fired only a single shot at an inanimate object.

It does not appear the shooter attempted to hurt anyone, the whole thing was the misguided attempt of a likely-mentally-ill person to 'protect the children'

<comment><USER5> Firing a gun is something that you should not do lightly, especially not in public places. These vigilante morons who are whipped up by their media savvy puppetmasters are dangerous. Firing a gun should be enough evidence for that, regardless of what it was fired at. What John Wayne does in the movies could have ended up very badly IRL. So yes, that was with reckless disregards for life, you have no way of knowing where that bullet you fired will end up. Signed, Yours Truly, Deadeye Dick.

Oh, and that's besides the fact that mentally ill people - and most of the general public - should not have access to guns in the first place.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> After reading some of this, I'm a bit blown away by how sophisticated and on top of their game FB is as a company. Pretty sure my company would not have these discussions at the same level, or think about things in this way with such a tight engineering/product/business alignment and thought.

edit: and I work at a "tech company".

</comment><comment><USER25> Could this leak be a response to Zuckerberg's statements regarding Facebook's political advertising policy?

<comment><USER26> > response to Zuckerberg's statements regarding Facebook's political > advertising policy? reply

Its up to Advertiser to make certain they are Not lying, Not the publication. Is FB now supposed to verify Every Single Ingredient in a Can of Spam before they let them advertise a Spam Taco... imho, it's absurd.

<comment><USER27> Nah it's actually up for society to decide what they want to allow.

Nearly everyone agrees that political ads that lie are problematic. We the people think Facebook should do something about that. If they're unwilling to regulate themselves then we'll regulate it for them.

This can range from putting guidelines all the way to breaking Facebook apart.

It's Facebook's decision what they want their future to be.

<comment><USER28> Zuckerberg has repeatedly asked Congress for clear guidelines, stating that FB doesn't want to be in the position of arbitrating this issue. Because it's an incredibly difficult task, politicians have punted.

<comment><USER25> It can easily be argued the Zuck is the one punting to Congress. It's a hot potato subject: whoever holds the potato when the music stops is gonna be badly burnt.

<comment><USER29> It seems pretty clear he doesn't want FB to be the decision maker. Guessing his reasoning is probably more projection than anything else.

But back the "punting" metaphor -- he only has the ball because the US government never picked it up. Doesn't it seem pretty clear that these standards (re: hate speech, election ads, etc.) should be made at a national level, rather than a FB level?

<comment><USER25> > Congress shall make no law respecting an establishment of religion, or > prohibiting the free exercise thereof; or abridging the freedom of speech, > or of the press; or the right of the people peaceably to assemble, and to > petition the Government for a redress of grievances.

Therefore - at least in the US - no, based on the 1stA and the reasoning leading to it in the first place.

One argument I heard that cuts to the heart of why I think this is a cynical partisan move: the same publications and media outlets pushing for and celebrating the removing of political ads from social media are the same ones who are running those ads in their own outlets. This means that the issue isn't over ads themselves, but over who has control over the ads.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> Facebook is the slow motion, global scale, online equivalent of the Fyre Festival for our whole society.

<comment><USER31> If Facebook disappeared tomorrow, I don't think it would make a difference. The same incentives and behavior patterns still continue to exist, so something else would fill its place.

<comment><USER32> Probably many things would take its place. Facebook is the internet provider for certain parts of the world. It's a very large company with horizontal integrations that a start up isn't likely to be able to enact altogether.

</comment></comment></comment><comment><USER33> I would be much more interested in email leaks about the "friendly fraud" case [1], because I think Facebook actually broke the law on that one.

[1] [https://www.revealnews.org/article/facebook-knowingly- duped-...](https://www.revealnews.org/article/facebook-knowingly-duped-game- playing-kids-and-their-parents-out-of-money/)

<comment><USER34> The phrase "friendly fraud" is long-established credit card industry jargon, and it does not mean what that article seems to think it means.

<comment><USER35> According to several passages in the article, that term was used by Facebook. Whether they use it in the same way as the credit card industry, I don't know. But if FB means something different, the error does not seem to be with the article.

</comment></comment></comment><comment><USER36> "The British Parliament's Digital, Culture, Media, and Sport Committee published hundreds of pages in a report in December; they were seized from Six4Three's founder, Ted Kramer, when he visited the UK."

Can anyone explain how/why the documents were seized?

<comment><USER37> [https://diginomica.com/parliament-pressure-and-panic-how- the...](https://diginomica.com/parliament-pressure-and-panic-how-the-uk- government-got-hold-of-facebooks-confidential-documents)

A parliamentary committee was investigating "Disinformation and 'fake news'" which also touched on Cambridge Analytica. Once they found out Kramer had documents from Facebook obtained in lawsuit discovery, they sent him an Order to Produce Documents. He didn't initially comply but then went to Parliament without lawyers where he may have then believed he would be imprisoned or detained in the country for not complying so he turned them over from a Dropbox account ( Had he asked a lawyer, he would know that UK Parliament hasn't fined or imprisoned anybody for a long time [https://www.theguardian.com/law/2015/jan/30/contempt- parliam...](https://www.theguardian.com/law/2015/jan/30/contempt-parliament- bluster-threat) )

<comment><USER36> Thank you!

</comment></comment></comment><comment><USER38> I am only on page 9 and the pattern appears to be somewhat obvious. I can kinda understand now the constant anti-FB crusade in media now. FB pissed off a lot of powerful people getting to where it is.

For the record, I dislike FB myself.

</comment><comment><USER39> "Competitor" is a fun term to search for in this document.

</comment><comment><USER40> Dupe:

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

</comment><comment><USER41> Facebook is the dumpster fire nobody wants to walk away from because it's here everyone hangs out. Everyone tolerates the smell because if they want to show their mom or their grandmother pictures, it's where you do it. You just have to ignore the flaming garbage all around you while you flip out your photos.

There is no alternative to Facebook. Even if Twitter were tons better, if you want to move, you have to drag all your friends along with you.

<comment><USER42> I don't really disagree with your broader point but...

>if they want to show their mom or their grandmother pictures

Email? Personally that's how I show pictures to my dad. (Well, that and in person.)

<comment><USER41> Email sucks. It's the dumpster fire where every single web-site I've ever interacted with thinks they can monopolize my attention. Facebook got big when email was the dominant way of sharing with family & friends and there are a lot of good reasons why.

<comment><USER42> And Facebook isn't? Gmail tabs work pretty well for me. Yes, a lot of email comes in but my Primary tab is relatively clean. Email is still my primary communications method for home and work with texting in 2nd place for more immediate needs.

Added: What email was/is bad for is the family member/friend who just had to share jokes, what we call memes these days, etc. with 100 of their closest friends on a daily if not hourly basis. Facebook etc. have largely replaced that sort of thing and that's for the best. But sharing baby pictures with the grandparents? Email's is fine, even best, for that.

<comment><USER41> > And Facebook isn't?

I posted as much above. Both are dumpster fires, for different reasons.

</comment></comment></comment></comment></comment><comment><USER43> The documents are not "explosive." The title should be updated to remove linkbait.

<comment><USER44> Ok, we've defused the title above.

<comment><USER45> occupational hazards intensify !

</comment></comment></comment><comment><USER46> Business Insider: we haven't read these documents and are "combing through them" right now, but they're explosive!

<comment><USER47> Still better than the breaking news of someone "about to drop documents maybe next week". "The entire world is watching that suitcase full of nasty nasty documents, when will it open?".

</comment></comment><comment><USER48> Someone from Google, please do the same.

<comment><USER49> [https://news.ycombinator.com/item?id=20697780](https://news.ycombinator.com/item?id=20697780)</comment></comment>


Will Greece Will Exit the Eurozone in 2015? – Live Odds - <AUTHOR> http://www.gambletron2000.com/europe/12304/will-greece-exit-eurozone-in-2015

<comment><USER2> ...or one could resort to the implied risk at Greek government bonds. A bond which matures in November next year trades at about 60% of the value you will (or wont) receive at that date. In other words the odds are roughly 2:3 that Greece defaults until then.

[http://www.finanzen.net/anleihen/191049-Griechenland- Anleihe](http://www.finanzen.net/anleihen/191049-Griechenland-Anleihe)

</comment><comment><USER3> if we don't, I will be really surprised...

You know nothing about our politicians..If you did, this wouldn't be 40-60 but way more!

<comment><USER4> Based on what I've heard from family that just got back from Greece, the referendum will come in with a strong majority voting to reject the terms from the EU/ECB/IMF, and the loans will be defaulted on.

Does this mean that the EU / EMU will vote to kick out GR from their unions? Or that GR politicians will vote to leave EU / EMU ? As much as I personally hope for the entire continent to reject the EMU and return to their own currencies, these things are less clear.

</comment></comment><comment><USER5> Where does the data come from?</comment>


Will the BBC's free micro:bit computer create a generation of teenage HACKERS? - <AUTHOR> http://www.mirror.co.uk/tech/bbcs-microbit-free-computer-handout-7610397 <comment><AUTHOR> "some experts fear the release of this pocket rocket device could backfire by helping to teach youngsters the skills needed to be a hacker."</comment>


Ask HN: Where are you finding technical information about the oil spill? - <AUTHOR>

BP is supposedly attempting the 'top kill' procedure today, and I really don't know where I should go for updates. Do any of you have a strong preference for a specific data source? <comment><USER2> "BP Agrees to Show 'Top Kill' Live"

[http://thelede.blogs.nytimes.com/2010/05/26/bp-agrees-to- sho...](http://thelede.blogs.nytimes.com/2010/05/26/bp-agrees-to-show-top- kill-live/)

However, there is still some question as to whether they will be trying today at all.</comment>


What Is Proper Continuous Integration? - <AUTHOR> https://semaphoreci.com/blog/2017/03/02/what-is-proper-continuous-integration.html <comment><USER2> Someone introduces $buzzword.

As software is a popularity contest industry driven by hype and career building blogposts, now everyone needs to do $buzzword so that they can play SEO with their resumes. This is a highly competitive market after all and you gotta put food on the table.

smug-faced guru enters the scene: "Oh it looks like you're not actually doing proper $buzzword. Shame on you for raising the hand!"

Now you're trapped. You either a) do what the guru says or b) remove $buzzword from your resume before you kiss your children goodbye and prepare for your new homeless life.

</comment><comment><USER3> Well a major problem in many organisations is perceived sensitivity of source code, and therefore a reluctance to outsource many tasks which rely on access to such.

I like to think "we'll get there".

</comment><comment><USER4> Well, what if the CI is first building xcode project and then deploying it on device and then running tests? 10 minutes?

</comment><comment><USER5> More important than build speed is the confidence that code which passed to build really works.

I think one big reason why organizations don't integrate and deploy often is that people are afraid they will break something when they do this. Then you end up pushing this big and scary thing forward and forward. This of course does not take away any of the risks, but at least you need to close your eyes and wish for the best only once a month.

</comment><comment><USER6> I really don't think build time is very important. With a separate CI server it doesn't much matter if takes an hour or <10 minutes for a build to complete, the gain for me is that it's no longer "your" time. It's some other server that's doing the work with a saved state (master).

I'll typically just merge into master on GH, let the CI server take it from there and not bother checking the site manually when the build is complete, it's not necessary. Our QA and CI process handles that.

I consider it a major advantage (benefits far outweigh risk) that I can typically merge my ticket into master, close my laptop and head home.

</comment><comment><USER7> Quite a lot of words in the comments and article, but not the word "automation" for some reason :P

</comment><comment><USER8> Is that now a thing to put your css at the end of the page?

</comment><comment><USER9> What exactly is the significance of 10 minutes? Who came up with that part? These kind of purity tests can get a little silly, I think.

<comment><USER10> The "ten-minute build" is an idea from Extreme Programming, and you can find it in Martin Fowler's article on continuous integration[1]. (That's probably where OP got it from.) The reason, as explained in Fowler's article, is to provide rapid feedback. So the person who came up with it is Kent Beck.

[1] [https://www.martinfowler.com/articles/continuousIntegration....](https://www.martinfowler.com/articles/continuousIntegration.html)

</comment></comment><comment><USER11> I think this really depends on the code base. If I had a website where a change would trigger more than 5 minutes of integrating and testing I would go mad.

I'm working with a weather model and it takes around 1 hour to build and test everything: We build against 2 super computers, 3 different compilers, 2 different architectures (CPU, GPU) and single and double precision. Building alone takes 30 minutes (more in some cases). For testing we reserve 1x node with 8 GPUs and 9 CPU cores on one machine and 2x nodes with 1 GPUs in a 30 minutes debug slot.

With a pull-request based workflow we are able to push to the master multiple times a day. 40 minutes might be achievable by massively revamping our build mechanism and getting jenkins to store gigabytes in build artifacts for each run. However, I do not think it is worth it, because changes can take multiple days, or in some rare cases months to implement. If people need to wait for an hour for their tests to validate that's not so bad.

<comment><USER12> Our tests can take hours to days and need multiple hardware configurations. I am already happy if all tests run once a week or even once a month. In the past a lot of tests would be run maybe once or twice during a year long release cycle so once a month is already huge progress.

<comment><USER11> I think this would be too expensive for us. Why do they take so long? What area are you working in? Would it make sense to scale down the tests to a sensible size and do the longer tests over the weekends?

</comment></comment></comment><comment><USER13> > As with all ideas, everybody does their own version of it in practice.

Yes.

> Continuous integration (CI) is confusing.

At core, no. Not really. See the 1st paragraph of [https://en.wikipedia.org/wiki/Continuous_integration](https://en.wikipedia.org/wiki/Continuous_integration) :

> In software engineering, continuous integration (CI) is the practice of > merging all developer working copies to a shared mainline several times a > day.

So the 2 words are defined as follows:

Continuous: at least several times a day.

Integration: merge changes to master.

It's not a tool: it's a practice, a workflow that builds, tests and tools can help you do safely.

Some of these "CI Server" tools also support "build and test the branches" which is useful but is not CI. This is a common mistake.

See also: [https://trunkbaseddevelopment.com/](https://trunkbaseddevelopment.com/)

<comment> UK-AL As long as those branches are merged in daily, it's still CI.

Your working copy is just an informal branch. Sticking it in a feature branch while your working on it is just convince.

<comment><USER13> Yes. I meant that "build and test the branches" is not _itself_ CI. But it can be a useful practice before merging in a CI workflow. Or it can be a painful set of long-lived branches.

But some people have the idea that the build and test of any branch, i.e the automated production of a binary that passes checks, is the "integration" itself. Look out for statements like "We do CI of branches on our CI server".

</comment></comment></comment><comment><USER14> For those using Selenium or something similar, do you have any tips for making test suites fast? Usually I just test the main flows with Selenium, then go more indepth with unit-tests where parts of the application are mocked out - but it's a trade off between accuracy and speed.

<comment><USER15> That's a good trade off though, and not just for speed. Selenium tests are more difficult to write and take more effort to maintain. You should definitely test as much of your application as you can with unit tests and integration tests. The end to end tests with something like Selenium should then focus on the type of bugs that you couldn't catch with the lower level tests.

I've seen situations where people had Selenium tests for every possible validation error on a form. A lower level test would have been sufficient to test all validation permutations and making sure they return the right error message, and then a single high level test can ensure that when an error message is returned it is properly rendered on the screen.

</comment></comment><comment><USER16> This is an okay and mostly correct introduction for anyone who has never heard of CI, but lacks any sort of depth. The author sounds like he just discovered the concept and wants to share it, but lacks practical experience.

<comment><AUTHOR> Hi, author here. I do come from a team making a CI service, and it took us a lot of time to realize that it'd be useful to have a time-based hard limit for what's good enough. And for anything over that you're obliged to take action to make it better.

E.g. one of our own builds took longer than 10mins at some point. You just assume that it's a function of size of the code and it's normal to rise over time. So my goal is to share that idea & why I think it matters, and get feedback. :)

<comment><USER17> How is the hard limit enforced? By the CI tool as a failed build?

It would be perfect if one could somehow keep the build quick using tools. A hard limit on a _build_ might not be the best way. If the test is taking Limit minus one millisecond, and I add one new test that takes one millisecond, I break the build. But the culprit was really commit yesterday that added a test that takes 9 minutes. The worst thing one can do in CI is somehow flag the build as "not good enough" and point the blame the wrong way.

A tool that treated test quality/perf like any other asset and fails builds based on time limits etc would be perfect. It's really hard to do that especially on shared CI servers because of fluctuating performance.

<comment><AUTHOR> Yeah sorry for not being clear there, by hard limit I didn't mean that CI should fail the build. But that the number should be a fixed threshold for the team to optimize for. Thanks for your feedback.

</comment></comment></comment></comment><comment><USER18> > "Of course our build takes long, we have over 10,000 lines of code!"

Well, my project misses the 10 minute target by a factor of four, but does include tests and have 670kloc of C++. I claim continuous in this context, thanks very much.

<comment><USER16> Not bashing at all (you are somewhat in a better place than my own organization) but a point could be made that you could break the code down into subprojects and manage dependencies.

<comment><USER18> Indeed it could, and you're looking at the result, down from 2.5h-ish when I arrived. Our pipeline runneth deep ... (Though of course we'll never stop whittling!)

<comment><USER16> Aw man!</comment></comment></comment></comment>


Men with daughters are fighting for workplace equality  - <AUTHOR> https://medium.com/code-like-a-girl/men-with-daughters-are-fighting-for-workplace-equality-heres-what-it-means-for-women-ae96d4419948#.a329cio3x <comment><USER2> "The latest, a University of Melbourne study, found that the Australian CEOs most active in the fight for equality were those who had experienced sexism firsthand through a female partner or daughter."

Wouldn't that actually be the textbook definition of secondhand?</comment>


The Continuous Delivery Foundation - <AUTHOR> https://opensource.googleblog.com/2019/03/introducing-continuous-delivery-foundation.html <comment><USER2> Hey everyone - Seth from Google here! We are really excited to take part in this new foundation. Please let us know if you have any questions!</comment>


Where do all the censored developers go? - <AUTHOR> https://danielpocock.com/where-do-censored-developers-go/ <comment><USER2> What if a lot of this culture war stuff is happening in the US because of geographic clustering? I'm not sure why a couple hundred twitter-addicted people from Portland/Seattle/SF get to pontificate all the time about who or what should be allowed in 'tech', which is a giant global industry...

I appreciate the 'Awokening' in American political culture to some extent but I've never really been comfortable with stances like, "by including X person, you are excluding me." There's some creepiness to it I can't quite put my finger on. Also, the more you take this to an extreme and purge everyone who isn't fully aligned with your thoughts and values, you're just going to end up in a very insular group that isn't reflective of how things work in the outside world.

<comment><USER3> American politics is incredibly toxic and counter productive. Why can't people keep politics and productive work separate. This goes for both sides, people need to stop sharing political rants in spaces dedicated for work and people need to stop digging in to contributors social media pages to find something bad.

<comment><USER4> >Why can't people keep politics and productive work separate.

They do. Most of the toxic political bullshit happens when you have a large enough group of people that don't have enough productive work to engage in.

Take any profitable bootstrapped company behind a product with an actual user base and the toxicity levels drop exponentially.

That said, in the current investment climate, toxic bullshit unfortunately pays more than productive work.

</comment></comment></comment><comment><USER5> The journey to software freedom has been bogged down for too long by people that drive away large chunks of potential developers & users[1].

If you want to be caustic, we won't stop you, but you can't come into community events like LinuxFest Northwest, SeaGL & such, shit on people there who are writing libre software, and expect us to invite you to come back.

1 - [https://www.networkworld.com/article/2988850/linux-kernel- de...](https://www.networkworld.com/article/2988850/linux-kernel-dev-sarah- sharp-quits-citing-brutal-communications-style.html)

<comment><USER6> I thought the idea was to keep software free, not attract as many people as you possibly can

<comment><USER5> That is my point, AGPLv3 is rarely used due to the antics of certain free software advocates.

Ethically, there is a huge swath of developers that aligns with writing code under libre licenses, but gets turned off when they see our community filled with people that lash out at them needlessly.

<comment><USER6> I personally have never considered anything other than the license text when choosing a license, and from my experience, anyone I've worked with chooses MIT because it makes open-sourcing easier. Never have I seen anyone in the wild discuss FSF as a reason for not choosing any GPL-class license, but maybe I'm hanging around the wrong places.

</comment></comment></comment></comment><comment><USER7> For those of us sitting here reading this and thinking it sounds like the ramblings of a madman writing on a public bathroom wall, can someone explain what this is about?

<comment><USER8> I clicked some links and ended up reading [1], and if anything, i understand even less than when i started. Mollamby.

EDIT: And the author has another piece featuring none other than Debian Grand Champion of Drama, Ian Jackson! [2]

[1] [https://danielpocock.com/assets/mollamby.pdf](https://danielpocock.com/assets/mollamby.pdf)

[2] [https://danielpocock.com/codes-of-conduct-and- hypocrisy/](https://danielpocock.com/codes-of-conduct-and-hypocrisy/)

</comment></comment><comment><USER9> Catch 22 just happened.

This was just "censored" by being flagged itself. Made me laugh.

<comment> dan-robertson Why is that a catch 22?

<comment><USER10> Damned if its shared, damned if it isn't.

In other words, there is no course of action for discourse (no discourse if it isn't shared, banned if it is shared).

This may be a false dichotomy? Perhaps it could be shared elsewhere? But where else (other than here) is there such a concentration of people in tech?

<comment><USER11> At the risk of talking about fight club, the weekly culture war thread on /r/TheMotte is where I would post something like this, if I wanted discussion by smart people without the risk of it getting deleted.

</comment></comment></comment></comment><comment><USER12> We've tried free speech, and it always turns into a cesspit of spam and abuse and illegal activity. Censorship is inevitable. That's not the question. The only questions are: who? whom?

The writer linked here rants and raves, and gets censored for ranting and raving. I might have had a modicum of concern if he had something meaningful to say.

</comment><comment><USER13> Whenever grassroots level organizations (genuine and pseudo), become successful, corporate organisations get their agents to work their way in to take it over eventually.

Others get involved with the intention of taking over and selling out to corporations.

This is what is happening. It is nothing new.

<comment><USER13> When I posted this comment just 52 minutes ago. This article was no 3 on hackernews. It is disappeared so fast I can't believe it.

I have scrolled to page 10 and it still nowhere to be found. amazing

</comment></comment><comment><USER14> Calling this a 'lynching' is remarkably offensive and tone deaf. People focus on the latest remarks RMS made and pretend that was his only offense, while ignoring the years of egregious behavior and anecdotes others have brought up about him.

<comment><USER15> Not only that, he has a habit of frequently equating minor acts performed as part of free software politics to terrible crimes perpetuated by ceaucescu , Iran, etc</comment></comment>


Pagination 101 - <AUTHOR> https://gist.github.com/mislav/622561 <comment><USER2> > 5\. Provide Previous and Next links

Wait! Give them better names. "Older" and "Newer" can be helpful on blogs and such, when it's not clear whether "next" means "more recent" or "deeper into the archive."

<comment><USER3> Honestly, I don't know where "Next" and "Previous" idiocy stems from, but Older and Newer is what I've used too. Now that I think of it, perhaps I should write Greasemonkey script to try to replace next and previous where applicable.

<comment><USER4> _> I don't know where "Next" and "Previous" idiocy stems from_

Next page and previous page.

It is usually the default wording because when making a generic paging routine you don't know if things are going to be sorted ascending or descending, or if they are in date order, numeric order, alphabetic, in the order of the author's first pet's birth month, or something else entirely. Sometimes a framework has no option for changing the captions, and sometimes we as devs are lazy...

Where the ordering is obvious next/previous is fine, but as you say it is much better to be more precise about what you mean if at all possible.

<comment><USER3> > Next page and previous page.

Yes, I understand that it has its roots in print. But on a screen that isn't physically chronological it becomes more complicated.

> Sometimes a framework has no option for changing the captions, and sometimes > we as devs are lazy...

I guess that's a good explanation :-)

</comment></comment></comment></comment><comment><USER5> One related idea (to do with pagination itself, not just the pagination controls) I've had that I've never seen actually implemented:

Where showing _n_ elements per page, if the last page would have no more than ε elements in it, _merge it with the previous page_.

e.g. _n_ = 10, ε = 2, so a data set of 21 elements might go over two pages of 10 and 11 elements rather than three of 10, 10 and 1.

Sure, SQL LIMIT queries and all that, but it'd tend to be nicer for the user.

<comment><USER6> >Sure, SQL LIMIT queries and all that, but it'd tend to be nicer for the user.

You'd need to keep a count to do that and a lot of tables you'd bother to paginate, a COUNT( _) is way too expensive.

Okay so lets say you keep a cache of the COUNT(_).

What if you're off? Now you have confusing, irregular behavior that throws the user off.

Is this something you've tried in an actual application before?

<comment><USER7> Count on an indexed column is a pretty fast operation and it's always correct.

<comment><USER8> count(*) is a linear time operation (roughly to the size of the table) on postgres. It does an index-only scan but with a sufficiently large table/index it's still a problem. It's to do with postgres MVCC implementation. I don't know if other SQL databases have this problem. MySQL doesn't seem to.

<comment><USER9> It's a problem in mysql too, unless you use an engine like myisam, which isn't realistic in most scenarios due to durability and concurrency concerns.

</comment></comment></comment></comment></comment><comment><USER10> Maybe add (2007) to the title? The article this is taken from is from 2007: [http://www.kurafire.net/log/archive/2007/06/22/pagination-10...](http://www.kurafire.net/log/archive/2007/06/22/pagination-101)

</comment><comment><USER11> Absolutely disagree with number 2; if the numbers are hyperlinks to other pages they should be underlined. The underline on links informs the user that it is a link to another page (i.e. they will be navigating away from the current page), that the interface is page based, that clicking the link will add the current page to the history and that their back button will work, etc, etc.

Removing the hyperlink makes the numbers look like numbers. The user will have to "learn" that they can click the numbers.

Oh, and make them blue!

<comment><USER12> It's a visual design issue really, and not just purely usability light the rest. By now, most people are aware of how paginations work.

I agree with you, but I am just stating that at most, it only serves as purely aesthetics. You could replace underlines, with hover with a transition effect or animate on appearance (as going back or forwards), etc.

<comment><USER11> "..You could replace underlines, with hover with a transition effect or animate on appearance (as going back or forwards), etc."

No, that misses the point. An underline has a very specific meaning. It is not just aesthetics. If put a handle on a door that you push to open, people will pull on the door on their first attempt. By doing this you've changed the meaning of a handle to all users of the building. Now, a user can no longer rely on the visual affordances provided by "door handle". They must navigate and interpret each and every interaction with a door in that building.

Removing an underline remove a very important part of what an hyperlink is. And I would argue that the colour of a hyperlink is just as important.

<comment><USER13> But an underline is arbitrary. Similarly the colour blue is arbitrary. You only think that it makes sense because that's what is currently common.

If you had never used a computer before, there is nothing discoverable about blue underlined words. They could be red italics and it would make absolutely no difference. A handle is shaped to make it possible to open a door. It has a discoverable purpose (some handles more than others).

If we decide that arbitrary UI representations should stay just because they were historically common, then we will never improve our user interfaces. I'm all for avoiding surprising the user, but saying that an underline has an intrinsic meaning for a hyper link is just wrong.

<comment><USER11> "If we decide that arbitrary UI representations should stay just because they were historically common, then we will never improve our user interfaces."

Putting aside the assumption that hyperlinks require improvement, you've mistakenly declared that certain visual attributes were chosen arbitrarily and therefor are fair game to change. But it is those very same attributes that provide the visual affordance required for users to determine the function they perform. That is, whilst the selection of those attributes, in the beginning, may have been arbitrary, they no longer are. Consistency in application is one of the best ways to pass on knowledge. Whilst blue underlined text doesn't have anything that intrinsically suggests its action, consistent application of that visual language builds up the affordance in the user: all blue underlined text is a hyperlink.

Look at it this way; at some point in the past someone decided that the highlight on GUI buttons should appear to come from the top-left of the screen. This was a completely arbitrary decision. However, with the rest of the GUI adopting the similar design decision, a cohesive impression is built up. It became obvious to users that this meant that a button was raised and could be clicked with the mouse cursor.

But if you design your GUI with the highlight coming from the bottom-right, no matter home much better you think this will improve the GUI and how much more sense it makes, your button will appear to be inset and selected. That is, whilst the selection of those attributes, in the beginning, may have been arbitrary, they no longer are.

And so it is with hyperlinks. Hyperlinks are underlined blue text because they are. Unless there is some radical, obvious improvement to be made, any changes to these attributes will be to the users detriment. Most often, these changes are attributed to improving integration with the web page design, introducing cohesiveness, but this is mistaking hyperlinks as elements of the design. They are not, they are UI elements and as such should sit outside the style of the web page.

With the politest of respect and IMHO of course :)

<comment><USER14> Any 'detriment' will be temporary. We all play games with novel controls, and are willing to learn that. Why not a new browser? In fact, something new could get a cult following, if its actually even a little better in any way.

I'm in favor or innovation, even in user interfaces. Otherwise we'd not have automatic doors (which had remained unchanged for 2000 years) or windows that slide up and down. Or TV remotes.

</comment></comment></comment></comment></comment></comment><comment><USER15> Something I absolutely hate: varying alignment.

When I'm trying to rip through pages to find something and I can't just sit there and click, instead I have to move my mouse around (so lazy over here), ugh, it drives me insane.

<comment><USER16> This is a good example of how important it is to work with actual data, representative dummy data, or at least to try and simulate these things. When pagination is built, the fixed-width page number links are often based on a single integer, which of course breaks down once you get more content.

A huge amount of 'bugs' I run into as a front-ender are of this kind. For example, someone designs a nice three-column layout with title, subtitle, and text underneath each other. Each of these columns is fixed-height as well (usually a bad idea in general, but it looks very ugly otherwise).

This works fine in the design phase, where titles are written to fit the element, but once you start working with real data, you run into a problem: one title might be three lines high, while another is only a single line high. Since you want the 'columns' to be fixed height, you now have to add a lot of whitespace underneath the one-line title, so that everything lines up with the three-line title element.

Then you realize that you have the same problem with the subtitle and content, so now you end up with ridiculous amounts of whitespace between title, subtitle and body, depending on the length of the text within.

I've often tried to preemptively address these issues as a front-ender, but aside from this not really being my job (that's where the value of a UX designer comes in, I guess? Or at least a web-skilled designer), I can't always predict these kinds of things either.

So the best solution I've found is to always try to work with real data, or create enough 'random' fake data to fix these kinds of issues.

</comment></comment><comment><USER17> One pagination that I really don't enjoy using is GitHub's "Newer" and "Older" links when you're viewing the commit log. Luckly, the URI has a `page=` parameter and I'm able to put in some arbitrary numeric strings to try and guess which would be the last page. Because I like to see the first commit of really mature projects when I'm just browsing sometimes.

<comment><USER18> I know it would be nice to have it built in to GitHub, but you can try this as well: [http://first-commit.com/](http://first-commit.com/) (and comments: [https://news.ycombinator.com/item?id=10610065](https://news.ycombinator.com/item?id=10610065))

</comment></comment><comment><USER19> One other key: don't identify current position by index, because then you'll miss or duplicate items when the list changes. If you show 1-10, then a change in the background adds 5.5 between 5 and 6, the next page will show 10-19. Worse, if a change in the background deletes 5, the next page will show 12-21, missing 11.

So instead, when showing items 1-10, the link for the next page of results should query for the next page full of items start after item 10.

That still lets the user miss added items (mostly unavoidable unless the list is sorted by "things the user hasn't seen yet"), but doesn't miss items when deleting seen items.

<comment><USER8> Doing it this way is known as the seek method/"keyset pagination" and it's also quicker when you're quite deep in the list:

[http://use-the-index-luke.com/sql/partial-results/fetch-next...](http://use- the-index-luke.com/sql/partial-results/fetch-next-page)

</comment></comment><comment><USER20> This was written 5 years ago FYI. Things look better today with bootstrap and devs copying each other thus a unified UX among websites get crafted

</comment><comment><USER21> Years ago, I never used "Next" in Google's search results, because I thought it would bring me to page 11. The next page after 10, because 1..10 were clearly lined out.

Took me a while to understand that "Next" works differently and is somewhat misplaced after "10".

<comment><USER22> I think the need for "Previous" and "Next" is overstated. Unless your pagination is pixel-consistent from page to page (and at the top of the page), it's going to be fiddly to repeatedly press anyway, and that's the only real benefit. Normally, if you're scanning the pagination links, you'll reach the next page by number way before you reach the "Next" link (obviously, that's not the case with Previous, though!).

Same for Start and End, really, if you adopt the 'show the last page or two' approach, so this is possibly better:

        [1] [2] 3 [4] [5] ... [19] [20]

You can then omit a whole class of concerns and just concentrate on the few remaining elements relating to the page numbers themselves.

<comment><USER23> People don't scan linearly; they recognise the pagination controls as a block. It's much quicker to jump to the end of the pagination block to find the "next" link than to scan through all of the numbers to find the current page and then find the next page.

Also, you're forgetting about the fact the bottom of the page forms a boundary. If you're pagination is at the bottom of the page it is consistently the same distance from the bottom after you scroll all the way down.

If you have a mousewheel you can take advantage of this on Google. After you click next the first time, leave your cursor in the same position and use the mousewheel to scroll as you scan the results. Once you hit the bottom, the cursor is over the next link and you can just click.

Even if the user isn't advanced enough to use a mousewheel, they can still become familiar with the position of the next link relative to bottom left of the page.

</comment></comment></comment><comment><USER24> I built something cool for a client a couple of years ago. When sorting on price (or title, or anything), it shows you the price range (or title..) in that page ($100 - $350) on mouse hover in a tooltip. Surprisingly it's not something I've ever seen anywhere else.

This way you can instantly jump to the price range you are interested in.

[http://blog.waleson.com/2011/03/design-pattern-pagination- wi...](http://blog.waleson.com/2011/03/design-pattern-pagination-with- useful.html)

I think no one does this because SQL syntax just gives you COUNT and LIMIT primitives so those become the terms that developers think in.

</comment><comment><USER25> This seems like it's aimed a general users, not users with screenreaders.

Also remember to use class="current" (or some such) and rel="next" and rel="prev".

</comment><comment><USER26> I remember a comment once that pagination could be a sign that you need to provide better filtering or search options. Not so relevant for online comics, but consider a store where you're in the Camping section and there are 800 results.

The user is likely to be better off with sub-category filters (tents, sleeping bags, etc) or a nice, fat search box with auto-complete.

My pet peeve with pagination is when the default items-per-page is something pitiful like 10 when it could be 50-100. NameCheap did this for a long time when listing your products in the Control Panel - it was agonising!

</comment><comment><USER27> Pagination is an often overlooked aspect of search engine optimization. Imagine you have a pagination like "<prev 1 ... 23 24 _25_ 26 27 ... 100 next>". As you can only reach the two pages next to the current page the 50th page is 25 hops away from the first page. The depth of the paginated pages would be in O(n) with a pagination like this. A pagination wich offers a better crawlability would not only link to pages in the direct proximity but to pages further away: "<prev 1 ... 10 ... 24 _25_ 26 ... 50 ... 100 next>". In this way you may bring the depth of your paginated pages into O(log n).

<comment><USER7> [https://en.wikipedia.org/wiki/Skip_list](https://en.wikipedia.org/wiki/Skip_list)

</comment></comment><comment><USER4> _> 4\. Space out page links_

This is particularly key when using a small tablet or phone. On many sites it is difficult to hit the right thing without zooming first and many of the sites I find "broken" in this way also somehow disable zoom. In these circumstances I'm more likely to go look for the same information elsewhere than persevere.

</comment><comment> guard-of-terra I had this innovative idea for working with datasets - show pagination like this:

Page 1. Next 20>> Next 40>> Next 80>>

I.e. you can request larger pages right from pagination block if you think you need them. (And on that page you will be able to downsize page or make it even larger)

But I have to admit, load-on-scrolling does make it more or less obsolete.

</comment><comment><USER28> Previous discussion: [https://news.ycombinator.com/item?id=4028623](https://news.ycombinator.com/item?id=4028623)

</comment><comment><USER29> I was hoping for details about how to implement it on the protocol level :(

</comment><comment><USER30> Which is better, pagination or infinite scroll?

<comment><USER31> Infinite scroll is usually terrible with browser navigation. If you can assume that the user stays within your page and doesn't need to navigate back and forth, it may be a reasonable option.

But for something like Tumblr or Pinterest, it's awful. When the user sees an interesting post, she clicks on it to open the page. Then she navigates back to the main page. But wait -- the infinite scroll's contents have been lost on reload. Now the page shows the top of the scroll, rather than the position where the user actually was when she clicked a link. It may be a long, long way to scroll back to where she was, with numerous loading progress indicators along the way...

<comment><USER32> And what about the scrollbar going haywire as you scroll down, or the inability to go back to that fancy thing you found a minute ago, or the browser performance hit, or just anything else related to it.</comment></comment></comment>


Awesome interactive visualisations of sorting algorithms you can see and hear - <AUTHOR> https://caspevonb.github.io/toneofsorting/ <comment><USER2> Hum, 404.

<comment><AUTHOR> Ugh, there's a slash missing at the end.</comment></comment>