Bootstrap 4 Beta - <AUTHOR> https://getbootstrap.com/ <comment><USER2> I've been using bootstrap 3 for most of my public projects for a few years and bootstrap 4 for some internal projects. I make it a point to try new & popular CSS frameworks every few months and ultimately thank God for bootstrap. It has stood the test of time for all these years.

Things that I like about bootstrap are : stability, performance, easy custom builds, community support (almost every problem has been addressed on Stackoverflow), ecosystem (themes, extensions, tools). The design out of the box might look cookie cutter, but if you know basic CSS, it is very easy to customize it with minimal effort. Just lookup examples on codepen/stackoverflow.

Some people complain about bloat but this is amazing : [https://getbootstrap.com/docs/3.3/customize/](https://getbootstrap.com/docs/3.3/customize/) . I have public facing websites with thousands of visitors per day. The performance rating is better than 90% of the websites.

Truly want to thank @mdo @fat @cvrebert and the rest of the team for this amazing project.

<comment><USER3> I had been using bootstrap for a while until I found [http://bulma.io](http://bulma.io) now I can't stand bootstrap.

Still bootstrap has been amazing over the years.

<comment><USER2> I've been watching bulma and it's definitely promising. Would you care to elaborate what are the things that you "can't stand" with bootstrap ?

After having used bootstrap for so long, I understand it's strengths & shortcomings quite well. I feel there's little to complain with bootstrap, and little to gain by ditching it. Would love to be proved wrong.

<comment><USER4> Unless you're using bootstrap components as-in-the-examples in the same context and elements, they work fine. But try using them somewhere, like an input or button in a table cell, or card in a grid, etc - and you'll spend an eternity of "unsetting".

Basically bootstrap is not composeable. It provides not just a set of styles - but also a severely restricted visual design. People quickly run into elements that bootstrap was just not designed to be placed into. That's why there are so many forks/extensions of bootstrap, like bootstrap-admin and so on.

So its good to start with and follow the official style guide. But doing anything more, and the restrictions immediately bubble up. And then you quickly run into an entirely different set of problems on organizing your own CSS, like using SASS, BEM, etc.

Its not a question of OOCSS vs BEM, but more of how _tolerant /accomodative_ the framework is in using it in different elements and contexts. Bootstrap's tolerance is relatively low compared to most other frameworks.

<comment><USER5> How is Bulma different in that regard?

BS4's modules and components are highly portable and work in pretty much any context. I don't see how offering a theme customization tool results in a "severely restricted visual design", it allows the freedom to make any visual design you want. BS4 is MUCH more than visuals/UI.

</comment></comment></comment></comment></comment><comment><USER6> I highly recommend UIKit [1] for anyone looking to pick a front-end framework. It solved tons of design problems that I faced with Bootstrap. Here are a few —

1) Every class name is prefixed with "uk-": a wise decision to avoid conflicts and make it easy recognise the framework classes.

2) Useful generic classes: UIKit has many helper classes to avoid adding another rule—for removing padding, introducing a small margin, rounding the borders, adding a box shadow.

3) Clean theme: The default UIKit theme looks an order of magnitude better than Bootstrap's.

4) Additional helpful components: Loading spinner, Cards, Notifications, Sortable list. Shipping them by default saves a lot of time in searching and integrating them in your application.

5) Default Icons Support: The icons look clean and beautiful and because they are SVG, they don't require a font file. (Although, requiring Javascript can be turning off for some)

6) Much better components: Try creating an input box with an icon in bootstrap; with UIKit it only takes a little markup.

Whenever I develop with Bootstrap, I have to spend half the time muting the existing styles and introducing new ones. With UIKit, it never felt like a problem.

[1]: [https://getuikit.com/docs/](https://getuikit.com/docs/)

<comment><USER7> 1) There are tools to do this for you in any project :).

2) Bootstrap 4 includes dozens of utilities like these and more. Still have some to add, but there are tons.

3) Our theme state is busted in the beta it will be there for final. Open to feedback!

4) v4 has cards. Spinners are slated for v4.1. Toasts are slated for v4.2 I think. Peep the project pulls page :).

5) Everyone else does amazing icons. We pulled our icon font out long ago in v4. Use any SVG library.

6) That's a solid idea. Care to open an issue for it!? :D

Take a look at the new v4 beta docs and let me know what else is missing or cumbersome for you, please. <3

<comment><USER8> If he takes a look at v4 beta than ui-kit creator will ask him to look at the next beta. This is an endless cycle. I think he's comparing against 3 which is valid. And from your replies, it looks to me like he's right on all counts.

</comment></comment></comment><comment><USER7> It's past midnight by me and I'm heading to bed, but I'll pop back here tomorrow to answer questions and follow up with folks. Thanks for the kind words so far, and any and all feedback coming our way :).

Huge thanks to the contributors and our team for pushing so hard recently. Feels amazing to have a beta out finally.

<comment><USER9> Hey there, thanks for your project. I look forward to the release.

</comment></comment><comment><USER10> A few questions for those who might be using component-oriented CSS-in-JS libraries like styled-components [0] or glamorous [1]:

1\. Do you still use a global, class-based, cascading CSS framework like Bootstrap, Semantic UI, etc, to provide baseline styling/theming for your pages and components? And if not, do you just essentially roll your own custom CSS framework in JS? Or are there styling frameworks out there that don't cascade and can compose more naturally with component-oriented approaches to styling?

2\. If you do use cascading CSS frameworks in addition to something like styled-components, what are your approaches to limiting the unpredictable side-effects of cascading styles, dealing with specificity and load order issues, and ensuring proper style isolation inside your components?

It seems like using a cascading styling framework could defeat much of the purpose of using a well-isolated component-oriented styling library.

Although on the other hand, the alternative of writing all styling on my own seems like a futile exercise in reinventing a vastly inferior wheel, since so much designer talent has been poured into projects like Bootstrap to the point where an amateur designer like myself could never even approach the same level of polish, flexibility and consistency in their designs.

I'm hoping someone here could enlighten me on a better approach that takes the best of both worlds, or at least share a middle ground they're happy with?

