joepie91s Ramblings

Random posts about technology, activism, programming, people, and anything inbetween.

Month: March, 2013

Why people think Windows ‘works fine’.

I frequently have discussions with people about Windows. Sometimes including the topic of Linux, sometimes not. Two questionable claims in particular are made by almost every Windows user that I talk to: “but Windows works fine for me”, and “Linux just costs a lot more time to keep running, Windows works out of the box”. I hope to explain in this article why these claims are in fact often not true, and why people still make them – and genuinely believe that they are true.

First, let’s talk about the claim that “Windows works fine”. By far the most commonly heard argument, it’s used particularly often by users that are not very tech-savvy. These users claim that they ‘never’ have issues with Windows, and that there’s no need to change to a different operating system. Yet, when watching these users use their computers for a few hours, you will see that these same people that just told you “Windows never causes issues”, frequently get frustrated because their applications slow down, crash, or otherwise stop working.

So, why do people claim that Windows works fine, when they are clearly having issues with it? The answer is not, as you would expect, that the frustrations they are experiencing ‘aren’t bad enough’. The answer lies in how people cope with constant frustration.

Many of these users are locked into using Windows (or believe that they are), because they use some kind of software that only runs on Windows, their employer mandates it, or they simply feel uncomfortable with an environment they aren’t used to. At the same time, these frequent frustrations make it hard for someone to focus on doing their thing, whether it’s work or entertainment. To cope with this tricky situation, their brain will have to figure out some way to make the frustration not interrupt the ‘workflow’.

Because it believes there is no alternative option, it chooses to do this by convincing itself that ‘it works fine, and there are no problems’. Because the distraction of these constant frustrations can be alleviated by this belief, the user can focus on what they are doing, and basically ignore the issues they run across – even if they do, in fact, still interrupt the workflow. The effect is not unlike learned helplessness.

The problem? This belief remains even when that user is not using their computer! The result is that the user is absolutely convinced that Windows ‘works fine’, despite causing constant interruptions and frustration.

The idea that Linux somehow requires more time to keep running has two reasons: the misconception that is similar to the issue described above, and a failure to understand that various Linux distributions have various characteristics and work differently. Usually, the people come up with this argument have used one or maybe two Linux distributions that took time and effort to get running, and then conclude that this must be a characteristic inherent to Linux – when, in fact, it has to do with those specific distributions. 

Personally, I very strongly dislike compiling or having to solve problems with the machine I work on, which is why I use openSUSE. It has a very extensive package repository, and unless you’re trying to do absolutely crazy things, everything just works out of the box.

As a result, I practically never have to compile anything, despite trying new things all the time, and I don’t have to spend time worrying about anything that keeps me from getting work done. In the time I used various versions of Windows – from Windows 95 all the way to Windows 7 – the problems with Windows that I ran across consumed much more of my time than openSUSE has ever done.

Finally… don’t believe that you have simply learned to ignore issues with Windows over time? It’s very simple to prove – simply keep a tally on a piece of paper of every time you get frustrated by your computer, and every time you have to spend time on solving a problem. Do this for two weeks, and you’ll see what problems Windows really has.

Licensing for beginners

Many people are confused by how copyrights and licensing works, and they often unintentionally revert to an option that does not benefit others as it could have. With this post I hope to shed some light on how licensing works, why you should be doing it, and what license to pick based on your personal preference.

If you dislike the idea of copyright altogether, then definitely read on. As copyright still exists virtually everywhere, ignoring it will only lead to less people being able to (re)use what you created. For now, licensing is a necessary evil, and there are some licenses that basically amount to “do whatever you want”.

It’s recommended to read this entire post. It may take some time to do so, but it will give you a vital understanding of how licensing works and why it is important.

The caveats: I am not a lawyer, simply an active open-source and open-culture proponent that has invested a fair amount of time into researching copyright and licensing. This list may also not be complete, it only lists notable and popular licenses.

Why should I license my things, instead of just putting them online without a license?

Copyright is a whitelisting system. This means that by default, no one has the right to do anything with what you made, unless you explicitly indicate that they do. The only exception to this are certain ‘fair use rights’ that exist in many countries.

Public licenses never include restrictions as compared to non-licensing, they only introduce (conditional) permissions.

Basically, if you don’t license your things, that means a blanket ban on reuse and redistribution. No one can use your things.

Why should I license my things, instead of just putting them in the public domain?

“Putting something in the public domain” is not something that is possible in every country. In the countries where this isn’t possible, your “work” will revert to being fully copyrighted and without a license, meaning no one can use your things.

