131 private links
StackOverflow is the de facto standard place to go when you need to figure out how to do something as a programmer. A web search for information about how to check the number of lines in a file using the C programming language will probably give you StackOverflow questions as the most relevant search results. Unfortunately, while writing good, clean, reliable C does not need to be difficult, it is certainly difficult to find information about how to do it well, and the people answering these questions on StackOverflow are not filtered by their skills or knowledge of good practices. From time to time, the top-rated answer or the accepted answer is even the worst answer that addresses the question.
The best example I have seen of a straightforward line count algorithm is in a place that might seem obvious after the fact: the source code of the wc command line utility. Figure out how the -l option is handled in a good implementation of wc, and all that's left is to adapt it to your needs. Ideally, the solution you find should be short, simple, careful (e.g. checking for error conditions), robust, well-worn, and well-formatted.
The C coding standards of the OpenBSD community are among the highest and most pragmatic you'll ever find, and when someone makes a decision about implementation whose reasoning is not pretty obvious in the code itself you're almost certain to see that reasoning clearly documented in code comments, which can also teach you something about being a good programmer in general.
A complete rundown of the entire process behind designing and building a new map for the world of Cogmind, and explaining how it integrates with gameplay.
Helping founders craft successful VC investment pitch decks. See how Uber, AirBnB, Facebook, Dropbox, WeWork, Square or Coinbase raised venture capital.
This article will give a brief introduction to SSMTP and steps to install it and use the same to send emails from Linux terminal.
The Topgrade utility will upgrade everything in Linux and Unix operating systems. It is free, open source and written using Rust.
Monitor your world with Enviro+ for Raspberry Pi! There's a whole bunch of fancy environmental sensors on this board, and a gorgeous little full-colour LCD to display your data. It's the perfect way to get started with citizen science!
Manufacturers are ditching equation editors in word-processing software in favour of the LaTeX typesetting language. Here’s how to get started.
The set of all points closest to a given point in a point set than to all other points in the set is an interesting spatial structure called a Voronoi Polygon for the point. The union of all the Voronoi polygons for a point set is called Voronoi Tessellation.
Many applications have been found based on the neighbourhood information provided by this tessellation. The dual of Voronoi tessellation is Delaunay Tessellation, also referred to as Delaunay Triangulation or Triangulated Irregular Network (TIN), which are lines drawn between points where their Voronoi polygons have an edge in common.
Delaunay tessellation is the most fundamental neighbourhood structure because many other important neighbourhood structures, such as, Gabriel Graph, Relative Neighbourhood Graph and Minimal Spanning Tree, can be derived from it.
In research & news articles, keywords form an important component since they provide a concise representation of the article’s content. Keywords also play a crucial role in locating the article from information retrieval systems, bibliographic databases and for search engine optimization. Keywords also help to categorize the article into the relevant subject or discipline.
Conventional approaches of extracting keywords involve manual assignment of keywords based on the article content and the authors’ judgment. This involves a lot of time & effort and also may not be accurate in terms of selecting the appropriate keywords. With the emergence of Natural Language Processing (NLP), keyword extraction has evolved into being effective as well as efficient.
And in this article, we will combine the two — we’ll be applying NLP on a collection of articles (more on this below) to extract keywords.
Venture capitalist Nick Hanauer points out the obvious: Low wages create and sustain poverty, not lousy schools. Hanauer encapsulates conventional wisdom:
"Once upon a time, America created a public-education system that was the envy of the modern world. No nation produced more or better-educated high-school and college graduates, and thus the great American middle class was built. But then, sometime around the 1970s, America lost its way. We allowed our schools to crumble, and our test scores and graduation rates to fall. School systems that once churned out well-paid factory workers failed to keep pace with the rising educational demands of the new knowledge economy. As America's public-school systems foundered, so did the earning power of the American middle class. And as inequality increased, so did political polarization, cynicism, and anger, threatening to undermine American democracy itself."
For most of my adult life, I’ve railed against “corporate capitalism”, “consumer capitalism” and “crony capitalism”. It took me a long time to see that the problem is not the adjective, but the noun.
While some people have rejected capitalism gladly and swiftly, I’ve done so slowly and reluctantly. Part of the reason was that I could see no clear alternative: unlike some anti-capitalists, I have never been an enthusiast for state communism. I was also inhibited by its religious status. To say “capitalism is failing” in the 21st century is like saying “God is dead” in the 19th. It is secular blasphemy. It requires a degree of self-confidence I did not possess.
But as I’ve grown older, I’ve come to recognise two things. First, that it is the system, rather than any variant of the system, which drives us inexorably towards disaster. Second, that you do not have to produce a definitive alternative to say that capitalism is failing. The statement stands in its own right. But it also demands another, and different, effort to develop a new system.
Capitalism’s failures arise from two of its defining elements. The first is perpetual growth. Economic growth is the aggregate effect of the quest to accumulate capital and extract profit. Capitalism collapses without growth, yet perpetual growth on a finite planet leads inexorably to environmental calamity.
by Ben Laurie
The modern world doesn’t look like this at all. All the files on a typical computer belong to a non-expert user (for simplicity I am ignoring shared devices — this doesn’t really undermine the argument as I hope you will see). Indeed, the whole computer typically belongs to a single user. Printers do not need accounting and similarly belong to the same user. The enemy is the software that is running on the machine. Users no longer have a good understanding of the software they run. Software is enormously complex and uses all sorts of resources, many distributed over multiple systems, to accomplish their tasks. And frequently their task is only superficially in service of the user.
In short, the old threat model was untrusted tenants, trusted software, unit of protection is files and devices. The new threat model is trusted tenants, untrusted software, unit of protection is individual data items.
It’s 9 a.m. on a typical morning in Chengdu and I’m awakened by the sound of my phone alarm. The phone is in my study, connected to my bedroom by sliding doors. I turn off the alarm, pick up my phone, and, like millions of people in China, the first thing I do is check my WeChat. At 9:07, I send my first message of the day.
Before 10 on a normal day in Chengdu, WeChat knows the following things about me: It knows roughly when I wake up, it knows who has messaged me and who I message, it knows what we talk about. It knows my bank details, it knows my address and it knows my coffee preference in the morning. It knows my biometric information; it knows the very contours of my face.
License music from the only royalty free audio library dedicated to retro music.
Many games depend on content variety to tailor their gameplay experience. Having repetitive challenges can lead to player boredom, so designers generally aim to create an experience that is constantly engaging. Games usually consist of many facets such as levels, mechanics, graphics, sounds, etc. One of the most unique is level design. It does not introduce a new dimension in the game, instead, it is concerned with the arrangement of the existing elements. With the high demand for content in games, level design becomes a major task in game design. Its role is of pivotal importance, to the extent of being assigned to a different team than the one responsible for game and mechanics design, for games with large scopes.
In this post we’ll explore how we can derive logistic regression from Bayes’ Theorem. Starting with Bayes’ Theorem we’ll work our way to computing the log odds of our problem and the arrive at the inverse logit function. After reading this post you’ll have a much stronger intuition for how logistic
In the midst of the deep learning hype, p-values might not be the hottest topic in data science. However, association mapping remains a fundamental tool to justify and underpin scientific conclusions. Inspired by an approach for time series classification based on predictive subsequences (i.e shapelets [1]), we developed S3M, a method that identifies short time series subsequences that are statistically associated with a class or phenotype while tackling the multiple hypothesis problem.