Learn How To Create a Cool NaiveCoin Cryptocurrency

Naivecoin is an open source implementation of a cryptocurrency. It includes all the major components needed to build a cryptocurrency such as a miner and the blockchain. If you’ve been reading about BitCoin and other cryptocurrencies and still don’t quite understand how they work, you should check out the code in Naivecoin.

Sometimes to understand a concept we have to implement it ourselves. Or in this case, we can use someone else’s implementation as a live simulation that we can watch and read through the code.

Naivecoin is written in Node.js which should make it easy for everyone to learn from. It is short and the author aims to keep it as small as possible.

We had a blog post about Copay, a shared bitcoin wallet. It would be cool to see someone implement a shared wallet for NaiveCoin. Another idea is to add smart contracts to NaiveCoin.

If you have an idea for how a cryptocurrency could be better, you can use Naivecoin as a basic implementation and proof of concept.

Advertisements

Ethical WTF: Telus Health secretly inserted drug vouchers into electronic medical records system

According to the Toronto Star, Telus Health’s EMR (Electronic Medical Records) system offered vouchers for more expensive brand name drugs. This “feature” was enabled in a 2016 software update with many doctors unknowingly activating it.

When doctors would go into the system, vouchers would sit alongside patient information, it would be non-obvious or hidden and it would look like part of the software:

The Star had found that brand name drug companies paid Telus to digitally insert the vouchers so that the prescription is filled with their product instead of the lower-cost generic competitor that pharmacists normally reach for.

What’s troubling is that Telus would send data about usage of the vouchers back to the marketing/advertising companies:

Telus said drug manufacturers paying to have their vouchers in the EMR receive “aggregated and anonymized, province-level statistics” on the total number of vouchers printed off for their products

Not only that but Telus has received subsidies (read: market distortions) for the implementation of their electronic medical records system:

Telus has been a significant beneficiary of a provincial government-funded program that saw more than $340 million distributed to doctors to adopt electronic medical records in their practices. Roughly half of the doctors who received funding went with a Telus-owned EMR that now includes the voucher feature.

The Ontario government has moved to ban this unethical and secretive behaviour. This “feature”, really a bug, will be turned off over the next few weeks. They are updating guidelines for certifying medical software.

That doesn’t go far enough. We need software developers and product and projects managers to be able to report ethical violations without fear for their jobs. We need stronger whistleblower protections.

Why didn’t the software developers working on this raise a red flag? They had a year, or longer, in which to do so. They could have done so either privately in the company, or if that failed to stop this unethical madness, to leak this unethical behaviour to the press or a government department.

Just following orders is not an excuse.

But let’s not lay all of the ethical burden on the developers.

Why didn’t the project or product managers raise the red flag? Did they only have visions of millions of dollars? Why did no one consider the possibility that government regulations, specifically a ban, could come into effect? I wonder what impact that would have on the too-often optimistic estimated ROI of that “feature”! It turns this money-making feature that Telus was tempted into by advertising companies into a massive liability. The government will look close at every future update to the software to ensure it doesn’t include this kind of advertising scheme.

The ethical situation when building software is getting worse (it’s already pretty bad from this Telus drug advertising case and the VW emissions testing case). We as software developers need to be making a greater push for free/open source software because it is auditable. We also need to be willing to raise the flag on unethical and illegal ideas.

We need stronger whistleblower protections for developers, designers, product managers, project managers and others in the tech industry to feel safe enough to blow the whistle on ethical violations.

Riot.im 0.12 is out, yes it’s better than Slack

Riot.im is out with version 0.12 for web and desktop. It is another fine example of an open source Slack (or HipChat) alternative (we’ve covered one Slack alternative before, Zulip). In this latest version they include widgets which are a way of sharing app integrations embedded within a Riot.im chat room.

Embeddable Widgets For Your Chat Room

Widgets are embedded and pinned to the top of your Riot.im chat room. This makes them visible at all times to everyone in the chat room. Similar to pinning a particular message.

