Profile

Cover photo
Verified name
Wayne Radinsky
Attended University Of Colorado At Boulder
Lives in Denver
17,297 followers|38,328,469 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  - 
 
ChainFORM is a modular robotics system that can be used for computer input with tensile feedback, reconfigurable information displays, interactive crafts such as animated characters that record and replay motion, body decoration/exoskeleton, and similar uses.
18
4
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Another AI Winter isn't coming. "Andrew Ng, chief scientist at Baidu Research, and a major figure in the field of machine learning and AI, says improvements in computer processor design will keep performance advances and breakthroughs coming for the foreseeable future. 'Multiple [hardware vendors] have been kind enough to share their roadmaps. I feel very confident that they are credible and we will get more computational power and faster networks in the next several years.'"

"Hardware advances will provide the fuel required to make emerging AI techniques feasible. 'There are multiple experiments I'd love to run if only we had a 10x increase in performance.'"
Despite plenty of hype and frantic investment, a leading artificial intelligence expert says hardware advances will keep AI breakthroughs coming.
9
2
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
A self-driving shuttle just went into operation at Santa Clara University. It has a human driver that can take control when necessary, which happens when there are too many pedestrians and it has to be more assertive rather than just courteously waiting. This provides input data that the system trains on so it won't need the human driver in the future.
10
3
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Atari 2600 emulator in Minecraft.
10
2
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
A guide to solving social problems with machine learning. A machine learning bond court algorithm was developed to address the decision whether a defendant who was just arrested should be released to return for their court appearance or wait in jail. The algorithm "could reduce crimes committed by released defendants by up to 25% without having to jail any additional people. Or, without increasing the crime rate at all, we could jail up to 42% fewer people."

"By now, policymakers are used to hearing claims like this in sales pitches, and they should appropriately raise some skepticism. One reason it's hard to be a good buyer of machine learning solutions is that there are so many overstated claims. It's not that people are intentionally misstating the results from their algorithms. In fact, applying a known machine learning algorithm to a dataset is often the most straightforward part of these projects. The part that's much more difficult, and the reason we struggled with our own bail project for several years, is accurately evaluating the potential impact of any new algorithm on policy outcomes."
Predictive technology can improve public policy — if we use it right.
28
4
Jörg Walossek's profile photoJose Pina Coelho's profile photoHal Cooper's profile photo
7 comments
 
So, in a small control group, you could just start with the assumption the computer,AI or whatever is superior to the human participants.  You just start with the "greatest fear" as a given from the start and work from there to make something.
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Microsoft and Cray claim deep learning breakthrough on supercomputers. "The team have scaled the Microsoft Cognitive Toolkit -- an open-source suite that trains deep learning algorithms -- to more than 1,000 Nvidia Tesla P100 GPU accelerators on the Swiss centre's Cray XC50 supercomputer, which is nicknamed Piz Daint."
Project could allow larger and more complex deep learning workloads on supercomputers.
29
6
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Japan is hoping robot babies will encourage people to have real babies. Really, Japan?
22
4
Shaun Le Conte's profile photoChristopher Carr's profile photoBoris Borcic's profile photo
22 comments
 
I've always thought there should exist a market for babies with on/off switches.
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Samsung will manufacture custom semiconductor chips for Tesla, according to rumor.
Samsung Electronics Co Ltd will supply semiconductors to U.S. electric carmaker Tesla Motors Inc, South Korea's Electronic Timesreported on Friday citing unnamed sources.
6
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Turning your doodles into pictures using a generative adversarial neural network.
5
Wayne Radinsky's profile photo
 
This example is a mountain. There's also a shoe example:

https://www.youtube.com/watch?v=HOn8437TWPA
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
Timeline for the AI takeover. Troy Leavitt predicts AI will surpass humans in 20 years, in 2036. Troy Leavitt is a veteran video game developer who has led teams who published games with Disney and other major publishers.

He breaks the AI timeline down into 5 timeframes: 2016-2020: the age of novelty (where we are now), 2020-2024: the age of utility (useful digital assistants, driving), 2024-2028: the age of companionship (turing test passed, AI provides companionship), 2028-2032: the age of reckoning (AI becomes "self-editing" -- able to change themselves, i.e. change their own goals, without human programming -- and "self-aware"), and 2032-2036: the age of dominance (machines beyond human control, human population irrelevant).