Note that for copyrighted works, the jurisdiction that applies is that of the user, and not that of the creator. Even if you live in a country that allows dedication to the public domain, that does not mean that everyone can use it freely.

There are solutions to this in the form of the CC0 and the WTFPL. They will be discussed later on in this article. If you don’t want to think about legal stuff or don’t want to read legal texts, and just want it to work like public domain, skip ahead to the WTFPL and use that.

Why should I license my things at all? I don’t want someone to steal my work!

Leaving aside the discussion about the ethics of ‘piracy’, it’s important to realize that licensing your work does not mean you are abandoning all your rights. There are many different licenses with different permissions, that allow pretty fine-grained control over what people can and cannot do with your work.

Additionally, realize that using an open license for your work does not make it any easier for someone else to do something you don’t want – if someone is going to ignore your copyright, they could’ve done so just as easily without a license!

Why can’t I just write my own license?

While it’s technically possible to do so, it’s inadvisable for a number of reasons.

First off, the existing popular licenses have (mostly) been written by legal professionals that are very aware of how the copyright system works, and what kind of text a license has to contain to have a certain effect. By writing a license yourself, you risk overlooking things.

Another useful trait of existing licenses is that you can simply refer to their names, and people will either know what it means straight away, or it will be trivial to look it up. This makes reusing your work more inviting to someone that doesn’t have a lawyer to check things, and just wants to know whether a license will allow him to do something.

Long story short, unless you have a very specific situation, don’t write your own license. If you really need a specific license, then be sure to consult a legal professional about it.

Okay, so what kind of licenses are there?

Note that in the following sections, “work” refers to the thing you made, and “authors” refers to you and anyone you worked with to create that work (plus, in many cases, those that make modifications).

If you don’t want anyone to modify your work

If you want to allow someone to share your work, but don’t want to allow them to make modified versions (derivatives) of it, you can use this license.

Creative Commons No Derivatives (CC-ND): You can share the work, but you can’t make any modifications to it, and you must give credit to the authors. This license is general-purpose. While Creative Commons licenses are typically not ideal for software, there does not appear to be a commonly accepted software equivalent of this license, so you’re probably stuck with the CC-ND.

If you want to force others to share under the same license

There are various licenses for you to choose from, that allow you to force someone to share your work and any derivatives (modified versions) under the same license as you picked. These are some popular ones:

GNU General Public License (GPL)This is a very commonly used software license. It requires anyone to use the GPL if they want to share your code or a modified version (derivative) of it. It also requires anyone distributing a binary version of your code, to include the source (or give a download link to it). Additionally, it requires them to give credit to the authors.

Creative Commons Share-Alike (CC-SA)This is a license that is commonly used for multimedia, but it applies to pretty much any creative work. You should, however, not use it for software. It requires users to give credit to the authors, and to share your work and any modified versions under the same license.

GNU Lesser General Public License (LGPL): This license is similar to the GPL, but you are only required to release modifications of the work itself under the LGPL. Other software that only includes LGPL-licensed code, does not have to be licensed under the LGPL itself. This license is commonly used for software libraries.

GNU Affero General Public License (AGPL): This license is similar to the GPL, but it also requires you to publish the (modified) source code to any user of the code, even if it’s served as for example a network service. Examples of this would be a gameserver or a content management system.

If you don’t want anyone to use your work commercially

If you only want to allow non-commercial usage of your work, there’s one license that you can use.

Creative Commons Non-Commercial (CC-NC): Your work can only be used in a non-commercial fashion, and you must give credit to the authors. Note that the definition of ‘non-commercial’ in this license has caused controversy, and this license was not designed for software. Usage of this license is not recommended.

If you just want people to give you credit

If you just want to require people to give credit to the authors (you and maybe others), and don’t really mind what they do with it otherwise, these are some licenses you may want to consider.

BSD 2-clause license (BSD-2): This license requires anyone distributing your work or any derivatives of it, to give credit to the authors. It also includes a disclaimer of liability.

BSD 3-clause license (BSD-3): This license is the same as the 2-clause version, but it also forbids anyone from using the name or trademarks of the authors, to endorse any modified versions.

MIT (Expat) license: Similar to the BSD 2-clause license. Requires distributors to give credit to the authors, and disclaims liability. The difference is that while the BSD 2-clause license requires someone to give credit to contributors as well, the MIT license does not.

If anything goes

