Saturday, October 10, 2015

Software Licensing Overview (Open Source and Closed Source)

This is a cross-post from Lockboxx!! Read dat shiiii

The world of Free Software licenses and Open Source Software licenses can be massive and confusing, compiled with the endless Proprietary Software licenses (regardless if Commercial or not), it can be hard to understand from a distance. I wanted to take a second to set aside some general high level categories with examples in each camp, to give people a general / quick idea of what a license might mean and which direction they want to head. I don't mean to water down the huge world of open source software licenses, but simplify peoples approach and understanding. It should also be noted that while I am a fan of law / ethics / philosophy in computer science, I am not a lawyer. I also found a really great site to help me make my choice.

Highly permissive software licenses:
These licenses generally provide free software with few constraints on derivative works:
Unlicense
WTFPL
MITBSD
Apache 2.0

Copy Left software licenses:
Most of these have some requirement of derivative works having the same software license agreement or similar qualities:
GPL
GNU GPL 2.0
GPLv3
Mozilla Public License 2.0

Highly restrictive / special conditions licenses:
These are typically representative of specific service agreements between two individual parties:
No License (same as Copyright)
EULAs (End User License Agreements)
Proprietary software licenses

What really started this conversation for me, was that publishing public code on Github didn't give other Github users the rights I thought it did. For example, code published on Github (based on Github EULA) without a license gives other Github users the right to view and fork the code, but beyond that the code is protected under Copyright, potentially scaring many developers away. I also feel like a big part of understanding software licensing is understanding the history of software licensing. At the end of the day the choice is yours and you should make the choice based on protecting and propelling the software you care about into the world.



Sunday, October 4, 2015

Raspberry Pi Model Differences

Hey All, sometimes I get confused between all of the different Raspberry Pi models out there, so I thought I would document a few of them here for quick and easy reference. Remember that the biggest difference is the Model 1 uses ARM v6 and Model 2 uses ARM v7, so the same operating system won't run on both platforms!!

And some more facts about each model:

Pi Model 2 B

Pi Model 1 B+

Pi Model 1 B

Pi Model 1 A+ (not shown here)

Pi Model 1 A   (not shown here)

Thursday, October 1, 2015

How to be successful

Check this out, now.

He hits the mark on a lot.

Namely, when you fail, you learn.

He speaks about three things.
  1. Knowledge
  2. Strategy
  3. Execution
Seriously, watch it...

The first half is the important part.  Second half is about selling his program. lol. torrentz ftw.

How to prepare a 15 minute demo

Hey all,

I'm giving a 15 minute demonstration on ChatOps, so I'll walk through my process while I'm at it.

Fifteen minutes isn't a lot of time to demonstrate features, so I'll need to do a fairly quick overview.

There are a few main use-cases that I want to demonstrate along with an introduction and conclusion.

Whenever I want a task to go well, I build a tool that assists in the execution of this task.

For my presentations, that tool is normally a well-rehearsed slideshow.

Usually, either Google Drive or Microsoft PowerPoint is my go-to.

Using each slide as a single idea lends to presentational structure.

Well, I need to find out how many use cases I'll be focusing on, so I can start to actually build out the presentation.

Looking... (this is a process I do when I need to borrow an experts structure so my case has a stable base)

Okay, I found four target use-cases that I can make a strong case for:


These are the use-cases StackStorm has proven successful in promoting their solution with and I should be able to do the same.

4 (use-cases) + 2 (intro/conclusion) = 6 total slides

Doing that now...

Okay, after an hour or so, here's what I got:



Not bad, but I still need to go over my oral presentational strategy.

The basic idea is for each slide:

  1. introduce the overview
  2. discuss the body at a high level for ~ 3 minutes 
  3. then transition to the next slide.


And that's how to make a 15 minutes demo presentation.