Profile

Cover photo
Wayne Radinsky
Attended University Of Colorado At Boulder
Lives in Denver
17,008 followers|29,250,704 views
AboutPostsCollectionsPhotos
Story
Tagline
Software Design Engineer
Introduction
I'm a software engineer specializing in great design of software -- every successful large software project ever made started out as a small software project that got larger. The key to a successful large project is knowing how to design software when it is small so it is capable of growing. Poor design in the early stages leads to high-entropy software that is difficult to maintain and add new features to years down the line. Good design in the initial stages allows new software features to be added easily. Good design doesn't take any more time than poor design, but you have to know how to do it.

Certain keys are very essential to good design. The beginning is the program's data structures, which form the foundation for any software project. The key to good data structure design is to make sure that the relationships between bits of data in your data structures are the same as the relationships between the objects or ideas that those data structures represent in the minds of your users. Any time these get out of sync, you are in for trouble -- but the trouble does not usually arrive immediately -- it can arrive months or years down the line. This delayed feedback cycle is one reason many software projects run late or fail. Any time the data structures are out of sync with the minds of users, there is the temptation to "patch" the problem by adding more data structures, that form a bridge between the existing data structures, and what you want to do. These "patches" are, unfortunately, "dirty hacks", that down the road will add complexity to your software. It is this complexity -- and more to the point, *unnecessary* complexity, that makes it more difficult to maintain or extend your software with new features in the future.

It is also extremely important to design the code structure correctly. It is very common to make basic errors like using global variables. Globals are very powerful, but should be used with care -- they connect separate components of the software with each other. (And be aware that many variables are global even when they are not called "global" in your particular programming language -- they can have other names). When you *want* something to apply "everywhere", globals are the right choice, because you change them in one place and the change is applied everywhere. But more often than not, globals are used when they shouldn't be, causing a change in one part of a program to cause another part of the program, that seems unrelated, to break.

Another minefield is object oriented programming. Objects are an extremely powerful and flexible programming metaphor -- and that's the problem. They are so flexible that they can mean almost anything, and they can make it easy for you to shoot yourself in the foot with excessive complexity. In reality, there is nothing wrong with non-object-oriented programming -- proper and thoughtful use of functions and libraries of functions -- so it is not necessary to use objects everywhere or make "everything" an object in your program. In particular, there is no advantage in doing "object-relational mapping" -- if you're doing this, it means you have designed all your data structures *twice* (once in the relational data model, and again in an object-oriented model), wasting effort. Furthermore, objects should only be used when they add *clarity* to a program, when they make it easier to understand how the program works, rather than more difficult. In certain situations, such as when polymorphism is needed to solve whatever problem your software needs to solve for the user, objects are a clear benefit, simplifying the design and adding clarity to the code. In many other situations, however, excess use of objects creates obfuscation, leading to maintainability problems and difficulty adding features to your software in the future.

And it is these complexity issues that impose limitations on how big your software can get, how many features it can have, and ultimately how well your business can grow and how well you can serve your customers.
Education
  • University Of Colorado At Boulder
    Computer Science
Basic Information
Gender
Male
Work
Occupation
Software Design and Development
Employment
  • Software Design and Development, present
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Denver
Previously
Denver - Silicon Valley, California

Stream

Wayne Radinsky

Shared publicly  - 
 
"Google's image-captioning AI is getting scary good. The machine knows more than just what's in a picture. It's learning to understand what those people and objects are doing."

"A dog is sitting on a beach next to a dog."

"Our model does indeed develop the ability to generate accurate new captions when presented with completely new scenes, indicating a deeper understanding of the objects and context in the images. It learns how to express that knowledge in natural-sounding English phrases despite receiving no additional language training other than reading the human captions."
The machine knows more than just what's in a picture. It's learning to understand what those people and objects are doing.
17
2
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Hangover-free alcohol has been invented, at least according to the Imperial College Professor who claims to have invented it, David Nutt. The article says little about how it supposedly works, except that it's supposed to mimic the 'positive' effects of alcohol without the 'negative' side effects (including heart and liver damage, not just hangovers).
A new type of synthetic alcohol has been discovered which could allow people to enjoy the sociable effects of a few pints, but skip the hangover that usually follows.
6
Sy Bernot (Psybernaut)'s profile photo
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Apple has acquired Tuplejump, a machine learning company in India. Asked about the acquisition, Apple said, "Apple buys smaller technology companies from time to time, and we generally do not discuss our purpose or plans." Tuplejump's website disappeared. But, thanks to the Internet Archive's Wayback Machine, their webpage said they're developing tools for handling unwieldy big data that will be "extremely simple to use."
10
1
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
How the Youtube deep learning recommendation system works. [PDF]. There's two neural networks, one for "candidate generation" and one for "ranking". The candidate generation system generates a few hundred candidates out of the entire Youtube corpus that it thinks you want to watch. The candidate generation system works by encoding both the user's preferences and each video as a very high dimensional vector. (The paper does not say how many dimensions. This vector is given the confusing name "embedding"). For videos, the video's upload time and "time-dependent popularity" is factored into the data so the neural network can recommend "fresh" content.

