why do you contribute to other’s repositories?

I’m interested to hear from other open-source coders out there. I’d like to know some of your motivations for contributing to another person’s or another team’s open-source repository. Call it a social studies experiment, if you will.

1st-Person Open-source

Here, I’m attempting to answer the question for everyone: “Why do you work on your own project in a public way and sharing your source code, knowing full-well that someone may take your code or fork your project and become rich and famous as a result?”

  1. I believe that my project has some worth for others and sharing it could make the world a better place to live in
  2. Other people might help me with my project
  3. A well-rounded github set of repositories looks good on my résumé
  4. I’m not expecting to make money from doing this
  5. Since I don’t live in America, there aren’t as many opportunities so this is my way of getting some attention from potential companies there

Let me know if I’ve missed any motivations here.

2nd/3rd-Person Open-source

This one’s a little trickier for me since I’ve been a life-time coder. In the not-so-distant past I was well-paid for working on software projects and have watched the coding salaries and the availability of programming gigs all erode.

The next question then for everyone: “Why do you work on someone else’s project in a public way, fixing their bugs and adding features, knowing full-well that some else may become rich and famous as a result?”

Case study – Github: Bloomberg reports that they recently brought in another $100M in venture capital based upon the Enterprise-level private repository revenue they’re currently earning. They’re currently valued at US$2B.

  1. I really like the other project’s code (let’s say, the Atom editor), believe in it and want it to be more awesome than it already is; since I use it myself, I’m getting something from the collaboration
  2. I want to work on a big project but I can’t otherwise get a job in a software development company so this is the next best thing; I’m getting the experience working in a software development team
  3. “Many hands make light work”; it feels good to help others; karma; “what comes around, goes around”…
  4. As a new programmer, I don’t have enough experience to start my own project yet
  5. Since I don’t live in America, there aren’t as many opportunities so this is my way of getting some attention from potential companies there; I might get hired by doing this

If I’ve missed any of your own motivations for coding on other people’s/team’s open-source projects, please add a comment here.

Some Thoughts on the Open-source Subject

What’s strange is when you have an entire team of people spread all over the planet, they’re working together on a project started by one guy (let’s say), time goes by, the project goes viral and then suddenly one day that “one guy” gets $250M in venture capital (like in the case of github). It’s valued at US$2B at the moment, btw. That’s about the same value as the New York Times.

I wonder if the investment companies realize that for the average open-source “company” this means that 1) they’re not necessarily incorporated, 2) they probably don’t have an office nor even a business checking account, 3) and anyone can fork the collection of code and start their own Atom-knockoff project if they wanted to.

And what happens to all the people whose free labor went into making github who they are today? Do they get a share of the money? No, they don’t. Do they get a job? Possibly, I suppose it all depends upon that original guy. But at this point, the power has greatly shifted from what it was before (more of a democratic society) to what it is now (more of a capitalistic corporation).

The siren call of open-source is a world which is free from capitalism. But what seems to happen is that these big projects are becoming exactly that, the thing these coders hated in the first place (or so it would seem). Open-source is supposed to be a culture. So why is it turning into nothing more than a first step to becoming a (funded) software development corporation in the end?

Advertisements

the fun never ends

Pretty stoked about my recent orders from the glorious interweb-of-stuff yesterday. Because, obviously, five Raspi’s are never enough for one coder.

Raspberry Pi Zero W

w00t. It’s a single-core version of, say, the Raspberry Pi 3 as if it were stolen, driven to a chop-shop in east Los Angeles and then people ripped off things like the RJ-45 port, the four full-sized USB ports, the header, half the RAM, etc. So it’s definitely stripped-down by comparison.  Looks like the HDMI connector and the two USBs are now their tinier counterparts. I don’t see an audio jack. It still has Bluetooth.

The ‘W’ model (up from the Zero) now includes embedded wi-fi so this ought to be killer. Best of all, it only costs $10 compared to $35 for the Raspi3. Too bad it’s twice the price of the Zero, however. And at 2.6″ x 1.2″ it’s smaller than the ones I’ve had to-date.

Raspberry Pi Zero W

zero-wireless

What will I do with this? It may very well go into the aquarium project I’m working on.

NeoPixel Quarter-Ring 60 LEDs

I also ordered four quarter rings of NeoPixel(s) to build a lighting rig for the ecosystem-pi project.

NeoPixel

