Ask HN: Has Google/Bing won the search engine war? - <AUTHOR>

Recently I've been working on a project that required me to search a limited set of domains. 1)I tried Google Custom Search but they restrict usage to 10000 API calls per day at $50/day. I cannot go higher than this even if I wanted to pay. 2)So I decided to write a crawler that will go to these domains and index their pages so I can put them in ElasticSearch and create a basic search engine. 3)When I created the crawler I came across domains that do not allow crawling their content e.g. Yelp, Craigslist, etc. have locked down their sites for crawling. However I see results from these on Google. 4)It seems the only option is to use their APIs (if they provide one) to get data from these domains. This can be a nightmare to maintain as the number of domains increases. 5)I want to respect the domains' policies and not use shady tactics to crawl their pages.
So essentially these domains allow google and bing to crawl their sites because they are big and established and not having their pages show up on Google or Bing would drastically affect their web traffic but smaller startups would be left out in the cold.
So my question is: What is the possibility of a new search engine emerging if the web is locked down for crawlers? <comment><USER2> Have you tried blekko.com ? The slashtags feature specifically does what you are describing here.

Of course, using this method will not get you data from sites that explicitly ban crawling (like yelp.com).

Disclaimer: I used to work at blekko and I implemented the slashtags feature.

<comment><USER3> blekko's "ScoutJet" crawler is allowed to crawl yelp. We sent them an email before we launched, and they were nice enough to allow it.

<comment><AUTHOR> I see ScoutJet in Yelp's Robots.txt file. I guess I'll have to ask them nicely to allow my crawler too. But Yelp is one of many sites that don't allow crawlers so I'll have to ask each one nicely to allow mine. I had even set up a temp google site explaining what my crawler uses the data for (essentially showing results with correct attribution and driving traffic back to original site).

</comment></comment></comment><comment><USER4> This is slightly off-topic, but still very much related.

There will never be an all encompassing search engine to rival Google. I would argue, one could not even rival Bing.

The future of search, as with most internet companies moving forward, is all about mastering a niche. You may not be able to beat Google as an overall search engine, but if you dedicate your time and money towards one specific niche, say sports, then you have a fighting chance to beat them at that.

<comment><AUTHOR> The era in which Google and Bing became what they are is one in which the web was more open. With walled gardens cropping up everywhere it is becoming tougher to create a search engine. Another point against creating an all encompassing search engine is the sheer size of the web today which makes creating a search engine for the entire web a daunting task. Google and Bing started when the web was much smaller and hence they were able to grow with the web.

