Tesla vs. the auto dealers - <AUTHOR> http://www.newyorker.com/talk/financial/2014/04/21/140421ta_talk_surowiecki

<comment><USER2> FTA: "Of course, you might ask, who really cares if some luxury-sedan maker has to sell through dealers?"

The answer to this question is one of the more important ones that I find typically under-reported.

The biggest problem with trying to force Tesla to go through dealers to sell their cars is that it is almost guaranteed not to be feasible or profitable. The majority of profit from dealerships comes out of repairs and service rather than the actual sales. They want people to buy a car, drive it for a few years, paying for regular maintenance, and any repairs that crop up, then buy a new car after that in order to get the new features and stop paying for more and more expensive repairs.

Being an electric vehicle, a Tesla has fewer mechanical parts, and a lot less "stuff" to wear out and require breaking down. That is one major penalty to the service model common for existing auto dealerships.

Tesla has committed to providing a service model that does not seek to be a profit center for the company. They specifically don't want to make any significant portion of their revenue from service.

Tesla has also committed to providing over the air updates of the software as well as providing retrofits of new features and updated components such as batteries. OTA updates are free for the life of the car and are delivered automatically. The batteries are swappable with a minimal amount of service work, and that means that existing vehicles on the road today can likely take advantage of future battery technology as it comes online.

So, roll all these things up together and think about how many dealers would actually want to put an amazing looking vehicle in their showroom that:

* doesn't require periodically stopping at a gas station but can instead typically be re-fueled at home overnight

* requires less maintenance

* costs less for the maintenance and repairs that are required

* doesn't become obsolete as quickly due to new software features being delivered for free and new hardware upgrades potentially available at a fraction of the cost of a new car

and then watch as many customers who walk in purchase that vehicle rather than the dozens of models from other manufacturers that don't have those advantages...

A dealership would almost have to exclusively sell Teslas. If they weren't, they'd be hurting their revenue model and competing against themselves.

Unfortunately, until the third generation Tesla comes out, there isn't enough market for the current models to warrant a large traditional dealership just for the Model S (and soon to be Model X). All that is needed right now are the small showroom stores that they are currently using, and there isn't really any significant utility in forcing those to be owned by a different business entity.

When the third gen cars do hit mainstream, it is very likely that shortly thereafter, there will start being stores with outdoor parking lots that have several models on hand ready to be bought and driven away. It is also likely that at that point, it will make sense to have third party businesses own and run those stores. Even then, it still isn't all straightforward, because there has to be some utility for those businesses to exist, and anything more than a modest markup for origination and on-site immediate delivery will require careful thought to prevent major disruption and potential descent into the current hellish system of deceptive markup and aggressive haggling for deceptive discounts that is so common in the rest of the auto dealership model.

<comment><USER3> > _costs less for the maintenance and repairs that are required_

What are you basing this on? What does it cost to repair an electric motor?

I also think you overestimate the maintenance costs of ICE cars. I've owned nothing but new vehciles (relatively cheap ones) for the past 10 years. Outside of oil changes, which the Tesla doesn't need, I paid very little for routine maintenance. I had one kind of "major" problem, warranty covered. For one vehicle, my oil changes were paid for.

So much speculation, but it seems to me that people around these parts think all ICE vehicle are "junk", or close, when in reality they're incredibly efficient, reliable and pretty cheap to operate.

<comment><USER4> > What does it cost to repair an electric motor?

