Chrome 77 Breaking Drag and Drop Events - <AUTHOR> https://bugs.chromium.org/p/chromium/issues/detail?id=1005747 <comment><USER2> If I'm reading the issue thread correctly, it seems that a big revision of the hit testing code was being field trialled (ie enabled for 1% of stable users) and a fix to that code in Chrome 77 caused a bug for the other 99%. Unfortunately, this new bug was only discovered partway through version 77's rollout.

So now there's a bit of a pinch: revert the fix (and break it for the 1%), or leave it (break it for the 99%). Presumably, you could disable the field trial AND revert the fix at the same time, but that wasn't considered. I'm not sure why, but my guess would be that it's a pain in the butt to coordinate both rollout systems.

Obviously the right answer is to make a new fix that doesn't break things for any users, but fixes take time and the release was already halfway rolled out. I think that's where the discussion about impact came from, and the initial assessment was that it wouldn't break much stuff, so the fix was bumped to the next release (Chrome 78).

However, after lots of people jumped on the issue tracker to say it did, in fact, break a bunch of stuff, Chrome 77 was re-released ("respun") with the new fix included.

So, broadly speaking, I think the decisions here made sense under the assumption that it was a small-impact issue. My main criticism would be that there must be a more effective way to estimate impact than waiting for people to complain in the bug tracker.

One approach would be some kind of reverse integration testing system. ie, if you have a critical app or library that depends on Chrome, there should be some way of submitting your tests so that the Chrome team can estimate the impact of changes and find out more easily if they'll break anything unexpected.