The widgets included in this release are:

  • YouTube, for sharing an endless playlist of cat videos in a chat room
  • Etherpad, for sharing notes that can be collaborated on
  • Grafana, for sharing graphs of how much traffic is spiking web server CPU
  • Google Docs, for sharing documents

There’s an ability to add custom widgets so I’m hoping someone creates a custom widget for Kolab Now (which is a free/open source alternative to Google Docs).

Only the Most Proper Video Conferencing with Jitsi

The bigger news? Riot.im has support for proper video conferencing with Jitsi! Jitsi is free/open source video conferencing software that is compatible with WebRTC and is scalable and matches what the big players of video conferencing  (Skype, Zoom) are offering.

 

Riot.im and Matrix, free/open source alternatives to Slack

Riot.im promises the same thing as Slack except in a nicer, more hackable free/open source package. Riot.im is a client for the Matrix group chat server. Matrix is the free/open source infrastructure for setting up a Slack/HipChat alternative. There are other clients available for it. Matrix can be viewed as an alternative to XMPP/Jabber and as an upgrade to IRC.

You can support Matrix and free/open source chat/communications infrastructure by donating here through Liberapay (or Patreon or sending cryptocurrency like BitCoin or Ethereum BTC 1LxowEgsquZ3UPZ68wHf8v2MDZw82dVmAE, ETH 0xA5f9a4f9E024F6D727f7afdA9257e22329A97485).

Liberapay: an open source Patreon/crowdfunding alternative

Liberapay: an open source Patreon/crowdfunding alternative

Liberapay is a recurrent donation platform, similar to Patreon, GoFundMe and other platforms. What makes it different is that LibreaPay is a non-profit organization and they fund themselves rather than charging transaction fees (though you will still get charged payment processing fees).

The source code for their platform is also open source. The code for Liberapay is available on Github.

What’s nice about Liberapay is that it’s easy to use, the transaction fees are non-existent and it gives users of free/open source software another platform on which to support developers. Recurring donations are sponsorships of a project. OpenCollective is a similar platform that we’ve covered before.

If you’re interested in more crowdfunding platforms for your free/open source projects, the Snowdrift Co-op has an amazing wiki page full of research on crowdfunding platforms.

Red Hat Teams Up With Microsoft

This is a headline I thought I would never see but the world has really changed with Microsoft seeming to fully embrace open source!

Red Hat is offering support for .NET Core on RHEL and OpenShift, not only that but the version of .NET includes C#, F# and Visual Basic. Red Hat offers enterprise-grade support for .NET now and if a corporation using .NET was hesitant about moving to GNU/Linux, they can enlist the help of Red Hat with that move.

I’ve personally known a few .NET shops that would do well to consider moving to Red Hat Enterprise Linux (RHEL); Linux servers are easier to automate and administer than Windows servers. With Red Hat’s support, it becomes even easier.

Facebook Patents Grant License is Causing Chaos

Facebook Patents Grant License is Causing Chaos

Note: this blog post was updated on 20 September 2017.

The popular React Javascript library from Facebook, amongst other open source projects from them, has a license (3-clause BSD license) and a patents grant. Recently, the Apache Software Foundation declared that this license + patents grant belongs to Category X. The licenses in Category X means that projects that are part of the ASF (Apache Software Foundation) umbrella cannot use libraries or code that are licensed under those licenses.

The patents grant basically amounts to this:

The patent grant says that if you’re going to use the software [Facebook] released under it, you lose the patent license from us if you sue [Facebook] for patent infringement

This means that if you’re using React.js in your startup’s code and later on down the line, Facebook patents something related to your startup and you try to sue them for patent infringement, then Facebook revokes the patent license. Their reasoning for this is that it will prevent patent trolls from suing Facebook but this doesn’t make much sense. There are other ways to protect themselves from patent trolls and it feels like this chaos is much more punishing to the open source communities around Facebook’s code.

Continue reading “Facebook Patents Grant License is Causing Chaos”