Unless you somehow destroyed the wiring, very little. And the only kind of required maintenance is changing bearings (should last a decade, or two) or brushes (some motors don't have them, the ones that have require changing every few years, and they are quite cheap). Any other kind of repair is done only after some kind of abuse.

An electric motor also has no cooling, no transmission, simple lubrication, no starter engine, in short, nothing that breaks. But it has a huge battery...

</comment></comment></comment><comment><USER5> This was a pretty light and fluffy piece:

" But the auto industry is different. In its early years, companies tried all kinds of ways of selling cars; you could buy them right at the factory, or at local department stores, or even from the Sears catalogue. But by the nineteen-twenties the industry's major players had settled on a system of local, independently owned car dealers." \- A good reporter would tell you why it settled on that system. It's behind the reasons these sorts of laws exist. When he does hint at it " the relevant Florida statute claims to be "providing consumer protection and fair trade." he makes no attempt to even enlighten us as to why this might be the reasoning _even if the reasoning is crappy and out of date at least discuss it_

Oh, and it isn't just autos. " In most states, retailers and restaurants have to buy alcohol from wholesalers rather than directly from producers." Ok, pick the one industry that is heavily regulated due to religious and social reasons. Not really a great example to utilize given all the baggage and emotion there.

"But, according to a 2008 study, almost thirty per cent of jobs now require a license in some state or other, including many—auctioneer, shampooer, home- entertainment installer—where licensing seems totally unnecessary." Big sweeping claim without even referencing the study? Yikes.

I think Tesla should be able to sell directly. This though feels like an opinion piece from Tesla more than a reporter reporting on a story.

<comment><USER6> There definitely is a story. Here in Texas it's forbidden to sell cars directly to consumers and must through a dealer. The article does not mention how much of an impact the National Auto Dealers Association lobby group has on the industry. We aren't hearing from the manufacturers because they caught in a catch-22 with wanting to lower their costs via direct sales yet not irritating their network of dealers.

</comment></comment><comment><USER7> It would be difficult to find a less sympathetic cast of characters than car salesmen from New Jersey, but I think the issue at stake is that the legislation in question was initially intended to protect new businesses in an established field and encourage innovation, but now is protecting existing business and hindering innovation.

It reminds me a lot of patent laws with respect to the software world.

</comment><comment><USER8> Planet Money has an excellent episode where they discuss this topic in more detail: [http://www.npr.org/blogs/money/2013/02/12/171814201/episode-...](http://www.npr.org/blogs/money/2013/02/12/171814201/episode-435-why- buying-a-car-is-so-awful)

<comment><USER7> That was fascinating, thank you for sharing it. I'm always curious when a business justifies its existence or protection by appealing to the fact that it employs people - "we have families depending on us!" Every business employs people, has families depending on it, etc. That argument ought to be considered a fallacy.

<comment><USER9> Specifically, it's not obvious why a Tesla-owned "store" would employ fewer people than an independent "dealer".

</comment></comment></comment><comment><USER10> Not sure what the backlash is about with the auto dealers. Even if they are weary of automakers becoming more vertical, the automakers themselves will still need experienced salesmen in which case their jobs aren't threatened. They'd be working for automakers, not dealerships.

If you look at it, this industry shift wouldn't be job-cutting unlike for airline ticketing agents and toll collectors, who have seen their jobs replaced by machines.

<comment><USER11> The automakers might choose to not employ douchebags because they want to retain a positive image.

</comment></comment><comment><USER12> I've personally experienced the frustration of trying to introduce an innovative and different model in the auto industry.

It's a good old boys network that seems like they will resist change until their failure far before they'd ever consider transitioning to something that isn't, "just the way it is".

</comment><comment><USER13> The "dealers have political clout because they generate so much sales tax revenue" logic seems lacking. Wouldn't people buying cars pay the sales taxes regardless of whether the cars are sold through dealers or direct to consumer?

</comment><comment><USER14> The Dealership model is outdated to say the least.

But there are some genuine liability issues that need to be addressed at the state level.

Most state regulate most aspects of the Automobiles that travel their roads and there would have to be some compromise on licensing and nexus so the consumer won't be left holding the bag from a product liability prospective and states can enforce their product standards without stepping on federal toes.</comment>


Disney's flying robot stunt double can pose just like a superhero (2018) - <AUTHOR> https://www.theverge.com/2018/6/30/17517512/disney-robot-stunt-double-animatronic-superhero <comment><USER2> "One day at Disney" is a show on Disney+. It's a collection of shorts describing various jobs within the company. One of them is on this team, discussing this very robot. It has some additional footage and depth not covered in this article. It was my favorite episode of the series.

</comment><comment><USER3> The stunts in the video all seem like they could be done by a human, I was expecting something more like a light weight humanoid bot with some quadrocopter type propellers that allowed it to actually fly and float through the air. For instance, you could have Ironman flying high over the park and make it look convincing, especially with properly placed speakers.

<comment><USER4> It might not look right if a stiff breeze blew Iron Man out of the park

<comment><USER3> Couldn't the same thing happen to one of these bots? Blown off their trajectory

</comment></comment></comment><comment><USER5> If you want to try this at home, check out MIT 6.832 Underactuated Robotics, taught by Russ Tedrake. Lectures available on Youtube.

Sumulating systems similar to the acrobat robot are homeworks. I think all tbe tools are available open source.

<comment><USER6> Speaking for myself, I would need the fundamentals of animatronics first (like, if I'm making a simple animatronic puppet, how do I design mechanisms to open and close the mouth or turn the neck?). Assuming I am well versed in control systems, electronics, and have a solid grasp of torque, gear ratios etc, where would I go from there? Under-actuated robotics are like a step 2. Hell, even robotics 101 seems like a step 2, since it focuses on the control systems quite a lot, I'm talking about "how do I build it?" and "what is a four-bar linkage good for?". These courses always focus on modelling a real robot and controlling it, I'm interested in designing the mechanics of the thing.

<comment><USER5> Fair enough. 6.832 is an advanced course.

Building simple kits is always a good way to get going. You learn by seeing how someone else solved the problem, and add that to your bag of tricks. The Pololu Romi chassis is not a terrible place to start. The wheels have (kinda coarse) encoders, so you can at least get some decent control going. Even simpler robots can be built by modifying hobby servos for continuous rotation. Pick a simple challenge, like "Drive around on a table without falling off.", that is a decent robot "Hello, World!". (And it isn't as easy as it sounds.)

If there is a robot club near by, check it out.

</comment></comment></comment><comment><USER7> I think this is going to end up being one of the coolest additions to the parks in recent years. If you haven't seen, they're applying this at Disneyland in the Avengers Campus area to have a "live action" Spiderman flying overhead: [https://www.disneytouristblog.com/stuntronics-spider-man- ave...](https://www.disneytouristblog.com/stuntronics-spider-man-avengers- campus-marvel-land/)

<comment><USER8> Same videos as the original post

<comment><USER7> There is an additional video with the robot dressed as Spiderman.

Did you even click the link?

</comment></comment></comment><comment><USER9> Does this mean that robots like this will be cheaper to produce than CGI?

<comment><USER10> Probably not, even though you get a lot of physics "computation" for free, simply because you're managing physical stuff that gets dirty, jams, needs lubrication, can be stolen etc.

OTOH it's the only way to do headset-free AR which is impossible with cgi!

</comment></comment><comment><USER11> FTA, "falling with style"

</comment><comment><USER12> Funny, was recently at Disneyworld and impressed by the live-action Cinderella during the nightly fireworks/lights show. Was she a robot?

<comment><USER13> If it's a show, it's likely a real person; if it's a ride, more likely to be an animatronic.

<comment><USER14> My guess is that they want to use something like this in a life-action stunt show to augment human actors.

</comment></comment></comment><comment><USER15> Yes, it is possible to do this.</comment>


Qt 5.6.0 released - <AUTHOR> http://blog.qt.io/blog/2016/03/16/qt-5-6-released/ <comment><USER2> I've used Qt many years ago (2007) and I liked the experience, but I had to move away from it because our company decided to go native on all fronts..

For internal tools/prototypes I was using JUCE for my UI needs, which is much smaller in scale that Qt, but it produced very slim executables, was fast and good enough for my needs (plus I loved the API). I still think this a great framework for small UIs and tools, especially if you're working with sound.

Then I took a two years break from C++, moving to full time Objective-C, then Swift 1 and 2, working with and actually enjoying the power of UIKit.. I've developed several UI-heavy apps for iOS and some OSX stuff.

This year I came back to C++ and coincidentally, Qt.

What a nice come back this is. I'm thoroughly enjoying Qt (I'm currently using 5.4). The development is smooth and intuitive, I don't have to spend hours reading documentation and articles, it kind of just flows by itself (not so at all with UIKit )

After trying out many frameworks and kits, If I had to pronounce a verdict for the best cross platform UI framework - then Qt has no competition, both in terms of features and in terms of pleasure.

I hope I can say the same about 5.6, will definitely try it out.

Edit: let me know if you need a Qt dev, as my current project is closing to an end and I would love to continue using Qt . (message codershaman on reddit).

<comment><USER3> Can I use the new fancy compiler stuff like Lambdas with QT? Does it still require a meta compiler?

<comment><USER4> Lambdas can be used e.g. with the new signal-slot syntax [1]. And yes, Qt uses the meta compiler, and it's hopefully going to stay that way as moc has a clear positive impact both on features and speed [2].

[1] [https://wiki.qt.io/New_Signal_Slot_Syntax](https://wiki.qt.io/New_Signal_Slot_Syntax)

[2] [https://woboq.com/blog/moc-myths.html](https://woboq.com/blog/moc- myths.html)

<comment><USER5> Wow I had no idea you could put lambdas in place of slots!! Thanks!!

</comment></comment></comment></comment><comment><USER6> Qt is easily the best cross-platform UI kit that I have used, especially in combination with Python, which turns it into THE rapid prototyping tool.

For my research I used PyQt/PySide to build lots of UI components for controlling my lab equipment, visualizing my data and running code in an interactive way. While doing this kind of thing using a native toolkit (MFC, GTK) would have been possible, it would probably have been much difficult and time-consuming.

For me, Qt is a great example of beautiful and very good software architecture: Creating a cross-platform UI kit that works on platforms as diverse as Linux, Windows, MacOS, Android and Symbian and integrates well with the peculiar set of features of each platform is a daunting task. Qt as a UI abstraction layer solves this really beautifully, and both the philosophy and the architecture of the code is very well thought through. And in the last five years the developers added many interesting ideas (QML, Javascript support) that compete with and sometimes go beyond what's available in many native toolkits. So if you like reading good code you should have a look at Qt.

<comment><USER7> For a new project, do you recommend PyQt or PySide?

<comment><USER8> Stick with PyQt, PySide seems dead.

<comment><USER9> PySide development was stalled, and its future was uncertain.

However, PySide is being developed again for Qt5: [https://github.com/PySide/pyside2](https://github.com/PySide/pyside2)

</comment></comment></comment></comment><comment><USER10> Docking has improved too: [https://wiki.qt.io/New_Features_in_Qt_5.6](https://wiki.qt.io/New_Features_in_Qt_5.6)

      - Allow programmatic resizing of dock widgets
      - Allow dropping dock widgets into floating docks
      - Allow the user to re-arrange tabified docks

I haven't tried it out yet, or seen a demo, but in my previous company we spent some time finding out a solution for docking that mimicks to a degree what Visual Studio did, and we somehow did it, but it's not as good still as Visual Studio.

It was very important for the artists/level builders/scripters to be able to use 3 monitors efficiently (something that the browser lacks in general), and a window spread on three of them is not what they needed.

They really wanted one monitor with say the level (3d map), another monitor would have all assets for preview/selecting, and a third one for additional debugging.

Then when you close, and open again the app it should remember the positions, sizes, etc.

Autodesk Maya/MotionBuilder uses Qt, so if they switch to this version they'll benefit from it.

As an alternative solution, but only in Python (PyQt, PySide) land, there is [https://github.com/nucleic/enaml](https://github.com/nucleic/enaml)

[http://nucleic.github.io/enaml/docs/examples/ex_dock_area.ht...](http://nucleic.github.io/enaml/docs/examples/ex_dock_area.html)

It's beautiful!

<comment><USER11> Does this work for QtQuick/QML or is it QWidgets only?

<comment><USER10> I'm not sure, but I would say QWidgets only, e.g. it's QDockWidget

</comment></comment></comment><comment><USER12> Most people think of Qt as a UI framework but it's also an excellent foundation for CLI/server apps, as an alternative to the C++ standard library and/or Boost.

Qt is split into many sub-libraries so you only link to what you need. For example, one of my projects (pushpin.org) uses Qt but only links to the core and network libs; no GUI/X11/etc.

<comment><USER13> It's also AFAIK one of surprisingly few sources of a utf-8 aware cross- platform string class/libraries for c++.

</comment></comment><comment><AUTHOR> In addition to this high-level summary, you might also enjoy [https://wiki.qt.io/New_Features_in_Qt_5.6](https://wiki.qt.io/New_Features_in_Qt_5.6) (linked in the blog post, but easy to miss)

</comment><comment><USER14> My problem with Qt is that it seems like only Python has language bindings that are good long term bet for a project. I'd like to see bindings for Go, Rust, Node.js, and C#/.NET Core with dependable long term commitment to quality. I think there's more a business case to do these than there ever were for Qt Jambi(Swing and SWT existed) or PySide(basically, duplicating PyQt because it's GPL not LGPL).

<comment><USER15> There are go bindings that are excellent ([https://github.com/go- qml/qml](https://github.com/go-qml/qml)). this, combined with the Google Material style kit ([http://github.com/papyros/qml- material](http://github.com/papyros/qml-material)) results in very simple, clean apps with all the goodness of go.

For me, the only drawback is not being able to expose a go object as a model, involving a bit of back and forth, but the rest is very very clean.

<comment><USER14> Go does seem to have the best bindings of the platforms I listed, but the reason I put Go on the list is that go-qml hasn't been a commit to the repository in over a year, the mailing list traffic has significantly decreased, and seems to support rather old versions of Qt(though this may be wrong, the docs should be update or made more clear that it means the older version and later).

<comment><USER15> All very valid points. It would be a shame if the project died. QML and Go just seem to be perfect partners.

</comment></comment></comment></comment><comment><USER16> Qt is one of the nicest frameworks I've worked with. I write code that I expect to run (and look roughly the same) on all 3 major plats (win, linux, osx) and Qt does this a lot better than the alternatives.

But what I really appreciate about Qt is the entire system was designed from the ground up by grownups who understand how to deploy software and have it last for over a decade. most of the frameworks today feel like they were developed by kids with little experience to solve limited problems now ,and then fall over as they evolve into something more complex.

<comment><USER17> It's amazing to me that they maintain binary compatibility across minor version bumps. Anything linked against Qt 5.0 (released 2012) will work with Qt 5.6 without even recompiling.

<comment><USER16> I also like that you can cast QObjects across dynamic library boundaries.

</comment></comment></comment><comment><USER18> The high DPI changes sound very promising. I experimented with Qt on Android around 18 months ago and, at the time, had to do a bunch of JNI calls to get an accurate device dpi, and do hacky workarounds, like scaling in the QML, just to get things to look half right.

Qt 5.6 will be on my todo list for further experiments.

</comment><comment><USER19> Looks like Vulkan support didn't make it to this release.

[https://blog.qt.io/blog/2016/02/16/the-qt-company-joins- khro...](https://blog.qt.io/blog/2016/02/16/the-qt-company-joins-khronos- group-and-promotes-vulkan/)

<comment><USER20> Wasn't Vulkan released less than a month ago?

There is a bit of a running joke about Qt 5.6 because it was branched (i.e. feature freeze!) in August of last year.

</comment></comment><comment><USER21> Woo! It has a bugfix to qt-webkit that I committed. It fixes a canvas.toDataURL issue with PNGs.

</comment><comment><USER22> I really like Qt and think its an incredible framework overall. Even if you don't use the Qt libraries, QtCreator is one of the best C++ IDEs out there imo (though qmake really sucks and they've been dragging their feet on a proper replacement for years)

The real show stopper for me with Qt is its licensing though. LGPL is a no-go on closed mobile platforms and its commercial license at $350/month is completely unreasonable for smaller developers. Really, the LGPL is a horrible license because of its clause that you must be able to change out the LGPL portion of the software.

Also almost every time there's a thread about Qt I see a bunch of (presumably) web developers start talking about React. In fact, in pretty much every thread talking about any similar framework someone has to mention React. I'm not a web developer and I've only looked at React briefly but I guess I just don't _get_ it. Could someone explain succinctly what the big deal is? I've used Qt a lot -- what do all these people mentioning React want Qt to offer? Why is it brought up so often? Is it really that revolutionary? Almost seems like a cult.

<comment><USER23> Why not just put your proprietary stuff in a closed-source library and distribute the rest of the source in accordance with the LGPL? What's so horrible about that? Even iOS allows dynamic linking nowadays.

<comment><USER22> The problem isn't dynamic linking, its the requirement that the end user must be able to re-link a modified version of the LGPL code. So for example, the user should be able to replace the Qt libraries your application links to. On closed platforms like iOS and Android (on Google Play) this isn't really possible. How would your user access your application, modify it and re-sign it?

<comment> shawn-butler Previous discussion on HN of the mail app Sparrow and their approach in complying with LGPL on iOS:

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

May be helpful to you.

<comment><USER22> Its not helpful, they aren't complying with the relinking clause. I don't think there's any way to use LGPL with closed source on mobile app stores.

<comment> shawn-butler I'm assuming you didn't read it. I will give you benefit of the doubt since the Sparrow page was pulled after Google acquired them.

Sparrow made available on a website the necessary binaries for the user to relink if they so chose thus complying with the terms of LGPL.

</comment></comment></comment></comment></comment></comment><comment><USER24> I started playing with QT last week. QML is great.

Is the QT team working on official React API support with JSX ? This will make universal UI development a breeze.

<comment><AUTHOR> Nothing from the Qt Company itself, but there are some community initiatives _around_ what you're mentioning. This recent mailing list thread mentions a few of them, especially quickflux by community contributor Ben Lau. However, nothing like what you're asking for, QML is clearly not moving in this direction.

\- [http://lists.qt- project.org/pipermail/development/2016-March...](http://lists.qt- project.org/pipermail/development/2016-March/025225.html)

\- [https://github.com/benlau/quickflux/](https://github.com/benlau/quickflux/)

Now, regarding what's actually being done by Qt Company on the UI side, there are the new qtquick controls (currently namespaced to 'labs' as it's still a work in progress), see [https://www.youtube.com/watch?v=FqjabvHSiZk](https://www.youtube.com/watch?v=FqjabvHSiZk) and [http://blog.qt.io/blog/2015/11/23/qt-quick-controls-re- engin...](http://blog.qt.io/blog/2015/11/23/qt-quick-controls-re-engineered- status-update/)

<comment><USER24> Thanks for the links.

The QuickFlux is promising start for the Flux pattern in Qt.

I was thinking more on the lines of React Native [1] like support in Qt.

Essentially, having React render() function backed by Qt Quick Controls?

[1] [https://facebook.github.io/react- native/](https://facebook.github.io/react-native/)

<comment><AUTHOR> > _QuickFlux is promising start for the Flux pattern in Qt. I was thinking > more on the lines of React Native [1] like support in Qt._

I know :) , and I searched for that too when I joined a QML project after working on a React one. So far there's nothing like that, thus the _" around"_ in my comment.

Now, about _why_ no one tried that yet, I'd propose that newcomers (including me) want it but don't know the platform well enough to build it, and experienced C++/Qt-ers could try it, but they don't care about new frontend stuff like React the slightest bit, as they are used to their own thing (which works well too!).

It's just two different technical worlds with different working solutions, and little interest to pick ideas from the other side of the fence. That being said, I'd love to be proven wrong.

<comment><USER24> I am on the same boat with you. C/Java/JavaScript background. I hope someone cracks this soon.

</comment></comment></comment></comment></comment><comment><USER25> Will it be worth it/extremely hard to learn C++ just to use Qt? (I always read here and reddit about how hard/inefficient/easy to fail is everything is in C++)

(Eng. background and software dev full time)

<comment><USER26> C++ is worth knowing, if only superficially, without any regard for Qt.

<comment><USER27> I am not sure about that. Not in the sense of gaining wisdom as would be in case of, say, Lisp or Haskell -- or even C. C++ is all just nuts and bolts, a more or less coherently implemented collection of paradigms originated in other languages. It is very useful from the practical standpoint, no doubt, but being "worth knowing", "superficially" \- not so much IMHO.

</comment></comment></comment><comment><USER28> Is Qt still a good platform for new desktop apps? I often have to choose a framework for new line of business apps on Windows. The choice usually is WPF but I'd prefer Qt. Last time I looked into it it looked a really well thought out framework. And I am one of the weird people who prefer C++ over C#.

My only concern is availability of 3rd part components like data grids, reporting and other widgets. There are many of them for WPF but I am not sure they exist for Qt. Can Qt interact with .NET components?

<comment><USER5> You can use Qt Charts or Qt 3d. Here is a link to the charts docs

[http://doc.qt.io/QtCharts/](http://doc.qt.io/QtCharts/)

</comment></comment><comment><USER29> As someone who have spent the last six months learning C++ (making the transition from web developer) all I can say is that it'll be hard for me to leave Qt framework. It's very pleasant to work with it (although some corner cases can give you headaches). I'm mostly working with Qt Quick/QML in general (previously I used the widgets but I needed "easy access" to more eye candy effects without spending too much time in code. There's a overhead to pay though).

<comment><USER30> > As someone who have spent the last six months learning C++ (making the > transition from web developer)

Any particular reason why? I know a lot of people doing the opposite (because there are so many more web dev gigs out there).

<comment><USER29> I want to expand my knowledge. I'm almost done with college and I'm both thrilled and terrified on what will I encounter from here on, there is still a lot to learn.

I'm not as good as many people here I just lurk most of the time, although, I've been doing web development for years, mostly self-taught. I had the opportunity to freelance as well.

Most of my drive to learn C++ is curiosity and the need to be able to write/understand C++ code because I wanted to work with it, I've been meaning to get an Arduino kit too. I'd love to enter the field in C++ as junior dev if possible, at the same time I won't neglect web development if the opportunity is there.

As I said before, I want to expand. I won't just "throw away" web development either. Lastly, I'm not in the US, the job market here is pretty terrible, and have found it hard to look for a place to work. I can work in the U.S, but sadly being both college student + no cash to do much it's pretty hard to pull off.

</comment></comment></comment><comment><USER31> Can anyone comment on what the uptake of QML is like? Or are most still sticking with the traditional C++/Widgets approach? Are there any major limitations to using pure QML?

<comment><USER4> I don't know any numbers, but if I'd start a new project, I'd go with C++ logic with QML UI. It automatically steers you to a better application architecture when there's a clear divide between data and representation.

As for limitations, large applications with custom QML may become hard to maintain. I'd expect web development to face the same issue, not sure how they've solved it. Basically refactoring is always a risky operation since you'll find out the breakages only at runtime. For small/medium apps this won't be a problem, but I saw a project with multiple teams on the same codebase for years, and it did cause quite some issues.

Then again, there was no alternative with that project. Widgets wouldn't have been an option at all.

</comment></comment><comment><USER32> Another plus to this release is they have official VS2015 binaries that you can download, so I don't have to build from source anymore which will save a lot of time.

</comment><comment><USER33> I'd love to know more about this COIN system that has been released. Jenkins causes a _lot_ of pain for LibreOffice infrastructure devs.

</comment><comment><USER34> This might be the QT release where you can dock a laptop finally with KDE5 (KF5 or whatever they call it this week) running as [https://bugreports.qt.io/browse/QTBUG-42985](https://bugreports.qt.io/browse/QTBUG-42985) seems to be fixed...

</comment><comment><USER34> Supposedly [https://bugreports.qt.io/browse/QTBUG-42985](https://bugreports.qt.io/browse/QTBUG-42985) is fixed which means you can dock a laptop while using KDE.

</comment><comment><USER35> Can't have a Qt thread without mentioning Nokia Meego, the best phone ever.

</comment><comment><USER36> I have never used Qt, and I feel like I have missed out. What concise sources would be recommended for someone with a Web development background, in order to start with Qt?

<comment><USER20> Do you know C++? If so a very fast way to learn is to clone some Qt projects, poke inside and see what makes them tick.

<comment><USER36> No I am not comfortable with C++ code. I was under the impression that JS along with QML was a viable option, guess I was mistaken.

</comment></comment></comment><comment><USER37> I hope Debian unstable / testing now can move with updating KDE Plasma 5 to the latest version. Looks like they were stuck waiting for Qt update.

<comment><USER38> I'm actually running Debian testing with Plasma 5.4.3, and Plasma 5 has no hard build deps on Qt 5.6 yet. They also have 5.5.4 in experimental. So it's mostly that the Debian Qt/KDE team has a bit of a conservative approach to updating Plasma in unstable.

<comment><USER37> I'm using Debian testing too, and noticed the delay. Before, KDE Plasma was moving quite in timely manner in Debian. By now released version is already 5.5 and 5.6 approaching, and Debian still is stuck on the older one. There were some serious Qt bugs[1] which were causing a lot of instability which were fixed in Qt 5.6 so I thought this delay was related.

[1]: like this one: [https://bugreports.qt.io/browse/QTBUG-42985](https://bugreports.qt.io/browse/QTBUG-42985)

</comment></comment></comment><comment><USER39> At $350 monthy it's way too expensive. They should consider introducing an indie or individual developer licences at a lower price point.

<comment><USER40> Isn't the LGPL good enough?

<comment><USER41> Can I publish dynamically linking Qt app on ios App Store?

</comment></comment></comment><comment><USER42> Check [http://qtweb.net/](http://qtweb.net/)

<comment><USER43> Spam? The link says the domain is available...

<comment><USER33> Not for me, though there appear to be broken images.

<comment><USER43> This site is temporarily unavailable If you manage this site and have a question about why the site is not available, please contact Domain.com directly.

:(

</comment></comment></comment></comment><comment><USER44> It was all good until this bit:

" _In addition, Pepper plugins (PPAPI), such as Flash, are now supported._ "

Ugh. :(

<comment><USER44> Someone downvoted that? Guess they like Qt adding vulnerabilities. :(

<comment><USER4> You just misunderstood what Qt meant by that line. It's not like they would be shipping Flash with Qt.

</comment></comment></comment><comment><USER45> Only one question: what changed in the License? Each version of Qt since 4.0 has been getting progressively away from open source.

<comment><USER46> I'm not sure what you are referring to? It has been LGPLv3 currently was LGPLv2.1 but v2.1 is not recommended anymore so they dropped it. "LGPLv2.1 is an older version and not recommended by the Free Software Foundation for new projects anymore."

It's dual licensed and it is rather prominent everywhere on their webpage that it is a dual licensed Open Sourced / Commercial project. I have found Qt to be very Open/Free friendly, unless you have other evidence to prove other wise?

If your referring to the commercial aspect I'm not sure since I only use the LGPL license.

<comment><USER47> Seconded. Also, the KDE Free Qt Foundation [1] has slowly extended the reach of their Agreement to include all versions of Qt across all platforms, including most additional modules maintained by Qt Company.

[1] The KDE Free Qt Foundation maintains a legal contract between KDE e.V. and the owners of Qt that mandates that, should Qt not see a new release for longer than 12 months, the last version of Qt be re-licensed under a permissive BSD-style license.</comment></comment></comment>


We're joining Facebook - <AUTHOR> http://www.source3.io/ <comment><USER2> Can't wait to see how source3 helps Facebook be a more despicable service.

</comment><comment><USER3> What happens when the thieves acquire the police? Who is going to police content, and for what purpose now? We already know that Facebook has profited tremendously from the freebooters.

<comment><USER4> In a more real-world sense, I think you can look at the current state of law enforcement around drug laws in the US for a solid guide to the sort of relationships you're describing. Eventually, the police and the thieves become the same thing; the state thieves.

<comment><USER5> In the United States, more private property was lost last year to "civil asset forfeiture" than to conventional thieves. [https://www.washingtonpost.com/news/wonk/wp/2015/11/23/cops-...](https://www.washingtonpost.com/news/wonk/wp/2015/11/23/cops- took-more-stuff-from-people-than-burglars-did-last-year/)

<comment><USER6> neither the article nor the year it refers to were last year. And even the article says it isn't true:

"...but this isn't exactly right: The FBI also tracks property losses from larceny and theft, in addition to plain ol' burglary. If you add up all the property stolen in 2014, from burglary, theft, motor vehicle theft and other means, you arrive at roughly $12.3 billion, according to the FBI. That's more than double the federal asset forfeiture haul."

Furthermore, a big chunk of that 2014 number was Bernie Madoff, per your atricle.

And finally, a big chunk actually goes back to the victims of the crimes ultimately linked to the forfeiture, again per your article.

</comment></comment></comment></comment><comment><USER7> We're leaving Facebook.

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

<comment><USER8> I downvoted you because your comment did not contribute to the conversation.

<comment><USER7> thanks! someone upvoted me because they understood my comment.

<comment><USER8> No worries; I downvote like once a month or so, so I like to leave a reason.

</comment></comment></comment></comment><comment><USER9> That's a promising move by Facebook. Maybe they're finally going to start cracking down on the rampant freebooting that dominates their platform.

<comment><USER10> I have the strange feeling this will really only be used to enforce the copyrights of large music and movie industry corporations and will not be effective at protecting the IP of independent creators.

</comment></comment><comment><USER11> Dear mom: when I grow up, I want to create the world's best content identification and DRM system, and along the way build a platform to manage IP online and establish relationships with brands!

<comment><USER12> "When I grow up I want to hold an honest job, be an upstanding citizen, earn a strong wage, pay my fair share of taxes, and work on interesting problems, technical or otherwise."

If we can respect lawyers and accountants, surely we can respect people who have worked hard to grasp an economic opportunity, even if we wouldn't in a thousand years worked on the problem they chose.

</comment></comment><comment><USER13> Hadn't heard of Source3 before but would they potentially be the first investment Facebook has made in a Youtube-like Content ID program? Given the accusations and complaints of folks who find their YouTube content re-uploaded to FB without permission or compensation, maybe this will be a good thing (if you've more-or-less accepted the status quo of Content ID and its drawbacks).

A highly-upvoted HN discussion on a Slate article about YouTube videos being plagiarized by Facebook users: [https://news.ycombinator.com/item?id=9854160](https://news.ycombinator.com/item?id=9854160)

<comment><USER14> It makes complete sense too as FB makes bigger plays at pre/mid-roll ads in videos. Seems like this could be an effort to limit their liability from serving ads on top of work with copyright issues and then profiting from it (or paying out a revshare to the uploader who may not be the rights holder).

</comment></comment><comment><USER15> Did Facebook ever consider building out their video product outside the newsfeed to keep people on the platform? YouTube seems like easy prey with FB's reach.

<comment><USER16> They are/have. Several news sites are already embedding FB videos.

If you're asking if they'll make a social network with video... They already have. It's Facebook. And they've recently begun pushing live video a lot harder.

<comment><USER15> YouTube has great discoverability but no shareability with video. Facebook has the exact opposite. I wonder why they don't tackle this. IMHO videos in the newsfeed are not enough to attract content creators. There needs to be some kind of special section/UI.

<comment><USER17> Wait what? YouTube videos can be embedded, shareable, with time ranges and what not? with relatively short URLs by default?

That's not "shareable"? That seems like exactly what the shareable web ought to be!

<comment><USER15> "shareability" not from a users POV but from a creators POV: how can the videos I create reach an audience that hasn't seen them before. Examples: Instagram hashtags, Facebook Share-Button, Facebook-Likes/Visibility, etc. Whoever solves this in combination with a great UI for discovering videos (and making content creation easy) will be the next YouTube.

</comment></comment></comment></comment></comment><comment><USER18> A major congrats to the source3 team! I'm excited for them and for the changes they'll bring to Facebook.

</comment><comment><USER19> Thats great. But why is this on hackernews ? Whats the relevance ? There is a single page linked to this.

<comment><USER20> It's an acquisition/acquihire

</comment></comment><comment><USER21> Jeez, talk about hold-outs. Lots of grandparents have already been on Facebook for a number of years.

</comment><comment><USER22> Wonder how much they'll be using the technology and how. Will they try to do it like YouTube with trying to keep videos up, and having the revenue go to the copyright owner? Or maybe they won't do much. Comments seem to be divided.

<comment><USER18> I suspect that it will more likely be similar to YouTube where they try to keep images and other IP up, and generate ad revenue for both FB and the creators. Most of the team behind Source3 worked on a startup called Rightsflow, which did music licensing and eventually was acquired by YouTube. They were responsible for doing a lot (all?) of the music licensing for videos, so that instead of videos being taken down they could instead stay up and have rev-share for everyone.

<comment><USER22> Yeah that makes sense and most likely for sure.

</comment></comment></comment><comment><USER23> booom! [http://www.source3.io/bundle.css](http://www.source3.io/bundle.css) (open source CSS) ???? WTFFFFF!!!! what have you contributed to Open Source and internet overall?

>* Bootstrap v3.3.7 ([http://getbootstrap.com](http://getbootstrap.com)) * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT ([https://github.com/twbs/bootstrap/blob/master/LICENSE](https://github.com/twbs/bootstrap/blob/master/LICENSE))

<comment><USER24> I'm sorry, what do you mean by this comment? If they use MIT licensed software there's no _obligation_ for them to contribute back anything, not that it's good or bad, but it's the terms of the license.

Also there's no way to know if they have contributed or not, and even if there's no direct contribution (pull reqs) we can't know if they haven't reported bugs or supported employees that wanted to collaborate to the projects on their free time.

</comment></comment><comment><USER25> Will their system be able to discern fair use or just brand anything that contains samples of "IP" to be "illegal"?

Content owners already have far too much control over their wares.

</comment><comment><USER26> what is/was source3?

<comment><USER27> > we set out to recognize, organize and analyze branded intellectual property > in user-generated content

Looks like technology to fight copyright infringement

<comment><USER28> Might be a smart move by Facebook: if this technology was used on Facebook, then they might have to shut down half of Facebook. Better to buy them out.

<comment><USER29> Possibly, but they could also choose to enforce copyright claims on people who can pay. Or maybe facebook just doesn't care about my meme pages and wants to purge them so I spend more time looking at branded content.

<comment><USER30> The porn industry has been doing this for a while. I remember about 4-5 years ago were services available to content producers that scanned tube sites and newsbins for copyrighted content. You had to pay for it though (SaaS, they wouldn't sell the code). It was somewhat of a racket, because the people selling the detection service were also running the tube sites that were condoning piracy.

It's amazing how the porn industry is often on the front line of technology. They rarely get any notice though.

<comment><USER29> Does it predate content ID on youtube? I suppose the difference with ContentID is that it's free to file a claim and it's limited to youtube and not multiple tube sites.

</comment></comment></comment></comment></comment></comment><comment><USER31> Another entry for »Our Incredible Journey«

[https://ourincrediblejourney.tumblr.com/](https://ourincrediblejourney.tumblr.com/)

</comment><comment><USER32> It looks like it's a system similar to contact ID. I hope this helps slow down all the free booting.</comment>


Why I left Google (HN search results) - <AUTHOR> https://hn.algolia.com/?query=why%20i%20left%20google&sort=byPopularity&prefix&page=0&dateRange=all&type=story <comment><USER3> Tldr politics, glass ceilings, re-orgs, purposeless/abandoned projects. As a former Googler, I can see why people post these: internally Google is hyper- evangelized as the best place to work ever (why would you work anywhere else). When leaving, its a necessary step to form a good argument for yourself as to why you've decided to go against the culture. The personal spin makes it an interesting read.

<comment><USER4> Yeah I've been at Google a decade and I strongly don't agree with the notion that it's hyper evangelized as the best place to work. In official communications, yes, but I think most people here are aware of the drawbacks and problems. Maybe even a little too aware. Internal lists are rife with the discussions of even the slightest deviation from perfect execution on the part of management, product teams, the culture, etc. That's not to say there's no one here with rose tinted goggles, but I think most people have their eyes open.

<comment><USER5> When I interviewed with Google, the over-the-top "Google is the best place to work evaaar" attitudes I got from the majority of people I interacted with gave me the distinct impression that it was like some bizarre cult. Most of them were so green they likely hadn't had any other job, so were unlikely to be able to know how silly they appeared to me (having worked for several companies in very different fields).

<comment><USER6> What recruiter has ever said "This is just an ok place to work?"

Every job I've had the people I've interacted with in recruiting/interviews have all been very positive about the company.

<comment><USER5> There are degrees of enthusiasm and positivity. Everywhere else I've interviewed, people have been relatively positive since they want to sell the company to you and give you a good impression. At Google, it was way beyond that. I think cult-like is a good take on it; it was frankly a bit creepy and weird.

And as for the "recruiters", they didn't really try to sell Google at all. I think they assumed that the Google name was sufficient reason to want to work for them. (It isn't, or at least was not for me.)

</comment></comment></comment></comment></comment><comment><USER7> When I worked at Aflac, it was the largest civilian employer in Columbus, GA. It had the tallest building in town. If I made small talk while getting a haircut or buying lunch in town, people would ooh and aah that I had a job there. This was a little funny and surreal because I could not get promoted out of my entry level job. I felt like a loser, yet here were people acting like _I 'm not worthy_.

When I quit, I left town and began doing freelance work. If I had stayed in town or transferred to a different job at a smaller company, I might have felt compelled to justify my decision to leave. I probably would have gotten a lot of social push back and inquiries as to why on earth I would do such a thing.

I imagine most of these posts are written partly for that reason. It cuts back on being asked in the first place and then you can email the link the next 20 times you are asked. Plus, it is free therapy, among other things.

<comment><USER8> I think this is accentuated because for a lot of people, when you move across the country right after college to work at a big company like Google, it _becomes your life_. Early on, you don't know anyone and you spend way too much time working because that's what you do when you're fresh out of college new hire in a new town. As time goes on, most of the friends you make are friends from work and even if you get a pretty healthy work-life balance, a lot of your free time is spent hanging out with your friends from work.

So when the time comes for you to leave the company, you aren't just leaving the company, _you 're leaving your entire life_. It's the life change of leaving your job, getting divorced, and moving to a new town all rolled into one: it is one of the most significant events in your life, and you _can 't_ not think about it and try to understand it and explain it to other people.

<comment><USER9> The whole "work is life" thing is pretty weird, and I'm ambitious. Life has lots of interesting things that have nothing to do with JavaScript, why would you waste your youth on yet another JS framework?

I somewhat regret the large amounts of time I put into my side projects when I was young (20s). They definitely produced results in my career, but I'm uncertain if they provided _that_ much of a boost. From my vantage point, you can get along quite well by latching on to a bandwagon and networking, rather than working so hard.

<comment><USER10> When did we stop doing side projects for yourself? If you are not doing side projects for fun of it then something is wrong. No one should feel they have to do a side project.

<comment><USER9> I still do side projects, and they were always for fun.

But I regret the proportion of time spent.

</comment></comment></comment></comment></comment><comment><USER11> There was a tool at Google called 'percent' that you could run that would tell you what percent of the employees had joined Google after you (some measure of gravitas was associated with people who had been there 'a long time'). It was not surprising that Google hired a lot of people, there were like 50 people in my 'noogler' class. But the number of people reported as working at Google did not go up at a similar rate. When you did the math it was pretty clear there are many people who spend a relatively short amount of time there.

As a result I'm a bit surprised that there aren't even more of these stories. At lunch one day the topic came up and we joked it would be interesting if engineers could earn medals (similar to the ones in the military) for each company they worked for. It would make for an interesting fashion accessory.

<comment><USER12> _It would make for an interesting fashion accessory._

Best available alternative: wear tshirt from company A with jacket from company B and backpack from company C

<comment><USER11> Ooh I like this idea, and I think I can pull it off with all dead companies, making for a dead company terducken :-)

<comment><USER13> Don't forget to put in a sign "I didn't kill these companies." ;)

</comment></comment></comment></comment><comment><USER14> On a somewhat related note, I have found Algolia to be an effective way to search for popular stories that got flagged. Once or twice a day I go to hn.algolia.com and view popular stories for the last 24 hours. This is also an effective way to review popular stories for the last day, whether they got flagged or not. Since Algolia is using a much simpler ranking than the Hacker News front page, you get a much more stable view, which is a nice alternative to submissions flying up and down on the front page at various speeds.

<comment><USER15> I've been using [http://hckrnews.com/](http://hckrnews.com/) for the last few months.

It surprises me how many interesting stories get flagged off the front page.

Edit: beaten by softawre

<comment><USER16>
      beaten by softawre

That's going on my tombstone...

</comment></comment></comment><comment><USER17> I'm curious to see what kind of discussion this generates before the HN mods inevitably kick it off the front page. Most of these links seem to be of employees who quit, but I'll add my article as a user who quit:

[https://drewdevault.com/2016/11/16/Getting-on-without- Google...](https://drewdevault.com/2016/11/16/Getting-on-without-Google.html)

<comment><USER18> Not using google is much simpler then it sounds.

\- iPhone

\- DDG

\- Firefox/Safari

\- Some other email then google

That's pretty much all you need.

<comment><USER19> A coworker uses DDG and each time we are talking about a problem at work (software development) and need to search something, I am disappointed by the lack of good results and make him use Google instead. It is currently 5 - <USER2> for Google if I recall correctly.

I would switch in a heartbeat if the results were comparable. Every time I've given it (or Bing) a shot for a few weeks, Google was simply better.

<comment><USER20> Use "!g" to have DDG send the query to google. You get the results you want without the tracking.

<comment><USER21> Interesting. Is it just me or shouldn't that be the default functionality? An added benefit is that DDG can then see what result the user picks, compare than to how well (if at all) DDG ranked that link.

<comment><USER22> !g redirects to google.com, so the results are not displayed or anonymized by DDG. If you want Google results without Google tracking, check out startpage.com. (!sp in DDG)

</comment></comment></comment></comment></comment></comment><comment><USER23> "First, I do not sit down at my desk to put into verse something that is already clear in my mind. If it were clear in my mind, I should have no incentive or need to write about it. We do not write in order to be understood; we write in order to understand."

― Cecil Day-Lewis

</comment><comment><USER24> > _Why I left Google for a Bitcoin startup - 4 years ago - 0 comments_

> _404 page not found_

<comment><USER25> It's here now: [https://www.digitaldrex.com/single-post/2014/07/08/Why-I- lef...](https://www.digitaldrex.com/single-post/2014/07/08/Why-I-left-Google- for-a-Bitcoin-Startup)

<comment><USER26> Wouldn't it be nice if there were some "Previously-Known-By" HTTP header or meta tag? This way, upon seeing an NXDOMAIN or a 404, browsers could ask $SEARCHENGINE, "Hey. Find me any page advertising that it was previously known by $URL", and browsers could then offer to redirect the user to that new location.

<comment><USER24> Going the other direction is fairly easy, if you retain control over the original page, you can help people/search engines find the new page via the following:

* Meta refresh tags: `<meta http-equiv="refresh" content="0; url=[http://example.com/"](http://example.com/") />`

* HTTP Status codes `301` and `302`

* Canonical link tags: `<link rel="canonical" href="[http://www.example.com/"/>`](http://www.example.com/"/>`)

<comment><USER26> Of course the other direction is easy. I'm talking about COME FROM, not GO TO. :-)

<comment><USER24> Agreed. However, in this case they still own the domain, so GOTO is the way to go.

In fact that's the rub. If they still have access to the original page's location, then GOTO makes sense. If they don't have access, then how do you know you're getting what you hoped for?

What happens if I say I used to be [https://google.com](https://google.com), and then through some disaster the Google homepage is inaccessible for 3 seconds? That's a lot of users that just filtered down to my potentially malicious site, no matter how low the conversion rate.

If the web was still a network of documents, I think something like what you're suggesting would be a lot more viable, particularly with hashing and signatures helping do the heavy lifting.

But as an application delivery platform that still looks and pretends to be a network of documents, suddenly that carries a lot more risk.

<comment><USER26> I thought about that. Making the "COME FROM" redirect a deliberate, explicit user action might help. ("Google.com is down. h4x0rz.ru claims to be its successor. Go here? [Yes] [No]".)

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> I incidentally made the same search yesterday because I had the same question regarding the _tone_ , in light of how the most recent viral post ([https://news.ycombinator.com/item?id=16220666](https://news.ycombinator.com/item?id=16220666)) utterly slams Google.

Unless there's corporate malfeasance, it's counterproductive in the long run to talk so badly about a former employer, especially on a forever-archived blog post. Even if it does feel good to let out pent-up thoughts.

When I wrote a blog post about leaving Apple ([https://news.ycombinator.com/item?id=14270897](https://news.ycombinator.com/item?id=14270897)), I made a conscious effort to be objective with the rationale why I left (to grow my technical skills), and not emotionally judge Apple as a company (I still strongly support Apple).

<comment><USER28> When Yegge made his infamous platforms rant, he was clearly hoping to convey (internally, to other Googlers) important criticism on Google's mistakes, which is a _productive_ conversation to have. I have seen a lot of tweets in particular from Google employees that can only be described as 'butthurt' regarding this blog post... but if, with any luck, the right Googlers read his post, with a little self-reflection, "slamming" Google might be good for Google. Because like any other company, Google _could change_ , and could improve.

And this is hardly a slam, he still specifies that he believes it is basically the best place to work, and his follow-up post provides a bit more context to the main quote from the previous blog.

</comment></comment><comment><USER29> Contrast this with: "Why I joined Google"

[https://hn.algolia.com/?query=why%20i%20joined%20google&sort...](https://hn.algolia.com/?query=why%20i%20joined%20google&sort=byPopularity&prefix&page=0&dateRange=all&type=story)

</comment><comment><USER30> If you do the same for Facebook it's all users no longer using Facebook rather than employees no longer working there

<comment><USER24> That's because Facebook is a network and you leave networks. Google is a set of services and you quit services.

<comment><USER31> Yeah, when you leave Facebook, you're leaving a lot. You're not just stopping using a piece of software, it's more like you're giving up relationships, you're giving up a piece of your social life. For better or worse, you're probably going to miss _something_ when you stop using Facebook, so there is a tradeoff that needs to be made. You're changing your social contract. It's a big deal.

Meanwhile when you stop using Google products... no one notices. No one cares. It's a completely personal decision. I stopped using Google products one by one when I found competitors I liked better and absolutely no one knows and no one asks because no one cares. I can still email Gmail users and they'll never know. I can send someone an address that I got from Apple Maps and they can open it in Google Maps just fine. If they send me a Google Maps link, I can open it in Google Maps because I don't need an account and a profile and a friends list first. I can use Bing or DDG and no one notices.

It's a really big deal to stop using Facebook. It's a really big deal to stop working at Google. In both cases you're losing some part of your social identity. Not the case when you're stopping using Google products.

<comment><USER32> I don't miss a thing from quitting facebook, and despite how addictive the damn thing is, it was easily done and my quality of life increased in obvious ways. Potemkin relationships are not relationships.

<comment><USER33> Can you (or anyone reading) elaborate on details of how you did it? I'm surgically shrinking it and it's caused a good amount of turbulence... removing without communicating, and communicating removal are both difficult. The latter is probably better. But my ears are open for solutions.

I disabled posting to my wall for example, so on my birthday people struck up conversations instead. I anticipate I'll have it open for a while longer, but I'm removing people as we establish side channels so-far. I never added strangers but I'm not attached to everyone, like single conversation partners (I originally typed friends, haha, deprogramming).

<comment><USER32> I told everyone a week or two before I quit I was gonna quit. Those who wanted to keep in touch had a way to do so. Those who didn't, I don't care about. Downloaded my data, deleted my account, and moved on with life. I think 1-2 people didn't get the memo and didn't read my blog (I blogged about it) and sent me an email wondering WTF. I do have close friends I primarily keep in touch with using online tools; those talk to me on skype or equivalent.

</comment></comment></comment></comment></comment></comment><comment><USER34> My favorite is Eric Schmidt leaving after [https://www.nytimes.com/2017/08/30/us/politics/eric- schmidt-...](https://www.nytimes.com/2017/08/30/us/politics/eric-schmidt- google-new-america.html)

</comment><comment><USER35> It was actually interesting to read some of these. Most of them seemed to have really been turned off by the culture or the morals of what they were / are doing.

</comment><comment><USER36> Interesting, there are 39 pages for "why I left" vs 8 pages "why I joined". This is because bad news are always more popular, I suppose.

<comment><USER37> Or the reasons for joining are obvious and not interesting.

<comment><USER38> And have been since the beginning. The relevant XKCD [0] is from 2006.

[0] [https://xkcd.com/192/](https://xkcd.com/192/)

</comment></comment></comment><comment><USER39> You are focusing on the loud minority and ignoring the silent majority.

<comment><USER40> Maybe it's just that it's interesting and useful to look at why folks have left a workplace that is otherwise hyped up as the best place to work in the industry. We hear plenty about Google being a great place to work. We don't hear so much about why people move on from it.

<comment><USER39> Most people who leave Google also do so silently, and for same reasons as people leave other companies -- retirement, health, politics, better pay.

It's those who choose to trumpet their cause get the most attention though, and it is representative only of their personalities, rather than the workplace.

</comment></comment></comment><comment><USER41> It almost makes me want to write an article that says "why I have zero interest in working at Google"

<comment><USER42> With all due respect, it sounds like your article would be full of pre- conceived ideas since you have never worked at Google. At least those who _quit_ have lived it and know for themselves. (And someone else's experience might be quite different if he had been in that person's shoes.)

<comment><USER41> Well, this is where you are wrong. I have worked in the core team at several multi-billion dollar companies (e.g. Microsoft, NVIDIA, etc) and have received job offers to lead teams from other similar companies (including the one you mention and one of their fiercest competitor).

With all due the respect, your assumption that it would be full of pre- concieved ideas is simply wrong. I just have anti-bodies that fully reject the Kool-Aid and the cult-level fanboyism that is so common around these companies.

<comment><USER43> So, you indeed have never worked at Google.

</comment></comment></comment></comment><comment><USER44> Regardless, I think working at a mega-tech-corp like any in the valley are immensely important. It shows you immediately that software is built by bureaucracy. Many large projects are in fact built that way; you have to collaborate with many teams.

</comment><comment><USER45> "Look at me Look at me!!!"

<comment><USER46> "Look at me I am old but I'm happy"

[https://youtu.be/yJDHkjXBtcU](https://youtu.be/yJDHkjXBtcU)

</comment></comment><comment><USER47> Lots of people here talking about what it is like to work at Google or other companies.

I am puzzled that nobody is talking about the author's claim that Google has lost the ability to innovate and is not focused on users any more. Is he right or wrong?

</comment><comment><USER48> Would this be useful to analyze the posters' sentiments and reasons while knowing what products / divisions they worked on / for and their position at G?

</comment><comment><USER49> Wow, there have only been 74 recorded instances of people leaving Google. Some even two or three times! /s

</comment><comment><USER50> nice plug

</comment><comment><USER51> As if anybody would disclose the _actual_ reason why they have left Google...

<comment><USER52> I would imagine a company like Google would have the foresight to include clauses in their NDA that forbid former employees from including the kind of specific and substantive reasoning for their departure that the public might actually find interesting. Not to mention a severance package goes a long way as far as taming that salty post-employment flavor. Oh, and there's the small matter of fact that they tend to pay well. I can only assume these factor into a lot into the standard reason being, "it's kinda personal but I felt like I'd be happier doing something different." Wow, what a revelation...

<comment><USER53> Man, I wish they actually offered departing staff severance and an NDA. Maybe if you're a VP. I know VPs who get booted out for sexual harassment get to keep their stock.

<comment><USER54> Sex harassment cases are hard to prove it's often a case of he said she said and hr (and the employee side) have to be very careful to be scrupulously fair and not jump to conclusions.

So its often easier to settle - this is true for those harassed being brave enough to go public and possibly be cross examined by a £2k a day barrister is a nontrivial thing to do.</comment></comment></comment></comment>


New social networks invent twists to stay in game - <AUTHOR> http://www.thestandard.com/news/2008/08/06/new-social-networks-invent-twists-stay-game

<comment><USER2> Why are more people not discussing the importance in regionalized social networks? I mean that seems to be even what Google is now focusing on. More niche or more geotargeted which one comes first? Which one has more potential? social network for chicago or social network for firemen? Any thoughts?</comment>


Average age of Lisp learners? - <AUTHOR> http://www.lispforum.com/viewtopic.php?f=20&t=718&start=10

<comment><USER2> I'm 35 and I'm learning Clojure these days after many years on Java and web programming (JavaScript and now mostly Groovy and Grails). When I was on the University I had one class which included programming in Scheme. I absolutely hated it at that time, so I skipped it completely. Now I regret it :-) ... Clojure is a good alternative for me, feels much closer to what I already know (JVM-based languages).</comment>


Never Charge for a Mobile App (and Other Freemium Lessons From VCs) - <AUTHOR> http://gigaom.com/2010/05/19/never-charge-for-a-mobile-app-and-other-freemium-lessons-from-vcs/ <comment><USER2> It should be:

"Never charge for a Mobile App if you want to get VC investment."

Of course, if do charge (perhaps the Lite/Pro model) for a Mobile App and it becomes very successful, then VC's will come knocking anyway.

It's funny how the blogger-type VC's all seem to follow the same path. It's quite an echo chamber they live in.</comment>


Got a TradeMark?  Register it On FaceBook in Advance to the 13th - <AUTHOR> http://www.facebook.com/help/contact.php?show_form=username_rights

<comment><USER2> It has to be a registered trademark, not just a trademark.

<comment><USER3> Incidentally, I am now offering trademark registration for the low, low price of 1 upmod.

Post a comment, and I will give you a unique registration number... or you can just pick one yourself.

</comment></comment><comment><USER4> The aliases are great, but Facebook is promoting a goldrush mentality that will lead to squatters and lots of unhappy people.

I also don't like the way that journalists are being paid off with advance, special access. It's certainly going to up the fluff content of future stories about Facebook and its founders and senior execs:

[http://www.techcrunch.com/2009/06/10/facebook-vanity-urls- jo...](http://www.techcrunch.com/2009/06/10/facebook-vanity-urls-journalists- dont-have-to-wait-in-line/)</comment>


Pledgecamp Selected as Initial Service Partner of Klaytn - <AUTHOR> https://medium.com/pledgecamp/breaking-news-pledgecamp-selected-as-initial-service-partner-of-klaytn-aa85ae707a59 <comment><USER2> would be curious to see what was the main reason behind this partnership</comment>


Heymail | A visual essay on email interaction by a berlin based product designer - <AUTHOR> http://heycuchi.com/heymail/

<comment><USER2> Awesome idea! Looks lovely.

<comment><AUTHOR> Thanks man.. :)</comment></comment>


Ask HN: Anyone want my Haskell and Lisp tutorials domains? - <AUTHOR>

LearnItFirst.com (my startup) owns LearnLisp.com and LearnHaskell.com. We originally had planned to develop courses around these but plans have changed. If you want them, drop me a note (email in my profile). I paid $20 apiece for them so I'll sell them for the same.<p>I'll only sell them to someone who is active in the Lisp and Haskell communities; I'd rather renew them than have them go to some domain search spammers. These domains will auto-renew on Feb 21 and, if they do, I'll just hold on to them or sell them for $30/ea. <comment><USER3> Very generous offer. I'd expect both of them can become somewhat valuable once they have some content and a bit of SEO.

I'm curious, though, why don't you just aggregate some content on to them? Perhaps throw up a blog or two, some Google Ad's and Amazon links? It doesn't take that much work once you have the implementation in place. (Okay, it would be hard for ME to maintain it, but that's because I have an attention span of a goldfish when it comes to writing)

I'm not active in either of the communities, so don't see this as an application. :)

<comment><AUTHOR> Well, for starters, I don't know the first thing about Lisp or Haskell - <USER2> bought the domains because (a) we do training on technology, and (b) it was during a time in which we were having separate domains/websites for each technology (now we just have learnitfirst.com). So I wouldn't be able to do anything with it from a content-perspective. In the end the amount of time I think I would have to spend on it to make it not suck would not be worth the amount it would make!

I'd rather these go to someone who would be active in the community who could help others.</comment></comment>


Inspired by JS1K.com I decided to create a simple JavaScript todo in 1kb - <AUTHOR> http://uzip.org/1kbtodo <comment><AUTHOR> I wanna reduce the size... please give me some suggestion.</comment>


Ask HN: When to put a language on your resume - <AUTHOR>

I am new to programming and wanted to know, at what point is it exceptable to put a programming language on your resume? How much experience, projects, time would you suggest? <comment><USER2> What I do is to put a skill rating along with every technology on my resume to ensure that nobody gets the wrong idea and so I can quickly shut down any misunderstandings that arise.

For instance, I used PHP about 5 years ago for my first paid programming project, and have not touched it since. It's equally untrue for me to leave PHP off my resume (implying I have no experience) and to put it on unqualified (implying I have recent experience). I simply rate myself low (I think I'm a 3/10) and explain what that means if anyone asks. That way I can list everything I've worked with and would consider using again while bypassing any mismatched expectations early on in the process.

I've heard of some "standard" rating schemes, particularly one that Google uses, but I don't recall them off the top of my head.

<comment><USER3> "Standard" is the key - I've seen more candidates who overrate themselves than underrate...

"Years of experience" isn't a great indicator either. The language I'm most proficient in today is the one I learned most recently.

<comment><USER2> Fair point, and I agree that years of experience is thinly veiled bullshit. It only gets perpetuated because people don't know exactly what they need employees to do. Life would be much easier if job listings said things like "you need to be able to work with Python with access to other engineers for help" or "you need to have encyclopedic knowledge of JVM options, internals and optimizations" instead of crap like "Python - 2-3 years", "Java - 10+ years" which don't really say anything but filter out candidates needlessly.

To your under/overrating problem, I think that's where ?'s have to come into play. Someone who ranks themselves very highly needs to be able to back it up, and it's your responsibility as an interviewer to get appropriate people to do that vetting if you can't. Someone who rates themselves as a 10 with Solaris, for example, needs to be vetted by the best damned sysadmin you can get. Someone who rates themselves as a 3-4 can probably be comfortably vetted by an experienced engineer.

I try to knock myself down roughly a point off where I think I ought to be, and I've found that works well in interviews. For instance, at my second job interview (after only a six month internship), I was asked "on a scale of 1-10, how do you rate yourself as a software engineer?" I replied that I rated myself a 2-3, but I considered 10 to be an engineer with a world-class reputation like Steve McConnell or Steve Yegge. Compared to the people with my experience, I rated myself an 8, but I recognized that I had a long way to go.

Humility works well if you make it sound rational and not just like kow- towing.

</comment></comment></comment><comment><USER3> I'd only put a language on my resume if I was prepared to answer questions on it in the interview. It doesn't help you or the interviewer if you mention a language you hardly know.

Likewise, you could omit languages that you know well but don't want to use in your job.

</comment><comment><USER4> I think that's an excellent question and I'm interested to hear what other people think.

I'm the kind of person who picks up languages for fun, so I learn a new language pretty fast. So, I'm usually willing to say I have "experience" in a language I've dabbled in (and done a couple projects solely for the purpose of learning the language); if I need the language for the job, I know I'll be able to handle it just fine thanks to Google.

A CV with a million niche languages on it looks ridiculous, however, so I try to tailor the list to what I think would look good to whoever's reading it: enough languages that it looks impressive, but not so many that they question whether it's possible or not.

I would only recommend doing this if you have sufficient programming experience and a firm enough grasp of fundamentals to be able to pick up new things quickly, however. Also, this assumes that you know enough about the language that you can discuss it intelligently.

</comment><comment><USER5> I've found I take _off_ languages from my resume as I get more experienced, because the bar to put one on grows. Instead, I add experience, and often mention what languages I used on a particular project with the project itself. Let them judge whether that means I actually know the language.

I've found that playing skill-bingo usually results in lower quality potential employers anyway...at this point in my career, I'm looking for people who want to hire me because I can ship finished projects, whatever the language, and not because I know Java or C++ or Django or JQuery.

</comment><comment><USER6> Your resume, along with your cover letter, needs to be relevant and tailored to each individual business you send it to. You should never have a "generic" resume to send. If the business your applying for is looking for java programmers, you need to put any relevant information that pertains to the java world, like work experiences, and what frameworks you use.

They don't need to know about how you know python, lisp, or whatever. In fact you are more than likely wasting their time. You literally get 10 to 20 seconds of time to shine in your resume - because thats the normal time it takes for a hiring manager to scan your resume. These people get a ton of resumes, so don't waste what little precious time you have.

</comment><comment><USER7> Maybe when you're mentioning your projects, mention which languages you used. That way interviewers can see what sorts of things you've done with the language. Haven't done anything cool with it? Probably not worth putting on your resume.

</comment><comment><USER8> Aha, a time to put forward my personal mantra about when you "know" a particular programming language. It is not perfect, but it is more meant to be thought provoking. It is:

"You only know a language when you know when not to use it"</comment>


SaaS Weekly - <AUTHOR> http://hiten.com/

<comment><USER2> An rss feed would be nice

<comment><USER3> That wouldn't get you on their mailing list though, would it?</comment></comment>


LineageOS Android Distribution - <AUTHOR> https://lineageos.org/ <comment><USER2> LineageOS is great, my one complaint is that it is almost never available for the phones I own. You basically have to get phones according to their popularity in a certain subgroup: for example currently one HTC model and two LG models are supported, but close to everything from OnePlus.

I know I can get unofficial builds, put apart from the sometimes quite severe missing features (calling or camera not or only partially working) I don't want to trust random people on a forum to provide a build of an OS without including malware. It just looks like a prime target for all the intelligence services of the world, and a nice target for hackers. With official builds there's at least some accountability somewhere to mitigate this.

<comment><USER3> > I don't want to trust random people on a forum to provide a build of an OS > without including malware

Why is it some communities still work like this? With Android dev, sometimes there's even some source on GitHub, but still a forum post is the main place to find the latest version, with the actual download from some questionable- looking download site. If you're lucky they include sha hashes at least.

I've installed a handful of custom ROMs on 3 or 4 devices - most recently resurrecting my old TF101 to run modern Firefox - but I don't think I've ever seen anything like an automated build for one of these. Really, many don't even post source code.

Is there anyone doing this type of Android dev in a "modern" best practices way like most other open source (public git, CI, maybe issue tracker and pull requests)? Why doesn't this catch on more?

<comment><USER4> Becauses the cost of doing a CI of Android is astronomical. (Especially for students)

For my own ROM [1] I spent days and a hundred of euros optimizing the cost of building by trying various cloud providers (fwiw my current best spot is scaleway GP instance with 600GB local SSD). As of today, I'm still at 6€ per builds (For standard ROM devs, that should be cut down to 2€ I'd say). There is simply no way I can afford a CI. (well if someone wants to give me money for that, please do!) I do my best to isolate components and have at least some kind of CI where I can, but that's hard work (And doing CI is my day job, and I consider myself rather good in it)

Even android's own CI is very far from what you'd call a modern CI. They basically just build master once every hour and pray for the best, and let the build cop fix that. They do have a mechanism where they try to build CLs in batches, but "try" is the keyword.

[1] [https://github.com/phhusson/treble_experimentations/wiki](https://github.com/phhusson/treble_experimentations/wiki)

<comment><USER5> What's the expensive bit? Can't you rent a server and build on that?

<comment><USER6> Sure you can, for 20+€/mo if you want your builds take less than a day. That's still astronomical for the enthusiasts compared to struggling to build on their own PCs.

<comment><USER5> Ah, I see, that's too bad.

</comment></comment></comment></comment></comment></comment><comment><USER7> Been using lineageOS 16 on my OnePlus phone for years.

LineageOS has allowed me to use my perfectly fine phone much much longer than the normal upgrade cycle. And this has saved me money.

More importantly my phone remains in use rather than being thrown away and a new one purchased saving about 4 phones from landfill (my guess based on a 2 year upgrade cycle).

Apple with all their environmental goodness claims locks their phones down from both custom rooms and from re-use after donation. Most donated phones have an iCloud lock with no way to contact the previous owner to request an unlock,

<comment><USER8> > LineageOS has allowed me to use my perfectly fine phone much much longer > than the normal upgrade cycle. And this has saved me money.

OnePlus actually does a pretty fine job of supporting even their "older" models. The OP3 and OP3T were running up-to-date "stock" OS's not too long ago.

<comment><USER9> The third OnePlus model is an old one now?

I remember the first one coming out (and haven't kept track of how many there have been) but I honestly don't think I do anything that needs more than what the first one would give me.

(I actually have a Motorola One, which is on the 'Android One' mostly-stock long-term upgrade committment, and was about £150 new 18mo ago? £100 phone or less would be plenty powerful enpugh, I just paid a bit more to know I'd get the upgrades, and thought the fingerprint reader might be useful. (It is.))

<comment><USER10> I still have my OnePlus One as a spare phone. I can confirm the only missing feature is a fingerprint reader. Photo and video quality are fine, power is more than necessary, battery lasts long enough...

<comment><USER11> I'm still using my OnePlus One as my phone. A fingerprint reader is really the only thing that tempts me to move.

</comment></comment></comment></comment></comment><comment><USER12> LineageOS is very nice, also because it gives you the same experience of different devices. You know that it will be easy to have root, you know you won't have to learn again where every menu is, you don't expect too many surprises.

I had a Fairphone 2 before and I used LineageOS on it. Then I decided to change it, got a second hand OnePlus 5, installed again LineageOS and it's just the same thing, except the phone is faster and doesn't have a few hardware bugs.

I actually choose the OnePlus also because all OnePlus models seem to be well supported by LineageOS, which is probably related to the fact the OnePlus releases quite a lot of things as open source[1] (another good reason for the choice). On top of that, it seems to have a good quality/price ratio. I am quite happy of the choice.

[1] [https://github.com/OnePlusOSS](https://github.com/OnePlusOSS)

<comment><USER13> A significant aspect of the Lineage OS support on OnePlus devices is the vendor support for development.

</comment></comment><comment><USER14> I have used CyanogenMod, and later LineageOS, for quite some time and was pretty pleased with it.

The problem is it seems to be past its prime. It dropped support for mainstream phones more and more and is currenly limited to either very old handsets or rather exotic manufacturers.

The most recent Samsung S series they support is from 2014, almost six years ago. CM and LOS were also popular on the Nexus 4 and 5, these were completely dropped as well and even the successors do not have a recent Android version at this point.

All of this coupled with long delays of moving to the most recent Android version. Many phone were still on Nougat LOS, when there was already Pie.

<comment><USER15> I think that's just because stock ROMS have become good enough that we don't need custom ROMS; except for purposes like de-Googling your phone or removing stuff installed by your OEM.

<comment><USER16> Custom supported roms will continue to get security updates whereas oem roms get updates for maximum 3 years since phone release.

From a security perspective, custom roms are still worth it.

<comment><USER17> Except that a huge chunk of Android CVEs I've seen are related to vendor code which does not get updated in custom ROMs either.

And those are the painful ones, since drivers have kernel access. The security situation on Android is really less than ideal :/

<comment><USER18> That's concerning if true. Do you have a source?

</comment></comment></comment></comment></comment><comment><USER19> LineageOS was great a few years ago when I used it with my older Nexus devices, but it doesn't seem as maintained nowadays. There's no images for the newer Pixel devices and no Android 10 support, which is a huge shame.

Magisk/stock is what I've been using of late.

<comment><USER20> I'm running LOS 17, which is Android 10 on a Sony XPeria Z3 Compact (!!) without issues (though it requires open g apps nano for GPS to work) :)

<comment><USER21> Had a similar issue with GPS on LineageOS 16. Setting the GPS mode to 'Device only' fixed it for me. My guess is the other settings have a hidden dependency on Google Play Services, causing GPS to silently stop working if Play services isn't available.

</comment></comment></comment><comment><USER22> I just wish that LineageOS just picks couple of devices that they can support. So, me as a "not highly technical" user can just buy that specific device. The current at [https://download.lineageos.org/](https://download.lineageos.org/) where they list every device is confusing and hard to track which is the phone most are working on. Pick one and work on it. With enough people using it, hardware makers will have a strong case to sell device that is "Lineage OS compliant" even if it's shipped with Android.

Like how GrapheneOS has focused on Pixel 2 and Pixel 2 XL.

<comment><USER23> Oh for the love of god please no. Please don't narrow down the focus on 1 or 2 high end devices and neglect the rest just because a small percentage of people can't be arsed to read the documentation.

LineageOS is an hacker/enthusiast thing, it will always remain niche regardless of how easy to use you make it.

</comment></comment><comment><USER24> I currently use a Galaxy S8+ and it still works perfectly fine. However, it isn't compatible with LineageOS. I know that the next phone I purchase LineageOS compatibility will be a prerequisite.

</comment><comment><USER25> I adore LineageOS and official support has now become my #1 factor in choosing a new phone. I've been running it on my Oneplus 5T which was already two generations behind when I bought it and there hasn't been a single day in over a year of ownership when I thought it wasn't fast or responsive enough. It's incredibly stable, there's no bloatware, and I get updates every night, which means I'm always on the latest security version.

If this thing ever breaks or dies I'll probably get a Zenfone 6 (I recall Asus actually openly distributed kernel sources with the express purpose of helping out the open source ROM community) and I'm excited to see how LineageOS runs on that.

</comment><comment><USER26> Samsung S5 and... nothing newest?

Also from my past experience: LineageOS don't care about privacy, Google DNS & internet connectivity checks points to Google servers; probably the telemetry works too.

About quality: very different results, highly depends from device. In mostly cases - camera apps quality is horrible 'cause vendors doesn't provide any code.

<comment><USER27> At some point Samsung started locking down their bootloaders I think. Device support is based on whether/how many people volunteer to own that branch, so it's based on general demand. Last I checked OnePlus made the best Lineage devices, although with all the recent China stuff you can decide whether you're comfortable with having even firmware from a Chinese company.

I don't know about the DNS, but Gapps don't come preinstalled, so I'd be surprised if it sent telemetry to Google by default. Either way, I'm sure it's possible to disable/redirect those things.

As for privacy in general, they offer a pretty unique feature that allows you to forcibly block granular app permissions after the fact, after granting them for the install. Because this isn't iOS it'll break some apps that don't handle it gracefully, but it's nice to have the option.

But yes, if you're trying to run Android in a privacy-minded way at all, you'll be making some sacrifices.

</comment></comment><comment><USER28> I remember a ROM distribution similar to this, where the maintainer/company also sold used phones with it preinstalled. I thought it was LineageOS, but looking at the LineageOS site I'm definitely remembering that wrong. Does anyone know the name for what I'm describing?

<comment><USER29> You may also be thinking of CopperheadOS ([https://copperhead.co/](https://copperhead.co/)).

</comment></comment><comment><USER30> Also check out /e/ for other device support and better privacy. The device list is at [https://doc.e.foundation/devices/](https://doc.e.foundation/devices/)

</comment><comment><USER31> iPhone user here. Increasingly curious about Android. If I installed LineageOS on a pixel3a, how much information would be going to google by default? How easy is it to avoid google altogether?

<comment><USER32> If you want to have a working phone, you need google apps (Google Maps, Google Play Services (used for many apps' notifications, location, analytics, etc.), Google Play Store, YouTube app). The Open Gapps project packages these nicely for use with LineageOS, but installation is janky (download a .zip file, install it using TWRP). note: despite being called "open", Open Gapps are proprietary, but packaged using open source software. Using LineageOS in this way is the sane/easy default that most LineageOS users probably choose. Using this method, you must sign in to google play services to install or update apps through the play store. Google play services includes a google analytics api, a a device registration program that generates an advertising id (so does iOS), Google also collects location data associating Wi-Fi hotspot with GPS coordinates (so does iOS). I'm not sure of the full extent of what info google collects, but it is probably substantial, and most probably happens through google play services. You could dodge this tracking by not logging in to Google Play Services and using a play store replacement like Aurora Store or Yalp (play backwards).

Another option is to use microG, a derivative of LineageOS that re implements parts of google play services with open source and throws out the rest. YMMV, but I have used it and my phone worked, excepting some apps' notifications because they use google cloud messaging. I never signed in anywhere with a google account, but I did have google maps installed (I haven't found a good replacement on Android). Google probably got rather little info from me, but they did get my location sometimes.

<comment><USER33> Or you could just install F-Droid.

I agree that most people probably need Google Play because the apps they use aren't available anywhere else.

But then again most people probably don't have the skills to install LineageOS to begin with.</comment></comment></comment>


Ask HN: Would you see value in a "verify email" API? - <AUTHOR> I have an app in the Windows Store (haha, I know). It uses some 3rd party APIs but does not have a server-side backend of its own (technically it does, but for the purpose of this question let's say it doesn't).
In the app, the user enters their email address and payment information. Before processing their payment, I would like to verify that the user actually owns the email address that they entered.
Of course the popular way of doing this is to send the user an email with a link that they have to click. To continue the trend of not maintaining my own backend, it would be nice to have an API that does this for me.
The basic functionality would be as follows. For simplicity, I'll refer to this hypothetical thing as "the API."
1. App sends an email address to the API. 2. The API sends an email to the email address.
3. User clicks a link in the email, taking them to a simple "thank you"-style page at the API. 4. The API marks that email as verified. 5. App makes another call to the API and sees that the email is verified. Done.
Same could apply for SMS, I suppose. There seems to be a wealth of email verification services that focus on bulk validation of MX records and things like that. But I don't see anything like this.
Would this be valuable? Too niche? Already exists and I can't find it?
Would love your thoughts. Thanks! <comment><USER2> How about a simple one time key? I am assuming that your app is not going to store anything and has no backend at all.

So Let's say your app pings the API with the email and a special loooooooong human readable string of a random words:

"A horse is an grass, it feeds on animal!"

Note the phrase (key) should not make sense or be correct grammatically, it could be just a bunch of words jumbled together.

The API sends this to the user, the user enters the same on your page with grammatically correct one.

"A horse is an animal, it feeds on grass!"

Boom, you have a very high entropy, a secure paraphrase that's probably reliably secure and can be enhanced to timeout against brute force attacks. It's really up to you to what you want to do with the API and your app.

Looks complex, but should be a good starting point to build something. Goodluck!

</comment><comment><USER3> I was checking about that today, to see if it was actually something I would be interested in working on. I found that service doing something similar: [http://docs.kickbox.io/](http://docs.kickbox.io/)

Is that what you meant?

EDIT: ok, you don't want any backend so webhooks won't work.

<comment><AUTHOR> Well, aside from webhooks or anything, Kickbox and its competitors seem to focus on checking if an email address exists based on DNS and SMTP pings.

This is valuable, but I want to be able to know for sure that 1. the email is "real" and 2. the person using the email address actually has access to it and can receive emails on it. Thus the process of actually sending an email to the provided address and making them click a link.

I've still not seen anything that provides this functionality.

<comment><USER3> Just seeing your reply now, sorry, not used to get answers on HN :D

Yes, I see what you mean. Maybe I should give it a shot. :)

</comment></comment></comment><comment><USER4> It could be useful but the entity behind this service would need to be reputable with a proven track record. Because what this amounts to--from an end user perspective--is a breach of privacy.

As for the technical part, I think you're better off passing a callback URL to the service so it posts to it when the user verifies the email. The callback URL could be an AWS lambda.

<comment><AUTHOR> Understood on the privacy concerns. Good point.

Agreed that the Callback URL is definitely preferable, if the consuming application has a backend (Lambda or more substantial). Thanks!

</comment></comment><comment><USER5> When does 5 happen? Continuous pinging until timeout of verified?

On 3 I could see the api just redirecting back to the app. And 4 is retained for future backup?

Just to share how this is made smoother somewhere else in the world: App displays QR code on screen either on webpage or in-store POS, user scans QR code, payment is made and funds transfered instantly.

<comment><AUTHOR> Thanks for the reply.

I was thinking either pinging or some sort of a "check" button that the user would click/tap (e.g. Cloudflare's button to check the status of NS transfers). Not the smoothest part of the idea. This decision would ultimately be left to the consumer of the API. Also, in thinking this through a little more I think it is also applicable to applications that _do_ have their own backend, in which case they could provide a callback.

I like your idea on 3/4\. That could maybe be a configurable option

</comment></comment><comment><USER6> In regards to your proposed workflow, I would prefer to have "the API" use a webhook to let the App know that the email has been verified.

This way I can update a user record and make a nicer experience the next time the user comes back rather than having to make a call to the API to check they are verified.

<comment><USER7> OP's question is about avoiding backend completely, so a webhook wouldn't help much. At that point you may as well implement your own email verification as well.</comment></comment>