Creative Commons Zero (CC0): This license dedicates your work to the public domain where possible, and if not, it allows anyone to do with your work whatever they want, and there are no requirements for redistribution, attribution, or anything else. It also includes a disclaimer of liability.

If you don’t care what people do with it, and don’t want to bother them with legal texts

Do What The Fuck You Want To License (WTFPL): This license allows anyone to do with your work whatever they want to, without any restrictions whatsoever. The advantage of the WTFPL over the CC0 is that it does not have any legalese in it, so anyone can understand it. The entire license can be summarized as “do whatever the fuck you want to”.

What’s your favorite license?

The WTFPL. I believe in encouraging people to do the right thing (free redistribution of modifications), rather than forcing them to do so.

Questions?

If you have any more questions, suggestions, or criticism, feel free to leave a comment! I’ll answer to the best of my abilities, and update the article if necessary.

Update: I should probably have mentioned this straight away, but this article and other posts on my blog are all licensed under the WTFPL, and can therefore be reused and redistributed as you wish 🙂

About the actions of Adria Richards at Pycon

Right, I was going to try and ignore this, but the circus that is being made out of it, is really starting to piss me off.

First of all, I want to make this very clear: I am all for treating everyone equally, regardless of gender, sexuality, or any other kind of ‘metric’.

That said, what happened at PyCon is absolutely and completely ridiculous and over the top. When I say that I am all for treating everyone equally, I actually mean equally, and that does not include reverse discrimination as happened here.

A summary of the story as I have been able to figure out: two guys in the audience make dick jokes, a woman in the row in front (Adria Richards) gets offended, tweets out a picture of the two guys to ‘shame’ them, and then goes on a PR offensive to complain about sexism, unwelcome atmosphere for women, and so on, eventually leading to (one of?) the guys apparently being fired. The problem? The jokes weren’t actually about women.

These two guys were, as far as I can determine, making generic dick jokes, aimed at no one and no gender in particular. While that could be considered unprofessional, that does not automatically make it sexist. Women do not have a monopoly on sex. The assumption that they somehow had sexist intentions, was really nothing more than that – an assumption. And that’s not even taking into account that if the jokes were about women, plenty of women make similar jokes about guys, and plenty of gay (!) people make similar jokes about their own gender respectively. They are jokes, for fucks sake – grow up and learn to deal with them.

At this point, the victim mentality came into the picture, and Adria Richards started complaining about things in public. If you read her blog post, you’ll see that there are copious amounts of over-dramatization, numerous claims or implied claims of sexism, and various other things that, when looking at the actual jokes made have nothing to do with the real situation whatsoever. I will not go into guessing what makes Adria do something like this, but I find it very worrying that a situation like this can be blown up into such a circus, or that one would have the desire to do so in the first place.

The cherry on top? Adria is removing negative comments from her blog post. Something to think about.

Unemployment is inevitable, and that’s not a bad thing.

The title of this post might confuse you. Not having an income is bad, right? How are you going to put food on the table?

The important thing when thinking about social issues like unemployment, is not to think on an individual scale, but on a society-wide scale. While you as an individual will have a problem when you lose your job, what does it really mean for society when unemployment rates go up?

The key to this is in a basic economical concept: supply and demand. When demand is larger than supply, you have a shortage. When supply is larger than demand, you have an excess. But what does that mean in the context of employment?

To understand this, you need to understand that manpower is treated like a commodity in the current economic system. There is a certain demand of it (jobs and their working hours), and a certain supply (job seekers). With this knowledge, we’re already very close to understanding the big picture, because adding up everything we just talked about, it turns out there’s another way to describe unemployment. Unemployment is effectively an excess of manpower. There is more supply of manpower than there is demand for it, which leads to a part of said manpower being in excess – which is exactly what unemployment is! 

Consider the idea of ‘creating jobs’. No doubt, regardless of where you live, you’ve heard some politician at some point say that “more jobs have to be created”. With our new-found understanding of what unemployment is, it suddenly becomes clear that that politician was advocating creating more demand, just to fit in all the supply of manpower. 

Consider this analogy:

A mobile phone manufacturer finds that they are producing so many phones, that a large part of them remains stocked up in a warehouse, because everyone that wants a phone already has one! Rather than cutting down on their production, the manufacturer decides to lobby for the government to introduce a ‘mandatory phone’ law: every citizen must buy a phone from the manufacturer, regardless of whether they want one. 