[0] [https://github.com/styled-components/styled- components](https://github.com/styled-components/styled-components)

[1] [https://github.com/paypal/glamorous](https://github.com/paypal/glamorous)

<comment><USER11> 1\. No frameworks, but there's an `injectGlobal` escape hatch with styled- components that I use for a CSS reset. We're transitioning from a class-based approach and the two are working together quite neatly.

2\. This hasn't been a problem. Most of the global styles are based on tags, and classes are already more specific. The legacy class-based stuff is all hash-based too, so there's been no conflicts.

So far I'm enjoying the component-based approach. Render functions look much cleaner and you abstract logic that might have previously looked like

      classnames(styles.btn, {
        [styles.active]: isActive
      })

to

      ({ isActive }) => `background: red`

Which lives in a totally different file.

On one hand I don't think I've done enough to reuse styles across components but on the other hand I know I'm never loading styles that aren't used specifically for the current render.

</comment></comment><comment><USER12> I think Web Reflection covers my concerns with Bootstrap more elegantly than I can myself. It's 2017, the browser targets are very modern, so why does it need jQuery at all?

[https://www.webreflection.co.uk/blog/2016/04/22/about- jquery](https://www.webreflection.co.uk/blog/2016/04/22/about-jquery)

<comment><USER7> We'll be working on moving on from jQuery. When we finally decided to commit to it, it was too late in the v4 alpha process to really spend significant time doing it. We'll be piece-meal updating our plugins to drop it.

Lots of folks like to shit on jQuery these days, but it changed JS forever. We're still using it while focusing on other things, and you can easily swap it out for something else or use a ported version of our JS for React, Angular, etc.

In short, yes, and we'll get there in time <3.

<comment><USER12> That's great news!

I don't particularly aim to shit on it, but I've been on the vanilla train for awhile now. So when I see something I'd like to try out to solve a specific problem, having it pull in jQuery for a dependency is kind of frustrating.

Especially when (and I'm sure Bootstrap does more with it) the only reason it's pulled in is to replace document.querySelectorAll and fetch/xhr.

</comment></comment></comment><comment><USER13> The blog post: [https://blog.getbootstrap.com/2017/08/10/bootstrap-4-beta/](https://blog.getbootstrap.com/2017/08/10/bootstrap-4-beta/)

</comment><comment><USER14> A big thumbs up and thank you to the Bootstrap team.

Building Bootstrap 4 from source (which is what you want to do for your own themes and customizing) requires a somewhat hefty npm install due to babel, autoprefixer/postcss _and_ clean-css, and in particular due to node-sass which is using libsass/node bindings, thus requiring gyp and Python. I'd imagine a leaner setup based on a precompiled sassc binary for SCSS processing could be useful.

<comment><USER15> node-sass uses precompiled binary unless you're on a version of node that hasn't had a published binary or one of the few other reasons.

</comment></comment><comment><USER14> It's probably not the right time and place to ask, but have there been considerations for post-Bootstrap 4 yet? I could imagine CSS grid and CSS variables will reduce the need for sass/less in the future. So it might make sense to look into whether the CSS abstractions build into BS 4 will hold up well in the presence of CSS grid/vars, or have their design informed by/aligned with these upcoming features.

<comment><USER7> Probably gonna stick with some Sass stuff for awhile, tackling components and JS behaviors we haven't done in the past. There's some major stuff we're missing even before CSS grid layout (which doesn't have super great support today).

<comment><USER16> To the contrary, CSS Grid Layout has excellent support. All modern browsers aside from Edge. For Edge, IE11, and IE10, you can use the original Grid spec since it's frozen in time and can replicate most of what Grid can do today, albeit it's more complicated and explicit.

Considering Bootstrap does not support the same browsers that CSS Grid does not work in, this argument doesn't stand.

[http://caniuse.com/#search=grid](http://caniuse.com/#search=grid)

If you look through the stats of every unsupported browser in the list above, almost all of them are %0.x. Adding them all up still gives you single digits. And with Flexbox as a fallback, you're covering virtually all modern browsers.

I really hope you consider adding this last feature to Bootstrap 4 as I truly believe it will be worth the effort.

</comment></comment></comment><comment><USER17> I cannot recommend Semantic UI enough, and in particular the React port of Semantic. Its a very complete, themable and quality piece of toolkit. After using it I could not understand why I've been using bootstrap before.

[http://semantic-ui.com](http://semantic-ui.com) [http://react.semantic- ui.com](http://react.semantic-ui.com)

<comment><USER18> I'd recommend neither. CSS has caught up, and the two large problems that these frameworks solved no longer exists: grids, and differences between browser implementations.

Additionally, semantic UI deserves the scorn of a thousand linguists for the most misleading (unsemantic? or even antisemtitic?) product name ever: there is nothing semantic about class="col-xs-12 col-m-3 col-x-1"

<comment> UK-AL For a backend developer, I find bootstrap and Semantic UI brilliant.

I mean I can write CSS from scratch and make it responsive, but it generally looks awful without having a designer.

But using bootstrap I can use a default layout, and the default components and it looks respectable.

</comment></comment></comment><comment><USER19> For anyone wondering, the beta is comprised of 392 Github issues: [https://github.com/twbs/bootstrap/milestone/41?closed=1](https://github.com/twbs/bootstrap/milestone/41?closed=1) with some more interesting tidbits in this issue here: [https://github.com/twbs/bootstrap/issues/21568](https://github.com/twbs/bootstrap/issues/21568) \- good to see Bootstrap finally leave alpha after so many years, the grid system is fantastic. Congratulations to everyone who contributed to Bootstrap to make this happen, solid work.

</comment><comment><USER20> I like how minimal Bootstrap 4 is. I also like the SCSS core itself. It's very well written and I learned a lot from reading it.

I worked with Foundation 5 + 6, Semantic UI, Spectre, Bulma and Bootstrap 2 + 3 (and some more lesser known Frameworks) and I must say that the Bootstrap 4 team really nailed it. All the other frameworks are good, but this is just great to work with.

</comment><comment><USER21> Switched from Bootstrap to Semantic some time ago. I like it more, but development seems to be very very slow.

Took a look at Foundation, and the new XY Grid is really really nice and much better than the current Semantic grid.

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

I especially love

1\. It also works for Y 2\. how you specify responsive, "small-4 medium-6 large-2" means on small devices 4 wide, on medium 6 and on large 2 wide. This makes layouting responsive much easier.

<comment><USER5> That would be "col-sm-4 col-md-6 col-lg-2" on Bootstrap with similar results.

<comment><USER21> Didn't know, was that also in bootstrap 2? Perhaps it's time to come back.

</comment></comment></comment><comment><USER22> I am shocked to see that font awesome isn't even mentioned as a choice for icons considering its popularity:

[https://getbootstrap.com/docs/4.0/extend/icons/](https://getbootstrap.com/docs/4.0/extend/icons/)

Then again I am equally shocked that there are so many competing icon sets that look promising.

<comment><USER5> I don't think they are offering SVG versions of their icons until the next version, and BS4 is moving away from font (non-SVG) icons, thus their exclusion.

</comment></comment><comment><USER23> I've been using BS 4 Alpha for a while now, this is great news. A million thanks to mdo and the rest of the team.

</comment><comment><USER24>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">

The css given in their docs has an invalid integrity hash

This is the correct hash:

      sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M

Edit: someone has already filled an issue, beating me by 3 minutes: [https://github.com/twbs/bootstrap/issues/23284](https://github.com/twbs/bootstrap/issues/23284)

<comment><USER7> Fixed! Sorry about that :).

</comment></comment><comment><USER25> We love the alternative [http://tachyons.io/](http://tachyons.io/)

Functional CSS helps us maintaining large scale component-based project fairly easily. You have to know CSS though.

<comment><USER5> I wouldn't really consider it an alternative. It's essentially inline styles.

Useful for marketers or authors without coding experience to build pages within a restricted CMS (they can't edit all the code, but they can add classes to components).

Most of it is not components, though; most classes are just a single CSS property and value. This easily bloats into a maintenance nightmare:

...it's the reason we moved to modular CSS instead of having a style attr on every element.

It has its place, but something like Foundation is more appropriately considered an alternative to Bootstrap.

</comment></comment><comment><USER26> Have been using Bootstrap 4 on production at [https://www.maplenest.com](https://www.maplenest.com) for almost a year now.

It has Flexbox!!! Although our team has added additional classes to get some of the UI done, I am sure, we could have done it using only Bootstrap. We get lazy :P.

The primary reason I like Bootstrap is because of the semantics. Columns are col, Tables are table, Cards are etc. Primary is main action, Danger is error etc. etc. As they say in UX, "Don't make me think!"

</comment><comment><USER27> I heavily used Bootstrap 2/3 in projects before, but the last two years or so i really don't need such a large CSS framework anymore. Especially with all major browser supporting Flexbox grid-like layouts have become so much easier. Nowadays i just use SASS and a really small mixin library (1) and i'm perfectly happy.

1: [http://hay.github.io/valenski/](http://hay.github.io/valenski/)

<comment><USER7> Hey, that's awesome! Reminds me that Bootstrap started over six years ago from a Less variable and mixin library ([http://getpreboot.com](http://getpreboot.com)).

<comment><USER27> Interesting, i didn't know that! I guess my little library will probably will be a large framework six years from now then ;)

</comment></comment></comment><comment><USER28> Love the new revamped form layout and possibilities. Can't wait to start using BS4.

Congrats and a massive thanks to anyone who has been working on this fantastic project.

</comment><comment><USER29> Is the new 'tooltip with HTML' feature SEO-friendly? Wouldn't the HTML markup obscure the text?

      <button type="button" class="btn btn-secondary" data-toggle="tooltip" data-html="true" title="Tooltip with HTML">Tooltip with HTML</button>

[https://getbootstrap.com/docs/4.0/components/tooltips/](https://getbootstrap.com/docs/4.0/components/tooltips/)

</comment><comment><USER30> does bs4 now have an easy way to add spinning icons to a button?

in bs3, there was no easy way, you had to basically use javascript to achieve it.

<button class="btn btn-default btn-spin">Click Me</button>

I been waiting for something like this to be achievable for some time now.

Bulma has this perfected and it really is handy.

<comment><USER7> Spinners are coming in 4.1: [https://github.com/twbs/bootstrap/pull/22960](https://github.com/twbs/bootstrap/pull/22960)

<comment><USER30> Sweet, thank you. Hopefully it is out sooner rather than later.

</comment></comment></comment><comment><USER31> The advent of utility classes signs the doom of Bootstrap. Going down this road leads directly to universal.css ([https://github.com/marmelab/universal.css](https://github.com/marmelab/universal.css)).

</comment><comment><USER32> That version dropdown in the navbar will change my life: I give lessons for a framework which in the previous version still used v2.3.2, now I'm sure my students will not look at the wrong documentation.

</comment><comment><USER33> With Flexbox and Grid I found less and less reasons to use Bootstrap.

<comment><USER5> You'll be happy to learn, as mentioned on the linked page, that BS4 is rewritten from the ground up with Flexbox, then.

I personally don't work on any sites small enough to ignore all the browsers without Grid support yet.

<comment><USER33> at the moment I'm luckily doing React-Native stuff. Feels like doing web/phone-gap stuff but without the need of (old) safari webviews, he he.

</comment></comment></comment><comment><USER34> I originally used bootstrap 3 for my food side project. I did have some issues with customizing and sheer size.

I eventually moved over to bourbon.io with the help of one of the core contributors.

</comment><comment><USER35> Bootstrap is great and I used it on a couple projects. Unfortunately I gave up waiting on a V4 release and started using Semantic UI. This has been a long time coming!

<comment><USER36> +1 to semantic UI, very well designed and more customizable, although their build process is more complicated.

</comment></comment><comment><USER37> I haven't used bootstrap 4, I've actually kinda moved away from Bootstrap (which I've used in a couple production products) for Semantic-UI.

</comment><comment><USER38> awesome, congrats to everyone who's worked on this. It's been a long time coming, but I imagine it will be very well worth it.

</comment><comment><USER39> Anyone got a working requirejs example? does it need a special shim

I'm getting a "Bootstrap dropdown require Popper.js" error

</comment><comment><USER40> Frequently prototyping sites and always amazed how much value bootstrap adds. Thank you for all the work done!

</comment><comment><USER41> Is it safe to start using in production?

<comment><USER42> FWIW we have been using Bootstrap 4 in production since early days of rolling out the v4-dev and we have had minimal troubles of upgrading it in various tons of projects.

</comment></comment><comment><USER43> Personally prefer Foundation but glad to see Bootstrap maturing from the eternal alpha version. :)

</comment><comment><USER44> Can anyone comment on what is new? What to try in 4?

<comment><USER45> [https://blog.templatetoaster.com/bootstrap-4/](https://blog.templatetoaster.com/bootstrap-4/)

The thing I'm most excited about is the flexbox grid.

</comment></comment><comment><USER46> Many folks use Bootstrap for its awesome grid system. But now that CSS Grids are finally here and are way way cleaner to use, Bootstrap's days are numbered.

<comment><USER5> You know that BS is much, much more than a grid right?

</comment></comment><comment><USER47> What does HN think about zurb foundation?

</comment><comment><USER48> $99 for such simple themes is overpriced

</comment><comment><USER49> Nice redesign! :)

</comment><comment><USER50> Nice :)

</comment><comment><USER51> I love how you have ads in the documentation! So helpful!

What's next, ads in the source code?</comment>


Show HN: Classroom – One educative article in your inbox daily - <AUTHOR> http://classroom.ng/indexed.html <comment><USER2> Yellow text on yellow background, is not good.

EDIT: some more [http://i.imgur.com/ouTy5Zm.png](http://i.imgur.com/ouTy5Zm.png)

EDIT2: Even more, [http://i.imgur.com/PmNnrBg.png](http://i.imgur.com/PmNnrBg.png)

Due to these it looks quite unprofessional.

<comment><AUTHOR> yeah am working on that now. Thanks</comment></comment>


The Problem Isn't Email, It's Microsoft Exchange - <AUTHOR> http://bsdly.blogspot.com/2011/02/problem-isnt-email-its-microsoft.html

<comment><USER2> I don't understand the point about threading; I've been using threading ("conversations") since I started on Outlook 97. It does appear to use the References: header.</comment>


Ask HN: I have 10,259 Fortune 500 job listings. What should I do? - <AUTHOR>

Hi all --
As part of a study I'm working on, I've built a multitude of web scrapers to download job listings from a group of Fortune 500 companies.  The listings are saved in plaintext, separated by industry, company, and job, are generally clean, and contain job titles, descriptions, qualifications, responsibilities, and locations.
I figure these files could be used for machine learning, further studies on the language used in job listings, or by people looking to build intelligent job search bots.  The cache is large -- >20mb I believe.  Where would be the best place to offer the files (in terms of visibility and usefulness)?  Is this something that is commercially valuable?  If so, where are collections like these usually sold?
Thanks! <comment><USER2> Build a service that automatically applies to all of them, and charge millennials $125 for use.

</comment><comment><USER3> Dropbox? I don't know if it would be commercially valuable unless you gave analytics with it. I know I would be interested in it, but I'm not sure I would pay for it.

<comment><AUTHOR> Just curious -- what analytics would you be interested in seeing?

</comment></comment><comment><USER4> Share it with everybody. You cannot sell it for sure. But there are people that will enjoy playing with it.

</comment><comment><USER5> Go talk to Bright.com. They are doing the same thing.</comment>


Need test servers? Tired of Heroku? Here is the solution - <AUTHOR>

During developing web-projects, manager always need to test new features. Typically, this is done using test servers. Often, manager cannot run a test server himself to see new features and has to ask the developers for the help, distracting them from their work. Besides purchased test equipment is not necessary 90% of the time.
Teatro automatically creates a test server in the cloud for each new feature at the time it was added to the project. The manager doesn't need to configure anything himself – when developers have prepared a new feature which they want to show to their manager, they make changes to the code. Teatro sees these changes, launches a personal test server for this concrete feature and sends a unique link to the manager. It only remains to follow the link and start testing.
Teatro deploys a dedicated cloud server for each Pull Request (change in the code) on GitHub, and provides a comment with the link to the server. No need to do anything manually – Teatro automatically creates server specially for each branch. Service monitors the new commits and updates code on the server automatically. Thus, you can run any number of parallel test servers under each feature and only when it is needed. Servers are not "live" all the time, and are suspended during idle time and do not waste resources.
Access to the service is provided on a monthly subscription basis. Pricing depends on a maximum number of parallel servers and projects.
Our features:
- Everything is set automatically, without the participation of developers and system administrators - You can test a few features parallel at any time - Teatro lets you save money, because no longer need to have your own equipment and spend valuable human resources for serving test infrastructure <comment><USER2> Thats all fine and dandy, except:

1- Teatro is Theatre in Portuguese, so a common word to find in the web

2- You didn't provide an URL

3- This isn't as much a solution as it is self-promotion.</comment>


OpenAPI Generator 4.2.2 (2019 last release): new TS redux-query generator - <AUTHOR> https://github.com/OpenAPITools/openapi-generator/releases/tag/v4.2.2 <comment><USER2> I have really bad experiences with the generated python code here. Its not even a stub, missing typing etc. What are your experiences with openAPI. What are you using for internal microservices communication.. I'm heading towards GRPC

<comment><AUTHOR> I remember there were discussions about adding typing to the Python client before but I don't think anyone has time to implement it yet. If you've time to make the contribution, please let me know by opening an issue/ticket: [https://github.com/OpenAPITools/openapi- generator/issues/new](https://github.com/OpenAPITools/openapi- generator/issues/new)

We've also added a protobuf schema generator (`protobuf-schema`) to convert OpenAPI spec v2,v3 to protocol buffer schemas. Please give it a try to see if it helps in your use cases.

</comment></comment><comment><USER3> nice, but I've had difficulties generating services with OAUTH2 support (especially with C++ and Java).

If I have a Swagger Document with all the elements in place, why isn't that block generated?

<comment><AUTHOR> For C++, I don't think anyone has contributed the OAUTH2 enhancement to the C++ client generator (cpp-qt5, cpp-restsdk) yet. We definitely welcome the contributions.

For Java, I agree there are rooms for improvements as we cover so many different libraries (jersey2, retrofit2, openfeign, resttemplate, etc) and a good starting point is [https://github.com/OpenAPITools/openapi- generator/tree/maste...](https://github.com/OpenAPITools/openapi- generator/tree/master/samples/client/petstore/java/okhttp- gson/src/main/java/org/openapitools/client/auth) and we can plot the OAuth- related enhancements back to the template more easily.

<comment><USER3> I hope also on C++ server generator will come some improvement, also with OAUTH2.</comment></comment></comment>


Ask HN: What new podcasts and books are you planning to listen or read in 2018? - <AUTHOR> <comment><USER2> Generally I just go by a greedy algorithm of reading or listening to the currently most appealing thing, which keeps changing based on my mood and energy levels and what I find through reddit threads and other serendipitous discoveries.

I did find a great new podcast recently: omega tau science & engineering podcast. I'm looking forward to listening to that in the new year. It's a long form (2 hours+) podcast taking a single sci tech area and interviewing an expert on it, without shying away from details.

In books, I think I'll be reading more of the Very Short Introductions series from Oxford press, and also more of web fiction (including fan fiction). I was impressed by how effectively the VSI books (at least most of them) convey a large amount of understanding in that small space.

I also discovered Mother of Learning (web fiction) and Brutal Harry/Harry Potter and the Natural 20 (fan fiction) in 2017, and realized there's a whole new form of fiction content that I'd been missing out on. I think (and hope) I'll be finding more of these this year.

</comment><comment><USER3> Shoe Dog by Phil Knight (Maybe some more biographies)

The Intelligent Investor by Benjamin Graham

One Hundred Years of Solitude by Gabriel Garcia Marquez

The Hard thing about hard things

Thinking Fast and Slow

Origin by Dan Brown</comment>


Huge war over whether Java is pass by reference or pass by value. - <AUTHOR> http://www.theserverside.com/news/thread.tss?track=NL-461&ad=808081&thread_id=61622&asrc=EM_NLN_13145929&uid=2780877 <comment><USER2> These kind of discussions is a symptom. Too few programmers have a clear mental picture of what goes on below their programming language.

<comment><USER3> It's also a symptom of zooming way in on one context and ignoring another, or just general annoying pedantry.

From the perspective of _an object being passed to a method_ , Java is pass by reference. No copy _of the object_ is made.

From the perspective of _the implementation of methods_ , Java is pass by value, with the "value" representing any "object" involved being a pointer to that object.

Most of this argument seems to be people choosing one view of this duality and screaming that the other side is stupid and wrong. It's a tedious and annoying thing to see play out (although nowhere near as bad as your average "static vs dynamic typing" debate).

<comment><USER4> I think the difference is somewhat more important than you give it credit for.

If Java was truly pass-by-reference, then certain things that are not currently possible would be. It would make some existing code pretty silly frankly.

<comment><USER3> Do you have any good examples? Because I never could come up with a good one.

Probably 99% of the reference usage I've seen (all in C++, fwiw) could be about as easily accomplished with pass-by-sharing through pointers. The actual valid uses never seemed worth the nasty copy constructor bugs created by people mistaking reference semantics for pointer semantics.

At this point I gave up on "true" references so long ago that I tend to fall in with everyone else and call pointer-based sharing "pass by reference". I suppose I should amend my initial comment to specify that most of the team "pass by reference" is really "pass by sharing (through pointers)", but I'll wait on that until something convinces me that true references shouldn't go the way of dynamic scoping.

<comment><USER5> What about primitive variables, like "int"? If Java passed the variable reference (and not a copy), we should be able to modify it

<comment><USER3> Yes, if it did that we would be able to modify it (and have those modifications reflected outside function scope). It doesn't, so we aren't. Primitives add complexity to many aspects of Java, calling semantics being one of them.

I'd rather they'd went the route of forcing you to always use wrapped primitive types, but it's hard to fault the Java designers on that decision, especially when you consider the context of the time when it was made.

</comment></comment></comment></comment></comment></comment><comment><USER6> I get a sick kick out of telling devs new to Java this when they run across it:

"Java is ALWAYS pass-by-value...", they nod, "...including OBJECT REFERENCES."

"What?"

</comment><comment><USER7> I'm the original designer for TheServerSide.com and .net logotypes. Originally the entire websites, but only the logotypes and headers remain. They're over a decade old, I'm getting nostalgic whenever I see them. It is amazing that the logotypes still survive.

Sorry for OT.

</comment><comment><USER8> Here's a good explanation (or several, actually) on Stack Overflow:

[http://stackoverflow.com/questions/40480/is-java-pass-by- ref...](http://stackoverflow.com/questions/40480/is-java-pass-by-reference)

</comment><comment><USER9> Java is pass by value with mutable objects. Pass by reference is a different thing.

I think Java causes this confusion because it's so restrictive about what you can do with pointers. In C, the difference between a struct and a pointer to a struct is very clear. In Java, the fact that X x = new X() stores a pointer is sort of invisible.

</comment><comment><USER10> My faith in mankind dies a little with every Java project we kick off...

And people ask why...

</comment><comment><USER11> Why is passing a reference by value so hard to understand?

<comment><USER12> Because, as Joel Spolsky said once, some people are born without the part of the brain that understands pointers.

</comment></comment><comment><USER13> <http://blog.tmorris.net/java-is-pass-by-value/>

</comment><comment><USER14> should be chlorinate, not pollinate, we need less idiots, not more

</comment><comment><USER15> Weird. It's pass by ref for objects and pass by value for primitives. Why the flame war?

<comment><USER16> It's a war over semantics. Everyone agrees that primitives are pass-by-value, but when you pass an object, is that pass-by-reference because you're passing a reference to the object, or pass-by-value because you're passing the reference by value?

It's like the Java equivalent of airplane-on-a-treadmill.

<comment><USER17> There isn't any semantic ambiguity. The phrase "pass by reference" has a specific meaning. Java does not support pass by reference. Here's a quick test to see if your language uses pass by reference (when translated into Java, it will output "pass by value"):

        function f(x, y) { x = y }
        a = new A()
        b = new A()
        assert(a != b)
        f(a, b)
        if (a == b) {
            print('pass by reference')
        } else {
            print('pass by value')
        }

<comment><USER18> Assumes equivalence is referential equivalence, and not overwritten. Of note, in some languages where there are immutable strings (e.g. java I believe) there is only "one true string" for each string (of course this isn't directly relevant to the example code given above). This means "var a = "test"; var b ="test"; assert(a==b);" holds true for referential equality.

</comment></comment></comment></comment><comment><USER19> It's pass by value for primitives and pass by reference for objects. But it depends on what you call a reference. If all java objects would be immutable, you could say it's pure pass by value, but since you can alter the original object's state in the method, I call it pass by reference.

Before downvote: please explain, thank you.

<comment><USER20> Get a metaphorical microscope and focus in on call semantics in Java. Arguments no matter what their type are pass by value. So then What are you allowed to pass as arguments to a function in java? Primitive types, it is impossible to pass an object to a function in Java. Then what actually happens when people claim they are passing an object to a function in Java? It is passing a primitive type of type object reference to the function. It is doing so by value.</comment></comment>


Play AV1 video is browser using WebAssembly - <AUTHOR> https://developers.google.com/web/updates/2018/08/wasm-av1 <comment><AUTHOR> I tried it out on Chrome 68 on Mac OS X. MacBook Pro (Retina, 13-inch, Early 2015) - Core i5, 8GB RAM - The video playback was very jerky. Still, this is a new horizon for web development and what is possible in the browser!</comment>


What do I do with my now "obsolete" 3G iPhone? - <AUTHOR>

With the release of the new iPhone 3G S today, alot of people would be upgrading to the new version and would also be faced with the dilemma of what to do with their old phones. I would suggest this: 1. Sell it to interested developers/hackers in Africa. There is a huge market for refurbished/used iphones in africa, but the price of the iphone from the gray market is really prohibitive, so selling it would really make sense. <comment><USER2> Depends if you can afford the upgrade. Want an iPhone 3G S? Already have an iPhone 3G? Be prepared to pay $700 to upgrade [Updated] An iPhone 3G customer in most cases can early upgrade at $399 [16GB] or $499 [32GB].

[http://www.crunchgear.com/2009/06/08/want-an-iphone-3g-s- alr...](http://www.crunchgear.com/2009/06/08/want-an-iphone-3g-s-already-have- an-iphone-3g-be-prepared-to-pay-700-to-upgrade/)</comment>


The Importance of Manually Breaking Lines of Text - <AUTHOR> http://maxsavin.com/posts/breaking-text.php

<comment><USER2> This is terrible advice and is a massive hack as well as being a terrible misuse of hr element.

Also I'm not sure I want to take advice on how to lay out my content from someone who claims to be a designer but has his content in such a limited space (less than 40% of my screen space on a 15 inch monitor) and all the way to the left.

<comment><AUTHOR> Text is easier to read when narrow. Agree on the centering.. working on some solutions for it. I only had ~1h to put into the site.

<comment><USER2> Text is annoying to read when it's too narrow, yours is too narrow. Bumping it up from 500px to 800px makes it look less sparse and is still readable.

For the centering, margin: 0 auto; on .textWrapper is an improvement.

<comment><AUTHOR> Goes against the MD style of the homepage.. trying to find another solution.

<comment><USER2> Making the content 800px wide and setting the margin the same way looked perfectly fine on both the blog post and the home page, much better than all the way to the left and smaller.

</comment></comment></comment></comment></comment><comment><USER3> This is such a bad idea that I had to comment here:

1\. Doesn't scale. You do not want to hand pick text all over your site/web- app. 2\. It's not semantic. 3\. It's very confusing to new people who looks at your code. 4\. If you ever change a single char in that sentence, you will have to re-break it yourself.

<comment><AUTHOR> Thanks for commenting. It's a great idea from a design and readability perspective. It sounds like you do not like my implementation - you could be right. Here is another way of doing it.. maybe I'll update the post late:

with the appropriate @media query.

It's obviously not for every situation. But for landing and marketing pages, headlines, etc, I'd go as far as to say it's absolutely essential.

<comment><USER4> I've also done simply:

First line Second line

Make em block level in css, collapsing to display:inline at small sizes. (Can even set the size with a specific class, bootstrap-style).

<comment><AUTHOR> Yeah that works, but it creates a lot of code.
 is just 4 characters, and reminds me a lot of
, so its easy to read. Once you adapt your perspective to it, it becomes really awesome.

<comment><USER5>
 is a poor choice from an accessibility perspective. You should use a  instead.

</comment></comment></comment></comment></comment><comment><USER6> This really only seems to work if you know the exact pixel width of the text in question. This would happen if you don't know the font being rendered or actual text in advance, which are both common occurrences in web development.

<comment><AUTHOR> This is more of a finishing touch, rather than something you would do initially.

<comment><USER6> I'm talking about a deployed production app also.

Css has font fall-backs for a reason, and if you ever use them, that means you don't know which font is actually being rendered. Which is not to mention platform differences for rendering even the same fonts.

And if any part of the text is variable, which is pretty much the basis for web apps, then you have another problem.

It would be pretty great if there was something like <wbr> that you could use for this scenario.

<comment><AUTHOR> Sure you can certainly run into that issue in some cases, that's where your judgement as a developer should kick in.

</comment></comment></comment></comment><comment><USER7> Why not just use a BR and set its "display" to "none" at the appropriate breakpoint(s)? Why abuse HR in this way?

<comment><AUTHOR> You can't do display none for BR element. But even if you could, you wouldn't want to overwrite it for the entire website. Also, the HR element is a very old, largely unused, and styleable, so its a good candidate for this.

<comment><USER7> "display: none;" works just fine for BRs!

Sure, you don't want to override it for the entire web site, but if you're being specific enough about showing/hiding line breaks at certain breakpoints, then I don't see why you can't just specify with the class of the container (or whatever) which particular BR you want to hide in a given context.

<comment><AUTHOR> Hmm.. good point, it wasn't working when I tried it. But I still prefer to include it on a high level into my CSS frameworks. Set it, forget it, and use freely.

<comment><USER7> At least a few people on HN use Lynx - they won't like you much for this!

<comment><USER8> Why on earth would you use Lynx?

<comment><USER9> Because you are blind?

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> This is a great technique and I've been using it on projects for over a year now. This is the first time I'm seeing anybody else write about it or use the technique!

One question for the author: Why repurpose a Horizontal Rule
 when HTML has a perfectly functional Line Break tag
?

You can use @media queries to set display: none; on
 tags and then those
 tags have no effect, and then you get to decide when they kick in.

This is a great idea, but ignoring the built-in line break to repurpose and restyle the horizontal rule tag seems like an arbitrary choice for implementing the technique.

<comment><AUTHOR> Thanks for the positive feedback! My reasons are: 1) You still want to have the option of a "hard" BR 2) I want to set the HR as a high level class, so I can use it freely through whatever I'm working on.

For example:

Headline

The quick brown fox jumped

over the lazy dog.

You 100% want the line break after the headline, and want to set an optional one in the subtext.

I like it because its very clean to look at, but you can also create a responsive class like

<comment><USER11> If you're going as verbose as using a class, just put the class on the br tag.

Headline
 The quick brown fox jumped
 over the lazy dog.

<comment><USER10> This is what I did originally,

But now I'd rather just use the media query to only affect the
 inside of the H1 or other container where the line break appears.

Another consideration I didn't see in the article that I train the people updating the marketing copy: put your white space before the line break. When it's all inline it will display as one line, but you don't want to have a space after the line break at the start of the new line. programmers may be conscientious of where the white space is but its a real eye-opener for marketing-types who only pay attention to the content, not the space around it!

</comment></comment></comment></comment><comment><USER12> Sounds more like CSS needs a way to set Widows and Orphans control. Just like it has lacked hyphenation for quite a while. Does anyone know if such a thing has been discussed?

</comment><comment><USER13> This is a rehash of a much more fleshed-out idea from here: [http://blogs.adobe.com/webplatform/2013/01/30/balancing- text...](http://blogs.adobe.com/webplatform/2013/01/30/balancing-text-for- better-readability/)

They even wrote a jQuery plugin to implement the described behavior: [https://github.com/adobe-webplatform/balance-text](https://github.com/adobe- webplatform/balance-text)

</comment><comment><USER14> """

> This page cannot be displayed because your computer is currently

> offline

"It looks pretty ugly - I hope you can understand why." """

But its not. When I see that, my eye is immediately drawn to the word that is on its own: offline. And what is the most salient piece of info in that error message? The fact that my computer is offline.

<comment><USER15> [http://en.wikipedia.org/wiki/Widows_and_orphans](http://en.wikipedia.org/wiki/Widows_and_orphans)

<comment><USER16> [http://m.imgur.com/LIbRZaR](http://m.imgur.com/LIbRZaR)

The Importance of Manually Breaking Lines of

Text.

</comment></comment></comment><comment><USER17> If you need this level of control, use a PDF. This is not what html/css/javascript is for.

</comment><comment><USER18>
 for validity in both XHTML and HTML4

<comment><AUTHOR> Updated

</comment></comment><comment><USER8> I like this idea, thanks.

<comment><AUTHOR> Welcome :)</comment></comment>


Somebody Else's Problem - <AUTHOR> http://en.wikipedia.org/w/index.php?title=Somebody_Else%27s_Problem <comment><USER2> I've always enjoyed when a work of fiction manages to make a point so well that it's the most useful and convenient way to discuss a class of real-world situations.

Works particularly well when a work does so in a timeless way. Blunt references to current events or specific real-world analogues don't hold up well to time; the observations that stand the test of time never make you immediately think "oh, he's referring to $SPECIFIC_REAL_WORLD_THING, groan".

</comment><comment><USER3> Ah, the classics, love THHGTTG. Served me well growing up as an angry teenager. And still serves me well today making me laugh at how ridiculous this entire life, universe and everything really is.

<comment><USER4> The series to me keeps seeming increasingly prescient as much as it is inaccurate. He hung around a lot of froods and was able to capture a little bit of the subtle underside of tech in society.

</comment></comment><comment><USER5> For instance, Hacker News's continuing descent into a babbling echo chamber convinced of it's own superiority is someone else's problem. You can safely ignore this comment.

<comment><USER6> Actually, the article describes a SEP as an actual problem in need of recognition. No matter how much HN becomes redditified, it's still not a real issue, and only affects those who care about it.

So no, it's really just your problem. :P

I hope I didn't just contribute to the problem.</comment></comment>


Ask HN: How do you deal with constant requests to be outraged? - <AUTHOR> It seems like every other day there's some major news and people want to gather support for their cause by getting more people outraged, etc. Often for very valid reasons.<p>However, one can feel numb with the constant flow of outrage-invoking news. How do you handle this? Do you engage? Ignore? <comment><USER2> I try to mostly ignore everything that I don't physically interact with in a given month. That tends to focus me on my family, church, work, friends, and hobbies. I simply cannot care about everything, no matter how much I want to, no matter how noble they are.

</comment><comment><USER3> If it doesn't personally affect you or anyone you know, it's not worth getting outraged.

Although if you feel like you care about the issue, then try and look at all sides to the story and you'll notice the outrage diminish as you reflect on all perspectives/motivations and circumstances of the people in the issue... you'll become objective and calm towards the issue, much like a supreme court judge.

</comment><comment><USER4> Various people argue that one should go on an "information diet". Focus on consuming information that is actionable or likely to be valuable in 1 year, 10 years.

Eg stop reading the news, read non fiction books from the library instead about useful topics, read a history book every 10 years to catch up on current events...

</comment><comment><USER5> If it's not adding value to your life, get rid of it. For me that includes the mainstream news. Subscribe to content that interests you via newsletter or RSS. Disengage from content that isn't enriching your life.

</comment><comment><USER6> Think of most major news networks as advertisement companies, inclusive of their "news" broadcast. The outrage is there to get people to watch the ads. Social media is just a step more, they want the outrage because it causes reactions and commentary which drives page views. They don't care what the outrage is about.

BBC news tends to have more actual reporting and less outrage but even they have stupid stuff on their home page like "Have Gender Reveal parties gone too far?"

<comment><USER7> I think OP probably means the stuff going on at StackExchange and Gitlab. It's not companies that want you to be outraged to increase profits, but rather community members that want to gather support for change in the platforms they frequent.

</comment></comment><comment><USER8> Sometimes you just acknowledge that this is not something worth your time, take a couple of deep breaths and regain focus. You can try out this exercise as well [https://howitzer.co/category/fix- stuff/](https://howitzer.co/category/fix-stuff/)

</comment><comment><USER9> Tune out the news as much as you can. I think Tim Ferris had a part in his 4 Hour Work week to address this.

Focus on what you can change in the world, focus on providing value and creating things.</comment>


Examples of Unexpected Mathematical Images - <AUTHOR> https://mathoverflow.net/questions/178139/examples-of-unexpected-mathematical-images <comment><AUTHOR> Not listed in the thread, but roots of all Littlewood polynomials: [http://math.ucr.edu/home/baez/roots/beauty.pdf](http://math.ucr.edu/home/baez/roots/beauty.pdf)</comment>


U.S. Admits Surveillance Violated Constitution At Least Once - <AUTHOR> http://www.wired.com/dangerroom/2012/07/surveillance-spirit-law/

<comment><USER2> ...and the offending program was found and modified to pass Fourth Amendment scrutiny. To me that sounds like the revised FISA is working.

Distinguishing between communications end points inside and outside the U.S. will never be easy, and will only get harder as technology becomes more advanced and adversaries learn to better exploit it to cover their tracks. You can either give up on (100% Constitutional!) cross-border intercepts, or you can have oversight to minimize "collateral" data collection on citizens.

If you think there's evidence that U.S. citizen-only private communication is being monitored and retained deliberately, spell it out, because that's huge news.

<comment><USER3> Ex-NSA worker Bill Binney claimed that intercepted domestic communications were privacy controlled and anonymized with encryption to comply with the law until a warrant was issued, but later the anonymization protection was removed.

[http://www.newyorker.com/reporting/2011/05/23/110523fa_fact_...](http://www.newyorker.com/reporting/2011/05/23/110523fa_fact_mayer?currentPage=all)

</comment></comment><comment><USER4> You will only know it is taken seriously, when someone goes to jail. No jail for anyone, means, whatever else is going on is irrelevant.</comment>


Go 2016 Survey Results - <AUTHOR> https://blog.golang.org/survey2016-results <comment><USER2> I like the fact that many people consider "reading source code" a way to get Go answers. Go code, the standard library in particular, is really readable.

<comment><USER3> This is absolutely true, the standard library is very easy to read and this makes using Go very pleasant. When you compare this with C and the libc, the contrast is striking.

<comment><USER4> C? Try comparing it with Scala.

<comment><USER5> At least complicated Scala code is very in-your-face about how complicated it is, as opposed to C.

The types also make it hard to change one small thing and make everything go wrong. Sure, the standard library source looks like a trainwreck, but it has structural strength. And it's easy to use.

</comment></comment></comment></comment><comment><USER6> _Users are overwhelmingly happy with Go: they agree that they would recommend Go to others by a ratio of 19:1, that they'd prefer to use Go for their next project (14:1), and that Go is working well for their teams (18:1)._

Hmm. That's some great results, but is that survey representative of Go users as a whole? The respondents are self-selected, right?

I can imagine such a survey is reliable for things like best/worst features, how the language is used and other things that probably aren't correlated with enthusiasm for the language. Simply asking people who already chose to do a survey whether they like the language or not seems kind of pointless: if they didn't they'd presumably not bother spending time to say they didn't.

It is however illuminating how many of Go's developers are attracted by simplicity. The top adjectives for "like most" are: simplicity, easy, concurrency, simple, fast.

So that's 3 of the top 5 things people name basically being "it is simple".

On the other hand, the top "improve the most" adjective is generics.

This appears to put Go in a somewhat awkward spot. There's clearly a large population of developers who have been left behind by static typing and its consequent complexity (generics in particular being a fertile source of confusing error messages in most languages), and Go caters to these people, hence its attraction to former dynamic language users.

But at the same time, people are saying they want more complexity in the form of generics. If Go were to add good generics would it really be any simpler than Java? I'd struggle to identify any major complexity gap between them after that, unless you consider OOP to be too complex (unlikely given the Python/JavaScript backgrounds of many Go users?).

I wonder if it's the same people giving the top answers. Are Go users split into those who are happy with its current level of complexity and others who chafe against it? If so, is it possible for them to satisfy both camps simultaneously?

<comment> grey-area This is an interesting idea, it is quite a heterogenous community, which means there are definitely different schools of thought coming from entirely different backgrounds. I'm quite happy with the slow progress/lack of changes, to me that's a feature.

</comment></comment><comment><USER7> > _When asked what changes would most improve Go, users most commonly > mentioned generics, package versioning, and dependency management._

and:

> _What changes would improve Go most? (first: Generics)_

Number one issue mentioned.

So much for all those insisting that Go users have no issues with the missing Generics and don't miss/need them in practice.

<comment><USER8> FWIW, generics were added to Java in 2004, about 9 years after initial release.

ref: [https://en.wikipedia.org/wiki/Generics_in_Java](https://en.wikipedia.org/wiki/Generics_in_Java)

<comment><USER9> And one could say it was too early. Under the hood, generics are pretty bad in Java [0]. Type information is mostly lost; it's a compiler time only feature. They're much better implemented in C#, even if they look the same on the surface, probably because it came later and they took it seriously.

So I applaud the Go architects with being conservative about it. More languages should take their time thinking about implementing features, no matter how needed they seem to be initially. You only get one chance, and then if it's a bad choice you live with the consequences.

[0] [http://www.jprl.com/Blog/archive/development/2007/Aug-31.htm...](http://www.jprl.com/Blog/archive/development/2007/Aug-31.html)

<comment><USER10> Just about every programming language expert I've seen who's talked about Java generics says Java did a better job than C#. In fact, of all language runtimes that do generics, the .NET runtime is the only one that specializes. Examples of runtimes that do not specialize or reify generics:

* JVM

* Haskell runtime

* ML family of languages

* Modula-3

* Ada

The problem with specialized generics in the runtime is that they bake the type system of the language into the runtime itself, making the runtime more difficult to work with. Type erasure, for instance, makes it much easier to implement alternative languages on the JVM such as JRuby, Clojure, Scala, or Kotlin, than on .NET.

As another example, C# in 4.0 added the concept of generic type variance, which is completely at odds with specialized generics. To implement this feature, the C# language designers had to modify the underlying runtime itself and add special bytecode instructions for the feature. The feature itself is also incompatible with specialized generics, so when you use it you silently lose specialization. In contrast, thanks to type erasure, the Scala language designers could easily add the same feature on top of the JVM as-is without needing Oracle to add special bytecode instructions.

Specialization has advantages for performance when doing number crunching with data structures and algorithms operating directly on integral or floating point data types. At the end of the day, though, if you really need performance for this very narrow field of use cases, you're probably not going to be using generic data structures and algorithms anyways. It takes an incredible amount of effort to build a data structure or algorithm that is both generic and also performant in all possible usage scenarios. It is however, much easier to build a data structure or algorithm that is specific and performant relative to your use case alone.

Case in point: when I was in college doing a NLP assignment that needed to be fast, my data structures were arrays of doubles because that was the easiest way to reason about and ensure performance.

<comment><USER11> Generics just bake a little bit more into the runtime; there's already a lot of the type system there. And it increases interop potential. I don't understand your point about Scala - they could always choose to use type erasure instead of any runtime-provided generics. F# implemented generics with erasure on the 1.x CLR, and used the runtime when on CLR 2.

And this is the first time I've heard that the JVM is easier to target for non-Java languages. .NET has had multi-language support an official design goal, the JVM is just for Java. Even simple stuff like pointers, so you can do ref/out parameters. Or unverified instructions. The CLR is simply more all- around capable.

I am pretty sure the CLR always supported variance, it was just unused up until C# 4.0. AFAIK, there haven't been any changes to the runtime bytecode since CLR 2.0, when generics were added.

The performance benefits of specialization are pretty nifty. The Mono guys ported Android to C# and got quite the performance improvement on some code: [https://blog.xamarin.com/android-in-c- sharp/](https://blog.xamarin.com/android-in-c-sharp/) \- so that's existing code that got a perf benefit "for free" due to not using type erasure.

Edit: A quick skim of the specialization proposal for Java[1] makes no mention of other languages. Just the general pain of integrating it in a compatible way.

1: [http://cr.openjdk.java.net/~briangoetz/valhalla/specializati...](http://cr.openjdk.java.net/~briangoetz/valhalla/specialization.html)

<comment><USER12> Brian Goetz sometimes refers to it on his presentations.

As for multi-language support on the CLR, compared with the old 1.x days, there seems to be less focus on it.

With C# getting most of the focus, followed by VB.NET and F# playing catchup.

Also outside MSR, most researchers focus on the JVM, in spite of its caveats, and nowadays LLVM as well.

ETHZ is the only one I am aware that also designs languages with CLR in mind. The Active Oberon successors, like Zonnon.

There are some companies selling compilers for .NET, like Cobol, Eiffel and Pascal. Not sure how well they are doing it.

Clojure also targets the CLR, but they don't seem to have a story for .NET Core.

<comment><USER11> Isn't that more a function of MS's hostility to other platforms, not technical reasons? If MS had been more open and friendly 15 years ago things might be different.

<comment><USER12> I don't see that as hostility, rather political decisions, including on Microsoft's own languages, with the usual issues between language departments.

For example, if everyone played the ball into the same direction, probably Longhorn could have been what UWP is becoming.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Just want to point out this is a terrific display of data. Easy to read, grasp and scan through. Much better than some so-called data visualizations that confuse rather than present and clarify.

<comment><USER14> Agreed, except for the survey answers. The data presented there is essentially impenetrable, and I am extremely suspicious of the methodology.

<comment><USER15> To be clear, the discussion of survey free-text answers is based on us (mainly Steve) reading all the text. The goal in the free-text presentations was to show raw data in a useful way for others to look for details.

As I noted in a comment elsewhere on this page, if you have suggestions for how to summarize free-response text in a way that lets the data speak rather than lend itself to cherry-picking, please let us know. I'm certainly open to improved analysis next time.

</comment></comment></comment><comment><USER16> Everyone is talking about Generics but the thing that I found tiring in Go is having to do the "err != nil" thing all over the place (I admit that I spent couple of days learning Go so I'm not familiar with best practices/idioms in Go about error handling). Seems like the error handling in Go is another point the survey brought out:

> Other popular responses were GUIs, debugging, and error handling.

I really like the ease of defining Exceptions and just being able to "raise" them in Python - provides an easy early exit and the caller can handle them nicely in "except" clauses.

Edit: grammer

<comment><USER16> Interesting. I mentioned something I don't like, gave an example of what I like, some Go users in the survey have also mentioned their dissatisfaction with error handling and I got downvoted? Did I break any rules/etiquettes?

<comment><USER17> I agree. Error handling in Go can be very cumbersome. I like the explicitness of it, but it can definitely be smoother.

<comment><USER18> I like Go error handling.

Instead of getting some abstract exception and stack trace over several pages, the error message is usually pretty specific. Yes, it forces to handle errors locally, but that is a good thing, because locally you know what can go wrong. Your user, who is going to be separated by several layers, won't know that and the specificity is a godsend to him.

<comment><USER16> One use case where this is a bit of an problem for me is with a user facing api. Say a web request calls a top level method/subroutine which calls more and so on. Now if there is an error in the the lower level subroutine and I wish to expose it to the user gracefully (say a json response), in Go, I need to handle it explicitly and pass it as part of my return statement (along with the actual results which may be empty/null due to the error). Doing this with each of the nested methods becomes tedious. Please correct me if I'm wrong about this understanding as my knowledge of Go is limited.

If I could raise an exception, taking example of Python, I can choose not to worry about handling it in the intermediate methods and it'll float right to the top level subroutine with error message etc and I can handle it there anyway I wish.

</comment></comment></comment></comment></comment><comment><USER19> VSCode seems to be making strong inroads. 2nd only to VIM(13%) at 9%.

<comment><USER20> The Go plugin does seem to work reasonably well although I may well switch once the JetBrains offering is ready.

</comment></comment><comment> grey-area Lots of great info here, thanks to the Go team and Steve Francia in particular for taking the time to compile all this data into something intelligible. Some interesting data about what improvements users would like:

 _What changes would most improve the Go documentation?_

Collectively examples gets 26%

 _What Go libraries do you need that aren 't available today?_

Lots of demand for UI libraries and mobile support - both very hard to get right and would really require corporate backing. Sometimes I suspect large corporations (MS/Apple/Google) churn their OS APIs/languages simply to keep devs busy learning their one platform. This would be hard to do and hard to support long term.

 _What changes would improve Go most?_

The G word comes first (not being worked on), and then package management (being worked on), also library discovery is highlighted as an issue. I'd prefer if they took a step back and prepared a Go 2.0 which removed some of the inevitable cruft (comments as directives, struct tags), and rethought some other features - mostly taking things out rather than adding things, though it would be nice also to see a solution to generics and better containers built- in.

And [https://golangnews.com](https://golangnews.com) makes an entry in news sources, even if it is near the bottom :)

It'd be nice to see the raw data too (some of the data points require a bit of tidying up (mostly the write in responses for which 1-2 word breakdowns don't really help much and split up similar responses like example/more examples/examples/code examples/tutorials) and words like 'great' are not really helpful without context. Now that they have the data presumably they could merge some of those categories or if they released it others could look at this sort of thing for them.

<comment><USER21> What's wrong with struct tags?

<comment> grey-area I think I'm the only go user who doesn't like them :) IMO they mix up separate concerns, use an ad-hoc syntax and end up a mess in complex apps, it's like a whole other language stuffed into a string and defined by random lib authors. A field might have json, xml, db tags all in one string. But there's no chance they'll be removed.

<comment><USER22> I don't like them either, so you're not alone. Nor do I like comments as compiler directives. Go needs a proper attribute syntax that works with the package system (so attributes don't collide) and can be applied to everything, including struct fields.

</comment></comment></comment></comment><comment><USER23> Stack Overflow ranks first as a Q&A resource.

Here's a chart that shows the number of new golang questions created on SO each month: [https://apps.axibase.com/chartlab/c1acecc0/5/](https://apps.axibase.com/chartlab/c1acecc0/5/)

golang is trending up, 20% increase year on year.

</comment><comment><USER24> most wanted: * generics * better package management * gui libraries * better documents

<comment><USER25> I haven't used Go a lot (couple of hobby projects), but found package management to be pretty good. The only thing I could think of is the $GOROOT structure, is this it?

<comment><USER26> What package management? AFAIK, there is no package management at all in Go, unless you use a third-party tool for doing that. The only thing you can do is fetching the latest revision of some package.

<comment><USER4> You can also "vendor", there's support in Go for it.

<comment><USER27> Which is a poor solution since it involves checking all your dependencies into source control. There's no reason why you shouldn't be able to have a file that lists all your dependencies and versions and lets you pull them down on- demand.

<comment><USER28> If you can't build and deploy your own system without a piece of code, you should not be relying on the goodwill of any third party to keep it available for you with no SLA. A good build system is a deterministic function of its input (a commit from your repo) and can run offline.

</comment></comment></comment></comment></comment></comment><comment><USER29> It extremely hard to deduce anything from most of the data, especially the open handed questions.

Obviously despite what some people kept on suggesting for years on HN, the 2 main concerns regarding the language are 1 - dependency management and 2 - lack of generics.

</comment><comment><USER30> Grep'd for "meta", "annotation" returns no results. Elsewhere in this thread someone mentioned "struct tags".

Strings and comments as band-aid meta-data is one of Go's glaring weaknesses.

</comment><comment><USER31> The stat that jumped out at me the most, among respondents to the survey, twice as many identified as LGBTQ* as identified themselves as women. Self- identified women respondants to the survey rounded to 1%.

<comment><USER6> That's not what the question asks. It asks "do you identify as part of an under-represented group" with an option for "I identify as a woman".

That's not the same as a straight gender m/f question. I can imagine that some women felt they weren't under-represented and didn't primarily "identify as a woman" even if they were one. Consider the reverse question with s/woman/man/ \- how many men would pick "I identify as a man" vs "I do not identify as part of an underrepresented group". It's a leading question. Bear in mind on that question the vast majority of respondents were just a shrug: either no response, explicitly saying they didn't want to answer, or not identifying as part of such a group.

</comment></comment><comment><USER32> I'm glad to see that 63% develop on Linux; IME there really is no substitute.

I think it's a real shame that vi, VSCode, Atom, IntelliJ & Sublime Text come in ahead of emacs — emacs & go-mode are a wonderful way to write Go, particularly if one's using projectile or spacemacs. It's really worth a shot!

</comment><comment><USER33> One major issue is the lack of good easy to understand guides, shameless self promotion, I faced this issue so wrote an easy to understand guide about webdev, [https://github.com/thewhitetulip/web-dev-golang-anti- textboo...](https://github.com/thewhitetulip/web-dev-golang-anti-textbook)

</comment><comment><USER34> I'm surprised how high/well JS and Python rank as secondary/preferred languages. I'm a fan of modern JS myself, but surprised to see this carry over into another environment considering how many outside the current JS culture tend to reject the changes as complexity.

<comment><USER35> JS as a secondary language to Go is absolutely not surprising, given Go's focus on web applications.

<comment><USER34> I guess so... And as it seems at least to me, that _most_ development these days has some sort of browser interface (not all software used, or even most, just that there are more developers working on something with a web front end) it shouldn't surprise me that much.

</comment></comment></comment><comment><USER36> The GUI issue could be fixed once Go gets WASM support(along with DOM access). Developing entirely new GUI libs is quite laborious considering the expectations.

</comment><comment><USER37> This is not true. No one says generics aren't required, and it's more about finding the implementation that makes sense for go. For at least a year several people on the Go team have acknowledged the demand for generics. Ian Lance-Taylor even added a doc to the go repo which summarised the entire discussion on the various possible implementations and their pros and cons. For instance, most of what's required could come from a nice implementation of macros.

As usual you, coldtea, have posted an uninformed, polarising comment with the intent to provoke. Not surprised.

<comment><USER7> > _This is not true. No one says generics aren 't required_

Actually many have maintained exactly that, here on HN. Do you want me to post excerpts of such comments?

Heck, from this very thread: "I admit that I missed generics for the first several weeks but then just moved forward. Nowadays I don't really think I actually need them anymore."

> _For at least a year several people on the Go team have acknowledged the > demand for generics. Ian Lance-Taylor even added a doc to the go repo which > summarised the entire discussion on the various possible implementations and > their pros and cons._

I've read the summary, and most of the related blog posts. It has been close to a decade of Golang now. At which point can no practical progress in an area finally be considered as a neglect of indifference? After 7-10 more years?

Besides, regarding the acknowledgement I've posted sometime ago that I consider the standard "Generics are difficult, we just want to make sure we create them perfect before we attempt at adding them" position of the team as a discussion-stopper more than anything else. Perhaps you have some reason why I should be disallowed to be of and express that opinion? Because you don't seem satisfied to point that you consider it wrong.

> _As usual you, coldtea, have posted an uninformed, polarising comment with > the intent to provoke. Not surprised._

My intent is to express my position on the issue. Which is more or less the same, all these years, and I'm not sure why you'd expect that it should change, or that people who disagree with you should just shut up or something.

Plus, I don't care for your ad hominem.

<comment><USER38> >It has been close to a decade of Golang now.

It's been ~7 years, so there's still two more years before it reaches the amount of time it took Java to get generics.

I'm confident generics will come to Go (I sure hope so), but even if it doesn't, Go's impressive uptake shows that it's not something it desperately needs in order to be a successful language.

<comment><USER12> How much uptake would Go had if it was done at company XYZ?

Or Docker guys hadn't used it?

<comment><USER38> Impossible to answer, how much would uptake would C# have had without Microsoft behind it pushing it HARD (MUCH more than Google has promoted Go), how much would Swift have had without being pushed hard by Apple as the new native language to replace ObjectiveC etc ?

<comment><USER12> That is exactly my point, it would have been probably a footnote in programming languages compendium.

Case in point, how interested were people in using Limbo?

<comment><USER38> >That is exactly my point

The point being that unless you have a huge rich company behind you, you will remain a footnote ?

<comment><USER12> Without that or a kind of killer application, e.g. Rails, yes.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER39> Are the Go devs finally starting to wake up to the realisation that maybe a better generics story, or less verbose and primitive error handling, is something people do, actually, want?

I get the impression the Go devs have been stoking the flames a bit by refusing to countenance the extension of the language even into areas where it was clearly lacking.

<comment><USER40> "Finally". The Go devs have been talking about generics and the demand for generics for years. It's nobody's contention that people don't want them.

<comment><USER7> Every second comment in discussions on the matter on HN ever is about how "people don't want them" and how those asking for them haven't really used Go to see how it doesn't need them in practice, and other such inanities.

<comment><USER40> It can obviously be simultaneously true that people don't find themselves needing generics in practice, but still want them in the language. Also, there's nothing "inane" about that.

<comment><USER41> Why would you want generics if you don't need them in practice?

<comment><USER42> Come on. You don't know the difference between needs and wants?

<comment><USER41> Discussing what you "need" isn't remotely interesting in the context of programming languages. You don't _need_ anything more than assembly language to get anything done.

<comment><USER42> Redefining need as nice to have isn't interesting either. It should be possible for there to exist a set of features which are convenient if present, but the absence of which does not substantially impede the development of solutions.

<comment><USER43> You described a feature that good engineering practice says should be eliminated. Features have costs (the most significant of which IMO is learning an unfamiliar feature when you read other people's code), thus only features that allow better (less error prone, more maintainable, faster) implementation of applications should be included in any language.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Gears of War:General Raam is an example of outcome of not culturally aware team - <AUTHOR> https://twitter.com/pratikone/status/1274104659834101761 <comment><USER2> I'm sorry this turned out to be the case, but 5 pages of google search for "raam" don't mention the deity.

I also did not recognize this as the name of a religiously significant entity.

I don't belive this was intended on their part.

<comment><AUTHOR> I am aware of that. If you read in followup tweets, I have mentioned that. This decision could have been prevented back in 2005-06 had there been more cultural awareness. For the name of Raam, it is a Sanskrit word which can be spelt in english as Ram/Raam/Rama/Raama - Ram is the most popular English word. However, the pronunciation remains the same

<comment><USER2> My apologies again, I only read the initial tweet.

I recognize that I could be certainly more culturally aware. I'm just pointing out that as someone who works with many native Indians in America here on work visas and student visas, I was not aware of this phonetic reference and that is totally on me.

I appreciate the sensitivity but I personally give the Gears devs a pass given that I am not sure it would have been reasonable to expect a phonetic search then page through potentially dozens of "Americanized" results to see their blunder.

I think it is also unfair (in general) to accuse Epic Games of being not culturally/socially aware given their stewardship of follow up titles in the series.

</comment></comment></comment><comment><USER3> As an Indian myself ... this is one of those instances where it is quite a stretch. Looking for controversy imo.

<comment><AUTHOR> hi, I am the OP. This is not for controversy. If you read the whole thread, I have identified that this happened in 2005-06 and team might not have had awareness for it. It is one of the cases where nothing much can be done as it is part of established lore but atleast a spotlight can be put on it. As for being Indian and responding to it, I and you can feel differently on it and I felt differently and expressed myself.

<comment><USER3> I meant that the whole thing of relating the name "Raam" to the Hindu god is a stretch.

GM named a pickup truck the Ram ([https://en.wikipedia.org/wiki/Ram_pickup](https://en.wikipedia.org/wiki/Ram_pickup)).

There is a range of phone/tablet mounts named Ram ([https://www.rammount.com/](https://www.rammount.com/))

There is a DC comics villain named Lady Shiva. [https://en.wikipedia.org/wiki/Lady_Shiva](https://en.wikipedia.org/wiki/Lady_Shiva)

Then there is Sheeva from Mortal Kombat. Skimpily dressed and admittedly also pretty ugly but that is subjective. Her attire would possibly hurt the sentiments of some devout Hindu with a conservative mindsets. [https://mortalkombat.fandom.com/wiki/Sheeva/Gallery](https://mortalkombat.fandom.com/wiki/Sheeva/Gallery)

Should they all be renamed to not offend religious sentiments as well?

It is one thing if the character in question had some resemblance to the religious figure and had subtle intentional similarities either in back-story or appearance or abilities but made to look grotesque. Otherwise this is just looking for a controversy for its own sake, IMHO.

Good luck with your crusade!

<comment><AUTHOR> Isn't that obvious ? Would you be OK if Bollywood makes a movie with cannibalistic villain with names like Moses, Zeus, Jesus or even Lincoln ? No, that won't be OK. Just because something already happened long ago doesn't make it OK. Don't normalise it</comment></comment></comment></comment>


Facebook launches ThreatExchange, a platform to share security threats - <AUTHOR> http://venturebeat.com/2015/02/11/facebook-launches-threatexchange-an-api-based-platform-that-lets-companies-share-security-threat-info/ <comment><USER2> There seems to be some confusion in the comments here. This platform isn't for sharing or reporting vulnerabilities. It is for sharing data or indicators of compromise related to attacks. This data could be URLs or IPs, etc. The sharing of this type of data is already a common practice in vetted communities. Here are some links with more information.

[http://threatexchange.fb.com/#slide=1](http://threatexchange.fb.com/#slide=1)

[https://www.facebook.com/notes/protect-the- graph/understandi...](https://www.facebook.com/notes/protect-the- graph/understanding-online-threats-with-threatdata/1438165199756960)

</comment><comment><USER3> I was just thinking about a similar type of exchange/broker for individuals to contact companies who may not be happy with responsible disclosure (ie, you're using their service and it is your only option, but if you disclose something they cut off your account).

There are so many stories on HN of people doing their version of 'responsible disclosure', there's no hard/fast rules and can be intimidating if you don't know how the other party will react.

</comment><comment><USER4> What if I have a product with a vulnerability, but I'm not on their platform? How is this better than the researcher emailing the firm directly with the steps to repro?

</comment><comment><USER5> > Ever since it became trendy to be security conscious, companies have come > out of the woodwork peddling snake oil. These are the same companies that > try to market things like "crowdsourced security" as a way to get security > professionals for a bargain.

Taken form "The Need for Open Research in Software Security"

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


Ask HN: Is HN Indifferent to Covid19? - <AUTHOR> It's bizarre that HN frontpage contains trivial posts about some haskell function or some vuln in tesla cars when the world economy is grinding to an abrupt stop with consequences years ahead. Is HN removing covid posts or are people here really blind to what's about to hit them? Tech should probably be singularly focused on mitigation solutions at the moment. <comment><USER2> I answered this question in the discussion at [https://news.ycombinator.com/item?id=22643381](https://news.ycombinator.com/item?id=22643381).

<comment><AUTHOR> that is ... sad? I was hoping that the audience here would do a more critical reading of news , so the info at the frontpage would at least be useful. Plus we need to motivate hackers to create solutiosn for this crisis. I think HN is underestimating the gravity of the crisis , and it's obvious by the absolute triviality of the posts right now (how to create a pencil effect in SVG? Seriously?)

<comment><USER2> There have been major threads in the last few days that could loosely be described as hackers working on the problem. Here are three examples that come to mind:

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

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

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

In at least two of the three, moderators intervened to keep the thread up. If you (or anyone) know of other submissions that are intellectually interesting and have this quality of people working on the problem, let us know at firstname.lastname@example.com. We might be able to do something.

</comment></comment></comment><comment><USER3> Why is it so important to you that we get our COVID-19 news _here_? There is no shortage of other outlets / sites covering it in excruciating detail. For example, [https://covid19.reddit.com](https://covid19.reddit.com)

Do we really need the HN frontpage to look like a mirror of /r/covid19?

Not to mention that, for people who use Facebook / Twitter / etc., our feeds are pretty much jammed full of COVID-19 talk all day long.

I'd kinda like to come here and find a nice story about implementing LISP on Plan-9 running on MIPS using an XFS filesystem, or something else to get my mind off of the virus stuff. It's important, but I don't find that it's so important to warrant thinking about it to the exclusion of everything else.

</comment><comment><USER4> No, they are simply aggressively censoring stories that trend. It appears to be a manual process.

The front page would be filled with little else if they did not.

The censorship appears to extend even to adjacent news, like CA municipalities adjusting liquor regulations, et c. The story about a letter from the CA governor to the president was censored, as well.

Set up a script to diff the front page every 5 mins to see what I mean.

Their site, their rules. It still sucks, though. :(

Examples:

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

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

<comment><USER2> I think your examples are clarifying. Adjustments to liquor regulations and a governor writing a president aren't significant enough stories to devote precious frontpage slots to. If that's where we place the bar, certainly the front page will be filled with little else.

By contrast, the story where the CA governor issued a stay-at-home order got plenty of discussion: [https://news.ycombinator.com/item?id=22633798](https://news.ycombinator.com/item?id=22633798).

There's room to disagree on which particular stories ought to clear the bar, but I hope the principles are at least clear in my explanation at [https://news.ycombinator.com/item?id=22644521](https://news.ycombinator.com/item?id=22644521).

<comment><USER4> Absolutely, and thanks for the clarification.

Perhaps you might want to publish a log of the things you aggressively downmod (contrary to the votes they receive) for being offtopic in the interest of curiosity/transparency? Maybe something like /leaders, a URL that isn't linked to from the frontpage? It would clear up confusion like this Ask HN.

I think there's value in links that get a lot of support, and it seems a shame to throw them away totally, even if they don't belong on the frontpage. I'd certainly peruse the stuff on such a list. Unlike /newest, it'd be mostly high-quality stuff, as otherwise it wouldn't have trended high/needed downmodding in the first place.

<comment><USER2> The reason we don't publish a full moderation log is that it would likely spawn more meta-discussion and litigation about how HN is moderated. We don't have the resources for that (or the stomach).

Most users don't care that much—I know that because if they did, we'd never hear the end of it—and those who do tend to be the litigious type who raise two new objections for every answer you give them. To play that game is to agree to a DoS attack on yourself. It sucks up limited resources that should be going into making the site better for everyone: [https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...](https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=by%3Adang%20resources&sort=byDate&type=comment).

That said, we're 100% in favor of satisfying users' curiosity about how HN is operated and moderated. We just do it ad hoc, by answering specific questions, rather than building meta facilities. From my perspective the issue isn't secrecy, it's efficiency. If meta facilities would actually be more efficient, that would be a great reason to build them. I would love it if software could alleviate more of our load. Unfortunately, I fear that they would have the opposite effect. The founder of a well-known forum that is older than HN once told me that introducing a meta section was the worst decision they had made and that we would be crazy to do that.

</comment></comment></comment></comment><comment><USER5> I've seen a lot of related posts.

If you go to the "new" items, a substantial fraction of the posts are about the virus.

With that many posts, it may be that few get enough votes to hit the front page.

<comment><USER4> No; many hit the top ten of the front page quickly, within minutes. It appears that they are being manually censored periodically, or perhaps by a keyword cronjob that runs at a greater than 5 minute interval.

Source: I load HN way too much.

<comment><USER5> Click on the support link at the bottom of the page.

</comment></comment></comment><comment><USER6> The latter (ie I don't think the moderators are removing them, although many are being flagged). . There's also an element of glibertarianism that colors which stories get attention.

</comment><comment><USER7> Algorithms are used to curtail posts about the virus? Conspiracy. /Me slinks into the dark</comment>


Siberian people use trucks, APC tanks to swim through the mud to their work - <AUTHOR> https://www.youtube.com/watch?v=2sLq_riLMN8

<comment><AUTHOR> Have a dream to buy a firetrack and go to the grocery store? Meanwhile in Siberia tough guys use trucks, APCs and even tanks to swim through the mud to their work!

It is a real video from a place there Russia gets its oil.</comment>


Kindle 3 first impressions - <AUTHOR> http://www.marco.org/1131994352 <comment><USER2> I'm very excited to get my Kindle. Has anyone gotten accepted to the Kindle Developer Program? I'm curious to hear your experiences.</comment>


Our fancy Internet infrastructure operates on a wire and a prayer - <AUTHOR> http://blogs.zdnet.com/BTL/?p=16136 <comment><USER2> Seems to me that this article abuses the word "destroy". Nobody _destroyed_ the Internet with a hacksaw. They took a portion of it temporarily offline.

And "prayer" has nothing to do with it. The telcos know how this works. They have procedures for dealing with it. For "a prayer", substitute the words "teams of repair techs standing by at all hours", and "a detailed cost-benefit analysis of various breakdown scenarios".

And it's a boring exercise to make a list of possible countermeasures without also including that cost-benefit analysis. Yeah, in a fantasy world where equipment and people were free, we could install a proximity detector inside every manhole and create a national organization of rapid-response security people to monitor those sensors. That might capture some saboteurs. Or at least make for great security theater. But at what cost? Might it not be easier to just fix these incidents as they occur?

<comment><USER3> The problem with that cost-benefit analysis is that a lot of the cost is _not_ borne by the telcos. The entire UC Santa Cruz campus (as well as most of the city of Santa Cruz) had no internet or telephone connectivity for a day. What do you think the productivity loss from that is? And how much will AT&T pony up? Answer: zero.

The issue is not with detecting manhole intrusions, even though that's what everyone's talking about. The real issue is who the ---- thought routing all internet, land line, cell phone and 911 traffic for all of Santa Cruz through one fiber was a good idea.

When someone's site goes down due to a hard drive crash and it turns out they had no backup, the _kindest_ response would be something like "that sucks dude, but how the ---- could you not have a backup?" I don't see why the requirement should be anything less for a major telco.

And don't even get me started on the reliability of Santa Cruz power...

<comment><USER2> I note for the record that your comment is _much_ better than the original article.

The various private monopolies that control our telco infrastructure are a big problem. We pay a lot of money for unreliable and substandard service.

</comment></comment></comment><comment><USER4> Interesting...this is the first I'm hearing of a Bay Area network outage. Then again, I think that's kind of the point! I was always taught that packet switching was designed such that, if Chicago got nuked, network traffic could still get from New York to L.A.

I don't recall anything about the packet switched network preventing Chicago from being wiped off the map. In other words, electrical grid: vulnerable! A branch drops on a power line in Ohio and the entire East Coast goes black...not good. The internet: not so vulnerable! Fiber optic cable gets cut in Silicon Valley and the CEO of a tech reporting site complains but I don't even notice from my apartment in NYC.</comment>