The intention is to apply realistic lighting to a closed-system aquarium project throughout the day, adjusting the total lighting to compensate for the measured CO2 levels inside. Basically, the more light, the more plant growth, the more O2 produced and the more CO2 consumed in the process. There becomes a point where too much CO2 is bad for the shrimp so you don’t want to stress them out. And then too little CO2 stresses out the plants.

Digital CO2 Sensor

I was able to find a CO2 sensor for the Arduino which could be tweaked for use in a Raspberry PI project. This particular model also includes relative humidity and temperature for better logging.

COZIR Ambient carbon dioxide sensor with RH and temp

CO2_RHT-ambient_sensor_large

The Project

So far—since I don’t have any sensors, LED lights and such yet—I’m stuck with the GUI design for the interface at this point and making sure that the shrimp are happy.

ecosystem-pi.png

Everything in the interface is mocked-up right now but it ought to be fun to get the Raspberry talking to the sensors and adjusting the lighting from programmatic control. A fair bit of research has been done so far in the areas of aquarium and plant health.

But the two shrimp seem happy and have cleaned completely the two plants of their week’s worth of algae in three day’s time.

the inattentive blogger

I thought I’d see just how many bloggers pay little attention to their comments before first approving them. So I searched for a phrase which I saw in my own spam-marked comments and it surprised me how many people are falling for this.  There are at least 35 thousand blogs out there with this single instance of blog-spam.

Google: “My family every time say that I am wasting my time here at net”

MyFamilyEveryTimeSay

In some cases, like the Health and Wellness site that shows up as the first result in Google, it doesn’t result in anything harmful in this case because there is no link-back to the spam destination. It’s a seemingly-useful and yet bland/generic comment which has nothing to do with the blog post where it’s found. Note that it’s followed by another blog-spam attempt a minute later, likely the very same spammer.

NoLinkback

And in many cases, it does result in a harmful link within their blog comments. Working links like this result in promoting a particular website destination within, say, Google’s SEO.

Linkback

If you Google that exact phrase then the culprit who’s truly behind all this blog-spamming is likely one of these companies:  Google: “free online car insurance quotes”.

Specifically, it was this one…

https://www.freewebstore.org/carinsuranceminimizer

…which appears to have come under the scrutiny of the freewebstore.org’s Abuse department and they’ve been taken offline.

NoSoupForYou

Fortunately now, there’s no “there” there. Although tens of thousands of these dead links now litter the blogspace, no one is reaping the benefit. Given that someone just posted this same comment to my own blog (flagged as spam), I must assume that the spammer is possibly still getting paid to do so.

It’s like there’s a battle going on at all times on the interweb and it’s marketing versus I.T. most of the time. Only now, bloggers get to be the I.T. person just to maintain the status quo.

jpeg 2000 and you

If you’re slightly (okay, seriously) cynical like me then when you read about an interesting new virus you probably silently wonder if it was created by one of the anti-virus software companies. So here we are, staring at yet another new graphical file format that’s emerging: JPEG 2000. Perhaps the only people who love receiving a .jp2 file as an email attachment are the friendly folks at Adobe who make money selling you software subscriptions for PhotoShop. The rest of us are stuck wondering how we can convert these into something useful.

JPEG 2000

Born out of the relative beaurocratic boredom of 2000, the Joint Photographic Experts Group wasn’t otherwise gainfully employed and—working with the Global Version-Ratcheting Consortium perhaps—decided that the Internet and email was working too well indeed and needed a sharp correction in order to put the balance of the marketing universe right again. And so they introduced new standardized filename extensions like .jp2 and .jpx as well as mime types image/jp2 and image/jpx for your webserver.

Imaginary Interview With the Joint Photographic Experts Group

Q:  So, um… why don’t you guys just suggest we use the PNG standard since it’s already well-supported and just trash JPG since it’s so lossy?

A:  Ah, very good question indeed. That would have been an excellent solution of course if only the letters ‘P’, ‘N’ and ‘G’ somehow fit into our group’s name. And it doesn’t. So we had to mimic what PNG does, come up with some new file format and break the Internet.

Q:  That’s kind of… stupid.

A:  Yes, but we are the experts. See? It’s in our group’s name so you have to do what we say.

Q:  You don’t, like, accept bribes from big software companies like Adobe, do you?

A:  Every day. A Joint-Photographer’s gotta eat, right?

internet_broken

Support

