Apple Charged Me For An International SMS. And Why That's Not Cool - <AUTHOR> http://www.pluggd.in/apple-imessage-international-sms-297/

<comment><USER2> Hey APPLE, Dont become Indian Govt. and dictate terms. We all love the perfection you put at your device, but dont think of keeping unwanted control and logic. its make you uncool. Worlds is moved to open system. Lets be with and embrace it for better and connected world. What happen, if Govt show muscle and use the same logic & control for you to sell your device at that country. If user is pissed of, he will move to 2nd or 3rd option available sooner or later.

Its time to think & show what u care the best.</comment>


HHVM is fast – too bad it doesn't run my code - <AUTHOR> http://www.hhvm.com/blog/?p=875 <comment><USER2> I don't see the point of HH. There are valid reasons to use php. IMO they are: A existing codebase and the fact it is installed everywhere.

But HH is neither installed everywhere nor will the old codebase be compatible. Why not use a proper language right from the start? There are tons of alternatives that do not suffer from the shortcomings hh tries to fix.

<comment><USER3> Er, surely the whole point of the article is that they are making it so that more of the existing codebase will run.

Their roadmap also includes making it easy to install on Linux and other platforms, so it may make inroads into "everywhere".

If they can even achieve the first objective, then people can continue with the normal PHP runtime as usual in most places and switch to HHVM when they need better performance.

Also, I find PHP a delight to program in. YMMV.

<comment><USER4> Newer PHP isn't too bad to program in, so long as everyone who ever will need to write a line of your code is relatively disciplined, and works to an agreed upon standard.

However, your average codebase, written for PHP 5.0 or older, touched by many, mostly incompetent people over several years, is usually incredibly painful to work with.

<comment><USER5> I haven't seen a PHP codebase that didn't run on 5.2 in years. If you don't support 5.2, that means your code is at least eight years old at this point, with no effort at all to upgrade.

That's kind of scary. It'd be like captaining the SS Swiss Cheese.

<comment><USER6> Sadly, I've seen companies that depend (like literally, if it were to fail the company would shut down) on a codebase that is on 5.0 :(

</comment></comment></comment></comment></comment><comment><USER5> I'm really excited that Facebook is stewarding in a new era of PHP. I would love it to see some of these framework maintainers (particularly fabpot and jwage) push their frameworks towards interop with HHVM.

The sooner we can abandon the backwards php.internals mentality of "Do things easy the easiest way possible," we'll see a much stronger language.

<comment><USER7> Maybe HHVM will be like MariaDB and MySQL, HHVM will become the new fork and the current stewardship will be left behind with their troll mailing list. Either way I think HHVM is going to be a huge step forward for the PHP ecosystem, it's going to kick up some dust and we'll see where everything lies when it settles.

</comment></comment><comment><USER8> So am I right in thinking that HPHPc is around 6x faster than Zend and HHVM so far adds another 40%?

i.e. HHVM is currently 8x faster than Zend and still getting faster?

<comment><USER9> HHVM doesn't permit quite a few things that regular php allows, and it also turns into outright errors "bad" things that regular php treats as warnings because it thinks it can run despite it. I also don't think it supports eval(), although it may have changed since the last time I read about it.

When you remove the "I don't know, maybe, maybe not" part, you can make you code a lot more efficient.

(not making a judgment call here, just clearing things up on how it is possible to be _that_ much faster)

<comment><USER10> HPHPc, the static compilation version of the runtime, didn't support eval, because eval is not static :) With the JIT compiler and VM, the runtime now support eval and other more dynamic PHP features:

