Gitlab reducing free tier CI/CD minutes from 2000 to 400 minutes - <AUTHOR> https://about.gitlab.com/releases/2020/09/01/ci-minutes-update-free-users/ <comment><USER2> One thing that always confuses me about the business factors in this kind of announcement, where they say that the vast majority of users won't be effected:

> We evaluted CI/CD minute usage and found that 98.5% of free users use 400 > CI/CD minutes or less per month.

Okay, so just that 1.5% of free users, each using at most 1600 minutes more than the 400 under the new limits... is enough cost to actually matter and make it worth making this change?

Or they anticipated that number going up if they didn't make the change?

It seems odd to me to say "This hardly effects anyone at all, almost everyone can keep doing exactly what they are doing for the same price (free in this case)", AND "this was necessary for the sustainability of our budget."

What am I missing?

<comment><USER3> These are carefully constructed truthful statistic lies.

Of all the free users, how many of them even have a repository? Out of all the users who have a repository, how many of them actually make any use of CI/CD?

They are saying "1.5%" to make it sounds small, but those 1.5% could account for a significant portion of total minutes of CI/CD used.

<comment><USER4> This is exactly it. 1.5% of users does not equal to 1.5% of CI/CD minutes. And such messaging isn't always dishonest. If you have 99 users using 100 minutes each and 1 user using 10 million minutes, setting the max limit to say 1000 is a net benefit for the system and its users, at the expense of the one outlier.

<comment><USER2> Yes, but in this case one user couldn't use 10 million minutes, they were already capped at 2000. Now they are capped at 400 instead. So that limits how extremely disproportionate the high percentile use could be. As I said, that 1.5% of users could have been using at most 1600 more minutes a month than the new max.

<comment><USER5> If the other 98.5% don't use any minutes, then it's an 80% reduction. That seems pretty good. We can't say more without real numbers though.

</comment></comment></comment></comment></comment><comment><USER6> Their existing policy has never made sense to me. You can only give away so much stuff on a free plan. I don't think CI/CD is cheap. Buying extra minutes for $10 (not per month) is completely reasonable. At some point I feel uncomfortable using a free plan that is obviously unsustainable.

<comment><USER7> You can also run your own CI/CD runner for free and use their platform for coordination. I do this and it works well, as easy as running a docker image. Runs on my homelab.

<comment><USER8> Can you share a bit more about this? I'm interested in setting this up myself. A link the docker image or name I can google?

To be clear, you store all your code on Gitlab's servers (i.e. not self- hosting git instance) but just "outsource" the CI/CD work to your homelab? That's my ideal.

<comment><USER9> You run an agent called the GitLab runner. You configure it with a token from your Gitlab.com group or repo (depending on where you want the runner to be available). You tag the runner and reference it by tagging CI jobs you want to run on it. The runner polls for outstanding jobs and then executes them. It is extremely flexible in how it does this. In our case, the runner manages a fleet of executors using docker+machine. I believe this is similar to how Gitlab does it internally.

