Planes Landing in Beijing: Video from Space - <AUTHOR> https://www.mapbox.com/blog/video-of-beijing-from-space/

<comment><USER2> They seem to be careful not to show a large object like a plane crossing the "seams" that appear in the video (similar to the seams in satellite imagery on maps where they've patched together data from multiple passes / satellites). When you see the cars on the freeway they seem to disappear at the seams. Does the camera have to be focused on an area the size of the blocks they show? This is still very impressive - I don't mean to downplay the technical achievement, but I'm just trying to get a realistic sense of where the technology is at. I suspect this is video overlaid on static images.

<comment><USER3> The video field of view is 1.1 by 2 km: [http://skybox.com/uploads/10/08/imageryandvideospecsheet.pdf](http://skybox.com/uploads/10/08/imageryandvideospecsheet.pdf)

Purely speculating, not going on anything they've said: _theoretically_ when they have more satellites you _might_ be able to patch together a larger area with simultaneous video from several birds. You'd have a slightly ugly angle difference at the seam, of course. There may be technical constraints here that I'm not thinking of, though.

In any case, at 1 m GSD and 30 fps, 1.1 by 2 km is 66 megapixels a second. Even efficiently compressed, that's a lot of information already.

<comment><USER4> It looks more like the fov is 0.1 by 2 km (in this particular video).

</comment></comment></comment><comment><USER5> There are some hard, unforgiving physical limits on resolution of photographs from orbit, even with digital correction of the images. For one thing, the camera is necessarily far away, and moving fast at the same time.[1] I was able to follow the specific link just kindly submitted here, which of course shows a rather large object (a commercial airliner). The satellite company's image gallery[2] compares quite favorably in resolution to an earlier company's image gallery we discussed here on HN about three years ago. But it will be quite a while--perhaps never--before some of the statements about satellite imagery that were already being made for propaganda purposes in the 1960s will be anything close to reality, even for classified military intelligence satellites. We won't be reading people's mobile phone screens from orbit ever, probably. Unmanned drone aircraft are at nearer distance and travel at slower speed, and provide a much better platform than earth-orbiting satellites for high-resolution spying.

[1] [http://books.google.com/books?id=6DBnS2g-KrQC&pg=PA204&lpg=P...](http://books.google.com/books?id=6DBnS2g-KrQC&pg=PA204&lpg=PA204&dq=Physics+for+Future+Presidents+spy+satellite+resolution)

[http://www.kmc63.com/phy1000/worksheet- licenseplates.pdf](http://www.kmc63.com/phy1000/worksheet-licenseplates.pdf)

[2] [http://www.firstimagery.skybox.com/](http://www.firstimagery.skybox.com/)

<comment><USER6> The first link you provided also brings up several interesting implications about continuous surveillance from space. The first is that it is _technically_ possible, but economically difficult. Getting ~5000 high resolution satellites in LEO is not really all that much more difficult than getting 1, it's a matter of scale. But getting funding to put that number up is virtually impossible. Even smallsats and other swarm approaches lack the physical space for the sensors (which is limited by physics, not technology). This is why air breathing drones are becoming so important. Make no mistake, NASA continuous aircraft programs like Helios have ready applications in surveillance. And from those heights, the sensors don't have to be nearly as large as on an LEO bird.

The second is that receiving data from that many birds is problematic. There are only so many receiving stations and only so much EM bandwidth available for communication and recovery of the images. Even switching to drones doesn't solve the problem. Even as of last year bandwidth was a limiting factor for the number of drones up in the air at once. [1] So now we have two problems, getting birds in the air, and we still have the bandwidth problem for downlink.

Finally, analyzing that much imagery is nearly impossible. Automated algorithms help some with certain tasks, but storage, processing, accessing, then analyzing all of that on a continuous basis is pretty much impossible. So even if getting enough sensors deployed is solved, and getting bandwidth is solved, it doesn't mean there's enough people to physically look at and interpret the results anyway. And storing all that for later instantaneous on- demand retrieval is still a problem nobody's really solved.

1 - [http://www.defensenews.com/article/20130331/DEFFEAT02/303310...](http://www.defensenews.com/article/20130331/DEFFEAT02/303310009/Pentagon- Seeks-Solutions-UAV-Bandwidth-Crunch)

<comment><USER7> Bandwidth issues are alleviated by directional antennae, right?

<comment><USER6> Not necessarily, you still need to collect the transmission. You can still saturate a frequency no matter how focused if enough transmitters are hitting the same receiver.

<comment><USER8> Exactly. So just deploy enough receivers and focus the transmissions enough so that the frequencies don't get saturated.

<comment><USER7> Or the receivers track the satellites. This can be done electronically, no need for swivels and servos, just an array.

</comment></comment></comment></comment></comment></comment><comment><USER9> I was for some reason completely unaware of this possibility. How much would comissioning such a clip cost, and whats the delay? I looked through the website but couldn't seem to find concrete info. I am surprised that the media isn't using this, like they have taken to using satellite imagery on news shows now. They could show moving imagery of troop movements on the Crimea right now? That seems like it would have a huge impact...

<comment><USER10> Everyone I know who's worked on microsatellite imaging has talked about the financial district. The thinking goes: watch the Panama or Suez Canal and you're the first one to know when an oil tanker gets delayed, etc..

<comment><USER11> You can do that right now on a Bloomberg terminal -- definitely don't need satellite imagery. Ships have transponders that tell you where they are. There are definite financial sector use cases, though.

</comment></comment></comment><comment><USER12> Those guys have done a TED talk about designing and launching their lightweight satellites.

[http://www.ted.com/talks/dan_berkenstock_the_world_is_one_bi...](http://www.ted.com/talks/dan_berkenstock_the_world_is_one_big_dataset_now_how_to_photograph_it)

</comment><comment><USER13> I am more amazed at the lack of smog blocking visibility. Disclaimer: I'm Chinese and I love Beijing as a city, on a good day it's about as clean as LA and on a bad day its...well you can barely see airport terminal when you land.

<comment><USER14> In LA at least, smog goes to about 5000ft to the inversion layer. Looking vertically through that distance you get much better visibility vs looking horizontally through miles of smog. You can notice the effect looking out a plane window at cruise altitude compared to landing and takeoff.

<comment><USER3> Exactly. This is why distant city lights often twinkle even more than stars do: there's more atmosphere between you and them than between you and the stars.

Another effect here is that Skybox's video uses the pan band, which includes infrared to 900 nm[0], and smog is usually pretty transparent in NIR, depending.

0\. [http://skybox.com/uploads/10/08/imageryandvideospecsheet.pdf](http://skybox.com/uploads/10/08/imageryandvideospecsheet.pdf)

And a third important factor is that smog is very diffuse (by definition: otherwise you call it a smoke plume), so if you have the bit depth you can just increase contrast until you get a good image.

(I work at Mapbox on satellite imagery, but wasn't involved with this particular blog post; what I'm saying here is stuff that people in remote sensing Just Know.)

</comment></comment></comment><comment><USER15> Perhaps the most interesting thing about this is the notion that cubesats are not 'toys'. That said, given the low cost of compute one wonders if satellite _mapping_ which is to say generation of structured data on orbit from a high resolution locally obtained imagery is something that might get more work.

Specifically there is a lot of work in the mapping industry for taking a satellite image and turning it into a map. But there isn't nearly as much (if any) work about having a satellite, which can image the same spot repeatedly, providing a downlink of the the _map_ rather than the image. By re-imaging you can just punt on features that are hard to guess and wait for the next pass to see if they will get easier. You might also be able to use multi-angle shadow analysis to pull some 3D feature extraction as well.

</comment><comment><USER16> This is childs-play compared to what the DoD are up to with WAPS, currently in the format of ARGUS.

[http://en.wikipedia.org/wiki/ARGUS-IS](http://en.wikipedia.org/wiki/ARGUS-IS)

Simultaneous video surveillance of 8 x 8km with a single drone, at 15cm resolution.

I'm afraid to say that while this is neat, realtime video maps of the planet will be provided by drone tech, not satellites - for now. When we can stick something in geosync with amazing eyes at a low energy cost (space elevator), this picture may change - but until then... nope.

<comment><USER17> While impressive, I have a hard time believing this claim:

> As ARGUS floats overhead for months at a time, it dragnet tracks every > moving person and vehicle and chronographs their movements, allowing > forensic investigators to rewind the footage and watch the activities of > anyone they select within the footage.

The amount of footage just one pod collects in a short span of time is monumental. They're storing what amounts to decades of footage for just one day's worth of operation. Maybe they have some criteria that trims unnecessary footage, but I can't imagine that saving all that much space as they don't want to miss anything.

<comment><USER16> Storage is cheap. If you're storing on HDDs for quick access, the cost is small - if you're storing on archival tape in silos, the cost drops even further.

</comment></comment></comment><comment><USER18> That is pretty awesome. I would be very interested in limits of modern reconnaissance hardware in orbit, if commercial microsats can produce video with clearly visible cars.

<comment><USER19> Well, in 1985 US Spy satellites (declassified in 2011) had a resolution of 2-3 feet[1]. "Keyhole-class" (KH) reconnaissance satellites have been orbiting the Earth for more than 30 years and reportedly have a resolution of 5-6 inches[2].

[1][http://news.yahoo.com/declassified-us-spy-satellites- reveal-...](http://news.yahoo.com/declassified-us-spy-satellites-reveal-rare- look-secret-143102614.html)

[2][http://science.howstuffworks.com/question529.htm](http://science.howstuffworks.com/question529.htm)

<comment><USER18> That is precisely why I mentioned modern, in particular would be interesting to know if given a good angle they can resolve phone number being entered on a cell phone with physical keyboard (nokia 3390 for example).

<comment><USER20> Not sure if troll. The answer is no. 5-6 inch resolution means that one pixel will represent 5-6 inches. You wouldn't even be able to see the phone.

Edit: Sorry, understood your comment now. The real problem isn't resolution, it's "getting a good angle". Unless your target and the satellite's orbit are magically aligned at a precise moment, you're going to have an extremely hard time getting a satellite into position in a reasonable time (the best commercial satellites can do is around 6 hours).

<comment><USER21> Parent knows this, and was asking what could be done with modern hardware, given that keyhole-class satellites have been up for 30 years.

<comment><USER22> Optical resolution doesn't follow Moore's law. There will certainly have been improvements, but not like we are accustomed to. Computers can be used to model the atmosphere and attempt to recover resolution, but the returns will diminish quickly.

</comment></comment></comment></comment></comment></comment><comment><USER23> Not sure why the frantic movement of the map was necessary. Or a looping video, for that matter. Hold still for a while, let us watch stuff moving without moving the map. Reminds me of the faked Roswell "alien autopsy" video that showed a series very quick edits in succession, no way to focus on anything or get a good look at what is going on. Something seems fishy here.

</comment><comment><USER24> You should be able to see Sean Miller on that northern Africa encampment pretty easily now.

<comment><USER25> In case anyone is wondering - this appears to be reference to this scene from _Patriot Games_ :

[http://www.youtube.com/watch?v=ZoVWedQOQl4](http://www.youtube.com/watch?v=ZoVWedQOQl4)

</comment></comment><comment><USER26> UrtheCast are working on something similar. Their camera recently made it to the ISS and the next step is a spacewalk to install it.

[http://www.urthecast.com](http://www.urthecast.com)

<comment><USER3> And the third microsat company with operations coming online soon is Planet Labs: [http://www.planet-labs.com](http://www.planet-labs.com)

Robinson Meyer at "The Atlantic" did a nice overview two months ago: [http://www.theatlantic.com/technology/archive/2014/01/silico...](http://www.theatlantic.com/technology/archive/2014/01/silicon- valleys-new-spy-satellites/282580/)

It's an interesting time in remote sensing.

</comment></comment><comment><USER27> The near-term future of disruptive spaceflight isn't sending big heavy objects into space---it's sending nano-satellites into orbit around the earth.

</comment><comment><USER28> So, I guess the future of Google Maps is where your GPS actually shows your car driving in real time down the highway.

I love living in a video game.

<comment><USER29> No, it's the future of maps, not Google Maps.

</comment></comment><comment><USER30> Wonder if this can be used over Ukraine/Crimea?

<comment><USER31> I am pretty certain that's exactly what CIA is doing right now, but using their own spy satellite constellation.

<comment><USER32> Google Maps 2.0

<comment><USER33> Paid for with Afghan Heroin.

<comment><USER34> You wouldn't use drug money for spy satellites, they're happily paid for by Congress. Drug money's for stuff you don't want tied back to the organization - assassinations, corruption, etc.

<comment><USER35> That's right. see: _The Politics of Heroin: CIA Complicity in the Global Drug Trade_ by Alfred W. McCoy for more details.

<comment><USER33> This message brought to you by Pat Tillman.

</comment></comment></comment></comment></comment></comment></comment><comment><USER36> Site is down for me. Any mirrors?

<comment><USER37> The video from the page is this: [https://player.vimeo.com/video/88122560](https://player.vimeo.com/video/88122560)

and says its from Skybox's SkySat-1.

</comment></comment><comment><USER38> Ask the NSA how to store data.

</comment><comment><USER39> would LOVE to have a developer API to skybox. The things one could do!

<comment><USER40> Urthecast says they'll be offering one, although I don't know what they'll end up allowing: [http://www.urthecast.com/developer](http://www.urthecast.com/developer)

What sort of things would you want an API for?

<comment><USER39> Oh, I was just thinking of how cool it would be to have a live satellite video to create my own mobile apps.

Urthecast seems like it provides images, what would be really awesome is if they offered some short time interval based image refreshing. (acquire new images every few minutes)</comment></comment></comment>


Web Components with Mozilla's Brick and X-Tag - <AUTHOR> https://hacks.mozilla.org/2014/03/custom-elements-for-custom-applications-web-components-with-mozillas-brick-and-x-tag/ <comment><USER2> Looks really great, Polymer has always felt a little heavy to me. Brick seems like it would fit in my workflow better. Web components are going to be revolutionary for the web, I can't wait until we can start leveraging them.

I don't see any mention of browser support?

<comment><USER3> Can you explain why it feels heavy? I would love to know more.

Polymer's entire stack is a la carte:

* platform.js - polyfills if you just want to use vanilla web component apis, today

* polymer.js - build declarative custom elements that use data-binding, touch, property observation, inheritance

* elements (ui/non-ui) - if you don't want to write any code at all :)

Sugaring libraries like Brick and Polymer that sit on top of the native web component APIs will, of course, be opinionated and do things a bit differently. However, the workflow for consuming components will be similar across the board. Something like `bower install brick-carousel polymer-tabs`. Then use the elements in your pages.

</comment></comment><comment><USER4> Also see intern presentation from Leo last summer. [https://air.mozilla.org/intern-presentations- zhang/](https://air.mozilla.org/intern-presentations-zhang/)

</comment><comment><USER5> How does this compare with the Polymer project?

<comment> codepo8-hn X-Tag leverages the joint polyfill Google is the general maintainer of (Mozilla contribute code to it). It's the same one at the base of the Polymer stack.

Polymer, in comparison to Brick has a much more ambitious approach to being the framework to build apps with instead of aiding the creation of apps. Comparable with Dojo or .NET instead of jQuery.

<comment><USER6> I don't think that's really true about Polymer. It's still just a framework for creating custom elements. What features are you thinking of to compare to Dojo?

The big difference that I see is the template binding portion of Polymer which allows you to define an elements markup with data-binding template sort of like Angular.

<comment> codepo8-hn Yes, very true. I was a bit fast answering this earlier. So far, there are no data-bindings in Brick.

</comment></comment></comment></comment><comment><USER7> The Polymer project from Google is something I've been following and I feel like it holds a lot of potential... Why hasn't it gained traction? Web components seem to be a great vision of the future of web design/development.

</comment><comment><USER8> The code samples and component lifecycle remind me of reactjs (by Facebook). Can anyone comment on similarities and differences?</comment>


Show HN: Leaflet – an API for price personalization - <AUTHOR> https://join.leaflet.co/blog/2018/10/31/announcing-leaflets-public-api <comment><USER2> Name is a little confusing - I thought this had something to do with leaflet.js at first.</comment>


XSV – A fast CSV toolkit in Rust - <AUTHOR> https://github.com/BurntSushi/xsv <comment><USER2> Author here. I was really hoping to get binaries for Windows/Mac/Linux available before sharing it with others, but clearly I snoozed. I do have them available for Linux though, so you don't have to install Rust in order to try xsv: [https://github.com/BurntSushi/xsv/releases](https://github.com/BurntSushi/xsv/releases)

Otherwise, you could try using rustle[1], which should install `xsv` in one command (but it downloads Rust and compiles everything for you).

While I have your attention, if I had to pick one of the cooler features of xsv, I'd tell you about `xsv index`. Its a command that creates a very simple index that permits random access to your CSV data. This makes a lot of operations pretty fast. For example:

        xsv index worldcitiespop.csv  # ~1.5s for 145MB
        xsv slice -i 500000 worldcitiespop.csv | xsv table  # instant, plus elastic tab stops for good measure

That second command doesn't have to chug through the first 499,999 records to get the 500,000th record.

This can make other commands faster too, like random sampling and statistic gathering. (Parallelism is used when possible!)

Finally, have you ever seen a CLI app QuickCheck'd? Yes. It's awesome! :-) [https://github.com/BurntSushi/xsv/blob/master/tests/test_sor...](https://github.com/BurntSushi/xsv/blob/master/tests/test_sort.rs)

[1] - [https://github.com/brson/rustle](https://github.com/brson/rustle)

<comment><USER3> I'm looking forward to playing with _cool_ languages like Rust, Nim, and Elm. But when I read stuff like this I remember why I love using Go every day. Generating binaries for multiple platforms is braindead easy, as is building from source on any system with Go installed.

That aside, really great work OP! I quite like the CSV format and had 2 ideas based on my experience with it that I'd love to get an opinion on:

1\. markdown compiler plugin to expand ![title](filename.csv)

2\. barebones, imgur-like website for quick CSV file[s] upload, maybe also a public gallery to showcase interesting data (obviously all uploads marked public/unlisted/private)

<comment><USER2> > But when I read stuff like this I remember why I love using Go every day.

Me too! I wrote a window manager in Go[1] that I've been using for years now. I love that it takes <30 seconds to download and compile the whole thing. No C dependencies (compile or runtime) at all.

With that said, doing it with Rust should be almost as easy. There's no `cargo install` command, but I think it's only a matter of time. :-)

Your ideas seem cool, by the way! Sharing CSV data would be especially nice.

[1] - [https://github.com/BurntSushi/wingo](https://github.com/BurntSushi/wingo)

<comment><USER3> Thanks for your support, I'll start working on the idea then. I just checked your Gh repos, your productivity is astonishing. Chapeaux! Also, cute handle.

I suspect the problem with CSV will be working around the myriad of broken implementations and making sense of malformed data.

<comment><USER2> > I suspect the problem with CSV will be working around the myriad of broken > implementations and making sense of malformed data.

Indeed. My CSV parser (and Python's) is pretty interesting in that regard. There are very few things that actually cause a parse error. You can see here[1] that the only two errors occur if there are unequal length records (which can be disabled by enabling the "flexible" option) and invalid UTF-8 data (which can be avoiding by reading everything into plain byte strings). That means that _any_ arbitrary data gets parsed into _something_. There are various mechanisms in the CSV parser's state machine that make decisions for you. Mostly, I used the same types of decisions that Python makes. For example:

        >>> import csv
        >>> from StringIO import StringIO
        >>> list(csv.reader(StringIO('a, "b,c')))
        [['a', ' "b', 'c']]
        >>> list(csv.reader(StringIO('a,"b,c')))
        [['a', 'b,c']]

Whaaaa? Yeah, if our CSV parsers were conformant with the spec, then both of these examples should fail. But they succeed and result in slightly different interpretations based on whether a space character precedes the quote. Therefore, "good" CSV parsers tend to implement a superset of RFC 4180 when parsing, but usually implement it strictly when writing.

(My CSV parser ends up with the same parse as Python here, because it seemed like a good decision to follow its lead since it is used _ubiquitously_.)

[1] - [http://burntsushi.net/rustdoc/csv/enum.ParseErrorKind.html](http://burntsushi.net/rustdoc/csv/enum.ParseErrorKind.html)

</comment></comment></comment></comment></comment><comment><USER4> Here's another suggestion for the criticism section (which is a good idea for any open-minded project to include):

Instead of using a separate set of tools to work with CSV data, use an adapter to allow existing tools to work around CSV's quirky quoting methods.

csvquote ([https://github.com/dbro/csvquote](https://github.com/dbro/csvquote)) enables the regular UNIX command line text toolset (like cut, wc, awk, etc.) to work properly with CSV data.

<comment><USER2> That's a wicked cool tool! Thank you for sharing.

I do think there is room for both tools though. One of the cooler things I did with `xsv` was implement a very basic form of indexing. It's just a sequence of byte offsets where records start in some CSV data. Once you have that, you can do things like process the data in parallel or slice records in CSV instantly regardless of where those records occur.

It helps when the CSV parser has support for this: [http://burntsushi.net/rustdoc/csv/struct.Reader.html#method....](http://burntsushi.net/rustdoc/csv/struct.Reader.html#method.byte_offset)

</comment></comment><comment><USER5> From the "criticisms" section: _You shouldn 't be working with CSV data because CSV is a terrible format._

Er, what's wrong with it? Or is this a case of, people using it for things other than what it's meant for? Is there a better format for sending data between different companies using different enterprisey database systems?

My complaint about csv is that people frequently generate it manually and don't understand how to quote text fields, so they don't double any quote characters that are part of the data. Which means I have to spend time cleaning up malformed files.

<comment><USER6> "CSV" is bad because it's not well-formed. There are tons of "CSV" parsers in the wild, and they all make reasonable, but different, choices when it comes to some behaviors. INI is the same way.

<comment><USER7> CSV RFC: [http://tools.ietf.org/html/rfc4180](http://tools.ietf.org/html/rfc4180)

<comment><USER8> Existence of an RFC doesn't mean that people or tooling conform to it.

The CSV RFC doesn't specify an IETF standard, by the way.

</comment></comment></comment></comment><comment><USER9> Did you try benchmarking against kdb+?

Seems like there are always HN commenters lambasting CSV. I am sure they have very good reasons.

But, as for me, CSV is one of my favorite formats. (Sort of like how people like XML or JSON I guess.) I like the limitations of CSV because I like simple, raw data.

I wish the de facto format that www servers delivered was CSV instead of HTML (for reason why, see below). Or at least I wish there was an option to receive pages in CSV in addition to HTML.

Users could create their own markup, client side. Users could effectively use their "spreadsheet software" to read the information on the www. Or they could create infinitely creative presentations of data for themselves or others using HTML5 or some other tool of personal expression.

It is easy to create HTML from CSV but I find it is a nuisance creating CSV from HTML.

Because I have a need for CSV I write scanners with flex to convert HTML to CSV.

I often wonder why I cannot access all the data I need from the www in CSV format. Many have agreed over the years that the www needs more structure to be more valuable as a data source. If data is first created in CSV, then you have some inherent structure to build on; you can _use it_ to create markup and add infinite creativity without destroying the underlying structure.

If data (cf. art or forms of personal expression) cannot be presented in CSV then is it really raw data or is it something else, more subjective and unwieldy?

Whatever. Back to reality. Pay no mind.

<comment><USER2> > Did you try benchmarking against kdb+?

xsv is never ever never going to compete with a real database. Full stop.

It's just a command line tool that tries to make some things faster when slicing and dicing CSV data.

</comment></comment><comment><USER10> If you need to do an indexing step anyways, why not simply import the data into a SQL database, or build this as a wrapper that introspects the CSV file, builds a database schema, and does the import for you? Is the issue limited scratch space?

<comment><USER2> See the "Motivation" section: [https://github.com/BurntSushi/xsv#motivation](https://github.com/BurntSushi/xsv#motivation)

There's a line somewhere between "conveniently play with large CSV data on the CLI" and "the full power of a RDBMS." It's blurry and we won't all agree on where it lays, but it certainly exists for me. (And based on feedback, it exists for lots of others too.)

Also, there are already tools that look at a CSV file and figure out a schema. No need to replicate that.

Finally, the indexing step is blindingly fast and only uses `N * 8` bytes, where `N` is the number of records.

</comment></comment><comment><USER11> Looks like it's based on this CSV parser:

[https://github.com/BurntSushi/rust-csv](https://github.com/BurntSushi/rust- csv)

and it claims to be RFC4180-compliant, which is a good thing.

</comment><comment><USER12> This is one of the things I really love about PowerShell. Import, manipulation and export of formatted raw data like CSV is dead simple.</comment>


Dark Patterns in UI/UX Design - <AUTHOR> https://mobilejazz.com/blog/dark-patterns-in-design/ <comment><USER2> Speaking as an automotive mechanic, This works well in the front-of-shop according to our manager. Tires, while a staple of the garage area, are for some reason kept on proud display in the windows and in the customer area of the shop. This isnt because customers like to look at tires, its because the smell apparently is found to be reassuring by the customer.

Weird displays for exotic fluids are another good example...we have one where a customer turns a wheel to "feel" the viscosity of a motor oil versus a high- end brand. It doesnt translate into any substantial performance gains for the car frankly, as the engine is operating hundreds of degrees hotter than our shop, but the customer applies this experience to the car for some reason.

we also use an interactive display for steering fluid to show customers a performance fluid, but nobody stops to consider most steering systems these days are hydraulically assisted.

<comment><USER3> Wow, this 0W20 feels so much more fluid than the 10W20!

I've never considered that the tires in the waiting area were basically air "fresheners".

<comment> crooked-v That makes me think of the small but very real business in "new car smell" scented sprays.

</comment></comment></comment><comment><USER4> I don't understand how the elevator story is an example of a dark pattern. I see that the sign did not effectively accomplish its goal, but that doesn't fit the definition given: the intent to trick users into doing something undesirable.

<comment><USER5> It's not, it's just a pretty standard and well understood UX principle; A couple of simple words is far more likely to be read than a long fluffy sentence. It's just a UX pattern.

It's like saying effective contrast is a dark pattern.

<comment><USER6> I think it goes beyond that. "Well designed" temporary signage needs to look out-of-place and basically intentionally ugly.

Temporary signage that fits into the environment will appear permanent, and thereby ignored by the public.

This is why graphic designers use the terms like "effective" rather than aesthetic terminology to describe their work. Sometimes ugly designs are the most effective.

</comment></comment></comment><comment><USER7> > Imagine you want to buy something: You pick it, add it to your cart, and go > through the entire check out process. In the final step, you see that the > company has added an extra cost that was not mentioned on previous web > pages.

This drives me insane. I was recently about to purchase something from theMysterious Package Company, which is kind of a "story by mail" thing. They send you notes and letters and trinkets and such, which come together to tell a story.

The product I was interested in was like $85, which is steep but I really like the property it's based on, and I figured that since these were physical items that had to be physically mailed, the cost was probably justified.

Until I got to the last page and they threw in an additional $25 shipping fee. Fuck that noise. _And_ they kept spamming me with "you forgot to finish checking out!" emails for the next week.

<comment><USER8> You may be interested to know that both of those are illegal in the EU. Shipping costs are a special case unless the price is clearly disproportionate. But under the CCR in the UK (I forget the EU directive it's based on) if things are automatically added to your basket, you are entitled to a refund and to keep the item.

The email thing is covered by the GDPR, but was covered by UK law already. John Lewis (a UK retailer) lost a test case for exactly what you described:

[https://news.sky.com/story/spammer-to-pay-damages-after- cour...](https://news.sky.com/story/spammer-to-pay-damages-after-court- victory-10402884)

<comment><USER9> I would never be comfortable getting a refund and keeping the item. Cause the cost just gets passed onto the next person. I would return the item if I got a refund. I either agree to all of your terms and do business with you or I don't agree to all of them and you lose my business.

</comment></comment></comment><comment><USER10> Unfortunately, the author doesn't really address how dark patterns apply to design. It seems to be more about his discovering that dark patterns is a thing, and that other designers should be aware of it.

When I worked at Zynga, I was very confused by their farming mechanics. Good UX meant users shouldn't need to wait hours to proceed with their game. But that annoying wait period created an itch that drove micro-transactions.

Was that a dark pattern? No. There was a decent understanding between user and service how it worked.

The distinction of dark pattern is when that understanding is broken by tricking the user into an unexpected obligation.

<comment><USER11> Do you honestly think making a user pay because you introduced an artificial and annoying wait is in benefit of the user?

</comment></comment><comment><USER12> The darkest of these patterns of simple and becoming ubiquitous: nothing displays unless you have javascript enabled, not even text, images, or other static content. NASA.gov is a prime example of this. So the user leaves JS on and then the site does a whole bunch of bullshit unrelated to the site service using JS.

A slightly less, but more overtly, evil version of this is hiding everything behind an opaque div that is only cleared when JS on their domains is enabled. Reddit's new design is a prime example of this.

</comment><comment><USER13> I recently registered as a user on Twitch, and was surprised by the amount of dark patterns there. It seems like every other action costs money, which isn't necessarily bad, but it makes me wary of clicking on anything because it seems half of them lead to a payment screen. It's just that there's no indication of what's a premium feature and what's not, and that's clearly intended to get users to want to perform an action and emphasizes what they're missing out on.

<comment><USER14> > It's just that there's no indication of what's a premium feature and what's > not

This behavior drives me nuts, and I leave anywhere I see it and I can. It is just so hostile and obnoxious. I don't mind people wanting money for things, but this sort of thing immediately gives me the feeling of interacting with an adversary, that I need to consider implications and watch for double-crosses.

It is really weird to me that people design their stores to feel untrustworthy and sneaky, but I guess it works well enough to keep them at it.

<comment><USER13> Right, and I think it's bad in the long run. If Twitch wants to become a bluechip brand, they're going to have to do a lot to make me at least sorta believe that they have my best interests in mind.

</comment></comment></comment><comment><USER15> Has anyone actually lost anything of value from a dark pattern?

If so, then this seems the place to start the discussion. Until real loss happens, dark patterns will persist.

<comment><USER16> A company I worked for put the bonus acceptance tick box into an automated pop up after successful registration. Peoples reflex reaction to a pop up is to close it straight away when one appears. Most bonuses were never accepted so never awarded. Lots of money saved for the company advertising 'register now' bonuses.

<comment><USER17> > Peoples reflex reaction to a pop up is to close it straight away when one > appears.

It greatly depends on a user type, it might be true for tech users but average Joe will read the pop up almost everytime.

<comment><USER18> I never realized this. Any sources?

A quick google brought me to this aritcle ([https://sumo.com/stories/pop-up- statistics](https://sumo.com/stories/pop-up-statistics)) which indicates a conversion rate of 3-9% for pop ups requesting info / sign-up. So you may be right!

<comment><USER16> Yeah, so you register on the site, press next, your registration is successful, meanwhile a pop up was initiated which contains t&cs and acceptance confirmation. Using your estimate, 3-9% of bonuses were accepted, and needed to be paid to the new customer. It's a dark pattern

<comment><USER18> Yeah it probably is.

I wasn't commenting on the dark pattern though. I was surprised to hear that "common users" don't just auto dismiss pop ups.

</comment></comment></comment></comment></comment></comment><comment><USER19> >You're not designing for the company, but rather for the users who will interact with the product.

So many engineer CEO's really need to understand this. Engineers tend to skip over the first step in this process, defining the segment or demographic, and then end up just having their design team design to meet their esthetics. I've seen this at so many companies.

</comment><comment><USER20> > How many times have you been asked to put in your credit card information > for a free trial or version of something?

I just paid Pingdom $100 since my trial was done. Didn't need to confirm, the card was drawn since I added it on registration.

</comment><comment><USER9> I already have an email filter for the word "unsubscribe". it goes straight to my trash as well as "preferences" for people who think I should "manage my preferences"

<comment><USER21> Do you never voluntarily subscribe to anything?

</comment></comment><comment><USER22> I usually rage quit when I see dark patterns. The only way to win is not to play...

        ... Global Thermonuclear War</comment>


Breaking Up the NSA - <AUTHOR> https://www.schneier.com/blog/archives/2014/02/breaking_up_the.html <comment><USER2> You are linking to a page. At the bottom of that page, there is a link called _" Hacker News thread"_ pointing to [https://news.ycombinator.com/item?id=7277128](https://news.ycombinator.com/item?id=7277128)

Duplicates on HN are annoying, but searching the site every time can be troublesome, so I totally understand when sometimes someone posts a link that is already on the front page.

However, since Schneier linked to the original post himself, I am puzzled — how did you not see that? I am genuinely curious.</comment>


Ask HN: When are Software Patents necessary? - <AUTHOR>

I have followed "Software Patents" indirectly for a while now and have even searched the topic on searchyc.com. I know we all don't want them, or want stricter rules. I don't get into the politics of it all. I just want to know what to do. In this case I'm a bit confused about the edge cases those statements don't represent.
The reason I ask is because I'm currently working on a project that is very unique (at least I hope). My instinct is that I haven't "invented" anything, but it definitely isn't being done in the way that I intend to, elsewhere.
I don't want to be evil about it. I believe in competition and welcome it. But I do want a fair chance at the market for my own business. Maybe there is a business strategy that resolves this? I mostly want to prevent already existing competitors from adopting my ideas/implementations in their own applications quicker than I can build my own business.
Also, I'm not letting this concern keeping me from making progress (there are plenty of other things doing that). But, a bit of clarity might help me stay focused when overwhelming myself with concerns. <comment><USER2> To start with: IAAPL.

In my opinion, there are only three times when software patents are useful:

1\. There is a hard computer science problem at the very core of your product or service -- one that you have solved, that competitors have not, and that gives you an advantage. Further, the answer to this problem, once known, is easily replicable. The canonical example of this is Google/PageRank, and the closest non-software analogue is drug research. This is what software patents are designed to protect and they usually do an ok job of it.

2\. You are a large business and you have grown to the point that you are attracting attention from patent trolls and other large, patent-holding entities. At this level, the quality of the patents usually doesn't matter nearly as much as the quantity. It becomes a "my stack is bigger than your stack" type of negotiation, and having a very large pile of manure is useful because people are forced to assume there is a pony or two in there. If you want to see an example of a company that has recently had this realization, look at Huawei and compare their total number of issued patents with their total number of patent applications.

3\. You are inventing a completely new type of _hardware_ device and you also file for patent on the software that interacts and enables it.

Two special cases:

If you are a startup, then (IMO) it rarely pays to file for patents unless you a) expect to get really big, or b) want to sell out to a big company. This is a special case of #2. Otherwise, execution trumps IP. Startups are just not big enough to worry about (or be targets).

It also may pay if you are creating a completely new market - think RSA. If software patents are part of this, then this is probably a special case of #1.

<comment><USER3> _To start with: IAAPL._

I Am A Programming Language?

<comment><USER4> Not sure if you're kidding, but I think it's _I Am A Patent Lawyer_.

<comment><USER3> Thanks, I seriously had no idea.

</comment></comment></comment></comment><comment><USER5> My current analysis led me to the following current (!) conclusion.

A lot of "software" patents are invalid, because they are no real invention in it. They are nothing more than an idea ownership claim. They are never put in application in any business. Their purpose is to be land mines, hoping for a big $ company to accidentally step on it.

On the other side there are patents describing really innovative procedures and software technology requiring a significant investment to be applied in an industrial process. The investors would logically want to secure their investment until break even.

If you feel yourself in the second group, patenting is still questionable. By blocking competition, one is cutting out the possibility to benefit from it. A good example is Groupon. A german company copied the unpatented idea and developped it Germany. They had the skill, they got the market by leveraging the cultural advantage they had regarding german marketing. 9 month later Groupon bought them 50M€. Groupon bought a proven team and market without initial investment and risk. It is a win win transaction. If Goupon had pattented their idea, they wouldn't get this.

<comment><USER6> Firstly, by the time Groupon got the patent it would've been irrelevant. It takes years.

Secondly, being in Germany (ie the EU) software patents are largely unenforceable [1] anyway.

Software patents are almost uniquely a US problem, despite lobbying efforts to introduce them in Europe, Australia and other places.

But my point is that whether or not Groupon applied for a patent in this case is basically irrelevant.

The story about software patents is they may end up driving Internet businesses, which are highly portable, to jurisdictions more friendly to their activities.

The only beneficiaries of software patents are lawyers and patent trolls (who have nothing to lose by definition because they don't produce anything).

What would be ironic would be if a Troll patented the business model of filing and buying patents by the truckload and then suing possible infringers right before suing every other patent troll.

Oh and regarding Google's PageRank (mentioned elsewhere in this thread), the patent is basically defensive. It doesn't really disclose the details of it such that it could be easily reproduced. Plus, even if it did, there's an awful lot more you'd need to do to mimic Google.

[1]: [http://en.wikipedia.org/wiki/Software_patents_under_the_Euro...](http://en.wikipedia.org/wiki/Software_patents_under_the_European_Patent_Convention)

</comment></comment><comment><USER7> Out of all of the software patents granted, probably only 0.01% of them are arguably patentable. By 'arguably patentable,' I mean that there is actually debate to be had on the issue. All of the rest of them are frivolous and no one other than MBAs and patent lawyers think that they are valid (or should exist).

<comment><AUTHOR> I can definitely relate to this with a point of reference. A freelance project I worked on this year was funded by an overly prideful MBA coming out of Sun Microsystems. He was very stubborn and refused to continue work until he could secure a patent despite my warning.

$5000 later his lawyers warning came by phone. It is clear to me now that he was just following some MBA checklist.

</comment></comment><comment><USER8> What i find is that patents on software just protect your intellectual property, it only protects the idea if one of your employees that gets smart and leaves your company and starts to compete with you doing the same thing with the same software processes. In software all that matters is the final result , and so the result can be gone about to acheive in many different ways. So my advice is to not worry about protecting your IP until you have enough money to go after those that are infringing on said patent.This is a good rule of thumb.Also make sure that your process is not "obvious"(example: one of the most obvious ways to measure liquid is by pouring it into a container that contains precise measurements/volume), you may be infringing on someone else's patent :)

</comment><comment><USER9> 1\. You are expecting/hoping to be bought and you want to increase your IP assets to be more attractive.

2\. You expect to someday become a target of patent suits and you need defensive patents.

3\. You have something really innovative and it's obvious to the user/externally visible so you want to patent it before someone else does or so you can license it. I've never understood the point of patenting algorithms that aren't visible from the outside.

Besides these three examples, I don't see the need for software patents. Unlike say, a physical mechanism, software is largely invisible, so trade secrets should offer enough protection for the vast majority of cases.

</comment><comment><AUTHOR> Thanks all. Your answers are consistant with the vibe I've gotten from past software patent discussions on HN. I'll lay the matter to rest.

</comment><comment><USER10> never.

<comment><USER11> Sometimes?</comment></comment>


Ask HN: Are there any Thunderbolt3 or USB 3.1 docks? - <AUTHOR> Are there any _actual_ Thunderbolt3 or USB3.1 docks that work? Amazon is littered with USB 3.0 docks that have a USB-C connector, but can't do full gig-speed network transfers while dual monitors are attached.<p>Has anyone found an _actual_ thunderbolt3 or USB 3.1 dock that delivers full gigabit network speed while also supporting dual monitors (1080p is fine)? Thank you! <comment><USER2> I think the CalDigit TS3 Plus Thunderbolt 3 Dock would work for you. CalDigit has another, cheaper, Thunderbolt3 dock as well. Hope this helps!

<comment><AUTHOR> Any personal experience with the TS3? Curious how it works "in practice"</comment></comment>


Integrating a VT220 into my life - <AUTHOR> https://drewdevault.com/2016/03/22/Integrating-a-VT220-into-my-life.html <comment><USER2> Quasi-related:

I've always wanted an ultra-low-power dumb terminal using eInk paper displays - something you could hit days of runtime with using a small battery pack. eInk uses no power when they're not updating - so idling or long-running operations would hardly use any power.

So far the easiest approach I've found is using a hacked Kindle with an attached keyboard. You can run a terminal client on it and ssh into another system, which I think is a sensible access mode.

Ideally, something like the AVR PicoPower microcontrollers would be fantastic - they run on ultra-low-voltage, eat 1 mA/MIPS, and idle down to basically nothing (<1ma active and a few dozen microamps during sleep). ssh is probably out of the question but I could toss a VT100 stack on it. Unfortunately the eInk display is the hard part there - most eInk parts have very poor documentation.

<comment><USER3> Kind of random, but you made me think of it. I always wanted to do an entire site in PDF, with all the links opening other pdfs on the same server. That or postscript...

<comment><USER4> Funny you bring that up, I was just reading about this:

 __ _When Steve Jobs left Apple and started NeXT, he pitched Adobe on the idea of using PS as the display system for his new workstation computers. The result was Display PostScript, or DPS. DPS added basic functionality to improve performance by changing many string lookups into 32 bit integers, adding support for direct output with every command, and adding functions to allow the GUI to inspect the diagram. Additionally, a set of "bindings" was provided to allow PS code to be called directly from the C programming language. NeXT used these bindings in their NeXTStep system to provide an object oriented graphics system. Although DPS was written in conjunction with NeXT, Adobe sold it commercially and it was a common feature of most Unix workstations in the 1990s._ __

[https://en.wikipedia.org/wiki/PostScript#History](https://en.wikipedia.org/wiki/PostScript#History)

<comment><USER5> I remember some fuss being made about this in the early days of OS X, about "looking glass" (the gui system) using display postscript. Anybody know anything about that? If it's still a part of OS X or if it fell by the way side?

<comment><USER6> OSX was alleged (by Apple, even) to use PDF as the display language, but Quartz just has an object model that maps very nicely to PDF, making PDF transformations and export very easy.

</comment></comment></comment></comment></comment><comment><USER7> The VT220 is fascinating as an example of "old" computer technology that still influences the devices we use on a daily basis.

I've recently had to understand exactly which control characters are sent between the app and the terminal ( _emulator_ ) for delete and backspace.

Guess which ASCII control characters is sent by the Backspace key on your PC keyboard? ASCII DEL (0x7F/^?)! All modern terminal emulators on Linux and OS X (including the Linux console, xterm and libvte-based terminals, OS X Terminal.app and iTerm2) now default to sending DEL [1] when you press the Backspace key... now it makes much more sense that on a Mac keyboard, that key is labeled "Delete" and used to have the same symbol as on the VT220!

Oh, and what character is sent when you press the (forward) Delete key? Why, the escape sequence 1B 5B 33 7E (ESC [ 3 ~), of course :) Because the terminals we emulate didn't have a key for forward delete ;)

For bonus credit, lookup the historical usage of the Linefeed (LF/0xA/^J) and CarriageReturn (CR/0xD/^M) characters [2]. There was much more than just the Unix/Mac/Windows divide in text files...

[1] yes, you can swap for ASCII BS (8/^H), but if your app needs that, consider updating it.

[2] [https://en.wikipedia.org/wiki/Newline#Representations](https://en.wikipedia.org/wiki/Newline#Representations)

<comment><USER8> Same with H, J, K, L in VI because of the ADM 3A's escape sequences emitted when using that terminal's arrow keys.

</comment></comment><comment><USER9> I had a Wyse dumb terminal attached to my main Linux workstation for a few years in the late 90s, back when such things were fairly easy to pick up for free.

Its not to be sneezed at for doing serious programming work. The green on black, text only CRT was super high contrast (especially compared to any modern LCD), and the complete lack of distractions that come with a multitasking desktop environment (email notifications, chat, web browsers, Facebook, etc) mean that it's productive for serious work, and pretty much _only_ serious work. I'd happily do this again if I could get them for free, but paying shipping seems a bit much.

<comment><USER10> Is the contrast on an old CRT really better than on a modern LCD screen ? I find that a bit hard to believe but I certainly don't have any way to check. You could run a plain vanilla window manager with a single xterm if you want to avoid distractions.

<comment><USER11> It depends. You can crank up the brightness much higher on a CRT, and so you can get better contrast in a sunny room. In a dark room, any decent LCD and any half-decent CRT can get the characters uncomfortably bright.

But it's only 80x25! I may have read megabytes of email and Usenet on such things, but I always lusted over the big displays of the Suns that could fit 40 rows down, and change character size to match my desires.

So I'm all for adding more screen real estate, but a VT220 isn't my pick for best way to do that. I prefer a second large monitor in portrait mode.

<comment><USER9> Sure, CRTs have better contrast than LCDs in general, but monochrome CRTs have incredible contrast. I guess it's because they don't have separate red / green / blue subpixels (2/3rds of which would be off for green on a color CRT). Also, the particular shade of green phosphor they use is really intense, I guess they just use the wavelength the eye is most sensitive too, because they don't care about how it mixes with other colors.

</comment></comment></comment></comment><comment><USER12> Looking at that workspace I just need

\- another large monitor

\- my MTG cards collection back

\- at least four magic cubes

\- a nerf gun

and ... a VT220. At least I got that very same keyboard already.

Seriously, that looks like a really nice working space, completely ignoring the fact that I just learned about sway (I'm on i3 here) in the process.

<comment><USER13> You would also need a vial of Uranium Ore. [http://unitednuclear.com/index.php?main_page=product_info&cP...](http://unitednuclear.com/index.php?main_page=product_info&cPath=2_4&products_id=782)

</comment></comment><comment><USER14> I spent many allnighters on a Datapoint 3300 with TECO as the editor in the early '70s.

[http://www.computerhistory.org/revolution/mainframe- computer...](http://www.computerhistory.org/revolution/mainframe- computers/7/178/717)

<comment><USER15> I used to use a VT52 and TECO, later replaced by a VT100. The smooth scrolling seemed impressive at the time. Not long after that I moved into embedded software and wrote firmware to emulate these terminals, mostly in Z80 assembler.

</comment></comment><comment><USER16> I've long since given away or sold most of my old DEC terminals, I've still got a couple (VT340, VT340+, VT220 x 2) but the keyboards don't hold up. I'm down to two working keyboards (an LK201 and an LK401). I've been tempted to wire up a HID -> VTxx adapter using a simple embedded controller. I'll have to add that to my list of fun projects for a long weekend.

Generally though when using them on older machines I am amazed at how frustrating 80 columns of 24 (or 25) lines can be! Sure you can do "wide" mode and get 132 columns but still, the desire to see more screen real estate is a constant issue.

</comment><comment><USER17> I was discussing an identical project with a coworker a while back, and have been stalking ebay for VT2X0s occasionally since. However they seem to be incredibly rare in the UK, and all the listings shown require shipping from the US with monstrous fees.

Although my idea was not necessarily integration in to my work flow, more a dashboard of network/server stats etc.

<comment><USER18> Author here. I got the pictured one refurbished through vecmar.com, and I just bought a second one on eBay (for use at home).

<comment><USER19> Very cool post :)

The VT220 supports Sixels: [https://en.wikipedia.org/wiki/Sixel](https://en.wikipedia.org/wiki/Sixel)

I wonder if PySixel would work on real hardware: [https://github.com/saitoha/PySixel](https://github.com/saitoha/PySixel)

HN thread about libsixel: [https://news.ycombinator.com/item?id=11340367](https://news.ycombinator.com/item?id=11340367)

<comment><USER18> That's pretty cool! It reminds me of a similar project I did called z80e, which is an emulator for TI calculators [0]. It uses unicode braille to "render" the screen onto a terminal. Doesn't work on the VT220, though, for obvious reasons.

[0] [https://github.com/KnightOS/z80e](https://github.com/KnightOS/z80e)

<comment><USER19> Fascinating!

I'm reading the source code of z80e (tui.c). Your idea of using unicode to display pixels is very interesting. I imagine a fallback mode for libsixel for terminals not sixel-compatible (or the opposite).

I try ton compile but it fails (first because scas was missing and now I have an "a2x: not found" in scas).

I appreciate a lot the "multitarget rendering" (emscripten, tui, sdl...).

<comment><USER18> a2x should be provided by the asciidoc package on your distribution. It's used to compile man pages.

I'd merge a pull request adding libsexl support!

<comment><USER19> > a2x should be provided by the asciidoc ...

Yes, thank you (I'm on Debian). I know a bit more after reading the wiki. I will follow the instructions for the sdk.

> I'd merge a pull request adding libsexl support!

Cool! I'm discovering the new world of custom tools for TI (KnightOS, Axe Parser, OS2...).

I will look at the SDL UI to see what I can do.

BTW z80 is good target for superoptimization and I'm very impressed by your toolchain and its history :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> I feel old; I used a Wyse 320 and later a VT220 as my sole / main IO device in 1995-96 - connected to a SPARCstation 10 via a multi-port serial box at 9600 baud, with heavy use of GNU Screen.

Even now, I still use a variation on that - a tall terminal window, ssh, and screen - for the majority of my work.

<comment><USER8> LOL. What's old is new again, mate. When I worked at Shell in 1989 and 1990 we were going to throw out Sun 3 desktops as underpowered and useless. Instead I convinced them to recycle the 3/50s and 3/60s as X terminals by replacing init and booting straight into X. You could use local X terms and telnet (ssh? what's that?) to systems, but we found it was faster to use XDM and supply the desktop from a server like a Sun 4/280.

I would kill to have a modern-day equivalent of the native UNIX desktop I had on a 4/110 after we ditched the 3/50's: the system had two frame buffers and you could switch between desktops by crossing the desktop boundary in any direction. Probably easier to just use two screens these days but at the time that meant putting two extremely large and deep CRTs on your desk.

Here we are 25 years later and xterm+ssh is still the easiest way to get my UNIX work done even if everything else (e-mail, productivity apps) is in Windows. Where's my modern-day NCD X terminal equivalent and unix desktop?

</comment></comment><comment><USER21> Honestly, were it not for a web browser I really wouldn't need a GUI at all: everything else I do is a terminal and emacs (sure, both are running in X, but I don't really use their GUI features for much).

I remember when I was a kid with access to a local university's systems, and the only way to do anything was with dumb terminals. I telnetted to MUDs, FTPed software, read Usenet — in a lot of ways those dumb terminals were smarter than my current computer. Sure, I can still do all that, but the magic is gone.

<comment><USER22> We even had a space invaders - ran on vt52s up. Played quite nicely unless there was a bit of latency and the animations went weird.

No one would let us near the hyper-expensive VAX with huge (21"?) vector monitor and light pen terminals.

We'd have tried to make asteroids of course :)

</comment></comment><comment><USER23> At work, I have a Wyse 50 tailing my console log. It's actually really useful to be able to debug stuff when something goes awry on my development machine.

For fun at home I have an ADDS Regent 25 with a raspberry pi inside. Turn it on, it boots to Debian and binds to the network. I force the kids to play 'snake' on it when I'm sick of them using iPads.

In my home "office" I've got my VT102 tied to a PDP/8 simulator on a pi, with one of these kit front panels:

      http://obsolescence.wix.com/obsolescence#!pidp-8/cbie

(Those were before my time, although I remember playing ADVENT on one (or a DEC 10?)

</comment><comment><USER24> I also have a VT on my desk. Mine's a Wyse 55. [https://i.imgur.com/ke9Fypp.jpg](https://i.imgur.com/ke9Fypp.jpg)

I don't really use it for editing code, I just needed to put something on the screen that wasn't email or irc (which would reveal semi-sensitive information.)

</comment><comment><USER25> Or you could just run cool-retro-term[1] for the similar visual effect.

[1]: [https://github.com/Swordfish90/cool-retro- term](https://github.com/Swordfish90/cool-retro-term)

<comment> mark-r Those examples all seem to have excessive bleed from the bright areas. If those were physical devices, I'd be turning down the brightness control immediately.

Anybody come up with a version for iOS or Android yet? Seeing it on a tablet would be a real juxtaposition.

<comment><USER5> Is there a windows one?

<comment><USER25> Not sure. Since it's based on Qt it can be possible to build it I suppose.

<comment><USER5> I just mean any kind of CRT terminal emulator

<comment><USER25> No idea. I haven't used Windows in a long time already :)

</comment></comment></comment></comment></comment></comment><comment><USER26> These things continue to show up in the weirdest places as never-intended consoles.

Phone switches, network devices, control panels, etc.

There were so many of them leftover from the switch to PC's and they always seemed to work (once you got the parity right). Usually in some closet somewhere, balanced on top of a box with the keyboard leaning against the wall. Need a power cable? Grab one from a PC, use it to power up, change some settings, turn it off and put the cable back.

Thank you Ken Olsen.

</comment><comment><USER27> I wanted to do this, but used VTs are pretty expensive (mostly the cost of shipping).

I do have an old French Minitel terminal, though - anyone know what the protocol for those is like?

<comment><USER20> Easy:

[http://serverfault.com/questions/176822/how-do-i-use-a- minit...](http://serverfault.com/questions/176822/how-do-i-use-a-minitel- terminal-as-a-linux-dumb-terminal)

With a RPi:

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

</comment></comment><comment><USER28> I have a VT220, and it's pretty cool apart from the high pitched whining sound it makes. I think I might have to recap it at some point

<comment><USER29> My cochlear implant interferes with it actually. I'm intrigued to figure out why.

</comment></comment><comment><USER20> I can't remember the exact model number, but a company sold gas-plasma- discharge orange-on-black compact "flat panel" VT220 clones years ago.

I owned one for a while before selling it off (along with a 19" gas plasma flat panel for a MicroVAX that I got at Goodwill for $25 - now THAT was a steal that I turned into a nice profit!).

<comment><USER30> Hmm, seem to recall Wyse had a gas-plasma display. The Googles do nothing to turn up a model #, though. Several vendors made them, with Wyse being the more popular brand IIRC, and early Toshiba laptops used them (had a 386 with a gas- plasma display).

<comment><USER20> Hah! Found my own email post in an google search.

Planar ELT320

[http://www.sunhelp.org/pipermail/sunhelp/2004-January/019825...](http://www.sunhelp.org/pipermail/sunhelp/2004-January/019825.html)

</comment></comment></comment><comment><USER31> For our next LAN party this week, we did a small player interface to welcome users using VT220. Here is it working with an acoustic coupler throught a field phone: [https://vimeo.com/159678785](https://vimeo.com/159678785) :)

</comment><comment><USER32> I recycled a couple of nice Hazeltine terminals about eight years ago ... About three years ago I was wishing that I had them back. Projects like this as well as their use (with a serial multiplexer) as the console for a rack of servers remind me of the good old days.

</comment><comment><USER33> I picked up a VT220 a year ago at an estate sale, the previous owner was using it with amateur radio gear. Prices (especially including shipping) seem prohibitively expensive otherwise!

</comment><comment><USER34> I've still got an old vt100. Last time I used it, it was still working, although admittedly, that was in the early 2000s. :)

<comment><USER35> Lucky you. I also had a working VT100 some years ago. It's a nice device but rather huge. Still I hope to have it back. It was nice to see those monsters in The Big Short.

</comment></comment><comment><USER36> I bought an apple IIe for nostalgia and one of the first things I did was hook up a null modem cable to the serial card and make it a linux terminal. I was able to use google via elinks. My kids love the various games like ultima because it's like minecraft (blocky) but you can't build in it.

</comment><comment><USER37> I can't help but think about waste of power and radiation of CRT. Green movement poisoned us for life.

</comment><comment><USER38> I used VT320 (amber) "back in the day" a lot. I wish I could find one to hook up to my workstation or an SGI Octane2 (for full retro feeling to it). I would only write text/screenplays on it anyways. Something about CRTs that modern monitors haven't captured.

</comment><comment><USER39> Wow. I used VT220s and 230s in college, and remember those days fondly (they were hooked up to VAXen, and there was nothing quite like it, really).

I wonder if I could get a keyboard and enclosure someplace and bolt on an LCD panel from a netbook (if only for the sake of power consumption).

</comment><comment><USER40> I've had a handful of these over the years, initially in my home racks and workstation, later migrating to my datacenter so I had an always on stats screen showing traffic, alerts, etc.

+1 for good tmux'ing your output.

</comment><comment><USER41> From a couple of years back, an article on using a VT220 with OS X: [http://jstn.cc/post/8692501831](http://jstn.cc/post/8692501831)

</comment><comment><USER42> Darn, I just got rid of a VT420 that I had kept for years. That would have been a really cool (geeky) project. :(

<comment><USER43> I used mostly VT420s in my old VAX sysadmin days - I always preferred the white text on black ones. Nice thing about VT420s was the split screen dual serial port mode.

</comment></comment><comment><USER44> Whats in the vial?

<comment><USER18> Uranium ore samples.

</comment></comment><comment><USER45> That is what one could call Nice (R). :)

</comment><comment><USER46> The Ann Arbor Ambassador was the _ne plus ultra_ at the end of that age, it did up to 60 lines of 80 characters, had the fancy features to minimize data transfer, and could do it all at 9600 baud. The VT220 was a nice evolution of the clunky VT100, but there wasn't a _vast_ difference from, say, the VT52 to it, besides the extra commands that allowed minimizing data transfer (at the cost of rather hairy redisplay code).

</comment><comment><USER47> I want my VT50 back. 80x11, capitals only, and cool mechanical keys.

<comment><USER48> The VT50 looks so awesome. But I'm afraid they are rare as hell :( At least I have a VT100 clone (CIT-101)...</comment></comment>


Ask HN:  How is Loopt making money? - <AUTHOR>

Anyone know? <comment><USER2> Some old discussion here:

[http://www.techcrunch.com/2007/11/15/loopt-may-be- friending-...](http://www.techcrunch.com/2007/11/15/loopt-may-be-friending- more-mobile-networks/)

> Loopt has remained tight lipped about who they're talking to, but the pitch > is pretty clear. Competition is driving down mobile voice revenues which > Loopt says they can help offset by driving new profits in data plans people > pay for to use the program. Currently they make money through $2.99/month > subscription plans or by being bundled in with a phone data plan. Location > based services and advertising are also other key revenue sources. Loopt > says that 51% of all mobile application revenue already comes from location > based services.</comment>


Crowd-sourced list of European Investors - <AUTHOR> https://docs.google.com/spreadsheets/d/toze9qxRxOXm4DXJTx9polg/htmlview?pli=1# <comment><USER2> I have a _huge_ spreadsheet with EU investor info that I still plan to clean up and make public. One of these days...

</comment><comment><USER3> This is really useful. I'll be curious to see how the scammers tab expands over time...</comment>


Our commitment to our customer's security - <AUTHOR> https://blogs.technet.microsoft.com/mmpc/2016/11/01/our-commitment-to-our-customers-security/ <comment><USER2> Blah blah blah.

Back in 2002 Billy tried to interest Microsoft in Trustworthy Computing. [http://www.zdnet.com/article/10-years-since-the-bill- gates-s...](http://www.zdnet.com/article/10-years-since-the-bill-gates- security-memo-a-personal-journey/) It's now 2016 and they're still "trying" to figure it out.

Microsoft has a market cap of $465 billion. They currently have $136 billion in cash. Their ongoing security failures don't seem to have affected them all that much.

Their ongoing efforts remind me of the classic Far Side cartoon [http://adventuresinsidewaysliving.blogspot.com/2008/08/farsi...](http://adventuresinsidewaysliving.blogspot.com/2008/08/farside- quick-hits-merl-post.html) _Knowing how it could change the life of canines everywhere, the dog scientists struggled diligently to understand the Doorknob Principle_

I will grant them one thing. IMO it's impossible to defend against spear- phishing. I don't think _anyone_ will ever solve that one. Can't overcome human nature: "Oh look, cute cat GIFs!".

</comment><comment><USER3> The short version:

 _" To address these types of sophisticated attacks, Microsoft recommends that all customers upgrade to Windows 10, the most secure operating system we've ever built, complete with advanced protection for consumers and enterprises at every layer of the security stack."_

</comment><comment><USER4> Once a vulnerability is being actively exploited it makes sense to disclose it to the public even if a fix is unavailable. Doing so gives users the chance to protect themselves by changing their behavior until updates become available.</comment>


Microsoft's robot editor confuses mixed-race Little Mix singers - <AUTHOR> https://www.theguardian.com/technology/2020/jun/09/microsofts-robot-journalist-confused-by-mixed-race-little-mix-singers <comment><AUTHOR> "Because they are unable to stop the new robot editor selecting stories from external news sites such as the Guardian, the remaining human staff have been told to stay alert and delete a version of this article if the robot decides it is of interest and automatically publishes it on MSN.com. They have also been warned that even if they delete it, the robot editor may overrule them and attempt to publish it again."</comment>


Not So Spooky: Linux "Ghost" Vulnerability - <AUTHOR> http://blog.trendmicro.com/trendlabs-security-intelligence/not-so-spooky-linux-ghost-vulnerability/ <comment><USER2> This article is misleading.

"First of all, this vulnerability has long been patched" \- not true, it wasn't patched on RedHat and Debian until yesterday.

"many apps are not at risk" \- so, what, nothing to worry about?

"the functions that are the subject of this vulnerability are obsolete" \- obsolete they may be, but a ton of software still uses them.

"Taken together, the risk of actual exploits targeting GHOST is relatively small compared to other vulnerabilities like Shellshock or Heartbleed." \- just because it is not widely known how to exploit this does not imply the risk is small. Let's wait until someone figures this out or the POC exploit is made public.

<comment><USER3> It is not misleading in any way, actually. It accurately and factually reports the difficulties one has to grapple with in order to use this exploit successfully. It paints a picture of this exploit as being limited in scope, limited in execution, and limited in use, all of which are true.

The sentence after the first one you quote explicitly explains this sentence, so it is not misleading.

The author never alludes to the idea that "many apps are not at risk" equals "nothing to worry about". He links to an e-mail that describes a list of apps that are apparently not affected by the bug. In fact, the point at the beginning of the paragraph, "not all applications are at equal risk", very fairly summarizes his point.

The third point about obsolete functions is a minor one, but again, accurate and useful in lowering the scope of potential attack targets.

Finally, we know how to exploit this. Qualys is even going to release a metasploit module. And the risk is small not because we don't understand it, but because _the risk is small_ , as has been pointed out many times in the article. It's been figured out. It's very simple, and it's not very useful. This article explains that.

\--

What the article doesn't explicitly mention is the real silver bullet in the whole thing: you have to inject a DNS record into gethostbyname's buffer that is an invalid record. It's bigger than DNS records are allowed to be and uses invalid characters. So every DNS resolver and server in the world is going to ignore it. So the only way you can really exploit this reliably is by 1. hacking a DNS resolver used by a server, or 2. man-in-the-middle attacks. It is nearly impossible to use this attack on random targets on the internet.

<comment><USER4> Having your own DNS server is not substantially harder than having your own HTTP server. Get a domain, set up bind or similar (or a crocked variant thereof), make your domain authoritative for its subdomains, set up forward/reverse DNS on your bind server for a subdomain for an IP address, hit servers from that IP, anybody that resolves it gets pwned.

Not counting DNS propagation delays, this is not even an hour of work. Heck, you wouldn't even need a noncompliant version of bind - sockets and your favorite scripting language could be set to return whatever DNS-looking replies you want.

<comment><USER3> I think you missed where I said a resolver would not accept these exploit records. You can not set up your own DNS server and have a resolver pass your records on. You have to be the target's resolver or mitm it. Or do it locally.

<comment><USER4> I guess I'm confused about something, then.

My understanding of DNS is that you want to look up somesite.corp.com, your computer first goes to its configured resolver. Resolver returns what it knows about the domain you wanted.

If that information includes an NS record, it has to make another query to the server mentioned in that record to actually retrieve the information (since, say, 22.214.171.124 doesn't have their own records for the stuff somedomain.corp is authoritative for)

Is this incorrect?

<comment><USER3> _> it has to make another query to the server mentioned_

Almost. It's the resolver making the query, not your client, and the resolver won't accept the bad records.

\---

Your client application uses your host's DNS resolver library to query a DNS resolver for DNS records. It will only ask the configured resolver for records, and only receive them from the same configured resolver. So all records must go through your resolver. ('DNS resolver' = '126.96.36.199')

The resolver will do all the heavy lifting with external servers to find your records. Think of it as the 'gateway': if you are inside a network with no internet access, but you still want to resolve records (say, on a captive portal wifi network), some server needs to straddle your network and the internet to talk to internet-side DNS servers. The resolver does that work so your client doesn't have to, and can be on multiple networks, etc. (On a wifi network your resolver will probably be '192.168.1.1' or some other internal router/server)

So basically, your client [and its resolver library] will never ever talk to someone else's DNS server directly. So it won't talk to an 'evil' DNS server either. It will only talk to your 'good' resolver ("18.104.22.168"). And your 'good' resolver is checking to make sure the responses are valid, and truncating or dropping bad responses so you don't get them.

So no, you cannot just set up an evil DNS server and own random hosts. You need to be the resolver. But your IP probably isn't 184.108.40.206, so you will probably not be able to own random targets.

</comment></comment></comment></comment></comment></comment><comment><USER5> The fact that the patch has been out since May 2013 doesn't help if few systems have it installed.

Qualys has developed a PoC that runs arbitrary code against a sample target.

</comment><comment><USER6> These days you get a scary name and a logo, and _then_ you find a bug to go with it...</comment>


Reflex: Practical FRP (part 2) - <AUTHOR> https://www.youtube.com/watch?v=3qfc9XFVo2c

<comment><AUTHOR> This is part 2 of the reflex FRP presentation at the NY Haskell meetup. This video talks about the semantics of reflex and gives an overview of the API.</comment>


DuckDuckGo Hits 14M Searches in a Single Day - <AUTHOR> https://www.searchenginejournal.com/duckduckgo-hits-milestone-14-million-searches-single-day/184179/ <comment><USER2> For the team here at DuckDuckGo, we were excited not only to hit 14M searches in a single day but to also cross the threshold of 10B total private searches served. Of which 4B were from last year alone.

We wrote a post covering it in our newly launched blog: [https://spreadprivacy.com/10-billion- fc7808c91343](https://spreadprivacy.com/10-billion-fc7808c91343)

It is always an amazing and humbling moment when we hit a new milestone in our metrics. Our team is so incredibly passionate about what we do. To have people from all over the world rally around this concept of raising the standard of trust online and build this product is one thing. But, for users to endorse that mission at such a growing pace and to share us with their friends and family -- it lets us know we're truly making a difference for people who want to be more private online, and that is incredibly rewarding.

So thank you, to all of you who search with us, all of you who know privacy matters, and all of you who work along side us to show that privacy is not a fringe interest but something we can all have!

<comment><USER3> DDG is a great success story, I wish the whole team the best.

I wonder how an exit will play out though. A big factor with DDG is user trust - that seems to limit the list potential buyers to the few that could credibly maintain that trust.

Then there is the IPO route, but that has it's own challenges. You could argue that up until now DDG has had no competition because Google doesn't think it's worth raising its hand to swat a fly. But there is no flying under the radar after an IPO. What if Google promoted a new "no track" feature which matched DDGs benefits without having to do dumb things like append query arguments, modify location, and run plugins?

You might say Google would never give up this much tracking control, but there are two caveats. First, if it's just an option buried in settings there will be limited uptake yet DDG's ability to claim differentiation would be nullified. Secondly, as DDG itself says, search can still be a great business without having to track people.

If I were lucky enough to be in DDGs position I would push for a Microsoft acquisition. MS has kept enough promises in recent years that they just may be able provide DDG users enough guarantees to maintain the trust. People have mentioned Apple but that seems like a lower probability for a variety of reasons. An MS deal would avoid the massive hassle of an IPO and enough resources to chip away at Google indefinitely without being pressured into short term decisions.

For now I'm just glad DDG is here trying to do some good.

<comment><USER4> Why would DuckDuckGo need to exit? Are they losing money?

<comment><USER5> Money can corrupt, but so can poverty.

There is a financial sweet spot where the contributors to DuckDuckGo are fat and happy and there aren't greedy investors wanting to monetize all that trust.

Google has already occupied the greedy investor niche. DDG has carved out a niche where, I fear, the greatest threat is a lack of money for the people building and maintaining DDG. If they feel underappreciated, they may start to monetize that trust. The DDG team should be rewarded for their hard work.

<comment><USER2> No concern here. While we don't disclose the figure our CEO has publicly noted that we are indeed profitable:

[http://fortune.com/2015/10/09/duckduckgo- profitable/](http://fortune.com/2015/10/09/duckduckgo-profitable/)

</comment></comment></comment></comment></comment><comment><USER6> I've been using DuckDuckGo since @yegg's first announcement of it (on reddit iirc). The relevance of the results compared to their competitors' has been noticeably improving over the years.

When a search doesn't quite give me what I'm looking for, I prepend !sp on my query (to use startpage.com). I use this less and less and for most things DDG gets me where I need to go.

I'm a huge fan. I'm thankful services like this are available--that respect our privacy. I did have good intentions of contributing to duckduckhack.com but have regretfully not gotten around to it yet.

<comment><USER7> I still insert `!g` in about 25% percent of my searches. Loved to see a metric on how many people do the same or append it on the search box after seeing the results.

I like DDG a lot, but I feel that Google knowing so much about me prevents it from showing ruby gems over ruby lang search results. Must say, this has improved greatly last year, but I don't trust DDG just yet fully.

<comment><USER8> I use !g if a DDG search doesn't give me anything useful, but this is far less than 25% of my searches, and in nearly every case, Google didn't have anything useful either.

Really the only times !g actually turns out to be useful is when I'm searching for something that's well within my filter bubble on Google, but generic enough that I get the wrong results when outside of my filter bubble (e.g. DDG). But that's not really all that often.

</comment></comment></comment><comment><USER9> The key for switching to DuckDuckGo for me was to set it as the default searchengine / startpage on all browsers. While the relevance of search results is slightly (noticable) worse than Google, I think the tradeoff between privacy VS result-quality is worth it. Thanks for making such a great product!

<comment><USER2> Hey Phil,

DuckDuckGo employee here - Be sure to use the 'feedback' button that you find on the search results page whenever you feel a search isn't up to standards.

Our team has been working hard at increasing relevancy, but the best changes come when users let us know what they need.

Since we don't filter bubble results ([https://www.ted.com/talks/eli_pariser_beware_online_filter_b...](https://www.ted.com/talks/eli_pariser_beware_online_filter_bubbles)) results certainly feel different when making the leap, and that takes an adjustment period for most people. But, if you actually feel you have examples where you can't find what you're looking for, then we want to know so we can provide you a seamless search experience as well!

<comment><USER10> Google has a list of scheduled flights when you put in two airport codes which is useful, doesn't look like DDG does the same.

<comment><USER2> At DuckDuckGo we've got open-source Instant Answers that currently pull in information from over 1100 sources: ([https://duck.co/ia](https://duck.co/ia))

If you know of a good data source for scheduled flights you can easily contribute an Instant Answer, or leave the source as a suggestion for our community!

<comment><USER10> Sorry I don't know a source... actually I don't think I've seen this on any other sites. Just one of those small things that keeps me with Google.

</comment></comment></comment></comment></comment><comment><USER11> I couldn't find anything obviously authoritative, but various sources suggested Google does 3500m or so daily searches.

That puts DDG at less than 1%, but their percentage growth is huge. It can't continue forever, but they could be a significant search engine if it doesn't peter out too soon.

I tried DDG several times, but it finally stuck earlier this year. I'm really happy it's available as an alternative.

<comment><USER12> >> " Google does 3500m or so daily searches"

It's difficult to define what constitutes a "search" these days. Since google release autocomplete search in 2004 [1], each letter you type into the search bar results in a search query.

So simply searching for "superbowl 2017" would result in 14 searches because there are 14 characters. So, do you count that as 1 search or 14?

[1] [http://www.theatlantic.com/technology/archive/2013/08/how- go...](http://www.theatlantic.com/technology/archive/2013/08/how-googles- autocomplete-was-created-invented-born/278991/)

<comment><USER13> No, search as you type only happened with Instant Search, which launched in September 2010. From 2004 on, you still needed to press Enter to perform an actual search.

Even now, you can inspect JS traffic and see that usually there aren't 14 searches when you enter [superbowl 2017]. Internal metrics reflect a lot of that nuance and more.

Source: I own a Google Instant shirt because I was in one of the teams involved in months of testing and in the launch.

</comment></comment></comment><comment><USER14> Just trying it now, when you go "back" after clicking Images you go to duckduckgo.com, not the previous page you were on. The url changes, so it's a bit strange.

Results are decent, though the results page seems harder to skim read.

<comment><USER15> I've been using DDG as my primary search engine for years, and this feature continues to trip me up on a daily basis.

</comment></comment><comment><USER16> DuckDuckGo is great and I've actually had surprising success in getting non- tech people to try it out, and stick with it! My girlfriend has set it as default it in all of her devices, she loves the !bang searches (imdb, wiki, etc.) and lack of ads.

Also, half of my co-workers. !python, !mdn, etc.

I think the biggest hurdle going forward is the fact that DDG is much better for English results than in other languages (we work half in French), but I hope the project grows and grows. Google needs to go down eventually!

</comment><comment><USER17> I've seen that some peoples talk about a name change. They say that: "duckduckgo" is too much (and they're right in my opinion).

It's interesting to see that duck.com is owned by google. This is what they call competition :)

The duckduckgo team should be smart enough to keep secret an upcoming name change/rebranding. See for example how comodo tried to register "let's encrypt" trademark: [https://tech.slashdot.org/story/16/06/23/1946249/comodo- atte...](https://tech.slashdot.org/story/16/06/23/1946249/comodo-attempting- to-register-lets-encrypt-trademarks-and-thats-not-right) .

It's not easy to beat google at it's own game. Good luck!

</comment><comment><USER18> The only thing I miss in DDG compared to Google, is the ability to search in time during the last year.

As a researcher and doing some coding, it's invaluable for me to filter results that way.

</comment><comment><USER19> Given the climate of political discord that is occurring on Google sites, especially google "news" (which gets prominent placement in many google searches now), I've switched my iPhone default search in Safari to DDG. I've been pleasantly surprised that I don't need to google things for 90% of searches.

</comment><comment><USER20> What's interesting is that growth has accelerated since September 2016.

[http://apps.axibase.com/chartlab/e8635882/13/](http://apps.axibase.com/chartlab/e8635882/13/)

Any good reasons behind it?

<comment><USER21> If you increase the time scale, the acceleration doesn't seem so big--it looks like there's a fairly linear trend.

What's interesting to me is that there's such a consistent drop in searches around the holidays. I'd expect some drop, but not that big, relatively speaking.

</comment></comment><comment><USER22> DDG is a great search engine. I missed the lack of personalized search that Google gets you, but once you get used and learn how to search properly, you start loving it.

And I moved from Google on my phone due to the AMP crap.

</comment><comment><USER23> Congratulations on the big growth.

I'm annoyed that I can't set DDG has the default search engine in Chrome (Android). I hold a bookmark though so 'duc' autocompletes to duckduckgo. Not too inconvenient.

<comment><USER2> Hi yclept, we understand the frustration! We're always exploring our options here. There are other Android browsers that do/can include us!

</comment></comment><comment><USER24> I recently submitted a bug in the search to DDG. It's very nice to be able to help improve the project. And the bug reporter is neat.

Never seen anything comparable in competitive products.

</comment><comment><USER25> I'd love to see if there's a similar uptrend in usage for other services who advertise privacy as part of their value. Anecdotally, a large chunk of my social network has joined Signal just in the last few days, and without any prompting from me. This is speculation, but it may be that many people who were ambivalent about surveillance under Obama are concerned about surveillance under Trump, and we'll see more user demand for privacy for the next few years.

</comment><comment><USER26> I've been using DDG for a couple years, not that too many people would know about it. Heh. Good enough for what I do, and having to go a few pages deep sometimes doesn't really bother me, and in fact routinely exposes me to resources that I was not aware of.

I have, and will continue to, pass good privacy practices on to others, particularly non-tech users, even though people don't always have the time for privacy discussions, they become aware of the issues.

</comment><comment><USER27> I wonder why DDG bang search is praised like its a first time phenomena ?

What ? ... did people live in a cave all this time ? It existed for more then a decade all around. Some examples include early Opera, chrome, vimium plugin, Surfraw (linux CLI search tool) etc...

Anyway, DDG is refreshing. You can even turn off adds in the options. Google may be a great search engine but as far as I am concerned, it can delete 'don't be evil' phrase from its mission statement.

</comment><comment><USER28>
        >In addition, the search engine is celebrating a
         combined total of 10 billion searches performed,
         with 4 billion searches conducted in December 2016
         alone.

This can't be right, can it? DDG's been around for years, and nearly half of its total use volume has been in the past month?

<comment><USER29> It should be 4 billion in 2016, not just Dec 2016.

</comment></comment><comment><USER30> I use it. It's not as good as Google, but it pretty much gets the job done when I need it to.

</comment><comment><USER31> With 4 billion searches in December 2016, DDG would have had on average 129 million searches every day of december. I have to assume this actually meant 4 billion searches in 2016

</comment><comment><USER32> I don't appreciate ddg results much, but I realized not long ago the feeling of joy by knowing I'm not being tracked for any thing I search.

I can throw anything at it carelessly.

</comment><comment><USER33> I switched to DDG as my default search everywhere a few months ago, and I recommend everyone does. The results are passable and when they aren't there is always !g

<comment><USER34> I am curious why you recommend everyone else switch since you say "The results are passable." That's not exactly a ringing endorsement.

<comment><USER35> Agreed just use Startpage.com for better results and privacy than you can get from DDG.

<comment><USER34> Wow this is great. I had no idea this existed. Thanks for the tip!

</comment></comment></comment></comment><comment><USER36> One very useful differentiating feature DDG could add would be a discussion forum search filter, like Google used to have before discontinuing it in 2014.

</comment><comment><USER37> I want to like DDG, but the results are never good.

Much like when I use bing, I more often than not I must re search for whatever I want on google to find it.

<comment><USER38> I have used it for about a month. I feel like it may be good for most people, but google is far more precise for hard to find pages and answers to programming questions, error strings, etc.

</comment></comment><comment><USER39> I'm a professional data scientist. Apart from donating, how can I support the project? It's my default search engine everywhere now.

<comment><USER2> As some others have mentioned you can check out [https://duckduckhack.com/](https://duckduckhack.com/) our open-source community that powers our Instant Answers (the answers that appear before the search results/ads).

Our community has helped us pull in data from over 1100 sources to make amazing experiences.

The value of this is that you can build out anything you are passionate about. It creates some great niche experiences.

Maybe you want to look up who is in space right now: [https://duckduckgo.com/?q=people+in+space&ia=answer](https://duckduckgo.com/?q=people+in+space&ia=answer)

Or you need to look up some NFL games: [https://duckduckgo.com/?q=patriots+games&ia=nfl&iai=641](https://duckduckgo.com/?q=patriots+games&ia=nfl&iai=641)

Or you can't remember the details of that card from your Magic The Gathering deck: [https://duckduckgo.com/?q=mtg+boiling+seas&ia=games&iax=1](https://duckduckgo.com/?q=mtg+boiling+seas&ia=games&iax=1)

We encourage people to build out the answers they want to see!

<comment><USER40> I've had some problems with DDG's bang searches on some sites where the sites' search URLs moved or could use better search parameters. Where can users report broken bang searches or suggest better options?

DDG has a lot of open source code on GitHub. A list mapping bang search terms to site URLs could be maintained as a simple text file on GitHub so contributors could test them or suggest improvements.

</comment></comment></comment><comment><USER41> duckduckgo have significantly changed the way i use the web. namely the bangs feature. simply put it's ingenious. [https://duckduckgo.com/bang](https://duckduckgo.com/bang) the search has improved in the past few years but when it fails i merely have to add a !g to the query.

<comment><USER42> Yes, bangs are great.

</comment></comment><comment><USER43> Is there any official reason why DDG isn't among the list of possible search engines on Google Chrome Android build ?

<comment><USER44> It will be there soon. Looks like all the changes to support this landed recently. Though it's not so much DDG being in the list, but the available search engines will be the last 5 search engines you visited.

[https://bugs.chromium.org/p/chromium/issues/detail?id=348360](https://bugs.chromium.org/p/chromium/issues/detail?id=348360)

<comment><USER43> Thanks for this, tried it in Android Canary version and it works great.

</comment></comment></comment><comment><USER45> With or without API?

</comment><comment><USER46> DDG has become habitual for me, mainly because of the bang feature.

I have a blog on DDG's best bangs (and how to use them): [http://duckgobang.com](http://duckgobang.com)</comment>


Postponing the Retirement of SHA-1 - <AUTHOR> http://www.infoq.com/news/2015/12/retiring-SHA-1 <comment><USER2> Ryan Sleevi, of the Chrome PKI team, has written a much more detailed analysis of the Cloudflare proposal and its caveats. I recommend you read them before voicing an opinion on this topic, because it is a complex one.

1\. [https://medium.com/@sleevi_/a-history-of-hard- choices-c1e1cc...](https://medium.com/@sleevi_/a-history-of-hard- choices-c1e1cc9bb089#.mdfi0lung)

2\. [https://medium.com/@sleevi_/legacy-verified-legacy- solutions...](https://medium.com/@sleevi_/legacy-verified-legacy- solutions-15eb688716e4#.uioly27l9)

Today is the last day to get SHA-1 certs issued. We, at Mozilla, stocked up on SHA-1 certs that expire 39 months from now, so we can keep serving old clients up until March 2019 using cert switching technology. Most organizations that want to keep supporting old clients have done similar things. Smaller companies typically don't care about old clients, and most likely already broke compatibility with them by using various modern web stacks.

<comment><USER3> Chrome BTW plans to remove pre-Win7 support in early 2016. I was pushing for Firefox to at least remove XP SP2 support in 2016.

<comment><USER4> Why not pre-Vista? Besides the bad rap because driver developers took advantage of undocumented features (among other reasons), how is it different architecturally from 7? Internally, Vista and up are all NT 6.x releases (XP was 5.x): Vista was 6.0, 7 was 6.1, 8 was 6.2, etc.

<comment><USER5> Windows Vista has fewer users than XP, so if you're OK with the consequences of dropping support for XP to simplify your life, you should be ok dropping Vista too. Same thing with dropping IE7 at the same time as IE6.

Added: yes, you could use this argument to say you don't need to support Windows 10 either, but Windows 10 is probably going to get more users over time, as opposed to Vista. Windows 8.0 is also less than XP, but since 7 and 8.1 are big, it's probably not a great idea to leave a hole in your supported os chart.

<comment><USER6> > so if you're OK with the consequences of dropping support for XP to simplify > your life

XP is EOL, Vista is not. XP users ought not to connect to the internet.

</comment></comment></comment></comment></comment><comment><USER7> No better way to make people migrate than breaking things.

<comment><USER8> This isn't really about developed countries and grumpy corporate device policies, it's more about very poor people and their really old second hand feature phones. These are people who use the same device for 5, even 10 years and don't really have the resources to replace them more frequently.

<comment><USER7> I hope facebook at least displays a big red constantly visible warning banner to those users.</comment></comment></comment>