131 private links
“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” – Brian W. Kernighan.
Everyone tests their software to some extent, if only by running it and trying it out (technically known as “smoke testing”). Most programmers do a certain amount of exploratory testing, which involves running through various functional paths in your code and seeing if they work.
Systematic testing, however, is a different matter. Systematic testing simply cannot be done properly without a certain (large!) amount of automation, because every change to the software means that the software needs to be tested all over again.
This is an introduction to some lower level automated testing concepts, and how to use built-in Python constructs to start writing tests.
A British company thought to be working closely with Apple has created a hydrogen fuel cell for an iPhone 6 that allows the device to go a week without recharging.
One of the git tips that I find myself frequently passing on to people is:
Don’t use git pull, use git fetch and then git merge.
The problem with git pull is that it has all kinds of helpful magic that means you don’t really have to learn about the different types of branch in git. Mostly things Just Work, but when they don’t it’s often difficult to work out why. What seem like obvious bits of syntax for git pull may have rather surprising results, as even a cursory look through the manual page should convince you.
Deep Learning has had a huge impact on computer science, making it possible to explore new frontiers of research and to develop amazingly useful products that millions of people use every day. Our internal deep learning infrastructure DistBelief, developed in 2011, has allowed Googlers to build ever larger neural networks and scale training to thousands of cores in our datacenters. We’ve used it to demonstrate that concepts like “cat” can be learned from unlabeled YouTube images, to improve speech recognition in the Google app by 25%, and to build image search in Google Photos. DistBelief also trained the Inception model that won Imagenet’s Large Scale Visual Recognition Challenge in 2014, and drove our experiments in automated image captioning as well as DeepDream.
Box Plus/Minus (BPM) is a box score-based metric for evaluating basketball players' quality and contribution to the team. It is the latest version of a stat previously called Advanced Statistical Plus/Minus; it is NOT a version of Adjusted Plus/Minus, which is a play-by-play regression metric.
Glossary
- GP: Games Played
- MPG: Minutes Per Game
- ORPM: Player's estimated on-court impact on team offensive performance, measured in points scored per 100 offensive possessions
- DRPM: Player's estimated on-court impact on team defensive performance, measured in points allowed per 100 defensive possessions
- RPM: Player's estimated on-court impact on team performance, measured in net point differential per 100 offensive and defensive possessions. RPM takes into account teammates, opponents and additional factors
- WAR: The estimated number of team wins attributable to each player, based on RPM
To process a transaction, you need first to make sure the sender owns the asset he wants to transfer, and make sure he will not trade it twice.
In the blockchain, information is stored in blocks that record all transactions ever done through the network. Hence, it allows validating both the existence of assets to be traded and ownership.
To avoid double spending, the technology requests several nodes to agree on a transaction to process it. A validation is also artificially difficult to achieve: miners leverage computer power to solve complex cryptographic problems (the proof-of-work). Every time a problem is cracked, a block is added to the chain, and all the transactions it includes are thus validated. The updated chain, including the new block, is shared with other nodes and becomes the new reference; this process leverages cryptography to prevent duplicate transactions.
Photoshop is one of the most used image editing applications around. But how easy is it for a user to switch from Photoshop to the GIMP when they move from a Mac to Linux? A redditor is doing just that and wanted some feedback from his fellow Linux users.
A collection of links to software related to shaarli.
In response to the Snowden revelation that the CIA compromised Apple developers' build process, thus enabling the government to insert backdoors at compile time without developers realizing, Debian, the world's largest free software project, has embarked on a campaign to to prevent just such attacks. Debian's solution? Reproducible builds.
Reproducible builds, as the name suggests, make it possible for others to reproduce the build process. "The idea is to get reasonable confidence that a given binary was indeed produced by the source," Lunar said. "We want anyone to be able to produce identical binaries from a given source."
Google's motto is to do no evil. Fair enough. Yet, they are getting an alarmingly large amount of the pie at the moment, and we don't want to fall into a Minitel2.0 world. So let's see how the world looks like without Google, and with a sprinkle of self-hosting (on distant-sun or a NAS-to-come), and double serving of open source and free software.
Replacing other non-Google proprietary services for open protocols is also the extended scope of this.
Interesting approach to quick filesystem navigation.
Automated tools like autojump, z, and fasd address this problem by offering shortcuts to the directories you often go to. The author of this shell hack prefers a more manual solution, which provided quite an increase in efficiency with this.
The programming language Python has overtaken French as the most popular language taught in primary schools, according to a new survey released today.
Six out of ten parents said they want their primary school age children to learn the coding language over French. And 75% of primary school children said they would rather learn how to program a robot than learn a modern foreign language.