Fortunately, I’ve put together a handy/information support matrix for the JPEG 2000 file format for your convenience.

Application Support for JPEG 2000
Adobe Photoshop Yes
Adobe Lightroom No
Apple iPhoto No
Apple Preview No
Autodesk AutoCAD No
BAE Systems CoMPASS No
Blender No
Phase One Capture One No
Chasys Draw IES No
CineAsset No
CompuPic Pro No
Corel Photo-Paint No
Daminion No
darktable No
DBGallery No
digiKam No
ECognition No
Microsoft Edge No
ENVI No
ERDAS IMAGINE No
evince No
FastStone Image Viewer No
FastStone MaxView No
FotoGrafix 2.0 No
FotoSketcher 2.70 No
GIMP 2.8 No
Google Chrome No
GraphicConverter No
Gwenview No
IDL No
ImageMagick No
Internet Explorer No
IrfanView No
KolourPaint No
Mathematica No
Matlab No
Mozilla Firefox No
Opera No
Paint Shop Pro No
PhotoFiltre 7.1 No
PhotoLine No
Pixel image editor No
QGIS No
Safari No
SilverFast No
Windows Explorer No
XnView No
Ziproxy No

ubuntu bash now in windows 10…?

There’s a little-known feature now in Windows 10 which is a fairly awesome piece if you know Linux/Ubuntu and, say, you’re a coder. Microsoft and Canonical got together to add an Ubuntu on Windows subsystem in the 14393.0 “Anniversary Update” OS Build.

The feature is also called the Windows Subsystem for Linux. What’s interesting is that from bash you can actually invoke a Windows executable or one compiled for Ubuntu. It can run DOS batch files as well as shell scripts.

  1. Turn on Developer Mode in Windows 10 -> Settings -> Update & Security -> For developers
  2. Turn on the Windows Subsystem for Linux (Beta) in Windows 10 -> search for “Turn Windows features” -> select Turn Windows features on or off
  3. Restart Windows 10
  4. Go to a command prompt
  5. Enter bash and type a y to continue, noting that this step will take about 20 minutes
  6. When finally prompted, enter a UNIX username (it’s case-sensitive) and a password (again, case-sensitive) which are completely separate from your other credentials

From this point you can run an Ubuntu bash prompt either from the added Start entry or by entering bash in an MS-DOS or PowerShell prompt.

Notes

  • It’s probably not a good idea to use Notepad or similar Windows tools to edit configuration files within the Ubuntu space.
  • You should be able to sudo from this first user as you might expect.
  • Once logged in, you’ll land in a /mnt/c/Users/username location from a Unix perspective.
  • Since the OS is Ubuntu, you would run sudo apt-get update to install things.
  • If you want to invoke Windows executables from a bash session, you probably want to start by adding the SYSTEM32 folder to your path, for example: export PATH=$PATH:/mnt/c/Windows/System32 but since this is UNIX you’ll need to make sure that the capitalization is right for each path.
  • Run lsb_release -a if you’d like to see which release of Ubuntu is running.
  • In theory, you could run bash scripts within a PowerShell script.
  • At this time, it does not support GUI applications.

where *not* to register your domain name

Spoiler alert, it’s Network Solutions. It seems like just last month I was trying to rescue a vanity domain name from Under-Construction obscurity. It appears that every four weeks Network Solutions wants to enjoy ad revenue by taking over your hosted domain name (when you stop watching them like a hawk). So instead of your customers landing on your website they end up on an Under Construction page which has keyword lookups. Obviously, they make money like this by stealing your property when you’re otherwise not watching out for this treachery.

UnderConstruction

So now I’m on the long hold with customer support, having entered the combination of voicemail commands to put myself into the wants-to-cancel-service queue. Of course, this queue is poorly-staffed because they don’t want you to cancel any of the services.

Having now waited out a 30-minute+ hold queue I eventually got to talk with a Michelle who couldn’t actually help me directly since I’m not the principal on the account. I prep’d the principal to indicate YES to the cancelation but we’ll see if that actually plays out. I suppose I get to wait until tomorrow then to bring that vanity domain into service.  <_<

Other People Complaining About Network Solutions

windows 10 from vm on ubuntu

If you’ve been reading my blog for any time whatsoever, you know that I have been irritated with Microsoft lately. I purchased a new HP laptop with Windows 8, upgraded it immediately to 8.1 Pro and then took advantage of the free upgrade to Windows 10 Pro.

