ProtonMail iOS app goes open source - <AUTHOR> https://protonmail.com/blog/ios-open-source/ <comment><USER2> The apple store always distribute apps under a proprietary license. So even if the code is open-source, if you install it on your device through the apple store you are still installing proprietary software.

They say on their Github page that their app is licensed under GPLv3. Yet they can't publish it under GPLv3 license to the apple store. This means that if you contribute to the project under the GPLv3 license, they can't redistribute your through the apple store. So if you contribute your code it will always have to be licensed under a permissive license.

Still can't wait for the F-Droid release though.

<comment><USER3> How is Blink Shell: Mosh & SSH Client[1] licensed as GPLv3 on the iOS App Store? To my knowledge that's not the only GPLv3 app on the iOS app store. Many of the projects give a special grant for it to be published on to the app store.[2]

[1]: [https://apps.apple.com/us/app/blink-shell-mosh-ssh- client/id...](https://apps.apple.com/us/app/blink-shell-mosh-ssh- client/id1156707581)

[2]: [https://github.com/blinksh/blink/blob/raw/COPYING#L702](https://github.com/blinksh/blink/blob/raw/COPYING#L702)

Edit: formatting, more context, and sources

<comment><USER4> I'm not even sure a grant is necessary. As the author, you can relicense your work whenever you want. That includes relicensing for a certain platform. So, release your GPLv3 source code, but release the "proprietary" version on the App Store.

<comment><USER5> If you're the sole author yes. If you took any contributions then no unless you got all the contributors to accept your proprietary license for their contribution.

</comment></comment></comment></comment><comment><USER6> I've been so happy with ProtonMail as a strategy to store any email I receive with dollar signs in it (to avoid google's vacuuming it up into "purchases" and "reservations" dashboards, which I find exceptionally creepy on a paid gsuite account)

ProtonMail provides a lot of value for the small dollar amount per month! So happy to see the new mail beta, and now open source for the iOS app!

Very excited for protondrive now. Google Drive is usually fine but I never feel comfortable storing scans of IDs or tax documents there.

<comment><USER7> Depending on your use case, Yandex is a good alternative to Gsuite. No charge to use your own domain...it's free. No doubt Russians can scan it all, but maybe they have little interest in a US centric small business for example.

Also, I imagine they have little interest in complying with US LEO requests.

<comment><USER8> I'd be very worried about transferring business bank account details and commercial records to Russia. The state might not be interested in you in particular, but scammers know no borders. Also Yandex has admitted publicly to providing customer data to the FSB. Again you might not care about the FSB, but any transfer of or access to data to an outside organisation inherently increases the risk of further leaks.

<comment><USER7> Agree, but there are many more cases where the US digging into details is more risky than Russians doing the same. Yandex is a often a better, not perfect alternative for US small businesses.

<comment><USER9> What are some of these many cases for US businesses?

<comment><USER7> I run a small business myself, and prefer Yandex for my email. What use cases DON'T apply? This keeps any of my customers free from NSA spying and US jurisdiction for my choices.

<comment><USER9> I'm not questioning your personal preference, I'm asking about a few of the specific (of, you say, many) cases in which using Yandex email is better for a small US business.

The NSA has greater authority (and likely, capability) to collect every single bit in a Yandex server than it has in a Google one. And, of course, so does the FSB, the security service of something fairly close to an actual mafia-run state. So that one doesn't sound super-convincing. What are some others?

<comment><USER7> My view is pretty much any city centric mom and pop business. The Russian risk is lower than the US Federal risk almost always. Consider the IRS and importing products.

<comment><USER9> Right, I understood you believe this, I'm trying to understand the basis for that belief since it seems both counter-intuitive and at odds with available facts.

Edit: you added a bit of detail about the IRS after I replied, are you saying a yandex email makes it easier to evade taxes? That the advantage of such an email address is skirting or breaking laws and regulations?

<comment><USER7> Re: The IRS. No, not pro evading laws. Like any law enforcement office, they can overreach, overstate, misinterpret, conflate, etc. Restricting their access has pros for innocents.

Here's a real example. Aluminum extrudes are highly import taxed UNLESS they are are an integral product feature. Does the IRS get to see my emails on that, pre-emptively, before any presumption of doubt? Should they be able to poke a few search terms into an NSA database? Or is the burden on them to get a subpoena?

I see no weirdness that they can see my books but have no business in my conversations. Decades ago, they couldn't peer into meetings in a real-time, prior reasonable doubt way. 1984 and all.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I love Protonmail, me and my entire family would have already been on it with a nice custom domain if that wouldn't cost me 32 euro's a month (4 mailboxes: me, wife and 2 kids, per year payment reduces it to 25/month). I now pay 6.05 euro's for that at Transip (can go up to 5 addresses + hosting space, 3 addresses is 3 euro's). I like Protonmail more, better, cleaner webUI, focus on privacy, nice app... but it's really really expensive.

<comment><USER11> Think of it the other way around: how much per month is Google making by reading your email (with bots) to generate a marketing profile so companies can buy targeted ads to sell you stuff? Besides, feature-wise, you get a LOT more from ProtonMail than, say, Fastmail, which is the low-feature, no-frills, non-encrypted alternative.

If you aren't paying for the product then you _ARE_ the product.

<comment><USER12> Google have not scanned emails for the purposes of targeting advertising for a couple of years now.

<comment><USER13> I would actually like to see a source for this claim. Google did state that it would stop scanning emails for targeting ads "later this year" at some point in time. But I haven't seen a document after that reaffirming that this has been done.

<comment><USER12> I suspect GDPR would have been sufficient threat since not all people involved in a scanned email were guaranteed to be Gmail users, so gaining consent would have been problematic.

</comment></comment></comment></comment></comment><comment><USER14> What about Android? The one I can actually compile myself and install myself.

<comment><USER15> Protonmail mentioned in the comments that the Android app is currently undergoing a similar third-party audit and the source code will be released once that is complete.

</comment></comment><comment><USER13> Does this mean that the app could be forked to support multiple accounts (which is currently not possible for the free tier users with the official app)?

<comment><USER16> Sure, but you need a paid Apple account to put it on the App Store. Chances are none of the cheapskates who 'believe strongly in freedom' are going to put their money where their mouth is and spend the $100 so everyone can enjoy that freedom.

<comment><USER17> Why would you pay $100 to a dictatorial software distribution platform when your whole thing is, well, free software distribution?

<comment><USER16> Do you want freedom? Freedom does not come for free.

</comment></comment></comment></comment><comment><USER18> Beyond all the other benefits of this, hopefully it means more general feature updates/bug fixes. There are several (minor) bugs in the app that have existed for some time now, and it doesn't yet support iOS dark mode, for example. I know they don't have a huge team and are focused on the web app and security, but it would be exciting if the iOS app started getting a bit more love.

</comment><comment><USER19> All the app needs is the option to arrange emails into a thread similar to desktop

</comment><comment><USER20> Well done Protonmail. I hope this is only the beginning for them and we will see more of their estate open-sourced

<comment><USER21> They have open-sourced other things, like their web app, already.

</comment></comment><comment><USER22> I wonder if the ProtonMail server will ever be open source. It'd be pretty cool to see the code and possibly self host, although having source code available might allow spammers to abuse the system.

</comment><comment><USER23> Does that mean we can get rid of the "Sent with ProtonMail Secure Email."

Also, Can someone with more experience than me in licensing explain why we couldn't bundle up a fork of the app and release in on ios App store?

<comment><USER24> You could get rid of that signature before, at least on the Android and Linux desktop apps.

<comment><USER23> Without paying? I'll have to check it out on iOS, perhaps they changed it.

<comment><USER25> I'm a little bit bothered by your comment that seems to be complaining about a service you use for free.

<comment><USER26> If the software is indeed open source, it's entirely reasonable to expect to be able to use it unencumbered- I would be a bit bothered and would also complain if that were not true.

<comment><USER27> ProtonMail, the iOS app, is now open source, but ProtonMail, the service, is still proprietary and (mostly) paid.

It's somewhat comparable to using Thunderbird (open source) to connect to GMail (proprietary). GMail might impose some restrictions regardless of the open source status of the client.

</comment></comment></comment></comment></comment></comment><comment><USER28> This is awesome! I think they'll actually get a lot of help with this client. I for one am going to change a few things that I'll be they'll mainline.

</comment><comment><USER29> Can someone break down what makes up the 91MB this app weights in at? Since its 94% swift I'm a bit surprised

</comment><comment><USER30> How do I view the read receipts? It was either not apparent or not working.

</comment><comment><USER30> I LOVE IT! And the VPN! Is there a desktop client for mail coming?

</comment><comment><USER31> One day they will release calendars

</comment><comment><USER32> Kind of pointless because you're still installing a compiled binary from the app store with zero guarantees that it's even the same source.

<comment><USER33> Couldn't you compile the code yourself and use your own version of the binary? Then you just have to trust XCode isn't backdoored :-)

Edit: [https://developer.apple.com/support/compare- memberships/](https://developer.apple.com/support/compare-memberships/) " With just an Apple ID, you can access Xcode [. . .] and you can test your apps on devices"

<comment><USER34> I think you can only provision a compiled app to run on a phone for 7 days before needing to reinstall IF you aren't paying the $99/yr Apple dev account fee. Running on simulators is free, though.</comment></comment></comment>


Show HN: Workomo open access for early product enthusiasts - <AUTHOR> https://workomo.com/ <comment><AUTHOR> We have been building Workomo in private over the past few months. We have opened access to everyone, however, looking for early adopters to take a spin on the product and give feedback. Its a chrome extension that shows you everything important about people just before you meet them. Please feel free to comment if you have questions.</comment>


Ask HN: What setup do you use to get stuff done? - <AUTHOR>

What software and hardware setup do you use to get stuff done? <comment><USER2> Nothing fancy... Fedora 16 (yeah, yeah, I know... I've been too busy to update lately) on a relatively low-end Toshiba Satellite laptop. KDE for desktop environment, with lots of Konsole sessions open. Firefox and/or Chromium for browsing, Eclipse and/or Emacs for editing code, LibreOffice for spreadsheets, presentations, etc. On that one, though, I do plan to switch to Apache OpenOffice sometime soon.

Beyond that, well... We use a Mediawiki instance for sharing information, SugarCRM for customer management, Jenkins for CI, and Bugzilla for issue tracking. We also use Google Drive and/or Dropbox for swapping big files, Github for source control, and have a few VPSs at Rackspace (to host the company website, Bugzilla server, Jenkins server, Mediawiki, etc.)

For short-lived test/dev servers, we use AWS / EC2.

Programming language wise, most of our products are developed in Groovy and/or a combination of Groovy and Java. If I need to knock out a quick script to do something, Groovy is my go-to language if I don't feel like doing it in bash.

One big thing I want to do, is ramp up my knowledge of sed, awk, bash, etc. I'm far from a shell scripting guru and I'd like to "level up" on that a bit.</comment>


New Arctic models predict ice-free summers by 2050 - <AUTHOR> https://cloverly.com/blog/new-arctic-models-predict-ice-free-summers-by-2050/ <comment><USER2> Ice free arctic will completely mess wind patterns and weather in the Northern hemisphere during the winter.</comment>


Facebook about to try to dominate display ads the way Google dominates text ads - <AUTHOR> http://cdixon.org/2010/05/15/facebook-is-about-to-try-to-dominate-display-ads-the-way-google-dominates-text-ads/ <comment><USER2> I don't understand why I'll want to use Facebook features when I'm not on Facebook, or why I wouldn't ignore Facebook ads the same way I ignore all ads. But maybe magic web 2.0 fairy dust can mystically make advertising not obnoxious.

<comment><USER3> I think the theory is that even though people ignore banner ads that just say "Drink Coca-Cola," seeing it enough times will make them drink more Coca-Cola.

<comment><USER4> Except on the internet you can AdBlock in which case you never see the banners to begin with.

<comment><USER5> Which would also place you in the vast minority of the general population

<comment><USER6> Maybe, but only until it becomes the default in Firefox.

What I don't get is why MS don't built adblocking software directly into IE: it would do more harm to Google than anything else they can do, and could be defended as a move to improve the experience for the user.

<comment><USER7> Then Microsoft might get accused of censoring the internet, and protecting users from ads that sometimes genuinely help users find something they really want. And it would be hard to justify each item on its blacklist separately. And even though it would help some users, they might be accused of unfair practices against Google anyway.

<comment><USER4> Oh, you mean the way Apple is being criticized already? Doesn't seem to be stopping them...

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> We just had a thread posted here

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

suggesting that many Facebook users don't look at Facebook ads at all. (I'm one of them--I use Ad Blocker on all websites.) The case reported here was of a mother who ignored a photo of her own child, so practiced was her banner blindness.

<comment><USER9> Also <http://news.ycombinator.com/item?id=1293119>

</comment></comment><comment><USER10> So google dominates intent driven advertising and facebook is trying to be the king of intent building advertising.

Facebook's competitive advantage is its horde of demographic information that they have on individual people.

I am somewhat undecided on how successful facebook will be at this. They have the information to see what will influence you, but I don't think they have a tool that will allow you to ingest it into your brain.

For example, they may have information that says you like britney spears and that she can influence you, but their mechanism to get influencing messaging to you is through a banner ad for instance. The overall effect is uneffective because the tool (banner ad) is just straight up ignored by most people.

So the vehicles that exist in delivering advertising content online is just not effective and there needs to be a better way that needs to be created.

The initial results of such tools that facebook to build intent don;t look to be effective.</comment>


Ask HN: Why do you contribute to open source? - <AUTHOR> My assumption is that most of the users here either contribute substantially to some open source project, or at least use some open source stuff and take some time to send patches/bugs to the project.
Why do you do it?
If you don't, then what stops you?
Not looking for should/shouldn't arguments here.  Just curious about the general psychology of the decision.
What does it feel like?  What kind of effect are you looking for?  What motivates you to continue? <comment><USER3> Although I admire OSS as a concept, generally when I contribute to an open- source project it's "by accident", e.g. I'm trying to fix/have fixed a bug that's affecting me or one of my customers, and it's easier to contribute the patch back to the project than re-patch every subsequent update. It's just, pragmatically, easier to fix the whole project than just for me.

</comment><comment><USER4> \- FWIW -

While I have a handful of my own open source projects (mostly libraries), I gave up on trying to _contribute_ to open source. I tried approaching a number of projects and the level of disinterest and arrogance was frankly jaw- dropping. I was treated like someone who is out to outsmart and put to shame everyone on the "core team".

In one case I asked if they had any thoughts on moving from Google Code to GitHub, listing possible benefits and reasons. To this the first reply was that forking was evil, GitHub was broken and that I shouldn't really be troubling very busy people with such stupid questions. Then more people piled on with personal attacks. That was damn _odd_. All I wanted was to submit a bugfix.

With another project I wrote them how to trim down and lighten the code, and no one even bothered to reply. I wasn't condescending, always bearing in mind that it was _their_ project and I was just passing by. Yet another project - made a replacement for an awful app icon - again, like talking to a wall, not a blip from the other end.

One notable exception was the Linux Kernel project. They accepted a couple of patches with no fuss whatsoever, and rejected another 2 or 3 with good arguments.

(edit) Having thought about it a bit more - the problems appear to lie with multi-person projects. I had good experience submitting fixes and patches to single-maintainer projects. They were all accepted or rejected promptly and with courtesy. But once there's a _group_ , then there are leaders, prima donnas, politics, social hierarchies and you name it. A coding society, not a development project.

<comment><AUTHOR> This is very interesting. The problem, of course, is that a single person can't get as much done as a team. At a certain point, many projects _need_ to have more developers involved.

What do you think it was that made the Linux Kernel different? I assume there are leaders and social whatevers going on there.

<comment><USER5> In general terms, the key difference between a 'nice' group and a 'mean' group is the degree to whether the hierarchy in the group is obviously correct.

In the linux kernel, there is a clear hierarchy that is pretty close to being obviously correct. Linux obviously deserves to be the leader, and position/status is very clearly linked to a persons contributions to the greater good of the project.

On single person projects, the hierarchy is also trivially clear, obvious, correct and unassailable.

Many group projects fail the "clear hierarchy" test, often because they try to eliminate the hierarchy for some sort of ideals. But humans being human there is always some sort of hierarchy, so establishment of the hierarchy is informal and ongoing.

Of course, "informal and ongoing" is a lot better than 'wrong' which is the case with many clear hierarchies. This is why the idealism vis a vis trying to prevent hierarchies exists in the first place.

The obvious correctness of the hierarchy is one huge advantage small companies have over large companies and non-profits.

</comment></comment></comment><comment><USER6> 90% of my open source contributions come from running into a bug in an open source project that I'm currently using for something, and just fixing that and sending it back upstream.

10% is writing tools to solve problems I have that aren't adequately solved by existing things.

</comment><comment><USER7> I think the positive answers to your questions are spot on and consistent with people I've spoken to. But I haven't seen anyone respond in the negative as to why they DON'T contribute so I'll take a stab.

I've asked a few developers this question and the reasons for not contributing tended to fall into 3 camps:

1\. Not enough time. These folks come home from a long day coding at work and want to spend their free time with family/friends.

2\. Not enough interest. They're not opposed to the idea of contributing, but 'just never got around to it'.

3\. Not sure where to start. This was particularly true among younger developers. They'd be interested in joining a project to improve their skills and work w/ others, but they weren't sure how to get started. What should they work on? Where is the project headed? If they just start hacking on stuff, will the lead contributor find it useful?

I don't think there's much you can do to change the first reason for not contributing (no time). But I think if Open source projects had better communication tools, possibly the second, and definitely the third reasons could be addressed.

I'm working on a pre-launch startup to make it easier for open source teams to better collaborate and communicate with each other. We want to create a space where developers can have face-to-face meetings, code reviews, and pair with new programmers to get them up to speed.

You can see the prototype at www.codemeet.com. If this sounds like it'd be of interest Isaac, I'd love to talk to you more about how it could be integrated into some of the projects you're working on :)

<comment><USER8> 3\. Not sure where to start. This was particularly true among younger developers. They'd be interested in joining a project to improve their skills and work w/ others, but they weren't sure how to get started. What should they work on? Where is the project headed? If they just start hacking on stuff, will the lead contributor find it useful?

This is a deal-killer for me. Some of the OSS projects I've wanted to contribute to make getting up to speed rather difficult.

Few offer documentation that makes joining and getting up to speed quickly easy. I know why such documentation does not exist, because we just want to code. But every OSS project (that allows others to actively contribute), should have some kind of welcome-here-is-what-you-need-to-start-package.

Even a simple README committed to the git repo that outlines it would work fine.

 __*

That is one interesting app you got there.

</comment></comment><comment><USER9> I like to solve puzzles; most of my contributions to OSS is in the form of bug fixing, which comes about because I've come across the bug myself, decided that it needs to be fixed so that gives me a chance to solve the puzzle. I see myself as a reasonable coder so I should be able to solve most problems, and the problems I can't solve at least my investigation can provide a top-notch bug report for other maintainers can skip some of the tedious investigation.

I don't find that this is just an OSS motive to me though as even in closed- source I'll often find myself in disassemblers (in .NET) or JS files, etc trying to work out _how_ something works so I can provide the best feedback I can.

The other motive is the "I know what it's like" feeling being a coordinator on a few projects myself. I know what it's like to have people say "what doesn't it do X" or "why are you doing Y", it's generally because I don't have time, so if I'm on the other side I am more than happy to try and solve that problem myself. Again this is somewhat related to my first point but really it's a bit more than that. Just because I need a product to do XYZ doesn't mean that that is what everyone wants to do, or what the other contributors are in a position to make it do, so if I've got the skills why don't I tackle it myself?

Lastly there's the exposure aspect of it. As much as I'd love to think that everything I do for OSS is altruistic in nature it's not. I like that when I go for a job I can put on my CV that I've contributed to projects so a prospective employer can see my skills as well as just relying on my word. I like that github handle/ twitter handle/ bitbucket handle/ etc get recognised by members of the community and that people can see my as an authority on what I present about, blog about or yammer mindlessly on twitter about.

<comment><USER10> The job aspect is pretty important.

Don't know if any people looking for employees do that, but I would hire a developer who writes patches, that are nice and I can browse them, to an open source project, instead of asking him to code a binary tree and insert on it on a technical interview or to read his CV.

Hopefully someday all those CVs will be obsolete, and people will only be employed by their open source contributions, I never liked writing CVs anyway :P

</comment></comment><comment><USER11> I release most of the code I write in my free time. There's no specific reason I do it. A while back people were mentioning using GitHub as a resume or a supplement to a resume. I like the idea, but I'm not sure how much it's used as that, or even if my code would say anything good about me. Mostly it's just a convenient way to have the stuff I write available where ever I am. None of it's spectacularly useful, but if it helps somebody out, cool.

Of the open source software that I use, I've yet to contribute back. The biggest reason is just a lack of time. On top of digging through the code to fix the bug, most projects have guidelines and a process for submitting patches. Even a little bug can be a big time sink the first time through. I do submit bug reports, if that counts...

</comment><comment><USER12> I opensource most of the code I write because I think it's one of the best accountability mechanisms that we have in coding. Just knowing that someone is going to be looking through my code makes me work harder to ensure it's "good".

Getting to the point of contributing code to an existing project (usually via submitting a pull request or the like) always felt more intimidating than writing my own small libraries, but I eventually started doing this and I have to admit it has a "warmer, fuzzier" feeling associated with it. This is generally regardless of whether the patch is accepted or not. Helping out feels good.

In short, writing opensource software feels "right". That's why I keep doing it. Knowing people are using it (or think it's cool) helps, but it's not the main driver for me...

</comment><comment><USER13> I support Open Source Software because Open Source Software supports me.

<comment><USER12> Well said mate, well said. Short and sweet - time for a sticker.

</comment></comment><comment><USER14> Partly because my job, everything we do is open source

Every 'serious' line of code I have written has gone straight into my public github, even if I think it could be in future be used as a startup.

I think code belongs in the open, we wouldnt be anywhere near where we are in terms of technology if everyone kept a tight hold on their code, I think every line of code that is released as oss is another brick in a pyramid for others to build on, there isnt a limit to how high it can go.

</comment><comment><USER15> As someone who runs a lot of his own open-source projects (see <http://jcoglan.com>), and occasionally contributes to others when I find bugs, the biggest reason I do it is to learn things. Not just to learn programming, and various problem domains, but to practise writing and speaking about my work, writing good documentation, and (crucially) practising API design.

Making something you're intending to ship to strangers (or to yourself writing future projects with your tools) forces you to write good documentation (if you want anyone to use it), which in turn forces you to hone your API design skills. If you're having trouble writing the docs for something, you probably haven't adequately solved the problem yet.

I'm not claiming to have done a great job at this on all my projects, but it's a learning process and occasionally my projects find a user base, which keeps me busy, provides new challenges when they find bugs, and if your code's any good it boosts your reputation as a nice side effect.

</comment><comment><USER16> Funny this should come up today. I just haven't really known how. But today, I forked something, changed a file and submitted a pull request. It was just one line of code and I full expect it to get rejected but I figured I needed to start somewhere. GitHub made it easier then I imagined it would be.

</comment><comment><USER17> I started working on OSS as a way to learn at the age of 18. I learned much more about programming and working with others than I learned in school. Plus, having a program that I work on be in the top #5 for downloads on SF back in the day was a bit of a cool factor.

Now these days, more than 10 years later, I have a family to support so most of my OSS contributions are fixing bugs that are show stoppers for me, in existing projects. I have open sourced a few very small things that I use for myself, in hopes that it saves some people from wasting time on doing something that has already been done.

EDIT:

I used to always think that it would help me out in getting a job, but the only way it helped me out was that I had a lot of experience. Having a OSS project on my resume never really helped out it seemed, in the jobs that I got.

</comment><comment><USER18> I believe open source software benefits many people and I like helping people. OSS has also helped me become a better developer, I've also made new friends, and gotten jobs because of it so it has definitely been very rewarding and I guess that's why I continue.

</comment><comment><USER19> When I contribute to FOSS software I know that the odds are very good that other people will actually benefit from the work that I do. Having worked for several startups, I know that the code I was paid to write is more likely than not going to end up in the trash can when the company folds, the project is cancelled or (best case so far) the application is re-written from the ground up by another team. My FOSS code, on the other hand, as humble as it may be, is much more likely to be picked up, used and even improved by others. And there is a satisfaction in knowing that I will always be able to use it whenever I want, something that is not the case with code I have written for my employers

</comment><comment><USER20> I do it for fun.

I could probably write a more elaborate comment explaining how it improves my skillset, coding style and has a positive effect on my career but even so, I wouldn't do it out of any of these reasons as long as it wouldn't be fun.

</comment><comment><USER21> > Why do you do it?

Just to be useful to people. I don't have an economic incentive to program, but I enjoy solving intellectual problems and I like feeling that I've contributed something.

One example of a particularly useful program I wrote is TankCalc (<http://arachnoid.com/TankCalc>), a Java app that profiles storage tanks. It's pretty popular among tank farm managers worldwide, people who need to know exactly what their tanks contain but who don't have the math background that would require.

To be useful -- that's it in a nutshell.

</comment><comment><USER22> I am really interested in the replies here... I've never really done anything with open source... I started my programming career as someone who couldn't afford to pay someone for things I wanted (Big things done open source now, that weren't available back in 1999-2000 when I started) and ended up starting to sell my code to others. And because of that I never really had the whole open source mindset... Everything I did was for me to make money, didn't want to give the cow away for free when I was trying to sell the milk.

</comment><comment><USER23> I mostly publish my own projects (where applicable/possible) as open source. I don't often submit patches (though I have in the past) because I usually end up using the software as is and it's fine; or I have to modify it in some way that is specific to the problem at hand (and thus, not useful to anyone else).

I definitely don't have a problem with contributing changes, it just doesn't come up very often.

</comment><comment><USER24> I don't code, but am behind a startup that intends to contract an app that will eventually be FOSS. Simply because once I'm no longer developing it, I hope there'll be a community that forms around the project that can keep developing it to their needs. I only plan to take the project so far, but like the idea of it having a life of its own after it meets my minimum requirements.

</comment><comment><USER8> 1\. Why I do it?

I do it because people need software, and they don't have the time/resources to acquire it.

2\. It feels like changing a flat tire for a stranger.

3\. Effects? Get in contact with me if you have a position open and would like me to work with you (after trying out my work). Though this is not my motivation, it is a nice side effect.

4\. I enjoy _shipping_ software, so that motivates me to continue building more and more apps.

</comment><comment><USER25> Honest question... If you've contributed to FOSS to fix a bug, could you specify the package and the bug?

I use a handful of FOSS libraries - and I'd readily contribute - but I find that most of the FOSS projects I use are bug free, as is? Perhaps I don't use enough 'cutting edge' libraries (in which case, I'd like to hear how these are discovered)...

</comment><comment><USER26> Outside of the altruistic and technical reasons, it's a great background check for technical interviewers. It's pretty hard for me to lie about my contributions or quickly make up 2-3 years worth of github history. It also gets around all those pesky NDA's I've signed such that I can't show my paying work to anyone.

</comment><comment><USER27> Someone probably already mentioned this below, but the ability to improve individually as well as collectively. When you contribute something, it's great to hear from people 3000 miles away telling you there's a better way of doing it.

</comment><comment><USER28> I recently put together a blog post on exactly this topic, namely the self- serving motivations behind contributing:

<http://blog.jupo.org/2011/09/12/open-source-for-you/>

</comment><comment><USER29> great way to learn, share, and collaborate on ideas. I think if you couldn't share interesting things you wouldn't necessarily want to build them at all, or at least not build them as well as you may have if it were open-source

<comment><USER12> Awesome attitude. I've personally learned a lot looking through your code (amongst others).

I think OS development helps create the craftsmanship side of software development. We all both mentors and students at the same time - <USER2> cool stuff.

<comment><USER29> Definitely I agree, lets you be creative with code in a way that actually matters. If no one saw your code being creative & clean wouldn't matter a whole lot, depending on who you work for it might be better job security-wise to produce more obscure code haha.

</comment></comment></comment><comment><USER30> I do it mainly when I find a bug and want future releases to also include my fix so I don't have to patch future versions. So it's kind of selfish in a sense, but overall makes the software better.

</comment><comment><USER31> Read my blog post on the psychology of contribution <http://drupal4hu.com/node/102>

</comment><comment><USER32> Because I want a feature included, a bug fixed, or I wrote something cool and I want to share it.

</comment><comment><USER33> I learned software engineering from Mozilla. I earn my living on top of OSS. Pay it forward.

</comment><comment><USER34> Because I get paid for it.

</comment><comment><USER35> I don't.</comment>


Node.js for Java developers - <AUTHOR> http://www.ibm.com/developerworks/java/library/j-nodejs/index.html?ca=drs- <comment><USER2> For the people who think that IBM is doing this please read the fine line.

These articles are written by non-IBMers. I honestly don't know what the publishing rules are.

</comment><comment><USER3> If you really want to program in Java, you could just use Netty. <http://www.jboss.org/netty>

</comment><comment><USER4> i thought it was weird to use express right away for any node article. the obvious concern is that it's easy to conflate ideas when you're learning a library and a platform at the same time. following my expectation, this article is full of quotes that only half make sense to me.

" _JavaScript and JSON are tightly related, which makes managing JSON in Express about as simple as it gets._ "

" _Note that Listing 4 includes a line directing Express to use bodyParser. This will enable us to easily (and I do mean easily) grab attributes from an incoming JSON document._ "

" _Listing 5. Adding JSON parsing [followed by a package.json dependency declaration]_ "

managing json in node has nothing to do with express, and bodyParser is not exclusive to json. as for "listing 5", well, i have no idea. perhaps i'm overreacting, but ibm has consistently portrayed a strange understanding of nodejs.

</comment><comment><USER5> While I admit that this article hits a lot more than just Node, I do think that it's good to see IBM starting to publicly think about Node. They are the though leaders for the enterprise world. Hopefully with their backing, and I hate IBM, companies will be more open to the new tool.

As a side, I'm a Java developer working on SOA ESB tech. I think Node is a perfect fit for this. Unfortunately it is almost impossible to convince a manager to start using a v0.6 of a JS based environment.

</comment><comment><USER6> I can appreciate node.js since it is an innovation which allows the industry to start tapping the massive pool that is Javascript programmers [shudder]. But its not particularly compelling since I've used Erlang, and for Java - Netty, Apache Mina, etc, and for Python - Twisted, et al.

I just wish my younger colleagues around me would stop harping on it like its the greatest thing since sliced bread and would deliver us from big balls of mud.

</comment><comment><USER7> Interesting take on ibm article on node.js here -<http://wkp.me/wkk6g> . Note - this is a different article than the one posted above.

</comment><comment><USER8> Its funny that the first code example is a npm file.

</comment><comment><USER9> Java expatriates, if you want to do this kind of stuff, but don't want to abandon your Protocols, Factories, and Services, Twisted's here to help. We have interfaces, we have components, we have all of that delicious enterprisy structure you've desired, without the Java bullshit.</comment>


Guyhaus: Dude Supplies Delivered Automatically - <AUTHOR> http://www.betabeat.com/2011/05/11/coming-soon-dude-supplies-delivered-automatically/

<comment><USER2> Not a bad idea! I'd pay a little for the convenience of never having to worry about these things again.

</comment><comment><USER3> I <3 automation. Not having to do boring tasks over and over again is awesome.</comment>


Noiszy – A Chrome plugin that creates meaningless web tracking data - <AUTHOR> https://noiszy.com/ <comment><USER2> There have been a few of these plugins floating around recently, and really everything that needs said about them appears in the comments already. Fake traffic is wasteful, hard to make look authentic, and only serves to create more records of the end user around the web rather than less (e.g. your laptop IP was generating fake traffic? That probably means you had the lid open and were doing something with it at that time)

I'd much rather see a browser with some kind of built-in distributed cache, something along the lines of FreeNet, but trading perfect anonymity for performance. Given a large chunk of disk space, and a handful of browsers talking to each other in a local area (e.g. same ISP), it should be viable to concoct a scheme where after a handful of browsers request a particular page, the remaining browsers are confident enough that the data cached in their local group is representative of the data sourced from the origin network.

There are a million issues to iron out with a scheme like that, e.g. bad actors injecting crap into the cache, handling staleness, interactions with dynamic content and API endpoints etc., but I think something like this would have a much greater privacy benefit by denying at least some traffic to the origin networks, or simply by keeping some of that traffic within the boundary of the local ISP's network (and if the local ISP is evil, requests between the nodes could be encrypted as in FreeNet).

<comment><USER3> That would be a cache of what's popular. That would actually help on the surveillance side because it would effectively be a filter of the common traffic allowing them to focus on your unique traffic.

<comment><USER2> That's an excellent point!

</comment></comment></comment><comment><USER4> Distributed spidering for a community-fed search engine index would provide comparable end-user benefits while being considerably more socially useful.

<comment><USER5> Or a local meetup group for subscribers to a compatible ISP (all DOCSIS 3.x cable modems, e.g.) where you bring in your cable modems throw them in a pile and then take home a random one. Do it monthly.

Combine that with a script that takes all non-sensitive browser history and cookies and does the same -- swap out with a random stranger.

Neither is practical and the former would require (at least for my provider) that I go through a sometimes cumbersome process of registering the new device's MAC address.

<comment><USER6> How would the former affect web trackers?

</comment></comment></comment><comment><USER7> It's kind of funny their website includes TypeKit, SquareSpace, and Google Tag Manager scripts - all of which can (and probably are) tracking various things. They may not be connected to "you", may be anonymized, may be unique number representing you.

<comment><USER8> Hi - Noiszy creator here. You're right about the scripts - we're using GTM and Google Analytics. I think it's 100% legit for sites (like mine) to want to know how much traffic they're getting - this to me is a good use of data. I work in the analytics field and actually I love data - I just don't like AI using data in creepy ways. The thing is, there is a big moral grey area between "count visits" and "creepy targeting based on everything you do". My hope is that by disrupting the data, we can make the conversation happen about the _right_ things to do with algorithms. I don't have the answers but I hope to be a part of the discussion.

<comment><USER7> I get it. Everyone, everywhere, is collecting data - whether it's CNN.com or Noiszy.com or Google Analytics. While you may be using Google Analytics for basic tracking of anonymous visitors, Google may be using it for "creepy targeting based on everything you do".

I'm really not opinionated (I think the plugin is interesting and am completely ok with being tracked) I just found it a bit hypocritical to create a product against tracking while simultaneously providing tracking data to Google.

<comment><USER8> I think of it as a product to deter AI processing of your data, not a product against data itself. I, too, am ok with being tracked - but being ok with data collection =/= blanket approval of all data processing & use.

Thanks for raising this point.

<comment><USER9> Google Analytics most certainly does feed user data into "an AI" and use it to track users and sell ads targeting them. I'm not sure what you're getting at here.

<comment><USER10> Does Google Analytics' privacy policy even allow Google to do that?

<comment><USER9> They are certainly allowed to according to their TOS: [https://www.google.com/analytics/terms/us.html](https://www.google.com/analytics/terms/us.html)

"Google and its wholly owned subsidiaries may retain and use, subject to the terms of its privacy policy (located at [https://www.google.com/policies/privacy/](https://www.google.com/policies/privacy/)), information collected in Your use of the Service"

Also read: [https://www.google.com/policies/privacy/partners/](https://www.google.com/policies/privacy/partners/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I don't mean to be a curmudgeon, but why put out this kind of privacy-minded plugin for Chrome, one of the browsers I'd probably least trust to respect my privacy?

<comment> gingerbread-man Google has actually blocked similar "noise generation" apps from the Chrome Store in the past. As I recall, there were a few extensions out there that would 'click' on every ad displayed. Obviously that would have created serious problems for Google, so they nixed it.

<comment><USER12> [https://adnauseam.io/](https://adnauseam.io/)

I wasn't convinced it was very useful and thought it would only take some easy heuristics to filter out when I first saw it, but if Google removed it from the store, it must have been a pain to deal with.

Maybe I'll even end up using it.

<comment><USER13> This website reminds me of the KenM post where he suggests that he's getting back at Papa Johns by not tipping the pizza delivery driver.

Generating click fraud on your favorite web comic's website or other small websites you may be visiting is pretty sad. Adsense bans for life.

<comment><USER12> I don't read webcomics, and somehow I don't think people like gwern who write long-form content do it for the ad revenue. And even if there are ads on the website, if they respect the DNT header, AdNauseam won't auto-click them.

(I'm not sure what the tipping anecdote is supposed to mean, but I don't understand why US customers put up with tipping either, the business is responsible for it's operating budget, and there is no legitimate reason to bother the customer with it.)

<comment><USER14> How do you determine if a server is respecting a DNT header?

<comment><USER15> You don't.

<comment><USER16> I believe that is GPs point.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> Hello all! Recent creator of a similar tool that has been getting a lot of buzz, I am here to throw some constructive thoughts out there!

These ideas are useless from a technical level (for all the reasons that have been mentioned already.)

Where they are useful is at a social level. People are energized and ready to fight. Many of them didn't know about this issue. Many of them didn't know that there are things they can do as individuals to fight back. Your tool (and mine) are getting attention because they open eyes and tap into pain.

As useless as noise might be, people understand the idea and that makes it accessible. That means people will try it, get it, and share it.

We need to leverage that attention in order to teach those people things they need to understand about privacy. Our tools should be seen as a gateway into impactful approaches like Tor, VPN, HTTPS Everywhere, Privacy Badger, and the EFF at large.

Tooting my own horn: that's what I've been doing with [https://slifty.github.io/internet_noise/index.html](https://slifty.github.io/internet_noise/index.html)

In all interviews I make sure to explain that while this is an amusing form or protest, it is not effective and people who care need to go take the steps outlined on the project page.

A website can do this. A chrome plugin, however, risks being harmful with minimal benefit. It minimizes the potential for communication to your audience, it is also harder to access which means you are touching a more narrow audience.

Here's the good news! The project I linked to is open source -- [https://github.com/slifty/internet_noise/](https://github.com/slifty/internet_noise/) \-- you could contribute to it directly and then update your plugin so that instead of generating noise and hijacking their browser information you just direct them to the website version of the concept.

<comment><USER8> Hey there - I like your project. Sounds like our tools are complementary, and you make an interesting point about the browser-vs-plugin based approach. I do think it's worthwhile to specifically browse news sites - I believe they're the worst "filter bubble" offenders right now, and this can help break that. The more efforts there are in this space, the better. Thanks for sharing your project!

</comment></comment><comment><USER18> I created something similar yesterday afternoon [0]. Instead of opening a new tab, it just requests pages through a hidden iFrame and drops the headers so the request goes through.

It doesn't click on anything, because it would be awkward if this by chance started sharing things on logged-in Facebook profiles etc. I plan on adding sequential requests over the weekend so the traffic is more realistic.

It's open source and on Github, so you can download, install and modify it from there if you wish [1].

[0] [https://chrome.google.com/webstore/detail/decoy- requests/aeh...](https://chrome.google.com/webstore/detail/decoy- requests/aehfkpmplnnelkljnpekbbiddaigocmf)

[1] [https://github.com/marvinkennis/Decoy- Requests](https://github.com/marvinkennis/Decoy-Requests)

<comment><USER8> Cool! I really think this is a "the more the merrier" space. More tools = good.

</comment></comment><comment><USER19> Not to sound pessimistic, but as more and more people get forced into metered bandwidth, how is using a plugin that generates extra random traffic "sticking it to the 'man'"?

Edit: Yes, I know this is supposed to mask your actual viewing habits. But security through obscurity has never really panned out for anyone in the end.

<comment><USER20> This is not security through obscurity, this is obfuscation. Like everything in security, it's not all-or-nothing. It adds valuable noise, it won't hide your tracks.

</comment></comment><comment><USER21> Will this not be counterproductive, i.e. distribute your personal data to even more websites?

By the way, I once got blocked by Google after installing a plugin that did automatic random searches in the background.

<comment><USER22> Maybe install it in a different profile ?

<comment><USER21> IIRC, my IP address got blocked for some time.

<comment><USER22> Yes, Google can still monitor IP behavior, but you don't leak cookies for instance.

</comment></comment></comment></comment><comment><USER23> > Read and change all your data on the websites you visit

While I applaud the authors for trying to solve a problem, I will not install this plugin unless its open source. There is no way I'm going to grant the above permission to some random plugin just because they tell a compelling story.

<comment><USER24> Same here with a tiny twist: opensource _and_ has a SHA512 mentioned somewhere in the repo that could be verified against whatever comes from the chrome appstore.

<comment><USER25> Would be meaningless because the chrome store auto-updates addons.

<comment><USER24> Questionable action but, one could freeze extensions via extended file system attributes & permissions or work around the auto-updates through the hosts file or other means... [https://serverfault.com/questions/354606/where-do-i- find-the...](https://serverfault.com/questions/354606/where-do-i-find-the- update-url-for-google-chrome-extensions/354635#354635)

.. Or even a combination of the above.

</comment></comment></comment></comment><comment><USER26> IMO this is taking the wrong approach. Why spread your data accross more site, when the problem is the individual sites you visit - not random ones you don't? This (dead) project of mine sends similar data to the site you are currently on - but instead of noise it is purposely malicious and will ruin the website owners tracking abilities if used at scale.

[https://hello-kill.github.io](https://hello-kill.github.io)

</comment><comment><USER27> I've been thinking about building something similar since the first Snowden leaks. I figured encrypted traffic to various locations would be useful considering that security agencies store everything until they can decrypt it at a later date. Unfortunately I'm not well-versed enough in implementing proper encryption and I'd probably just end up shooting myself in the foot.

Has anyone else ever thought about doing this?

<comment><USER28> [https://news.ycombinator.com/item?id=14003270](https://news.ycombinator.com/item?id=14003270) :)

<comment> d--b [https://news.ycombinator.com/item?id=13643873](https://news.ycombinator.com/item?id=13643873) :)

</comment></comment></comment><comment><USER29> Using this will raise some flags (your online behaviour will be different from most).

</comment><comment><USER30> Somewhat related:

A long time ago I tried to delete my Facebook and realized it only deactivates until next login. You have to specifically request that they permanently delete it or something. And, it's not even clear if FB still doesn't store your info or not after that whole process (little sketch to be fair...).

So I came up with this idea that I'd make a service called socialfacewash.com that just completely trashes your digital profile (liking random things, changing your info, and just basically obfuscating what FB thinks they know about you).

I never built it though, but I kind of wish I did. Still own domain if someone wants it.

Trend seems to be that we're not going to have protections over our own digital privacy/data for a very long time. Maybe a service that could at least mask, lie, trash, obscure our footprint for everyone else would be nice to have.

<comment><USER31> Someone already created that: [http://suicidemachine.org/](http://suicidemachine.org/)

The even got a cease and desist letter from FB.

</comment></comment><comment><AUTHOR> Here is the author's guest post providing background for this plugin - [https://mathbabe.org/2017/03/31/guest-post-make-your- browsin...](https://mathbabe.org/2017/03/31/guest-post-make-your-browsing- noiszy/)

</comment><comment><USER32> [https://github.com/dhowe/AdNauseam](https://github.com/dhowe/AdNauseam) does the same but for ad-tracking. It hides ads from webbrowser but clicks them in background (just sends request to tracking server that user clicked the ad).

<comment><USER33> I think Google removed it from the Chrome Web Store recently. Bummer.

<comment><USER32> so at least we know it works!

</comment></comment></comment><comment><USER34> So, it's going to be noise among a patterned world. How will they not be able to filter this out?

People are creatures of habit. Example: I read HN with my coffee every morning. Interjecting meaningless data doesn't prevent them from finding my patterns.

<comment><USER35> so we need a plugin that creates a patterns. could we crowd siurce a patterns also. lets say i share my pattern with everybody and you share yours.

<comment><USER34> I bet the ML guys and gals would be able to suss out my pattern from a fake pattern.

<comment><USER36> Start an arms race, use ML to generate fake traffic.

</comment></comment></comment></comment><comment><USER37> I'm not sure I understand the point of this -- marketers will just discard this random data that doesn't match a human access pattern.

If this anonymized my tracking data for sites I visited, that would be useful, but sending a bunch of random hits doesn't seem like it will keep anyone from tracking _my_ activity which is what I want to shield.

</comment><comment><USER38> It generates meaningless tracking data by doing meaningless browsing automatically. So it sucks bandwidth. That's not a good solution.

Returning fake responses to tracking cookies is more efficient. For phones, returning bogus info to app requests for contact lists and location is especially effective.

<comment><USER8> It does suck some bandwidth - and your point is well taken, that would be a great technique too. It loads about one new page per minute, so it shouldn't be a crazy amount (unless pages contain video, for example). The thing is, anything less than visiting from your own browser on your own machine and doing user-like things (like waiting and then clicking again) is _easily_ filter-out-able for most tracking tools. The idea here is to purposefully associate the "noise" with your online footprint.

</comment></comment><comment><USER39> I have been working on something similar last night. Hack it and make some noise. No strings attached, kill it once you think its obsolete.

[https://github.com/shashanksurya/HaughtyDog](https://github.com/shashanksurya/HaughtyDog)

</comment><comment><USER40> This would probably be better as a daemon, not a browser plugin.

</comment><comment><USER28> This is exactly what I had in mind when Snowden happened. I never wanted to take this on, because of multiple reasons. Very awesome to see this, installed it immediately.

</comment><comment><USER41> Maybe I am being too naive, but could someone explain to me why just using a VPN would not be good enough to hide your traffic from these companies / governments?

I understand that perhaps they _could_ ask the VPN provider to give logs (depending on the provider, if they keep logs or not). But that would not work for the algorithms used to target you as an individual.

Could someone please explain that to me? :-)

<comment><USER42> VPN commonly only hides your IP for the time you're using it. There are many other factors that can be used to track you.

First is cookies. Say you log in to Facebook with your browser from your own IP address and a hour later you fire up VPN to browse the web. One of the websites you load has Facebook's tracking pixel and - unless you cleared your cookies - boom: Facebook knows you have visited that site.

Even if you clear your cookies, you may have some long-living stuff (like Flash cookies etc) that can be used to track your browser.

And even if you clear everything or use incognito, sites can use some clever heuristics (CPU power, enabled plugins, timezone, browser version, webrtc, etc.) to track your browsing and to match that it's you.

<comment><USER41> Well, for the first part, just restrict internet access without turning the VPN on. (For me, I can not access any website when the VPN is not active).

The last part of which you wrote is incredibly interesting. I had no idea they could find out the CPU power or the enabled plugins.

Though, to be fair, I think I'd fall in a pretty large pond to match. And either way, that information does not seem very useful (to me) for targetted advertisements.

Thank you for your answer :-)

<comment><USER43> The EFF lets you see all the fun ways you can be tracked by your browser fingerprint:

[https://panopticlick.eff.org/](https://panopticlick.eff.org/)

<comment><USER44> And yet that is a tiny fraction of fingerprinting tech. Many devs and companies roll their own as well. It is hard to anticipate or defend against all, or even most.

</comment></comment></comment></comment></comment><comment><USER45> An interesting way to look at this, but wouldn't it be possible to pluck this pattern out from relevant data?

<comment><USER46> It most likely is because it is incredible hard to create realistic fake traffic. The moment you start using such a tool is probably very easy to detect due to a sudden jump in traffic. Then you can use prior data to figure out what you were actually doing - sites you visit, times you are active times, how you switch between sites, how long you stay on sites, and so on. Randomly following links will show very different distributions.

You have to fake your browsing behavior with pretty high accuracy but if you do that, you defeat the entire purpose, you just created a copy of your browsing behavior. Maybe if there is no prior knowledge of your browsing behavior and the fake traffic is human-like enough, but even in that case it seems not too unlikely that one could separate the two traffic sources. If you want to hide your browsing behavior, the fake traffic must be different from yours. But if there is a difference, the difference can potentially be exploited to separate the sources.

<comment><USER47> If I were writing this, I would try to get it into as many hands as possible, and do some sort of backfeeding of data to generate "real" profiles of user activities, then send back down suitably randomized profiles of other real users that you use for some period of time.

It's important to conceive of this as an arms race, and I think one of the underappreciated things about arms races is that if you successfully anticipate the next three things your opponent will do and counter them, you can end up discouraging them from even fighting in the arms race. I don't know how random the page visits are, but if they are random in, well, almost any sense, eventually they will be something the trackers can filter out. "Well, this person shows a really strong signal for football, and weak signals for anime, robotics, accounting, and a hundred other things. Show them the football ads." Even today that wouldn't necessarily pose much of a challenge.

By contrast, if you get profiles from volunteers that are real, and then start mixing them up so that everybody downloading this extension shows ten or fifty equally strong signals of interest, of which only one is real, that'll scramble the data being collected something fierce, and require the data collectors to jump straight to very sophisticated teasing out of what's really true, which initially won't even be worth it until a lot more people are using this stuff. There's a lot of elaborations you can think of from there (temporal correlations, i.e., college basketball interest should be spiking now, vs. football), etc.

I have no idea what this extension is doing, because I can't seem to find any data about what it is doing, so maybe it's doing some of this stuff, but I expect they'd be talking about at least the data they'll need to collect to make this really work if it was going to work this way, so I assume without proof that it is not this.

In general, it's worth pointing out that a lot of systems can't be fooled by uniformly random data, because all real-world systems already have to be able to filter that out because all real-world systems experience noise, of which at least a significant component is probably more-or-less uniformly random. If you really want to scramble a system you need to be more clever.

<comment><USER46> _By contrast, if you get profiles from volunteers that are real, and then start mixing them up so that everybody downloading this extension shows ten or fifty equally strong signals of interest, of which only one is real, that 'll scramble the data being collected something fierce [...]_

This would also increase your traffic ten or fifty fold in a first approximation. You would make a single household look like a family with several people sharing the Internet connection. Netflix for example can separate several people using the same account, I read about that during the Netflix Prize [1].

But overall I agree with your point, you probably can throw a wrench into the machinery maybe even to the point that it is not worth to pursue tracking any longer. But it certainly is not easy and randomly clicking on links will definitely not do the trick.

[1] [https://en.wikipedia.org/wiki/Netflix_Prize](https://en.wikipedia.org/wiki/Netflix_Prize)

<comment><USER47> "This would also increase your traffic ten or fifty fold in a first approximation."

I suspect if you worked at it you could mathematically prove that will be a necessary condition for any _effective_ data collection scrambling technique, under an assumption that we can't use proxying to other nodes. And I do mean "mathematically" fully literally.

I'm eliminating the possibility of proxy, where you try to set up a situation where you create a P2P network and trade page views around, because I think that only works with a _really_ abstract view of how the tracking works. In practice, as soon as you want to use a site in an authenticated fashion you're getting tracked via that authenticated account, so I _think_ I can argue the only real possibility for scrambling the data is for it to source from the same network location as the real data you are generating.

On that note, it occurs to me this plugin probably ought to be automatically creating authenticated accounts on services you don't care about; the authenticated status of an account creates a shining signal that may be too bright to mask. Considering that a lot of the data you're trying to mask would be coming from Facebook, that would be a problem.

And now that I think of _that_ , use of this plugin really ought to result in your Facebook profile getting pretty badly scrambled, too.

Man, this is a big challenge. There's a part of me that is actually quite sad I can't drop everything and start going to work on this right now for pay. This sounds wicked fun, but way bigger than I could ever dream to take on.

</comment></comment></comment></comment></comment><comment><USER48> Excuse the ignorance, but are we safe in Europe..? Are we only talking about American ISPs?

What if an American ISP had a branch in Europe, could they sell our data, or the history must have been generated on American soil, or something like that?

</comment><comment><USER49> How is this supposed to work? If I click on `Start` it loads a page then nothing happens. I have to click `Start` repeatedly to make it visit new pages despite that it says it is `Running`.

</comment><comment><USER50> I believe random noise can be filtered out easily with AI. To be effective, this gonna be AI vs AI arms race, much like AV vs malware.

<comment><USER51> No need to bring a grenade to a fist fight.

If the overall history data is aggregated you won't really need to filter out the noise. Random browsing will just disappear under the threshold of noise and the 'real' browsing will stand out.

</comment></comment><comment><USER52> How about a plugin that routes any request to a sdserver thru Tor?

That would really screw up things for any location tracking.

</comment><comment> xyz-x Is this plugin available for Firefox?

</comment><comment><USER53> What exactly is the point? If the FBI suspects you in a case of the international heist of carrots and your search history includes "consealed carrot transportation" and "circumventing carrot museum security", it doesn't matter what else you googled. It only matters that this is included in it.

Edit: it was a 24-carrot job.

<comment><USER54> I don't think it's about hiding from FBI inquiries but obscuring the value of data that ISPs, Google, Facebook, et al are collecting and selling without your consent.

</comment></comment><comment><USER55> Doesn't seem like the best idea when it comes to environmental sustainability.

<comment><USER56> What does one have to do with the other?

<comment><USER55> Bandwidth has a physical cost

<comment><USER56> I assume it's de minimis, but do you have a reason to think otherwise?

</comment></comment></comment></comment><comment><USER57> I had an idea a few years ago to make a chrome plugin that would send encrypted emails (containing a randomly generated message) to all sorts of Muslim country email addresses, helping to reduce the fruitfulness of encryption circumvention and surveillance.

</comment><comment><USER58> Finally a DDOS solution for the Chrome browser

</comment><comment><USER59> radar detector detectors ... they are going to eventually happen here. sadly.

</comment><comment><USER60> this needs to be open source. this plugin could be very dangerous to install

</comment><comment><USER61> Traffic filters easily remove any plugin attempts to make a noise.

</comment><comment><USER62> Seems a nice idea

</comment><comment><USER63> Turns out it's only for Chrome, and the front page doesn't even mention this. Could we at least change the HN title from "A browser plugin..." to "A Chrome plugin..."?

<comment><USER64> It's hosted on Chrome Web Store, but otherwise it could very well work just fine in Edge, Opera and even possibly Firefox. They're all converging toward supporting WebExtensions, a mostly-Chrome compatible API.

<comment><USER25> Could? or does?

<comment><USER64> Didn't try. It almost definitely will work on Opera since Opera is based on Chrome and there's ways to install straight from the Chrome App Store. If the author released a direct download, it'd be easy to test in Firefox and Edge.

</comment></comment></comment></comment><comment><USER65> It's a nice marketing stunt -- not meant to be perjorative, I hope it inspires more innovation in this space. But I find it ironic that a plugin that purports to make it harder to track you has google analytics.

<comment><USER66> Dogfooding, I guess :D.

</comment></comment><comment><USER67> inb4 it gets removed from Chrome Web Store!

</comment><comment><USER68> "creates meaningless web tracking data"

or

creates a massive botnet which will eventually be used for some nefarious PPC scam or worse

you decide ...</comment>


Help this guy understand how to find a technical co-founders on Jig.com - <AUTHOR> https://www.jig.com/need/a-technical-co-founder

<comment><AUTHOR> Indeed, but I tried to be open with his own criticism on my response. Helping others understand how to work with others helps everyone and I am a developer who wants to bridge that gap.

Though definitely know when to walk away like you said.

Thanks guys.

</comment><comment><USER2> Never argue with a fool – they will drag you down to their level, then beat you with experience.

<comment><USER3> This one screams "psychopath - stay the hell away"</comment></comment>


An in-depth look at the performance of guile's web server - <AUTHOR> http://www.wingolog.org/archives/2012/03/08/an-in-depth-look-at-the-performance-of-guiles-web-server <comment><USER2> This is a duplicate of <http://news.ycombinator.com/item?id=3682207>. One submission included www, the other did not.

An aside: The webserver at wingolog.org returns the same content for both. It's a better idea to standardize on www or no www, and redirect one to the other.

<http://no-www.org/> <http://www.yes-www.org/></comment>


We need to disrupt these handymen. Who will be our Travis Kalanick? - <AUTHOR> http://cyberomin.github.io/startup/2016/03/06/mr-t.html <comment><USER2> The "solution" for this sort of problem is information. Unfortunately, the 3rd parties that can help correct the information asymmetry seem to turn into protection rackets.

[1] [http://advanceindiana.blogspot.com/2015/03/class-action- laws...](http://advanceindiana.blogspot.com/2015/03/class-action-lawsuit- exposes-angies.html)

[2] [http://www.ibtimes.com/yelp-extortion-rampant-say-small- busi...](http://www.ibtimes.com/yelp-extortion-rampant-say-small-business- owners-class-action-lawsuit-against-review-bully-appealed)

[3] Google "BBB protection racket"

</comment><comment><USER3> While I agree that it can be frustrating trying to deal with contractors, I don't think that this kind of commodification of labor is healthy for society.

<comment><AUTHOR> Why do you think so? Do we all continue to deal with this inefficiencies and cause ourselves untold heartaches?

<comment><USER3> When I wrote that, my thought was that the trades are one of the few ways left for blue collar workers to work for themselves and not for Capital, and it would be a shame to end that.

Thinking about it some more tho, if you're, say, a plumber and you're any good, you're going to have as much work as you want to take on, and you would have no incentive to participate in such a program. If you're a plumber and you do have incentive to participate, logically you're not any good, and why would I as a client want a bad plumber to fix my pipes?</comment></comment></comment>


Please Twitter, Can I Have a Premium Account? - <AUTHOR> http://pandodaily.com/2012/06/21/please-twitter-can-i-have-a-premium-account/ <comment><USER2> I am not sure Twitter needs a premium account. What it does need to solve is making it easy for first time users to find content from authoritative sources. The noise problem is far too big for Twitter to keep ignoring.

</comment><comment><AUTHOR> Agree that the noise problem has gotten out of control. Timeline with more than 150 people in it is chaos. Twitter offers only one way to organize your timeline, chronological order. Needs some way to organize.</comment>


Mafiaboy Grows Up; a Hacker Seeks Redemption - <AUTHOR> http://www.pcworld.com/article/152176/ <comment><USER2> Look at this:

"Calce estimates that he had hacked into perhaps 40 percent of the major universities in the United States, _using attack code that he picked up online_"

and

"_He took denial of service attack code written by_ a hacker named Sinkhole and developed a way to remotely train all of his approximately 200 university networks on the same target simultaneously, he said."

I think some users are confusing Hacker News with Script Kiddies News.

<comment><AUTHOR> How many script kiddies have taken down Yahoo or eBay?!

This is a classic case of someone hustling. He got caught and now he's saying he's just someone who used someone else's tools and is just a nobody who played around... all to lessen the blame for the crime he committed so he gets a lighter sentence.

Don't believe everything you read.

<comment><USER3> What kind of self respecting hacker would admit to the cops "yeah I'm a super kick ass hacker with mad skills" and risk invoking more punishment/hassle?

"I learned how from the Intertubes officer."

</comment></comment></comment><comment><USER4> This is one reason why its so important to keep your home computer secure. A single cable connection doesn't do much, but tens or hundreds of thousands can easily bring down a big site.

It takes half a brain to build a botnet to DDOS. It takes much more skill to be on the other side protecting against these attacks. Good for Mafiaboy.

</comment><comment><USER5> i remember it was somebody else who did the time for those ddos attacks</comment>


To be mindful in turbulent times, turn to an ancient form of entertainment - <AUTHOR> http://vincelutton.com/to-be-mindful-in-turbulent-times-turn-to-an-ancient-form-of-entertainment/ <comment><USER2> no. people without ADHD are not 'living with a form of ADHD' and your 'cure' for ADHD is tantamount to dismissing the struggle of those with clinical depression with a quip about just going outside and getting fresh air.

<comment><AUTHOR> I was diagnosed with ADHD over 20 years ago. I took medicine to help cope it with it for much of my life, by choice, I chose to try to find other remedies on it.

This is certainly not medical advice and is very much anecdotal, but I do find that simple remedies of getting outside, meditating, and exercising regularly help me a lot with managing my negative symptoms. I appreciate your view point and can see your point. My goal was to share something that has anecdotally helped me in the hopes that it might help someone else.

Thanks for taking the time to read and respond, it means a lot.

<comment><USER2> Great, I have an ADHD diagnosis as well. In fact, my coping strategies are pretty similar to yours. Framing what is otherwise an interesting idea for a mindfulness practice for the masses as an easy "cure" is not only speaking for all of us, it diminutizes the condition for those who don't understand what life is like when you just can't point your mind at the thing in front of you. I get enough of 'well, everyone has trouble focusing sometimes,' which is why I even bothered to dig up my login to comment. Thanks for the level response, I had reservations that any response might turn into a poo-slinging contest and I'm glad it didn't!</comment></comment></comment>


Is there a 'Moore's Law' for web pages? - <AUTHOR> http://www.teknoids.net/content/there-moores-law-web-pages <comment><USER2> Interesting insight. I wouldn't be sure to call it a law if it didn't apply to every web page, which this wouldn't.

But if one could do some averaging for every year, I'd like to see if a similar trend happened.</comment>


Reminder: Design is still about words - <AUTHOR> https://37signals.com/svn/posts/3404-reminder-design-is-still-about-words

<comment><USER2> Craigslist actually looks better without words.</comment>


If Men Could Menstruate - <AUTHOR> https://ww3.haverford.edu/psychology/ddavis/p109g/steinem.menstruate.html <comment><USER2> outrageous nonsense, and racist to boot.

<comment><AUTHOR> are not unable to entertain a thought without accepting it?

<comment><USER2> I entertained it, it didn't entertain me.

<comment><AUTHOR> why?</comment></comment></comment></comment>


Meteor and Qt - <AUTHOR> http://achipa.blogspot.com/2014/12/meteor-and-qt-match-made-in-heaven.html

<comment><USER2> There is a lot opinions on HNews that Meteor is too monolithic and it's bad: [https://news.ycombinator.com/item?id=8772563](https://news.ycombinator.com/item?id=8772563)

However, that kind of projects show the opposite. It is in fact very modular.

<comment><USER3> The fact that so many dismissed it without giving it a serious look made me interested in seeing what it was really about. Long/short - it's an amazingly focused, fun and easy stack to work with. I think the fact that it's easy, or at least seems easy and probably because it's _another javascript framework_ makes it an easy target to dismiss on HN. If you are coming from a web background like myself (aspx, ruby, etc) then it's quite a revelation how fast, fun and easy it is to work with.

<comment><USER4> I think that Meteor is pretty awesome, but it isn't good for a lot of use cases out of the box... If you need really granular and flexible security around your models, the out of the box security isn't (or wasn't last I checked) good enough.

Common case.. GROUP_A users can read/write their own documents, but only read other user's documents in that group... GROUP_B can read/write their own documents as well as all documents owned by users in GROUP_A. This is a pretty typical scenario for management chain permissions, but when I've looked ad Meteor and similar solutions it wasn't an option (or incredibly difficult to implement).

<comment><USER5> This is more of a data modeling and permissions question, more dependent on the database choice rather than the framework I'd say. Since Meteor only supports Mongo right now, I'll use Mongo terms (collections & documents)

Meteor gives you an accounts collection so you don't have to declare it yourself. But we do need to declare the Groups Collection

        Groups = new Mongo.Collection('groups');

Let's assume we want Users and Groups to have a many to many relation, so each User doc has an attribute `groups`. `groups` is an array of which each element is the unique id of a Group document. Similarly, Group documents have an attribute `members`, an array of which each element is a User document unique id.

There is a third Collection needed, documents.

        Documents = new Mongo.Collection('documents');

Each document in the Documents Collection has an `owner` field that is the unique id of a Group document.

To handle the security for inserting or updating the Documents Collection, you need to set 2 allow rules on the Collection to check if the document.owner is in the user.groups array.

        Documents.allow({
          insert: function(userId, doc) {
            // doc's owner must be one of logged in user's groups
            return Meteor.user().groups.indexOf(doc.owner) > -1;
          },
          update: function(userId, doc, field, modifier) {
            return Meteor.user().groups.indexOf(doc.owner) > -1;
          }
        }

As for reading the document, you do that when declaring your Publications. Easiest would be to publish all of them, but you could also pass in a groupId or array of groupIds if you wanted to have some restrictions.

        Meteor.publish("documents", function() {
          return Documents.find();
        };

<comment><USER6> I am not a hater, quite the contrary. I've messed around with Meteor just a bit, and loved it. But I cannot get my head around one thing: why in the world would anyone actually choose to use MongoDB over Postgres or MySQL ?Is there actually a use case where a NoSQL db would be as good or preferable? Or is it really all just a matter of people being intimidated by SQL? Because everything informed and trustworthy that I read on the subject says that NoSQL is simply not robust enough for doing anything more complicated than storing a list of names and email addresses for a simple user forum. That ain't gonna cut it for most apps.

<comment><AUTHOR> AFAIK The reactive part is not that easy to with Mysql et al - sure, you can hack around stored procedures, UDF and such, but it's far from being elegant. If you "think in SQL", then of course nosql seems to make everything difficult, but in reality, you're just taking back some of the logic and heavy lifting from the DB server in exchange for more freedom/scalability, which may or may not be something you want.

<comment><USER6> Thanks to all for the intelligent replies.

I 'think SQL' all day, or at least a simple subset of it, and I need to learn more. It's paying my bills as a .NET/JavaScipt dev, you know? I'd like to integrate it into my hobby projects. But I'm gonna watch that video linked above and see what it sells me. I certainly don't have any innate resistance to thinking of data as (basically) JSON arrays. I love that. We use that sorta stuff all the time at work, passing data back and forth, to and from the core client JavaScript functions.

I just can't shake the notion that NoSQL is so popular because SQL just is NOT. And I get that: SQL is freaking complicated once you get to the parts that make it so powerful. But maybe that's all a misunderstanding on my part.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> There were some concerns as to how native this is - I'm not rendering any HTML. The client side does use the JSON-style QML, but that's just the declarative UI language of Qt - your high-performance code can be C++, Java, or whatever is the native language of the platform. If you wish, though, you can write your whole app in JavaScript, too, but that's an option, not a requirement.

</comment><comment><AUTHOR> Hi, I'm Attila, the developer of Qondrite - the interface between Meteor and Qt in the article. If you have any questions, feel free to ask, I'm always looking for new perspectives, comments and will be happy to answer!

<comment><USER7> Really impressive work, thank you. I intend taking an in-depth look later, but just at the moment I hope you'll indulge a more-or-less off topic question; What tool did you use to create the youtube demo on your blog ?

<comment><AUTHOR> I used a Chrome extension - Screencastify ( [https://www.screencastify.com/](https://www.screencastify.com/) )

<comment><USER7> Much appreciated, thanks.

</comment></comment></comment></comment><comment><USER8> Meteor is monolithic in that it forces your app to be structured in a particular way - It dictates how you should handle your data and how your scripts get loaded/bundled into your app. That said, I think it's much more flexible (and scalable - In a business sense) than a closed solutions like Firebase. I think Meteor is suitable for most projects and monolithic isn't always a bad thing - There is some negative stigma around the term but it's not entirely fair. People don't go around calling Linux 'monolithic' even though it is!

<comment><USER9> It's definitely monolithic, but depending on what you're doing it can be a real time saver to have a lot of decisions made for you up-front.

</comment></comment><comment><USER10> This is really interesting. I use meteor for the web, but am frustrated with mobile html5 client clunkiness.

If i understand: \- your UI is written in QML. \- you are using Asteroid to turn DDP protocol messages into JS events? \- are you then reactively changing the QML markup and asking QT to re-render your UI? I'm interested how this part works.

How granular is the reactive rendering, ie the whole page every update, or just changed components (like reactjs DOM diffing)?

Have you dealt with other client side things like routing and page changes, or is it currently content for QML widgets?

How far does QML allow native widgets like tab controls? Does a QML app end up just as janky as html5?

Did you look at just having a QT application that would talk DDP? I guess QML looks like json/markup so it's more appealing for porting an existing meteor app, and it's markup rather than code, but some mapping to QT would presumably give much more control?

How do you deal with client side logic? If QML is just a layout descriptor markup, if you need actual logic client side, how do you bridge between that and the meteor backend? I see Asteroid allows you to send data back and call Meteor.methods. Oh I see QML actually anticipates modules in JS: [http://doc.qt.io/qt-5/qtquick-tutorials-samegame- samegame3-e...](http://doc.qt.io/qt-5/qtquick-tutorials-samegame- samegame3-example.html) [http://doc.qt.io/qt-5/qtqml-modules- topic.html](http://doc.qt.io/qt-5/qtqml-modules-topic.html)

Does QML support a webview component? In which case you could also mix in some pages just as webviews if you didn't want to rewrite your whole app in QML? Then again only attractive if the QT webview component uses latest chrome renderer at an OS level, and no JS bridge was required back to your app... that would be like a turducken anti-pattern.

Overall very interesting, thanks for sharing!

<comment><AUTHOR> Yes, I'm using Asteroid to talk DDP/JSON with the rest of the Qt app.

In the example, I'm using models (think MVC) and updating that model, which then automagically updates the UI.

I'm not (yet) pushing the QML via Meteor, but that is the next logical step. Should the UI change (say, radioboxes instead of checkboxes), the plan is to do a diff and change altered components (this should be doable as QML's format is still close enough to JSON).

QML already has a decent set of controls ([http://doc.qt.io/qt-5/qtquickcontrols- index.html](http://doc.qt.io/qt-5/qtquickcontrols-index.html)) but I'm working on wrapping native components so there is full coverage of ALL components (this was actually one of my previous posts [http://achipa.blogspot.com/2014/11/qml-wrappers-for- native-a...](http://achipa.blogspot.com/2014/11/qml-wrappers-for-native- android.html))

Of course, you could write a C++ DDP lib (and on the long run, probably should, merely for the performance boost), but asteroid and JS just made a proof-of-concept that much easier to build.

QML is not just a layout descriptor - you can embed javascript in it. Think about QML as HTML written in JSON, but without the HTML implied semantics.

Still, JS could also be shuttled accross the DDP connection, and could be run or changed client-side, there is no difference between those and QML as I mentioned above, though this is also something planned-but-not-implemented- yet.

And finally - yes, QML has a webview component([http://doc-snapshot.qt- project.org/qt5-5.4/qtwebengine-qmlmo...](http://doc-snapshot.qt- project.org/qt5-5.4/qtwebengine-qmlmodule.html))

</comment></comment><comment><USER11> Wow, QML looks... really nice. Has anyone used it to deploy cross-platform apps to iOS/Android? What was your experience? Biggest drawbacks?

<comment><USER12> As of 2012:

* Lack of documentation about QML itself (first and third party)

* Unhandled or unsupported corner case like trees that are a pain to implement using recursive rectangles

* Very limited set of widgets (this has improved)

* Ubuntu/Blackberry/Sailfish/PlasmaActive SDK are incompatible

You can hack your way around and get back a good old imperative QPainter and be done with it, but it kind of void the whole point.

<comment><AUTHOR> In all honesty, Qt has come a long way since 2012 - QML is reasonably well documented nowadays. Controls (the widget library), while not a silver bullet, are good enough (at least on Android, haven't used iOS all that much) so normally you don't need to go as low as your own QPainter or even Rect-s.

</comment></comment></comment><comment><USER13> My stack uses Appcelerator, Rails, and Meteor.

Appcelerator... kind of sucks. But it's much better than HTML5. It performs much better than HTML5, but I find it very hard to write. There's just way too much quirkiness and hacks to make it work. The only thing I like about it is that it's written in JavaScript (but it would be fun to learn a new one).

How does QT compare in this regard?

<comment><AUTHOR> Performance-wise Qt is quite good, but still comes up a bit short on the Widget quality and consistency side - this is where project like my native component-wrappers come in to the story (shameless plug - [http://achipa.blogspot.com/2014/11/qml-wrappers-for- native-a...](http://achipa.blogspot.com/2014/11/qml-wrappers-for-native- android.html)). The good news is that you can still keep on the JSON/Javascript side for all of this, regardless of whether you use custom UIs, use Qt Quick Controls or something else.

Long story short - it's not quite an Appcelerator replacement just yet, but certainly keep an eye on it! :)

</comment></comment><comment><USER14> What's the difference between this and Xamarin?

<comment><AUTHOR> This is a more full-stack approach - Qt and Xamarin are geared more towards creating standalone apps. What you get here is the reactive back-end (plus web-site for free). This setup can be used for both data and UI - you could for example publish a new UI (not just content), and all native apps would automatically be updated on the fly. If you take a look at the video - if you do this with Xamarin (or Qt) you would need to manually connect to a database or poll a RESTful service to see current data.

<comment><USER15> It's worth noting that if you wanted to create this kind of real-time app with a Xamarin frontend, you could do it quite easily with ASP.NET on the backend and SignalR.

<comment><AUTHOR> That's certainly possible for the data part - but a lot harder for UI/code. With the method I'm using, you can actually push code AND UI to the client on the fly. As far as I know, that's a lot more difficult with Xamarin.

Also, the licensing is a lot more flexible than with Xamarin and Qt does provide support for more platforms.

<comment><USER14> It looks attractive, but at these times, the client application can be easily be auto-updated, that's how all applications work, including those made by Google.

<comment><AUTHOR> Just wondering - what auto-update mechanisms are we talking about when it comes to _native_ apps?

<comment><USER14> In the case of Android, jsu uload the new version to Google Play and the applicatio will auto-update it self.

<comment><AUTHOR> This is not the same thing by a long shot - you cannot force a Google Play update, and that update will take hours or days to trickle down to the users. What we're talking about is that the application updates itself _instantly_ , even WHILE RUNNING. The user needs to nothing, no "update your app" or "newer version available". I can literally add an option in the settings menu or change something in the app and it will immediately be reflected on ALL clients connected without touching the appstore.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> If you want a higher-level cross-platform websocket layer between client and server you could also checkout WAMP ([http://wamp.ws](http://wamp.ws)) as an alternative to DDP. You would need to implement some things on your own, but on the other hand it's more of an open standard and there are already multiple targets available.

<comment><AUTHOR> Looks nice - Meteor natively speaks DDP so it makes most sense to use when talking to Meteor, but for other back-ends I will certainly consider WAMP! (no reason why this principle could not be applied to other back-ends hooking into the same WS powered Qt front-end)</comment></comment>


Show HN: LED Lights Simplified Again - <AUTHOR> https://ledstriplight.co/ <comment><AUTHOR> Hey HN, Recently I have noticed that Amazon's UI is extremely unusable for me. With tons of generic products, its very difficult to narrow down the options. So this is the second iteration of the site. I have been working on this for awhile so very eager to hear your feedback.</comment>