See [https://docs.gitlab.com/runner/](https://docs.gitlab.com/runner/)

<comment><USER10> I did macOS runners this way, combining the runner with the VirtualBox executor. Best part is once you set up the base VMs (one per macOS version), the runner is smart enough to take a snapshot right after boot and restore that on subsequent runs, which not just makes job running stateless, but also makes job worker boot about 2s.

</comment></comment></comment></comment></comment><comment><USER11> I've never really understood "minutes" as a unit of build work.

What kind of server are we talking about? What CPU? How much RAM? How fast is the storage access? Is my instance virtualized? And if so, do I have dedicated resources?

I have a build that takes around 70 minutes on an 8-core i9 with 32 GB of RAM and M.2 SSDs. What does that translate into for Gitlab "minutes"?

<comment><USER12> What would be the most immediately understandable way to present that? Suppose they added new, faster servers in the future; what unit would make the most sense to offer that won't change in the future?

<comment><USER13> I mean like other public cloud providers it would make sense to have instances and per minute pricing for an instance. If there is only one instance type that's fine.

<comment><USER12> What about if there's one instance type, but sometimes that instance gets upgraded so that the same things take less time? Is there a unit that would make more sense than "minutes", and be stable over time?

For instance, "time to compile XYZ well-known project"?

<comment><USER13> Time to compile is a hard to gauge metric. I'd rather just be transparent that the instance type has changed.

It's presumably in a big standardized DC. They don't have a continuum of instance configurations, they probably upgrade rarely and systematically. If they are mid upgrade just have 2 instance types available then sunset the older one. Since the upgraded instance is a new instance type it can have new (or same) pricing. In addition, they could publish benchmarks for each instance type if they want.

It is literally what we see with cloud providers having v1/v2/v3 names for some instance types.

</comment></comment></comment></comment></comment><comment><USER14> Honestly not that big of a deal given that(I would assume) most probably run their own gitlab runners. I personally use the free tier and have a bunch of my own runners.

</comment><comment><USER15> For smaller projects who aren't ready to start spending yet, it's pretty trivial to spin up your own runners on a server. Not sure how it scales, but Gitlab has pretty solid guides on how to make one. It took me maybe an hour the last time I looked at it, worth checking out. Definitely easier to drop $10 than maintain that though, I'm a fan of Gitlab's CI/CD infrastructure.

<comment><USER16> This thing of spending like an hour setting up a runner is one of the things I wanted to address with [https://boxci.dev](https://boxci.dev) \- A CI service I've built with a similar bring your own runners model but where "setting up the runner" consists of just installing a package, literally done in seconds :-) You should check it out.

<comment><USER15> Awesome! I'm a couple weeks from turning my attention to ci/cd for a side project. I'm going to bookmark this and I promise I'll check it out!

</comment></comment></comment><comment><USER17> $4/mo for 2000 minutes is reasonable. GitHub Actions does 2000 minutes for free/3000 minutes for $4, wonder if they'll drop their free tier a bit without the competition.

<comment><USER18> At $4/month you can get a server from anyone for 700+ hours of CICD .. this doesn't sound like a great deal to me unless you're CICD can't exist without ~2gb/ram and the cpu limits... Or unless GitLab runners have 16+GB RAM and lots of CPU for large jobs

<comment><USER19> Today, for our Linux Runners on GitLab.com, those Runners are currently offered only on one machine type, Google Compute n1-standard-1 instances with 3.75GB of RAM. Our current Windows Runners on GitLab.com are Google Compute n1-standard-2 instances with 2 vCPUs and 7.5GB RAM. In the future, for Linux and Windows Runners, we will offer more GCP machine types. For our soon to launch macOS Build Cloud beta, we are planning to start with one virtual machine size and then possibly offer different machine configurations at GA.

So as you get going initially with GitLab SaaS, you don't have to set up your Runners for your first CI/CD jobs. Then, depending on your requirements, and as your use cases evolve, you can easily set up your own Runners but still benefit from the included minutes.

Darren Eastman - Product Manager GitLab Runner

</comment></comment></comment><comment><USER20> Why many words when little would do?

"We want to reduce cost and make more money, therefore today we reduce the number of free minutes from 2000 to 400 for free accounts. There are options to buy more minutes. kthxbye."

So tired of corporate PR BS.

<comment><USER21> I work at a medium-ish enterprise and the comm team forbids engineering from sending out notices to customers without clearing past them. Not sure if it's the same for Gitlab, but sounds like something similar...

</comment></comment><comment><USER22> This is only about seven builds per month for my Rust project, not too bad but something I'll have to keep in mind.

Does anyone else think this is a Gitlab campaign against overuse of monomorphization in Rust projects? I just can't get myself to use Dyn...

<comment><USER23> > Does anyone else think this is a Gitlab campaign against overuse of > monomorphization in Rust projects?

No,not really. I mean, in healthy projects build times are dwarfed by the time it takes to run tests. In web development projects even the delivery and deployment steps dwarf build times.

<comment><USER22> > in healthy projects build times are dwarfed by the time it takes to run > tests

I don't doubt that's often true but many Rust projects may be outliers here. A full, non-incremental build of a Rust project involves building all of its dependencies. This can add significant amounts of time if a project uses a big framework like Actix-web, which adds many dependencies.

My tests however run very quickly, ~1ms each. So running thousands of tests only takes a few seconds, even on relatively slow gitlab runners.

<comment><USER24> You should be caching the builds of your dependencies. This is very easy with cargo and GitLab. I think encouraging people to optimize this is a reasonable cost to push onto the free users.

<comment><USER25> To add to your point, the caching is done by adding a cache entry to .gitlab- ci.yml :

      variables:
        CARGO_HOME: $CI_PROJECT_DIR/cargo

      cache:
        key: "$CI_JOB_NAME"
        untracked: true
        paths:
          - cargo/
          - target/

</comment></comment></comment></comment></comment><comment><USER26> That page links to [https://about.gitlab.com/solutions/open- source/program/](https://about.gitlab.com/solutions/open-source/program/) for determining if your project can have more free minutes. It sounds like that says if you have a public repo you get a bajillion (50,000) free minutes. That seems like a crazy good deal.

</comment><comment><USER27> The feature that sold me GitLab was the ability to run your own runners. It's basically 10x (source needed) cheaper than other hosted CI/CD services. Most basic setup is like 3 commands.

</comment><comment><USER9> Gitlab's SaaS offering is an excellent product. It is absolutely worth paying for. Their free tier was and still is very generous. I hope this isn't a signal that they are having trouble. I've kind of naturally shifted 90+% of my work over the Gitlab over the past year. I love it and want to stay!

</comment><comment><USER28> 400 minutes is plenty to decide if you need to pay for the service, and they need to stay in business. Eminently fair, and still far better than the typical 1 month free.

</comment><comment><USER29> Are we in a "belt-tightening" cycle? Noticing that Docker and now Gitlab are reducing their super generous free tiers...

<comment><USER30> There is a global recession out there, of the kind that only happens once every 3 or 4 decades.

Even if those companies aren't losing revenue (they probably are), there is less investment money too, so they are still impacted.

<comment><USER31> it isnt evenly distributed. usage of cloud services is UP if aws results are any indication. gitlab should experience a similar lift.

<comment><USER30> Investment money drying up is very well distributed. Even if none of those companies are looking for money right now, when it gets tight it's a good practice to reduce your spending so you need less of it.

Those things the OP is talking about are all investment, so it's natural that they get cut.

</comment></comment></comment></comment><comment><USER32> Does anyone know how to see historical runner usage on GitLab? I'm digging into the interface, and I only see current month usage, no ability to go back to previous months. With this reduction news, I thought the interface would have updated with better details.

<comment><USER33> GitLab PM here. We will enable view of previous months' usage in this issue: [https://gitlab.com/gitlab- org/gitlab/-/issues/246844](https://gitlab.com/gitlab- org/gitlab/-/issues/246844)

</comment></comment><comment><USER34> Seems like they've done it in a pretty reasonable way.

</comment><comment><USER35> Can anybody provide more info about how to set up your own runners? I have a VPS which runs dokku - can I spin up some containers there? Or can I just run it locally on my laptop (usually my laptop is connected to the internet when I push my changes and trigger CI so it could run there?)

edit: I had the look at the docs but they're quite overwhelming with lots of options. I run linux on my laptop. If the setup is too complicated I'll just purchase some minutes and call it a day

</comment><comment><USER36> I see a lot of comments citing gitlab as devious or showing statistical lies. The basic point is that gitlab is a business that is competing in an area where competitors have infinite pockets. GitHub can allow users to use 2000 minutes and even make it free for teams because Microsoft has a huge war chest. Gitlab on the other hand is valued at 1/1000 and has to be profitable to survive.

</comment><comment><USER37> I wish they would make there merge request work like GitHub's pull requests. I always miss the messaging when there are merge conflicts. Also would be nice to have something similar to status checks with the annotations support like GH.

Now I am going to see if they fixed the bug were copy to clipboard stopped working a few months ago. Why would I want some JSON blurb intrad of branch name when copying it

</comment><comment><USER38> This seems totally reasonable.

</comment><comment><USER39> This is cool, I love that gitlab lets you purchase extra minutes adhoc without a tier change. Neither GitHub nor CircleCi let you do that

</comment><comment><USER40> Do they have metrics on how many free tier accounts actually use the CI/CD feature and of those how many exhaust the former 2000 minute quota?

I am asking because my use is definitely in the minority of the user base which is just slapping projects into a managed git repo that is not owned by Microsoft.

This was before github decided to allow private repos for free.

</comment><comment><USER41> Colleague of mine blogged about how to save on Gitlab runner costs using AWS Spot instances not too long ago, [https://makersden.io/blog/reducing-gitlab- runner-cost-with-a...](https://makersden.io/blog/reducing-gitlab-runner-cost- with-aws-spot-instance)

</comment><comment><USER42> At the end of the day it will all come down to a very simple thing: pay up or hit the highway. There is only so much charity company can afford if it is there to make money rather than vaporizing investments.

</comment><comment><USER43> CI pricing (gitlab, github actions, circleci etc.) is all extortionate. When they price by 'user seat' (gitlab) or 'credit' (circleci), comparing pricing is like trying to pick a cell phone plan.

AWS Code Build will always be an order of magnitude cheaper, it's just slightly harder to set up but it works very well. It's unclear how all these other services will ever compete with that.

For example, to run a CI server on Gitlab for a team of 8 that never spun down, it would cost $492 per month on their 'shared' runners. On AWS Code Build, you get a DEDICATED ec2 instance for $223 per month and only pay for what you use when it's running.

<comment><USER44> The setup time isn't cheap, though, and the UI is... confusing.

If you're using a dedicated ec2 instance, most providers (gitlab, buildkite, github, etc) will let you connect it as an agent for free.

IMO using your own runner is a better way to go in general because the standard ones tend to be very underpowered and you can get much faster builds without spending much.

At that point different providers are largely competing on price and UX (imo Buildkite have the best developer UX and the time saved as a result is well worth the price).

(Not affiliated with buildkite other than as a user).

</comment></comment><comment><USER45> Hetzner VPS for $35, caprover and you can install many one click apps, plus there is gitlab ce and some CI/CDs...For just $35 a month...

<comment><USER20> You can get an AMD bare metal for that price:

[https://www.hetzner.com/dedicated-rootserver/matrix- ax?count...](https://www.hetzner.com/dedicated-rootserver/matrix- ax?country=ot)

<comment><USER45> Thanks for pointing this out, I am still on Intel hardware with 32G of RAM, this has double that :D

</comment></comment></comment><comment><USER46> When can we address only offering yearly plans for the paid user seats? We would have upgraded months ago if we could go month to month....

</comment><comment><USER47> What would be the cheapest way (ideally free) to setup custom runners?

</comment><comment><USER48> Good timing with Docker being the first-mover with its Hub pricing change.

</comment><comment><USER49> This doesn't change anything for us, we use our own runners.

</comment><comment><USER50> I wonder what would be the response here if GitHub did the same.

</comment><comment><USER51> edit: I can't read, ignore my gripes on github actions. Gitlab is the best!

<comment><USER52> This is about gitlab, not github.

</comment></comment><comment><USER53> I know I work at Microsoft and this is going to sound bad but...at what stage is it other companies doing EEE?

</comment><comment><USER54> They sort of hang themselves with this -- gitlab runners will occasionally hang and just run for the full 1 hour max, making it very easy to max out your hours. Presumably they don't fix this so people max out their hours and have to buy more, but it also hurts the bottom line of their free tier. I see this happen at least 2x a month on our project, and it doesn't seem to correspond with any particular docker image.

<comment><USER19> Can you raise an issue in the GitLab Runner project? This way we can take a closer look at the errors you have experienced.

And no, we don't do this on purpose in order to have you buy more minutes.

[https://gitlab.com/gitlab-org/gitlab- runner/-/issues](https://gitlab.com/gitlab-org/gitlab-runner/-/issues)

Darren Eastman - Product Manager GitLab Runner

</comment></comment><comment><USER55> Metering of services like this only makes sense for organizations that don't have the time or expertise or desire to maintain the open source, self-hosted version themselves.

Raspi and similar devices will some day hopefully rid the world of this tyranny of having to trust a website like this and pay them for eternity and hope they dont go down and hope they dont raise prices (oops) and hope they dont obfuscate pricing like ermmm well every cloud provider has.

<comment><USER56> 99$ for 50,000 hours is a steal. You could barely rent a dedicated server for that amount of money, let alone the maintenance.

<comment><USER57> > You could barely rent a dedicated server for that amount of money

You can get a Ryzen 5/64G for like $40/month on providers like hetzner. While I get your point about maintenance, it's not right to say that dedicated servers are _that_ expensive (you also can't compare the performance of 2vCPU/4G with a dedi but that's beside the point)

<comment><USER58> the minutes can be consumed in parallel, so there is a difference to that.</comment></comment></comment></comment>


Easing into Cats, and the Case for Category Theory Inspired Abstractions - <AUTHOR> http://www.geekabyte.io/2018/09/easing-into-cats-and-case-for-category.html <comment><USER2> Hm. That title starts off sounding like it belongs to an entirely different and more disturbing sort of article.</comment>


Microsoft offloads Nokia feature phone business to Foxconn for $350M - <AUTHOR> http://techcrunch.com/2016/05/18/microsoft-offloads-nokia-feature-phone-business-to-foxconn-for-350m/ <comment><USER2> I just want one manufacturer to care about and release a decent feature phone. The current landscape right now is the LG Cosmos III, various shitty Tracfones, and then the Nokia lines that have been ruined by Microsoft.

I think there's a serious market for _good_ feature phones that can make calls, send/receive SMS/MMS/group chats, take high resolution pictures, and send/receive emails all with a qwerty, tactile keyboard.

<comment><USER3> I don't really think so. Who nowadays would want to buy a feature phone when smartphones are so cheap.

An entry-level smartphone can do all the same things a feature phone can and even more. Why would you want to limit yourself in this day and age?

<comment><USER4> Not only battery life but also durability, which lowers the lifetime cost of ownership. Feature phones last a long time, they're harder to break since they're usually not enclosed in edge-to-edge glass, and basically everything about them both hardware and software-wise is simple and battle-tested.

</comment></comment></comment><comment><USER5> I honestly love my Nokia 106 in general. There are a couple of menus which are inconsistent, color is unnecessary, and the background images are ???; but despite all of that, it has been excellent and gives reliable calls.

Sadly GSM is going down in Canada for good next year. I'd love to have a 106-shaped LTE or HSPA phone with multilingual input and display. Essentially no other device would make me happier.

I have learned to love T9, it is very comfortable once you are used to it; and it maps very well to Japanese (though not available on this device). If I ever need to get a smartphone again, I'm using a T9 keyboard on it.

I wonder if they'd hire me...

<comment><USER6> I've gotten one as well after my beloved v3i passed away. In terms of value for money it is alright. Yet I wonder why dumb phones aren't perfected by now. Apart from the menu issues and the indeed horrible backgrounds (went with the blueish one) I am annoyed that you can neither set the brightness of the display nor the volume of the alarm clock. When it wakes you up in the morning its brightness and loudness are incredibly painful. In fact, at night I cover my phone with whatever textile product lies around to make the alarm clock less harsh.

</comment></comment><comment><USER7> The headline is imprecise. The rights to the brand 'Nokia' as relating to phones will be owned by another company 'HMD Global' who have licenced the Nokia patent portfolio as well.

<comment><USER8> Or, more precisely, HMD will lease those rights, but Nokia still owns them. The lease is agreed for a decade from now on.

</comment></comment><comment><USER9> > subsidiary of Chinese manufacturer Foxconn

Foxconn is Taiwanese

<comment><USER10> Taiwan is Chinese -- just not necessarily People's-Republic-of-Chinese.

<comment><USER4> That really depends what you mean by Chinese. It's an issue in Taiwanese identity politics and electoral politics. Taiwan is officially the Republic of China, but that name is a legacy of World War II. Taiwan has many citizens who speak Mandarin or various dialects of Chinese; many of them consider themselves Chinese, but also many do not. There are Taiwanese whose ancestors moved there from China as early as the 1600s. Besides, they also have a sizeable population of aboriginal people with totally non-Chinese cultural practices and who speak a language that isn't even loosely related to Chinese.

And meanwhile, the country has been in a sort of cold war with the PRC since the late 1940s, and was a Japanese colony for the 50 years prior to that. The last government to have military control over all of Mainland China and Taiwan (plus Mongolia) was the Qing Dynasty.

Saying that "Taiwan is Chinese" is basically true in an imprecise way, but once you drill down into the details a little, it gets complicated.

<comment><USER11> > Taiwan is officially the Republic of China, but that name is a legacy of > World War II

ROC held the China UN seat until 1971, and the first multi-party elections were held in 1986. KMT still considers ROC to include all Chinese territory.

> Taiwan has many citizens who speak Mandarin or various dialects of Chinese; > many of them consider themselves Chinese, but also many do not. There are > Taiwanese whose ancestors moved there from China as early as the 1600s. > Besides, they also have a sizeable population of aboriginal people with > totally non-Chinese cultural practices and who speak a language that isn't > even loosely related to Chinese.

You're confusing nationality with ethnicity. PRC has many non-Han minorities too, but their nationality is Chinese.

> And meanwhile, the country has been in a sort of cold war with the PRC since > the late 1940s, and was a Japanese colony for the 50 years prior to that. > The last government to have military control over all of Mainland China and > Taiwan (plus Mongolia) was the Qing Dynasty.

PRC and ROC claim all of the territory as "China", whether they historically controlled it or not.

<comment><USER4> What definition of nationality are you working with? Wikipedia defines it as "the legal relationship between a person and a state."

I'm not confusing anything, I know the difference between nationality and ethnicity (and language). The non-Han people in the PRC are of Chinese nationality because they are residents of territory that is under the PRC's political and military control. That statement is not true for the people of Taiwan. They have their own government, and many people including elected officials in that government want to remove the word China from the country's official name.

So are Taiwanese people of Chinese nationality? No. Chinese ethnicity? A slight majority. Chinese speaking? A larger majority. So again it depends what you mean by "Chinese."

The rest of the facts you're stating are true on paper only--they are political fictions perpetuated by the cold war.

<comment><USER11> Both PRC and ROC consider themselves the real China (hence Chinese), which was my point.

<comment><USER8> And, somewhat surprisingly for many Westerners, in the PRC mindset it is very bad if ROC ceases to claim all of China, because that would mean that it has become secessionist, i.e. there would be more than one China. So far they have agreed on one thing, "there is only one China and we're the legal government", and just disagreed on who's "we".

PRC has naturally a much stronger claim to that since it controls a vast majority of China. But in 1970's, PRC was deep in radical socialist experiments and the aftermath of the Cultural Revolution, and the economy was weak, while ROC had opened up to world trade (I remember all those Taiwanese Apple and PC clones of early 1980's). It looked like ROC will actually be the more significant economy, even if it has much smaller population.

Then PRC changed its course.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> The bigger deal for me is that they are licensing their brand to make new phones and tablets. I'm still sad about the Maemo line of phones, but I'm hoping they bring back a brand of linux phones after this new deal.

<comment><USER13> What we need now is for HMD Global to acquire Jolla.

We also need an infographic of the migration of Nokia engineers between different corporate entities and the dollar value destroyed/created during each hop.

Let's hope this corporate re-engineering saga has a happy ending. I miss my Nokia N8, N900 and N9.

</comment></comment><comment><USER14> Strange the way that article is written, it doesn't clarify which way the money was transferred.

</comment><comment><USER15> Foxconn has the ability to make iPhone quality hardware.

Why do they need the Nokia featurephone business?

They're not allowed to use the Nokia name are they?

</comment><comment><USER16> Microsoft originally paid $7.2 Billion for Nokia in 2013.

<comment><USER17> Not to defend that acquisition, but Microsoft is keeping the Lumia business, this is JUST the feature phone business. Also, $2 billion of that wasn't part of the sale price, but a 10-year patent licensing agreement.[1] Microsoft is keeping that patent license, as well as the patents that Microsoft acquired outright in the deal. It's apples and oranges to compare the total purchase price to the sales price of part of the acquisition.

[1] [http://www.zdnet.com/article/microsoft-takes-control-of- noki...](http://www.zdnet.com/article/microsoft-takes-control-of-nokias-phone- business-acquires-25000-new-employees/)</comment></comment>


Trying To Woo Animators, Disney Accidentally Invents "The Paperman Method" - <AUTHOR> http://www.fastcolabs.com/3006276/open-company/trying-woo-animators-disney-accidentally-invents-paperman-method

<comment><AUTHOR> This is subtle but extremely interesting.

Input for computer graphics is very very hard. I've seen some great design work up close (Tinkercad) and this is one of the most interesting concepts in a while.</comment>


It's Game Over for 'Gamers' - <AUTHOR> http://www.nytimes.com/2014/10/29/opinion/anita-sarkeesian-on-video-games-great-future.html <comment><USER2> Link-baity title, little to add to the conversation, and just more grandstanding by Sarkeesian. Flagged.

<comment><USER3> * Link-baity? An opinion piece in the NY Times? Laughable...that's what headlines are like. Always.

* Little to add to the conversation?

a) What conversation? Noone is having a conversation. There is people with incredible patience like Anita dissecting and interpreting patterns, and writing a personal piece about why it matters, and there is troglodytes threatening and screaming. That's not a conversation

b) Little to add? It's an opinion piece. It explains concisely why it matters to Anita Sarkeesian and why it matters to everyone. It's beautifully written, heartfelt, honest, inclusive and non-threatening piece.

* Grandstanding? "seek to attract applause or favorable attention from spectators or the media." Whenever Anita Sarkessian says anything, she gets harassed and threatened. To think that she just seeks attention instead of actually caring is grotesquely absurd.

<comment><USER2> _Noone is having a conversation._

Incorrect. There is active conversation happening everywhere, on both sides. Popehat, for example, has had two thoughtful pieces on it. Other places have published good writeups as well.

 _" seek to attract applause or favorable attention from spectators or the media." Whenever Anita Sarkessian says anything, she gets harassed and threatened._

Put bluntly: negative attention is still attention. More constructively, note that she is garnering applause and favorable attention from a lot of people, especially the media. There are many articles celebrating her critiques--which is quite alright! So, no, I don't think that grandstanding is an inappropriate verb. I also don't think that grandstanding is only done by people in the wrong.

 _To think that she just seeks attention instead of actually caring is grotesquely absurd._

I never said or implied that, and that is a wonderful false dichotomy you've used there. Where she cares is orthogonal to whether she seeks attention.

<comment><USER4> > just more grandstanding by Sarkeesian.

Care to expand on what you meant to imply, then?</comment></comment></comment></comment>


UK threatens to tax Facebook and Google if they dont do more to combat extremism - <AUTHOR> http://www.businessinsider.com/uk-minister-threatens-to-tax-facebook-google-over-online-extremism-2017-12 <comment><USER2> So is this effectively "combat extremism for us and we'll give you a free pass on all that tax you've been dodging".

I'd rather they just paid the tax.

<comment><USER3> Due to the nature of the tax dodging, it's not quite that.

</comment></comment><comment><USER4> It would be nice if they were paying tax in the first place

<comment><USER5> I came here to say the same thing. If they want to enjoy the benefits of operating in a securely governed nation with mature infrastructure then they can damn well chip in to help pay for it

<comment><USER6> "Operating in"? They are just online websites accessible by anyone with internet. If they have paying customers in Europe then it'd make sense to pay taxes on just that revenue. But saying that a company has to pay taxes just because it gets traffic is a little extreme.

<comment><USER7> I would say that they're "operating in the UK" when UK companies buy ad space from Facebook and Google which they later distribute to consumers in the UK.

They do have offices in the UK and it's not like they're just playing ping pong there.

<comment><USER8> Would you also be operating in the UK if you supplied parts/goods to a UK based retailer that sold your goods in the UK?

<comment><USER7> Yep, if I had an office and employees in the UK hooking me up with these retailers. Facebook and Google do have offices in the UK selling ad spaces and even some developers in the UK.

What's your definition of "operating in"?

<comment><USER8> The office pays tax and employees in the UK already pay personal income tax. To avoid double taxation, it's very difficult to establish how much revenue should be charged to a particular tax jurisdiction.

Legally, "operating in" means whatever you claim as your home country. Otherwise, it turns into a morass.

However, tax laws are NP complete. Every time you try to close a loophole you introduce unforseen interactions with other pre-existing laws. How do you think the double Irish got established? Totally legal, and not taking advantage of it would be foolish.

<comment><USER5> > The office pays tax and employees in the UK already pay personal income tax

What do you mean the office pays tax? Yes employees do, but it is the nature of that business that headcount is low in proportion to revenues, so this is not a big number. This is an argument against all corporation tax btw, is that what you meant? corporations should pay no tax because they have employees that should pay it?

> To avoid double taxation, it's very difficult to establish how much revenue > should be charged to a particular tax jurisdiction.

It really isn't hard to find out where the revenue was, when you buy Facebook advertising you choose who you want it shown to. It wouldn't be very useful if my UK window cleaning service was shown to Indian users. So the service was delivered in the UK. It gets complicated you start using brand licensing deals between your group to move profits around. Or even more obscure, Starbucks UK buys its coffee beans from that famous coffee producing country, Switzerland for an obscene markup. Personally I am in favour of heavy restriction for anything over market value.

> legally, "operating in" means whatever you claim as your home country

'Operating in' does not mean that at all. Operating in is where you are making sales, or have operations. You are operating in at least all of the countries where you have employees. I think you are thinking about 'headquartered in'

Facebook has a UK registered subsidiary making sales in the UK. The UK is a good market for a tech company, low regulation, very low corruption, good broadband and mobile coverage. none of that was free for the UK to install.

<comment><USER8> > What do you mean the office pays tax?

The office pays rent, which presumably goes to the property owner (taxed)

> Yes employees do, but it is the nature of that business that headcount is > low in proportion to revenues, so this is not a big number.

So corporate income tax should be inversely proportional to how many employees you have?

For example, if you have a large construction company, and you make your workers use teaspoons instead of shovels, you should pay fewer taxes? That sort of logic leads to the depriortization of efficiency and automation.

> It really isn't hard to find out where the revenue was, when you buy > Facebook advertising you choose who you want it shown to.

Sure. Maybe you're saying "football fans" if you're selling jerseys (either US or European football).

So the jersey was manufactured in China, sent to the UK, and shipped to Germany. The advertising company is based in the states (like Facebook or Google). Which country should Facebook/Google pay taxes to?

Industrial manufacturing targets interests more then geographic location. For instance, if you're a UK company primarily buying ad space from a US outlet but primarily selling to China, where should the revenue taxes be sent to?

> Operating in is where you are making sales, or have operations.

How does that work? Most large IT/hosting companies have data centers in foreign nations. Do they have to split up revenues based on traffic patterns? (For example, 5% of our traffic goes through London so we have to pay British taxes on 5% of our hosting revenues.)

> Facebook has a UK registered subsidiary making sales in the UK.

The question is not that simple. Who cares where the sales are being made? That completely discounts the costs of R&D.

<comment><USER9> > So the jersey was manufactured in China, sent to the UK, and shipped to > Germany. The advertising company is based in the states (like Facebook or > Google). Which country should Facebook/Google pay taxes to?

Germany, where the sale happened. The other countries are transit countries, and the intermediaries are paid accordingly (e.g. shipping & handling fee for the UK company), so their taxes. This is very well defined in international commerce. In the EU, when you ship abroad and you get a review by the tax admin, you have to prove the goods left the country, otherwise you pay the VAT (sales tax). These international rules are very well defined by the WTO and harmonising laws by the EU.

On the other hand, politicians should not blame these companies because they use the loopholes. Legislators allow these to happen, and the legislators job is make better laws that are not allow to e.g. transfer money into or have direct or indirect relationship with tax heavens. It is hard to blame Google and Facebook, when the royals use tax heavens to stash their cash, or Jean- Claude Juncker, the president of the EU's EC, made Luxemburg a tax heaven when he was minister of treasury, finances then prime minister of Luxemburg. The fish stinks from the head.

<comment><USER8> > Germany, where the sale happened.

Well, that's not clear. The advertising company "sells" ad space from a server in Jerusalem, but the user logged in from Thailand. Where did the sale occur?

I touched on this earlier. Does Google (for example) have to pay 5% of taxes to London on ad revenue because 1/20 servers are in England? That incentivizes them to just move their data centers, which further advantages them because only large companies can pack up their toys and go home.

If it's mapped to the physical location of the server, most large companies have enough capital to relocate their servers to a tax haven.

If it's the physical location of the user, how do you determine that with a high degree of certainty? All users have to do is use a VPN that's located in St. Martin, and all your efforts will be in vain.

Also, there is also VAT, sales tax, etc etc.

> Legislators allow these to happen, and the legislators job is make better > laws that are not allow to e.g. transfer money into or have direct or > indirect relationship with tax heavens.

I would argue that it's this dizzying maze of laws that causes these problem, because I have said before, laws, especially tax laws, are an NP complete system.

Legislators have to pass laws to justify their existence. Now they're passing laws to cover up holes in laws either they or other people passed in a non digitally connected age. The solution is not better laws, but fewer laws.

<comment><USER9> > Well, that's not clear. Now I get your point. Of course the ratio of servers > in a given country should not be the basis of taxation.

The situation of these large companies is they have a web of shelf companies just to optimise their taxes. E.g. neither Facebook nor Google or Apple does their core business activity and R&D in Ireland or formerly in Luxembourg. They simply extract the profit on arbitrary measures.

In classical companies (manufacturing, automotives, media, etc) when there is a holding company, usually there is a realistic "commission" that the child companies keep on sales revenue, e.g. 40%. This is an extrapolated number to a company level based on what the company would pay to an individual salesman in commission. There are holding companies for intellectual properties in the UK, e.g. ARM or WPP, BAE Systems, Rolls Royce, etc. If you are interested, I'd have a look to their quarterly financial reports to see how they divide the profit among their subsidiaries.

But, we can reverse the question: how less would be the revenue if Facebook or Google would have no office presence in the country? If they can answer this question (and they do when they make their quarterly financial reports), then it is easy to measure how much tax is fair to pay.

> I would argue that it's this dizzying maze of laws that causes these problem

Sure, fewer laws the better. Yet, safe havens for stashing money from questionable sources are individual cases. Their economy is based on extracting money made in other countries and the tourism related to stashing the money. There are plenty of whitepapers with ideas how to resolve this situation, yet nothing happens, because the people who can make it happen, personally are not interested in it.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> I think this is _probably_ the right approach, but only by accident given how poor the UK government understanding of all things digital.

Westminster is, after all, being quite unreasonable in expecting foreign companies to serve as _competent_ police forces for what is basically chit- chat rather than traditional publishing, and for a user-base roughly 30 times the UK's entire population.

<comment><USER11> They aren't "foreign companies"; they're multi-national entities doing business in the UK. If, in the course of doing business here, they generate costs for the nation, they should be expected to help out. There's no reason the UK taxpayer should foot the bill for negative externalities generated by the business practices of multi-national entities. They can either invest in whatever it takes to solve the problem themselves, or they can be taxed so that state can take care of it for them.

<comment><USER12> Would anyone else honestly blame tech companies for generating the costs of deradicalizing UK people? Doesn't the blame lie more on the people themselves or the ones radicalizing them? The UK is free to block access to parts of the internet if it thinks is people aren't fit to safely access it.

<comment><USER10> > The UK is free to block access to parts of the internet if it thinks is > people aren't fit to safely access it.

Really? Wasn't that the kind of thing us tech geeks have spent the last 20 years arguing _against_?

</comment></comment></comment></comment><comment><USER13> Relevant article: [https://theintercept.com/2017/12/30/facebook-says-it-is- dele...](https://theintercept.com/2017/12/30/facebook-says-it-is-deleting- accounts-at-the-direction-of-the-u-s-and-israeli-governments/) Discussion: [https://news.ycombinator.com/item?id=16035721](https://news.ycombinator.com/item?id=16035721)

It's quite alarming how central a role Facebook plays in global affairs and how it's shaping current events.

<comment><USER14> Censorship is only part of the picture. Facebook has assumed the role of Kingmaker, at Global Scale: [https://www.bloomberg.com/news/features/2017-12-21/inside- th...](https://www.bloomberg.com/news/features/2017-12-21/inside-the-facebook- team-helping-regimes-that-reach-out-and-crack- down?utm_source=google&utm_medium=bd&utm_campaign=HP&cmpId=GP.HP)

</comment></comment><comment><USER15> Google and Facebook are being dragged, kicking and screaming, into the position of judge and jury of what is our isn't acceptable speech.

That's over years and by several different governments.

There's tremendous power in that position. I wonder if we'll rationalize after the fact that these corporations always seeked this power.

<comment><USER16> This is power that each newspaper wields everyday for tens of years. Same for TV and radio. Why being on internet automatically makes you not responsible for what you distribute again?

<comment><USER17> It's different in that newspapers create the content that they publish themselves.

So far, we've collectively been able to dance around the fact that different countries have different laws/attitudes/etc. over what sort of things are acceptable to publish. (And those countries that are far out of the mainstream are mostly small enough that they're not that important commercially.)

But there are differences between the US and various European countries that probably can't be swept under the rug forever.

<comment><USER7> Go back 30 years, when your voice in print media was either starting your own newspaper or writing a letter to the editor and the comparison holds.

Edit: I meant your way to communicate in the newspaper

<comment><USER10> Was it that? Or was it talking loudly in public places until you gathered a crowd, which probably automatically brought you to the attention of the police?

</comment></comment></comment></comment></comment><comment><USER18> For what definition of extremism? Anyone who encrypts?

<comment><USER19> I think they are concerned by lack of effective moderation, and by the inability of these companies to know their customer

<comment><USER18> At the scale of Google and Facebook, I'm not sure it's possible to individually "know" their customer.

<comment><USER20> It's possible for retail banks with tens of millions of customers to KYC, I'm sure it's not an insurmountable problem

<comment><USER21> It's surely possible, but would it be a good thing?

When I first starting posting things online, the general advice was "don't use your real name", "don't say anything that will reveal where you live", etc.

Now we're not only using our real names but advocating for identity verification of all commenters? How did this go so wrong so fast?

<comment><USER22> Facebook made the transition plausible; a formal social network, then slowly, the creep began, where it's now acceptable to use your real name online.

I still heed the advice of the 90's: NEVER use your real name. We still have that choice thankfully.

<comment> LV-426 > I still heed the advice of the 90's: NEVER use your real name.

Where was this advice given? In my experience, people online in the 1990s routinely used their real names, and emails (in the late 90s obfuscated or removed due to spam), on the primary social-network at that time (Usenet), and people still do to this day.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> It seems like what the UK government is saying is:

A. Either we outsource security-related tasks onto you, as companies (which I think has huge ramifications), or:

B. We shake you down as a penalty (arguments about whether the tax should be paid already notwithstanding).

The consequences of A, alone, are worth an entire discussion. It means compromising everyone's security to some extent, and having these companies as active participants in the security state (or perhaps, more than they already are...).

</comment><comment><USER24> So all this time being "unable to" tax giants was a lie.

</comment><comment><USER8> FTA:

"Ben Wallace, the UK's security minister, described tech companies as "ruthless profiteers" who were doing too little to help the government combat terrorists who often take advantage of their platforms."

The most interesting thing are the lines ruthless profiteers and take advantage of their platforms. The British government subsidizes health care, public transit and municipal water. Also, they deliberately shape traffic to create hot spots of pedestrian concentration and increase tax revenue. Are they doing anything about terrorists using those platforms?

<comment><USER11> > Are they doing anything about terrorists using those platforms?

Yes, via several other publicly funded services: the police, the judiciary, and the prison service.

<comment><USER8> Those are rehabilitative services, and not preventive services. Huge qualitative difference.

</comment></comment></comment><comment><USER25> I'd rather people not reward tax dodging, and enforce people paying their fair share.

Combating extremism and taxes shouldn't be combined like this, It's morally repugnant.

</comment><comment><USER26> What I'm scratching my head over is...

Why aren't they being TAXED already?

</comment><comment><USER27> Related: "Project Jigsaw" from Google.

[1]: [https://jigsaw.google.com/](https://jigsaw.google.com/)

</comment><comment><USER28> This article didn't say what an "extremist" is... In general, they can go jump in a lake. It shouldn't be up to Facebook and Google to combat "extremists". I realize that the UK didn't have free speech. But I believe it is the cornerstone of civilisation.

</comment><comment><USER12> Stop radicalization by limiting free speech and spying on everyone's communications? That's similar to what America did with McCarthyism. Communism is arguably more deadly and harmful than Islamic extremism but we accept it as a tolerable non-thought-crime today. Why can't people accept Islamic extremism in the same way? What happened to the idea of freedom of political thought?

<comment><USER11> > spying on everyone's communications

Facebook and Google already do that — it's part of their business model. What makes you think it's better when unnacountable corporations do it than when accountable governments do it?

The UK is not America. There is no absolute guarantee of free speech here. Inciting and glorifying terrorism is illegal. No one cares about thought crimes. They care about innocent people being mown down by lorries and children being blown up at pop concerts.

You can argue that forcing social media to police itself won't be effective at reducing terrorism and the spread of islamic extremism, but if it is effective, it seems perfectly reasonable to me.</comment></comment>


Brazilian tech expats, the research – Maiz Lulkin – Medium - <AUTHOR> https://medium.com/@joaomilho/brazilian-tech-expats-the-research-ae9658e7636d <comment><USER2> I did not do this survey but I'm in the demographic as a Brazilian(with Italian citizenship) who just moved to the EU.

While the current political climate is concerning I don't think that would make a lot of people want to move out, it's not like its news.

Keep in mind the fact that more tech people moving out of the country is just a subset of a lot of people moving out, the brazilian diaspora is growing.

I moved for career growth primarily, of course salary and quality of life also played a role.

I am not at senior level(more mid-level), I work mostly with JS/React these days(although not my background), and even if my education did not play a major role on the hiring process, a recognized diploma was a requirement for immigration.

As for coming back I have very particular reasons to want to come back and to never come back, it can vary 90/10 or 10/90 depending on my mood.</comment>


List Of Acquisitions By Google - <AUTHOR> http://en.wikipedia.org/wiki/List_of_Google_acquisitions

<comment><USER5> I don't see why the list is deeply interesting. Maybe some analysis on the list would be more valuable than the list itself.

<comment><USER6> when you think of how many non-web-search-related things google does, this list shows that so many of them were created by someone else that google just swallowed up, and are not the result of the many smart employees at google.

how many google services were completely created there? pagerank, gmail, and orkut?

<comment><USER7> Err ... orkut was not actually strictly a google product because they didn't think up that idea as a product and worked on it. The guy who made orkut - Orkut Buyukkokten - was just working on his 20% free time to build it, and then they liked it and just released it as a product.

reference - <http://searchenginewatch.com/3302741>

Its kinda interesting that Google has developed only Gmail as an inhouse product till now !

</comment></comment></comment><comment><USER8> This list is interesting, but it really doesn't surprise me that so many of the Google features we know and love were acquired.

Acquisition for a company like Google is smart business. While we don't know the specific dollar amount that Google paid for most of these companies, it was almost certainly less than the cost of than paying Google developers to develop these features from scratch, especially when you factor in the opportunity cost of revenue and traffic lost during the time it takes to develop the product.

</comment><comment><USER9> Ah, Wikipedia... Google failed to acquire Begun (Russian context ad company), because Russian antitrust agency stopped the deal. (Edited the Wikipedia article accordingly).

</comment><comment><USER10> Must admit that #1 grabs my eye straight away - I still miss DejaNews (but I still have to respect Google for keeping this information alive and accessible).

<comment><USER11> I have no respect for them. They ruined DejaNews, by deleting anything imaginable. But people should have done an open source/free DejaNews alternative by archiving newsgroups. Where oh where is the competition?

<comment><USER10> Yeah I know - but Deja was going under.

</comment></comment></comment><comment><USER12> Baidu?

AOL?

Not accurate?

<comment><USER9> Footnotes:

      * A Purchased a 2.6% share.
      * B Purchased a 5% share.
      * C Purchased a 4% share.

Legend:

      A - <USER2>
      B - <USER3>
      C - <USER4>

</comment></comment><comment><USER11> It's a wiki, so I could add my own company to the list and let it become a self-fulfilling prophecy...

<comment><USER13> For it to become a self-fulfilling prophecy, Google would have to acquire you because they saw their own Wikipedia page.</comment></comment>


The History of the Design of Unix's Find Command (1995) - <AUTHOR> http://doc.cat-v.org/unix/find-history <comment><USER2> Let's use ( ) for grouping, instead of [ ], so people have to escape them when using find through a Bourne-like shell: \\( \\). And what better terminating token for -exec than the semicolon!

<comment><USER3> find was actually introduced several years before the bourne shell, so that's a bit unfair. I assume that the syntax was less awkward when it was first released.

Not that I don't agree that it's a pain to use nowadays.

</comment></comment><comment><USER4> > WHAT idiot would program a command so that you have to say -print to print > the output to the screen. What IDIOT would make a command like this and not > have the output go to the screen by default.

You don't need to say -print. It's always printed by default for me, and the man pages (on both linux and OS X) confirm this.

> If the expression contains no actions other than -prune, -print is performed > on all files for which the expression is true. [linux]

> If none of -exec, -ls, -print, -print0, or -ok is specified, the given > expression shall be effectively replaced by ( given expression ) -print. [OS > X]

Has this only been added in the last 20 years?

<comment><USER5> I have written _many_ cross-platform shell scripts over the years. The -print option may have been made standard by the GNU implementation and then spread -- I don't know -- but at least on some older versions of UNIX you do indeed need to specify -print or it won't.

<comment><USER6> Yes, I think that is true. Speaking from memory, but I've worked on Unix for long, and I think I remember that on some older Unix versions, you had to specify -print, otherwise it would walk the directory tree according the conditions you specified (such as filename wildcards, the -o option (for OR), etc.), but would produce no output for that walk.

</comment></comment></comment><comment><USER7> Is unix shell one of those things you just have to suffer through for 3-6 weeks before "getting it"? Kind of like learning a musical instrument?

Also would anyone recommend learning how to use Windows PowerShell and again would that have the same kind of insane learning curve?

I'm just asking to make sure I'm not crazy and that command lines do in fact have a very high learning curve. Every time I attempt it, I fail because I don't know how to use these freaking flags and switches, and it's really hard to ask the computer how to use them. And that's if you know which command to use.

<comment><USER8> One major thing is that there is so much inconsistency.

Several posters here have commented on how find is a terrible tool with weird syntax. It's not actually terrible or weird, it's just different... because it pre-dates most everything else.

And it is hard to know how to ask the computer how to use the tools. Is the flag you need in `cmd -h` (traditional) or `cmd -help` (X11) or `cmd --help` (GNU) or `cmd --usage` (other GNU) or `man cmd` (UNIX; `man` is short for "manual") or `info cmd` (GNU)?

mstade said that "On any reasonable unix" the solution is `man cmd`. That's in general true, but apparently GNU/Linux isn't a reasonable unix then[1] (one may even say that it's not Unix :P ). Often (mostly for GNU commands), the man page is crappy (don't ever bother with the wget man page, `wget --help` is what you want) or non-existent. But it's a good place to start, then you can try working through the options I listed above... after some point you'll gain some intuition for which are the more likely ones to yield results based on who the publisher of the software is.

untothebreach's suggestion to bookmark the man pages for a system that has consistently good man pages, even if they aren't 100% compatible with the version of the command you have. He recommended OpenBSD, which is a good choice. When I was new, I leaned pretty heavily on the FreeBSD man pages [https://www.freebsd.org/cgi/man.cgi](https://www.freebsd.org/cgi/man.cgi) .

[1]: Plug: I actually wrote a blog post once on why documentation on GNU/Linux sucks. [https://lukeshu.com/blog/poor-system- documentation.html](https://lukeshu.com/blog/poor-system-documentation.html)

<comment><USER9> To make `info cmd` more like `man cmd` do:

        info --subnodes "$@"  | less

<comment><USER10> Thank you for this one, that's new to me.

</comment></comment></comment></comment><comment><USER11> I have found the `find` command and its API to be the hardest to learn. 3+ years on *NIX machine, spending close to 70% time on the command line when not browsing, and yet I still am not comfortable with `find`.

<comment><USER12> I combine "find ./" and grep instead of learning how to use find. (I'm a terrible person.)

<comment><USER13> find . | grep 'abc' === find . -name 'abc' find . | grep -i 'abc' === find . -iname 'abc'

Here, saved you a pipe :)

(Oh, and with -exec and -delete, not needing that pipe is incredibly useful. Find is an incredibly powerful command.)

<comment><USER14> Sorry if this is pedantic, but actually:

        find . | grep 'abc' === find . -name '*abc*'

        find . | grep -i 'abc' === find . -iname '*abc*'

The -name and -iname options do a verbatim file name check if you don't include those wild-card asterisks. I've been inconvenienced by having to go back and add them often enough that this is burned into my brain. :-)

</comment></comment></comment></comment><comment><USER15> find has a worse reputation than it deserves. Yes, its learning curve is steep; when I was learning Unix, find was one of the commands that really stymied me. But like many powerful tools once you've learned it you can do some wonderful things with it.

Here's a random example: Prune a a scratch directory of files older than one week.

find /dir -type f -mtime +7 -delete

How would you do it without find? (Serious question. I know it can be done with other tools but since I can do it in one line with find I've never bothered to look for another solution.)

<comment><USER16> > How would you do it without find? (Serious question. I know it can be done > with other tools but since I can do it in one line with find I've never > bothered to look for another solution.)

With python you can do something like

        [os.unlink(file) for file in [os.path.join(*path_parts) for l in [list(zip(repeat(root),files)) for root,dirname,files in os.walk('/tmp') if len(files) != 0] for path_parts in l] if datetime.fromtimestamp(os.stat(file).st_mtime) < datetime.now() - timedelta(days=7)]

...I suspect there might be bit more elegant solutions too

<comment><USER17> Woof. That is one python program I would _not_ call "executable pseudocode."

<comment><USER16> More idiomatic version is more readable but also more verbose:

        cutoff_date = datetime.now() - timedelta(days=7)
        for basepath,_,files in os.walk('/tmp'):
            for filename in files:
                filepath = os.path.join(basepath, filename)
                if datetime.fromtimestamp(os.stat(filepath).st_mtime) < cutoff_date:
                    os.unlink(filepath)

Python is not really that great when forced to oneliner format, and I'm not really a good code golfer anyways.

</comment></comment></comment></comment><comment><USER18> OS X users: check out the mdfind command. It doesn't work on dot directories, but for quickly finding files, I try it first simply because the command syntax is so much easier for me to remember.

<comment><USER19> just tried it out - it caused iterm to crash

<comment><USER20> To be fair, iTerm probably caused iTerm to crash.

<comment><USER19> very true!

</comment></comment></comment></comment><comment><USER21> This doesn't explain the history of `find`. Saying 'a specification made us do it' is not an explanation, it is passing the buck.

</comment><comment><USER22> If you want to take a lesson from this, try your best to fight bad specifications, and if you are in a position to accept or not accept code with a bad interface, don't accept it.

Bad code lives forever and find has been a curse on *nixers ever since.

</comment><comment><USER23> "-exec ls -l {} \;"

""{} \;" ?? Whaaaa ?"

"Hush child; just type the incantation, and all will be well"

</comment><comment><USER24> I love Unix shell, but I gotta admit, the find command is kind of a mind fück.

</comment><comment><USER25> [http://www.templeos.org/Wb/Adam/Opt/Utils/Find.html](http://www.templeos.org/Wb/Adam/Opt/Utils/Find.html)

Must handle binary graphics in source code.</comment>


TED Talks - James B. Glattfelder: Who controls the world? [video] - <AUTHOR> http://www.youtube.com/watch?v=NgbqXsA62Qs James Glattfelder studies complexity: how an interconnected system -- say, a swarm of birds -- is more than the sum of its parts. And complexity theory, it turns out, can reveal a lot about how the economy works. Glattfelder shares a groundbreaking study of how control flows through the global economy, and how concentration of power in the hands of a shockingly small number leaves us all vulnerable. (Filmed at TEDxZurich.) <comment><AUTHOR> The original paper: <http://arxiv.org/abs/1107.5728>

The "737" companies: <http://ethz.focproject.net/docs/powerholderListFinal.xls></comment>


Dart for Android apps with 120fps - <AUTHOR> https://github.com/domokit/sky_sdk <comment><USER2> The problem with Android isn't Java, but that it has one of most terrible, buggy, undocumented and confusing SDKs I have ever seen. It tries hard to touch every anti-pattern on the planet.

Android could be much more performant, but one would have to replace almost everything regarding UI and layout. Apps built with Dart cannot be much faster unless they do that.

I thought about rewriting/extending the base-class "View.java" to get more performance and less bugs (the default layouting algorithm seems to have exponential runtime! [0]), but the problem is

a) it would break compatibility with many other UI-components and

b) the behaviour and structure of the code is almost impossible to understand and imitate.

Just look at this beast: 8866 LOC without comments in one class [1].

[0] [https://stackoverflow.com/questions/17493819/is-android- layo...](https://stackoverflow.com/questions/17493819/is-android-layout- really-exponentially-hard)

[1] [http://grepcode.com/file/repository.grepcode.com/java/ext/co...](http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.2_r1/android/view/View.java)

<comment><USER3> That's kind of scary that it passed internal code reviews and made it into production without comments. It speaks to Google's internal processes quite a bit.

<comment><USER4> It has comments. They do not contribute to the line count.

</comment></comment></comment><comment><USER5> TL;DR framework to build native Android applications using Dart that have highly performant native UI (think React-Native retained mode, functional style).

Related talk & demo: [https://www.youtube.com/watch?v=PnIWl33YMwA](https://www.youtube.com/watch?v=PnIWl33YMwA)

The exciting thing here is that from a developer's point of view sky is just a Dart package and you can immediately start to write an Android application but still keep a fast feedback loop similar to web development (like you've seen in React-Native demos).

<comment><USER5> It is still a bit early but the Q&A in the end hints that eventually you might be able to have a Dart code base that drives native apps on Android, iOS and basically any platform you want to support with a development cycle that feels like web development (tooling, feedback cycle, debugging power) and yet gives you highly performant native apps (120fps, very responsive to touch interactions).

</comment></comment><comment><USER6> The Ars Technica article on this - [http://arstechnica.com/gadgets/2015/05/01/googles-dart- langu...](http://arstechnica.com/gadgets/2015/05/01/googles-dart-language-on- android-aims-for-java-free-120-fps-apps/) \- has a worrying comment:

... _the majority of the app is served over HTTP, allowing for continuous deployment where everyone always runs the newest version. URLs are a base layer of DART, so everything is internet aware. The downside to this is that the demo app doesn 't work when you're offline, and starting the app takes a second or two because it needs to download data._

So this is effectively a permanent 'wget |sh' kind of system? Sign me up!

<comment><USER5> You forgot to quote the next sentence:

 _" Both of these could be solved with caching, though."_

Sounds like it is up to you if the app you deploy to the app store will have this ability or not or on which side of the spectrum you want to be.

When you look at the Facebook app (or other popular apps) they've found ways to 'update' parts of the application (or behave differently eg for a/b testing of new functionality) without the user having to download a new version.

<comment><USER6> Yup. It's up to 'you' \- you being the app writer. The poor shmuck who downloads the app has no choice or control over it.

<comment><USER7> What web browser do you use? It probably updates itself on a regular basis.

Do you use any web apps? Those are updated and re-downloaded regularly, depending on how the app is built.

If you use an Android or iOS-based device, the software on it often becomes out-of-date and requires an upgrade in order to restore and improve functionality.

The app writers should have such control. The 'poor shmucks' have as much power as always in this ecosystem, because they can choose what apps they want to trust and use.

<comment><USER6> I'm looking at this from Android, as that's the initial target and discussion here. If I download an app from Google's app store, I have _some_ confidence that the app is well behaved and has been checked for obvious malware... But if the app depends on remote code that can change when it likes, how can I ever be confident in using that app and granting it permissions?

<comment><USER8> In the Dart Conference talk, they mention that sky apps (DART apps on Android) are given access to ever permission the system gives them. These system given permissions will almost definitely work in the Play-store way (as opposed to asking whenever it is required, a la website style).

</comment></comment></comment></comment></comment></comment><comment><USER9> This is a significantly more compelling use for Dart than anything else I've seen.

Dart team; stop screwing around and pay attention to this! Dart has failed as a browser script language, but its a good language in itself.

A cross platform language for building high performance apps, with a good package management solution and tooling... Thats a compelling use case. Something like a cross platform Swift...

Add some compiles to native binaries (or some kind of runtime bundling like xamarin do) and you'd have a pretty interesting piece of tech there.

('lets focus on our to javascript compiler for the dart compiled from typescript because the dart runtime is never going into Chrome or any other browser' is not. Stop running down that ridiculous road already)

</comment><comment><USER10> I guess 120Hz mobile screens are in the "soon" category now?

[http://www.blurbusters.com/mobile-120hz-ips-displays-for- sma...](http://www.blurbusters.com/mobile-120hz-ips-displays-for-smartphones/)

I'd be quite interested to see one for myself and get an idea whether it makes for a noticeably smoother experience. I expect there will be a lot of trouble getting software to reliably hit that number, though, especially Android...

<comment><USER11> Even with a 60 Hz screen this will be advantageous. If the application is fast enough to render at 120 fps, rendering at 60 fps means that the UI thread will be idle at least half of the time, so the processor will draw less battery power.

<comment><USER12> I don't get it. How will you achieve enabling your application to render at 120 fps, instead of 60 fps, without leveraging a twice as powerful CPU/GPU, which will use roughly twice as much power?

I would think the added power draw from rendering at 120 Hz would come from all the applications needing double the number of graphics-calculations they need at 60 fps.

<comment><USER13> >I don't get it. How will you achieve enabling your application to render at 120 fps, instead of 60 fps, without leveraging a twice as powerful CPU/GPU, which will use roughly twice as much power?

By making it twice as efficient. Partially by using fewer cycles to compute but probably largely avoiding tiny waits that waste power without computing.

</comment></comment></comment></comment><comment><USER14> Building an Android app with Sky is basically similar to using phonegap. i.e. You use HTML/CSS and web components, but it promises better performance and a more modern api.

The codebase is a forked version of chromium, but with a lot of legacy web cruft removed. The DOM api is replaced with a new more modern api. CSS has some important performance bottlenecks removed.

It also allows linking to off main thread code written in C++, Java, Go, JS, Python and Dart. Main thread code must be written in Dart.

They are aiming for the performance of native, but with a development toolset similar to the web.

IMHO a very worthwhile experiment.

Edit: The specs here give an idea of what the system is/does.

[https://github.com/domokit/mojo/tree/master/sky/specs](https://github.com/domokit/mojo/tree/master/sky/specs)

</comment><comment><USER15> That's an interesting experiment. The demo is extremely underwhelming though. I have to wait ~5 seconds for each screen to load, while on a wifi network. I don't know if it is dues to Dart framework or the http code loading, but it is way too high to be acceptable. The stocks app demo is a trivial exemple. A simple list with nothing else except for a nav drawer. It is very fluid but also extremely barebone.

Same thing for the square spinning at 60 fps. Call me back when there are 1000 of these.

Don't get me wrong, it is a very interesting experiment but it is hard to get excited for something so limited.

</comment><comment><USER16> Is this not possible in Java on Android?

<comment><USER5> There are people who don't enjoy building stuff in Java and want an alternative (like Dart). There are also people who don't want to learn (or like) the existing Android APIs.

Sky opens the door to use Dart on the server side, on the web as well as for highly performant native apps for Android (and eventually for other platforms like iOS).

<comment><USER17> > Sky opens the door to use Dart on the server side, on the web as well as for > highly performant native apps for Android (and eventually for other > platforms like iOS).

What's wrong with using GWT and J2ObjC other than the fact that there are people who don't enjoy building stuff in Java?

<comment><USER5> I don't see anything 'wrong' with GWT, just as there is nothing inherently wrong with writing iOS apps using Ruby ([http://www.rubymotion.com/](http://www.rubymotion.com/)).

For example the Inbox team did a fantastic job re bringing a great user experience to multiple platforms and I guess they were glad that they could use one language throughout instead of having to jump between various tools and idioms (see [http://gmailblog.blogspot.com/2014/11/going-under-hood-of- in...](http://gmailblog.blogspot.com/2014/11/going-under-hood-of-inbox.html)).

It's just that like you mentioned people do have different preferences when it comes to languages/tools/ecosystems. That's all.

There are people building web services using PHP, Ruby, Python, Java, Haskell, Elixir, Erlang, Go, C++, JavaScript, Dart. Why not also have this choice on mobile?

</comment></comment></comment></comment><comment><USER18> Qt is also one one of the options. With it you get apps for all the platforms.

</comment><comment><USER19> What are the hardware display refresh rates of these devices? If it can do 120fps I'm more interested in putting my phone on a spinning motor and turning it into a volumetric projector.

</comment><comment><USER20> Whose sponsoring the development of such a large project? It looks like the lead is a Google employee?

<comment><USER5> Eric Seidel is working on this, previously he worked on Chrome (WebKit, Blink, …).

<comment><USER21> I've been half expecting that Google would announce something like this at IO as a counter to Swift. But this makes it look like an unofficial side project.

<comment><USER22> Why does Google have to "counter" swift?

<comment><USER5> Imho it makes sense for both Google on Android (Java) and Apple on iOS (Objective-C) to provide more (and more) modern alternatives to develop applications for their platforms.

There certainly are people who are happy with Java and Objective-C but there are many who'd like to use different languages/runtimes/ecosystems.

The popularity of projects like Cordova and CrossWalk show how much demand there is to build applications using web technology even if you have to pay for it in performance.

Sky is a way to use Dart without having to compromise on application performance nor on development feedback speed and debugging tools.

Also think of the people (whether large or small companies) who have to support multiple platforms (Web, Android, iOS, Server, …) simultaneously and right now are forced to use multiple languages and tools for building/debugging. This is incredibly costly, especially if you want to deliver high quality products.

</comment></comment></comment></comment></comment><comment><USER23> I'd rather see the apps written in Go.

<comment><USER24> And I'd rather see them written in native code, using a native API that doesn't require awkwardly traveling through Java.

Such is life.</comment></comment>


Ask HN: How do you keep open source project deliveries on time? - <AUTHOR> Projects developers by volunteers and corporate backed developers that have different delivery timescales and requirements from a project, how do you build a roadmap you can stick to? <comment><USER2> I can only think of two possible things:

1\. Sandbag like crazy, so allow enough margin to account for the normal variance in delivery time.

2\. Change the roadmap to reflect reality and don't worry about committing to arbitrary pre-planned mappings of date ⟷ feature. Of course you can still have planned release dates, but you might have to adjust the feature-set to reflect what actually got done.</comment>


Array Vs. Linked List - <AUTHOR> http://stackoverflow.com/questions/166884/array-vs-linked-list

<comment><USER2> Reposting my own answer here, maybe it will spark a discussion:

Suppose you have an ordered set, which you also want to modify by adding and removing elements. Further, you need ability to retain a reference to an element in such a way that later you can get a previous or next element. For example, a to-do list or set of paragraphs in a book.

First we should note that if you want to retain references to objects outside of the set itself, you will likely end up storing pointers in the array, rather than storing objects themselves. Otherwise you will not be able to insert into array - if objects are embedded into the array they will move during insertions and any pointers to them will become invalid. Same is true for array indexes.

Your first problem, as you have noted yourself, is insertion - linked list allows inserting in O(1), but an array would generally require O(n). This problem can be partially overcome - it is possible to create a data structure that gives array-like by-ordinal access interface where both reading and writing are, at worst, logarithmic.

Your second, and more severe problem is that given an element finding next element is O(n). If the set was not modified you could retain the index of the element as the reference instead of the pointer thus making find-next an O(1) operation, but as it is all you have is a pointer to the object itself and no way to determine its current index in the array other than by scanning the entire "array". This is an insurmountable problem for arrays - even if you can optimized insertions, there is nothing you can do to optimize find-next type operation.

</comment><comment><AUTHOR> A Very detailed pros and cons. Liked it.</comment>


I Simplified My Smartphone to Regain Control of My Life - <AUTHOR> https://medium.com/swlh/how-i-simplified-my-smartphone-to-regain-control-of-my-life-44ef672a3f1f <comment><USER2> I constantly read articles like these and keep thinking - if you lose this distraction, soon you'll find another one.

I noticed a few months ago that hackernews and reddit were sucking more and more time out of my life. So I installed impulse blocker, removed the apps from my smartphone, thinking I would get so much more free time. Guess what, I was wrong - I just spent my free time with other distractions, sometimes to a much worse net benefit. Not reading HN would mean to lose the thin grasp I've got on state-of-the art tech and all the panoplia of interesting content.

I've tried the folder before, as well as turning the screen gray (guess what, most apps don't have enough brightness contrast to be really usable while on grayscale), and nothing worked.

Maybe distractions can also be positive in your life - I surely enjoy watching a documentary to spend time, and the entertainment it gives you also brings something valuable to your life, while r/funny or facebook don't. Maybe the trick is to select when you wanna have trivial fun and stick to that.

</comment><comment><USER3> "I put all my apps in one folder"

I do something similar and can recommend it.

I keep all sorts of apps on my phone, some I don't need very often like the Find My app, some of which I only initiate through Siri like Phone and FaceTime, some of which are donor apps to some kind of central app already installed or provide some other kind of infrastructure like my content blocker. All of those apps, every single app not on my first screen or Dock except my banking and finance apps go into a folder on the 2nd screen labeled "Etc." and the banking and finance apps go into a folder right next to that one labeled "Bank". I did this because those handful of times I need a particular app I don't access often, I'm not going to remember where I put it if I tried to organize everything by some kind of category, I'm not even going to remember where on the screen of page 2 I placed a particular category. Nothing in my Etc. folder is organized in any kind of fashion other than the order in which things were dropped in.

When I need it, Search will find it, but everything I access every single day or week is right there on the first page. No badge notifications, and notifications only for messaging and calls and card alerts.

</comment><comment><USER4> I did all this years ago, but it doesn't matter much because I'll just turn off screen time if I really want to use the apps.

My new solution works better: put reasonable limits in place (like 15 mins per day for time waster apps), and have someone else come up with the code so I don't even know it. There's a code recovery process I could use in an emergency but I've never bothered.

</comment><comment><USER5> > By applying a black background, it no longer makes the phone as appealing > and when I open it, it keeps me calm, with room to breathe and use my phone > intentionally.

I may have to do this on my laptop. I have a tendency to go r/unixporn to a degree, and spend to much time wasted on filler when I should be working on something.

</comment><comment><USER6> I've done something similar to the author. I have OmniFocus and a folder in my dock. Most used apps are on the front page of the folder. Nothing else on the homescreen.

I can't wait for iOS 14 and the new app library, though I hope there will be a way for the list view to be the default view. I'll also probably end up adding a few widgets back to the homescreen.</comment>


Ask HN: Paypal + BOA lost $200+ of mine.. What should I do? - <AUTHOR>

I closed my Bank of America account on 9/5/14. A few days later Paypal sent a refund to the closed bank account's debit card for $200. I was told by Paypal that if the account was closed the money should be rejected by the bank and will appear back in my Paypal account's balance. This they said could take up to 30 days.
I waited 30 days and the money never appeared. I contacted BOA and they claimed they never received any money from Paypal. Paypal claims the money is with BOA and BOA tells me the money is with Paypal. Both services refuse to help me further.
Does anybody have any ideas on what I can do to get my money back? <comment><USER2> Escalate to paper.

My first letter would be to, take your pick, the CEO of BoA or their Investor Relations department. ("To whom it may concern,¥n¥n I'm a shareholder in Bank of America. It was therefore with great displeasure that... I would be obliged if you investigated this as soon as reasonably possible.")

I happen to be a shareholder in Bank of America, and if you own virtually any mutual fund in the United States (perhaps in your IRA or similar), welcome to our exclusive club.

There's a series of letters you can write after that one, but I'd give you 50% odds on that solving your problem within 2~3 weeks.

The size of the dispute is too small to justify hiring a lawyer. If BoA continues to not play ball, then I'd send a followup letter, addressed to your local branch manager, and say substantially the following:

"On XX/YY/ZZZZ Bank of America received a $200 electronic funds transfer from Paypal to my account, QQQQQQQQQ, which was closed on 9/5/2014\. As my account was closed, I have not received the transfer, which is a clear error. The bank's representative $BOB said that the money had been returned to Paypal, but according to Paypal, this is not accurate.

XX/YY is within 60 days of the posting of this letter.

Accordingly, I dispute that Bank of America has properly discharged its responsibilities under Regulation E. You have 10 business days to investigate. After investigating, you have 3 business days to inform me of the results of your investigation. If you do not inform me of the results of your investigation by #{Date.today + 13.days}, you are in per-se violation of Regulation E.

I seek the following resolution to this issue: a cashier's check, delivered to my address via your choice of courier, in the amount of $200, representing the amount Paypal attempted to transfer electronically to my aforementioned account.

I have taken the liberty of sending this letter via registered mail, to make sure it comes to your prompt attention. [+]

Regards,

$YOU

[+] This action does not need to be announced in the mail, but considering that it is intended as a threat and will be read as a threat, might as well make sure everyone is on the same page about the threat.

The action you're threatening is to write the Federal Reserve Board a very well-documented complaint, upon which point a well-funded bureaucrat with very little to do gets to command BoA to pay attention by holding their feet to the fire until they do.

<comment><AUTHOR> @patio11. Thanks for your response. Why do you think its a BOA issue and not a paypal issue? Why contact BOA and not paypal?

<comment><USER2> Playing the odds, plus BoA has a very clear higher authority to yell at and Paypal perhaps not so much. You can certainly try escalation with Paypal, too.</comment></comment></comment>


My Story of ObamaCare - <AUTHOR> http://scripting.com/2017/03/09/myStoryOfObamacare.html <comment><USER2> begins with: "I learned then that _everyone must be insured_ at all times." (Which he didn't do)...

Ends with: "They have no business making my health care decisions for me."

Hypocrisy much?

His story goes on to reiterate that _because of Obamacare rules_ , the optimal strategy for a healthy person is to go without coverage, as the fines (even when assessed) are far lower than premiums... and you can always sign up for retroactive coverage should you need it. That's a fiscal nightmare.</comment>


10 Stupid Reasons Why Your Startup Is Failing - <AUTHOR> https://medium.com/@diymanik/10-stupid-reasons-why-your-startup-is-failing-4c190fd237f1

<comment><USER2> _You're afraid to lose friends by bugging them about your startup. Those people aren't your friends make new ones who want to see you succeed._

This is bordering on a cult mentality. And not just in the weaselly framing of what it means to "see you succeed."

Asking friends is fine, favors are things people do for eachother. But imposing on them because you prioritize your business over their friendship is another. If you're straining a social relationship just to improve your business, you're most likely the bad friend.

<comment><USER3> I didn't like #9 either. It advocates putting yourself out there by pursuing the random _possibility_ of an opportunity instead of opportunities that exist.

I did like the other 8 though.

<comment><AUTHOR> I agree you should have a plan. I think it's important not to avoid doing things outside of your comfort zone because you may miss a lot of opportunities that you couldn't have planned for.

<comment><USER3> Let me rephrase. Indirectly, possibly communicating with people you think can help you - like commenting on AVC's blog - and hoping they contact _you_ is not going to be anywhere near as helpful as contacting them directly. It's not serendipity when you put out bait and hope it catches _something_.</comment></comment></comment></comment>


YSlow for Chrome - <AUTHOR> http://developer.yahoo.com/blogs/ydn/posts/2011/03/yslow-for-chrome/

<comment><USER2> Doesn't work at all for me on Chrome 11.0.696.0 dev. When you click the button it does absolutely nothing. When you go to options it opens up a new tab with whatever "home" page you have set. Also, no errors in the console.

</comment><comment><USER3> Does not work on Mac.

<comment><USER4> Works fine for me on Chrome 9 in Snow Leopard. What problems are you seeing?

<comment><USER3> Sorry for the false alarm. It works now. I think may have had to restart Chrome for it to work. It got upgraded to 10.0 (snow leopard yes)

</comment></comment></comment><comment><USER5> A great tool for Chrome!

</comment><comment><USER6> Lol. Only 2 downloads: <http://i.imgur.com/4HhdK.png></comment>


NY bill would provide tax credit for open source contributors - <AUTHOR> https://opensource.com/government/16/3/ny-bill-tax-credit-open-source-contributors <comment><USER2> Up to a maximum of $200 per year. Not very exiting.

On a related note, could one create a non-profit open source company, and donate software to it and get tax write-off? Rich folk can get huge tax write off donating art works, we should be able to figure out a similar deal.

The question is how to value the contribution. Few things come to mind, most of them ugly - 1) by time spent at prevailing wage for your experience level 2) by line count 3) by some sort of proxy for market value.

Artworks for the rich have advantage in that there are fewer of them that get attentions and they are more expensive, hence a market for each one easy to establish with auctions, expert opinions, and the like.

I'm thinking we could have some kind of payback thing, where users of open source would declare how much time they saved by using the software, or how much an alternative would cost, and then we could use this as a proxy for value.

Dunno. Just a bunch of random ideas for brainstorming.

<comment><USER3> _donate software to it and get tax write-off?_

Donations are valued at your basis in them. Your basis in software you developed will generally be zero. Your basis in paintings you painted is slightly higher than zero: the cost of paint.

If you _buy_ software or paintings, your basis the "the cost required to acquire them." So if you wanted to _buy_ a major piece of software then donate it (subject to the usual requirements for this to not be abusive), then you'd be able to take the charitable deduction.

In most cases, the people writing OSS work for corporations. Corporations have a very simple way to get tax benefits from supporting OSS work -- expense it. Done.

<comment><USER2> Indeed, as far as IP is concerned, the following rule governs.

[...] your deduction for a donation of a patent or other intellectual property is its FMV, minus any gain you would have realized if you had sold the property at its FMV on the date of the gift. Generally, this means your deduction is the lesser of the property's FMV or its basis. For details, see Publication 526. [...]

[https://www.irs.gov/publications/p561/ar02.html](https://www.irs.gov/publications/p561/ar02.html)

However it's not clear to me that the basis is zero for IP. Can you clarify with citations?

<comment><USER4> From Publication 551, "Basis of Assets"

"The basis of an intangible asset is usually the cost to buy or create it."

They don't mention software specifically, but they say that for patents and copyrights you can only include costs you actually paid for, and you specifically may not include the value of your own time spent inventing or authoring.

[https://www.irs.gov/publications/p551/ar02.html#en_US_201412...](https://www.irs.gov/publications/p551/ar02.html#en_US_201412_publink1000256923)

<comment><USER2> Thanks a lot! I spent a bit of time, but didn't get to this.

</comment></comment></comment></comment></comment><comment><USER5> Seems silly to me. Add complexity to the tax code to give an insignificant/unnoticeable break to one of the wealthiest demographics around. The existing financial incentives for open source contributions are probably two orders of magnitude greater than this.

<comment><USER6> You think existing incentives for open source work could equate to $20,000/year? Two orders of magnitude is a lot.

<comment><USER7> It seems reasonable that being a core developer of R could land you at least $20k in consulting contracts.

</comment></comment></comment><comment><USER8> The '$200 per year, not interesting' comments are missing the point. Politics is a game of increments. If you want a measure in place for a large amount of money a few years down the line, you typically need to get it in place for a small amount of money this year, and then next year show it didn't blow up in anyone's face. So yes, this is a very good move.

</comment><comment> awinter-py The bill _seems_ like it doesn't permit deducting the same project more than once. (They apparently modeled the project lifetime on JS).

[http://legislation.nysenate.gov/pdf/bills/2015/S161](http://legislation.nysenate.gov/pdf/bills/2015/S161)

      An election may not be made if such election is in effect
      for such individual for any other taxable year and
      pertaining to the same program or any portion thereof.

Also, do expenses include my time value? If not, what other expenses are there for OSS devs?

That said, if this passes it will be most positive piece of software legislation from 2016. Only downside is if taxation brings about regulation.

<comment><USER9> > Also, do expenses include my time value? If not, what other expenses are > there for OSS devs?

I'm not sure from a legal standpoint as IANAL, but I can think of the price of a computer, a desk, a chair, Internet, etc. There are other costs associated with contributing to OSS in addition to the time.

</comment></comment><comment><USER10> That article was poorly written. But then again, the bill was poorly written. A "200 max" isn't going to be worth anybody's time. And anyway, what problem is this bill trying to address? If I'm a business and I have an expense, I write it off. If I'm make a donation to a non-profit, I write it off. What does this bill change?

</comment><comment><USER11> Reminder: You can already deduct volunteer-related expenses from your federal taxes, so long as you volunteer for a qualified organization:

[https://www.irs.gov/pub/irs-pdf/p526.pdf](https://www.irs.gov/pub/irs- pdf/p526.pdf)

See Table 1 and Table 2 in the above publication.

I think this is just extending this to NY state taxes, limiting to OSS development, and capping it at $200. All of which is a bit odd, but I guess it's a foot in the door and symbolically recgognizes OSS.

<comment><USER2> You can't deduct your hours, only incidental expenses like gas and bus tickets.

</comment></comment><comment><USER12> As I understand it, if artists donate works they can only deduct the materials. The problem is basically that you can donate value, which can result in a deduction - but if that value is achieved through work, you'd have to pay income taxes on that. For example, you could donate, say 5000$ to some non-profit software organization, then have that organization hire you to write FOSS, for 5000$ dollars, and get back that money. On the donation you'd get a deduction, but on the pay-back you'd owe taxes - so you're back at square one.

I don't see how donating work could work, given how taxes work. Is there any example where donating work is tax-deductible?

</comment><comment><USER13> This is ridiculous. $200 is below the noise floor.

<comment><USER14> You may be surprised to learn that threshold varies quite a bit from person to person...

</comment></comment><comment><AUTHOR> src: [https://www.reddit.com/r/programming/comments/4ayh2x/ny_bill...](https://www.reddit.com/r/programming/comments/4ayh2x/ny_bill_would_provide_tax_credit_for_open_source/)</comment>