Sounds crazy, doesn’t it? Yet this is exactly what is being done for manpower! Rather than cutting down on the amount of work and production that takes place, which would result in shorter work weeks, artificial jobs are ‘created’. And who are you to disagree with that? After all, you have to work a full-time job to be able to put food on the table!

But isn’t it a good thing that everyone gets a chance to have a full-time job?

No. Most likely your idea is that if enough jobs are created, everyone will be able to put food on the table. Sadly, when taking into account how money circulates, that is not how it works.

Simply put, your salary comes from the funds of the company you work for. Those funds are a result of that company selling things to others. But who are those things being sold to? To a ‘consumer’, either directly or indirectly – the same ‘consumer’ that needs a job to survive! In the end, it’s one big circle. This means that if more jobs are created, more is produced or created, which in turn means that more has to be bought, which increases the salary you need, and so on.

Eventually it’s a zero sum game – if the total amount of salary handed out throughout a country increases, then the total amount of sales has to increase as well. The specifics are a bit more complicated, but in the end it basically comes down to this. No matter how many jobs you ‘create’, the compensation for that will have to come from somewhere, eventually landing you in the exact same position as where you started.

Unemployment cannot be solved by ‘creating jobs’, full stop.

But then what is the solution? 

As I said in the very beginning of this article, unemployment is not actually a problem. It’s solely a result of the way technology has advanced. As automation has increased over the past few decades, and many things have gotten significantly less labor-intensive, we simply do not have as much demand for manpower as we used to.

This is a good thing!

If we need less manpower to keep the same society running, that means there’s more time to do other things that are not essential to survival, but still important – such as self-education, innovation, arts, and so on.

But to get there, the way we think about work has to be changed. It is no longer reasonable to expect every single person to ‘contribute to society’ by working a full-time job. Society doesn’t need that kind of manpower, and it keeps us from working on more interesting and innovative things.

I will follow up at a later point, with a more detailed article on how this can be put into practice.

A note for commenters: Before telling me to “join the real world”, or accusing me of “living in an utopia”, please consider whether you really have a point. If you do, it should be trivial to point out the specific flaws in my reasoning, rather than attacking me with an ad hominem. If you don’t, then maybe it’s better to just not comment, and let this sink in for a while.

Site5, and their insecure practices and questionable business ethics

So, recently, Site5 was social-engineered, resulting in $12,000 worth of Bitcoins being stolen from BitInstant. And Site5 released a statement.

What is quite notable about this entire event, is that apparently all that was required to compromise BitInstant, were the answers to their security questions. This turned out to be sufficient information to access their account, and change the contact information on it, eventually leading to the theft.

Many people will probably realize that ‘security’ questions are actually very insecure. When answered truthfully, they can be guessed by anyone with sufficient knowledge of the account holder. When answered untruthfully, you need to keep track of the answers somewhere, thereby completely defeating the point of having security questions “in case you lose your password” – after all, if you lost your password, wouldn’t you likely also have lost your security questions?

But apparently Site5 is not responsible for your security, and that’ something you have to take care of entirely by yourself as account holder, even if they don’t give you the tools to do so. Oh, and those that simply aren’t aware of how to do things securely, apparently don’t deserve security either. Let’s have a look at the thread of comments that ensued… (click for full size, article continues below image)

Image

Now you might be wondering… what are those questionable business ethics I speak of? Well, apparently the PR department at Site5 wasn’t happy that someone responded critically to their (lack of) security and responsibility, and the request for “tips and pointers” only extends to things that put Site5 in a positive light. Clearly protecting their reputation is more important to them than keeping their users secure.

If you have a look at the thread as it is now, you’ll notice that the above conversation has mysteriously vanished. Entirely. Sadly, my last comment has been unrecoverably lost before it could be screenshotted. It basically came down to “you’re just repeating the same things over and over again, ignoring the points I am making”.

Oh, and Ben sent me an e-mail. It contained the same (flawed) arguments as before, and apparently the reason for deletion of the thread was as follows:

I removed the posts from the blog as they are not serving any purpose and you are being argumentative.

Can’t have someone being argumentative in a comments section, of course.

Anyway, draw your own conclusions.

PS. Ben, I’ll gladly continue this conversation, but not via e-mail. I’ll only discuss this in a place where your users can get transparency about what’s going on, and what they need to be aware of. I have a very low tolerance for dishonesty and hiding security issues, especially if the dishonesty takes place with commercial motives.

 

Announcing ReDonate: Recurring contributions done right.

I’m happy to announce the launch of ReDonate, the only 100% voluntary recurring donations service.