For modeling the user's vector, all Youtube watches are factored in, including those not generated by recommendations, and including those not on the Youtube site (videos embedded in other sites). This has the knock-on effect that even if users are finding videos without using the recommendation system, that information is propagated onward into recommendations for other users. In addition, search queries are converted to an unordered bag of tokens, in order for the recommendation engine to recommend videos too much from the last recent query. Demographic info is used for priors for new users. Often this "demographic info" is limited to the user's geographic location and device. Finally, the depth of the neural network is 4 layers, because increasing the numbers of layers improves the recommendations up to 4 layers. The layers are all fully connected layers but use computationally cheap rectified linear (ramp function) outputs.

The ranking neural network uses every feature available about the user and video, and can afford this extra computation, because it is only looking at a few hundred videos, rather than billions. The ranking neural network tries to predict watch time. It doesn't try to predict the click-through rate because Youtube has found optimizing the click-through rate favors deceptive videos that the user clicks on but does not watch -- clickbait, in other words. So, watch time is used as the key measure of engagement. Furthermore, recommendation impressions are used as a negative signal -- if you get a recommendation and don't watch it, the video is demoted and you probably won't get that video recommended on the next page load.

The paper does not explain how the single global set of vectors (embeddings) for all the videos is created. It does say how improvements are rolled out. New versions of the neural network software are first tested offline using precision, recall, and ranking loss as metrics for how good it is, then goes online against the currently online version in A/B testing.
23
2
John Dempsey's profile photoWayne Radinsky's profile photoTitan ThinkTank's profile photo
15 comments
 
+Wayne Radinsky may be because BUY MERCHANDISE: impoppy .bandcamp .com paid them or some mole there to recommend that to you
:-p
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
"EyeEm, an image-sharing platform, has been working on algorithms that, it says, will 'augment' the work of photo editors. One algorithm analyzes pictures to determine what is in them, using deep learning to recognize thousands of concepts -- from objects to colors and even emotions. The other algorithm references a database of millions of curated images to determine the quality of a photograph and give each one an 'Aesthetic Score.' All of this is put together into EyeEm's app The Roll which analyzes user's camera rolls on their smartphones to identify, rank, and sort each image."

"We decided to put this algorithm to the test, pitting it against TIME's photo editors. To do that, we took the 20 most liked images on TIME's Instagram feed..."
"We’re not trying to replace photo editors. We’re trying to augment their work."
28
2
Terrence Lee Reed's profile photoTitan ThinkTank's profile photo
2 comments
 
+Terrence Lee Reed Translation: " we are  upgrading your specie to make possible for anyone to be an Editor."
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
ESA's GAIA satellite and billion star map, plus an animation of how the satellite works narrated by +Tony Darnell. He describes how the incredibly accurate astrometry of GAIA has already been used to observe a stellar occultation of Pluto.
10
3
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
"Monsanto has licensed the use of CRISPR-Cas genome-editing technology from the Broad Institute at Harvard University and MIT."

"Monsanto intends to use CRISPR to make crops like corn and soybeans more fruitful and more resistant to diseases and drought, says Tom Adams, Monsanto's head of biotechnology."
A licensing agreement between Monsanto and the Broad Institute will allow the biotech giant to use genome editing to modify plants like corn and tomatoes
1
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
A technique was invented to "virtually unroll" fragile scrolls has been developed. It works by first performing a high-resolution scan, then identifying layers and looking at one layer at a time, then identifying dense regions, which are dense because of ink, then doing a "virtual flattening" of the layer, then combining all these flattened pieces together to make a single flat scroll.

This was done in 5 pieces with the En-Gedi scroll, which was found to be a copy of Leviticus, the earliest copy ever found.
9
2
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
A new species of ant was discovered in frog vomit. That just sounds funny. Anyway, the ant species is called Lenomyrmex hoelldobleri, the frog species is called Oophaga sylvatica, or more colloquially, diablito ("little devil" in Spanish), and they both live in Ecuador. Apparently this frog is useful for discovering ants because it loves to eat ants.
Sometimes scientists make discoveries in the strangest of places. Like the belly of a poison frog.
8
2
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Snapchat's new camera glasses. "The glasses record up to 10 seconds of circular video through a 115-degree-angle lens, which is designed to look closer to how the human eye sees. A light will illuminate while the glasses are recording."

"I could see my own memory, through my own eyes -- it was unbelievable. It's one thing to see images of an experience you had, but it's another thing to have an experience of the experience. It was the closest I'd ever come to feeling like I was there again."

But wait, didn't people get spooked by people wearing Google Glass and the possibility that they could be filmed, to the point where Glass was getting banned from venues and people wearing them called "glassholes"? Why does Snapchat think they're going to have a different outcome?
Snapchat isn't just an app anymore. On Friday...
5
Jim Tipping's profile photoWayne Radinsky's profile photoAnthony Fawcett's profile photoTitan ThinkTank's profile photo
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
A machine learning screening for childhood speech disorders has been developed. The system is trained on 13 features, but the article only mentions one, which is pauses/lack of pauses.
Computer system could help identify subtle speech, language disorders in time for early intervention.
30
4
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Drone on K2. Not actually on the summit, but at Camp I, 6,100 meters (20,000 ft) above sea level. The drone could barely fly because of the thin air.
44
4
Panos stavros's profile photoOndřej Čertík's profile photoWayne Radinsky's profile photoAnthony Black's profile photo
12 comments
 
That's very cool.
Add a comment...
Wayne's Collections