Things seem to work out okay for a bit. I must admit my frustration at Microsoft for trying to be just like Apple. The Microsoft Store mentality, the logging in via Internet-based credentials rather than local credentials, the inability to innovate rather than to just copy. It’s a little sad, actually. There was a time when Microsoft led the industry and now they can’t make a move unless they’re mimicking something that Apple’s already done.

And yet, Microsoft is still the leader in business applications for the moment.

Ubuntu 16.04 LTS

After some ugly automated update that left my laptop is a non-working status, I decided after three months of this that I needed something else. I reformatted the hard drive completely and installed the free operating system Ubuntu Desktop. It’s nearly bullet-proof at this point. There is a manageable glitch regarding the ethernet adapter after a Restart but I’ve got a work-around. (And I’ve installed it on many other computers without this issue—it seems to be related to the wi-fi adapter only.)

Virtual Machine Manager

I was playing around with its features today and remembered that it includes a working VM solution. You can create a virtual machine, spin it up and run it from Ubuntu. I wondered if I could then run Windows 10 Pro again in a VM session on this same laptop.

WindowsOnUbuntu

Windows 10 Pro in a Virtual Machine

Why yes I can. (As in “been there, done that”.) The actual download of the ISO image of Windows 10 took more time than the actual installation itself. Here’s the overview of that install.

  1. Download an ISO image for Windows 10 and indicate your language choice
  2. In Ubuntu, select the Search item and look for Virtual Machine, selecting Virtual Machine Manager
  3. Create a new virtual machine, selecting the ISO file from the first step
  4. Give it at least 20248 RAM and at least 16GB hard drive space (I initially selected 3072 and 80 for these)
  5. Go with the defaults and give your VM a name, I chose Win10Pro for this
  6. Watch it go through the standard Windows 10 Pro installation and at the Product Key entry screen choose the option to do that later
  7. It will quickly run through the installation (much faster than it normally would or so it would seem)

Activating It On-the-Cheap

I followed the prompts afterwards to see what Microsoft wanted to charge on their Store for a legitimate Product Key. Microsoft wanted $199.99 for this.

So I searched on Google for anything less than this and wasn’t disappointed. eCrater just sold me the same thing for $10. They provided the Product Key, I entered it in and it’s now activated without any hassle.

Oddities

Since this is one of my first forays into VM on Ubuntu, I’ll note a couple of strange things which I saw.

  • Choosing the full-screen option seems to select a more squarish/middle part of the laptop’s screen rather than using its entirety.  I will likely have to research this or just ignore it.
  • Once in full-screen mode it’s not apparent how one gets out of that and back to Ubuntu.  It looks like pressing Ctl-Alt may bring down an upper menu. I’ve also heard that Ctl-Alt-F seems to toggle the cursor out of the VM window’s control. I was ultimately able to toggle from full-screen AND be able to move the cursor from its window, (a major breakthrough).

That said, I was able to finish up a session running Windows 10 Pro and then within that window, shut it down as you might normally do. The Virtual Machine Manager then informed me that this VM was down.  It’s possible then to alter the VM’s device settings, say, to change the available amount of RAM.

And the next time I need Windows, I can just spin up the virtual machine image again. I’m thinking that this is better than multi-booting, as I’ve done in the past. (I’m looking at my dual-boot MacBook with Ubuntu on it.)

Believe It Or Not…

The original Windows 10 Pro networking bug isn’t seen in this Windows-on-Ubuntu setup. It actually works… better?

I guess I’ll need to use it more to find out but it somehow seems faster than I remember. How is that even possible? Before, the native-mode Windows 10 Pro had access to all 6MB of RAM and now, it has only 3MB. Granted, I haven’t tried to run several programs at once on it and I haven’t installed Office 365, for example. We’ll see. I’ll keep an eye on it and let you know.

the cost of truth

The Internet is chock full o’ news on any given day and most of that is stark-raving free, which we’re used to of course. Contrast this if you will with Reality News Media and their promise of “dissemination of truth” as juxtoposed with their $20 subscription price to read it.

dis·sem·i·na·tion
noun
  1. the act of spreading something, especially information, widely; circulation.

Um, really…?

If you really wanted to spread the truth then charging for it isn’t in your best interest. If you do so, you’d only be spreading that truth to those who don’t value their money, in other words, the rich.

truth