Rust does this with a system called Crater: [https://rust- lang.github.io/rustc-guide/tests/intro.html#cra...](https://rust- lang.github.io/rustc-guide/tests/intro.html#crater)

And apparently Yocto has something similar: [https://lwn.net/Articles/788626/](https://lwn.net/Articles/788626/)

<comment><USER3> >...My main criticism would be that there must be a more effective way _to estimate impact than waiting for people to complain in the bug tracker_.

This is very true. There are 100s if not thousands of people for every support person that knows about new Chrome updates and Bug Tracker for opening issues.

Users are told to trust Chrome updates and assume that updates _won 't affect_ existing functionality and so the idea of opening a browser support ticket does immediately come to mind.

</comment></comment><comment><AUTHOR> Spent half the morning trying to work out why drag and drop events were not working properly in code that was working fine and deployed for nearly a year. Finally tracked it down to this obscure bug in Chrome 77 which re-orders drag and drop events but only when your page is inside an iframe that is hosted on a different domain. Looking at the report it looks like this has broken a lot of peoples applications and likely a lot more that haven't yet worked out this is the reason. Looks like a fix is coming in 78 fortunately.

<comment><USER4> I work on drag & drop a lot, especially right now. It's interesting how complicated overall, and how many different (code) solutions there are to the general drag & drop UX problem. I was consolidating ideas/notes from older notebooks a few mornings ago, I couldn't help thinking how it feels like reimplementing human evolution in a different/abstract medium.

<comment><USER5> Agreed, it's a much harder problem to get right than it looks on the surface "sure I can add drag & drop easily!". Like a lot of things in software...

<comment><USER6> You can add drag and drop quite easily if you use a library for it.

<comment><USER5> That's exactly what you think going in...that's the point I'm making.

No one is hand rolling drag and drop these days.

There's a lot of complexity implementing drag and drop both visually and binding stuff to events. It's messy and finicky. Unless your usecase is very simple.

</comment></comment></comment></comment></comment><comment><USER7> I switched to Firefox after they stopped caring about usability issues (like right clicking without releasing left mouse button deselects the text since v fifty-something on windows), the difficulties they created for ad blockers, the account integration fiasco, and so on.

I know this particular bug seems to be an edge case that may happen with every browser, but when you are using Chrome, you should know that if an issue doesn't affect Google, it will likely be deprioritized a lot.

I'm not a self-acclaimed internet freedom fighter, I'm actually very pragmatic, and I'd still humbly suggest everyone to give Firefox a try.

<comment><USER8> Given that Chrome ended Opera, and is effectively ending IE/Edge, people really need to take pause and appreciate and be thankful that Firefox is still around. I think the "shady shit" Mozilla has pulled lately are death rattles. I certainly don't expect it to be around in another 5-10 years.

Firefox's tiny market share is all that stands between all the W3C and WHATG publications going from "standards" to "what Chromium does".

Google is a giant corporation. One day they're going to do an IE6, and shift their focus away from the project, and the whole web will suffer.

<comment><USER9> Why would they ever do an IE6? They don't want to cripple the web as an application platform as MS did but move as much things as possible onto it.

<comment><USER10> "Doing an IE6" for Google would be quite different from what Microsoft did, who wanted the desktop to stay relevant. For Google the web is just an advertisement platform. If/When Firefix is gone, they will hold all the cards. "Doing an IE6" might mean removing support for ad-blockers. Or making Google DNS mandatory. Or have everything you do on the web be phoned to Google, to improve your advertising experience. Assume they will find creative ways to monetize the web, ways that we didn't even think of yet. If you thought the web in 2019 was bad, beware of the Google Future.

<comment><USER11> AMP seems to be an example of the kind of web that (some parts of) Google wants. Hosted on their servers, transformed by their tools, commoditized and sanitized for ad insertion.

Today when you navigate to google.com from Microsoft Edge, there's a barrage of popups urging you to use Chrome instead.

When Chrome is completely dominant, maybe those popups will be on non-AMP sites urging you to "get the best experience"? It's guaranteed that there will be a lot of internal pressure to use Chrome to promote the goals of other divisions at Google.

</comment></comment></comment></comment></comment><comment><USER12> Love the random comments in the bug tracker. "We have an enterprise-level software affected, what is the ETA?"

Lots of folks just figuring out web apps don't run in a metaspherical happy place or "the cloud", no, they run on fucking Chrome and you are not paying for it.

<comment><USER13> That's the trend these days.

Tomorrow everyone on Hacker News and Twitter will go back to chiding IT departments that want the ability to test software changes before they get deployed, or have the ability to roll back.

<comment><USER14> In fairness, when was the last time you read a story like this one?

Chrome updates constantly and regresses nearly never. It's actually impressive how rarely this happens given the complexity of HTML. Slow IT departments delaying useful upgrades is an everyday occurrence though.

</comment></comment></comment><comment><USER15> I find the tone the maintainers used when talking to reporters interesting.

>[Do you have a] live website or is it a project under development? […] We will fix the issue for 78 if that is alright with you.

or

>Are they going to upgrade to 77? Enterprise customers usually only upgrade if things are alright.

As if the reporter's apps were more special than the thousands of other websites that it broke.

And I don't mean this in a negative way, I'm just surprised.

<comment><USER16> > As if the reporter's apps were more special than the thousands of other > websites that it broke.

Frequently breakage like this affects literally only one site. The engineer probably thought that was the case here.

<comment><USER15> Could be. OTOH if a bug in Chrome affects only one not-well-known site, then it is neat that the engineers bother discussing the mitigation and providing support to the dev of that site.

</comment></comment></comment><comment><USER17> Funny, my company has been developing an application that suddenly behaved bizarrely in Chrome 76 (some divs were constantly jumping up and down the page, augh). We pulled our hair on this problem for a week, then suddenly Chrome 77 corrected that... But apparently it's broken elsewhere?

</comment><comment><USER18> I've been dealing with a massive performance regression in the canvas API. The frustrating bit is that they were well aware of the cost and made the change anyways. They didn't seem to stop and consider what effect it might have on major libraries and applications.

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

<comment><USER12> No, you are just not understanding the tradeoff. They fixed some canvas not being accelerated when they should have been. This means they can be hardware composited, drawn to and need to only exist once as a GPU texture. This is a massive win for performance and power consumption.

Here is what is not efficient, ever: getting a GPU texture into a raster format CPU accessible buffer. At best this requires synchronization and a full memory copy into a new buffer, but it can easily be much much more expensive because GPUs, and mobile GPUs basically never, store textures in raster formats. So now you need a full copy and a bunch of extra SIMD to convert it from the GPU preferred format into raster format for your getImageData call.

And all this for what is essentially a trap API! Chances are if you are calling getImageData regularly, you are doing something wrong and inefficient.

<comment><USER19> > Chances are if you are calling getImageData regularly, you are doing > something wrong and inefficient.

I would love to see stats on the use cases. Personally I have never used canvas other than to getImageData in a loop!

If I only needed to draw primitives, SVG is often a better choice.

If I needed something GPU accelerated, I would switch to webgl and write shaders.

So the only thing left 2D canvas is good for is to get the pixel data to do image processing on (e.g., flood fill connected components, color histograms, etc).

</comment></comment></comment><comment><USER20> Just realized that I never use the drag and drop I implemented in my application.

Wonder if it actually still works.

<comment><USER21> ... and this, reader, is why we have end-to-end testing.

<comment><USER22> Probably more a case of me never having tried than anything else because I'm sure someone will have solved it, but end-to-end testing of drag and drop sounds pretty hard.

<comment><USER21> It isn't. Jest and Puppeteer are my current choice, and it's really just a matter of sending mousedown, mousemove, and mouseup events to the browser and checking the expected behaviour is right.

It makes a huge difference to how long you send testing manually.

</comment></comment></comment></comment><comment><USER23> While we're on Chrome bugs am I the only person in the world running into this bug in Chrome that makes it DOS the entire machine? You can repo on an NVidia MacBook Pro. Go to stackoverflow, try to make a new code snippet it (click the snippet button in the toolbar), then try typing in the snippet (hold a letter key and watch it repeat). You should notice some bug related to drop shadows ends up DOSing the GPU and the entire system runs slow. The bug has existed since around June. They claim to be trying to fix it, or rather ship the fix that already exists but needs testing, but I'm just surprised I seem to be the only person who runs into the issue. (The subset of people who write snippets on stackoverflow on an NVidia MacBook Pro). No idea what other sites are affected. If more sites are affected that would raise the priority for fixing. If most people are not affected then it's reasonable it's not a high priority.

</comment><comment><USER24> I had to fire up Epiphany recently just to do drag-n-drop graphics assets management in the Steam app admin page.

Both Firefox and Chromium were broken, when I contacted Steam's support they said I am the only person having problems.

When I dug into the failure a bit in Firefox the object coming with the event was always NULL, and searches turned up a bunch of results from web devs struggling with the same problem in various ways.

I'm glad Epiphany worked, so I could promptly forget it all and get on with my life. Presumably it's still broken for steam app devs however. It escapes me why Valve doesn't have a simple file browser button fallback for when this crap doesn't work.

</comment><comment><USER25> The way Chrome displayed flexbox stuff permanently changed at some point after version 70, breaking an app of mine that had been working fine for years.

</comment><comment><USER26> > "I wish the reporter could elaborate more on whether there are live websites > broken due to this or is it a project under development so we can measure > the impact more."

(Quoted a comment from the thread on [https://bugs.chromium.org/p/chromium/issues/detail?id=100574...](https://bugs.chromium.org/p/chromium/issues/detail?id=1005747))

Wasn't this specific version of Chrome rolling out to production users world- wide? Clearly there was a subset of users that was impacted by this (otherwise, a report wouldn't have been made in the first place). Not sure why they're asking the reporter about the state of their specific project?... :\

</comment><comment><USER27> For the last few weeks, Chrome 77 breaks very badly when there are more than 255 failed websocket attempts: [https://bugs.chromium.org/p/chromium/issues/detail?id=100624...](https://bugs.chromium.org/p/chromium/issues/detail?id=1006243) Even refreshing the page doesn't workaround the problem (you have to open a new tab). This has been causing a lot of trouble for long running single page applications that use websockets. Fortunately, a fix is being rolled out right now for Chrome. We've also been getting reports of this other websocket connection issue breaking SPA's.

</comment><comment><USER28> I have a very old Macbook that I keep around for occasional use. The latest version of Chrome has a serious performance problem with it. Every click on a web site brings up the spinning cursor and there are several seconds of latency. Safari on the same computer has no such problem, so it's not the age of the machine.

I reported the issue, after navigating several-second UI lag, but not holding my breath for them to fix something on an old OS/hardware.

It seems like every release of a Google product(the ones that I use anyway, gmail, Chrome, Voice) brings some downside/regression.

Can anyone recommend script blockers for Safari ? It was the main reason to use Chrome for me.

</comment><comment><USER29> It seems like drag-and-drop is out of fashion. I think big reason is that it really cannot be done well on touch-screen devices and touchpads. I don't really complain, because I have always found d&d rather impractical (and it's also terrible for accessibility); unfortunately, there are some applications that still rely on it a lot.

(As an aside, what bothers me more that the right-click menu goes out of fashion. That I feel is a bigger usability problem.)

<comment><USER30> A customer of mine uses Kanbanize to organize software development. Think Trello on steroids. I imagine that instead of dragging cards to their destination we could open a menu and select the destination column. Maybe that would be even faster sometimes. However reordering cards inside a column without drag and drop would be a pain: Move Up, Move Down buttons, no thanks.

<comment><USER29> I don't disagree, this is a great example. I think d&d can work in special cases where the distance for the item to travel is not too small (so that you wouldn't move things by accident), but it is also not uncomfortably far away so that you don't see the target and have to navigate to it while you're d&d-ing. I guess these limiting factors are what makes it tricky to get right.

But what about selecting a card and being able to move it around with the keyboard?

<comment><USER30> Click to select and move with arrow keys could be OK. We should measure times but my gut feeling is that if I already have my hand on the mouse or touchpad (in my case it's always a touchpad) then I can keep using it to move the card around without the extra time to reach for the keys.

Gut feeling again: the keyboard could be more effective on larger distances because each tap of a key is a full movement of one row or one column, and no mistakes.

People using a mouse probably need more time to release the mouse and move their hand back to the keyboard, unless they are left handed: mouse on the left and right hand already close to the arrow keys.

About drag and drop: it's a mess if you can't see both source and destination at the same time. Then you drag hoping to be headed into the right direction. A right click menu could be better in those cases.

<comment><USER31> _Click to select and move with arrow keys could be OK_

Oh god no. Like you already state, most people operate both the mouse and the arrow keys with the right hand, so your proposal adds a lot of unnecessary movement. It could work with click to select and with WSAD keys, but most office users wouldn't discover that mode.

I would much prefer navigation keys (arrow keys, page up/down, home, end) to select, shift+navigation keys to move.

</comment></comment></comment></comment></comment><comment><USER32> It looks like they were able to back-port the fix for this into Chrome 77. Hopefully, the issue won't stay live too long.

</comment><comment><USER5> Chrome Canary is currently 79.0. The mainline version is 77.

Edit: I wasn't able to reproduce in either, didn't dig into why

<comment><USER33> > Edit: I wasn't able to reproduce in either, didn't dig into why

Not just drag 'n drop, but a drag 'n drop inside an iframe that points to a different domain.

<comment><USER5> I meant using the supplied jsfiddle in the ticket...

</comment></comment></comment><comment><USER34> fixed in 77.0.3865.120

</comment><comment><USER35> After the Chromium removed chrome://net-internals/, the browser is not worth it anymore.

<comment><USER36> Wow, why on earth did they do this!? Are they _trying_ to hobble devs working with their browser?

<comment><USER32> There's a good breakdown of the decision here [[https://bugs.chromium.org/p/chromium/issues/detail?id=892453](https://bugs.chromium.org/p/chromium/issues/detail?id=892453)].

The short version is that the value to devs was offset by the cost borne by every user (those components were in the binary even if they were never used, and they pulled in libraries that weren't used by anything else) and the increased attack surface of having that tool in place.

</comment></comment></comment><comment><USER37> How is that even possible that bugs like that made it to production?

They do not write tests or something?

<comment><USER32> The combinatorics of browser features described by the standards are not unit- testable in the scale of human lifetimes.

That having been said, if they didn't have a test for this situation before, I assume they do now. ;)

<comment><USER38> The combinatorics were written in code in a human lifetime so there should have been tests for it.

<comment><USER32> No, that's the problem. The individual items in the specification were written in a human lifetime. Full testing of the specification requires consideration of the power set of those items.

(I mistated earlier when I said unit tests. Determining if the right order of events is fired is probably a functional or integration test. And full coverage on those is the problem of covering the power set of features of a system.)

</comment></comment></comment></comment><comment><USER39> Why does anybody still use Chrome? Really, Google is a criminal data theft organization.

Why not just take all of your browsing data and publish it online, skip the middle man?

<comment><USER32> It's real convenient to have all my browser preferences follow me when I boot up my browser on another computer.

</comment></comment><comment> safeplanet-fesa Jokes on them, I still use Chromium 67 from chromium.woolyss.com. It's the last version before WebRTC became unremovable. Now it's impossible to download this version, only the new ones. Woolyss should have kept it, like they keep Chromium 49, the last version before Chromium stopped running on XP and Vista. And I understand the risks of running an obsolete version, but it's a trade- off. For some time I was thinking of updating it, but then Google came up with lots of anti-consumer browser-crippling features.

<comment><USER40> Older versions are full of known vulnerabilities.

<comment><USER41> Not disputing this, but the UX of navigating to a bank's website using Chrome on XP and getting redirected to a "Download Chrome" link when there isn't a newer version for your OS isn't a great experience either.</comment></comment></comment>


Automatic Topic-Modelling with Latent Dirichlet Allocation - <AUTHOR> http://engineering.intenthq.com/2015/02/automatic-topic-modelling-with-lda/ <comment><USER2> If you have the time to watch, I've also found David Blei's talk on the LDA to be very interesting and clear as an introduction

[http://videolectures.net/mlss09uk_blei_tm/](http://videolectures.net/mlss09uk_blei_tm/)

</comment><comment><USER3> David Mimno, has interesting post on the status of Mallet [http://www.mimno.org/articles/malletplans/](http://www.mimno.org/articles/malletplans/). Of note also is the Vowpal Wabbit variational Bayes [https://github.com/JohnLangford/vowpal_wabbit/wiki/Latent- Di...](https://github.com/JohnLangford/vowpal_wabbit/wiki/Latent-Dirichlet- Allocation) implementation. Spark includes a parallel LDA in the 1.3 release of mllib.

</comment><comment><USER4> I used Mahout's LDA to topic model looots of web pages. The main issue I came across was that it just fell flat when I used LDA on different sites in the same run. I'd tried a few different types of normalization and chrome filtering, but it just didn't fly. Performed best for me when it was run on a per-corpus basis.

</comment><comment><USER5> At Kifi ([https://www.kifi.com](https://www.kifi.com)), we use LDA quite a bit for document classification, and have open sourced our Scala library: [http://eng.kifi.com/reactive-lda-library/](http://eng.kifi.com/reactive-lda- library/)

</comment><comment><USER6> As with any other machine learning algorithm, don't waste your time trying it on stock market, kids. Exponentially distributed randomness in, exponentially distributed randomness out.

And obligatory [http://arxiv.org/abs/1208.4429](http://arxiv.org/abs/1208.4429)

<comment><USER7> What exactly do you mean by exponentially distributed randomness? LDA is typically applied to textual data, so the application would be to e.g. automatically tag/classify financial news. I don't think the prospects of ML are as grim in this space.

</comment></comment><comment><USER8> For those interested, I created a node.js LDA library that's pretty easy to use.

[https://github.com/primaryobjects/lda](https://github.com/primaryobjects/lda)</comment>


Notes on the Xircom PE3 parallel port Ethernet adapter - <AUTHOR> http://www.brutman.com/Dos_Networking/xircom_pe3.html <comment><USER3> Re: Xircom, anyone remember these, and how awesome they were compared to the alternatives at the time?

[https://www.google.com/search?q=xircom+realport&num=100&clie...](https://www.google.com/search?q=xircom+realport&num=100&client=firefox-b&source=lnms&tbm=isch&sa=X&ved=0ahUKEwinp5Si6JXRAhVL2WMKHXYEC5UQ_AUICSgC&biw=1787&bih=1092)

This was before laptops generally had a built in 100BaseTX port and RJ45 jack, there were a lot of PCMCIA type II cards with stupid dongles that were easy to break or lose. Once laptops generally started having two stacked type II slots (two type II slots = single type III slot), it was possible to put a real RJ45 jack in them. Some versions came with dialup modem also, if I remember right they were close to $250 new...

<comment><USER4> I still have one somewhere (well an IBM branded one). I really need to be willing to throw away stuff

<comment><USER5> Ditto. Except I think I have two.

<comment><USER6> Mine are gone now, but these Xircom / 3COM PCMCIA cards were totally awesome.

If I remember, Linux used supplicant to wrap the Windows drivers, so assuming you had everything setup right, they worked pretty well on Linux.

</comment></comment></comment></comment><comment><USER7> Ah the clever XT/AT hardware:

\- hard-drive on expansion card

\- null modem cable (LapLink had two cables: one parallel , and one serial with a pair of DB25 and DB9 on each end)

\- parasitic-powered serial devices

\- Northgate keyboards with a ctrl-alt-del button

\- game port Y cable (two analog joysticks on one standard game port)

\- Microsoft Sidewinder 3D Pro joystick for mostly-compatible digital support (supported by Mechwarrior under DOS)

\- Thrustmaster F-16 FLCS/TQS/RCS

<comment><USER8> As for "HDD on expansion card", traditional IDE is nothing more than ISA bus on cable with smaller number of address lines and pins that were assumed to be not needed omitted. Pre-DMA IDE controller consists of not much more than address decoder.

<comment><USER9> True, but from my recollection, most hardcards were running MFM or RLL disk controllers, rather than IDE.

</comment></comment></comment><comment><USER10> This little device was perfect back in the days of Novell Netware servers running IPX.

To install windows 95 or NT4 was a godawful number of disks. If you did have those, you also had to have the proper NIC drivers on hand as well to get it connected, and there were many different NIC's in our lot - far too many to carry drivers with you. And no USB and zip disks were far too faulty to rely on.

To add the Novell IPX protocol stack - it was a 6 floppy disk endeavor. Disk drives were slow - very slow... It would take hours to complete, and often the disks would not properly read.

I think it was an anti-piracy measure - the Novell installer would fail at the final disk of 6, and it would not find a particular file - the Novell installer floppies were over-provisioned so they were larger than regular floppies. This would make it impossible to copy.

But - using one of these Xircom adapters, with 3 disks we could boot DOS, install Xircom drivers, add TCP/IP and SMB, mount and format the local hard drive, and finally copy the Windows installer files and all possible drivers at once to the local drive. Run setup.exe; in half an hour you had a complete workstation on the network.

</comment><comment><USER11> Parallel ports were the workhorses of pre-usb interfaces. And they were very easily hackable as well.

With EPP mode it was easy to plug things like AD converters there, for example (amongst other things)

(Someone could try plugging one of these to GPIOs on a RaspberryPi for example and trying to make it work)

</comment><comment><USER12> Hah! For the longest time I had one of those bouncing around in the bottom of my bed stand drawer. Once I realized that I didn't have a 5.25" floppy drive to read the driver, or a parallel port on any computer I owned to drive it, I tossed it out. These days however it would be interesting as a hack to write an driver for it for a small ARM chip (like the M0 or M0+). Get your 10 megabit tastyness :-) Oh and the SPI port runs faster than that buy hey ethernet right?!

</comment><comment><USER13> I had one of these back in the day and even attempted to write a Linux kernel driver for it. All I can say is bletch, I was glad to get rid of it.

Very surprising that it works with a PCJr however. The PCJr was different from the PC in that it had a split address space. Many PC programs - <USER2> ones that banged on the metal wouldn't work without porting effort.

<comment><USER14> Amazing that these never supported Linux. I remember people tried to reverse engineer them but the project ran out of steam. I guess xircom felt their business was so strong they needn't cater to a bunch of hippies.

<comment><USER15> There were other parallel-port ethernet devices though (I myself used the Accton adapter with Linux).

</comment></comment></comment><comment><USER16> I just gifted one of these (though not branded Xircom, the design was exactly the same) to [http://www.acms.org.au/](http://www.acms.org.au/) .. I took high resolution photos before donating, which I'll get them up on Wikipedia soon. I received it with DOS packet drivers on an old Epson 386 laptop, which would have been one of the first truly portable x86 machines. Unfortunately though the machine booted, this year the LCD screen had chemically degraded to the point where it was unviewable, so the machine no longer functions. It worked fine a few years back. Someone did get a Linux driver working for this one, apparently.

<comment><USER16> It was branded _Accton_ and is now on Wikipedia - [https://commons.wikimedia.org/wiki/File:Accton- etherpocket-s...](https://commons.wikimedia.org/wiki/File:Accton-etherpocket- sp-parallel-port-ethernet-adapter.jpg) \- as is the laptop in question - [https://commons.wikimedia.org/wiki/File:Epson-l3s-and- psu.jp...](https://commons.wikimedia.org/wiki/File:Epson-l3s-and-psu.jpg)

</comment></comment><comment><USER17> My best friend in high school gave me one of these as a birthday present, fairly sure I've still got it somewhere though the rubber ribbon for screwing it down (which was a very cool addition) broke at some point.

<comment><USER18> Hang on, the ribbon was attached to the screws? I always just assumed it was a decorative feature.

<comment><USER19> Yeah - I own one of these. The ribbon spun both screws - very convenient.</comment></comment></comment>


Alternative to Apple's Emoji Keyboard for iOS8 - <AUTHOR> http://keymojiapp.com Working on alternative to Apple's Emoji Keyboard for iOS8 - let me know what I can improve upon. <comment><AUTHOR> any feedback from the community on keymoji? would love to hear what it needs improvement in.

</comment><comment><AUTHOR> you can download the app free here : keymojiapp.com</comment>


Palo Alto NIMBY battle reaches a luxury conclusion - <AUTHOR> https://www.mercurynews.com/2020/06/23/fierce-7-year-nimby-battle-in-palo-alto-reaches-a-luxury-conclusion/ <comment><USER2> They don't want retirees to move in (people who do have money just not as much as them) so instead they get a bunch of expensive homes that no-one buying.

Now they have a bunch of empty homes, exactly what can expect will attract the homeless to squat in for the time being.</comment>


America Just Made an Investment in Next-Gen Nuclear Power - <AUTHOR> https://www.popularmechanics.com/science/a32598099/advanced-nuclear-power-tiny-reactors/ <comment><USER2> I couldn't figure out if they are funding Thorium reactors.

These activities tend to crowd out private investment, so if the talent is going here, they aren't supporting Thorium, then active Thorium research in the U.S. will likely be reduced from what it might otherwise be.</comment>


Show HN: Quiver – GraphQL on Steroids - <AUTHOR> https://medium.com/@syrusakbary/quiver-graphql-on-steroids-13612ea1ea77 <comment><USER3> Quiver looks interesting, congrats on launching! It seems like it will be very useful for internal GraphQL APIs.

It does bring up something that I think the GraphQL community hasn't really addressed well yet though... Part of the way Quiver works is that it only allows pre-defined queries which can then be compiled ahead of time.

> Only allow certain queries from a document store.

This is becoming a common response for how to make GraphQL performant and "secure". [1]

But this solution only works for internal APIs. If you're trying to expose a public GraphQL API it isn't viable.

Not only that, but to sync these "persisted" queries from the client to the server, lots of the persisted query tools require you to hard-code GraphQL queries as `.graphql` files in your repository... effectively re-inventing hard-coded REST responses. Except with an extra build process between the client and the server for each new deploy. You no longer really have each component requesting exactly what it needs.

The more research I do into GraphQL, the more it seems like the promise of "query anything" that libraries are selling is often discarded when you get to actual implementation. And you end up with a situation that is much more similar to REST/HTTP than originally intended.

[1]: [https://dev-blog.apollodata.com/persisted-graphql-queries- wi...](https://dev-blog.apollodata.com/persisted-graphql-queries-with-apollo- client-119fd7e6bba5)

<comment><USER4> Open source lead at Apollo here:

The most important thing about the persisted queries approach highlighted in that article, compared to traditional REST architecture, is that the queries live in your _client_ codebase. So the frontend developers write the shape of the data, rather than backend folks hardcoding it in like with endpoints.

I would say that at the current moment only a small minority of GraphQL users (based on our experience) are using persisted queries, and running in production without that is just fine with good performance and security. A simple approach like query timeouts, or discarding queries based on complexity, goes a long way here.

<comment><USER3> Thanks for the response!

I agree, having queries live in the client is a great goal for DX on the frontend. The ideal being to have them co-located right with the components that need the data. But the issue is that these kinds of solutions are often presented without discussing their tradeoffs. From the article:

> Because persisted queries are static by definition, they also give you the > possibility of optimizing execution on the server for specific queries, for > example by hand-crafting a highly efficient database query.

Well, that's a bit harder when the client controls the queries and they're automatically "recompiled" on each new deploy, because now you're optimizing a moving target that could change dramatically with little notice. It's not really a benefit, since it's such a fragile situation to be relying on in the first place.

Persisted queries also kind of make co-location of queries with components a non-starter. Maybe Apollo doesn't want to allow co-located queries, which could be an okay decision, but isn't really discussed much as a tradeoff.

And then it doesn't solve the larger issue that these solutions don't work for public-facing APIs. So you end up having to solve the same issues (eg. bandwidth, security, caching) again in an entirely new way.

I think it's something the community will need to address if public-facing GraphQL APIs are going to flourish.

<comment><USER5> Relay Modern allows co-located queries with components.

I don't understand your concerns about performance or security. GraphQL should only expose the fields you can fetch in a fast and safe way. Optimise the field lookups; not the whole query execution.

A deeply nested GraphQL request is no worse than a series of REST fetches.

</comment></comment></comment></comment><comment><USER6> Juniper - GraphQL library (+ Server if you want it to) written in Rust: [https://github.com/graphql-rust/juniper](https://github.com/graphql- rust/juniper)

We're using Juniper in production as a central API for other internal services.

The performance of literally any other GraphQL server is just hilariously slow compared to it.

We previously used Node GraphQL and were happy with it, but at some point we needed more raw speed.

(edit: just to make it clear -- I'm not affiliated with this project)

<comment><USER7> This will come off as a bit snarky, but I'm really just trying to be direct. It's always great when people share their hard work!

> The performance of literally any other GraphQL server is just hilariously > slow compared to it.

Is the same kind of fast as in getting the data from the sql server takes half a second, but x then renders the response in 20 ms not a slow 80 ms (520 vs 580 ms response time to the client)?

I mean, I unless your data is in an in-memory in-process database, it comes from the network to the graphql server, which acts as a proxy for the client?

Which makes a claim of being a lot faster than eg nodejs interesting - <USER2> also somewhat surprising.

<comment><USER6> There's a lot to this. First off, I was talking about internal services -- the "this is essentially a very expressive interface to a database" kind of GraphQL API. There's no 500ms network overhead. In fact, there's not even 20ms network overhead. Those 50ms are pretty substantial in this setup.

For most GraphQL API requirements in terms of performance there's no real value in using Rust if you're not already very proficient in it.

That said, 520ms is extremely pessimistic for most GraphQL servers.

The API to a project I'm running is built using the Node / Apollo GraphQL server and its response times are well under 90ms; that's with a CDN in between: [https://api.psychonautwiki.org](https://api.psychonautwiki.org). [server in Germany; US mileage may vary]

(btw -- _I 'm not affiliated with Juniper_)

<comment><USER7> Thank you for clarifying.

As for the 500ms I wasn't thinking only network overhead, but also things like complex sql queries with lots of joins etc. And maybe on top of that going through a json-rest/soap endpoint:

Client > graphql server > rest endpoint 1..3 > [sql server, document db, key- value store]

Where the graphql server takes a query, fetches and merges resources, and sends the result back to the client. (and as you mention, maybe rest and rest are external services)

If it's just:

Client > graphql > documentdb

(since your link mentions wiki...) - I'm not sure I see that graphql is a great benefit (but I'm perfectly open to that being wrong; as I said, I've only just begun looking at graphql).

<comment><USER6> You're much correct about the performance implications of complex external queries. 500ms to 600ms is very realistic in that case. But I assume that you can always cache specific parts of the external requests, although the efficiency of that is very dependent on the homogeneity of your requests.

And you're very right that GraphQL isn't very smart for a wiki (besides being a fancy replacement for REST).

PsychonautWiki is documenting the effects (and dosage, durations, ...) of hallucinogenic substances; GraphQL allows people to easily query for substances with similar effects, or substances from the same class, .., all in a single request. Also you get type checking and field selection for free.

</comment></comment></comment></comment></comment><comment><USER8> Your second bullet point, "Only allow certain queries from a document store", seems to be a major, major limitation, and directly contrary to one of the principal design goals of GraphQL.

<comment><AUTHOR> Companies like Facebook limit the documents that can be queried against their GraphQL API this way.

There are some major benefits of this: \- improving the speed of the HTTP request (it always be faster to just send a documentId rather than a big query sting from the client side) \- Control what is queried against your API (so there are no "Facebook" clones with some extra views)

At the end, with enough tooling you can make the frontend projects upload their documents queries automatically as their developers work on it. So the tradeoffs for GraphQL APIs focused on internal products are not as bad.

<comment><USER5> I don't think Facebook is limiting the queries that can be run. Persisted queries are an optional optimisation on top of dynamic queries.

</comment></comment></comment><comment><USER9> Those of us who are on steroids, do not appreciate being compared to GraphQL. :-)

</comment><comment><USER10> Sooo Quiver is just caching?

<comment><AUTHOR> Hi Nick,

Quiver will compile the GraphQL query code to runtime code. Is a similar approach of what v8 does when executing JS (it compiles it to assembly code), or what modern template engines do to speed up their rendering.

So basically, it will transform the GraphQL query into a pure function that can be executed without the overhead of having the GraphQL engine doing the calculations at runtime.

<comment><USER11> And this is worth $200/month?

<comment><USER12> If it allows you to run 5 fewer servers to handle your traffic, then very probably, yes.

</comment></comment></comment></comment><comment><USER13> Just FYI: Chrome tells me graphene.tools SSL cert is not valid.

</comment><comment><USER14> why wasn't apollo server included in the benchmarks ?

<comment><USER4> Open source lead at Apollo here.

Syrus is correct that it will have about the same performance as Node in these particular benchmarks.

We are working on performance improvements for Apollo Server 2.0, but they are targeted at a totally different use case. Our experience working with hundreds of companies using GraphQL in production has indicated that the CPU execution time of the query is almost never the bottleneck when it comes to GraphQL.

The real thing you want to watch out for is the time it takes to call underlying APIs and databases, which will absolutely dwarf the actual time spent in the CPU. In this case, Node's non-blocking architecture helps a ton, and taking any action that prevents repeated calls (like basic caching) is critical.

In AS 2, we're going to introduce some features that make caching underlying data calls even easier, which we think is going to have the biggest impact on people's response time with GraphQL.

<comment><USER3> +1 to this. These kinds of benchmarks of the actual execution of a server are almost never useful for actual production loads—it's always going to be the database or external services.

It's the same kind of thing as Express.js competitors showing that their routing logic handles 50k requests per second instead of Express's 25k, but only for "simple" use cases—AKA ones that don't involve a database. You should almost never be evaluating a server on these parameters.</comment></comment></comment>


MDN (beta) is now built with React - <AUTHOR> https://beta.developer.mozilla.org <comment><USER2> So. It seems that without Javascript, regular documentation pages work, but there is a useless position:fixed progress bar at the top.

[https://beta.developer.mozilla.org/en- US/docs/Web/API/Docume...](https://beta.developer.mozilla.org/en- US/docs/Web/API/Document/DOMContentLoaded_event)

Search is broken: [https://beta.developer.mozilla.org/en- US/search?q=DOMContent...](https://beta.developer.mozilla.org/en- US/search?q=DOMContentLoaded)

The menu to navigate in the documentation works, and everything seems reachable from there. [https://beta.developer.mozilla.org/en- US/docs/Web/Reference](https://beta.developer.mozilla.org/en- US/docs/Web/Reference)

These links work okay on Netsurf.

I'll report the useless progress bar when Javascript is disabled.

Not so bad overall. Quite good, actually.

</comment><comment><USER3> I am shocked and feel kind of betrayed that the de facto "Web documentation" moves away from using Web technology for static documents to something that treats the Web as a broken runtime for apps.

<comment><USER4> It's a webpage built on web standards and designed for web developers. It couldn't get any more webby.

Furthermore, it's fast and it looks good. What's the problem?

<comment><USER5> > It's a webpage built on web standards and designed for web developers.

There are a lot of web standards. XHTML and XSLT are web standards. Server- side rendering is web standard. Being able to save a page with search results and view it online used to be standard.

Some standards are better than others. Some are objectively bad and promote hazardous and error-prone practices. ActiveX is a standard, that was meant to turn Web into platform for running Windows applications. It did so by giving web developers access to powerful programming languages and diverse range of APIs (some of those APIs were a bad idea by themselves). All modern Javascript web frameworks are spiritual successors of ActiveX, and I sincerely hope, that they will end up in the same garbage dump of history where it did.

<comment><USER4> Well, the W3C's standardization attempts of XHTML were a bust. Microsoft's use of ActiveX was also quite proprietary (only ran on Windows as I recall). At the very least it wasn't an _open_ standard.

ECMAScript however is open, very well-supported, and actually works. I see little connection between today's JS frameworks and ActiveX controls. That seems like a stretch of definitions.

<comment><USER5> > I see little connection between today's JS frameworks and ActiveX controls.

XMLHttpRequest used to be a popular ActiveX control, that introduced ability to programmatically perform web requests at programmer's discretion. Most modern Javascript frameworks can't be used without such ability.

<comment><USER4> XMLHttpRequest was useful enough to become a standard browser feature. That doesn't prove that ECMA is somehow nonstandard, or even a poor standard. Or that frameworks built on top of it are.

Besides, today XHR is being replaced with the fetch API.

</comment></comment></comment></comment></comment></comment><comment><USER6> This is very weird to me. It seems like a totally static site. What does it need React to do, exactly?

<comment><USER7> I can't imagine a more suitable use case for a static site than for documentation. Why on earth?

<comment><USER8> I find react to be a very pleasant way to make websites, even static ones. And for static sites you can use SSR or something like GatsbyJS to make everything load as if you had actually written the html (i.e. no dependence on javascript). That's the approach I use for my blog and according to google pagespeed the only problem with it is that the TTFB is too high (which is surprising because I host it as a totally static site on AWS)

<comment><USER9> How is it surprising that rendering a React website is slower than simple HTML?

<comment><USER8> The server doesn't do any rendering before serving the page. All the "SSR" is done exactly once at build time. To the server it's no different from serving any other site.

<comment><USER9> I'm not too familiar with Gatsby but something has to be slowing you down if TTFB is too high.

<comment><USER8> It's not that high, Google says I might be able to save .8 seconds. I might try hosting on netlify and see if that improves things

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Because apparently traditional server-side rendering isn't complex enough...

It appears they are using server-side rendering with React...

</comment><comment><USER11> When did inlining svg icons become a thing? I've always seen things like font awesome.

<comment><USER12> Inline SVG has several advantages over icon fonts, which were never meant to exist:

\- immediate rendering

\- multi-color icons without any stacking tricks

\- flexible styling

\- better aliasing, more consistent rendering

\- can be animated

\- easily load only assets used on the page vs a sheet of hundreds, most never used

\- works well with rendering libraries like React, makes manipulating images very easy

\- compresses well with gzip, no need for symbols

It's becoming standard practice for good reasons.

<comment><USER2> \- works for people who block web fonts

</comment></comment></comment><comment><USER9> Are they using React only for the small interactive parts?</comment>


Two Types of "A" Players - <AUTHOR>

Why is it that there seems to be the assumption that all "A" players are those who live to work, work 60+ hour weeks, and generally immerse themselves with their work?
I employ "A" players who want to work 40 hours a week and spend the rest of the time with their families. They are excellent at what they do; they just want to do it as a job, not as a lifestyle, and they want to compartmentalize it into 9-5, M-F.
Why is that so hard to believe? <comment><USER2> I chalk it up to Inexperience, personaity types, and lack of focus. If you don't have the inherhit abilities to focus, get things done, block out un- important tasks (strategically or tactically), and focus while you do so - your frame of mind is that few others can do it. The human psyche I've learned tends to dis-believe that others are much better than the individuals' own self-awareness.</comment>


Grades at Yale since George W. Bush's time - <AUTHOR> http://blogs.law.harvard.edu/philg/2013/07/30/grades-at-yale-since-george-w-bushs-time/

<comment><USER2> I'd say we've generally transitioned from "better grads" to "more grads"

Academic institutions are for profit after all. This anecdotally jives with my Uni experiences and observations as well for what its worth.

<comment><USER3> Yale is not for profit. It spends more money on each student from its endowment than said student pays in tuition, even if he is not getting any financial aid.</comment></comment>


The danger of laughing at your customers - <AUTHOR> http://www.37signals.com/svn/posts/1216-the-danger-of-laughing-at-your-customers <comment><USER2> Error! Error! Irony overload!

<comment><USER3> I particularly enjoyed the irony of the anonymous commenter being labeled "Anonymous Coward" by their commenting system.

<comment><USER4> That's a nod to The Register, me thinks.

<comment><USER5> Now I feel old.

<http://en.wikipedia.org/wiki/Anonymous_Coward>

</comment></comment></comment></comment><comment><USER6> A tale from the agency side :

Breaking point in long conference call with client. Senior Project Manager says something to the effect of: "Look, we know what we're doing and we can either do it this way or we can do it that way but its your call and you need to figure your shit out and make a decision as to which way you prefer to proceed cause you won't trust us to make that decision for you."

Client asks for a short break.

Phone beeps to let us know we're on mute.

Senior project manager immediately releases a booming laugh of triumph.

Developer reaches over and presses our mute button.

Senior project manager shrinks : "Oops."

</comment><comment><USER7> This comment from the site seems dead-on:

"So the strong statement is great when being talked _at_ by 37Signals, but not when talking _to_ 37Signals."</comment>


Samsung's Tizen OS: An impressively capable Android clone - <AUTHOR> http://arstechnica.com/gadgets/2014/02/hands-on-with-samsungs-tizen-os-a-impressively-capable-android-clone/

<comment><USER2> How is it an Android clone? Looks like Touchwiz, which has been used for four or five OSes by Samsung.

</comment><comment><USER3> iirc tizen was created before android.</comment>


Technology Guest Blogger at HackPundit - <AUTHOR> We are looking for guest bloggers at www.hackpundit.com. Bloggers can write blogs on Android, Amazon Web Service, Latest tech tools. www.hackpundit.com is fast growing technology blogging platform. It's a great chance to build your profile and show case your technology skills. Feel free to to email firstname.lastname@example.com for any questions. <comment><AUTHOR> Please read guest blogging details here:

[http://www.hackpundit.com/join-hackpundit/](http://www.hackpundit.com/join- hackpundit/) [http://www.hackpundit.com/best-practice-high-quality- blog/](http://www.hackpundit.com/best-practice-high-quality-blog/)</comment>


Show HN: SlideStuff – Random Stuff from Amazon - <AUTHOR> http://slidestuff.com <comment><AUTHOR> I occasionally like to aimlessly browse Amazon, so I created a tool to do this more easily.</comment>


JavaScript Libraries for Charts and Graphs - <AUTHOR> http://techslides.com/50-javascript-charting-and-graphics-libraries/

<comment><USER2> Wow. Amazing how quickly these have proliferated and evolved. Just a couple of years ago there were only a small handful of options, and nothing as impressive as some of these. Exciting times!

</comment><comment><USER3> Nice. Thanks benregn for sharing the link.</comment>


Wikileaks Afghanistan: Taliban 'hunting down informants' - <AUTHOR> http://www.telegraph.co.uk/news/worldnews/asia/afghanistan/7917955/Wikileaks-Afghanistan-Taliban-hunting-down-informants.html

<comment><USER2> There will be a concerted effort to discredit wikileaks.

You can expect a lot more of these articles, where every Afghan civilian that gets murdered by the Taliban will be listed as possibly being killed because of ties with the US.

Informants that sell information to the army of an occupying country know the risks they're taking.

Scapegoating Assange (and I'm no friend of his) is just a cheap attempt at diverting attention from the fact that the main failure here is one of US army security.

The whistleblower could have uploaded these documents to the nearest torrent site with much the same effect. Don't blame the messenger.

<comment><AUTHOR> Zabihullah Mujahid is a member of the Taleban himself - what possible motive for "discrediting" Wikileaks could he have?

<comment><USER2> He's not discrediting wikileaks, but the rest of the article is.

A choice quote: "The warning came as the US military's top officer, Admiral Mike Mullen said that Julian Assange, the founder of Wikileaks, may already have blood on his hands following the leak of 92,000 classified documents relating to the war in Afghanistan by his website."</comment></comment></comment>


Ask HN: Quality entrepreneur web resources? - <AUTHOR>

As a web developer, I have a rich set of quality online resources for learning and staying up-to-date.
Now I'm trying to grow in my entrepreneur skills, and I'm having trouble separating the wheat from the chaff.
So HN, besides HN, what are your recommended blogs/websites/books/etc for entrepreneurialism? <comment><USER2> [http://wrst.ca/?p=33](http://wrst.ca/?p=33)

This is our startup's required reading list, maybe you'll find it useful.

</comment><comment><USER3> [http://discuss.bootstrapped.fm/](http://discuss.bootstrapped.fm/)

It's a pretty awesome community of entrepreneurs.

</comment><comment><USER4> [http://mixergy.com](http://mixergy.com) without a doubt.</comment>


XMind SDK for JavaScript (IN BOTH NODE.JS and BROWSERS) - <AUTHOR> https://github.com/leungwensen/xmind-sdk-javascript <comment><USER2> If it meets the guidelines, this might make a good 'Show HN'. Show HN guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

If it does get submitted again, please don't use allcaps in the title.

Good luck.</comment>


Learning a Manifold of Fonts (2014) - <AUTHOR> http://vecg.cs.ucl.ac.uk/Projects/projects_fonts/projects_fonts.html <comment><USER2> Heads up for anyone on limited bandwidth: The page loads over 25Mb of javascript in order to display anything.

<comment><USER3> Wow. Indeed. 44.2 MB for the whole page!

The morphing-letters demo is kinda cool though :-)

<comment><USER4> Yeah. Looks like their two dimensions correspond, left-right to serif vs sans- serif, and up-down some sort of bold/italic dimension?

</comment></comment></comment><comment> grif-fin This is good job. Having the ability to customize a font under the control of keeping it in the valid readable manifold.

Has Adobe discovered this? I be happy having this feature in Photoshop.

</comment><comment><USER5> You would think that a web page about fonts would at least make a halfhearted attempt to use fonts that are somewhat readable.

I know we're not supposed to nitpick about formatting details and instead comment on the message itself. But when a page is _about fonts_ , I think its choice of fonts is fair game. :-)

I tried to read the page in Chrome and Firefox on my Galaxy Note 4, and on desktop Chrome and Edge. It's barely readable in any of them.

Combine the spindly thin body font with the layout that doesn't reflow on mobile when you try to zoom in - what a mess.

The article would be so much more readable if it just didn't use a custom font at all and simply let the browser use its default font.

<comment><USER6> It's not an article about fonts. It's an interactive experiment on typography.

<comment><USER5> Hopefully I can be forgiven for thinking the article had something to do with fonts, considering that the word appears in the _title_ as well as 22 times in the body. :-)

<comment><USER6> And I hope to be forgiven too for my poor wording, since I meant font readability :/

</comment></comment></comment></comment><comment><USER7> The jargon in the type world is a tad different from what's being used here, it bothers me immensely. E.g. a font (file, lead type, etc.) and a typeface (design) are two different things. Type design and typography aren't synonymous either.

I know it's an experiment but I doubt it's likely that the EULA states that the fonts can be manipulated, e.g. you need written consent of Grilli Type if you wish to do this. I'm unaware of the policy in other foundries.

Neat experiment but I don't really see a use for this.</comment>


Software is eating the world:The simplest ways to understand the market - <AUTHOR> https://www.cognitiveosman.com/software-is-eating-the-world-part-2-the-simplest-ways-to-understand-the-market/ <comment><USER2> Part 1. [https://www.cognitiveosman.com/software-is-eating-the- world-...](https://www.cognitiveosman.com/software-is-eating-the-world- part-1-why-you-need-to-question-your-current-career/)</comment>


AWS Certificate Manager Launches Private Certificate Authority - <AUTHOR> https://aws.amazon.com/blogs/aws/aws-certificate-manager-launches-private-certificate-authority/?hn <comment><USER2> Dupe of [https://news.ycombinator.com/item?id=16757639](https://news.ycombinator.com/item?id=16757639)</comment>


PayPal is now an identity provider - <AUTHOR> https://www.x.com/identity

<comment><USER2> "PROSPECT SCORE This API enables you to know the purchasing potential of a user visiting your site. Users are classified into Gold, Silver, or Bronze based on their average spending value, frequency, and online transactions. Product details..."

This doesn't feel right. Aren't there privacy issues here? Have I unwittingly signed some T&C on this?

<comment><USER3> Lots of companies sell your demographic information, including your bank, credit cards and magazine subscriptions.

Ansira* has an amazing product that ties into all of this. It's really creepy, but packed full of pretty accurate demographic information compiled from all kinds of sources.

* not affiliated with them. probably others. only one I know of right this second.

<comment><USER4> Yeah but most of the companies that sell your info aren't payment processors / pseudo-banks that have direct access to your checking accounts, who you paid last month, how much, and for what. The implied value in Paypal rating your users is that Paypal can and will tell you their income level.

There are a few things wrong with Paypal doing this. Firstly, they're notorious for freezing any user account with more than $2-3k in it, without warning or reason, until you have a lawyer send them a letter. Hasn't happened to me, but it's happened to enough friends that I wouldn't trust them with more than a couple hundred bucks at a time. Sometimes for no reason other than that they logged on from an IP address Paypal had flagged previously for someone else's transgressions. We can leave Wikileaks out of this, but suffice to say that if Paypal has any reason whatsoever for seizing your funds, they'll be happy to do so and ask questions later. The fact that they don't adhere to any open standards and never reveal their reasons for freezing accounts should raise the question of who they are to be an independent arbiter of identity.

Secondly, consider the ramifications of walking into a store with your tax bracket printed on your t-shirt. This one's obvious to anyone that's spent time as an American in a third-world country...the price of Phở goes up by 300% right off the bat. There's no doubt the market wants to rid itself of inefficiencies by selling to every single consumer at the highest price she's willing to pay and not a dime less, but the ethical consequences are staggering.

I would never enter my paypal info for any reason, on any site, other than to submit a payment -- just like I wouldn't give them my bank account number or answer questions about my salary. I think many consumers would feel the same way.

<comment><USER3> I think you missed the part where your bank and credit card companies are selling your personal information.

Ansira knows your income level (and, at least for me, it's accurate).

</comment></comment></comment></comment><comment><USER5> This is sort of frightening. Paypal has a recent history of locking people out of their own accounts as they layer upon layer of draconian "security" measures. These "security" measures seem designed to gather as much personal information as possible, and to restrict access to your funds as frequently as possible. I log into Paypal about four times per year, and each time its a frustrating tangle of new user agreements, forced requirements to add new security questions, and ridiculous restrictions. For example, when I decided I was going to move to a mobile phone-free life, Paypal decided they would force me to verify my account via SMS, but they cannot send SMS to google voice, so I spent 10 hours over four days to get access to my account.

Paypal is less trustworthy than Facebook or the federal government.

<comment><USER6> I don't think there's a more trustworthy contender nowadays (definitely not facebook). Many of their requirements for new terms and compliance are due to state regulations, especially here in the EU. For me, the fact that they require verification through official documents makes me trust them more, not less.

<comment><USER5> That's sort of the problem. Paypal is acting more and more like a bank, yet they're investing millions in lobbyists to make sure they don't become a bank, legally. If they were a bank they would be accountable and would fall under all of the rules and regulations that banks must follow, and they wouldn't be abe to withhold funds from their customers so readily.

<comment><USER7> They are a bank here in Luxembourg.

Part of this that they have to know their customers. They can't allow someone without proper ID verification to collect a few hundred thousands of dollars through simply providing an email account and a name.

<comment><USER6> I was just gonna say that. Paypal Europe is a registered bank based in Luxembourg, and subject to all kinds of bank regulations.

</comment></comment></comment></comment></comment><comment><USER8> I believe this is a smart move by paypal. For the most part, they are a trusted brand on the Internet.

The few aspects I don't like are the domain name x.com and the actual website occupying that domain. x.com to me is too close to xxx.com and doesn't have any meaning besides being the shortest domain name. The website design is poor and the "win a bose" and "win an ipad" banners are atrocious. They should have used a subdomain of paypal.

<comment><AUTHOR> x.com is effectively "PayPal labs"

<comment><USER9> Unrelated, but that would qualify them to apply for the x.xxx domain. Pretty cool.

<comment><USER10> I'm sure it's taken.

</comment></comment></comment></comment><comment><USER11> People are used to logging into PayPal in order to send money or pay for purchases, so I would think that associating PayPal with a website login is going to be hard for a lot of people to feel comfortable with, particularly because people are so used to the PayPal logo being used with actual purchase buttons. As developers we can try to explain the difference, but ultimately I think that PayPal logo has a pre-existing connotation in most people's minds and I think that will work against them as an OpenID provider.

<comment><USER12> Can't see this working for things like logging in to leave comments or play games like Twitter and Facebook identities.

Where I can see it working (and working well) is SaaS subscription services - it streamlines the signup process, provides additional data to the provider and pushes signups towards Paypal (and away from merchant account or other providers).

<comment><USER13> And that's where it's intended to be used.

</comment></comment></comment><comment><USER14> Yikes this is scary stuff. I really hope congress takes a very close look at regulating paypal like a bank and giving consumers some rights against them, very soon.

PayPal users better have the ability to opt out of their buying habits being transmitted to unknown 3rd parties.

<comment><USER15> Why does it require regulation? If you don't want to use this, then don't use it.

<comment><USER16> I think the parent comment is referring to: "PROSPECT SCORE This API enables you to know the purchasing potential of a user visiting your site. Users are classified into Gold, Silver, or Bronze based on their average spending value, frequency, and online transactions. Product details..."

Which, if you had been a Paypal customer prior to this, it might prove difficult to get your spending habits scrubbed if you no longer wanted to be a customer/didn't want your data available in this way.

<comment><USER17> How is this much different than a credit score? One is estimating your purchasing potential, while the other is estimating your likelihood to pay. Two sides of the same consumer purchasing coin.

In fact, I am surprised I haven't seen the credit reporting companies already pushing this kind of product. Seems like a natural extension.

</comment></comment></comment></comment><comment><USER18> How was PayPal able to get a single-letter dot com domain? I thought they were all reserved. But then there is x.org on the other hand too, hmm...

<comment><USER19> X.com used to be a bank back in the day, my first bank I got while in college as it happens. They bought paypal (I think it was that way, not the other way around but I may be mistaken) and killed the bank. X.com just resurfaced a few years ago in its new form.

<comment><USER20> It looks like what you were thinking of was a merger: <http://en.wikipedia.org/wiki/PayPal#Beginnings>

PayPal was the new result of a merger between Confinity (the company Max Levchin founded, as discussed in Founders At Work) and X.com, an online bank.

</comment></comment></comment><comment><USER21> Are there any companies that do nothing but paid identity management?

One of the sticking points I've always had when using my TwitBookOogle account as an OAuth provider is that if something happens to that account & it gets locked out, I'm screwed everywhere that I've used that identity provider.

I'm also of the opinion that the only reason these companies provide identity is for user lock-in. I would pay money to have a reliable service that only cared about managing my identity securely online.

<comment><USER22> I don't think this entirely addresses what you want, but if you use OpenID, you can use a delegate. I use my own domain name for the purposes of an ID (<http://abevoelker.com>), which then defers to myopenid.com when I need to authenticate (you can see this in the HTML of the page). If something ever happens to myopenid.com, I just find a new OpenID provider and change the HTML of my homepage to point there (the site that is asking for my ID stores abevoelker.com, not myopenid.com).

The problem, of course, is that most sites do not support OpenID. The only ones that come to mind are StackOverflow and some blog commenting systems.

<comment><USER23> And even if you don't need a website, you can just configure the domain (or a subdomain) as a CNAME to MyOpenID. It's faster too, although probably not enough to be noticeable.

</comment></comment></comment><comment><USER24> If anybody else is curious to learn more about single-letter domain names. They were grandfathered in from another era.

"As of August 2011 only three domains, i.net, x.com and x.org host a web site. q.com is active but redirects to centurylink.com." [http://en.wikipedia.org/wiki/Single-letter_second- level_doma...](http://en.wikipedia.org/wiki/Single-letter_second-level_domain)

</comment><comment><USER25> creepy

I'll certainly never use a paypal account to log in to some arbitrary website, and I'll never offer it as an option for my own users.

ESPECIALLY after reading all the data they're bragging about sharing.

<comment><USER26> It's not meant for "any arbitrary website". But it will surely help where you need a real identity. Places like when you shop for something, some where. Definitely better than sharing your CC/Bank info!</comment></comment>


Americans Can't Help Themselves from Borrowing More on Credit Cards - <AUTHOR> http://www.bloomberg.com/news/articles/2016-02-09/americans-can-t-help-themselves-from-borrowing-more-on-credit-cards <comment><USER2> Strange that the article neglects to mention the need to build 'good credit' to supposedly make things like car loans and house purchases possible

<comment><USER3> I'm not sure anybody has a problem with their "Good Credit".

<comment><USER2> As I understand it without using credit cards you don't build any. I lived for years with only a debit card but because of the need to 'build credit' I'm now forced to have credit as well.

It seems silly to say "Americans Can't Help Themselves from Borrowing More on Credit Cards" when the system relies on credit ratings</comment></comment></comment>


Ask HN: Recommended Home Content Management System - <AUTHOR> What do you use to categorize and store your personal documents (tax, contracts, etc etc.)
For home, I'm looking for a way to securely store a slew of PDF, spreadsheets, and Word documents that personal and that at the moment sit in a network share in ugly directories. I'm messy so I need a tool to help me.
Ideally I'd like a tool I can use to easily input and categorize my documents, possibly even syncing them up securely with one of my Cloud VPSes.
Curious what others are doing for this problem. <comment><USER2> I can only recommend DocFetcher. Crossplatform, open source, and portable. Requires java. [http://docfetcher.sourceforge.net/en/index.html](http://docfetcher.sourceforge.net/en/index.html)

</comment><comment><USER3> Have you looked at the community edition of Enonic XP (Java)?

[https://enonic.com/](https://enonic.com/)</comment>


Keyword tracking goes real-time with new Superfeedr feature - <AUTHOR> http://www.readwriteweb.com/archives/keyword_tracking_goes_real-time_with_new_superfeed.php

<comment><USER2> I'm a big fan of Superfeedr and the work Julien is doing with it... but a serious problem with a keyword product based on RSS ingest is that many RSS feeds are not 'full-content' and so the keyword searching is patchy.

In the case of 'short form' RSS feeds, you are not going to get a match if your keyword is mentioned repeatedly in a given article, but not in the first paragraph - which is what is published in the RSS feed, and thus ingested by Superfeedr

While it is probably fair to say that the majority of RSS feeds Superfeedr is tracking are 'full-content', the head of the long tail (ie the mainstream news sources, top blogs, etc) where much of the value is are the least likely to offer full content RSS feeds (they are old-skool thinking and want you to click through to the mother ship).

What is a shame, I think, is that none of these services (there are a few now in this space) are really upfront about this massive short-coming, which at a technical level they must be aware of.

 _Given that I'm making a bit of a bash at providers in this space, I should probably disclose that NewsBasis (a company I previously co-founded and have an interest in, but no longer working with) is in the process of solving this problem as part of their wider product offering. Which is why I've spent time thinking about this problem, but perhaps also biased. However, I'm hoping once this is stable there might be an opportunity to create an API off the back of the keyword piece._

<comment><USER3> There is an easy hack, given a known list of RSS feeds that do not offer full content and that one desires to be searched --

Simply run the links in the original feed through something like arc90's Readability and produce a new feed with the output, ingesting this new feed back into Superfeedr.

If this hack is being used only for search-related purposes, then I would hazard that there is enough existing precedent here to claim legality.

<comment><USER2> On paper it is a nice solution. However, I would assume Arc90 would see considerable load on their systems (esp by feeds that are not generating any page views) and shut this off. Also it's another point of failure and latency.

NewsBasis is looking to do the same processes Arc90 are doing, however, to ensure a 'full content' payload is held for every source.</comment></comment></comment>


Show HN: KernType, a typography game made with Raphaël - <AUTHOR> http://type.method.ac

<comment><USER2> I tried this a couple of times, but the first and last letters seem so far apart that this becomes less about "make it look good" and more about "make it look less terrible". I can make the letters look great together with the first letter, which results in nearly a full letter's worth of space between the penultimate letter and the last. Perhaps this just represents an artifact of drawing the font extra-huge, but these fonts all feel like they need condensing to look decent.

<comment><AUTHOR> People often track too tight because it looks good when it's large type at a close distance. However, this is absolutely terrible for legibility in real life conditions where you either look at small type from close or large type from far away.

<comment><USER3> Hi, I just wrote to you on Twitter before seeing this thread. I agree with you here, but the issue is that your default setup is close, large type :) Zooming with the browser does indeed help. Perhaps you should call attention to the fact that one can do that?

</comment></comment></comment><comment><USER4> In a past life I was a design major so here's a tip for kerning letters. Kern letters in groups of three, then step back and look at whole word, repeat until it looks balanced. Oh, and a bonus tip the number 1 and l (lowercase L) almost always have too much space to the left of the character, I see so many designs with '2011' badly kerned.

<comment><USER5> I've heard it recommended to flip the piece 180 degrees and look at it that way. I expect great type designers don't do that, but it's given a bit of insight to me a couple of times.

</comment></comment><comment><USER6> This is lovely. Could you randomize the order in which you present the words so that I don't have to go through the same word list every time I visit the website?

Also, could you add a few different levels of difficulty using more letters and tougher fonts?

Once again, this is nice.

</comment><comment><USER7> nicking an idea from a friend on IRC: you should set this up as a service for like $5 to crowdsource kerning for logos

<comment><AUTHOR> Ah, that's quite clever! Upload as svg and let people kern the letters.

Right now I'm using it to get people interested in my upcoming project [Method of Action](<http://method.ac/>), an online course on design for programmers.

<comment><USER8> I'll sign up if it goes over concepts that will help me design better!

<comment><AUTHOR> Yes, it's not about the _how_ , it's about the _why_. Here is a bit of more perspective: <http://method.ac/blog/design/programmers-designers.html>

</comment></comment></comment></comment><comment><USER9> I think you need to take the absolute value of the error, rather than the simple sum of negative and positive. I keep getting 100 when I'm slightly off in two directions.

<comment><AUTHOR> I'm using the absolute value. The game has "tolerance" depending on the amount of letters you have to kern. So, if you have to kern 1 letter, you get 1px tolerance. 5 letters has 5px tolerance, and so on.

</comment></comment><comment><USER10> Uses same shortcuts as Photoshop -- so if you are a hard-core kerner in Photoshop, try out the same keys. Pretty slick!

<comment><AUTHOR> Thanks for noticing! I put a pretty large effort on making it completely usable without touching the mouse. Safari (but not Chrome) has some gotchas that make it a real pain to work around.

<comment><USER11> I don't use Photoshop much, but this is the kind of attention to detail that the world needs more of. Rock the fuck on, sir.

</comment></comment></comment><comment><USER12> Please let me deselect letters while I'm kerning them. I find it hard to see the spacing with one letter in bright blue.

<comment><AUTHOR> You should be able to deselect them by click anything else, if it doesn't work let me know what browser you're using.

<comment><USER13> For the first three or so I could de-select by clicking elsewhere, but then it no longer worked. My Google Chrome version string is "14.0.835.202 (Official Build 103287) m". I'm currently on a Windows machine.

</comment></comment></comment><comment><USER14> Pleasantly surprised that it worked perfectly on my iPad with touch and dragging. I always read HN on my iPad and so many sites, especially anything keyboard driven, become useless.

</comment><comment><USER15> Great fun! I also like that you can submit your own version if you think it's better. It's a nice touch that visibly acknowledges the subjectiveness of the game.

</comment><comment><USER16> I'm not a designer so i don't really understand the importance of kerning, but I do run <http://use.fontorie.com>. So I'm interested in making it easier for developers to do design. I'd like to incorporate kerning if you'd help.

</comment><comment><USER17> Watch out! It's a nerd-snipe for typographers.

</comment><comment><USER18> Nice! Beautiful well thought design, nicely balanced game, and such an intuitive way to understand kerning: let your visual intuition guide you.

One suggestion: a way to move multiple letters at the same time.

</comment><comment><USER19> Brilliant and fun. All those years of hand kerning type pays off, finally.

</comment><comment><USER20> Cool stuff. Typophile and Forrst links in the footer are broken.

</comment><comment><USER21> Disappointed that I got 86/100 but this reminds me of sitting in front of a Mac in college obsessively adjusting the distance between Y and o.

</comment><comment><USER22> How about a slider to scale the spacing between characters and also letting me move the first and last characters?

</comment><comment><USER23> Just hit 100/100 on screen 3, "holly," in... wait, how do I find out what typeface it is after kerning?

<comment> robert-boehnke FF Zine Slab Black Italic <http://new.myfonts.com/fonts/fontfont/zine-slab/>

</comment></comment><comment><USER24> I think this is a really clever way to get people interested in your upcoming courses. I enjoyed the short test, did much better than I thought I would, and look forward to seeing what you release when your 'Design for programmers' course is launched.

</comment><comment><USER25> A thought, it would be great if it could explain what mistakes you made. Knowing I got a 0/100 is great but I'd really like to know why :) That would turn it from leaning through trial and error into a very useful learning tool.

</comment><comment><USER26> Fun, simple, & beautiful. Though, I wish I could turn my monitor upside down.

</comment><comment><USER27> In WAVE, the A is higher than the W and V. Is that supposed to happen? (MacBook Pro, OSX Snow Leopard)

</comment><comment><USER28> Thanks for the ego stroke... 91/100! I'd much rather play this than solitaire. :)

edit: typo

<comment><USER29> I got 100/100 four times, but I had to squint a lot. :)

<comment><USER30> o/ another squinter here, got 92/100 in the first try :)

</comment></comment></comment><comment><USER31> 93/100, which is surprising considering I was never very good at keming.

</comment><comment><USER32> 77/100 :)

</comment><comment><USER33> Great game, though a bit subjective.

<comment><USER34> I personally think it's more about having a few rules + math than having a subjective "eye for design". fwiw i got 90/100.

</comment></comment><comment><USER35> As a developer, this seems like something that should be handled automatically by a typeface.

<comment><AUTHOR> Yes, it is. But sometimes you need to adjust it depending on your needs. For example, highway signage needs extra tracking (space between letters) and you often need to adjust it manually.

Also, if you ever designed a typeface (not very likely) then this is a skill you absolutely need.</comment></comment>


Researchers Invent Everlasting Battery Material - <AUTHOR> http://www.eweekeurope.co.uk/news/researchers-invent-everlasting-battery-material-47222

<comment><USER2> Here's a bit better article: [http://www.greencarcongress.com/2011/11/wessells-20111124.ht...](http://www.greencarcongress.com/2011/11/wessells-20111124.html)

This is a very early lab result, loooot can still go wrong from here. However 40k cycles is pretty awesome (side note: "everlasting" is an annoying headline writer hack statement)

Key point: this is not for electric cars, this is for grid storage...

"Much recent research on batteries, including other work done by Cui's research group, has focused on lithium-ion batteries, which have a high energy density; however, energy density really doesn't matter for storage on the power grid. Cost is a greater concern."

" _We decided we needed to develop a new chemistry if we were going to make low-cost batteries and battery electrodes for the power grid."

—Colin Wessells_

<comment><USER3> > Key point: this is not for electric cars, this is for grid storage...

Yes - and your link is much better on this. The first article seems quite off with insinuations such as 'could the days of the humble lithium ion battery be numbered'... As far as I know one of the main advantages of lithium-ion is their light weight - hence their use in weight-critical devices (phones, cars, etc.). I didn't see anything in either of these links mentioning weight, but I assume a potassium based battery is likely to be much heavier than a lithium- based battery...

<comment><USER4> Plus it is annoying to hear the Li-Ion chemistry described as "humble". It is more of a stuck up diva. Charge over 90%? Rapid degradation. Discharge under 10%? Rapid degradation. Operate at room temperature? Rapid degradation. Even if you keep the battery at 50% charge inside a fridge it will still rot apart in three years. And this is not even mentioning the extremely fickle charge controllers that can make the cells catch fire. Li-ion batteries also have horrible energy volume (MJ/L) and have been central to planned obsolescence in consumer electronics.

</comment></comment></comment><comment><USER5> Calling it an 'Everlasting Battery Material' seems a little bit misleading... Even the first paragraph acknowledges that it has a potentially useable life of 30 years as opposed to forever, and as with all batteries, it would depend on how it is used.

People need to be particularly careful about exaggerations particularly when talking about science, because if the public finds out that they exaggerated, even if it was for completely noble purposes, it diminishes the credibility of the field, something we saw in particular in the field of climate change.

</comment><comment><USER6> I'm actually pretty curious about what causes battery wear at a fundamental level. Presumably, traditional LI batteries are not "leaking" Lithium. So why does their electron-storage-potential decrease with time?

<comment><USER7> Here is a good, basic description: <http://gizmodo.com/5681005/giz-explains- why-batteries-die>

Basically, batteries are chemical reactions. Even though the reaction can be run in reverse (to recharge), no reaction is 100% efficient. Charging and discharging corrodes the anode/cathode and alters the structure. This makes them less capable of accepting ions. The electrolytes oxidize and decompose as well.

<comment><USER8> There is a neat trick where you can zap an old lithium-ion battery with an electric welder, it does something to the old chunky crystals or something like that.

<comment><USER9> This is with Nicad batteries. DO NOT attempt to zap a lithium ion battery unless you have a blast shield etc.

<comment><USER8> Ah yes I see now, my bad. It pays to Google first I guess.

</comment></comment></comment></comment></comment><comment><USER10> I'm getting tired of hearing about breakthroughs in battery tech. We've been hearing about it for years and still nothing has changed with regards to the batteries in my actual gadgets.

</comment><comment><USER11> It will be interesting to see how they hold up over time. 40,000 cycles at 17 C is only 98 days. Lithium-ion batteries are also rather cycle insensitive, but die in about two years.

<comment><USER12> "17 C" ? 17 times the speed of light?

Reversing your math it seems you are implying 17 cycles per hour? Why in the world would you charge and discharge a battery 17 times per hour?

I don't even think it's possible to do that - it takes longer than 3.5 minutes to charge a battery.

<comment><USER13> I suspect that C is "charge rate", but I'm not sure how that interacts with battery lifetime. <http://en.wikipedia.org/wiki/Battery_charger#Charge_rate>

</comment></comment></comment><comment><USER14> How does this stack up with the other recent development of greater capacity?

[http://newscenter.lbl.gov/news-releases/2011/09/23/better- li...](http://newscenter.lbl.gov/news-releases/2011/09/23/better-li-ion- batteries/)

It would be good to see these if these techniques can be combined to offer better lasting batteries by both definitions (more power, lasts longer vs more cycles, lasts longer).

</comment><comment><USER6> Whitepaper: [http://www.nature.com/ncomms/journal/v2/n11/full/ncomms1563....](http://www.nature.com/ncomms/journal/v2/n11/full/ncomms1563.html)

</comment><comment><USER15> Besides energy storage, another breakthrough for solar thermal would be better quality, more efficient and less expensive mirrors.

</comment><comment><USER16> And I quote: "The researchers have not yet built the revolutionary battery itself"</comment>


Enabling Exchange account on your iOS makes the device pwned - <AUTHOR> https://discussions.apple.com/thread/3090996?start=0&tstart=0 Seems like a lot of people are not aware of this "feature". <comment><USER2> > Enabling Exchange account on your iOS makes the device pwned

Using Exchange ActiveSync allows the device to be remotely wiped. Don't like it? It's _your_ iOS device. Don't use ActiveSync.

At my job, part of the process of enabling ActiveSync on a personal device is signing a document that says you understand what "Remote Wipe" means.

If you don't sign it you'll get a company Blackberry/Android.

Honestly I consider remote wipe a very useful feature. In addition to whatever if-it-phones-home-we'll-nuke-it-from-orbit capabilities that iCloud provides, my own personal email is via a hosted Exchange provider and I can remote wipe my devices through it if I want.

<comment><USER3> > If you don't sign it you'll get a company Blackberry/Android.

Heh, BlackBerry was the first vendor to offer such a feature, AFAIK. It's the primary reason my previous company rolled out the devices to the execs.

We also made it very clear that if your device was lost or stolen (or you got shit-canned), it would be wiped as soon as possible no questions asked.

<comment><USER2> For completeness' sake: you'd get a company iPhone except for the fact that Blackberry/Android devices are cheaper.

The point is to avoid the intersection of "work's phone"/"my phone", not to avoid iOS.</comment></comment></comment>


Show HN: Jongo, a RESTful JDBC Interface Server - <AUTHOR> http://code.google.com/p/jongo/

<comment><USER2> Interesting. I'm only wondering why its a server with embedded jetty and not the other way around, a server that I can embed in my servlet engine of choice.

<comment><AUTHOR> I'm working on making this a deployable WAR. In the future it should be able to be deployed in any AS and in google apps engine. But first, I wanted it to work as an applications server for JavaScript.

</comment></comment><comment><AUTHOR> Jongo is a Java server (with embedded Jetty) which provides CRUD operations over any JDBC supported RDBMS using REST.</comment>


The cadaver market: Death, where is thy bling? - <AUTHOR> http://www.economist.com/news/united-states/21595433-growing-industry-tries-meet-demand-corpses-death-where-thy-bling <comment><USER2> "Every man has a Property in his own Person" (John Locke, _Two Treatises on Government_ ).

As a libertarian, self-ownership is a central principle. Most people don't have any assets, save their own bodies. People should have the legal right to sell their bodies for medical school research, pharmaceutical testing, organ transplantation, safety engineering or anything else.

Selling your own corpse on the spot market doesn't do you any good, so you'd need to sell your cadaver via a forward contract or a futures contract. Forwards are highly custom and generally can't be resold. Futures are standardized contracts; their legalization would make cadavers into commodities and would lead to the creation of a cadaver futures exchange as well as cadaver swaps and derivatives.

As a left-libertarian, I don't accept "laissez-faire" as dogma, merely as a means to the end of perfect competition. Government has a role, not only in (1) providing courts to settle cadaver forward/futures contract disputes, but also to (2) police the market to root out fraud and violence, such as the bodysnatching and murder-for-profit of William Burke and William Hare; and to (3) bust trusts/cartels among the body-brokerages.</comment>


China's Social Credit System:Millions Banned from Taking Flights, Trains in 2018 - <AUTHOR> https://www.scmp.com/economy/china-economy/article/2186606/chinas-social-credit-system-shows-its-teeth-banning-millions <comment><USER2> This is by far the most favorable, least ominous, reporting I have encountered on China's social credit system.

</comment><comment><USER3> Sounds like a perfect complement to the Green New Deal - use social credit scores to deprive deplorables of transport, energy, shelter, and food.</comment>


TripIt Gets An ExIt – Acquired By Concur For Up To $120 Million - <AUTHOR> http://techcrunch.com/2011/01/13/concur-acquires-tripit/

<comment><USER2> This is terrible news for all of us. I am forced to use Concur at work and it is by far the worst web application I have ever used.. Hours of frustration every month because of their terrible UX and buggy and confusing UI.

I hope this is not the way TripIt is going because it is definitely the best thing to have happened to travelers in a long time.

<comment><USER3> I'm not quite ready to say that it's terrible news for us all; after all, the folks behind Concur could know just how bad their system is and be buying TripIt because they need something better.

Anything better.

The Concur website makes my eyes bleed, and the fact that you can't use their iPhone/iPad app without entering credit card information etc. on your company's Concur system is insane.

Hopefully, Concur will do the right thing and let the consumer portion of the TripIt brand stand and improve its enterprise crapware based on the TripIt brand.

<comment><USER2> The problem is that this rarely happens. Concur makes software for the enterprise. What I'm saying is that I hope TripIt doesn't turn into an enterprise software. Most enterprise software are pure garbage.

</comment></comment></comment><comment><USER4> I'm saddened by this. They were my favorite web service and startup. Concur is probably going to shut the service down, or just freeze development on it.

Nokia acquired Dopplr and they abandoned it completely, that's why I switched to TripIt. Since the acquisition no development has happened with Dopplr, their latest blog post is from September 2009. Neither have I seen anything similar come out of Nokia.

Sad day.

</comment><comment><USER5> Slightly disappointed - TripIt is one of the few web products released in the past five years that made me say "WOW. I need to tell everyone about this."

My wife managed bookings and travel for public speakers - TripIt probably saved her and her clients hundreds of hours last year. Given the amount of information they have about people's travel preferences and the high margins of online travel businesses, I'm surprised they were sold for so little.

</comment><comment><USER6> Congrats to them. It's one of the best services I use on the web. It's changed the way I travel. I just hope Concur doesn't f it up.

</comment><comment><USER7> Being acquired by a verb that is really a noun is a confusing read.</comment>


Timeline for moving to the new Gmail - <AUTHOR> https://gsuiteupdates.googleblog.com/2018/06/new-gmail-timeline.html <comment><USER2> It seems a little pointless to allow users to opt-out only for 2 months, or so.</comment>


Find Out How Much Traffic a Website is Getting - <AUTHOR> http://www.labnol.org/internet/find-website-traffic-hits/8008/ <comment><USER2> The Google ad planner is really cool. Interestingly it doesn't display data for google-owned sites such as google.com, blogger.com and orkut.com.

</comment><comment><USER3> some of those are obvious, but the Ad Planner was an interesting trick...</comment>


American healthcare: better than advertised... should we rush change? - <AUTHOR> http://www.hoover.org/publications/digest/49525427.html

<comment><USER2> Needs a pinch of salt. From Wikipedia: "The Institution has long been a place of scholarship for high-profile conservatives with government experience. A number of Hoover Institution fellows had connections to or held positions in the Bush administration and other Republican administrations".</comment>


Real-Time Noise-Aware Tone Mapping - <AUTHOR> http://www.itn.liu.se/mit/research/computer-graphics-image-processing/real-time-noise-aware-tone-mapping?l=en <comment><USER2> In the video at 0:22, I can see some noise on the hood of the car, that isn't there in the unprocessed video.</comment>


Citibank receives lowest security grade among top banks - <AUTHOR> http://jontavarez.com/misc/citibank-receives-lowest-security-grade-among-top-banks

<comment><USER2> The sheer number of broken links and failed page loads while trying to pay a credit card statement is enough to make me enormously skeptical of Citi's ability to secure my information. I'd gladly close my account if the credit agencies wouldn't place so much emphasis on "Longest Available Revolving Credit" or whatever they call your oldest credit card.

<comment><USER3> I closed my account precisely because their interface was so terrible. The last few months the account was open, I used the iOS app exclusively because their web interface was so broken.

</comment></comment><comment><USER4> Citibank sometimes returns "what is your account number and debit card number" as security questions when you try to login from a computer it doesn't recognize. Just goes to show - asking harder questions is not security. KYC and 2FA ARE!

<comment><USER5> That's insane that they think they would have to go to that extent.

</comment></comment><comment><USER5> Thanks for sharing! Wow, 12 points in under 2 hours and all the way down to 150+ ? Weird!</comment>


Get advice from the web's top design, layout and usability experts - <AUTHOR> http://www.onceovers.com

<comment><AUTHOR> We've put together a site to help engineers (like us) get a quick consult when we're looking for usability, design or layout advice.

We reached out to some of the best designers we know of and asked if they'd be willing to create a 15-20 minute screencast critiquing work... and they were.

We're doing the MVP thing at the moment.. is this useful?

<comment><USER2> yes. Thank you for bringing this to life.

</comment></comment><comment><USER3> I found it a little ironic that on a site dedicated to user experience reviewing and criticism it took a good deal of work to figure out how to buy the product. No buy now button, no pricing info link, etc... I see now that its hidden in the learn more link, but nothing about that link says thats where buying is going to be...

<comment><AUTHOR> :)

Super valuable feedback. We're in a model at the moment where we want the buying experience to be via the designers. That said, the idea of a 'marketplace' can be found here: <http://onceovers.com/providers></comment></comment>


When Journalism Becomes Corrupt Boosterism - jules-jules https://kmgarcia2000.blogspot.com/2020/09/when-journalism-becomes-corrupt.html <comment><AUTHOR> This strikes me as movement conservatism's accusations of "liberal bias", reworked for the current political situation.</comment>