[https://github.com/facebook/hiphop- php/blob/master/hphp/test...](https://github.com/facebook/hiphop- php/blob/master/hphp/test/quick/eval.php)

</comment></comment></comment><comment><USER11> So wait, you're telling me that Facebook's PHP interpreter moves fast and breaks things?

<comment><USER7> No just that HHVM doesn't yet support the entire PHP codebase

</comment></comment><comment> johnx123-up Not tried... but there's a way to get CakePHP run in HHVM [http://bakery.cakephp.org/articles/lorenzo/2012/01/30/runnin...](http://bakery.cakephp.org/articles/lorenzo/2012/01/30/running_cakephp_using_the_facebooks_hiphop_compiler)

<comment><USER12> I'm on the Cake Core team. We're moving towards a 3.x release, which will be all PHP 5.4 compatible (namespaces, etc.) so the issue they point out in class loading will be non-existent.

We are discussing aliasing the String class to a CakeText class, and then deprecating the String class in a 2.5 release. If we had known this was an issue[1], then it would likely have made it into the recent 2.4 release.

Something that would be nice would be to see the method in which they ran the tests, so that we can include their testing into our TravisCI/Jenkins setup. Probably would help other frameworks/packages as well. Will file a bug.

EDIT: Bug Filed: [https://github.com/facebook/hiphop- php/issues/1054](https://github.com/facebook/hiphop-php/issues/1054)

[1]: They could and should have filed a bug. A cursory search of our lighthouse issue tracker does not surface one, though admittedly lighthouse is pretty shit, so it may indeed be there.

</comment></comment><comment><USER13> The biggest issue I have had with HHVM is that the extensions are totally undocumented ( not like there is much for the Zend engine ). So trying to port over extension to it is a excersize in futility.

<comment><USER5> Right now, I think documentation would be futile and also suffocating. Considering the stability of HHVM and its steward (Facebook), I expect things to break/change.

<comment><USER13> If they want wider adoption they will need to document extensions. There are tons of extensions out there and I would say most non trivial installation use at least a few of them.

<comment><USER5> I agree, I just don't think it's useful for them _right now_.

</comment></comment></comment></comment><comment><USER14> We did some experiments with HHVM and discovered that our heavy reliance on both redis and mongodb meant no HHVM for us - it supports neither of those things.

If they could get php.ini support working, I'd be very pleased to leave php- fpm behind.

</comment><comment><USER11> phpBB sports zero. Hopefully this will encourage a migration away from that mess and phpBB will end up on the dustbin of history. Please? Pretty-please?

Drupal's success is nice. I've run a Drupal site for a hobby project and performance wasn't stellar, so it's nice to know that Drupal might run well on HHVM.

<comment><USER7> phpBB is being rebuilt using Symfony components

<comment><USER15> phpBB, vBulletin, and the rest of them should be loaded up into a rocket and fired into the sun.

Would it kill them to get someone to look over the UX of these things? WordPress has a user interface that, while tricky, does make sense. These "bulletin" products show their origins as some high-school kid's project to make a website.

</comment></comment></comment><comment><USER16> I went to install HHVM to test my own code, but it turns out it's 64-bit only. Kind of sucks.

<comment><USER17> Is there any valid reason to run 32-bit systems in 2013?

<comment><USER15> You don't always get to choose your architecture. Sometimes it's dictated by other concerns.

</comment></comment></comment><comment><USER18> I wish there are a similar effort on Ruby VM.

</comment><comment><USER19> as long as I don't need to login on facebook to use it

</comment><comment><USER20> I don't think the point of HHVM is to run things like phpbb. It is a tool for Facebook to run their own stuff on as fast as possible.

<comment><USER21> ? This blog post was written by the authors of HHVM, do you know something they do not?

EDIT: I should add, the last time i talked with sgolemon she said (half jokingly) that their goal is to replace zend (engine)</comment></comment>


What can you do with an Android application with no permissions? - <AUTHOR> http://leviathansecurity.com/blog/archives/17-Zero-Permission-Android-Applications.html

<comment><USER2> This goes to show that security and privacy conscious users should always prefer the web version, if the choice is available, as the browser is a better sandbox, even in the context of these tightly controlled mobile platforms and app stores.

However, I feel that these default permissions are really not that awful. There's always a balance between giving fine-grained control to the user over permissions and ease of use and these are not orthogonal issues, as the user suddenly ends up with more choices to make. What the user really wants to know ... is this mallware? Is this going to delete my files? Is this going to violate my privacy? ... and that's about it.

If Android required separate permissions for absolutely everything you could do in an app, you know what the average user would do if presented with a list of 30 permissions requested, amongst which there would be phrases like " _allow the app to open the web browser_ "?

The average user would just click "Yes, please" without reading it (I'm even doing that myself from time to time). And that seems better for technical inclined folks like us, but it really isn't for average users, because it trains them to blindly accept anything while giving the impression of security - and I feel that's worse than no security at all.

<comment><USER3> _The average user would just click "Yes, please" without reading it (I'm even doing that myself from time to time)._

This is happening most of the times anyway. There is no way to see from the installer screen, _why_ an app requests a certain permission. One example: most launcher replacements require the CALL_PHONE permission, which comes with a big warning. This is technically required if you want to place a contact shortcut on your desktop.

A better, security-wise, solution would have been to ask on-demand, when the app actually performs a permissions-requiring action, like it is done in J2ME. I suppose this was not done in Android either for software patent or for convenience reasons. Or maybe it would have gone against the usability of ad networks if you could deny the virtual Golf app access to GPS and internet...

<comment><USER4> Asking on-demand for everything lands you in the usability mess that is Vista's UAC.

There are plenty of places where permissions should be more fine-grained, but doing that in a usable way is not easy. Personally, I'd like to see a distinction between "required" and "optional" permissions (with always deny, prompt and always grant alternatives for optional ones). Of course, there would still be a lot of tricky issues to sort out (e.g. how do you encourage developers to expose some permissions as optional not required?), but I think that exposing more permissions for direct user management, while trying to minimize the effort required might might strike a better balance over the long run.

<comment><USER3> _Asking on-demand for everything lands you in the usability mess that is Vista's UAC._

Please let me clarify: a properly designed system should allow the user to "always grant" that one permission to that one app, so the total number of permissions dialog goes from 1 per app to N per app with N=number of required permissions. The advantage would be, that opposed to Windows (where you only grant one rather opaque "Administrator" permission) you will see how your current action caused the permission request.

To come back to my example: you tap on the contact shortcut on your desktop, and Android asks you:

"Launcher requests the permission to perform a (possibly billed) phone call. [Grant] [Grant always] [Deny] [Deny always]"

Of course this model does not work for all possible permissions and applications, but it is still a vast improvement over what we have now.

<comment><USER4> Oh, absolutely.

That's pretty much the model I was trying to suggest as well, with the extra detail that users only get that prompt for "optional" permissions. "required" permissions (e.g. a browser accessing the Internet) would still be take-it-or- leave-it at installation.

Though, thinking back to a Google+ post by a member of the Android team that I don't have at hand right now, there's also a place for self-certifying UI elements. IIRC, their example was a system-provided Contacts widget (where if you selected a contact using that widget from within an app, you were clearly giving the app access to that contact data). My favorite example is the crash reporter. If click the "Send Crash Report" button, you're clearly giving permission to share some, potentially private, data about the crash (and sharing even more if you also check off sending the crash log). When you can pull off those sorts of UI elements, it is ideal, but they're not general enough for everything.

</comment></comment></comment></comment></comment><comment><USER5> Big horking one missing from the list: run native code.

From here you can pretty much do anything, since the average handset is shipped with an ancient buggy kernel.

The short answer remains: treat software on Play with the same distrustful contempt you would treat random no-name desktop software found in the dark corners of the Internet.

<comment><USER6> Can you qualify this? Native code is sandboxed just as managed code is (of course it is). Ancient buggy kernel? Most handsets have very contemporary kernels.

But surely you will provide some compelling citations.

<comment><USER3> Basically every device for which some kind of rooting tool exists is vulnerable.

It is not too hard to leverage the same exploit used by rooting tools to circumvent the UID based sandbox and to access the data of other applications, including the phone book, security tokens / passwords stored in SharedPreferences etc.

<comment><USER7> However, with a buggy kernel, you don't necessarily need native code to perform the exploit: you just need access to whatever part of the kernel that has the bug (which is often something innocuous). If there is a bug in the filesystem driver where attempting to open file descriptor to paths larger than 1024 bytes long will cause a buffer overflow, I can exploit that just as easily from Java as I could from C.

</comment></comment></comment></comment><comment><USER8> Wow, I did not realize that "no-permission" apps can read any file on the SD Card, I thought they at least needed the standard SD Card permission which I now realize is just SD Card write. I think that Android should implement some path-based security on the SD Card, although I guess that might be hard with their current model where I don't think any of the permissions have any arguments.

<comment><USER9> Problem with the SD Card is, AFAIK (might be wrong here) it's FAT formatted, so unless Android adds a security layer on top, there's no file permissions system.

</comment></comment><comment><USER10> What can you read on a page with a tiny grey font?

<comment><USER8> You should try out Readability: <http://www.readability.com/bookmarklets>

<comment><USER10> Thank you. But original question still stands...

<comment><USER11> This is why Firefox with Zoom Text Only is the best browser.

<comment><USER12> You, madam/sir, are awesome. Thank you for this.

</comment></comment></comment></comment></comment><comment><USER13> There is another way to transfer the data off the device. You can make another app, that has the same sharedUserId and that app has the internet permission. That app can see the data of the non-permission app and send the collected data via its internet permission anywhere. Apps with a sharedUserId have the super set of permissions of all apps they share the user id with. The user does not see that when installing either app.

</comment><comment><USER14> > What can be done with the data once it's collected? Without the INTERNET > permission, how can it be sent anywhere? While it's true that most network > access is restricted, there is one network call that can be made without any > permissions: the URI ACTION_VIEW Intent opens a browser. By passing data via > GET parameters in a URI, the browser will exfiltrate any collected data. In > my tests, I found that the app is able to launch the browser even after it > has lost focus, allowing for transmission of large amounts of data by > creating successive browser calls.

Reminds me of ping tunnels: <http://en.wikipedia.org/wiki/ICMP_tunnel>

</comment><comment><USER15> I suppose not using any apps at all is the only option at this point :-(

<comment><USER7> Your desktop/laptop has survived without anally granular sandboxing since the day you started using computers, and you've been using apps from all sorts of places (web browsers, plugins, text editors, games) without serious concern. Yes: you shouldn't install apps from people whom you don't feel some reason to trust, but that's always been the case (and seemingly always will, as no one has so far managed to build a sandbox that a teenager hasn't been able to break out of in a few days; Chrome's sandbox, for example, had two unrelated escapes come to light during the recent Pwnium contest).

<comment><USER15> Well I had serious concern for my desktop. Games are on an extra computer, and the OS tends to be Linux (preferred) or OS X (grudgingly). Most people's desktops are in fact completely overrun by malware, too. Just look at your relatives computers the next holiday.

<comment><USER7> Those people also tend to get phished, or open email attachments with .exe extensions. If you buy a game from Best Buy and there is malware in it, someone will have some hell to pay. Lumping together "software I buy from people I've heard of" into the same category as "people get lots of malware" is just fear mongering.

</comment></comment></comment></comment><comment><USER16> The browser hack is not something new. I remember an article from last year, which showed how to get remote shell with a no-permissions app - [https://viaforensics.com/security/nopermission-android- app-r...](https://viaforensics.com/security/nopermission-android-app-remote- shell.html)

<comment><USER17> Did you bother to read the article before commenting? Sentences six and seven:

 _"Some previous work had been demonstrated by Thomas Cannon of viaForensics. I wanted to develop that work further through a discussion backed by source code."_

</comment></comment><comment><USER18> Accessing the accelerometer requires no permissions but can be used in a twisted way: by training machine learning algorithm, accelerometer data can be used to infer keystrokes. The state of the art of this attack is this: [http://www.research.att.com/~miluzzo/pubs/sys015fp- miluzzo-A...](http://www.research.att.com/~miluzzo/pubs/sys015fp-miluzzo- ABSTRACT.pdf) (to appear in MobiSys '12, full paper available to general public in June). A simpler attack can be found here: <http://www.hotmobile.org/2012/papers/HotMobile12-final42.pdf> .

</comment><comment><USER19> And desktop apps can do much more without requiring any permissions at all.

While it would be great to have more secure apps everywhere, panicking about it, as has been so common in the media lately, is pointless.

<comment><USER20> There's a point to be made about expectations, though. On a desktop by default you know that apps can do whatever they want, but on an OS with a built-in sandbox and permissions like "internet", you expect it to not be able to access the internet. That may lead to changes in your behavior, like installing any random app with no permissions instead of carefully evaluating them beforehand.

</comment></comment><comment><USER21> The web browser hack for uploads has been known for over two years and was made public at DEFCON

[http://www.defcon.org/images/defcon-18/dc-18-presentations/L...](http://www.defcon.org/images/defcon-18/dc-18-presentations/Lineberry/DEFCON-18-Lineberry- Not-The-Permissions-You-Are-Looking-For.pdf)

See page 32

Also, I'd like to add that saying the ability to list packages on the device is a security risk is just silly. That's like saying a Linux box is vulnerable because I can list /usr.

</comment><comment><USER22> Reminds me of directory traversal on regular systems[1]. Zip up what ever you find, base64 encode it and send it to some shady server for later harvesting.

[1] <http://news.ycombinator.com/item?id=2691088>

</comment><comment><USER23> _While it's true that most network access is restricted, there is one network call that can be made without any permissions: the URI ACTION_VIEW Intent opens a browser._

Android has no "Trust Links" permission?</comment>


Long range WiFi antenna from Illy coffee can  - <AUTHOR> http://blog.jgc.org/2012/02/long-range-wifi-antenna-from-illy.html <comment><USER2> Is the old Pringles can antenna coming back?

ie <http://www.oreillynet.com/cs/weblog/view/wlg/448>

I've always found USB WiFi cards more convenient because you don't need any special connectors (or soldering skills!):

[http://www.instructables.com/id/%22Poorman_s-WiFi%22--USB- ad...](http://www.instructables.com/id/%22Poorman_s-WiFi%22--USB- adapters-%26-DIY-cookware-refl/)

EDIT: changed the link to "Poor's man wifi" because Google reports malware.

EDIT2: it's worth mentioning that the standing wave ratio using these home- made antennas can be higher than the ratio expected by the device manufacturer.

These returning waves can damage the power amplifier, but with most wireless cards with transmitter power output under 100 mW (IIRC more than that requires a special license in most EU) it's very unlikely (although possible) and it can only happen after continued usage.

Disclaimer: I'm not an expert, just used to play with wireless about ten years ago.

<comment><USER3> Just FYI, your second link is returning a Malware warning in Chrome.

<comment><USER2> Thanks, I've changed the link.

</comment></comment></comment><comment><USER4> As cool as this is, I'd rather just buy one.

Could someone here recommend a commercial wifi signal enhancer for use with a laptop that they've had good results with? (It need not have a directional antenna as in the original article.)

Whenever I've googled the commercial products, I feel like the market is rife with snake oil. I'd be much happier with a recommendation from someone on HN.

<comment><USER5> I'm www.netgate.com

The closest thing (though it's completely different) to what is covered in the article is here: [http://store.netgate.com/24-GHz-9-dBi-Linear-Feed- Antenna-N-...](http://store.netgate.com/24-GHz-9-dBi-Linear-Feed-Antenna-N- Female-P337C42.aspx)

The cantennas is really a waveguide. As such, it has no gain. What is being measured is the increase in SNR, due to a lowered noise floor. (Edit: to be completely fair, the antenna raises the signal and noise level.)

This one has increased gain:

[http://people.wallawalla.edu/%7ERob.Frohne/Airport/Primestar...](http://people.wallawalla.edu/%7ERob.Frohne/Airport/Primestar/Primestar.html)

<comment><USER6> Cool seeing the link to Rob Frohne, he was one of my outstanding professors.

</comment></comment></comment><comment><USER7> In college I built something almost identical to this from a 40oz can of yams, and got a connection to a truck stop wifi a little over a mile away (we had direct line of sight). It actually work pretty well for like 6 months till the weather turned less optimal.

<comment><USER5> depending on where you were, the truck stop could have been reached with an ordinary 2.2dBi dipole.

Free space loss = 32.4 + 20xLog F(MHz) + 20xLog R(Km) At 2.4 Ghz, this formula is: 100+20xLog R(Km)

one mile = 1.61km, so your free space path loss was around 100dB.

Let's say the truck stop had about the same radio as you, maybe 17-18dBm transmit power (50-62mW) into a 2.2dBi antenna.

Signal leaves the radio at the truck stop at 17dBm, encounters about .8dB of loss in the coax and connectors, and then is raised 2.2dBi by the very short antenna, for 18.4dBm EIRP.

It then encounters 100dB of path loss, arriving at the antenna on your laptop at -81.6dBm, where it is raised 2.2dBi by the dipole in your laptop, and then encounters perhaps another 0.8dBm of losses in the coax and connectors.

The net result: the radio sees -80.2dBm, which is more than enough signal to decode 11Mbps CCK (802.11b @ 11Mbps) or 12Mbps OFDM (802.11g).

So, what you did was unremarkable, though probably fun.

</comment></comment><comment><USER8> I can confirm that the coffee which comes in those cans is absolutely excellent. Now I have a good use for an empty one.

</comment><comment><USER9> Pardon my simple understanding of wifi and relays, but could this method be used in creating a wifi mesh system? [1, 2] The relay distance of 1/4 mile could create a mesh network in NYC with minimal cost.

[1] <http://code.google.com/p/fabfi/> [2] <http://i4bi.org/?p=324>

<comment><USER10> I am not an antenna expert, but one of the things to understand about antenna design is that the shape of the antenna changes its transmission properties. In this case, you end up with a directional antenna.

In the case of a WiFi mesh network, you'd really want a set of omnidirectional antennae. An omnidirectional antenna with a 1/4 mile radius would need a lot more power to operate. Further, in a place like new york, you have to start worrying about 3 dimensions (skyscrapers are tall!) and obstructions (buildings can be difficult for radio signals to pass through).

Edit: removed redundant phrasing.

<comment><USER11> > In the case of a WiFi mesh network, you'd really want a set of > omnidirectional antennae. An omnidirectional antenna with a 1/4 mile radius > would need a lot more power to operate. Further, in a place like new york, > you have to start worrying about 3 dimensions (skyscrapers are tall!) and > obstructions (buildings can be difficult for radio signals to pass through).

The last part (buildings) is incredibly important to remember. WiFi signals—which are typically in the 2.4GHz or 5GHz bands—are extremely susceptible to attenuation in this manner, due to the higher frequency.

Note that, in part, this is why carriers are so hungry for the sub-GHz bands (i.e. 700MHz in the US, 850-900MHz in Australia, etc) for their 3G/LTE+ deployments. The lower frequencies exhibit significantly better building penetration, offset by the need to deploy more cells in order to get similar bandwidth capacity (considered a worthwhile trade-off).

An omni that could broadcast 1/4 mile (400m) in Manhattan at 2.4GHz would need to have a VERY high transmit power. It would likely be illegal, and it would also be dangerous.

<comment><USER5> 2.4GHz in Manhattan? You're making me laugh. There are so many WiFi (and other Part 15.247) devices in Manhattan that the noise floor is sitting around -90dB.

You're not going to build a mesh network in 2.4GHz in NYC.

</comment></comment></comment></comment><comment><USER12> Just in case someone decide to make one - I have Type N bulkhead connector with probe already soldered into. $10 + actual shipping (I am from Austin, TX) :) firstname.lastname@example.com

<comment><USER5> woo.. I'm in ATX, too. I have a warehouse full of 2.4GHz parts. Let me know if you need something. :-)

</comment></comment><comment><USER13> Since we only recently got DSL, and had to get connectivity before, my city is now covered with wireless networks. Most end-users use "cantennas" (can+antenna=cantenna) made from Nescafe cans. I wonder whether Cantenna term was invented here and whether it is used worldwide?

Anyway, Nescafe cans work very well for access points up to 600 feet away, which covers most of the city. In case Illy is not popular in your area.

</comment><comment><USER14> I wonder if beer can would work. can increase portability of of the kit. Drink beer, cut the can insert the antenna. Also can use some of those cheap tiny tripods. All that can make a killer traveller wifi kit. I some areas getting reliable signal is such a pain.

<comment><USER15> According to <http://www.turnpoint.net/wireless/cantennahowto.html> beer can would be too small. Optimal diameter should be between 3" and 3.66", however some people reported good results with much larger diameters.

<comment><USER5> this is because all the 'cantenna' does is shield most of the environment, which acts as noise (or interference).

But yes, the opening should be at least 1/2 the wavelength of the signal you seek. The lambda of 2.4GHz is around 0.125m, or 4.9 inches. Half this is just under 2.5 inches.

</comment></comment></comment><comment><USER16> What does 802.11N change about any of this?

I made a double-long cantenna from some large spaghetti sauce cans years ago and it worked wonders. Then 802.11N became widespread and suddenly all the cards had multiple RPSMA connectors and antennae. Can anyone confirm how 802.11N has changed the recommended use patterns of can antennae? Should I have the same cantenna on each connector, or should they be different to provide differences in signal path for 802.11N magic to work? Could use of (well positioned, well made) can antennas actually make the performance worse than the stock 802.11N setup?

</comment><comment><USER17> just a few comments:

\- the cable for feeding your antenna is quite long. A shorter one would have much less loss \- transmission with a directional ant can easily exceed the allowed, effective tx power (i own an Alfa 500mW hooked up to a Biquad with something like 8 to 10db gain and 20cm feed... certainly not allowed in Europe).

\- a circular polarized ant is even better for WiFi (multipath interference) but more difficult to build

</comment><comment><USER18> For a list / how-tos of various WiFi "enhancers" (beer cans, coffee cans, reflectors etc) see <http://www.binarywolf.com/249/coffee_can_antenna.htm>

(oldest beer can reflector shown is from popular mechanics 1955)

there are also PDFs on the Internet that help you to create your own reflector.

always good fun to make something yourself.

</comment><comment><USER6> To save money on the SMA-N cable and connectors, I would probably just use a long USB extension cable and put the USB WiFi module directly on the can antenna. Of course this only works where the antenna is not installed outside.

</comment><comment><USER19> Anyone know where I can find a 1 watt wifi repeater with an input antenna and an output antenna? I'd love to hook up a high gain directional antenna to the input and then an omni directional antenna to the output.

</comment><comment><USER20> Has anyone tried making a very large cantenna? Like out of an oil drum or something? Would that make it easier to pick up much futher away networks?

<comment><USER12> I do not think so. AFAIK, size of cantenna and actual probe relates to wave's physical size in order to guide wave. So making it simply bigger will not have benefits

<comment><USER5> You can use a DSS dish to increase the performance of the 'cantenna'. See link above.

</comment></comment></comment><comment><USER21> Cool! Is there some significance to the Type N connector, or is it just something that happens to hold the coat hanger wire in place?

<comment> excuse-me Anything will do - the N type is large enough that you can fix the bulkhead to the can wall securely. BNC tend to be a through hole and nut which is hard to fix square to the side of a can.

You can even make a bigger hole and put an entire USB wifi dingle in the can at the correct position but it takes a bit of trial and error because you don't know where the antennea is inside the plastic

</comment></comment><comment><USER22> I did the same thing when I was young and poor. From my Pioneer Square loft, I got great reception from a cafe a block away.

</comment><comment><USER23> Anyone had experience with cantennas and HSDPA?

</comment><comment> excuse-me It does leave out the one important thing you need to know - the feed has to be very precisely 1/4 wavelength from the back of the can, about 31mm for 2.412 GHz (channel 1) or 1.2" for US channel 11

<comment><USER24> To be precise, 1/4 guide wavelength which is different than the freespace wavelength and depends on the diameter of the can. Here is a calculator that can spit out the guide wavelength <http://www.turnpoint.net/wireless/cantennahowto.html>

<comment> excuse-me Interesting I wouldn't have thought it was such a strong function of can diameter.

Presumably because the can is approx a wavelength you are in all sorts of complex near field regime, unlike say a parabolic sat dish?

<comment><USER24> Yes that sounds right. The change in wavelength dependence comes from the propagation constant (the argument in the exponential) so the peaks in this exponential are spaced differently than in freespace. The propagation constant changes in order to satisfy the boundary conditions (physically you could think of the wave bouncing at an angle off the sides of the can as it propagates down it) or you can think of it as a way to solve the helmholtz equation, while satisfying the need for the tangential electric field to vanish at the radius of the can.

<comment><USER25> Holy crap! That actually makes sense. The EM books they are working.</comment></comment></comment></comment></comment>


How Political Correctness Chills Speech on Campus - <AUTHOR> http://www.theatlantic.com/politics/archive/2016/09/what-it-looks-like-when-political-correctness-chills-speech-on-campus/497387/?single_page=true <comment><USER2> > I now am embarrassed to share that my SU colleagues, on hearing about my > attempt to secure your presentation, have warned me that the BDS faction on > campus will make matters very unpleasant for you and for me if you come.

Not really about political correctness.

[https://en.wikipedia.org/wiki/Boycott,_Divestment_and_Sancti...](https://en.wikipedia.org/wiki/Boycott,_Divestment_and_Sanctions)</comment>


Show HN: Promise-aware Angular.js components - <AUTHOR> http://barakchamo.github.io/ng-promise-status/

<comment><USER2> Looking good! A nice, self-contained way to create responsive UIs. Awesome docs as well, congrats!

<comment><AUTHOR> Thanks! There's more components coming up, starting with buttons and containers for now.</comment></comment>


CSS Styling of Namespaces in HTML - <AUTHOR> http://www.aaronsw.com/2002/HTMLnamespaces

<comment><USER2> There are a control and 4 tests, but the results for the listed browsers there have only 3 letters, like GGR. Shouldn't there be five for each browser? Otherwise, which three of the five are you testing?

<comment><USER3> I don't mean for this to be a snide remark, but I'd like to let you know that, unfortunately, Aaron won't be able to respond to you.

<comment><USER4> it's sad and beautiful that we can have conversations with ghosts.

<comment><USER5> Don't they have to reply to make it a conversation?

<comment><USER4> They will eventually.

<comment><USER5> OP will deliver. We just have to wait...

</comment></comment></comment></comment></comment></comment><comment><USER6> Not wanting to disrupt piety, and I'm not sure how situation was back in 2002, but I'm slightly confused and I think there are several mistakes in that test:

1) source pretends to be XHTML, but since document is served as text/html, it is treated as HTML. And there are no namespaces in HTML. I assume there never been any in 2002, but cannot swear on that.

2) CSS selector "ns\:elem" has nothing to do with namespaces, it is just selector looking for <ns:elem>s 'tagname'. It works in HTML, and that's what page actually shows. Try this:

        data:text/html,<style>a\:\:\:{color:red}</style><a:::>foo</a:::>

3) Even if it was served as application/xhtml+xml, it would be: 3a) invalid: ex3 namespace is not declared; 3b) if fixed, then without applied style: SGML comment around CSS content would hide it from parser (or at least it does something like this in my test).

4) @namespace declarations in CSS must be "on the top" (after @charset and @imports, IIRC), not after rules, so that one declaration in the test is ignored.

5) Test4 has a typo: element name in html is `text`, but CSS selector looks for `test`.

I'm not sure all those remarks would make sense back in '02 context, but if it was as misleading as it seems to me, it is quite sad how many people has been possibly confused by that, considering it is fourth verbatim Google result for "CSS namespaces": [https://www.google.com/search?q=css+namespaces&tbs=li:1](https://www.google.com/search?q=css+namespaces&tbs=li:1)

</comment><comment><USER7> Looks like Aaron will always continue to live in the Internet. RIP Aaron.</comment>


Homeless to a Career - <AUTHOR> http://jeremy.marzhillstudios.com/entries/From-Homeless-to-a-Career/

<comment><USER2> Great open source story, bro.</comment>


Vert.x (JVM async) vs Node.js Http benchmarks results - <AUTHOR> http://vertxproject.wordpress.com/2012/05/09/vert-x-vs-node-js-simple-http-benchmarks/ <comment><USER2> Interesting results.

While it's not surprising to me that the pure java implementation was far and ahead better since: 1.) Java's much faster than Javascript, and 2.) Netty (which Vert.x is based on), has been doing high performance async IO for years before node even existed in extremely high performance environments.

What is surprising however, is that javascript on the JVM w/ vert.x is faster than V8 with node. In both cases I would assume not much JS is executed, since in Vert.x most of the executing code is still Java, with a tiny piece of JS scripting on top, and in the Node.js case, I was under the impression that most of the executing code would be the C code that powers its HTTP server.

Does anyone with knowledge of the node internals know what's going on here? Is Node's HTTP parser just slower? Is its reactor not as efficient?

<comment><USER3> Very good point.

V8 does heavy code optimization and Node.js http sever code should be well optimized as well. And maybe the load balancer for the multicore Node test isn't optimized enough. Thus, these results feel a little shady. Anyway, Vert.x was the trigger that I am finally downloading the JVM (JDK) to try Vert.x (and maybe later Clojure).

But there's still one major drawback—the non-existant ecosystem. I know the hint to look for libs from the Java world but I need a concrete and precise guide how to do this. Let's say I want to plugin some Java lib for image manipulation. How? And who will guarantee that these libs will be concurrent and/or non-blocking as well? The lib developer or Vert.x? At the moment there is—except few out-of-the-box modules—nothing. No 3rd party libs, no module manager a la npm and no guide or documentation how to glue Java libs to this Vert.x thing. Nothing. Correct me if I'm wrong.

<comment><USER4> We know the java libraries are there for lots of things, but Node is all about async and handling thousands of connections. It does this by forcing the entire ecosystem to be async too (including things like database drivers).

By using a Java JDBC database driver you're completely losing any async support. Same presumably goes for redis or Mongo drivers. You can do some of the work with threads and pooling, but it's still not the same, and makes this another useless micro benchmark.

<comment><USER5> Node's _API_ is async. Under the hood everything is done via threadpools, same as in Java or any other stack. Your hardware knows how to run threads; that's all. Whether or not that's what's exposed to you as a programmer is a different story.

You don't actually get a performance boost from Node being "async". Node's async abilities simply give you transparent access to threads that are otherwise unavailable with javascript, and it's the threads giving you performance.

<comment><USER6> I don't think this is true. Nodejs uses epoll/kqueue/select etc to multiplex access to multiple file descriptors from a single main thread.

The async API is actually a price to pay (spaghettification).

For example, the go language took a different approach: it created a cheap thread-like construct which doesn't incur in the biggest overhead of classical threading (namely pre-allocated linear stacks and context switching/sleeping requiring a systemcall; all this aided by the compiler), and a cheap mean of communication (channels).

Then, the whole core IO library was written using a multiplexing async model (epoll...), which communicates with the user part of the library via channels). The result is a blocking like API which under the hood behaves like an async implementation.

A similar goal is also met by <http://www.neilmix.com/narrativejs/doc/> and other javascript 'weavers' which convert "sequantial looking" code into callbacks.

<comment><USER5> Yes, but at the end of the day, underneath it all, you gotta have threads because that's what the hardware understands. Even if you use hardware interrupts to detect IO, you still need a plain old thread to handle it. The only difference between various languages and runtimes is how you distribute tasks among the threads. Some environments provide green threads that have a partial stack, but even they are handed off to a thread pool (or a single thread) for execution.

It's been found that if you employ only a single thread (that can run any number of tasks) you get a performance boost over using a larger threadpool under some conditions, but a single thread wouldn't let you scale by taking advantage of all processors.

<comment><USER6> I feel that the cause of misunderstanding lies in the fact that "thread" in this context is usually means "thread based IO", which means that when a thread issues a IO request it remains blocked until the IO request returns, leaving CPU time to other threads. All this regardless how many processors you have; it works perfectly fine with single processors.

Async IO is different, it's a different patter of access to IO and as such it's orthogonal to any threading or multiprocessing that's going on in order to actually do stuff in response to that IO.

> It's been found that if you employ only a single thread (that can run any > number of tasks) you get a performance boost over using a larger threadpool > under some conditions, but a single thread wouldn't let you scale by taking > advantage of all processors.

Indeed. Nodejs solution to this problem is to have a cluster of nodejs processes and a dispatcher process on top. So multiprocessing is done the "old way".

<comment><USER5> In that case, Java gives you both options: blocking IO and non-blocking, polling IO. Netty can use both, but most people use it with the non-blocking option. Experiments have shown that sometimes one is faster and sometimes the other.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Perhaps a dumb question: Are the headers the same? With so small files, the header layout is suddenly very important for your measurement.

I've seen my share of web servers which are very different in their compliance.

<comment><USER8> It's not a dumb question at all.

</comment></comment><comment><USER8> My comment: [http://vertxproject.wordpress.com/2012/05/09/vert-x-vs- node-...](http://vertxproject.wordpress.com/2012/05/09/vert-x-vs-node-js- simple-http-benchmarks/#comment-14)

<comment><USER9> Netty has support for zero-copy file responses, I imagine that's at least a large part of the performance discrepancy.

</comment></comment><comment><USER10> A rigorous benchmark must seek to explain the difference in performance, not just hand-wave saying "such-and-such is faster". Otherwise, you have no way of validating (for yourself, let alone demonstrating to others) that it's not a misconfiguration or a flaw in your benchmark.

</comment><comment><USER11> Just goes to show that when the node.js fad is over, the enterprise world will keep its high availability servers running on proven technologies.

<comment><USER12> Node.js is not a fad. It represents the first workable JavaScript-based server with mass appeal. The real story is that JavaScript is here to stay. There have been other server-side JavaScript frameworks in the past, but none of them have taken off like Node.js. If Vert.x wins over the JavaScript crowd, then that's great, because coders will be able to write JavaScript.

<comment><USER13> > _Node.js is not a fad. It represents the first workable JavaScript-based > server with mass appeal. The real story is that JavaScript is here to stay._

Javascript yes. Node.js, not so much.

 _> There have been other server-side JavaScript frameworks in the past, but none of them have taken off like Node.js._

Javascript was not a fast language in the past, nor was it much used for anything more than the most basic dynamic html stuff (rollovers etc)...

<comment><USER14> > nor was it much used for anything more than the most basic dynamic html > stuff

You seem to have missed Netscape Enterprise Server (1994), HaXe, Helma, AppJet, Aptana Jaxer, Narwhal/Jack, EJScript, RingoJS, Flusspferd, and ASP.

<comment><USER13> No, the industry seem to have missed them. None of those were any big success.

(With the exception of ASP. But in ASP, Javascript was just one of the languages you could use, and not the most popular one).

</comment></comment></comment></comment></comment><comment><USER15> This is consistent with a benchmark I did a while back comparing Netty vs. Node.js. Not surprising since Netty powers Vert.x. Netty is pretty amazing. 500K concurrent connections and not batting an eye.

</comment><comment><USER16> According to the code, it actually does a file read on every request -- this is certainly suspicious because some implicit caching may significantly change the results.

<comment><USER15> It includes a test with file streaming on Node.js, that bypass reading the file and write to socket via the Javascript loop completely.

Also file IO are heavily cached by the OS. You can bet that one file is read from memory most of the time. Disk IO is pretty much out of the equation.

</comment></comment><comment><USER17> With regards to Vert.x, it seems like really cool stuff.

On the blog post about version 1 being released it mentions being able to mix and match several programming languages. Does this mean you can use different libraries written in different languages in the same Vert.x server?

<comment><AUTHOR> Yes indeed. You can mix and match Java, JavaScript, Ruby and Groovy in the same app. We hope to support more languages going ahead (e.g. Java, Scala, ...)

<comment><USER18> Once you get Scala, I'll be heading your way. :-)

<comment><USER19> You already have Scala+Async IO+Netty, it's called play framework 2.0

<http://www.playframework.org/>

<comment><USER18> I've used it. Not a fan of many (most) of their design decisions, though it's better than the current alternatives.

</comment></comment></comment></comment></comment><comment><USER20> Yet another meaningless micro benchmark. There is no point in measuring a hello world http request in one framework vs. another.

There should be a larger application that even remotely resembles some kind of real world usage. Maybe some day we'll have some kind of a "standard" for a web framework benchmark, an application that actually does something so it's worth benchmarking.

<comment><USER2> Hardly meaningless. The problem is that the larger application benchmarks fall prey to accusations of "I wouldn't write it that way!". Their results are just as hotly disputed.

This micro-benchmark makes sense. It's benchmarking an HTTP server essentially. Any benchmark further than this would really be benchmarking the JVM and V8. While that would be interesting, I think in this case, this micro benchmark is OK as long as you know its limitations.

The reality is that most people's app code and databases are going to bottleneck long before either Vert.x or Node.js do. The main thing this benchmark clears up is that both of them are really, really, fast, and that if you do lots of simple to process responses you may want to go with Vert.x.

<comment><USER20> > This micro-benchmark makes sense. It's benchmarking an HTTP server > essentially.

Kind-of true. But to give any results that can be applied to the real world, it would have to use a much larger payload than a hello world.

</comment></comment></comment><comment><USER21> Very exciting initial results. The JVM simply is the most optimized runtime available right now. And Java is the dynamic language with best performance. Can't fail to notice Ruby is the slowest even on JVM. If you continue on this path and refine your APIs to be more user friendly, this would be the next big asynchronous server out there!

</comment><comment><USER22> In the test, the node code is actually calling an asynchronous function fs.readFile on every single request:

<https://gist.github.com/2650401>

Even with os caching there is still quite a bit of overhead there. Would be interesting to see the benchmarks run on the corrected code:

<https://gist.github.com/2650401>

</comment><comment><USER23> The streaming node.js example he wrote uses a blocking call. This is not the node way, and would cause a definite slow-down.

If you're worried about your programs containing rogue & misbehaving code like this, I recommend you use <https://github.com/isaacs/nosync>

<comment><USER24> I had the impression that "Node.js (readfile)", and possibly "Node.js" meant the blocking call but that "Node.js (streams)" meant he was using something like fs.createReadStream(). But you're right, I don't see that anywhere in the posted source.

<comment><AUTHOR> I've tested several combinations of blocking, non blocking, readFile, streams (pipe) and using chunked transfer encoding.

Results vary a little but all way below the Vert.x results.

See blog post for the stats.

<comment><USER24> Fair enough. After I wrote that I remembered that readFile wasn't blocking anyways, but it was too late to edit at that point.

</comment></comment></comment></comment><comment><USER5> I'm interested to know how vert.x compares to industrial-strength "traditional" servlet containers. My guess is that vert.x would outperform them under certain conditions, but all in all they would scale better.

I believe servlets are still the most scalable web stack out there.

<comment><USER25> I imagine you mean that servlets are the most performant web stack, not the most scalable web stack. Scalability != Performance.

<comment><USER5> Well, I'm sure it's easy to beat servlets with a load that requires only one thread with a simple enough computation model. Servlets (and any truly multithreaded solution) trades single-thread performance with the ability to scale with the number of cores. That's what I meant.

So I would think that given a heavy load on a many-core machine with interesting enough computations, nothing could beat servlets' performance.

<comment><USER25> My apologies - it's clear you were talking about scaling performance with additional cores, which is entirely the right usage of the term.

</comment></comment></comment></comment><comment><USER26> Don't serve static files with node. Use an nginx reverse proxy for your html/js/css assets.

<comment><USER27> I'm going to ask a dumb question as someone who is just learning node. What's wrong with serving assets out of public/ in an Express app? Why would someone not want to do this?

<comment><USER28> For the vast majority of sites that ever hit the web, yeah, it will probably be fine. So go ahead and have fun learning node and do it however, you can always fix it later if the site gets overloaded.

At some volume though, you want to do what the grandparent recommends -- front your application server with nginx, apache, or something. Otherwise serving up static assets is taking away resources that should be spent on the application. Consider if you have a page with 5 images, 5 JS files and 5 CS files for each page created. That means you're serving 15 static assets for every 1 dynamic asset you'd really want to use Node for. While Node can still be "good enough", it is not spending its time doing the stuff you really want to use it for in the first place. A dedicated piece like nginx goes much further.

And also use a CDN :p

</comment></comment></comment><comment><USER29> So a quick verification. The io is the difference between these two. The JVM is doing some caching somewhere, whereas the v8 engine is not. Making a small change to both (in order to ensure that both are using the exact same logic):

<https://gist.github.com/2652991>

and then I get the following results:

vert.x:

39890 Rate: count/sec: 3289.4736842105262 Average rate: 2958.1348708949613 42901 Rate: count/sec: 2656.924609764198 Average rate: 2936.994475653248 45952 Rate: count/sec: 3277.613897082924 Average rate: 2959.610027855153

node.js:

38439 Rate: count/sec: 4603.748766853009 Average rate: 4474.62212856734 41469 Rate: count/sec: 4620.4620462046205 Average rate: 4485.278159589091 44469 Rate: count/sec: 4666.666666666667 Average rate: 4497.515122894601

Making that change so they both store the file in memory and nodejs is 50% faster than vert.x.

This is using an m1.small instance on EC2, and both vert.x and nodejs only using a single core.

<comment><USER30> Yea. There is no way java/rhino could beat c/v8.

<comment><USER29> In any case even if it was faster, it wouldn't be an order of magnitude faster. That kind of a difference should be an indication that something is wrong with the benchmark.

</comment></comment></comment><comment><USER31> I wanted to know the benchmarks including luvit. Vert.x vs luvit vs Node.js <https://github.com/luvit/luvit>

<comment><USER32> luvit, love it!

</comment></comment><comment><USER33> Why are they measuring requests/sec? Any server can accept connections at a high rate but what matters is responding in a timely manner.

I doubt the requests number too. Writing a dummy socket server (evented, threaded, ...) that just returns "HTTP/1.1 200 OK" will not get you anywhere close to 120k requests/sec. The system call becomes the bottleneck.

<comment><AUTHOR> It's labelled badly, what is actually measured is req/resp per second.

I.e from request to corresponding response and how many of those it can do per second.

If you doubt the numbers please feel free to run them yourselves, all code is in github

<comment><USER34> Could you clarify that? Are you saying that if the response is sent within the same second that the request came in that it contributes to the metric?

Or would a response that is sent 30 seconds after the request came in contribute to the metric too?

<comment><USER15> It doesn't matter whether a request straddles a second or not in a throughput measuring benchmark when you saturate the system. A client would only count a request when its request call has returned. Runs it for N minutes, count up how many requests have completed, then divide the total with the time and you got req/sec.

Besides the benchmark has run for a minute. I doubt each request lasts 30 seconds.

<comment><AUTHOR> +1.

The system is in steady state, i.e. queues of requests/responses aren't growing. Therefore it doesn't actually matter if you count the requests or the responses.

</comment></comment></comment></comment></comment><comment><USER35> Are there any easy cloud platforms or whatever that support easy deployment for Vert.x?

<comment><AUTHOR> People have already got Vert.x running on OpenShift and Heroku, and CloudFoundry support shouldn't be too much longer.

</comment></comment><comment><USER36> Testing A against B. A is found to be faster.

People in the B community come out in outrage saying that the testing is flawed, that microbenchmarking is useless, that this and that. Rinse and repeat.

</comment><comment><USER37> Quite interesting. Is the Vert.x API compatible with CommonJS and/or Node modules? If not, I think it will suffer from the same chicken/egg problem that WebOS had with apps.

<comment><USER38> Seeing these numbers (although as the author states, the data needs to be taken with a grain of salt since he didn't try to set up a more "proper" test environment) really makes me want to take a serious look at vert.x, but what you mention here is my main concern.

Node is a joy to use because of the NPM, and all the available libraries. I'd hate to lose that.

That said, so long as it has a solid websocket api, and I can do routing in it like I would express, I'd give this framework a shot

<comment><USER18> > Node is a joy to use because of the NPM, and all the available libraries. > I'd hate to lose that.

Maven's not bad at all (from a consumption perspective--from a dev perspective, it's a bit of a pain in the ass), and it looks like pretty much any Java library that doesn't do anything _too_ insane should work just fine. (Disclaimer: never used vert.x myself, but I did a quick scan of the code.)

<comment><USER38> Cool, thanks for the tip

</comment></comment></comment></comment><comment><USER39> JVM beating the shit out of Node.js? I guess that's not even slightly surprising to anyone outside the Node.js bubble.

<comment><USER40> Java much faster than Javascript. News at 11...</comment></comment>


Top Canadian Court Permits Worldwide Internet Censorship - <AUTHOR> https://www.eff.org/deeplinks/2017/06/top-canadian-court-permits-worldwide-internet-censorship <comment><USER2> IANAL

The title is false as stated, two ways - the courts aren't permitting, they're insisting; and they aren't insisting on a worldwide ban, only that companies who want to do business in Canada can't facilitate websites/information being read in Canada that's banned in Canada. Practically, of course, this may mean companies choosing either worldwide bans or not doing business in Canada.

Funny thing is, this isn't actually new. There are (or were) already Canadian laws that don't allow the publication of Federal election results in time zones where voting is still happening, and frequent court-imposed bans on publication. These laws would also not be satisfied by Google's admittedly feeble solution of scrubbing their official Canadian portal, but not their other portals, also easily accessed in Canada. But nobody pressed the issue so far in those previous non-commercial cases.

Canada doesn't have jurisdiction over the world and isn't pretending it does. It does have jurisdiction in Canada and is saying to Google et al: "If you want to serve ads here or have your Playstore sell digital goods here, then you can't also serve up websites we've ordered blocked, period. Choose one." This permits further, future actions to block Google in Canada if it can't comply or doesn't wish to.

Which brings up international comity, of course. Canada isn't the only country that can play this game. Given the international nature of webformation, Google would have to descend to the lowest common denominator, blocking everywhere anything legally blocked anywhere (that it wants to do business.) (Or maybe creating a Chinese firewall everywhere, with unique filters in every country, which would be hella expensive.) Such a trend may not be in the common interest of course; in other words it may pose a prisoner's dilemma. Probably does. So it's likely time to go back to the treaty table, or perhaps to rewrite-Canadian-laws-again. Still, as the law stands it's hard for the courts to decide anything other than what they just decided. Information is either banned within Canada or it isn't - symbolic changes that still allow Canadians to be referred to a banned website don't fulfill the law.

</comment><comment><USER3> I am interested in how could this be enforced worldwide? I do not understand how they could enforce this anywhere but on other countries going to servers within Canada or Canadian residents going to servers outside of their country?

<comment><USER4> > I am interested in how could this be enforced worldwide?

It's an order against Google. To the extent Google relies on ability to do business in Canada, it can be enforced against Google. Talking about enforcing it against anyone else is irrelevant, since it doesn't apply to anyone else.</comment></comment>


The Red Pill (2017) – Movie Trailer - <AUTHOR> https://www.youtube.com/watch?v=wLzeakKC6fE <comment><USER2> They should really come up with different terms for "Men's rights issues" and split it up a bit IMHO. Most people seem to hear that and immediately reject it without looking into the topics it actually deals with. When you do, I discoved there exists a lot of legitimate societal problems under that rubric which need to be dealt with (homicides, suicides, combat deaths, work deaths, lower education, homelessness, etc. all of which are massively male dominated). [1]

I watched Cassie Jaye once on The Rubin Report and she seemed like an articulate person and a open-minded clear thinker from what I remember. This will probably be an interesting documentary.

1\. [https://en.wikipedia.org/wiki/Men%27s_rights_movement](https://en.wikipedia.org/wiki/Men%27s_rights_movement)</comment>


Erik Schlangen Demonstrates the Potential of "Self-Healing Asphalt" - <AUTHOR> http://www.archdaily.com/400530/erik-schlangen-proves-the-potential-of-self-healing-asphalt/ <comment><USER2> The self-healing aspect of the asphalt is very interesting, but the big problem with porous asphalts (there's a lot of research in the area performed by Purdue, US DOT/Volpe Center and other places) is that road salt and dirt tends to clog up the pores over time, reducing the drainage and noise- reduction properties of the material. I was disappointed that the presentation didn't address this.

<comment><USER3> Also, in northern climates, the water will get in the pores then freeze and expand. It may be self healing, but in a matter of weeks the road would be still be completely rubbish

<comment><USER4> With a test track in the Netherlands, wouldn't that scenario have been tested fairly well by now?

</comment></comment></comment><comment><USER5> I'm wondering if there is any progress in the Solar Roadways Project. I doesn't seem so.

[http://www.solarroadways.com](http://www.solarroadways.com) [https://www.youtube.com/watch?v=Ep4L18zOEYI](https://www.youtube.com/watch?v=Ep4L18zOEYI)

</comment><comment><USER6> Is it self-healing, or is more "microwavable?"

<comment><USER7> As the video showed, the healing process does require the external provision of heat. It doesn't self-heal just by sitting there as some other materials claim (eg walls that "eat" pollution).</comment></comment>


The Creation of the Unix Operating System   - <AUTHOR> http://www.bell-labs.com/history/unix/

<comment><USER2> If you like that, you'll love The UNIX Haters Handbook

<http://m.simson.net/ugh.pdf>

<comment><USER3> And rebuttal: <http://esr.ibiblio.org/?p=538>

<comment><USER4> I thought his discussion of the Linux Hater's Blog, <http://esr.ibiblio.org/?p=628> , was even better.

ADDED: Also the Linux Hater's Blog is still going if only intermittently, <http://linuxhaters.blogspot.com/>

</comment></comment></comment><comment><USER5> I'm sorry but I had to make this into one big document. Point your "Read Later" here: <http://pastebin.com/6dB9bXDr>

<comment><USER6> Thank you!

</comment></comment><comment><USER7> It's not that UNIX is so great. It's that everything else is so much worse. When things suck bad enough, someone does something about it. (As it was with Multics... after all these years, people are still pushing more crap systems on us, forcing us to retreat to UNIX.) When you delve into this OS you break free from all of the crap and, if you stick with it, you can actually see that things can be made simple. Quite refreshing, I think.

Beware the complexifiers, people who want to make simple things complex. They are like the Snark. Lurking in every tree.

</comment><comment><USER8> This article is outdated. For a pictorial story that's always current, I refer you to... <http://www.levenez.com/unix/>

<comment><USER3> It's outdated to the extent it is, in itself, a piece of history.</comment></comment>


Alumna makes $1 million gift to help liberal arts students find jobs - <AUTHOR> http://live.psu.edu/story/60897#nw4

<comment><USER2> There's no more eloquent testimony to the limited value of a liberal arts degree than the idea that someone would offer seed money just to get new graduates hired somewhere.

There's a reason science, engineering and math degrees are more difficult to acquire -- they're more useful to people who live in the real world.

For those unaware of the economic spectrum of college degrees, I offer this:

[http://www.universitylanguage.com/blog/07/college- graduate-s...](http://www.universitylanguage.com/blog/07/college-graduate- salaries-by-field-and-major)

The top 2: computer science and engineering.

The bottom 4: history, English, psychology and sociology.

<comment><AUTHOR> And supply and demand is clearly in effect ... The fastest way to increase hiring and salaries would be to produce fewer graduates but this is directly at odds with the faculty in these departments goals.

<comment><USER2> > The fastest way to increase hiring and salaries would be to produce fewer > graduates ...

Yes -- this kind of manipulation is often seen in medicine, where professional associations of doctors do what they can to reduce the supply of new graduates.

But absent the above effect and ironically, in spite of the clear economic value of technical degrees, they're difficult seats to fill within a university. My theory about this is that students don't understand economic issues until after they've graduated.

</comment></comment></comment><comment><USER3> The jokes write themselves for this one, so that's no fun. Given how poorly most liberal arts majors I know are making use of their degrees, I could certainly see the value in this sort of program to help them build more attractive résumés. I had a science degree, so I didn't feel the need to rely on much career guidance from the school.

FTA:

"The Leadership Assessment and Professional Development (LEAD) program..."

Looks like another liberal arts major might need a bit of help.</comment>


A Wireless Oscilloscope Isn't as Dumb as It Sounds - <AUTHOR> http://hackaday.com/2017/03/18/a-wireless-oscilloscope-isnt-as-dumb-as-it-sounds/ <comment><USER2> Hi, I'm Jonathan, a co-founder of Aeroscope. I'm happy to answer any questions you have.

</comment><comment><USER3> Just hope you don't run out of battery on your phone when using it.

Also, will it self-diagnose your iPhone?

<comment><USER2> It uses Bluetooth LE, so the power draw on the phone should be minimal. Aeroscope itself can run continuously for 8 hours or be idle for 1 year.

<comment><USER3> Great.

</comment></comment></comment><comment><USER4> Looks like a super cool product!

</comment><comment><USER5> Very cool!</comment>


The World Needs to Quit Coal. Why Is It So Hard? - <AUTHOR> https://www.nytimes.com/2018/11/24/climate/coal-global-warming.html <comment><USER2> This could've been a tweet: It makes profit and requires no change to the current system.</comment>


Ask HN: Is there a dual pane version of HN? - <AUTHOR>

I find HN to be the most invaluable website I visit on a daily basis, however interacting with HN usually involves multiple tabs and flipping back and forth if I want to comment on a URL/story.<p>Has anyone produced a dual pane version of HN that puts HN on the left, and the clicked URL on the right? <comment><USER2> There is a Chrome plugin that does this: [https://chrome.google.com/extensions/detail/plldnnbdlbgbiknj...](https://chrome.google.com/extensions/detail/plldnnbdlbgbiknjebohmlggcbicghlj)

<comment><AUTHOR> Ahh, very interesting, but I'm not on Chrome. There doesn't seem to be a similar plugin for Firefox.

<comment><USER3> You might want to give this one a try:

[https://addons.mozilla.org/en-US/firefox/addon/fox- splitter-...](https://addons.mozilla.org/en-US/firefox/addon/fox-splitter- formerly-split-br/)

</comment></comment></comment><comment><USER4> This is super crude, but something I just hacked up-

<https://gist.github.com/911459>

</comment><comment><USER5> I've always kind of wished web browsers had a built-in split-pane feature so I can keep one tab always open within the window.</comment>


Startups at Berkeley - ST@B - <AUTHOR> http://www.sproutly.com/2007/10/17/startups-at-berkeley-stb/

<comment><USER2> "HotOrNot was James' third startup before he finally succeeded."

Thats good to know that James didn't give up after first two failures. It must be hard to keep that temperament.</comment>


How One Doctor Fights the Grim Spectre of Bleeding to Death - <AUTHOR> http://www.inklingmagazine.com/articles/one-doctor-fights-the-grim-spectre-of-bleeding-to-death/

<comment><USER2> What's really interesting, now that I finished reading, is that the test in question has been available for years, but is unused because of a lack of normal values. The research that's being done isn't exciting or ground- breaking, it's just measuring these values over a lot of samples, and yet it could have a profound impact.

The non-sexy science can sometimes be really useful.

</comment><comment><USER2> Buried halfway in the article is this completely out of place pun: _Searching for the red flag that says: "I can't stop this bleeding, deep inside of me"_</comment>


Ask PG: What does YC think of dev bootcamps for non-technical founders? - <AUTHOR>

The focus is on how YC views development bootcamps, and, if possible, which ones PG holds on higher regard when looking for a founder. <comment><USER2> They invested in One Month Rails ([https://onemonthrails.com](https://onemonthrails.com)) so I am guessing they have some faith in that one -- or faith in their growth numbers.

<comment><AUTHOR> I am not sure. You know how the saying goes, One Month Rails is supplying jeans to miners in the Gold Rush. I am not sure if buying the jeans (not a perfect metaphor, I know) and mining is the right path. PG and YC (by reading the Launchpad book) are very adamant in their view of technical founders. I am confused if an MBA with a strong bootcamp base would be considered a thoroughbred.

<comment><USER2> I was talking about a bootcamp they had faith in. Investing money means they have some faith in it.

<comment><AUTHOR> Again, as investors in the company, not in the people that come out of their training, which is my question!</comment></comment></comment></comment>


Ask HN: What is your trip planning workflow? - <AUTHOR> 	I'm curious about how people go about planning a trip starting from the thought that they need to go on a vacation.
I'll start: I am a Product Manager working in NYC
I usually have a list of places I want to check out, like Iceland, New Zealand. I also periodically look on Travelzoo for any vacation packages.
After I know where to go - I book my flights on Kayak and
Then I go and research the web/google/TripAdvisor etc to find out what to do when I get there. Like what cities, what points of interest, what restaurants etc.
I copy and paste the information in a spreadsheet or a document including addresses and any other information.
Then comes the painstaking part.
I then decide what to do on Day 1, Day 2, Day 3 etc by looking at proximity of these places in Google Maps and duration of these activities and then create a tentative daily schedule.
I then book my hotels on hotels.com or booking.com. Not too much into Airbnb unless I am going with a group of people.
Then I put this document on a Google Drive or print it out so I can consume this info while I am on my trip.
Wondering if other people put in the same effort and what their workflow is. <comment><USER2> We start seriously discussing vacation about 2 or 3 months before we think we want to go. We leave this Friday, so we started in February.

We start with the hotel - as Las Vegas can vary greatly day to day based on what conferences are happening / DJs playing, holidays occurring - we pick 2 or 3 hotels we want to possibly stay at and I start building an excel sheet of which consecutive 6-7 days is the cheapest and where. Once that's decided, book the hotel and flight. Our flight to LV is always via SouthWest. Anywhere else, just choose which airline is the cheapest for the time we want to leave and return. Same for the car rental - once we know which days we're going, choose the cheapest not shady looking rental company that has the car we want.

After that, it's just a matter of brain storming what we want to do when we get there and start buying tickets or booking reservations once it gets a bit closer. This year, we've booked shows or night clubs for almost every day of the trip already. Had to get an itinerary app so can remember when and where, lol...

Otherwise, we've only ever been to all inclusive resorts in the Caribbean and those are pretty much just decide when, book and go. We just do the package deals; flight, hotel and transportation to the resort.

</comment><comment><USER3> I did it in reverse. I used points for my flights and hotels and booked those first. I had a rough itinerary planned. Going to Tokyo -> Osaka -> Hakone -> Tokyo. Once I booked all the rooms first, then I planned activities. Hakone was the hardest to book since it was a hot springs hotel and I got lucky with an opening.

I figured out what I wanted to do and then matched that up with the days. I ended up removing stuff since jet lag and delays can always ruin the best plans. My days are more guidelines now. I know if I want to go do something, I can and have a list of things, but if I don't feel well or just feel like exploring, I can do that too.

Edit: I made a google doc, then turned it into a spreadsheet. I also have a TripIT account and used that for any travel notifications. I also added all the locations to google maps and plan to download them in case of bad cell service. I also looked into Maps.me.

<comment><USER4> have you done that trip yet? if not i envy you. make sure to head to the outskirts of tokyo and check out kamakura and the awesome kawasaki warehouse before you leave

</comment></comment><comment><USER4> places i usually already have in mind, i usually get my flights on skyscanner but after that things get complicated, im known as the organised one of the group so i usually set everything out.

i start off researching the city as fully as i can, check out all the usual places like trip advisor but often hitting up the reddit for whichever city you are visiting can offer some really interesting possibilities, its also great for finding out about music events that may otherwise be hard to find out about.

after that i split the trip up, i never stay at a single hotel the whole trip, ill pick a few in different areas of the city where there are different things to do, it makes you explore the city a bit more. i dont do airbnb or hostels but im not above guest houses or low end hotels.

i dont stop there though, once hotels are booked ill still keep checking hotel sites at least a few times a week to see if any deals for better places come up, if they do i cancel the old and rebook. it pays not to have too rigid a schedule though as things dont always go quite as you plan them to

i dont write any of this down though, i generally just memorise it all (ive usually spent so long researching it that its burned into my brain!) as long as i have google maps for navigation im set (i never travel without a data connection these days)

of course this method only really works if youre visiting big cities, and if im honest its a while since ive done any that werent in japan (but if youve been there you probably understand why that is, and if you havent then its time to start planning a trip!) next month it all begins again for me as ill be booking my flights to head back to the land of the rising sun in november</comment>


Reddit forcing mobile app, can't visit website - <AUTHOR> https://pasteboard.co/I0qRYLT.png <comment><AUTHOR> The same way quora started forcing sign in to view content now reddit is forcing users to download their mobile app otherwise you can't visit reddit.com

</comment><comment><USER2> I'm close to ditching reddit. HN, Twitter, WSJ fulfill most of my needs for news, articles, discussion.</comment>


Charles Stross: "Playtime is over" - <AUTHOR> http://www.antipope.org/charlie/blog-static/2016/11/playtime-is-over.html <comment><USER2> Interesting how people start to see conspiracy theories when their side is losing.

There is no grand fascist conspiracy (unless we use the original meaning of fascism - the intertwining of state and big corporations - in which case we are living in it already)

What we have here is logical conclusion of embracing the identity politics. Because you cannot have only the good side of identity - identity tell you who you are, but also tells you who you aren't. So it is inevitable to have more and more fractures. They are neither progressive nor enlightened.

Economic justice bring social progress - the civil right movement was made possible because it was in the middle of unheard of economic boom post WWII. There was enough to go around for everyone.

And the progress suddenly stopped in the 70s when the economy went sour. And for the masses - never improved.

<comment><AUTHOR> I like his earlier systemic analysis better, because it didn't involve placing emphasis on one particular government actor: [https://news.ycombinator.com/item?id=9106983](https://news.ycombinator.com/item?id=9106983)</comment></comment>


Daimler tests self-driving truck on German highway - <AUTHOR> http://news.yahoo.com/daimler-tests-self-driving-truck-german-highway-214036272.html <comment><USER2> I'd be curious to know what progress they've made since I worked on VITA-2 as a Daimler intern as part of PROMETHEUS back in 1992. We also had self-driving on highway with a driver sitting attentive next to a red E-stop button to revert to manual control.

We couldn't get the bus to the highway autonomously, but once there, it could self-drive. (I'm sure it's a lot better now, and the hardware much smaller (we had 3 40U racks of equipment) but I'm curious.)

<comment><USER3> Well, this sounds really interesting, I was just reading the wikipedia entry on Erns Dickmans [https://en.wikipedia.org/wiki/Ernst_Dickmanns](https://en.wikipedia.org/wiki/Ernst_Dickmanns) this and the project was truly fascinating. What did you do there? What did you end up doing afterwards?

<comment><USER2> It was amazingly interesting. My degree is in Mechanical Engineering, but I taught myself programming at age 7 on an old TRS-80 and have basically only worked in computing my whole life.

At Daimler, I worked on the computer vision system, doubling the throughput (by adding more processing nodes primarily). IIRC, we went from ~12.5 Hz to about 25Hz. That was fairly straightforward, but I also added a lot of inter- frame aware filtering, created some graphical output changes to help us better understand what the system was doing internally at any given time. That was all in Occam on transputers. I think each card held two nodes and cost about $25K. Each node was about a 486-25.

We had a couple mile stretch of abandoned Autobahn a few miles away from our lab building that we would test on about once a week. (Other teams also needed the vehicle to test their systems.) We also took it to an abandoned airfield outside Munich for longer, higher-speed tests, and demos, and took it to Turin a few times for tests and pan-PROMETHEUS demos and world record runs. On a few of those test sessions, if our system was working well, I was also able to pitch in with other teams on control system algorithms, a radar ranging system, and lane/sign detection vision system work.

(This is all 23+ years old, so forgive some minor discrepancies.) It was a great experience all around! (You also got me to send a LinkedIn invite to my boss there, Dr Andreas Kuehnle, now at Bendix, so thanks for the followup Qs.)

When I came back and graduated, I interviewed at the US Big 3 (back when there were 3, they were big, and US... :) ) and a Ford engineer urged me to "go anyplace other than US auto". He said if I wanted to come back into motorsports or high-perf/speciality street vehicles that I was better off doing something else for 5 years and applying back directly into those units. I wish I had that guy's name and address as it was great advice.

Went to a few startups that failed, went to a motorsports simulation game company that was successful and bought by Sierra-Online, then went to a satellite office of DEShaw (a hedge fund), bounced around in finance, and finally ended up at Vistaprint a few years before we went public in 2005 and I'm still there and crazy happy.

I welcome any followup questions (for HN sake, followups on your former question are more interesting than the latter, but I'll answer either...)

<comment><USER3> Heh, I graduated as a mechatronics engineer(so my education leans mostly towards the mechanical Eng. side) and wound up as a firmware engineer for the auto industry. These days I'm quite staggered, frankly, how inefficient the auto industry is at writing good firmware and would love the chance to chip at something more useful than what I'm doing right now.

I was asking what you wound up doing afterwards because I was personally curious what career trajectory one can expect going from such cool projects.(esp at that time)

It's really curious how this bit of history isn't that well known. I've only just heard about it 3 days ago. Since they have been working at it since the 80's, I would have expected Daimler to have the lead in the sdc game. How brilliant were the people working on it at the time? How come they didn't try to hit the market with what they had? I guess it wasn't feasible in '92, but I see the project running till' at least 2005, so I guess they could have tried putting some commercial applications of it out.

<comment><USER2> Hardware cost (and size/power) was the big issue. VITA-2 was literally a 9m+ bus and was jammed full of equipment. It surely wasn't a limit of brilliance (but like anything, hard and well-directed work is a crucial ingredient).

I believe that you could directly trace some of the lab work our group did to Distronic (adaptive cruise control) and Parktronic (parking assist) in Mercedes road cars over the years. I doubt any of my personal work can be directly traced to a shipping feature in a production car, but I still learned a ton (and I believe contributed a lot as well).

I'd love to learn more about auto firmware, especially as I've gotten into hardware and electronics a bit more as a hobbyist, but my sense is that the auto industry cares deeply about COGS and that probably drives a lot of their seemingly inefficient decision-making. (Firmware writing is NRE, module and ECU production is COGS and if you sell enough units, COGS dominates.)

I don't know you can extrapolate from anyone's career path, due to the insane amount of randomness in outcomes and choices, but if you're "good with computers", there's probably never been a better time to be in the field, especially since I'd basically do it for free (given what I do for hobbies).

"The grass is always greener" is a very real thing, so don't be in a huge hurry to jump fields/sub-fields/companies assuming that it's just your particular company that has flaws. They all do. ;)

<comment><USER3> The thing idn't that clear-cut in the COGS vs NRE area. From what I've seen, the firmware for each car model is VERY customized and for each generation they're solving the same problems all over again.

At one time I was writing some firmware and it was very fun, but it felt sort of pointless, since I'm sure someone else should have already solved that problem at least once in the past in the same company. So they keep reinventing the wheel, with each product, with each car.

It was very educational for me, but I'd love that once something is good, let's build on it... make it better, expand it. It could use from more transparency or some (internal, in the least) transition to a kind of opensource model within the company, where the good code survives and evolves and the bad one gets left behind...

</comment></comment></comment></comment></comment></comment><comment><USER4> This is a comment made at Yahoo news page:

      Driving trucks has been a good paying job for lots of people
     in the past. Between robot trucks and robot burger flippers,
     everything might be cheaper, but still people won't be able
     to afford anything.

We are certainly moving to uncharted waters now.

After all the automation—both mechanical and software affecting service (brain?) and labour (brawn?) industries—would there be need for humans to get things done?

<comment><USER5> Like all automation (the wheel, the combine, ...) it pushes humans up the value chain. There is no market for coolies any more either, just like there won't be for truck drivers in 15 years.

The thing that is different is this time is that we have run the course on almost all unskilled labor now.

The implication of that is that people need to move up the value chain or perish.

<comment><USER6> The very clear issue is that not everybody can or wants to be pushed up the value chain and 'perishing' is not an option for large numbers of people in a society without that society itself perishing.

</comment></comment></comment><comment><USER7> That is excellent news for road safety! I remember working with companies on lane departure detection systems back in 2007. We have come a long way... Next steps will include to have vehicle convoys where vehicles sync together to drive at same speed.

<comment><USER6> > That is excellent news for road safety!

For that to be a certainty we need a lot more data than what is available today. This is very very early in the deployment of this kind of technology to make such blanket statements. It _may_ be excellent news for road safety.

</comment></comment><comment><USER8> Same with many charities as well; they're created for PR & tax purposes, not to serve any actual public good.

<comment><USER9> Not in this case. The "last mile" of freight distribution currently needs trucks (just imagine a city full of freight train tracks), and if these trucks could operate on their own, the likelihood of truck-bicyclist accidents alone could drop massively - not to mention the massive reduction in freight costs because the most expensive part (the human) is eliminated.

<comment><USER10> > because the most expensive part (the human) is eliminated.

I think the fuel (6 mpg!) and capital costs of the truck are considerably larger than the wages of the man driving it.

<comment><USER11> Perhaps once labour costs are eliminated you can also improve efficiency by driving more slowly (in a truck-only lane on the freeway). You could also draft just behind other trucks. Finally I suppose you could be whatever shape is most efficient for slipping your cargo through the air without needing to worry about accommodating a pesky human.

</comment></comment></comment></comment><comment><USER12> With all of the advances in self-driving cars, I wonder why we don't have research into self-driving trains.

<comment><USER13> It's a matter of scale. A single train operator hauls thousands of people or thousands of tons of material. Getting rid of that one person hardly gains you everything. On the other hand a truck driver hardly hauls anything, maybe ten or twenty tons of cargo per driver.</comment></comment>


Ring's Ukraine arm appears to be working on facial recognition technology - <AUTHOR> https://www.buzzfeednews.com/article/nicolenguyen/amazon-ring-facial-recognition-ukraine <comment><USER2> I don't see whats the problem here.

A company has an international market. In one country, where they probably don't have a law against facial recognition, does research on facial recognition in their product.

In their home market, they are asked if they do Facial Recognition in their product, which probably meant in the USA, and they rightfully said they don't. The most likely scenario is that the spokesperson is not even aware that on one market they do facial recognition _research_.

Seems like a manufactured outrage over nothing.

</comment><comment><USER3> _> Beginning in 2016, according to one source, Ring provided its Ukraine-based research and development team virtually unfettered access to a folder on Amazon's S3 cloud storage service that contained every video created by every Ring camera around the world._[1]

Is that why Ring has it's RnD in Ukraine, to be away from US and EU privacy laws?

[1][https://theintercept.com/2019/01/10/amazon-ring-security- cam...](https://theintercept.com/2019/01/10/amazon-ring-security-camera/)

<comment><USER4> Any privacy regulation that could be circumvented by simply transferring the data offshore surely wouldn't be worth the paper it's written on. The GDPR certainly doesn't allow this.

</comment></comment><comment><AUTHOR> Thing I don't get is, why tell on yourself like that? Why make such an explicit job title?

Where I work there is a policy of no org charts ever because it just tells other companies who to poach.

<comment><USER5> Do you get paid a lot of money?

Because I wouldn't want to work somewhere for years whilst being unable to talk about what I've worked on.

<comment><AUTHOR> This is a company-wide thing, so if there's no HR diagram then it's hard to poach both sales staff and tech people. I'm an ML guy and my title is ML Lead, but that's still a long way from "ML Lead working on this one specific problem".

<comment><USER6> Are you allowed to have a LinkedIn account with your title?

And company, description, roles etc?

This just seems fundamentally anti-labor. Don't you _want_ to be poached, if the opportunity is right?

</comment></comment></comment></comment><comment><USER7> Also relevant: [https://theintercept.com/2019/01/10/amazon-ring-security- cam...](https://theintercept.com/2019/01/10/amazon-ring-security-camera/)

</comment><comment><USER8> So what? I welcome facial recognition as an additional enhancement to home security systems, especially if it can work across the network of other customers' cameras to help track criminals' movement and if it helps lead to their capture. Property crime is rampant here in Seattle and goes entirely unpunished - making it cheap to solve these crimes using this technology would be a huge benefit to quality of life. I really don't understand the backlash against Ring and others - it just seems like the latest outrage for people to be irrationally upset about.

</comment><comment><USER9> Isn't that sort of what you would expect from a doorbell maker? Using facial recognition as part of the unlock? It's almost too obvious an idea.

<comment><USER10> >Isn't that sort of what you would expect from a doorbell maker?

Call me a dinosaur, but no.

I expect doorbells to make a sound when someone pushes a button, and that's all. I don't expect a doorbell to recognize the person ringing the bell and share that data with third parties, and then potentially decide whether or not to unlock the door for them.

>It's almost too obvious an idea.

I can't argue that Ring itself isn't a billion dollar idea... and in the context of the concept itself, facial recognition makes sense.

But please let's not pretend this is just what anyone would expect from a "doorbell maker," and potentially push the Overton window even further in the direction of ceding personal autonomy and liberty to third parties for the sake of convenience. Ring doesn't make doorbells, they run a social network and video content distribution platform that monetizes people's front porches and faces, for which a doorbell is just a gimmick.

It's an obvious idea for Ring but I still find the entire premise of smart doorbells and smart locks to be a dark pattern in the IoT.</comment></comment>


Shares of Tweeter (not Twitter) halted - <AUTHOR> http://blogs.wsj.com/moneybeat/2013/10/04/shares-of-tweeter-not-twitter-halted/?mod=WSJ_hpp_MIDDLE_Video_second

<comment><AUTHOR> Wish I would have had a few shares of this</comment>


Hong Kong's Hard-Core Protesters Take Justice into Their Own Hands - <AUTHOR> https://www.nytimes.com/2019/10/07/world/asia/hong-kong-protesters-masks-violence.html <comment><USER2> I'm going to just pull from two of Maciej Cegłowski's tweets on this article (@Pinboard on Twitter, idlewords here):

> This is a really tendentious article by the New York Times that makes me > question their other Hong Kong coverage. The story the past week isn't an > increase in violence by protesters against people; it's a police rampage in > which cops shot two schoolkids.

> There is incredible journalism being done here, including by @nytimes > reporters, but what reaches the front page is bad. David Brooks bullshit, > articles like this on "escalating violence", descriptions of emergency law > as a "measured step". And we have no public editor to turn to

Both from this thread: [https://twitter.com/Pinboard/status/1181240398603112449](https://twitter.com/Pinboard/status/1181240398603112449)

<comment><USER3> It's not black or white. Large scale protest without proper leadership can really get out of control by a few small groups. It is probably a mixture of riot control tactics and violence from smaller groups of protesters that don't follow any leadership and overreact without proper strategy.

<comment><USER4> The Communist Party of China has throughout the protest been dressing up their agents like protesters and having them do bad things. I'm sure there are a few bad apples among the protesters, but I bet most of what you're seeing is actually government agents.

</comment></comment></comment><comment><USER5> It's tough to say what's actually going on here, and this is exactly what mainland China wants.

Are these protesters mainland Chinese hired by China to organize and promote violence to damage the credibility of the protest?

Are these protesters Hong Kong natives who are extremely tired of the bullshit that mainland China is forcing on their country, and the mask ban + months of protests without results are starting to get to them?

We might have a Tienanmen Square 2: Electric Boogaloo soon if this keeps up.</comment>