`Bro culture' at startups keeps talented women out: Harvey Mudd President - <AUTHOR> http://www.cnbc.com/2017/07/09/silicon-valleys-bro-culture-slammed-by-harvey-mudd-president.html <comment><USER2> The rapid ascendency of 'bro culture' as an accepted problem in startups feels as politically manufactured as the 'alt-right' was to the 2016 election.

Both may have a whisper of truth behind them, both may have some adherents, but the numbers have been blown out of proportion because it's politically useful for some people to invent this boogieman.

<comment><USER3> I do have to say, after joining a small decidedly non-startup company, the culture at most startups is toxic simply due to that fact that they're so informal and mostly full of men. That means there will be certain situations in which the women (if there are any) may feel uncomfortable as their needs and concerns are not being actively considered.

<comment><USER4> Should people not be allowed to build a startup or a company where some groups of people might feel unwelcome?

</comment></comment></comment><comment><USER5> Given the relatively low entry costs to create a technology company, what's stopping the talented women from starting their own companies and competing with a superior product or service? It's sad to say this, but at the end of the day, you comply or you compete [1]

[1] To be fair, women (and minorities for that matter) have tried and "the forces that be" sabotaged them. For example:

[https://en.wikipedia.org/wiki/Greenwood,_Tulsa](https://en.wikipedia.org/wiki/Greenwood,_Tulsa)

<comment><USER6> Nobody is accusing bro culture of literally firebombing women in the startup world.

<comment><USER7> _Literally firebombing_ means bombarding women in startup world with incendiary ordnance, be it be plane or artillery barrage, and to my best knowledge no such action took place.

</comment></comment></comment><comment><USER8> "Men behaving badly is a theme that permeated the tech industry long before..." \-- ahh, nothing like a sexist generalization to make your point.

<comment><USER9> I guess these people never worked with Wall St masters of the universe.

</comment></comment><comment><USER10> I don't really understand why the culture of some companies is something that needs to be fixed. As long as there's nothing illegal going on (like harassment), then what difference does it make from the outside whether a company has a toxic environment?

If women don't want to work at those companies, that's fine.

I'm not a woman, but I don't want to work at those companies either, and that's fine too.

Is there anything stopping 'sis culture' companies from being formed and dominated by women?

Or companies dominated by people who make everything about video games or sports or chess or cosmetics.

Some of these companies will succeed, most will fail. As long as no one's getting harassed, why should we force them to have this culture or that one?

<comment><USER11> Exactly. If reports on the Linux kernel mailing lists are to be believed for example, it's an incredibly toxic culture. Most normal people would probably want to stay far away from it. Yet Linux has seen unbelievable success.

<comment><USER10> It's worth considering that some subsets of some industries require a regular influx of high-functioning jerks in order to grease the wheels of progress.

Perhaps in those areas anybody who's not a jerk wouldn't have the strength to keep debating minutae with pedants long enough to accomplish anything monumental.

</comment></comment></comment><comment><USER12> For anyone wondering _(like me)_ what is _" Bro Culture"_:

> Bro culture doesn't have an accepted definition. But it's instantly > recognizable. There are, however, a few clues to its existence:

> @ CEO - White male, no experience, no adult supervision, somewhat good > looking, glib, overconfident, arrogant, obnoxious and amoral.

> @ Management Clones of the CEO. Frat brothers (sometimes literally) he hires > for "culture fit" a move best described by the over-used, and always > bullshit, hiring idiom: "someone I would go for a beer with after work."

> @ Women Second class citizens and often looked at like sorrority sisters. > Rarely promoted, often hit on, and to survive they need to know "how to get > along with guys" which is startup speak for don't come to us with your > issues, it's bro's before ho's.

> Ref: [https://thenextweb.com/insider/2017/03/11/bro-culture- > poison...](https://thenextweb.com/insider/2017/03/11/bro-culture-poisoning- > silicon-valley/)

And a more generic definition:

> Bro is a male youth subculture of "conventional guys' guys" who spend time > partying in ways similar to each other. Although the popular image of bro > lifestyle is associated with sports apparel and fraternities, it lacks a > consistent definition. Most aspects vary regionally such as in California > where it overlaps with surf culture.

> — > [https://en.wikipedia.org/wiki/Bro_(subculture)](https://en.wikipedia.org/wiki/Bro_\(subculture\))

<comment><USER13> I think in all of the years I've been around startups and the valley I have seen maybe one company that actually fits the description of "Bro Culture."

<comment><USER14> I wonder if people see much "Bro Culture" in Silicon Valley (South Bay) area?

</comment></comment></comment><comment><USER9> She's confused. Startups are the Wild West of America. Wild West comes with Wild West rules. The rules are simple:

1) The loudest ones get heard

2) The most ruthless get some combination of (fear + respect)

3) Those from a combination of (1 and 2) get funded

4) A fraction of (3) succeed, and a fraction of those does phenomenally well.

5) Everyone else in a pool will murder to be (4)

6) When (4) for some reason stops performing as (4) is supposed to perform, it becomes not "Jack is drunk at work again but we are exiting soon and I will be multi-hundred millionaire so I'm just going to figure out how not to piss off Jack as he is my payday" but "That drunk Jack pissed off a big customer by hitting on his wife and now he is hitting on me and I'm just not paid enough to deal with his shit" That's when the cracks start showing. That's when the "culture" becomes not a culture of "we win rararara!" but "these people are behaving like frat boys!" We saw this at Zenefits. We see that at Uber.

We are starting to see it at _Tesla_.

AirBNB is going to be next - there are already grubmings about its "culture"

[Edit: Formatting]

<comment><USER15> So you're saying earlier IPOs are the answer?

<comment><USER9> If I knew what was the answer, I would be posting on HN on Sunday while watching a long running processes that did not quite work overnight.

We do have empirical evidence that people who think they are going to make gobs of money are willing to put up with a lot more than people who know that they wont make that pile of money.

Scenario #1:

Boring job - $120k/year salary + benefits. HR would send you home if your shirt is untucked. That kind of a company.

Scenario #2:

Same Boring job - $120k/year + benefits. Potential to make > $20MM on exit but one has to deal with "bro culture".

#2 is probably going to be a preferred by anyone who at any point in their life had a crappy job. Remove the > $20MM exit and #1 is a winner. Remove it after it has been implied and that person would be rather mad at the company.

</comment></comment></comment><comment><USER16> It's amusing how a simple statement like this can provoke so much defensive responses. Bro culture keeps talented people out, sometimes men, mostly women. It's _bad_ for business!

We wouldn't be questioning something like: "racist workplaces keep talented minorities out." Can you imagine someone responding to that with "Let them readjust to me, not the other way around"?

<comment><USER17> The difference is it's a noticeably sexist statement disguised as non-sexist.

Would you argue that your statement "racist workplaces keep talented minorities out" is equal to "white workplaces keep talented minorities out?"

There is a difference between an argument against "bro culture" and an argument against "sexist culture" \-- one is neutral whereas the other is clearly anti-male.

<comment><USER18> Bro culture isn't the same thing as male culture.

I personally know a lot of men who want nothing to do with bro culture, support feminism, and are generally good people. In fact, men who partake in bro culture have a number of slurs that they use to target men who want nothing to do with bro culture: these slurs include "nu-males" and "cucks" (and the latter has racist overtones, too).

So, yes, I want the men who get slurred as "nu-males" to completely push bro culture out of the tech industry and replace them.

<comment><USER15> I think you're confusing bro culture with red pillers.

<comment><USER19> HN: a place where it's more interesting to debate how to label men who say 'cuck' than it is to debate whether or not calling people 'cucks' is positive for a company's culture.

</comment></comment></comment></comment></comment><comment><USER20> What about bro culture in plumbing and sanitation, does that keep women out? Or maybe the fact that women in progressive free countries have to choice to choose a career path they might actually be interested in?

That's why the 25% stat is bullshit. I'm not denying bro culture is a problem, but its not the complete reason why there is a low adoption rate.

<comment><USER21> This is a really interesting comparison. Plumbing jobs have a reputation for high pay, as do jobs in tech. Is hooking up APIs as miserable as fixing faucets? Maybe, but I really think that self-reinforcing cultural patterns play a big role in perpetuating these gender imbalances: women opt out because of culture that results when there are few women.

The women with the most other options are perhaps most likely to go elsewhere. Some of the men who have the most options may be right behind them.

<comment><USER20> [https://en.wikipedia.org/wiki/Hjernevask](https://en.wikipedia.org/wiki/Hjernevask) I recommend watching this, it will shatter some preconceptions.

</comment></comment></comment><comment><USER22> > In 2015, women held just 25 percent of computing jobs, according to the > National Center for Women & Technology. Start-ups are even less diverse. > According to data from PitchBook, just 16.8 percent of U.S. companies funded > last year had at least one female founder.

This can't be far from how many females have studied computer science. Not that this is the only way to get "computing jobs", but it says a lot about the wider trend. I think I had 0-4 females present in my computer-oriented nonobligatory classes.

<comment><USER23> Stop calling women "females".

<comment><USER4> Stop nitpicking about pointless semantics.

</comment></comment></comment><comment><USER24> I feel like this article should have defined what "bro culture" is before going off on it. I have no idea what "bro culture" is.

</comment><comment><USER25> It keeps talented people out. Not just women.

<comment><USER26> [http://chainsawsuit.com/comic/archive/2016/07/07/all- houses-...](http://chainsawsuit.com/comic/archive/2016/07/07/all-houses- matter-the-extended-cut/)

</comment></comment><comment><USER27> I don't think bro-culture is something anyone aspires to. I had a great experience working for a company that often is criticized as a "boys club", but I consider what I experienced there to be Man-Culture, not bro-culture, and I think the baby is thrown out with the bathwater in this kind of debate. My suspicion is that any company that ends up with a "bro-culture" is simply trying and failing to implement a "man-culture."

At the other extreme I've worked in "inclusive" environments, and I'm just so fucking sick of it. You spend too much damn time worrying about other peoples' feelings to get any meaningful work done.

Interestingly the man-culture place had a lot less tolerance for harassment (except harassment by women, for some reason that was tolerated.) I think it stemmed from more paternalism, which came hand-in-hand with the Man-Culture.

EDIT: Wow this comment section is getting lit up today. My respect for this community continues to grow.

</comment><comment><USER28> Similarly, does 'sis culture' at colleges keep talented men out?

[https://3.bp.blogspot.com/-REGjzKeq_LY/T53intthiXI/AAAAAAAAR...](https://3.bp.blogspot.com/-REGjzKeq_LY/T53intthiXI/AAAAAAAARXw/PHTklVvROe8/s1600/degrees1.jpg)

This seems like a larger and more relevant problem for the president of a college to address.

</comment><comment><USER29> What about all the women founded startups, do they have bro culture as well?

<comment><USER30> Yes.

[http://www.huffingtonpost.ca/entry/mans-suing-yahoo-for- gend...](http://www.huffingtonpost.ca/entry/mans-suing-yahoo-for-gender- bias_us_56b25e1ce4b08069c7a5d2ad)

But men told to shut and and man-up

</comment></comment><comment><USER31> I don't understand this sometimes. Do they want to reeducate the entire world, just because of some demographic? Let them readjust to me, not the other way around. It's not based on gender, there's plenty of people that hate this culture, and that's normal. What do you propose, eliminate it entirely?

<comment><USER32> It is impossible to eliminate an idea or culture save by the most extreme measures. What we'd like to do is start remdining everyone going to work and going to fund that they have a responsibility to push back against and avoid funding this culture.

</comment></comment><comment><USER33> I think the most insightful part of the article was the use of HR as a signal. I can see it being a particular problem for companies with young founders who never worked at large companies with HR so there's less awareness of workplace norms, particularly issues like sexual harassment or maternity leave

</comment><comment><USER34> How about "old people"?

</comment><comment><USER35> Why is this on HN?

<comment><USER32> Because it is interesting enough to be upoted, relevant to the industry, relevant to a business, and newsworthy.

Why wouldn't it be? What kind of political agenda do you bring here that would demand we not talk about it?</comment></comment>


Global Illumination in WebGL - <AUTHOR> https://playcanv.as/p/ZV4PW6wr/ <comment><USER2> I'm surprised I never see playcanvas on HN. It's great technology that should be better known IMO.

I first came across it working on a project where I needed to load and animate a number of complex .fbx character models. Spent loads of time trying to do this with three.js (in 2017) + all manner of converters to different formats. I tried every supported loader and they were all broken in various ways.

Then somehow I found playcanvas and had the models loaded and working flawlessly in a very short period of time. That experience extended to basically everything else I tried with the system—it's well polished.

The editor UI is very nice, and yet remains lightweight in a way where I still feel more like I'm working with something like three.js than e.g. Unity. I personally still prefer three.js for _most_ projects I work on, but it would be a very good option for certain projects and I always keep it in mind. It's also open source: [https://github.com/playcanvas](https://github.com/playcanvas)

The downside is for the free tier you get their logo on your app, and you can't hide the source (and anyone can fork your project). On the up-side, the pricing was something like $15/month last time I checked.

For a very simple example, here's an asteroids game I spent a few days making with it: [https://playcanvas.com/project/479850/overview/rocks](https://playcanvas.com/project/479850/overview/rocks) (you can play or jump into the editor and modify from that link.)

<comment><USER3> Ahhh, your game reminds me of Maelstrom -- even though all the sprites were prerendered, the sprites were rendered in 3D and I spent _so_ many hours on it...

[https://en.wikipedia.org/wiki/Maelstrom_(1992_video_game)](https://en.wikipedia.org/wiki/Maelstrom_\(1992_video_game\))

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

<comment><USER4> Oh man. I spent so many hours playing Maelstrom on my LC 475.. Through your wiki link I discovered that Ambrosia open sourced the game - there are even OSX binaries. [https://www.libsdl.org/projects/Maelstrom/binary.html](https://www.libsdl.org/projects/Maelstrom/binary.html)

</comment></comment></comment><comment><USER5> Neat, dont have time to dive in the source right now but whats the trick? Light probes? Edit: Ah, nevermind its one click away:

"Illumination technique used here is:

Realtime direct shadowmapping with time blended lighmaps for global illumination on: walls, ceiling and floor.

For furniture we use spherical harmonics L2 with spatial and time blending for ambient light.

Reflections made with time blended box projected cubemaps for image based lighting on physically based materials.

Post processing done with color grading by LUT (lookup tables) and vignette."

</comment><comment><USER6> 20 years ago this kind of stuff took minutes per frame on state-of-the-art SGI workstations. Now I get > 25 fps in my phone browser. Wow.

</comment><comment><USER7> Very cool seeing PlayCanvas on HN! I've been using[1] their framework for a several years and I have to say it's the best out there. Only babylon.js comes close for 3d game engines for the browser but PlayCanvas has the Editor[2] which makes a world of a difference.

[1] [https://redka.games](https://redka.games) [2] [https://developer.playcanvas.com/en/user- manual/designer/](https://developer.playcanvas.com/en/user-manual/designer/)

<comment><USER8> babylon.js has an editor. [http://editor.babylonjs.com/](http://editor.babylonjs.com/)

<comment><USER7> That's true but the editor for babylon.js is very simple. There's a big difference between the two. Apart from the much better UI the Editor for PlayCanvas is well featured with things like uploading and auto-conversion of 3D models and textures, cloud save, light mapping, sprite editor, comprehensive engine configuration, texture compression and much more.

</comment></comment></comment><comment><USER9> Has anyone done video compositing in WebGL?

I'm very interested in moving video editing tools to the cloud where the heavy rendering can be offloaded and the browser can do lightweight work and scaled down approximations.

As a side effect you'd be able to use such an editor on Linux, which while not a central motivator, is compelling.

<comment><USER10> I'm working on a web based movie sequencer with special effects as a side project right now and the development of this thing is absolutely doomed. There are tons of problems on this path (codec/browser compatibility, browser bugs, slow performances, firefox unable to go to a desired time fast enough during render, etc.)

</comment></comment><comment><USER11> Is the explanation text correct that direct shadowmapping is used only on walls, ceiling and floor? The shadows on furniture also look like they would require shadowmaping.

<comment><AUTHOR> Shadowmapping is used on everything. But GI lightmapping only on walls ceiling and floor.

</comment></comment><comment><USER12> The color palette makes it look like a video game.

</comment><comment><USER13> Is the WebGL 2? Does not render in Safari.

<comment><USER14> I had that problem, but I'd turned on the experimental WebGL 2.0 support. Turned it off and it ran fine.

<comment><USER13> Ah! I had that turned on. Thanks! What is the default for these experiments? I can see me turning that one on, but a lot of others are enabled that don't make sense to me.

</comment></comment></comment><comment><USER15> I'm trying to imagine seeing this 10 years ago and my mind gets blown.

</comment><comment><USER16> Awesome use of PlayCanvas. Nice job!

</comment><comment><USER17> Crashed my Firefox tab. :(

<comment><USER18> Adam Weishaupt strikes again!

</comment></comment><comment><USER19> Amazing. Would be really cool if this got integrated with Three.js, which last I checked doesn't really have a global illumination story.

<comment><AUTHOR> You can make demo like this in Three.js already. Difference is, how much labour it takes.

None of existing WebGL engines offers real GI.

</comment></comment><comment><USER20> Honestly, Unity WebGL GI looks way better and probably is also easier to integrate into your mesh modelling/texturing workflow.

edit: plus unity is basically free to use

<comment><USER21> Yep, I don't know why anyone would bother to write their own engine instead, unless it's out of pure curiosity.

<comment><USER22> This rubs me the wrong way. If people enjoy writing graphics engines, even if it's not economically rational to do so, then they should do that!

This is an especially pointless complaint when it comes to video games, because, from a purely economic standpoint, few programmers capable of writing production-quality global illumination should be working on games _at all_ as opposed to getting a job doing something else. (This is a hard pill to swallow, but it is nevertheless true.) The market, especially the indie market, is oversaturated, and, as a result, most people who are highly skilled and involved in game development are, to varying degrees, in it for fun as opposed to money. Since game developers are doing it for fun, why not encourage them to do what they enjoy most?

<comment><USER21> If you want to ship a game, don't write your own engine. End of story.

<comment><USER22> I don't agree with that statement, but even if it were true, it's off topic for this HN submission. The point of this demo isn't "use this instead of Unity if you want to ship a game". It's "look at this neat thing I made". I prefer to encourage that instead of being gratuitously negative.

<comment><USER21> It is not off topic at all. Don't reinvent the wheel if you want fast, meaningful results. DRY. You should know better. Otherwise it's only useful for curiosity's sake, as stated.

Save yourself the pain and use Unity instead if your goal is to ship something.

<comment><USER23> What if I want to ship a game engine?

<comment><USER24> Then you better be a 10x engine developer to be able to beat what is already out there.

<comment><USER25> This is a common mistake people make. If you make a custom engine you do not need to beat what is already out there since you are certainly not going to use every single feature that the engines out there use. Bespoke engines (that are actually used in games) aren't trying to replace Unreal or Unity, they are only providing what the games they are used for need - anything else is unnecessary. Even in the high end AAA space, most bespoke engines do not provide everything that Unreal does - they focus only on the specifics their development teams need.

This is especially important to keep in mind when it comes to smaller (be it indie or "AA") developers - the developers who write their own engines aren't trying to replace Unreal, these engines only support a tiny tiny fraction of the functionality that Unreal does and that is fine because that functionality is what these developers need. If anything, for a smaller developer that does not have the necessary developer manpower to mold an existing gargantuan engine like Unreal to their needs it can be a better choice to go with their own engine than try to understand and modify Unreal.

<comment><USER21> Spoken like a true armchair game developer.

Writing your own engine is never your most important problem as an indie developer nowadays. It's not important at all.

If you have lost sight of that, then you've already failed.

<comment><USER25> I never claimed that writing your own engine is the most important problem an indie developer would have. If there is a "most important problem" that would be getting exposure for your game when gamers are drowned by multimillion- funded advertisements for multimillion-funded games (and more often than not, negative news about those multimillion-funded games - visit a gaming forum like /r/games or similar and you will see a lot of posts, videos and comments of how bad games are nowadays, how developers are screwing everyone, etc while everyone making those ignores all the smaller developers who are not doing that, mainly because they are simply invisible to most people).

My comment was about responses that compare custom engines with middleware engines-as-products like Unreal and Unity that imply that a custom engine has to provide at least as much as unreal and unity which is certainly not the case.

And my comment wasn't even about indies, this is the case with non-indie studios too - even AAA ones. In fact the previous AAA game i worked at used a custom engine that had zero networking support (outside of some debugging stuff) - because the games that the studio built were single player titles and thus they didn't need such a feature. This is something that an engine-as-a- product like Unreal or Unity cannot do, they have to care about multi player support even if many of the games they'll be used for are single player only, because some of their customers will also need to create multi player games.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> This shows again that the RTX feature on NVidia cards is completely pointless. With some clever hacks you get the same visual fidelity with traditional OpenGL ES and with one order of magnitude better performance.

<comment><USER27> Only because the scene is static though. If you wanted good reflections of interactive models on a volumetric blob with a shiny material (eg the T1000 from Terminator 2) in real time you're going to need ray-tracing.

<comment><USER11> It is not static, the light source moves, it is the same as if the models would move. They explain that they update light probes, they could do the same if the models would move.

I think the limitation here is the number of lights. They use shadowmaps for direct shadows. You can update shadowmaps interactively for a couple of light sources, but if you have dozens of lights, as is often the case with architectural scenes, shadow maps updating can become a bottleneck.

<comment><AUTHOR> We have precalculated all probes and lightmaps (25) in advance due to defined light trajectory. This clever hacks, tricks the user into believing it is a real deal - that was a desired goal of demo. Doing true GI in WebGL wont be commercially viable option, yet.</comment></comment></comment></comment>


New Horizons Flyover of Pluto - <AUTHOR> https://www.youtube.com/watch?v=g1fPhhTT2Oo <comment><USER2> It doesn't mention in the video description, but there appears to be significant vertical exaggeration of rendered features.</comment>


Swyp - <AUTHOR> http://www.swypcard.com

<comment><AUTHOR> I have seen this card in person....so I can vouch for it. It is not vaporware :)</comment>


Ask HN: Why Is China Not in Isecg? - <AUTHOR> <comment><USER2> I'm reading they are members

[https://www.globalspaceexploration.org/wordpress/?page_id=25...](https://www.globalspaceexploration.org/wordpress/?page_id=257) "Currently, ISECG has 14 members: ASI (Italy), [...], CNSA (China), [...]"

<comment><AUTHOR> Oh, right. So they are a member. They just weren't at the October meeting for some reason.

<comment><USER3> Other members that didn't participate: Australia, Germany, India and the new member Romania.

Based on the list at the bottom of [https://www.globalspaceexploration.org/?p=986](https://www.globalspaceexploration.org/?p=986)</comment></comment></comment>


3D Printing for Programmers - <AUTHOR> https://masonsimon.com/2018/10/08/3d-printing-for-programmers/ <comment><USER2> You know that is exactly why I got a 3D printer. I found it almost impossible to find the right project boxes/containors for my projects.

One used the Toshiba WIFI SD Card, I just needed a box big enough to hold the SD Card, the SD contacts and a small Lithium-Ion battery. The led and voltage controller were very small and did not get in the way. But either the boxes were too big, just a little too small or had posts in just the wrong places.

The same thing happened trying to use a PIXEL board to make a smart watch, again all the boxes available were the wrong size or shape to make a wearable.

With the 3D printer I was able to make containors the right shape and size, and spend the extra time programming instead of trying to find the a project box that fits.

PS. I can not choose what colour I want too now.

<comment><AUTHOR> It's great having a case that fits correctly! Makes such a difference</comment></comment>


Cryptocurrency market could hit $1 trillion this year with BTC surging to $50000 - <AUTHOR> https://www.cnbc.com/2018/02/07/bitcoin-price-could-hit-50000-this-year-experts-say.html <comment><USER2> CNBC are the same geniuses that predicted a 1000-point DJIA drop for Tuesday.</comment>


7 Days since Launch. Even Faster Website Reviews. - <AUTHOR> http://golbolib.blogspot.com/2012/12/7-days-since-launch-even-faster-website.html

<comment><USER2> I actually used this and got an interesting review. When I signed up though I didn't set a password, I think it doesn't give that option. I have to access my account via an email the website sends. Weird.

I just used the forgot password feature so now I can set it, I guess.

Edit: turns out I got a few more reviews, these were a little more vague and unhelpful though.

<comment><AUTHOR> Thank you very much for your feedback. I'll add a way to up/downvote reviews soon. This should increase the quality. This is actually surprising how good most of the reviews are without this feature.

While moderating it's not always obvious _what_ could be useful to the site's author.

</comment></comment><comment><USER3> Happy so far with the amount of users? I liked your site, it has a clear concept and some of the feedback is indeed helpful (in my case, having my site not in english seems to be a big hurdle for that helpfulness sometimes though, which is understandable. Wrong target-group.).

Small suggestion: You already greatly improved the workflow of actually submitting the review. One thing still bothering me is that the link to the page is not a normal link. You probably wanted it to open it in its own tab and therefore made it a javascript-link? Perfect usecase for target=_blank, which would also work with a middle-mouseclick (currently it just opens the review-page again).

PS: Are you moderating the reviews by yourself? If you add votes and have a report-system, it could be interesting whether an algorithm could do that work for you, maybe combined with the data-corpus of the reviews already in the system.

<comment><AUTHOR> Thank you so much for the feedback! The traffic really isn't too bad considering it's only a week old.

I'm thinking about creating localized versions of the site with a way to choose the preferred review language. Does it sound like a good idea?

About the link... What browser do you use?

Moderating... Yes. I'll add a voting system sometime soon plus a way to flag reviews as spam. I'm too thinking about using a bayesian filter but for now, I'll stick to manual work to make sure there are no glitches. :)

<comment><USER3> >I'm thinking about creating localized versions of the site with a way to choose the preferred review language. Does it sound like a good idea?

Indeed, sounds good, it could debunk my wrong-target-group defence ;) Maybe enough to just give users the option to choose the languages they want to review in and submitters the (advanced?) option to ask for users who speak one of the languages existing in the system.

>About the link... What browser do you use?

Chrome 23.0.1271.64 under Ubuntu 12.04.

Will be interesting for me how you design the vote-system and how good it works, as the current situation is "one review for a review" adding votes to that could be kind of tricky.

<comment><AUTHOR> Thanks! It would make it easier if it was an 'n for 1' system but would it would make it more like the various post 10 reviews for 1 review web designer forums.

</comment></comment></comment></comment><comment><USER4> I have been using this for several days and have received quite a few useful reviews. The main thing that bothers me is the emphasis on a single screenshot. I always open each site into a new window to test the responsive design and browse the site a bit.

<comment><AUTHOR> Do you think there's a way to strike a better balance?

I wouldn't want it to turn into usability testing because it would sort of defeat the purpose (i.e. quick reviews, get first impressions, improve, repeat).

<comment><USER4> Maybe you can leave that up to the site owner. You can give us a few options pertaining to what we'd like reviewed, ie: first impression, clarity of copy, design, concept. Then list these on the review page so the reviewer knows what to pay attention to.

<comment><AUTHOR> Thank you for the suggestion! It sounds great! I'll definitely think about how this could be done without making the process too complicated.

</comment></comment></comment></comment><comment><USER5> Signed up, submitted a few reviews, received a few. So far so good.

It would be great if I could:

\- see the history of the reviews I submitted;

\- contact reviewers of my site;

Time spent on a review isn't very helpful. I got distracted by kids at least twice, which resulted in two of my reviews taking very long. On the other hand, another two reviews took equally long, but it was actual writing and editing.

Are you going to let reviewers and submitters communicate directly or are you going to profit from not letting them do it?

<comment><USER6> Seeing history of reviews would be good - as well as building some kind of feedback as to whether a review was helpful or not. I think providing some kind of positive feedback to reviewers is just as important.

<comment><AUTHOR> Absolutely! One of the next things to add.

</comment></comment></comment><comment><USER6> I'm finding a lot of screenshots are generated not capturing the full page, or in some cases triggering non-desktop stylesheets to apply (ie: tablet ones). Perhaps more control needs to be made upon submission about screenshot size? and/or picking mobile vs desktop?

<comment><AUTHOR> Thank you for the suggestion! It uses 1024x1030 if I recall correctly as a viewport.

What I was thinking about is showing the generated screenshot after "Start" and then giving an option to upload your own screenshot instead if the current one doesn't work well. What do you think about it?

<comment><USER6> I like how simple and easy it is, perhaps if you just load the website in an iFrame below for "desktop" loading, and then show images for the smaller view ports? IE: I see a lot of value in doing iPhone/mobile based viewports and providing a qrcode so we can load quickly on our own devices if wanting to test further.

Also - I've found that in some cases it's hard to tell if they want just an individual page critiqued or an entire website - perhaps something needs to be done to clarify this?

<comment><AUTHOR> _Excellent_ suggestions, thank you!

</comment></comment></comment></comment><comment><USER7> It would be cool if this somehow hooked into Amazon's Mechanical Turk and made it easy to request a larger number of reviews.

Maybe I want 20 to 50 reviews right away, and I don't have time to get credits? They could also let me buy credits for the same purpose.

<comment><AUTHOR> Thank you for the suggestion! I'm not sure about AMT though. Do you think the quality would be sufficient?

<comment><USER7> Now that you mention it, AMT is very hit and miss. However, It would be nice to be able to buy credits instead of having to suit a bunch of reviews.

<comment><AUTHOR> What would you pay for 50 credits? :)

</comment></comment></comment></comment><comment><USER8> I've been using this a lot. I must have gotten over 40 reviews. One thing someone mentioned is the screenshot. I for one barely look at the screenshot but always click the link to the website instead. Maybe add focus to the link?

Love the site.

<comment><AUTHOR> Thank you for the positive feedback and for the idea. I think clicking the image should open it in a new window, do you?

This is what some people do anyway because they think this is the real thing.

</comment></comment><comment><USER9> I've found that writing critiques of other people's sites has helped me clarify my thinking about my own. Coupled with good feedback the site has been very helpful! A low friction way to get outside feedback.

<comment><AUTHOR> An interesting angle, thank you!

</comment></comment><comment><USER10> I've been using this since it launched, it's invaluable in helping answer the question of "I wonder what people's knee-jerk reaction is to this change..."

<comment><AUTHOR> Thank you! Can I use this quote? :)

<comment><USER10> Thank you. Yes sir, you may.

</comment></comment></comment><comment><USER11> This is very useful, many comments that I received are directly actionable. The website greatly improved during the last week.

<comment><AUTHOR> I'm very very happy you've found it useful!</comment></comment>


Docker Considered Harmful (2016) - <AUTHOR> http://catern.com/posts/docker.html <comment><USER2> So many points, but they all miss the point.

He links to about 20 different tools/services with the attitude of "docker is just doing all this stuff that already existed!" as if that's a bad thing.

But it's not. It's the whole freaking point.

Docker took a bunch of existing tools and consolidated them into a single general tool, which acts as a foundation to build on.

Hell, they picked a shipping container as a logo for a fucking reason. We also shipped all the same goods before a shipping container was invented, but it was slow, inefficient, and required custom solutions for each port/ship/good. Shipping containers solved that by providing a single foundation upon which you can standardize and extend.

Docker does the same thing.

This is a bad article.

<comment><USER3> "High level languages considered harmful. ASM already does all these things."

Abstraction layers are fundamental to software development, and not a bad thing.

<comment><USER4> Heh, that raises a very good point. "Considered harmful" snowclones to the effect of, "This higher-level abstraction is bad because you can get the same general effect, only with more flexibility, by hacking together lower-level constructs," are running _directly_ counter to the principle Dijkstra was advancing in "Go To Statement Considered Harmful." His ultimate conclusion was, "The go to statement as it stands is just too primitive; it is too much an invitation to make a mess of one's program. One can regard and appreciate the clauses considered as bridling its use."

</comment></comment></comment><comment><USER5> Articles like this are excellent for learning how something is fundamentally implemented, if you are willing to ignore the original intent, which is to discourage people from using the resulting abstraction. I feel sad at how it comes across as angrily reductionist ("it's just X + Y + Z!")...totally missing how the result is more than the sum of its parts.

Docker is a win because they have mainstreamed self-contained, "vm-like" applications that achieve native performance. The collective developer mind can now neatly wrap up the idea of an application into an execution environment that can be easily shared and distributed.

But again, these posts are useful because in the reductionist ranting, the author often lifts the curtain on how these abstractions really work, and that alone is useful to teach.

<comment><USER6> > The collective developer mind can now neatly wrap up the idea of an > application into an execution environment that can be easily shared and > distributed.

I think we used to call that a 'binary', but I'm old.

<comment><USER7> Isn't the reliance on dynamic linking what got us into this mess in the first place? System-wide dependencies are a bad idea. apt-get / brew / yum should not be your software's packaging / dependency system, but that's what a large portion of C/C++ software does.

Docker is a strong solution to the problem of dependency conflicts between different software packages. It's what allows me to run software that only works with gcc 7 while my system is on gcc 8.

<comment><USER8> > _Isn 't the reliance on dynamic linking what got us into this mess in the > first place?_

Dynamic linking was a _terrific_ solution to code size issues... 30 years ago. Back at the dawn of 32-bit computing, it was typical to see a multi-user machine with 1MB of RAM, for everyone to share.

Also, back then, systems weren't so well connected, and library releases happened once a year or so. Security wasn't as big a concern.

I can't help but think that if we (as an industry) had moved towards a Nix- like package system, we might not have gone down the container route. You just specify which exact versions of which libraries your application depends on, that's it.

<comment><USER7> Agreed, but also curious: what's to stop software packages from statically linking everything? Does it require re-writing or redesigning code, or is it just a matter of flipping a compiler flag?

</comment></comment></comment></comment></comment><comment><USER9> Docker may actually simplify some stuff and the author doesn't do a great job of describing why it's bad.

Docker might be bad because it creates an abstraction to something you might have to go digging around in anyway so the abstraction is leaky.

That abstraction also has complexity in it's own right. There are a lot of docker-related issues - e.g. how to dockerize data stores - so there is non- trivial complexity cost incurred when reaching for docker.

The argument could be that we've added a layer of complexity without much gained.

The same sorts of issues are there when you make the choice of AWS - abstractions that are themselves complex that, at the same time, are leaky.

An abstraction where I have to understand the layers underneath is not very useful.

</comment><comment><USER10> This is arguing that Docker is "harmful" because the components it builds on existed before. That makes no sense at all.

Only when I got to the 5th section did it make some sort of argument, which ended up being about Docker not using an init system to manage daemons, and the usual problem this brings to badly-written images (process reaping). Ignoring the fact that plenty of daemon managers exist, and are used both with and without Docker, like supervisord.

<comment><USER11> The way I see it, Docker adds complexity. The more your systems are complex the more brittle they are.

<comment><USER12> who cares when it saves days by the dozens. Even if docker burned all the hard drive in my home right now for some reason, the amount of time gained when I get an user reporting a bug on $OLD_UBUNTU where I can just run `docker run -it ubuntu:14.04` and start reproducing in a couple seconds, that would still be worth it.

<comment><USER13> I somehow broke ruby on my Mac so I can't use cursor keys in irb. No big problem, just do a quick

        docker run -it —-rm ruby

and I can try some code in the repl. Yes, I'm sure I could fix it somehow, but I didn't have time for it today, I just needed to get this short script working.

</comment></comment></comment></comment><comment><USER14> The author doesn't show any ways in which docker is harmful. His entire argument seems to be "you can do docker without docker by using the appropriate system calls". But why would I? Docker makes it way easier and has a ton of value-adds like compose, the hub, the layering mechanism etc.

<comment><USER15> I'm already counting the seconds until somebody links to "the Dropbox comment".

Seems to hit a very similar mark.

<comment><USER16> Done.

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

</comment></comment></comment><comment><USER17> This reads a lot like a "how docker works under the hood" blog post, from the perspective of somebody who could have written the tool but didn't (read: not your typical docker user even back then), and dressed up with the then-popular "considered harmful" meme. It completely misses the point that docker unified these concepts in a way that made it accessible to people to whom `man 7 namespaces` is completely unreadable and uninteresting until they have some working "but why" motivation and experience.

Over almost 10 years of experience, I've learned 10x more due to tools like docker where first it made things accessible and useful, which drives me to learn more about how things work, to the point where _eventually_ I might have learned enough to write my own toy docker clone. None of that would have happened if I didn't find the tech interesting, which wouldn't have happened if it hadn't allowed me to run a few databases easily, without port conflicts, without more than a few commands and a pretty basic understanding of linux I had at that point.

Accessibility is the gateway to understanding. And try not to forget how you got to wherever you are, while also realizing that others may have different easier paths thanks to technology paved by those who did have the understanding you might already have.

</comment><comment><USER18> Not interested. I don't want `while true; do sleep 1000;tar czf Backups.tar.gz ~ && rsync Backups.tar.gz backup-server:~/ && notify "Backups done"; done`, I want Dropbox.

Docker is great stuff. Don't know how they're going to make money but I'm happy the tech exists.

</comment><comment><USER19> "Considered harmful" considered harmful. Using this phrase all over the place is not clever. It's just as obnoxious as the uninspired *gates.

<comment><USER20> I flag most "Considered Harmful" articles. I hate the articles, and I hate the vicious discussions they inspire.

<comment><USER19> That's a good policy indeed. Thanks for the suggestion, I'll try to do the same. Sometimes the discussions have some interesting bits, but there usually is a lot of smugness and finger pointing.

</comment></comment></comment><comment><USER21> Many studies proved that most images on docker hub have serious vulnerabilities:

[https://www.researchgate.net/publication/315468931_A_Study_o...](https://www.researchgate.net/publication/315468931_A_Study_of_Security_Vulnerabilities_on_Docker_Hub)

This is really bad, yet unsurprising, when you bundle together hundreds of MBs of packages into each image.

</comment><comment><USER22> Docker doesn't run on windows 10 without virtualization enabled in the bios. The computer a purchased last year didn't have support for this feature and there is no way to run docker.

<comment><USER23> You need Windows 10 Pro to enable Hyper-V and/or WSL2.

Nothing to do with the BIOS, because now pretty much every CPU has the VT-x extension.

<comment><USER15> VT-x can be disabled via BIOS (and was e.g. on my machine. I cannot guarantee that was the case out-of-the-box).

</comment></comment></comment><comment><USER24> Sure, I was creating chroot's manually with a bunch of bash scripts and rsyncing around filesystems like nobody's business... but it wasn't something you could replicate across organizations and even environments. It was all hand picked and meticulously developed.

Docker (and the many, nice alternatives) standardize the format and build nice features on top. It abstracts away the lower-level stuff.

Neat to know about if you're interested in how it all works... doesn't mean it's harmful.

</comment><comment><USER4> So, I have a serious love-hate relation with Docker, and lately it's mostly been hate, but this article still doesn't speak to me _at all_.

It seems to come from the same place that used to lead so many fledgling software companies to decide to write their own in-house CRM or bug tracker instead of buying a commercial product. Yes, the commercial product is big and complicated and takes time to learn and implements a hundred features you don't need. Yes, the absolute minimum implementation will take no time to hack together. But this is a trap. All that stuff you thought was just window dressing will inevitably prove to be critically important to _someone_ at your company. A 90% solution will not work for the long haul, and rolling your own will inevitably send you down a path that ends in tears, blood, and the endless quagmire of implementing the last 10% of needed features that proverbially take 90% of the effort. And then 99%. And then 99.9%.

</comment><comment><USER25> We run docker on top of aws. So a vm-ish thing on top of a vm. I don't understand why we don't just build custom VM images, which is what I did back when I was handling backend stuff. Now I just observe with a kind of befuddled expression as we experience various live issues that end up being docker caused...

<comment><USER26> VM images typically require more storage, ram and cpu than a container.

I know I can run dozens of docker containers but prob nowhere near the same number of VMs

<comment><USER25> but why run dozens (!) of docker containers vs. having all those things in a single vm image? convenience? security somehow?

(genuine question, not rhetorical or trolling.)

<comment><USER26> Well... everyone's reasoning is different but I love knowing a slightly difference version of some obscure dependency isn't going to break or change the behaviour of the various apps or scripts I have to run.

<comment><USER25> makes sense, ty

</comment></comment></comment></comment></comment><comment><USER27> "Docker Considered Harmful (2016)"

2016 opinion, yes?

Did I miss something?

Why, what, how, who, is it considered, harmful?</comment>


Show HN: Font Awesome to PNG Icon Generator in 100% JavaScript/HTML5 - <AUTHOR> https://www.easele.com/favicon-generator <comment><USER2> The UI looks decent and easy to use. Two suggestions though: 1) The auto- complete search widget could do with keyboard navigation. 2) I think the Icon Generator logo shouldn't link away from the app. There's no "Reset to defaults" button so I assumed clicking the logo would achieve the same thing.

<comment><AUTHOR> Thanks for the feedback! Will fix those in the next release.

</comment></comment><comment><USER3> Thank you!

Feature request: android icon packs (they come in a bunch of sizes to serve different devices).

Maybe you can make the transparent checkers a lot more subtle.

</comment><comment><AUTHOR> Hey HN! Would love some feedback on this tool! We were inspired by FA2PNG but tried to take that idea a bit further.

</comment><comment><USER4> fantastic! I love how simple and practical this is. nice work!

<comment><AUTHOR> Thanks man!</comment></comment>


Go nameless to your next conference - <AUTHOR> http://www.webiphany.com/2012/03/09/go-nameless-to-your-next-conference/

<comment><USER2> The only conference I go to with any regularity is defcon. I understand why they don't want nametags, but this article makes me realize that there is much more to it than legal issues. The idea of nametags is prima facie dumb. If everyone had their real name and every alias they ever used listed on their badge, it wouldn't have added anything for me because thats not who they are. When I was looking for the registration desk, I saw a guy in a nerdy tee-shirt in the casino and asked him, I realized that that shirt told me everything I needed to know about him: he was there for defcon. Eventually we found the convention center and chatted through the registration line. Every time I leave defcon, I have a moment on the plane where I think back and realize just how much fun it is to be surrounded by people awesomely enthusiastic about the subject matter of the conference (even the vendors I met were). That's what makes that conference unique and special to me, its why I care to go back (I know there are others with the same attitude, but my line of work doesn't bring me to those).

That's the kind of spirit that makes a conference worthwhile. I hadn't heard of Wisdom 2.0 before this article, but between the article and some poking around on the web, its seems like a lot of people there are using it as an opportunity to sell themselves. Why would someone even go if that their goal? Do they really think they can pitch the pants off of Eric Schiermeyer in such a way nobody else there will, nor can be done over email? If selling something is your goal and you're not there as a vendor or on stage, your presence is probably doing the rest of the conference a disservice. Its a shame that OP had to buck the nametag trend to have the type of experience everyone there should have.

<comment><USER3> I wonder if we've ever talked at Defcon.

<comment><USER2> Maybe, but how could we ever know ;) Unless you're the one defcon guy who's business card I've still held onto, with the hilariously vague job title of "scientist".

</comment></comment></comment><comment><USER4> One of the main points here is (mentioned a couple of other times):

> _I have my namelessness to thank for stopping me from using my moment with > Evan to get somewhere with him._

Do you really? With your name covered up you could still intoduce yourself and pitch... and with your name showing you could still introduce yourself with your name and ask him about Nebraska. It just happens that your decision not to reveal your name happened at the same time, and for similar reasons, as deciding not to pitch people - there's no required dependency between them.

<comment><USER2> It wasn't just two things that happened. I think he is saying that through the namelessness experiment, he gained the insight that made him decide not to pitch. It didn't physically stop him, but it was a necessary precursor.

</comment></comment><comment><USER5> And then when everyone has decided to go nameless at conferences I shall wear a shirt with my name and contact info I plan to share. That way I will stand out from the crowd and everyone shall remember me.

<comment><AUTHOR> The nameless mob will probably tear that shirt off you if you do that. Not having a name often gives people freedom to do naughty things.

<comment><USER3> Write your name and contact information on a Guy Fawkes mask and wear that. They'll be too confused to do anything.

</comment></comment></comment><comment><USER6> Letting go of your self to be present in the moment is a good thing to practice. Not putting your name on your badge helps remind you of that goal.

I've done this a number of times for various reasons (I should have done it at the RSA conference but alas hindsight). I know its wrong to be amused at someone's discomfort but I admit that I do chuckle when someone is trying to cop a look at my badge to decide if its worth their time to talk try to engage me in conversation. Sometimes when they do decide to I'll ask them what it was that made them choose to engage. That has started some interesting conversations too.

<comment><USER7> as someone who has trouble remembering names, i truly hope this idea doesn't catch on. i have never looked at someone's badge to see if they were worth talking to; i have very frequently done so because i have talked to them earlier, and remember who they are, but not their name.

</comment></comment><comment><USER8> i have to ask. who is chris dawson? i am suppose to know this, but i dont.

<comment><AUTHOR> You aren't supposed to know that, unless you say you are. I'm not really that important, and remembering that was really fun for four days.

</comment></comment><comment><USER9> It sounds like working at certain types of tech companies forces insights that I usually hear from overworked Wall Street types.

The reference to Eric Schiermeyer and the Buddhist monk is interesting because the only other time I heard about someone at an industry event talk openly about Zen and mindfulness was also from another Zynga employee, one of the M&A guys speaking at a 500 Startups event on health and well-being. He alternated between being hilarious and insightful and had the room totally cracking up at his observations about startup life.

<comment><USER10> I look forward to Zynga's forthcoming _EnlightenmentVille_ , which when completed, leaves the player immune to any cravings to play Zynga games.

</comment></comment><comment><USER11> "Why I'm going nameless at my next conference and _you should too_ "</comment>


Best Practices for Using Functional Programming in Python - <AUTHOR> https://kite.com/blog/python/functional-programming <comment> jo-wol No thanks [https://news.ycombinator.com/item?id=14902630](https://news.ycombinator.com/item?id=14902630)

<comment><USER2> is it no thanks I don't want to go to kite.com because they spy or no thanks I don't want programming suggestions from people who spy?

<comment><USER3> Yes.

<comment><USER4> "Both" is better way to put it.

</comment></comment></comment></comment><comment><USER5> Is this not the company that put on spyware in a package for Sublime text?

<comment><USER6> > _Kite is a plugin for your code editor that uses machine learning to provide > you with code completions in real time sorted by relevance._

The whole article seems to be nothing but a transport vehicle for that ad. Spyware for even more editors.

<comment><USER7> Well... In my case it keep saying

Huh... that's weird

Something unexpected occurred. We'll investigate what happened

Refresh the page

Anyway, Python actually support limited functional programming so I only get it for that topic :-)

</comment></comment></comment><comment><USER8> Here's another article on FP in Python for those who'd rather an alternate than go to kite.com.

[https://maryrosecook.com/blog/post/a-practical- introduction-...](https://maryrosecook.com/blog/post/a-practical-introduction- to-functional-programming)

Edit: After scanning the kite.com article for a second time, I see the author actually links to Mary Rose Cook's article.

</comment><comment><USER9> How is Kite still in business after telemetry abuse?

Sadly I would not be shocked if they managed to gather additional funding.

</comment><comment><USER7> Well... If I'm looking for functional programming in python... I'll choose hy (hylang) witch is actually Cython with a lisp-y syntax.

Otherwise if I'm accustomed to Python but feel the need of something functional and scheme/lisp are too hard well... I go for Nim...

Python is FANTASTIC as a simple language to tech programming these days and to glue stuff together, with the benefit of a respectful standard library but frankly if we go beyond we have other options perhaps with some sharp corners (less easy to code, less complete standard library, less documented etc).

</comment><comment><USER10> Beside python has pretty awful support for functional programming, I don't get what is purpose of this. Is it just a Facebook for developers? Why anyone should use autocomplete sever in others computer? What is advantage of this over other autocomplete API's such Jedi, Pycharm, Microsoft python server, that doesn't run in other computer? I hope these sort of thing's won't become popular.

<comment><USER11> > Beside python has pretty awful support for functional programming

That seems counter to my experience and understanding of things. Python has adequate support for functional programming. And bonus you can mix in some object oriented things as well.

<comment><USER12> What Python has, is really good support for procedural programming. You can write pure functions when it makes sense, and you can write side-effecting procedures wherever you want. You have a bag full of useful data structures, and an extensive standard library to hand. Python's biggest drawback for me is that it's what I'd call a "surprisingly typed" language. Values in Python are strongly typed, but we pretend they're not. Until, surprise! AttributeError! That thing isn't what you thought it was. Optional typing has started to help with that.

<comment><USER13> "surprisingly typed" is a good term. It sounds, though, like you're using it to mean "dynamically typed", which is maybe overly harsh.

What I think it captures well, though, is an unfortunate habit among many dynamic languages' communities to pretend that types don't matter. Python is getting better, but it used to be really bad about this. The standard library's documentation, for example, would give only the names of a function's parameters, and leave it to you to figure out, presumably by guess and check (and prayer), what kind of input it was prepared to accept. It's still really common for the documentation to force you to go to the REPL to ask a function's return value what its type is.

<comment><USER12> I work in Python day to day and have done for several years, so I think I'm entitled to describe Python's type system as "surprising." I generally think duck typing is great, and I always appreciate the flexibility it gives me. But the flip side of that is -- surprise! -- you can't use me as an index! -- surprise! -- I'm not hashable! -- surprise! -- you can't pickle me!.

I've been looking at how other languages handle this, and I think typeclass / trait systems seem to strike a good balance, allowing flexibility without surprises.

<comment><USER13> The typeclass approach can be just as surprising. Possibly more so, because it means that a type's implementation of a class can come from literally anywhere. So the universe of surprises still includes "Surprise! It's not hashable!", but now also includes, "Surprise! It was hashable, but now isn't, because you stopped importing this seemingly unrelated package."

If you do get surprised that X doesn't support Y, though, you have ability to provide your own implementation without resorting to monkey patching.

<comment><USER12> That's a good point! I suppose the grass is always greener...

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> tl;dr

\- Use pure functions

\- Avoid mutability

\- Limit use of classes

\- Strive for idempotency

\- Use lambdas and higher order functions sparingly, only when they actually simplify the code

\- Use generators where applicable

All in all, it's good advice which shouldn't be ignored just because she works at kite.

She should probably go back and proof read the article and fix the code and terminology errors, though.

<comment><USER15> But generators are inherently stateful and don't have referential transparency because of their consumption semantics.

<comment> black-tea You can't get away from using state in Python because it lacks TCO.

</comment></comment></comment><comment><USER16> Python doesn't even have tail call recursion optimization (you'll hit a RecursionError exception if you go too deep).

Using first-class functions is great but I hesitate to call any serious use of Python "functional programming".

<comment><USER13> Many Common Lisp implementations also lack TCO.

That said, I do agree that you probably shouldn't go crazy with FP in Python. At its core, it's a procedural language. It has some useful things from OO and FP, but you'll be more comfortable if you keep procedural techniques in the top tray of your toolbox.

Which isn't all that bad a thing. IMO, well-done modern procedural programming looks a lot like functional programming with more loops and less recursion.

<comment><USER16> Common Lisp is one of the least "functional" of the major lisp dialects too. Without TCO you generally need state for iteration.

That being said, I agree, there's nothing wrong with taking aspects that you like (first-class functions mainly) without having to be a purist. In fact, imo purely functional languages are tedious compared to procedural languages like Python.

<comment><USER13> That said, the ML/Haskell-like functional languages do have one thing that most procedural languages do not, which is that they help you keep side effects under control.

I'd like to find a procedural language that allows for side effects (it is still procedural programming, after all), but encourages keeping them under control. I've been toying with Nim lately, and it's been a good experience. I think that it's possible to do even better, but it's already way ahead of anything else I've tried.

</comment></comment></comment></comment><comment><USER17> Adding FP features to an otherwise-mutable language has always seemed a mixed bag to me. Obviously it's nice to have those features, but you don't get the immutability constraint that makes development so much more predictable.

<comment><USER12> Python offers immutable data structures in addition to the mutable ones. Tuples are immutable, we've had namedtuple for a while, and now it's possible to write immutable data classes as well. As time goes by, I find myself using less and less mutability in Python. At this point I default to immutable structures, and I bring in mutable ones only if I need them for performance or there's no reasonable immutable alternative.

<comment><USER17> Tangentially, I was extremely annoyed to discover that tuple unpacking in function headers was removed with Python 3. Coming from Erlang, tuples were quite appealing, but that was frustrating.</comment></comment></comment>


PG: Clarification about Character Sets - <AUTHOR> http://www.arclanguage.org/item?id=391

<comment><USER2> Maybe the reason why this was the number one criticism was that it was so prominently mentioned in the introduction of Arc.

One complete paragraph on how hard it was to fix this in python and that it seemed to take whole year. And another large paragraph basically telling that it's trivial and could be done in a few days, but who cares anyway.

This is simply the sort of writing where pg _had_ to expect attacks.

</comment><comment><USER3> The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) -- <http://www.joelonsoftware.com/articles/Unicode.html>

</comment><comment><USER4> I am not a scheme/lisp expert by any means.

But from following the discussion on reddit, it seems that the most biting criticism of Arc are not related to unicode or w3c specs, but that Arc doesn't have any enhancements over scheme besides shortening some keywords.

Can someone with more knowledge than me weigh in on what Arc gives us that scheme doesn't?

<comment><USER5> An official implementation.

</comment></comment><comment><USER6> Release early and release often.

Anyhing that is released in a version 1.0 (which I think arc isn't even) will have flaws and shortcomings. The value of the feedback by far exceeds the cost of having users look at a product that isn't flawless.

This is especially true for something as complicated as a programming language.

<comment><USER7> Yeah, Arc is _explicitly_ version zero.

</comment></comment><comment><USER8> The last paragraph is great advice for all software development, not just languages.

When you're writing software for larger company it's difficult to justify redesigning to create a simpler, more elegant codebase because it adds zero value (from a customer's perspective).

When you're working on your own project, it's possible and also eventually pays off, yielding more maintainable code.

</comment><comment><USER9> it's funny most people didn't seek perfomance charts than support of Unicode, but this due to the general nature of the audience here in Hacker News, who are mostly web application developers, therefore one of their priorities is multi-language support, so no need to blame anyone.

One more reason Arc is not for everyone is due to its functional syntax. I think the challenge would be how to make functional syntax accesible to the masses. Arc seems to be one step forward, although functional programming will never be for everyone.

<comment><USER10> One thing I think Arc does (or intends to do) right is to be as cruft-free as possible. _That_ is one thing you need to get functional programming to the masses. If learning FP means also having to master dotted pairs, associative tables, 13 different object comparison procedures, cadaddadr, the LOOP syntax... then you can count "the masses" right out.

Add a good introductory book (the current tutorial looks good; I haven't finished it yet) and you may be onto something.</comment></comment>


Understanding Virtual Memory - <AUTHOR> http://www.ualberta.ca/CNS/RESEARCH/LinuxClusters/mem.html

<comment><USER2> I've found the set of short articles on memory here to be excellent:

[http://duartes.org/gustavo/blog/post/page-cache-the- affair-b...](http://duartes.org/gustavo/blog/post/page-cache-the-affair- between-memory-and-files)

<comment><USER3> Those are amazing! Thank you for sharing.

</comment></comment><comment><USER4> I love seeing links like this on HN: you can actually learn something, not just read some opinionated article :)

</comment><comment><USER5> Worth also looking here: <http://www.cs.gmu.edu/cne/pjd/PUBS/Workingsets.html>

Had the great pleasure of being one of his students years ago during my undergrad. Hands down the best professor I've ever had.

<http://en.wikipedia.org/wiki/Peter_J._Denning>

</comment><comment><USER6> Here are some other great resources on understanding how the OS (in this case linux) manages the memory, and how the hardware works.

<http://tldp.org/LDP/tlk/mm/memory.html>

<http://lwn.net/Articles/250967/>

<comment><USER7> The LWN article is from What Every Programmer Should Know About Memory: <http://www.akkadia.org/drepper/cpumemory.pdf> also discussed here: <http://news.ycombinator.com/item?id=1511990>

</comment></comment><comment><USER8> Makes me wonder how fast OS level garbage collection could be, without the need to have a virtual memory layer in between...</comment>


Coronavirus Outbreak: Hoaxes and Conspiracy Theories Spreading Wildly - <AUTHOR> https://www.rollingstone.com/culture/culture-news/coronavirus-china-bat-patent-conspiracy-theory-942416/ <comment><USER2> I suspect it originated from the pathogen lab in Wuhan and the Chinese government has covered it up.

<comment><USER3> I'm not sure why you were down votes:

Article from 2017 (wuhan built a pathogen lab):

[https://www.nature.com/news/inside-the-chinese-lab-poised- to...](https://www.nature.com/news/inside-the-chinese-lab-poised-to-study- world-s-most-dangerous-pathogens-1.21487)

Patent:

[https://patents.justia.com/patent/10130701](https://patents.justia.com/patent/10130701)

It was designed to combat the avian flu in livestock.

It's not to far of a stretch that someone leaked this from their lab.

<comment><USER4> >It's not to far of a stretch that someone leaked this from their lab.

You may not know about this national news item from 2001: [https://en.wikipedia.org/wiki/2001_anthrax_attacks](https://en.wikipedia.org/wiki/2001_anthrax_attacks)

Which was strangely well timed to be after 9/11, I wonder how long Ivins planned to mailed the spores.</comment></comment></comment>


Study claims 100 percent renewable energy possible by 2030 - <AUTHOR> http://www.physorg.com/news/2011-01-percent-renewable-energy.html <comment><USER2> Technically possible? Certainly. It would also be technically feasible to have all power provided by teams of cyclists. It's just not economically feasible.

<comment><USER3> Actually, no on the cyclists. Daily global fossil fuel production in 2006 was the equivalent of 155 million barrels, which is 913,900,000,000 MJ, or around 130 MJ per person. The average person eats around 2500 calories, or 10 kJ, less that 0.01% of the energy needed to power their own energy needs by bicycle, even if food were converted at 100% efficiency, and fossil fuels were the only energy source we needed to replace.

<comment><USER2> It's replies like this that make me enjoy coming to HN. Bravo.</comment></comment></comment>


Show HN: Hacked together command-line "Spritz" - <AUTHOR> https://github.com/radiofreejohn/cfastread

<comment><USER2> Really neat. But I tried it at 600 WPM, and it can't center it fast enough, it will pop over from the left. Becomes very difficult to use at higher speeds.

<comment><AUTHOR> I'll look into this. I didn't test it at higher than 400. I imagine this is just some terminal oddity, but at the same time, the fact that the ridiculous ANSI codes I use work is an oddity of its own :)

<comment><USER2> Hmm, how about creating the whole string and then printing the whole thing instead of in chunks? Idk.

<comment><AUTHOR> I'll see if that helps. The problem with that is that I need to create a new string in memory, but maybe that's faster than many printf calls. I will play with it.

I think the jitter is more likely related to the way I'm clearing the line.</comment></comment></comment></comment>


Working with OS X and Emacs - <AUTHOR> http://how-i-work.com/workbenches/30-working-with-os-x-and-emacs <comment><USER2> use homebrew to build emacs --cocoa, and check out the emacs-starter-kit for sane defaults on a mac</comment>


8 Small Git tips - <AUTHOR> http://blog.rlmflores.me/git/2015/03/31/8-small-git-tips/

<comment><USER2> nice tips. many times i make small commits and then use rebase -i HEAD~4 or instead of 4, whichever number of commits i wanna go back and rename/squash/reorder. another good one is bisect if someone doesnt know. look into it. perfect for finding which commit broke something. for commits i use gitx on osx because it highlights per word diff.

</comment><comment><USER3> I already do most of these because of magit. It is in fact worth to learn Emacs just so that you can use magit. Much easier than messing around with git's command line.

</comment><comment><USER4> I would also suggest using git-cola, makes life so much easier.

<comment><USER5> For OS X I highly recommend the lightweight Gitbox. Although I haven't seen an update in a long time, there are some visual issues in Yosemite, and it crashes from time to time, it makes the most common tasks super easy. Single keystrokes to pull/push, add all, commit, etc.</comment></comment>


Ask HN: What do you consider as a big web application - <AUTHOR> What's your personal metric, to consider a web application as big and complex ? Is it the number of models, or background processing logic. Or for those in the micro-services camp, is it the number of services. Or something else entirely <comment><USER2> I've been building a Django web project for a while now, it has several modules, started out with two, now it has around 5. But that's not the point, right? It kind of is. A simple project with a dozen modules within it can be complex in terms of memory usage whereas a single app that performs various asynchronous tasks can be complex in terms of CPU usage. What I'm trying to say here is that everyone's metric differs on what a complex application. To me and probably a lot of people, a web app getting 10000 requests a day is small-scale but along the upper lines of small scale and can be considered medium scale if it's something along the line of a web application like a video hosting service that just took off. Time since the site is up also matters. And yeah, both the number of models and background processing logic matters in defining a complex application. Refer to my first paragraph. As for microservices, the more clusters you have, the more complex your service gets and the more the database get requests ( GET, POST, PUT, DELETE ), the more your project would need to scale. In conclusion, the complexity of an application depends on CPU Usage ( having to use 2 VCPUs with 16 Gb of ram within a month of usage by 10000 people daily is a rough idea of what complex could look like but there is really no definition that defines where complex starts, a lot of factors matter ), Memory Usage, Database usage, Data Transfer and more.

<comment><AUTHOR> using django too. and thank for the explanation.

<comment><USER2> django really seems to be the trend right now ( not saying there aren't other good and popular frameworks, ofc there are I'm just saying that it's one of those atm ) which ultimately means a whole generation of websites built using Django and in turn enormous support available over the years.

</comment></comment></comment><comment><USER3> Everything you mentioned, and how long it takes to pinpoint how a particular thing (route/controller) works when something breaks. Also any monolith is usually "big" enough for me.

</comment><comment><USER4> [https://en.wikipedia.org/wiki/Function_point](https://en.wikipedia.org/wiki/Function_point)</comment>


Some Guy Named Ethan Made an App Called 'Ethan' That Lets Anyone Message Him - <AUTHOR> http://www.businessinsider.com/ethan-is-the-top-app-on-product-hunt-2014-10

<comment><USER2> Kind of brilliant...

<comment><USER3> Indeed.</comment></comment>


Eric Schmidt-backed startup working to elect Hillary Clinton - <AUTHOR> http://qz.com/520652/groundwork-eric-schmidt-startup-working-for-hillary-clinton-campaign/ <comment><USER2> I ask as a resident of Washington, DC: Do stealthy startups in the rest of the world spend that much time explaining to the press how smart etc. they are? There should be a monument here to the Unknown Consultant/Staffer: the man or maybe woman who was important but never explained to the media that he was the brains behind this or that politician or policy.

<comment><USER3> It would have a tomb underneath it, but that tomb would be an empty one.

</comment></comment><comment><USER4> Google is basically running and funding the democratic party in the United States. This combined with their NSA compliance is a scary thing.

I now find it suspect whenever they want to make changes to the search results, especially when it always seems to favor their political party.

Bernie Sanders will never win simply because his goal is to put a stop to this bullshit.

<comment><USER5> Oh, c'mon. Bernie Sanders is an exciting candidate for you? Give me a break. Do Democrats have anyone, anyone, under 60?

<comment><USER6> As far as I can tell (I opted out of election cycles), Bernie Sanders is the second leading candidate for the Democrats. Let's not feign surprise that there are people who find him exciting and be respectful.

<comment><USER4> Be 'respectful'? I just saw an article about Trump linked here on HN and the people commenting ripped him apart and did not show any 'respect'.

More and more I'm seeing comment guidelines used more as a way to limit and silence opposing view points rather than to get rid of trolls.

If we can't have an honest discussion, the discussions is pretty much worthless.

<comment><USER6> I wasn't responsible for that. I believe honesty and respect are both possible in the same response so I'm advocating for more of that.

</comment></comment></comment></comment></comment><comment> loomin-arty We're hiring, by the way: [http://thegroundwork.com/jobs/](http://thegroundwork.com/jobs/)

<comment><USER5> We are hiring!

Billionaire-backed startup is looking for young excited and impressionable individuals to help elect the candidate from the 1990s, so she can push more policies designed by GOOG/TWTR/YAHOO/FB.

Your internet will soon look like your endless shopping malls that you see everywhere.

<comment><USER7> So, just like most other tech jobs then?

</comment></comment></comment><comment><USER8> I love this thread.

</comment><comment><USER9> Media begets presidents ...

</comment><comment><USER10> "Fascism should more appropriately be called Corporatism because it is a merger of state and corporate power." - Benito Mussolini

We're there.

<comment><USER11> The attribution of that quote to Mussolini has long been discredited.

</comment></comment><comment><USER12> Why are you using the word "startup"?

Who gives a shit what the oligarch Schmidt promotes.. but lets not wrap the term "startup" around his BS.

Lets face the facts - Clinton (as well as many others, including any Bush) is an oligarch and a corrupt criminal.

Schmidt is doing a douchebag move of attempting to tie the "startup" lexicon to Clinton's hip in an effort to muster credibility...

It is all bullshit.

</comment><comment><USER13> Probably investing some money into Hillary so that Trump doesn't become president...

<comment><USER14> He'd be better off investing in Rubio.</comment></comment>


Hex-Rays IDA 7.0 freeware version - <AUTHOR> https://twitter.com/IgorSkochinsky/status/959424363765354498 <comment><USER2> Anybody know how this new release compares with [https://github.com/radare/radare2](https://github.com/radare/radare2) ?

<comment><USER3> Obviously it's biased, but the Radare site has a comparison table with "IDAPro demo" (i.e. the older IDA Free, v5.0), maybe it will be updated soon: [http://rada.re/r/cmp.html](http://rada.re/r/cmp.html)

</comment></comment><comment><USER3> I can't really complain, this is definitely an improvement, but there's still no IDAPython support for scripting - just the archaic IDC :(</comment>


When Going Online Will Send You to Prison - <AUTHOR> http://digg.com/2015/when-going-online-will-send-you-to-prison <comment><USER2> > "Tits or GTFO."

> Surprisingly, that didn't deter Kylie. In fact, she responded by posting a > picture of herself in a bikini. "So we started talking," says Higinio. "And > from there it was just love.

This has to be the first instance in history where that line has resulted in marriage.

<comment><USER3> The idea that women never respond positively to that sort of thing, and are universally offended by it, is only a naive stereotype, reminiscent of "women hate porn; it is only for men".

<comment><USER4> Possibly true but still shouldn't be encouraged. It's like catcalling; maybe you've met women that way but you also probably annoyed a whole lot more. The cons outweigh the pros (unless you don't care how you make other people feel).

</comment></comment></comment><comment><USER5> This comment from Higinio is both telling of his mindset and maddening:

      "They're not going to give a [...] 13-year-old kid access to a multi-million
      dollar Unix server because he wants to learn to program. They will use shitty
      passwords and let me break into it. But that's on them."

<comment><USER6> Well, if your password is "123456", "password", "root" or "dragon" for your entire system, you are indeed asking for it.

<comment><USER7> Poor security is not a valid defense for crime.

"Well, you left your shed unlocked, so I guess the guy was allowed to steal your tools."

<comment><USER6> I see it like this:

"Well, the safe was on the side of the road and the combination was 1234. Opened it, looked what was in it and closed it afterward after putting a piece of paper in it saying that I was there. Can't blame a man for being curious."

<comment><USER8> But that isn't what he was doing. Defacing a website isn't like "putting a piece of paper" in it. And the crime he got caught for he leaked a bunch of information and purposely accessed sensitive materials.

Plenty of people don't lock their front door. That doesn't mean you can go take a dump on their floor and then post their diary online.

<comment><USER6> Oh, don't get me wrong. I'm not defending his illegal activities. He obliviously grew bold and reckless. My exemple is for this part of the article:

"They're not going to give a [...] 13-year-old kid access to a multi-million dollar Unix server because he wants to learn to program. They will use shitty passwords and let me break into it. But that's on them."

</comment></comment></comment></comment></comment></comment><comment><USER9> "Since Higinio's parole officer doesn't want Kylie acting as a middle-man between Higinio and the Internet, for larger batches of code he is forced to actually print the code out and mail it to his boss, who then has someone else type it up."

So stupid.

<comment><USER10> Why can't he just mail the USB drive? This part of the story doesn't add up...

<comment><USER11> Probably to win over the public by coming up with bizarre scenarios. Look at how many HN'ers think he shouldn't be punished. If you want to hack, you should deal with the consequences. I don't see any problem here. Part of parole is continued punishment and to see if the person is serious about being a good citizen or not.

<comment><USER12> > If you want to hack, you should deal with the consequences.

w0rmer got caught because he forgot to strip exif data from the bottom of one of his leaks. He had his girlfriend take her tits out with a sign saying, "You got pwned by w0rmer" and that was that.

I couldn't disagree more that he deserves to be punished. He doxxed some police officers because of police brutality. Stop fearing 'hacking', and start realizing it's one of the few things where citizens are on equal grounding with our government. He didn't cause any damage, besides making some police officers feel uncomfortable... Yet probably not as uncomfortable as their victims.

Each and every one of these idiot hackers willing to risk their livelihood and families for a little civil disobedience should be celebrated for the martyrs they are.

<comment><USER13> > Each and every one of these idiot hackers willing to risk their livelihood > and families for a little civil disobedience should be celebrated for the > martyrs they are.

Reading TFA, it seems he's now unwilling to risk his livelihood and family now that he knows the consequences.

<comment><USER12> Well duh... he's on constant monitoring by the FBI and he can't use the internet, how do you expect him to continue?

He _did_ risk his family and livelihood, and he was without them for a time. Now he's not. I see no shame in that.

<comment><USER13> Do you think that was having considered the consequences and judged his family and livelihood worth it or because he had the "I'm invincible" mindset?

<comment><USER12> Probably a bit of both. What's your point?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER3> Convicted hit-and-run drivers should similarly be forbidden from taking a taxi or bus, or riding as a passenger. They are dangerous if in any contact with a motor vehicle. And that should probably include escalators and elevators, too.

<comment><USER14> That's a poor analogy. They are forbidden from _operating_ a motor vehicle. In this case, he's forbidden to operate technology that's connected to the internet. His wife controlling the Netflix feed is analogous to a drunk driver taking the bus (someone else is driving).

<comment><USER3> Well, you are ruining the analogy by carrying over the word "operating" from one context to another, where it has different nuances. That is a form of equivocation over word semantics.

Hit-and-run drivers are forbidden from driving, but not from using as passengers. Passengers also "operate" vehicles through that use, but we don't use the word that way; when it refers to vehicles, it serves as a synonym for being behind the wheel, used in puffy legal language. For instance, a taxi arrives because the user made a telephone call. The user isn't involved in the details, but is commanding the situation. Just like the user of Firefox requests a URL, but isn't involved in putting fields into a TCP/IP packet header, or writing any code.

It is nonsensical to forbid a convicted cracker from consumer activities such as looking up today's weather, or searching for a used lawn mower on Craigslist. The concern that these will cause an intrusion is like worrying that someone taking a taxi might order the driver to run someone over. Or something like that.

You're not going to break into the Pentagon out of your Netflix remote. For that matter, if you knew of a way how, you could easily get your wife to push the buttons. (And she will do it, too, because you had her at "tits or GTFO".)

<comment><USER15> I think your point is weakened by your analogy, your last two paragraphs stand on their own.

</comment></comment></comment></comment><comment><USER16> There's no way this guy is not using the internet from time to time. If his wife is allowed to use it, how will the parole officer know if it's him or his wife using it?

<comment><USER17> There may be surveillance that he doesn't know about.

</comment></comment><comment><USER18> You can't make this shit up:

> Like the hacks that had come before it, Higinio released the information in > a web page which contained some ASCII art, a video, and a picture of Kylie > from the neck down holding a sign that said "PwNd by wOrmer & CabinCr3w <3 u > BiTch's!" The picture was taken with Kylie's iPhone and she had location > services turned on. This meant that location data was embedded in every > picture she took.

<comment><USER12> The leak itself: [http://pastehtml.com/view/bn72jbka4.html](http://pastehtml.com/view/bn72jbka4.html)

No nudity but still NSFW.

<comment><USER19> OPSEC is hard. EXIF GPS from the image.

GPS Latitude Reference {0x01} = south latitude (S) GPS Latitude {0x02} = 37/1,5142/100,0/1 [degrees, minutes, seconds] ===> 37° 51.42′ == 37.857° GPS Longitude Reference {0x03} = east longitude (E) GPS Longitude {0x04} = 145/1,1502/100,0/1 [degrees, minutes, seconds] ===> 145° 15.02′ == 145.250333°

[https://www.google.com/maps?q=-37.857,145.250333&z=15](https://www.google.com/maps?q=-37.857,145.250333&z=15)

</comment></comment></comment><comment><USER20> This is a great article - I feel like I want to read more, and that it should be expanded into a feature.

Nothing is stopping him from writing brutally malicious code, by the way. He is technically still a threat. At any time, he could hand that USB over to his wife with malicious intent.

That's not a judgement of him, but a simple analysis of how cyber crime and punishment is still entirely misunderstood by the majority of the legal system.

</comment><comment><USER21> I wonder if he could pick up a couple of dial-up modems, and set up a dial in BBS at work and use that for file transfer?

<comment><USER14> His parole office didn't like the idea of his wife emailing work files for him... I don't think they would be accepting of this. Ultimately it's up to his parole officer (and even if he were to fight it, a victory might just mean dealing with a pissed off parole officer for the rest of his time on parole).

</comment></comment><comment><USER22> Serious question: do they sometimes ban offenders from using phones or books?

<comment><USER23> It's the US. They sometimes kill offenders with drone strikes or disappear them into torture camps.

<comment><USER8> Should the 101st airborne have been comprised of lawyers trying to serve criminal complaints behind Normandy Beach?

<comment><USER23> It's not a war and you aren't the good guys. Deal with it.</comment></comment></comment></comment>


Beyond the LRU cache policy - <AUTHOR> https://github.com/ben-manes/caffeine/wiki/Efficiency <comment><USER2> Cat's finally out of the bag, at least a whisker or paw. For anyone thinking about this, here is some more:

Advection implemented a tiered version of a cache eviction algo very similar to this single tier take since early 2000's. These graphs showing near optimal curves hold up in the real world.

When you have the one cache and window shown here, easy to see how to extend to layers (capacity/cost/performance) of cache. Harder to extend this across independent nodes across a global footprint of federated hubs, but that works too.

Crucial to get eviction and refill right when you're dealing with video sized files and limited cache pool. Pushed the VDN to innovate here well beyond what CDNs had or still have.

 _/ / Advection was a private label VDN (under strong NDAs and no sales and marketing) under the hood of brand name CDNs, with a VDN provisioning API. Several of largest premier certified streaming CDNs were Advection powered for their streaming certification, and many of the largest events throughout the last decade used Advection under the hood, even into this decade. The company was bootstrapped, profitable, and growing into the start of this decade, but HLS finally meant other CDNs could do video well enough they didn't have to have a parallel dedicated video infra, they could finally use their own edge, taking wind out of sails. While I stepped away several years ago, AFAIK Advection still offers boutique transactional video, able to track and control every user's stream in real time, enabling at scale a ton of very slick capabilities still behind some extraordinary VOD and live video business models, the ones that aren't just naïvely ad supported. Advection also innovated something we called "zero admin", now called devops. It had no sysadmins or support people, only devs._

<comment><USER3> Are you allowed to describe the eviction policy? It would be interesting to know the differences. You can contact me privately (ben.manes at gmail). I'd be interested in knowing,

\- Did it use a sketch in a similar manner? \- Was it an LRU window to a classic LFU? Did it retain history? \- Was it robust in all workload patterns or optimized for VDN workloads?

I would expect a 4-Segment LRU (S4LRU) policy to work well in VDN, while being a simple O(1) policy. That's used by Facebook photos, among others, so probably good for CDN content.

<comment><USER2> There are a couple other key diffs not yet out of the bag, so I can't go into more, but I will say S4LRU is not at all optimal for very large video edge.

Most of the research work remains focused on HTML or images. The problem was very different for video given objects per cache and nontrivial time to replace.

<comment><USER3> Any chance you have pointers for public trace files? Its interesting to see the behaviors under different workload patterns.

Adding a cost model (GDSF, et al) is too specialized that I haven't spent time looking in that domain. From your hints that sounds like the unexplored area that your work successfully optimized.</comment></comment></comment></comment>


Telegram faces DDoS attack in China - <AUTHOR> https://techcrunch.com/2019/06/12/telegram-faces-ddos-attack-in-china-again/ <comment><USER2> If a central server can be DDoSed, it doesn't feel like a "secure" service.

If everything's routed through a centralized hub, the hub could serve as a way point for attacking maliciously weakened end-to-end encryption via MitM interception, and collector of identifiers for metadata like device phone numbers.

<comment><USER3> I vouched for your comment even though I'm not sure if it was killed by downvotes or because your account is new. I think you have a reasonable comment; however, there's a difference between security and reliability: end- to-end encrypted messages can be routed through a central location and still be "secure" in the face of a DDoS (but not able to function), and a federated service can be hopelessly insecure but still resilient to attacks like these. Telegram by default is not all that secure and centralized, and with their encrypted chats is hopefully at least secure (though I'm not sure if it is with regards to metadata).

</comment></comment><comment><USER4> They likely mounted attacks against Youtube when Guo Wengui was doing high profile live-streaming in 2017.

It wan right before he was scheduled to start, he lives in NYC.

[https://www.thesun.co.uk/tech/3816099/is-youtube-down- east-c...](https://www.thesun.co.uk/tech/3816099/is-youtube-down-east-coast- of-america-hit-by-major-outage-as-video-site-goes-down/)

[https://twitter.com/PekingMike/status/875706450869399552](https://twitter.com/PekingMike/status/875706450869399552)

</comment><comment><USER5> What a weird title.

Telegram says this is mostly affecting the Americas [https://twitter.com/telegram/status/1138768124914929664](https://twitter.com/telegram/status/1138768124914929664)

The article itself says "IP addresses coming mostly from China" which would accurately describe most botnets.</comment>


Jobs at Airbnb.com - <AUTHOR> http://www.airbnb.com/jobs?=srcHN <comment><AUTHOR> We announced to the Internet our latest round of funding. We launched our new iPhone app and we're proud of it.

We're creating an industry and we need the best people to be a part of it plus we love making people happy.

We have 40 positions open on our jobs page so take a look at the various opportunities we have for you to join our revolution. If you have the passion and hunger to change the world, then talk to us.

We're waiting to hear from you.

</comment><comment><USER2> More than half of these positions are product, design, or engineering.

<comment><USER3> Actually (+ interestingly) _none_ of them are product (as in "product development", "product management", "product owner", etc).

No one seems to be hiring product people, and it seems to be a new trend from what I've been seeing recently.

</comment></comment><comment><USER4> You guys forgot to link the "You know the first names of who designed this chair" to the Eames's chair picture in the UI Designer position ;)

</comment><comment><USER5> Give me a year to finish learning RoR and I'd be happy to join Airbnb :)

</comment><comment><USER6> I'd love to work there - just a few more years to get out of college :)

</comment><comment><USER7> No engineering interns? Thats a bit odd.</comment>


A new maker movement for clothes  - <AUTHOR> http://ashishmakani.tumblr.com/post/24149847224/personalized-custom-things

<comment><AUTHOR> A related story from npr

[http://www.npr.org/blogs/alltechconsidered/2012/06/04/154284...](http://www.npr.org/blogs/alltechconsidered/2012/06/04/154284798/do- these-pants-make-me-look-body-scans-for-a-better-fit)</comment>


Elsevier In Advanced Talks To Buy Mendeley For Around $100M - <AUTHOR> http://techcrunch.com/2013/01/17/elsevier-mendeley-education/ <comment><USER2> Sounds like another one's ready to fall.</comment>