For 30 Days, an Open Source Developer Wrote Down Everything They Learned

For 30 Days, an Open Source Developer Wrote Down Everything They Learned

Sung Won Cho is the developer of dnote, an open source command line tool for taking notes (similar to org-mode or remember for the Emacs users out there). He decided for a month to write down everything he learned while programming.

It was interesting to see how reading Hacker News and other programming news sites was seen as being related to the learning process:

the amount of attention we devote to ‘learning’ is not directly proportional to the amount we actually learn. In one month, I averaged about 2 lessons per day, assuming I code for 6 full days per week. Such rate is surprisingly low, given the amount of attention I pay to news and opinions about programming.

The amount of time spent on reddit, Hacker News, and other news or opinion sites is great to discover new ideas but it isn’t very good for learning.

Another insight:

Being productive does not make us learn more. We easily confuse productivity with learning because there are some correlations between them. Some days I would felt extra productive at my work because I was getting many things done. However when I looked back at the learning heatmap later, I realized that I had not necessarily learned more.

To make productivity a learning experience, some amount of documenting would be necessary. For example, the Thread-Count document being put together by teesloane on Github is a wonderful example of documentation that leads to learning. It contains notes about threaded programming. The programming itself constitutes a bit of learning while the doc encapsulates a larger learning.

The article reminds me of the quantified self movement.


Next Equifax Breach Could Result In Fines!

Democratic senator Elizabeth Warren is proposing a new law that would see companies fined for data breaches that are on the scale of the Equifax data breach:

Sen. Elizabeth Warren of Massachusetts and Sen. Mark Warner of Virginia introduced a bill Wednesday that aims to make data breaches hurt companies’ bottom lines. The bill addresses problems the lawmakers say let credit reporting agencies collect consumer data without doing enough to protect it from hackers.

In the case of the Equifax breach, that would have meant a fine of at least $14.3 billion. However, the fines would be capped at 50 percent of a company’s gross revenue from the prior year.

MobileCoin, new #cryptocurrency aimed at usability and user-friendliness

The creator of Signal, the popular privacy-enhanced secure messaging app for iPhone and Android, is creating MobileCoin. MobileCoin is a new cryptocurrency that aims to be user-friendly:

MobileCoin wants to leverage an extensive architecture to add simplicity to real privacy protections and resilience against attacks. The ultimate goal: To make MobileCoin as intuitive as any other payment system.

“I think usability is the biggest challenge with cryptocurrency today,” says Marlinspike. “The innovations I want to see are ones that make cryptocurrency deployable in normal environments, without sacrificing the properties that distinguish cryptocurrency from existing payment mechanisms.”

Usability efforts for older generation cryptocurrency protocols, like bitcoin, have largely been left to services like Coinbase, which centralize everything from currency exchange to your wallet, key management, and processing transactions. These platforms make actually using cryptocurrency more realistic for the average person, but they also consolidate mechanisms that are meant to be kept separate in the private and decentralized concept of cryptocurrency.

BitPay to start processing payments on many blockchains

Good news everyone! BitPay, a bitcoin payment processor, has announced that they will be processing payments for more than just bitcoin.

This is a great idea because apparently, the market cap of the top 10 cryptocurrencies is around $179 billion. BitPay will continue to work on Lightning Network support so that Bitcoin transactions are faster.

They will also be implementing support for Bitcoin Cash:

We are already working in various parts of our platform to support transactions with SegWit. Segwit is a new set of features in Bitcoin which can reduce the bitcoin miner fee cost for transactions by over 40% on average. However, with average transaction fees already around $20, we understand that Bitcoin alone cannot handle the current demand for blockchain payments.

We will begin adding support for a Bitcoin Cash payment option this year, starting with BitPay Card loads. All BitPay invoices will include a Bitcoin Cash payment option by default in early 2018.

If you use the BitPay wallet or Copay you can start using Bitcoin Cash:

The BitPay wallet already includes optional Bitcoin Cash support. If you want to use Bitcoin Cash to load your BitPay Card or pay a BitPay merchant, you’ll be able to use your BitPay or Copay wallet.

Friday Link Roundup: Cell phones, voice coding, social media addiction and how Slack scales their worker queues

Write a thank-you to free/libre/open source software maintainers! #ThanksFOSSMaintainers

Windson Yang makes a great point in Why we never thank open source maintainers. They do a lot of hard work and we should take the time, especially since Christmas is around corner, but all year round too, to thank the maintainers that make all our favourite free/libre/open source software possible!

LanguageTool: free grammar checking tool

LanguageTool is like Grammarly, except completely free and open source. (I will be adding it to the resources page later today) It’s written in Java which means it is quite performant.

There are plugins to use LanguageTool in:

  • Firefox
  • Chrome
  • Google Docs
  • LibreOffice
  • and standalone desktop app

What I like is that there is a Python library, grammar-check, that interfaces with LanguageTool. You can get up and running and start checking grammar on your own with Python scripts. There’s also a Ruby library but it only uses the API from the website. The Python library uses a locally installed version of LanguageTool so you don’t have to rely on an internet connection (very useful for me when I’m writing on the train or bus for example).

The LanguageTool project itself has great documentation and interesting source code. It is licensed under the GNU Lesser General Public License v2.1.