He then responds to common objections, such as exponential vs linear progress, the difference between the illusion of intelligence and real intelligence, and whether AI will emulate the human brain or human emotions.
30
7
Ian Murphy's profile photoHal Cooper's profile photoBoris Borcic's profile photo
9 comments
 
+Wayne Radinsky. Watched the video to hear what he's exactly saying that you quote: In the video he makes a great argument that video game developers can see the difference between the illusion of intelligence from AI agents and real intelligence, namely that there isn't any.

A point that deserves stacking on top of his remark is that perception of intelligence is also much dependent on charity with presuming expression to convey intelligent opinions/advice. One of my lazy hobbies of decades past was the development of a private use divination art with the main trick consisting in mapping the numerals of 6-digits local license plates to latin capitals, picking the correspondence so as to make the pretense to see letters easiest, so 012345 becomes OIRBAS for instance (that's similar to l33t but in the opposite direction, substituting letters to numerals and not the converse). The crux is to listen to the mumbling output as if from an smart but aphasic friend trying to convey advice/comment and to establish conventions. If you do that, perception of intelligence is frequent enough -- without any computer or AI involved.
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
3D-printed gum. "Among their many products Wacker are also a producer of food resins, including those used to make chewing gum, and now they wish to manufacture the gum itself. In addition to the 3D printed gum, they've also created a new way to turn existing candy into gum. Wacker call the technology 'Candy2Gum' and they believe the process will open doors to an array of new possibilities regarding gum texture and flavors."
Munich-based chemical company Wacker have announced a new way to 3D print gum as well as a new "Candy2Gum" process.Among their many products Wacker are also a producer of food resins, including those used to make chewing gum, and now they wish to manufacture the gum itself. In addition to the 3D printed gum, they've also created
14
Lee Nelson's profile photo
 
After all the clogged hot end threads and stringing, I did not expect this.
Add a comment...

Wayne Radinsky

Shared publicly  - 
 
SALTO can jump higher and faster than any other robot out there. It can jump repeatedly and chain together maneuvers of large leaps. It's inspired by an animal called the galago. They are working on detailed maps of environments to enable it to do robot parkour.
41
8
Boris Borcic's profile photoBernardo Amenabar's profile photoCarl Turechek's profile photoHoward C. Shaw III's profile photo
7 comments
 
This article does a better job than the video, in my opinion anyway, of explaining what is actually exceptional about SALTO. And its headline actually looks to be making a probably valid claim. Doesn't look like they compared it to the Sand Flea specifically, though they did provide performance numbers for a number of other robots, but it does make it pretty clear that they are looking at distance versus jump frequency, which they term 'agility', not distance per mass or height. I don't know what the precise jump frequency of the Sand Flea is, but it looks to be on the order of 4 seconds from stopping at a jump point, to actually jumping based on the BD video.

Taking that, 8m/4s = 2 m/s, 8m/5s = 1.6 m/s; SALTO is at 1.7 m/s. according to the Spectrum article, so it looks like they are fairly similar, within the error of my method of observation, but I am, by lack of any relevant evidence in the video, unable to guestimate a figure for the recovery time needed. In other words, the jumps made, while from the stopping time to jumping time is on the order of four seconds, there is no way from the video to tell if a second jump could immediately be performed. The jump is performed by a piston, actuated by an on-board fuel cartridge, and the time of set appears to be merely lifting the device into the proper attitude so that the piston is resting on the ground. I suspect, but have no evidence to back this up, that this attitude correction time would also be sufficient to transfer pressurized gas into a piston, if that is the sort of fuel being used. Certainly, air-soft guns and paintball guns operate on a shorter timescale. If this is not the method of operation and the fuel/piston preparation time exceeds the attitude adjustment time, then the 'agility' would drop correspondingly.

In other measures of possible interest, SALTO jumps 1m and weighs about 100 grams, or 1 cm/g. The Sand Flea weighs in at 11lb, or 5kg, and so attains a bit less than .1 cm/g. So SALTO definitely wins in jump height versus mass; whether that would hold when the device is scaled up is questionable, though, as I suspect the same square-cube laws that give insects their proportionally greater strength than larger animals would similarly reduce its performance.

spectrum.ieee.org - UC Berkeley's Salto Is the Most Agile Jumping Robot Ever
Add a comment...
Wayne's Collections