IMHO there are multiple ways to create a search engine: 1)Mastering search within a vertical e.g. sports, music, etc. and then expanding to other verticals. 2)Go after a limited popular area of the web and provide a more personalized search experience(this limits discoverability of less popular sites but there are ways to overcome this) 3)Enhance the results of existing search engines by providing context, personalization, privacy features,etc. (this relies heavily on existing engines which makes it subject to their TOS) 4)Come up with an algorithm that blows Google's or Bing's out of the water and VCs line up to give you money so you can build the infrastructure to make it a reality (I wish I had this too... sadly I don't)

</comment></comment><comment><USER5> If the service is exposed publicly to the web, It can be crawled regardless of whatever guards are in place by the service provider. Browser emulation will be a good start.

<comment><AUTHOR> I know we can crawl them. There are no technical issues with crawling them. The issue is I want to respect their TOS. There are multiple ways to circumvent their anti-crawling code but that means any new search engine will have its roots in "shady" tactics of crawling. IMHO crawling should be allowed if the purpose of the crawler is to show results that drive traffic back to the sites and not mashup the content and deliver it as "original content" on the site that crawled these domains. However e.g. Yelp's TOS do not allow for these types of crawlers that essentially drive traffic back to Yelp.

<comment><USER6> > The issue is I want to respect their TOS.

Permitting _certain_ search engines to crawl but not others is anticompetitive and violates the principle of an open web.

> any new search engine will have its roots in "shady" tactics of crawling.

Who cares? If you are successful enough, then you'll negotiate with them later. Don't worry about it now.

Crawl away!

<comment><AUTHOR> [http://yelp.com/robots.txt](http://yelp.com/robots.txt)

It seems you can contact Yelp and tell them how you plan to use their data and maybe they'll let you crawl their site.

I really want to explore any and all alternative options before I decide to crawl away :)

<comment><USER6> Are you _hacker_ , or aren't you? Dumb rules exist to be broken.

<comment><AUTHOR> Agreed but no harm in accessing the vast knowledge of the HN community to exhaust alternatives before tightening my hacker cap and plunging in head first.

</comment></comment></comment></comment></comment></comment><comment><USER7> It's all about innovating and offering something that Google doesn't offer, such as privacy or smart widgets. See: DuckDuckGo.com

You're not going to crawl / index better than Google.

Maybe you could combine the DMOZ directory and Google results somehow.

Rather than replacing Google, try to supplement their services or just somehow provide more value to users.

<comment><AUTHOR> you are right. I don't want to make a better search engine than Google's. I do want to provide more personalized results than Google's. To do that I need to give my users a basic result set and then take input from their behavior to provide a more personalized experience. I do want to be able to search over a limited set of domains without hitting a 10000 req/day limit.

I typed "sushi" on duckduckgo.com and saw a result from Yelp. If duckduckgo.com used Yelp's API to get that result then you can imagine the complexity of maintaining API connections to hundreds of services like Yelp that do not allow crawling. However if duckduckgo.com crawled/scraped Yelp to get that result then that's against Yelp's TOS which would cause Yelp to send a cease and desist order to duckduckgo.com.

IMHO any crawler that drives traffic back to the original site (like Google, Bing, duckduckgo, etc) should be allowed to crawl the site but Yelp's TOS prevents that.

<comment><USER8> DDG uses Bing's search API. That's why you see Yelp on DDG.

I used to work at Yelp, and I can tell you that if there were no restrictions on who crawled the site, we'd have been regularly DOSed by robots. I don't (and didn't) like the precedent, but I understand some of the motivation.

<comment><AUTHOR> I understand the motivation too. My request is that there should me some option for crawlers to apply to be whitelisted. I know Yelp asks you to contact them if you want to crawl them and they'll decide on a per case basis. It would be nice if there were standards that sites could implement to whitelist crawlers, create crawl schedules for whitelisted crawlers, something on the lines of robots.txt but with attributes that told a specific crawler when and how frequently they can crawl.

<comment><AUTHOR> So a "legit" crawler has no recourse but to resort to implementing technology that'll circumvent anti-crawler code? Can't say I didn't try to go legit :)

<comment><USER8> Well, no: you ask, and if they say no, you don't get to crawl. The rules don't change because you think they're unjust.

If they catch you crawling, they'll send you a cease and desist letter, so do it at your own risk.

<comment><AUTHOR> Agreed. I would rather not go down a route of building my product and then have a bunch of cease and desist orders taking away a lot of my search results. Asking nicely is the next step for me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> if the cap on google custom search is the only roadblock, then why not use bing's:

[http://datamarket.azure.com/dataset/8818F55E-2FE5-4CE3-A617-...](http://datamarket.azure.com/dataset/8818F55E-2FE5-4CE3-A617-0B8BA8419F65)

<comment><AUTHOR> The data returned by Bing is limited. e.g. Bing does not return an image with it's results while Google does. I want to show 1 image from the page along with Title, Description, preview text. Bing has separate searches for web and image however the results are not from the same domains so I can't correlate results and associate an image to a web result. Secondly Bing does not allow search across a limited set of domains. Yahoo BOSS API allows search across limited set of domains however it's done by passing a comma separated list in the URL. This means I can't put 1000 domains in the URL. Moreover it's search results are in a similar format as Bing's.

Google Custom Search is the best option in terms of how it allows you to specify the domains you want to search in and save that as a custom search engine and then use the custom search engine's ID in the API request. Furthermore Google Custom Search's result JSON data is more comprehensive than either Bing or Yahoo BOSS.

<comment><USER9> fair enough. have you checked out google enterprise search then?

[https://www.google.com/enterprise/search/products/gss.html#p...](https://www.google.com/enterprise/search/products/gss.html#pricing_content)

<comment><AUTHOR> Enterprise Search is for searching within your own site (or bunch of domains you own). I actually use Google Search Appliance on my day job so I have a good idea of what it does and it's not what I need.</comment></comment></comment></comment>


Bootstrap 5 alpha - <AUTHOR> https://blog.getbootstrap.com/2020/06/16/bootstrap-5-alpha/ <comment><USER3> It really can't be said enough: bootstrap is phenomenal and the creators, maintainers, and contributors deserve immense praise. They've collectively saved our industry millions of hours of frustration and helped us achieve good-looking, accessible, and responsive websites.

<comment><USER4> Thank you! <3

</comment></comment><comment><USER5> Just to express Big Thank You to Bootstrap team and contributors for everything over years of hard work.

Productivity, stability, consistency and joy to work with!

Thank you

<comment><USER6> Accessibility can't be stressed enough. I have worked with many big companies that want a small project/initiative for their users.

They always want these things, at minimum:

* Data security/compliance (GDPR, CCPA)

* Accessibility (WCAG 2.1)

As much as my team would love to just make every app in React or whatever. I always just say:

No. They want a CMS. Just make it with Django and Bootstrap. Then we'll be done with it in a couple weeks and you can all go back to your own stuff..

Django + Bootstrap gets us an incredible amount of accessibility just right now of the box. Invaluable for small development shops!

<comment><USER7> Do you use the Django apps for Bootstrap or include it on your own? How do you do the Django form <-> Bootstrap integration?

<comment><USER8> I'm not who you asked, but I've done it previously just calling the Bootstrap CDN within Django, and it was super simple. This was years ago, but I have this tutorial bookmarked from back then: [https://tutorial.djangogirls.org/en/css/](https://tutorial.djangogirls.org/en/css/)

<comment><USER7> Yep, manually calling the CDN is the simplest way, but I remembered that sometimes a lot of adjustments needed to be made to the forms and every form would need to be manually coded, or use one of the Django app to automate that.

</comment></comment></comment></comment></comment><comment><USER9> So happy jQuery is gone! I'm also glad they're moving towards including more utility classes (this started in v4) but I've spent the last year with TailwindCSS and man is it nice. I just bought TailwindUI as well for the component aspect. I think it's going to take some convincing to move back to Bootstrap.

I'll definitely give it a shot on a small project though.

<comment><USER10> When I first heard that jQuery is gone, it made me hope that Bootstrap could work directly with Vue without needing to use BootstrapVue.

But then I realized that it's probably still doing direct DOM manipulation, which is what makes it incompatible with Vue I think?

<comment><USER11> Direct DOM manipulations are not necessarily incompatible with Vue or React.

I'm not sure in this specific case, but I'm saying this in general because there seems to be a common misconception. People jump through the craziest, smallest, highest, flaming-ist hoops to get everything to render through Vue/React. Using virtual scrollers that aren't fit for purpose. Trying to get d3/plotly running on the VDOM. Etc etc.

You can always just pop a DOM ref out and let something else take control of it; easy peasy.

<comment><USER12> While it's possible to use direct DOM manipulation via refs, IMO this defeats the purpose of using a reactive lib like Vue or React. If you are using a lib like jQuery/D3 with Vue/React, you are basically just using Vue/React to render the initial state of the DOM.

<comment><USER11> If your entire site's React/Vue implementation is solely serving up DOM elements to other libraries perhaps.

Frequently it's the case though where like 99.99%(hyperbole) of the site is handled by React/Vue and you just need a few specific components to be controlled by an external lib. Heck, anything wrapping a canvas based lib is pretty much doing this.. Tons of component libs do this. It's very "web component" like to let something control a slice of the DOM anyway.

<comment><USER12> I agree that sometimes its okay to give another lib control of the DOM (D3 probably falls in this category). However in the context of the parent comment where haberman is wondering if Bootstrap could work directly with Vue (which it could) I still hold that this is missing the point. In this case Vue would be nothing but a glorified templating engine. I would rather only use the boostrap styles while writing my own logic with Vue's reactivity model.

</comment></comment></comment></comment></comment></comment><comment><USER13> Bootstrap no longer depends on jQuery and we've dropped support for Internet Explorer.

<comment><USER14> I wonder if I can get more web developers where I work back in the bootstrap camp now. Use of jQuery was their main complaint and reason for abandoning.

On a related note, I feel like I'm officially becoming an old fogy because I learned web development with jQuery but never did enough to experience the pains it brings that newer frameworks do away with, and as such I still feel drawn to using jQuery, especially when I want to throw together a smaller websites.

<comment><USER15> I did my last small project with vanilla js and the ugliness of the native APIs reminded my how lovely jQuery is.

Do the maths - if the file size isn't a problem then go for it. Life's too short to be the victim of fashion.

<comment><USER16> HackerNews is back on this debate I see. Look, I still use jQuery, mostly because I comfortable with it. If I am doing a small side project or an MVP that doesn't need heavy JavaScript then why would I configure all that JavaScript tooling when I can just use something I am comfortable with? I hear, but jQuery is heavy. I wonder if any tests have been done to see how much that ACTUALLY matters. Is the difference between react and jquery file size that much? And does it actually matter? I don't think most people who drop the "its bigger" argument know the size differences, let a lone the impact. It's just a nice trope nowadays. But please link to something to educate me.

With that said, I do use the modern vanilla js api from time to time. It's gotten better. There are still some things that aren't great, but it's fine. I use it a lot when working in puppeteer actually.

But back to jQUery. If I need to add some interactivity to a site and I know some jQuery plugins. I just use that. I did it for an entire MVP just recently. I know if it takes off all that frontend work I did will be replaced. Great, jQuery (but mostly just plain old school web dev) got me there without the need for an over-engineered tooling ecosystem. I've watched people struggle with slick new shit on MVPs before. I'm already iterating on my product and testing new hypothesis.

If you are more comfortable with the newer stuff then you should use that. If you are more comfortable with jQuery you should use that. If the product you are developing specifically needs or doesn't need one, then go with what the product needs.

Edit: Also this about BootStrap. I love it, also makes my life easy for MVPs and backends. Keep going strong bootstrap!

<comment><USER17> Amen!! It reminds me of the people who used to talk down on devs who use Java, C#, Python, and basically any language that isn't C++ "because it's more efficient" and all the others are "terrible and bloated."

</comment></comment></comment></comment></comment><comment><USER18> > we've dropped support for Internet Explorer.

This is probably more of a mental thing for me than anything, but it's hard to separate myself as an old-school developer from the idea of supporting IE because of it's historical market share. As much of a PITA it was for so long. I suppose, though, I'm happy to see it go.

<comment><USER19> A huge part of the knowledge I had to acquire in the early years of my development career is now useless or even harmful... Anyone remember _clear: left;_ ? :D

<comment><USER20> Haha. Nothing like `zoom:1`.

<comment><USER21> What about fixed size white gifs in the tabel cells??? :)))

</comment></comment></comment></comment><comment><USER22> So this will replace Bootstrap 4, which was released in early 2018 and will reach end-of-life before the end of this year. [0]

Could someone explain the target audience for a framework with this rate of churn?

Are people really creating websites that are expected to live for less than three years? Or are people working on longer-term products and expecting to do a major rewrite every few years?

[0] [https://github.com/twbs/release](https://github.com/twbs/release)

<comment><USER23> > Are people really creating websites that are expected to live for less than > three years? Or are people working on longer-term products and expecting to > do a major rewrite every few years?

"Yes". I imagine it's a bit of both. Would shops doing client work worry about the long term maintenance about the work they are doing? Using Bootstrap, knowing it will be end of life in 1-2 years is probably in their favour. They get to use a shiny new framework to impress the client and can sign a rewrite/tech debt contract in 4-6 years!

My personal experience with Bootstrap is that the upgrade story is fairly reasonable and we also have software on Bootstrap 2 still running just fine. It was the style of the time and the app shows it, but there's been no need to rewrite that portion.

<comment><USER24> > My personal experience with Bootstrap is that the upgrade story is fairly > reasonable and we also have software on Bootstrap 2 still running just fine. > It was the style of the time and the app shows it, but there's been no need > to rewrite that portion.

Same here. Our app has been on 2.3.2 for the longest time. Just not a high priority to update it at the moment, and not to mention it's just a giant effort.

<comment><USER25> Other than not getting newer features, are there any reasons you'd _need_ to upgrade? Are there security concerns? I guess maybe some XSS with some of the JQuery stuff but that should be easily mitigated.

Seems like a CSS framework is the least likely to need constant patching.

</comment></comment></comment></comment><comment><USER26> I'd love to see a built-in dark mode! I develop a SaaS-type control panel and many of my users spend hours a day interacting with it. Requests for a dark mode have been increasing over the last year, but restyling every built-in Bootstrap component feels clumsy.

<comment><USER27> Do you use CSS or a preprocessor like SCSS? In the later it is mostly a matter of changing a few variables.

<comment><USER26> You can create a dark mode by changing a few variables, and all of the Bootstrap components will still look right? Can you show me how?

<comment><USER28> Yes.

[https://bootswatch.com/darkly/](https://bootswatch.com/darkly/)

It's just a matter of setting some Sass variables.

[https://getbootstrap.com/docs/4.1/getting- started/theming/](https://getbootstrap.com/docs/4.1/getting-started/theming/)

</comment></comment></comment></comment><comment><USER29> I've recently been working on a greenfield project with Bootstrap and I've been really pleased with the development velocity by the core team. They're beginning to implement a icon library too, which will complement nicely with the built-in components they already have. They're quite responsive to issues as well, giving me confidence I need to build on top of this framework for the long haul.

</comment><comment><USER30> The argument against Bootstrap was the jQuery dependency, but that's now gone.

So what _is_ the difference between all these front-end frameworks if they are all dropping down to base HTML + CSS?

<comment><USER31> Bootstrap is more than the layout. Its good having good looking buttons by default and cards and toasts and so on with less mucking around.

I find if I dont use a framework like this then I invariably end up creating my own with all these features and wishing I had used bootstrap from the start.

Its not for everyone but for myself (very small teams or just myself and sometimes one other person), its invaluable for getting things done.

<comment><USER30> That's what most of these frameworks also do. (e.g. Bulma, which specifically bills itself as a no-JS framework: [https://bulma.io/](https://bulma.io/) )

<comment><USER32> Bulma is great but hasn't had significant updates in years it seems -- I would love to get some updates (I use it in multiple side projects)

<comment><USER33> Isn't that a good thing? _runs away_

</comment></comment></comment></comment></comment><comment><USER34> ... CTRL+F, 'compat', no results. Oh crap.

I run my blog on Bootstrap 4, and I don't have much skills for frotend/scss stuff. So I use bootstrap 4 out of the box with few customizations. I never understand the backwards compatibility model of Bootstrap. It broke significantly when I moved from some late-stage BS4 alpha to the stable version. I can probably assume it'll significantly break again? Maybe that's the beauty of BS, you just choose a version and stay there until it's impossible anymore?

<comment><USER4> With how the web has evolved over the years, we've been caught on the side of being too far behind and being too far ahead. We want to move faster and find the right balance. v4 was a bit of a nightmare scenario, and upgrading from v3 was nuts. v4 to v5 _should_ be much simpler by comparison. Still some breaking changes, but nothing like before.

And yes! Definitely something that you can theoretically run forever without issue. Browsers basically have to keep supporting the historical properties, quirks, etc, so once you've built it, you're largely good to go :).

<comment><USER34> Thanks! Having an answer from the project owner is super valuable.

</comment></comment></comment><comment><USER35> You can donate to Bootstrap via [https://opencollective.com/bootstrap](https://opencollective.com/bootstrap)

<comment><USER36> In case anyone from bootstrap is reading this: The opencollective icon in the top bar on [https://icons.getbootstrap.com/](https://icons.getbootstrap.com/) doesn't link to opencollective (it links to /). The same header icon on [https://icons.getbootstrap.com/](https://icons.getbootstrap.com/) works fine.

<comment><USER37> Their website is also open-source, so I just submitted a pull request [0]. Thanks :)

[0]: [https://github.com/twbs/icons/pull/302](https://github.com/twbs/icons/pull/302)

<comment><USER38> used this for my website too [https://serabut.com](https://serabut.com)

</comment></comment></comment></comment><comment><USER39> Here is a question for people who are more knowledgeable than me.

I remember reading somewhere that a library is a bunch of functions you call in your software whereas a framework is a software that calls your functions. I'm obviously paraphrasing but you get the idea.

Bootstrap is called a CSS "framework" but as far as I can tell, the user calls the predefined classes if putting them in an html element's attribute can be considered a "call". Or maybe CSS with its selectors is the one calling the HTML by, dunno, crawling it.

Can you help me? I'm confused. :)

<comment><USER40> I would say:

        - a framework provides a structure you fit your stuff into or build off of
        - a library provides functionality you can fit into the structure of your code however you see fit

In the case of bootstrap, I think they use the term framework because it supplies layout and styling patterns you fit your page/app into. E.g., the grid, containers, forms with form-groups, the predefined "primary", "secondary", ..., styles, etc.

</comment></comment><comment><USER41> First off, congrats and thanks to the Bootstrap team for a wonderful and well- made CSS and design / UI framework. I love it and I have to say it makes it so easy for a developer without design experience to build a website or web application that actually looks good :)

One question about release dates though: I remember watching the Bootstrap v4 progression from alpha -> beta -> release and I remember it took much longer than I thought it would. Just curious when we can expect the stable release version of v5 to drop?

<comment><USER42> As a result we now have the most homogeneous, boring looking web.

<comment><USER43> The alternative would be an uglier web and likely worse UX. People use bootstrap defaults when bespoke designs are not an option or too expensive.

</comment></comment></comment><comment><USER44> "we're now able to drop jQuery as a dependency", interesting

<comment><USER45> ... by replacing large parts with a native jquery-like implementation.

<comment><USER43> Which results in much less js code shipped and better perf. Browsers have caught up to (almost) everything jquery does. Thanks jquery, you served us very well!

<comment><USER15> > Browsers have caught up to (almost) everything jquery does.

For me jQuery is mainly about an elegant, chainable API and all the DOM tools I'm likely to need on hand.

I understand there's a bit of bloat but there's also lighter jQuery-alikes.

I tried vanilla js recently and the native DOM APIs are fairly ugly in comparison with none of the quality of life stuff I got used to.

What am I missing?

<comment><USER46> The point is that one framework should not depend on another. If you like jquery, no-one is stopping you using it.

<comment><USER15> I wasn't specifically talking about Bootstrap. Parent post seemed to be making a general point about jQuery.

> The point is that one framework should not depend on another.

It's not hard to think of counterexamples unless you have very particular definitions of "depend" and "framework.

<comment><USER46> The counter argument would be that one framework should depend on another. Good luck with that.

<comment><USER15> It's debateable whether jQuery is a library or a framework. It's definitely at the frameworkey end of libraries of the libraryish end of frameworks.

But if you'll admit the terms get murky in the middle then I think it's not controversial to assert that a framework can depend on a library without it offending the gods.

So we're very quickly in the territory of "things reasonable people could disagree about" and quite far away from "glibly asserting that something isn't even up for debate".

<comment><USER46> I'm not sure whether you're debating the point or the terminology.

<comment><USER15> I'm disagreeing with your fundamental point. It sounds truthy but I don't think it withstands scrutiny in this case.

<comment><USER46> In this specific case, Bootstrap does not need to depend on jQuery. The proof is that version 5 doesn't.

As arguments go, it doesn't get any clearer cut.

More fundamentally, interdependency is a disease infecting the entire JS ecosystem. The antithesis is the antidote.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER47> I hope with the support for custom properties (aka CSS variables) for everything we can implement dynamic light/dark themes without custom CSS overrides. v4 required this because some colors were manipulated at compile time in Sass and therefor you couldn't set them to a CSS var

</comment><comment><USER48> I'm surprised/disappointed they didn't embrace CSS grids. I've found them to be so much better to work with than Bootstrap grids

<comment><USER49> I guess browser support is not good enough. They just dropped IE11, after all.

Probably that will be the change for Bootstrap 6.

</comment></comment><comment><USER50> It's too bad they didn't rewrite the JS in Typescript. That would have been neat. But congrats on improving performance and code quality nonetheless.

Looks to be ES6 class driven: [https://github.com/twbs/bootstrap/blob/main/js/src/dropdown....](https://github.com/twbs/bootstrap/blob/main/js/src/dropdown.js)

Going for simple JS might make more sense for simple websites with broad deployment, so I can see the arguments against TS here. Like choosing CSS over SCSS for simple portability. Still, it would be a fun/simple type driven project to browse through, had they chosen it.

<comment><USER51> Why? Less accessible that way. I would have liked it to be in clojurescript myself but thats even worse!

<comment><USER52> Can you elaborate on why TS would be "less accessible"? It was my impression (not a js dev) that TS is pretty close to JS in syntax, just with some additional sugar to ensure types and what not -- meaning that someone that knows JS shouldn't have a problem understanding what's written, and should need only a small amount of effort to contribute.

<comment><USER51> It's javascript in the end so why complicate it more? Less people know typescript, making source less accessible, i.e you first need to understand typescript to understand the code. Also you'll have several more layers of indirection: compiling, transpiling, bigger toolchain. In the end - why should not the latest javascript be enough?

In the old times javascript was apparently not good enough without jquery - but why add another dependency of similar ilk now that jquery is removed?

I am averse to complicated javascript franken toolchains because they don't age well. Better to stay vanilla.

<comment><USER52> I don't mean to question your abilities here, especially since I don't write JS myself, but I don't recognize your view of TypeScript.

> why should not the latest javascript be enough?

The fact that TypeScript exists in the first place and is extremely widely used by large organizations would seem to indicate that the latest javascript is not "enough".

> In the old times javascript was apparently not good enough without jquery - > but why add another dependency of similar ilk now that jquery is removed?

Again, I'm not a JS dev, but it seems very dubious to equalize jQuery with TypeScript. They have completely different objectives and achieve completely different things.

> I am averse to complicated javascript franken toolchains because they don't > age well. Better to stay vanilla.

I can understand and appreciate the sentiment, but since most people seem to agree that the lack of static typing in JavaScript is something that can introduce bugs and unexpected behavior, and the user base of TS is quite large (made by MS, used by many large organizations[1]), I would agree with what most users of it probably would say, that the trade-off is by far worth it.

[1]: [https://stackshare.io/typescript](https://stackshare.io/typescript)

<comment><USER51> I have used typescript for production but i am not convinced it adds to the experience. If you are not a js dev, why do you worry about typescript? It seems like you are in the static type camp and want to make a case for that. In the end the runtime is not typechecked anyway so it's a false security.

Jquery was written to overcome limitations in js browsers as typescript was written to overcome the typing limitation.

It seems again you like the typed lanuage political agenda. I am on the other side - i like dynamic languages. I appreciate that there is another side - <USER2> just don't agree.

There are lots of programming languages and tools that are in wide use by large organizations. That doesn't make them better or worse.

It just comes down to politics, and I want to make a case for the dynamic camp.

Remember coffeescript? Just a waste of time and effort.

</comment></comment></comment></comment></comment></comment><comment><USER53> Just out of curiosity, do you write HTML5/CSS inside a text editor with live reload or have you switched to builders like Bootstrap Studio, Webflow, Pingendo etc.?

Asking since I'm converting a design into a template for a Symfony app and when coding with Bootstrap from scratch I'm a bit lost. Even doing basic things like sticky left sidebar and overlapping top navbar (basic admin panel layout) requires lots of StackOverflow digging. Should I give up and just buy templates?

<comment><USER54> I simply have the documentation open, which is really excellent and doesn't require any other sources.

I begin with copying one basic example and building from there.

Then I'll tweak the HTML+CSS live in the browser's DevTools until I feel I understand what's happening in the CSS, I switch back to IntelliJ and bake my tweaks into my own custom SCSS extending bootstrap's classes and building on them.

Never bought templates as I have the feeling that template authors don't really have the time to really grasp the concepts of bootstrap, nor do they care, and simply tend to pile tons of rules until they have some effect they desire. I felt it's always easier to simply read the docs, and occasionally jump into IRC in ##bootstrap or #css or their Slack when I'm stuck.

</comment></comment><comment><USER55> I guess this is a pertinent question in the context of such announcement posts.

What are the current alternatives for Bootstrap that provide:

* a good set of defaults with a sensible/easy grid system

* a modern look with readable typography and color choices

* a good enough set of controls

* support accessibility out of the box

* are leaner in size

* reduce/avoid the use of JavaScript (preferring CSS where possible)

* and lastly, very easy to get started with (and have great documentation)?

<comment><USER56> Bulma is a great alternative: [https://bulma.io/](https://bulma.io/)

</comment></comment><comment><USER43> The shift towards atomic/utility classes is what keeps this framework alive in my eyes. The productivity boost is quite massive.

</comment><comment><USER57> This is good work by the team. For CSS beginners like me it helped to start with a nice looking website. Thanks.

I would have loved if they kept the CSS classes same between different versions. I feel there are always some unnecessary renaming of classes with major version changes. I have close to zero knowledge on CSS, I might be missing the point. Two years feels a bit too quick for the release, I wish they slowdown and not release another major before 5 years.

<comment><USER52> > I would have loved if they kept the CSS classes same between different > versions.

I'm not great with CSS either but I recently had to implement some very basic Bootstrap functionality in an environment that required Bootstrap 2 (sorry everyone), and FWIW I thought it actually helped that class names were different because it made it very obvious that I was working with a completely different release than most guides were written for, so I expected breaking changes, and any searches I did do for the "old" names gave me correct results. So in that sense, different class names as a type of "version locking" does make sense I guess -- and it perhaps also stops people from lazily just installing a breaking version of Bootstrap and expect it to work.

</comment></comment><comment><USER58> > CSS's grid layout is increasingly ready for prime time, and while we haven't > made use of it here yet, we're continuing to experiment and learn from it. > Look to future releases of v5 to embrace it in more ways.

I was actually expecting that the next major Bootstrap version would come out way later and fully embrace the CSS grid. But I suppose they are choosing a more gradual adoption and testing of waters to stay compatible with B4 websites.

<comment><USER59> There's some grid bugs out there, but dropping Internet Explorer is probably more 'drastic' than CSS grids.

</comment></comment><comment><USER60> What are some of the coolest bootstrap projects you all have seen? I haven't used Bootstrap in years, but would love to see some of the creativity.

<comment><USER61> I have only used bootstrap recently through implementations of commercial web template packages.

These are pretty amazing, see Color Admin and Inspinia.

</comment></comment><comment><USER62> I have been using Bootstrap for 8 years now and I am very thankful for your work.

Removing jQuery dependency is a big move, one that is welcome too.

</comment><comment><USER63> I think we need to get to the point where regardless of the build script, Bootstrap will make the perfect foundation for a design system. I defecated to ZURB long before this was a deal-breaker, but now I almost prefer to reinvent the wheel. Getting on board is quite a commitment, compared to just wrapping react-select, or something alike.

<comment><USER64> I really hope you meant defected!

<comment><USER65> Well frontend devs love marking their territory you know.

</comment></comment></comment><comment><USER66> I use a very old version of Bootstrap on almost all of my web sites. As part of my COVID-19 lockdown decision to clean up things, I am going to do a small test with the new alpha, and update. I have also been taking my old eBooks, one at a time, and updating those. It feels good, sort of like spring cleaning, organizing my garage, etc.

</comment><comment><USER67> When is the right time to upgrade to a new bootstrap version? Anyone had bad experiences upgrading to version 4 too soon?

</comment><comment><USER68> I'm currently working on a personal project and I was planning on using angulardart + tailwind (the css part only) but I will definitely check if the css side of bootstrap 5 might not be a more productive option. Good work regardless and thanks for all the effort.

</comment><comment> ux-app Can anyone explain the code in the Utilities API section?

What language is it?

I don't recognise it and this line

       $utilities: () !default;

And the rest of it are unfamiliar to me.

<comment><USER69> It's SCSS, a language that compiles to CSS. That whole section has almost nothing to do with CSS, though. That's array syntax for holding a set of utilities to be used later in the code.

</comment></comment><comment><USER70> In case folks from the team are reading, I think you mean "our logo _evokes_ the feeling of a rule set" (rather than "eschews").

</comment><comment><USER71> Bootstrap. The people who removed sub-menus from Bootstrap 4 because it was deemed "too difficult". Not cool.

<comment><USER54> Sub menus are really hard to do right on a mobile device.

Mobile is important at least since Bootstrap 3, when Bootstrap became "mobile first" (e.g. you define breakpoints with the smallest screen in mind by default, adding exceptions for wider screens)

After all, Bootstrap is, like the name suggests, a "bootstrap" for your own project, and if you think the accesibility problems that come with nested dropdowns are worth it, you're totally free to implement that, and even create a GitHub project with your CSS clases.

There's no reason your solution wouldn't be merged if you provide a truly novel approach to all the other failed approaches.

<comment><USER72> > Sub menus are really hard to do right on a mobile device

No, they are not. Bootstrap is too opinionated here by not supporting nested menus. There are plenty of use cases for them, a navigable sitemap or your common application toolbar for example.

And accessibility is also a non-issue, see W3C's / WCAG's recommendations: [https://www.w3.org/TR/wai-aria-practices/#menu](https://www.w3.org/TR/wai- aria-practices/#menu)

Speaking of accessibility: I'm surprised that Bootstrap only cares little about this important topic, especially considering implementing it on websites is required by law in many countries.

<comment><USER73> I mean, submenus are difficult. Even single-element tooltips are complicated enough to warrant a dedicated library that Bootstrap uses: [https://popper.js.org/](https://popper.js.org/)

Nested menus are no easier to make generic. Or they can easily be too opinionated for the Bootstrap team's tastes.

Also I don't think dropping something from your API makes you _more_ opinionated. Their solution would be opinionated by definition if they had one. Nothing stops you from building your own or anybody from building a library that solves the problem. If you think it's easy, then you sound like the right person to take on the challenge.

<comment><USER72> Citing mdo, [https://github.com/twbs/bootstrap/pull/6342#issuecomment-115...](https://github.com/twbs/bootstrap/pull/6342#issuecomment-11594010) : "We haven't seen anyone using submenus in meaningful ways and the code necessary to make them work well is just too much overhead. Submenus just don't have much of a place on the web right now, especially the mobile web."

This is very opinionated.

</comment></comment></comment></comment></comment><comment><USER74> Makes me wonder about the jquery based interactive components like select2/chosen etc.

</comment><comment><USER75> Funny thing that footer is broken.

I like bootstrap, but after playing with tailwindcss I prefer it.

</comment><comment><USER76> You guys are the best! Thank you ! You have helped me so much in my career!

</comment><comment><USER77> I've been using tailwindcss, it's pretty impressive.

</comment><comment><USER78> Now that we have CSS Grid and Flexbox, what is the rationale for using Bootstrap? Or, what is the benefit of using Bootstrap that I don't get using CSS Grid and Flexbox?

<comment><USER79> why is this downvoted, I have the same genuine question

<comment><USER78> I am surprised I was downvoted too. I've never used bootstrap so I thought my question was a simple request for information. Apparently all the bootstrap users took it as a personal attack.

</comment></comment></comment><comment> node-bayarea I LOVE BOOTSTRAP!! Keep it up you'all!

</comment><comment><USER80> I miss the 3D look and feel from 2.x

</comment><comment><USER81> Some work for theme creators now.

</comment><comment><USER82> The end of jquery is here

</comment><comment><USER83> for me the best thing about v5.0 is the official RTL support!

</comment><comment><USER84> 145Kb ouch!

</comment><comment><USER85> Please don't edit HN titles to break the site guidelines: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html). This has been first on the list of the submission rules for over a decade:

 _Please don 't do things to make titles stand out, like using uppercase or exclamation points, or saying how great an article is. It's implicit in submitting something that you think it's important._

(Submitted title was "Bootstrap 5 alpha!", which HN's software correctly changed to "Bootstrap 5 Alpha", which was then edited back to "Bootstrap 5 alpha!", which we then edited back to "Bootstrap 5 alpha".)

Also, please don't post the same story within minutes ([https://news.ycombinator.com/item?id=23543329](https://news.ycombinator.com/item?id=23543329)).

<comment><USER86> To be fair dang, the linked article does have an exclamation mark in the title. I imagine @mkurz just wanted to transcribe it.

<comment><USER85> It seems clear to me that the site guideline I quoted covers that case?

Even the title guideline (" _Please use the original title, unless it is misleading or linkbait_ ") implies that exclamation points should be taken out, since they're baity.

</comment></comment></comment><comment><USER87> Add dark mode

</comment><comment><USER88> As much as I hate AMP pages I have been forced to use it due to SEO reasons and bootstrap 4 sites aren't AMP comptabible as yet. They exceed the 50kb css limit by AMP.

There have been various attemps(1) to do it but nothing more be more amazing than to have in-built support for it.

Even if the AMP project is misguided mess the 50kb limit on css is still a good goal for mobile sites.

(1) [https://www.google.com/search?q=bootstrap+amp+github](https://www.google.com/search?q=bootstrap+amp+github)

<comment><USER89> You could use only some parts of Bootstrap, by including its SCSS files and commenting out ones you don't need.

Also, you could try css-purge to remove unused classes.</comment></comment>


Medieval Innovations - <AUTHOR> https://www.laphamsquarterly.org/roundtable/medieval-innovations <comment><USER2> What's up with the title? The article talks about medieval art and geopolitics but not the numerous innovations. Some imports and cursorily at that.

</comment><comment><USER3> I have been keen to read the book this is excerpted from - _Lotharingia: A Personal History of Europe's Lost Country_.

So it's nice to read this good-sized excerpt.</comment>


AMD Responds to Intel's 9th Gen Benchmarks - <AUTHOR> https://www.tomshardware.com/news/amd-intel-benchmarks-ryzen-principled-technologies,37956.html <comment><USER2> Few months ago I switched from i7 to Ryzen 2700X. Honestly, I don't know what would have to happen so that I would switch back to Intel :)

In my developer workflows that include quite a lot of browser tabs, a bunch of Docker containers running, occasional Go or Docker build I don't get any of the CPUs at 100% often. Only when I do cross compilation to a multiple architectures I do use 6-9 CPUs and even then my machine is totally usable and I can't even feel that in the background lots of cores are at full utilisation.

What really counts is the amount of CPUs available, I don't really care about their maximum frequency. Comments about gaming are valid but I think instead of buying Intel just go with a better GPU and you will win there as well.

<comment> saiya-jin How hard is it to understand that there are various uses for PC, and yours is only one of those? Plenty of us can't make any use of more than 6-8 cores effectively, will never run any VMs or Docker, and plenty of software still will benefit from single-core performance.

I am by no means a fan of the price/value ratio for new i9 CPU and any shady marketing cheap tricks generally, but I don't get this 'Ryzen works for me so it should for everybody' all over the tech net these days.

Use whatever you feel is the best tool for your needs and your budget. Respect other's choices, even if it means that for some people, this new i9 will be the best/preferred option. Or any other option for that matter that isn't yours.

<comment><USER2> Apologies, didn't want it to sound like "you have to use Ryzen for everything now" :)

I wouldn't recommend it to most of my friends or my family for the same reason you mentioned, none of them will utilize those cores.

It just works really well for me and it wildly surpassed my own expectations as I was quite used to the fact that my machine wasn't really usable while I run Kubernetes locally. My workflow used to be:

1\. write some code 2\. start Kubernetes, wait for it to boot and test the code that I wrote 3\. tear it down 4\. write some more code 5\. repeat

I would be loosing quite a lot of time. Also, while waiting for it to start, I would usually get distracted and start doing something else. Ryzen changed this workflow and boosted my productivity. Now I don't even notice whether k8s is running or not, sometimes I forget it for days :D I can't stress enough how important it is to have a lag free development environment.

<comment><USER3> Agree with everything you've said I have a 1700 at work and 2700X at home and both are monsters for my workloads.

With an evga RTX2080 in the home PC it murders the games I play (elite dangerous mostly) at 4K.

<comment><USER2> I have 1080Ti, but haven't tried installing any games yet. Last time I had a gaming PC it consumed way too much time so currently I try to use my ps4 for gaming as it's a lot easier to get bored by it :D

</comment></comment></comment></comment></comment><comment><USER4> The controversial benchmarks are always at the 1080p level, and I have to wonder: who are these magical consumers who are willing to consider shelling out for an i9 and yet are still playing at 1080p.

Of course such marketing benchmarking HAS to be done at 1080p, because anything more challenging and you're entirely gpu bound with cpu differences becoming margin of error fractions of a percent.

<comment><USER5> There are a of lot reasons to game at 1080p

* You don't really want a bigger monitor than 24" for competitive shooters, because then you can't see everything at once. There is only one 1440p monitor in that size that I know of and no 4k monitors that I know of

* You want a monitor with 144Hz (or better!) and low input latency. 1440p and 4k monitors that do this are rare or non existent

* Easier to stream

* Overall appearance of a game at 1080p with more anti aliasing vs 4k with less isn't that difference. text being an exception of course.

<comment><USER6> Dell manufactures a 4k monitor at 24'', I have one at home. They surely are not the only ones: [https://www.dell.com/en-us/work/shop/dell-24-ultra- hd-4k-mon...](https://www.dell.com/en-us/work/shop/dell-24-ultra- hd-4k-monitor-p2415q/apd/210-agnk/monitors-monitor-accessories)

<comment><USER5> cool, I think things are moving in a direction where 4k high level gaming is going to be more possible. The dell monitor is still only 60hz so isn't going to be desirable yet, but that could change soon.

the other issue is input latency which is hard to find specs for. I have an old dell 1080p monitor that is a total outlier on that end and I never want to give it up!

but yeah, with more 24" options, higher refresh rates, and the latest nvidia cards 4k, 144hz gaming is going to be viable soon.

</comment></comment></comment></comment><comment><USER7> The real conclusion here is if your use case is purely gaming and cost is not a factor the 9900k is the best processor to buy. AMD cannot compete with 5GHz on 2 cores or 4.7 on all 8. If you have a more mixed workload (multi-core) or are more price conscious AMD is a viable solution.

AMD will be unveiling their Ryzen 2 processors/GPUs in January and it is rumored that there will be a 15% IPC increase. If that is the case, AMD will be on-par with Intel. It is also rumored they will be bumping the Ryzen lineup to have 16 cores.

I've been running a Ryzen system w/ a 1800x @ 4GHz on all cores for well over a year now and have no complaints whatsoever. As a developer/light gamer it was the perfect balance of price to performance.

</comment><comment><USER8> Benchmarks might be bad, but I don't think that numbers are wrong. Intel frequency is much higher. If your game configuration limits FPS on single or duo core performance, Intel will be better, I have little doubts about that. But Intel has 1.5x price, so if you're thinking about performance/price, it's not that simple. And a lot of games are not limited by CPU anyway, unless you're playing with unusual settings (like very low graphics).

<comment><USER9> Probably nobody is saying that AMD is faster, the issue is that if Intel is 5% faster but it costs double(including the coolers) then it does not look that good, so if Intel could find a way to say in the marketing slides that the Intel CPU is up to 50% faster then they can get a lot more sells.

I also read that there are still some controversy about the CPU frequency for multicore and also that reviewers got speical CPUs, you are not guaranteed to get 5GHz on Intel so it is possible that in 1 month the new CPUs will have not as good turbo.

My point is not to rush a purchase based on this initial benchmarks, wait a few more weeks.

<comment><USER8> Intel should be around 10-15% faster. It's like 4.3 GHz for AMD, 5 GHz for Intel with comparable IPC. Also 5 GHz boost is in 9900K specs, if you're not getting it, it should be enough reason to replace is as a defective.

<comment><USER9> OK, so I can't be 100%sure what this means: "Max turbo frequency is the maximum single core frequency at which the processor is capable of operating using Intel® Turbo Boost Technology and, if present, Intel® Thermal Velocity Boost. Frequency is measured in gigahertz (GHz), or billion cycles per second."

Does this mean that is guarantedd that 1 core will reach 5GHz ? Are there exceptions? Will it work it regular coolers ? Will it turbo without BIOS changes so in default config?

Thanks if you can clear this, because I am not sure if thix Max is considering power users that overclock or not

<comment><USER8> I'm not an expert, so take my words with a grain of salt. 9900K will reach 5GHz for 2 cores. So if your OS uses only 2 cores at the same time, they'll work at 5 GHz. If your OS uses more cores, CPU will slow down frequency. Also if CPU will be boosted for too long, it'll slow down anyway, because it must keep its 95W TDP. But you can change setting in BIOS, something like MultiCore Enhancement. This will allow CPU to use as much power as possibe, so it should be able to keep working at 5 GHz and 2 cores, if your PSU and cooler are good enough to provide and dissipate that power.

</comment></comment></comment></comment></comment><comment><USER10> Here's a roundup of all 9900K/9700K/9600K reviews: [https://videocardz.com/78652/intel- core-i9-9900k-i7-9700k-i5...](https://videocardz.com/78652/intel- core-i9-9900k-i7-9700k-i5-9600k-and-z390-motherboard-review-roundup)</comment>


Show HN: Zoho SalesIQ - <AUTHOR> https://www.zoho.com/salesiq/ <comment><USER2> I like the visual appeals, but what does it mean? Can you explain?

<comment><AUTHOR> Did you log into the product? If yes you can see the priority rings as on the home page - www.zoho.com/salesiq.

These rings are customisable depending on how you want to prioritise your website visitors. For example,

1.If visitors from a certain campaign are important to you, you can customize the innermost ring to show you only these visitors.

2\. If you want the outermost ring to display valued client from your CRM, you can customize that ring, once a valued visitor from your CRM is online you can see them on these rings.

There are many variables that you can use for customisation. Try it if haven't.</comment></comment>


The Best Book Reviews Money Can Buy - <AUTHOR> http://finance.yahoo.com/news/best-book-reviews-money-buy-131408538.html?page=all

<comment><USER2> Previously submitted with the canonical URL from the original source:

<http://news.ycombinator.com/item?id=4434870>

<comment><AUTHOR> Oh, sorry, I didn't note that.</comment></comment>


Show HN: One API to easily integrate multiple clouds or IoT devices in your app - <AUTHOR> http://cloudrail.com/home/ <comment><AUTHOR> Launched with a brand new technology. What do you think and how can we improve it?

</comment><comment><USER2> Is a .NET SDK available?

<comment><AUTHOR> Currently we have Java SE, Android, and iOS coming in the next weeks. Our goal is to support as many platforms as possbile. .Net is on the roadmap.</comment></comment>


Designing Large-scale 'Nudge' Engines - <AUTHOR> http://isl.stanford.edu/colloquium/colloquium_prabhakar.html <comment><USER2> Anyone have more information on this? I don't see a paper title or any links but it sounds interesting . . .

<comment><AUTHOR> I submitted hoping to find out more myself. I'm intrigued.</comment></comment>


Defund the NSA - This Isn't Over - <AUTHOR> http://defundthensa.com/# <comment><USER2> This is great! A followup contact, either praise or criticism, is like Pavlovian conditioning for our representatives. I'm happy to say I was able to give positive reinforcement to my congressman. Forgive me if I'm mixing up my theories, I haven't taken a psychology class in several years.

Also, great job to Sina and the taskforce!

<comment><USER3> What you're talking about is operant conditioning ( [https://en.wikipedia.org/wiki/Operant_conditioning](https://en.wikipedia.org/wiki/Operant_conditioning) )

</comment></comment><comment><USER4> Here's what I want: A link that I can click on that will add a google calendar event to notify me with the list of representatives to vote AGAINST when voting season comes. I'm pissed now, but like all americans, I'll probably forget about this come election.

<comment><USER5> That is a good idea. Yesterday in irc, we could only think of trying to get people to confront their local reps in their offices. I'll pass this along.

Edit: If anyone knows any place to programmatically get (r)election dates for districts, please tell us here: [https://github.com/tfrce/DefundTheNSA/issues/14](https://github.com/tfrce/DefundTheNSA/issues/14)

<comment><USER6> >irc

Which channel/network?

<comment><USER5> ##rritf/freenode, but I don't know if anyone is there now.

</comment></comment></comment></comment><comment><USER7> Idea: pre-prepared websites that call to attention representatives that are against privacy (voted for SOPA, the NSA, TSA, etc.) make them available to deploy on heroku, github, s3, whatever. Then developers in support of privacy can litter the internet with them come election time.

If all these guys care about is getting re-elected, lets make it clear not supporting their constituents will seriously damage their chances.

Also love the followup idea.

<comment><USER8> What makes you think they're not supporting their constituents?

<comment><USER9> Because they support spying on them. That's kind of the opposite of supporting them.

<comment><USER8> You should pay more attention to polls - it's not quite the landslide you're implying it is. Many people are okay with being spied on.

<comment><USER9> This is why we have morals. So we don't have to conduct opinion polls to see what's right and wrong.

Plenty of atrocious things were wildly popular. They get absolutely zero extra legitimacy for being so.

<comment><USER8> Do you believe your moral compass to be perfect, or is it flawed?

In the event that you think it's flawed, how do you recommend making sure your flawed moral compass isn't going to cause something immoral to happen?

<comment><USER9> >how do you recommend making sure your flawed moral compass isn't going to cause something immoral to happen?

Careful reflection. Self examination. Dialog and debate with others I consider intelligent and ethical. Certainly not a popularity contest.

<comment><USER8> Each one of the ways you check your moral compass are easily corruptible by your moral compass.

A vote, or a so-called "popularity contest", is, out of all the things you just listed, the least corruptible by your own biases.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> A near-even split on the first try over a high-stakes issue is a pretty darned good showing. Lay into those supportive of the state violating every semblance of privacy, and then try again.

<comment><USER8> I said this before, but the closeness of the vote has _nothing_ to do with how close the vote actually was. Once the whips figure out if a bill is going to pass or not, they then let people vote however will get them more money.

<comment><USER11> I'm curious how whips work. Do you have anything I could read up on it to learn more? It makes sense from a certain perspective, but does that mean that they decided to look into how many people were going to vote no for sure (which was 217). Then the remaining legislators would get more money if they voted yes (205) or maybe they voted yes because it was what their constituents wanted. That's all speculation but it's seriously interesting and very disturbing.

<comment><USER8> Once you know a vote isn't going to happen, the voting gets rearranged to look good. Since the outcome is the same, it doesn't really matter how the outcome happens, so long as the 'yes' or the 'no' is still a 'yes' or 'no'.

And it's probably one of the least improper things that happens in US government.

I'd also like to take a moment to explain why this vote doesn't have a chance, ever, and it's the exact same reason all spending cuts to defense don't generally go through - all it takes is one bad thing to happen, and suddenly every single person who voted to reduce defense spending/the NSA budget is at risk in their district.

It's the easiest attack ad in the world to construct: "My opponent was one of the people who took away the NSA's power to defend this country, and as a result we were attacked again!" That's a guaranteed and immediate hit that's very easy to understand. What's _much_ more complicated is the 'yes' argument. It's nuanced, confusing, many constituents don't even want it, and in general a big risk.

The _biggest_ win for members of congress is if no change actually happens, and yet they still get to have a voting record that shows they're against what the NSA is doing (exactly how it turned out). Those "yes" votes were probably pretty damn expensive for the congresspeople who got them, but they'd be HUGE liabilities if the vote actually passed.

In other words, 'yes' votes were worth more if the 'yes' lost.

<comment><USER12> While that is all true, it is still worth noting that worst case they still cared enough to be disingenuous about their voting records.

If they believed that they could just get away with sweeping it under the rug, they would not even have tried to manipulate the optics of the vote. That's still a victory in the face of all the propaganda downplaying the importance of the issue.

<comment><USER8> They _are_ getting away with sweeping it under the rug. You're being pandered to by worthless voting records, if anything I'd be more upset were I in your position.

</comment></comment></comment></comment></comment></comment><comment><USER13> The NSA spying program is horrible, yes. And I think it should be halted immediately. But we need the NSA—they do important things for this country despite the bad clout they've received because of this one domestic program. That program is minuscule in size compared to the sum of the important operations that are conducted in the agency.

I want to make myself clear. I think the domestic intercepts are 100% wrong and unconstitutional. That needs to stop. But that agency is home to smart people who do other necessary work to protect us.

<comment><USER14> For reference, here's the text of the amendment: [http://amendments- rules.house.gov/amendments/AMASH_018_xml27...](http://amendments- rules.house.gov/amendments/AMASH_018_xml2718131717181718.pdf)

It short, it defunds the NSA's ability to conduct surveillance on people who are not being investigated.

</comment></comment><comment><USER15> I think this could get legs.

Are there any other like this issues where the government is blatantly thumbing its nose at its own people? I'm running a survey right now and one of the elements is support for the NSA surveillance, and almost nobody supports it. Like, 85% just say it's flat-out wrong.

<comment><USER16> Survey of who? Do you have a tech-biased or liberal-biased or youth-biased audience?

[http://www.washingtonpost.com/politics/most-americans- suppor...](http://www.washingtonpost.com/politics/most-americans-support-nsa- tracking-phone-records-prioritize-investigations-over- privacy/2013/06/10/51e721d6-d204-11e2-9f1a-1a7cdee20287_story.html) ("Overall, 56 percent of Americans consider the NSA's accessing of telephone call records of millions of Americans through secret court orders 'acceptable,' while 41 percent call the practice 'unacceptable.'")

<comment><USER15> I'm just trying to get random people to respond. I would refer to gknoy's comment about how easy surveys are to manipulate, and question whether the survey you mention was created with a purpose.

I've been working with some research companies lately and one thing which surprised me was the fact that surveys are often constructed with the sequence of questions carefully set up to test various messages. Unless you can see the survey itself, I would question the results.

For example, the question prior to 'How do you feel about the NSA's accessing of telephone call records of millions of Americans through secret court orders' might have been 'Is it important that the NSA's accessing of telephone call records of millions of Americans has stopped terrorist attacks?' This type of question can mightily swing the outcome, so if you don't have access to the survey you need to ask yourself if the organization putting out the survey has an agenda...

<comment><USER16> What do you mean "random people?" What sorts of sites are you posting the survey to? If people like my mom aren't part of your survey demographic, your methodology is flawed.

The Washington Post-Pew survey is detailed (through a link) in the article, specifically this question:

"Q: As you may know, it has been reported that the National Security Agency has been getting secret court orders to track telephone call records of MILLIONS of Americans in an effort to investigate terrorism. Would you consider this access to telephone call records an acceptable or unacceptable way for the federal government to investigate terrorism?"

58% responded 'acceptable' and 41% responded 'unacceptable'.

<comment><USER12> FWIW, I think the WAPO-PEW phrasing is slightly biased in favor of the NSA. I think the following would be more accurate and thus more closer to neutral (italics indicate changes):

"Q: As you may know, it has been reported that the National Security Agency has been getting secret court orders to _collect_ telephone call records of _nearly all American cell phones_ in an effort to investigate terrorism. Would you consider this _collection of_ telephone call records an acceptable or unacceptable way for the federal government to investigate terrorism?"

What isn't clear to me is if the phrasing has changed from the survey a month ago to the most recent survey. If the phrasing (of the entire survey because cross-question context is important) is not identical then the results just aren't comparable no matter what biases may or may not be built into the questions.

</comment></comment></comment></comment></comment><comment><USER17> Might as well add this one to the criticism sent to your representative:

[http://www.washingtonpost.com/politics/congress/senate- bill-...](http://www.washingtonpost.com/politics/congress/senate-bill- authorizes-sanctions-on-russia-or-any-other-country-offering-snowden- asylum/2013/07/25/feaaf55e-f53c-11e2-81fa-8e83b3864c36_story.html)

</comment><comment><USER18> Great site. I was able to research and find that Congresswoman Kyrsten Sinema, serving Arizona's 9th District was cosponsor of the Amash bill but voted against the amendment, stating that it "has an unintended consequence".

Her press release is full of wonderful contradictions and weasel words:

[http://sinema.house.gov/index.cfm/press- releases?ID=b23deeab...](http://sinema.house.gov/index.cfm/press- releases?ID=b23deeab-d42e-4a22-808c-787ef7190761)

From:

"I have very real concerns about the federal government's action and lack of transparency regarding the collection and retention of law-abiding Americans' private information. "

Straight to:

"I believe that we must work toward less intrusive methods to ensure our security. The broad language we considered today could have limited the ability of our national security and law enforcement community to prevent the bombing plot against the New York subway system or to quickly respond to events like the Boston bombing."

Wrapping it all up with:

"There are other ways than the invasive collection of metadata to ensure the security of Americans while protecting our precious 4th Amendment rights."

Ok... so there are other ways, gotcha.... but you don't vote for an amendment which would have forced the NSA into using / finding other ways. Cool.

Edit: I give her props for responding to my tweet though: [https://twitter.com/fuzzywah/status/360441317609840642](https://twitter.com/fuzzywah/status/360441317609840642)

</comment><comment><USER19> Does anyone find it ironic that the same folks who are anti-libertarian (not necessarily the HN crowd) and anti-tea party are strident supporters of a tea- party favorite congressman's amendment. The idea that such a group would rally around someone who they would not have voted for, seems strange.

I am not sure if I should be proud that a citizenry can see past politics and rally based on substance, or if they are totally out of touch with how politics works.

</comment><comment><USER20> Source info

      http://clerk.house.gov/floorsummary/floor.aspx?day=20130724

It was Roll call #412, the Amash ammendment for Bill H.r. 2397

      http://clerk.house.gov/evs/2013/roll412.xml
      http://www.govtrack.us/congress/bills/113/hr2397
      http://www.govtrack.us/congress/votes/113-2013/h412

</comment><comment><USER21> I called both of mine (FL), one voted one way and the other the other. Do I thank the one, and what would I say to the other?

<comment><USER22> Good job calling! And yes, call both again - with thanks (it shows you really care and are paying attention), and with disappointment, asking why they voted the way they did, letting them know this may influence your vote in the primary and general election, and recommendations about what they should read to get a different perspective when the next vote comes up.

<comment><USER23> What's the list of stuff they could read? Thanks

</comment></comment></comment><comment><USER24> Astonishingly page doesn't work in Opera.

And why all the effort in a "defund NSA" site to find out as much as possible about visitors (e-mail, zip code) and link them to Facebook, Twitter and Google, the second-tier sinners in this scandal?

Just provide good information at a pre-defined URL - I'll get around to it if I want to.

<comment><USER25> We will definitely test in Opera going forward--thank you for reporting that it doesn't work.

We are trying to figure out how to best spread a message while still being privacy-conscious. One possible idea is to put the sharing functionality on a second page, thus allowing people who want to share to do so but not loading scripts for people just visiting for the first time. Another is to load sharing scripts on the same page asynchronously only if people click a 'Tweet my legislator!' button--that's how the current site would work if there were not the three social buttons at the bottom of the page.

We'll also be dropping Google Analytics for Piwik (which is self-hosted) soon.

</comment></comment><comment><USER26> Representatives up for election in 2013 [EDIT: 2014] should be flagged. Ones in competitive states should be at the top, with donation links for those who voted Aye. If they voted Nay and their competitor is anti-NSA, their competitor gets a donation link by the incumbent's name.

<comment><USER27> > Representatives up for election in 2013 should be flagged.

That's going to be a pretty short list, as regular elections for all seats of the House of Representatives (and one-third of the seats of the Senate) occur in every even-numbered year.

The only House elections in 2013 would be special elections, which would normally be to fill a _vacant_ seat, and thus would not have an incumbent running.

</comment></comment><comment><USER28> Not sure who would know how to fix this, but the tweet button only puts half[1] of the message in. (URL maybe too long)

[1] - [http://imgur.com/z7JDuXV](http://imgur.com/z7JDuXV)

<comment><USER29> weird, it worked fine for me. Try to just manually add it. The positive Tweet was "Thank you for supporting #privacy! You're earning my vote, keep up the good work! #defundNSA [http://defundthensa.com/"](http://defundthensa.com/") while the negative Tweet was: "It's shameful that you voted for unconstitutional record collection instead of #privacy! #defundNSA [http://defundthensa.com/"](http://defundthensa.com/")

</comment></comment><comment><USER30> another good link, providing full information about everyone that voted on this, with clickable links to more detailed information about each representative.

Makes it easier to get people to pester the appropriate representative.

[http://projects.washingtonpost.com/congress/113/house/1/vote...](http://projects.washingtonpost.com/congress/113/house/1/votes/412/)

</comment><comment><USER31> Broken on Chrome/Win 7.

EDIT: Whoops, it's Adblock Plus on Chrome. For some reason it gets rid of most of the site.

</comment><comment><USER32> What is going on with the photo of Judy Chu and the guy below her? I'm referencing the duct tape.

</comment><comment><USER33> WWRPD?

</comment><comment><USER34> I'm a trifle pessimistic over the chances of this ever succeeding.

<comment><USER2> Did you not see the vote spread yesterday? Twelve vote difference. That's incredible, and this is only the beginning.

Also remember, there are still leaks to come, we've only seen a glimpse of the full scope of the revelations.

<comment><USER35> My understanding is that even if it had passed with flying colours, Obama would have vetoed it. So all of this process is just for show.

<comment><USER10> If it had passed with flying colors, pressure on the Obama to _not_ veto it would be tremendous.

<comment><USER36> He's already been reelected, so he doesn't care what the general public thinks of him.

<comment><USER10> True that he doesn't care per se, but as I doubt he's going to quietly retire to a Hawaiian villa in 3.5 years, he does have to gauge who thinks what of this presumably unexpected issue & backlash.

</comment></comment></comment></comment></comment></comment><comment><USER37> FYI, you're missing the congresspeople who abstained.

<comment><USER25> Very good point--abstentions and absences should also be listed.

<comment><USER38> Had those who abstained voted yes, it would have been a tie. It would have still failed to pass because the WH would have the final say, but I'm encouraged that it was as close as it was.

</comment></comment></comment><comment><USER39> Too many secrets.</comment>