Research has begun to reveal many algorithms can be expressed as matrix multiplication, suggesting an unrealized connection between linear algebra and computer science. I speculate graphs are the missing piece of the puzzle. Graphs are not only useful as cognitive aides, but are suitable data structures for a wide variety of tasks, particularly on modern parallel processing hardware. In this…
In which I discuss the trouble with trusting machines to take our jobs, curate our news feeds, drive our school buses, teach our children, and lots of boring stuff too difficult to bother doing ourselves. Oh, and quotes. Lots of quotes. Houston, we have a problem. According to social media, a large fraction of our population will soon be unemployed. Not just unemployed, but unemployable . Thanks…
In which I describe globetrotting on Cars2Go , death-defying feats of gallantry, learning how to deliver a baby, and other mildly interesting stories from a prodigal twentysomething technologist with first-world problems. Earlier this year, I had the chance to go on sabbatical. So I went. Since then, I have spent time in many interesting places - some for work, some for conferences, some just for…
In former president Hu Jintao’s address to the 17th Party Congress in 2007, he urges delegates to, “enhance our nation’s cultural soft power,” 1 citing China’s, “5,000 Years of Culture”, an immense source of national pride for billions of Chinese people around the world. In recent comments, current Party Secretary Wang Qishan appeals to this legacy stating, “The Party’s legitimacy lies in history,…
Growing up in rural New Hampshire, the world is a small place. Our nearest neighbors lived miles away, and you could drive for hours before seeing anything like a city. My grandparents moved out of New York in the 1960s, and raised me in a single-family home thirty years later. They would stoke the fire at night and tell me stories of places where buildings rose a hundred stories tall and trains…
From early recorded history, stenography , or shorthand has been used to translate oral information onto paper, which was later transcribed into a legible medium for publication. This process was often a painstaking one, requiring specialized knowledge to read and translate. In the process of transcribing spoken language, conventions took root and new words emerged, giving rise to literature .…
The following script installs a JetBrains IDE on any Debian based Linux distro . To download it, simply run wget z.ndan.co/jetbrains-install.sh : #!/bin/sh # We need root to install if [ $( id -u ) != "0" ] ; then echo "Elevating to root..." exec sudo " $0 " " $@ " fi # Prompt for edition while true ; do read -p "Please select from one of the following choices: [1] IntelliJ IDEA Community Edition…
IntelliJ IDEA offers a formidable array of inspections (632 and counting), each thoughtfully crafted to help you deliver clean, bug-free code. One which recently caught my attention, Suspicious Name Combination , is an inspection that detects “suspicious” argument-parameter assignments by analyzing lexical tokens in the method signature. This frequently occurs in dyads such as setSize(width,…
Recently someone asked me, “Breandan, why do I need to write import static org.junit.Assert.*; in order to use JUnit assertions?” I did not immediately have a good answer, besides the tautology that static imports were used to access static members, and made things generally more readable. What I did not realize, is that there is a very explicit reason why fluent interfaces such as jOOQ, Mockito,…
Reading. It’s something we must all do, and millions of hours are spent each day, passing on that ability to our children. Reciting nursery rhymes, reading children’s books, sounding out each and every syllable for the untrained eye and ear. It’s not something we often think about unless we have children of our own, yet is an inseparable part of our daily life. It is how we learn to write, share,…