Canadian spy agency, CSIS, uses illegal bulk data collection to subvert Canadian freedoms

On a beautiful Sunday morning, I have to link to this bit of ugliness on the illegal bulk data collection by the Canadian spy agency, CSIS. Only a handful members of government knew about and it was only revealed because of a court case.

From the article:

Many corporations and government agencies are now gravitating toward so-called big data computer analytics that can predict patterns of future behaviour based upon records about what has happened in the past. Spy agencies are no different, and the centre in question appears to be the Canadian Security Intelligence Service’s equivalent of a crystal ball – a place where intelligence analysts attempt to deduce future threats by examining, and re-examining, volumes of data.

Continue reading “Canadian spy agency, CSIS, uses illegal bulk data collection to subvert Canadian freedoms”

Rejecting Software Licenses

Martin Sustrik has written an article about the number of Github repos that have licenses and apparently that number has been declining. Github now lets newly created repositories to insert a license file that has the text of licenses such as the MIT, Apache 2.0 and GPL.

His theory is that more developers just don’t care about licenses anymore and are completely rejecting them and the copyright system that goes along with them.

So, the other possibility is that authors deliberately reject the legal system per se. The reasoning can go as follows: I do care about my peers using my software. I don’t give a damn about whether the lawyers and mega-corporations they work for use it. So, if you are like me and you don’t care about all the intellectual property antics, here’s my project, feel free to use it. If you are the kind of moron who wants to have their legal ass covered, go screw yourself.

Where I think he goes wrong is in stating that this is a more radical position than the Free Software movement’s statement:

Put this way, publishing without license is a much more radical statement than GPL is. Where RMS says: “You can use my stuff if you buy into the idea of free software,” people publishing without license say: “You can use my stuff if you are willing to ignore the law.” It’s a bit like when you want to join mafia and they ask you to beat an innocent bystander to prove your contempt for the rule of law.

This is missing the point. Yes the GPL relies on the existing copyright system of enforcement, but if you aren’t using GPL that’s absolutely fine and is in fact the point of the GPL; that we are creating new free/open source software that can exist *outside* of the realm of our antiquated copyright system. Richard Stallman was keenly aware of this and why he worked on creating a license that can use existing system against itself.

One day we’ll reach a tipping point where it would be stupid to try and copyright a piece of software, absolutely ridiculous, something that’s only done by someone selfish and anti-social. Until that day, however, we have the GPL to protect us from companies that want to lower their costs and take advantage of our labour. The GPL’s point is to use the copyright system against itself.

At this point you can opt out of the copyright system, but it won’t opt of you. The governments of the world, despite our protestations, want to enforce copyright on software. By neglecting to include a license, you’re actually preventing others from using your software and developing it further because your users/developers and the rest of society have bought into copyright law.

This is precisely why it’s important to talk about the GPL and copyleft. One day, all software will be free/open source and we’re getting closer. This is why I’m forking node-oauth, which was under the MIT license and changing it to the GPL3 license. Because I can’t opt out of the copyright system yet, but when we get to that day where we no longer have any copyright laws and enforcement in place, that’s when I’ll remove all the licenses from my code. Continue reading “Rejecting Software Licenses”

Quality, Speed, Joy

Quality, Speed, Joy

How Twitter Manages Engineer Effectiveness

Peter Seibel, author of Coders At Work and Practical Common Lisp, is the director of engineering effectiveness at Twitter and wrote a nice blog post about what it takes to improve and manage the effectiveness of software engineers: http://www.gigamonkeys.com/flowers/

Twitter’s Engineering Effectiveness department has the motto “Quality, Speed, Joy”:

Those are the three things we are trying to affect across all of Twitter engineering. Unlike that other famous triple, Fast, Cheap, Good, we believe you don’t have to pick just two. In fact they feed into each other: Building things right will let you go faster. Building faster will give you more time to experiment and find your way to the right thing. And everybody enjoys building good stuff and a lot of it.

Continue reading “Quality, Speed, Joy”

Free Book on Software Engineering

Read it online for free: http://camriley.com/lifelock/

There’s lots of good stuff in here; it’s a mix of war stories and great thoughts. All the italics and emphasis are mine. There really is a lot of good writing in here and it’s a great little book to read. I highly recommend it and only wish the author had put it into book format. Great quotes all around. Continue reading “Free Book on Software Engineering”

check out “no dogma podcast”

great programmer/software developer podcast, lots of interviews with developers on topics like encryption, agile, open allocation, professionalism, etc.

Some of the interviews are with these people:

There’s lots of interesting interviews on this podcast, lots of hours of good learning material.

Software Engineer Titles Ladder

The Full Software Developer Title Ladder

For reference, based on ChangeLog’s Software Engineer Title Ladder, here’s a listing of software engineer titles in order of progression.

  • Junior Software Engineer
  • Intermediate Software Engineer
  • Senior Software Engineer
  • Staff Software Engineer
  • Senior Staff Software Engineer
  • Principal Software Engineer
  • Distinguished Software Engineer
  • Fellow
  • Senior Fellow

The Most Common Developer Title Ladder

Most companies, especially smaller companies and companies that don’t care much about their software developers, have a ladder that looks like this:

  • Junior Developer
  • Intermediate Developer
  • Senior Developer

Before the Developer part it’s usually Web, Software, Frontend, Backend, User Interface, Fullstack or some other qualifier.

Alternative Titles

Some companies will call their intermediate or senior developers one of these titles instead:

  • Software Architect
  • System Architect
  • Software/Web Developer (notice no prefix like junior or senior)

It’s basically title padding and an easy way to keep people happy and to enforce hierarchy.

The lack of a prefix also makes things look fairer than they are and lets the company get away with not precisely defining exactly who is a junior, intermediate, or senior.