ReDonate allows you to receive monthly donations from fans or users, without locking them in to a subscription, and without any automatic charges whatsoever! There are no restrictions on what payment processors or payment methods you can support, either.

So, how does it work?

When you subscribe to a ReDonate campaign, you indicate how much you wish to donate to the campaign per month. Every month, you will receive an e-mail reminding you of your pledge, including donation links for various payment methods that let you donate straight away. None of your accounts are ever automatically charged, you are completely in charge of whether you wish to keep donating or not!

You can unsubscribe from a ReDonate campaign at any time, for any reason, without any kind of penalty. Just click the unsubscribe link in any of the e-mails we send you, confirm your unsubscription, and you’re done! No more “whoops, forgot to cancel” moments.

What’s the difference with Flattr?

Everything, really. Flattr lets you assign a certain fixed amount of money to donate every month, and splits it up between all the projects you pick for that month. ReDonate, however, lets you make individual pledges to individual campaigns, without fees or arbitrary limitations, and without automatically taking any money from a donor.

Why should I use ReDonate as a developer/artist/anything else?

Many people want to regularly support the things they like, but are put off by the automatic charges and potential hassle of cancelling a traditional recurring donation. Similarly, many recipients of donations are not comfortable with “locking people in” to recurring donations.

ReDonate offers the solution, by letting you accept monthly donations in an ethical manner – without the automatic charges, without the hassle of cancellation, and without locking your users or fans in to a donation that they’d rather not send. After all, aren’t donations supposed to be voluntary?

By accepting recurring donations through ReDonate, you can create a more predictable income from completely voluntary donations. As a bonus, you’ll get a neat dashboard to keep track of how things are going!

What’s the catch? Do you charge any fees?

No. ReDonate is 100% free, no exceptions. No fees, no paid memberships, nothing. ReDonate is a non-profit project supported by the Cryto Coding Collective.

It’s open for anyone to use, without restrictions. If you like ReDonate and want to support it, you can of course always donate to us! 🙂

Who are using ReDonate?

These are some of the projects that already use ReDonate:

tahoe

Our goal is a decentralized and censorship-resistant Web; a Web that can’t be surveilled or censored, a Web with no master. Our contribution to that goal is Tahoe-LAFS, a Free and Open cloud storage system. It distributes your data across multiple servers, so that even if some of them fail or are taken over by an attacker, the storage system continues to function correctly without compromising your privacy or security. (campaign)

neon

Neon is an open source multi-user control panel based on nginx, MySQL and PHP. Neon, once installed on a server, allows you to create and manage user accounts, each with their own private file storage, domains, DNS, e-mail, databases and backups. Neon comes with an automated installer that turns a blank server into a fully configured webserver, including mailserver, DNS server, and FTP daemon. Neon is currently in development. (campaign)

id3nt

Id3nt is a censorship-resistant microblogging service exclusive to the I2P network, a Twitter for cryptoanarchists, whistleblowers, those under the yoke of oppressive regimes, and privacy-loving users everywhere. With a voting system and a soon-to-be-launched privilege feature, Id3nt encourages positive contributions, incentivizing information sharing and a frank and unguarded exchange of views.  With no identifiable location, no hosting service to approach, subpoenas and takedown requests are about as effective as a chocolate fireguard! Bulletproof yourself today, get on the I2P network and id3ntify yourself! (campaign)

i2pfux

I2Pfux is a 100% compatible fork of I2P, software that puts privacy and anonymity center stage in the fight against the ongoing erosion of civil liberties. If you’re an activist, a whistleblower, or just someone who cares about civil liberties, I2Pfux is for you! With anonymous e-mail, torrenting, chat and webserving built in, and the option to run pretty much most services that exist on the normal net, it’s a comprehensive communication solution for those that don’t take kindly to their private business being infringed upon! (campaign)

cvm

CVM is a free and open-source VPS panel currently in development, with a focus on clean and secure code. Support is currently exclusively for OpenVZ, but KVM and Xen support are planned in the near future. CVM features a clean and simple user interface, a reliable and organized codebase, unobfuscated code, the possibility to use your own themes, and much much more! (campaign)

 
anonyopsAnonyOps is a popular news source covering new and developing stories focused on the online collective Anonymous. We cover Anonymous operations, hacks, protests, and other activist stories. We also host many other activities related to the topic, including live streams of protests and other events, and live coverage of these events. AnonyOps has been in the news covering scene for two years and is constantly improving. (campaign)

Want to use ReDonate or learn more?

Visit ReDonate now!