Quotessence
Home / Topics / Software Quotes

Software Quotes

Browse 842 quotes about Software.

Related topics

Software Quotes

“Many rookie software managers think that they can "motivate" their programmers to work faster by giving them nice, "tight" (unrealistically short) schedules. I think this kind of motivation is brain-dead. When I'm behind schedule, I feel doomed and depressed and unmotivated. When I'm working ahead of schedule, I'm cheerful and productive. The schedule is not the place to play psychological games.”

“In this chapter we've seen that, unlike when building a house, when it comes to software it's almost impossible to know what you want. And even if you did know, it would be impossible to know how long each part would take to do. And even if you did know the theoretical length of each task, it would be impossible to work out the amount of time it would take an actual team of a specified size to do it. Which goes some way to explaning the sordid catalogue of failure that is the history of software projects over the last fifty years.”

“Two examples illustrate the redundancy principle. First, when a virtual machine fails in a cloud-based system, an identical instance is started automatically. Second, a critically important system should have at least one secondary backup system that runs in parallel with the primary system to ensure a safe fallback. Leading up to the next principle, we note that the secondary system should differ from the primary system to avoid both failing for the same reasons.”

“The Joel Test 1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do programmers have quiet working conditions? 9. Do you use the best tools money can buy? 10. Do you have testers? 11. Do new candidates write code during their interview? 12. Do you do hallway usability testing?”

“jQuery is by far the most widely used library for JavaScript. It is used on more than 50% of websites. Many frameworks, such as Backbone and Twitter’s Bootstrap, are built on top of jQuery. Being able to extend and write plugins for jQuery can not only save lots of time, but also makes code much cleaner and easier to maintain.”

“believe the power of jQuery is highly underutilized. Most developers will take advantage of its shortcuts and CSS selectors, but most of the time they fail to take advantage of much else. Being able to extend jQuery, whether by adding your own functions, CSS selectors or full-blown plugins, makes you a much stronger and smarter developer.”

“In my experience, requirements change quite often, or new situations will arise that weren’t anticipated at the start of the project. If the situation can be addressed with a plugin, I just whip open the standalone plugin page, make the updates and pop the new plugin back in. Because the plugin is self-contained, it’s easy to recreate the problem, fix it, and get it back into the codebase.”

“Ultimately, I try to think of my application’s main codebase as just stringing together various components and code from many sources. It just controls logic and flow. The real nitty-gritty is handled behind the scenes. This is why frameworks like Backbone are so important — they hide a lot of the details in the background and allow you to just focus on the flow and control of your application.”

“Similarly, the computers used to run the software on the ground for the mission were borrowed from a previous mission. These machines were so out of date that Bowman had to shop on eBay to find replacement parts to get the machines working. As systems have gone obsolete, JPL no longer uses the software, but Bowman told me that the people on her team continue to use software built by JPL in the 1990s, because they are familiar with it. She said, “Instead of upgrading to the next thing we decided that it was working just fine for us and we would stay on the platform.” They have developed so much over such a long period of time with the old software that they don’t want to switch to a newer system. They must adapt to using these outdated systems for the latest scientific work. Working within these constraints may seem limiting. However, building tools with specific constraints—from outdated technologies and low bitrate radio antennas—can enlighten us. For example, as scientists started to explore what they could learn from the wait times while communicating with deep space probes, they discovered that the time lag was extraordinarily useful information. Wait times, they realized, constitute an essential component for locating a probe in space, calculating its trajectory, and accurately locating a target like Pluto in space. There is no GPS for spacecraft (they aren’t on the globe, after all), so scientists had to find a way to locate the spacecraft in the vast expanse. Before 1960, the location of planets and objects in deep space was established through astronomical observation, placing an object like Pluto against a background of stars to determine its position.15 In 1961, an experiment at the Goldstone Deep Space Communications Complex in California used radar to more accurately define an “astronomical unit” and help measure distances in space much more accurately.16 NASA used this new data as part of creating the trajectories for missions in the following years. Using the data from radio signals across a wide range of missions over the decades, the Deep Space Network maintained an ongoing database that helped further refine the definition of an astronomical unit—a kind of longitudinal study of space distances that now allows missions like New Horizons to create accurate flight trajectories. The Deep Space Network continued to find inventive ways of using the time lag of radio waves to locate objects in space, ultimately finding that certain ways of waiting for a downlink signal from the spacecraft were less accurate than others. It turned to using the antennas from multiple locations, such as Goldstone in California and the antennas in Canberra, Australia, or Madrid, Spain, to time how long the signal took to hit these different locations on Earth. The time it takes to receive these signals from the spacecraft works as a way to locate the probes as they are journeying to their destination. Latency—or the different time lag of receiving radio signals on different locations of Earth—is the key way that deep space objects are located as they journey through space. This discovery was made possible during the wait times for communicating with these craft alongside the decades of data gathered from each space mission. Without the constraint of waiting, the notion of using time as a locating feature wouldn’t have been possible.”

“The confidence you get from knowing about every crash, anywhere in the world, is crucial to delivering a high-quality product that needs to be used in the wild. In the consumer software business, you can't rely on your customers to tell you about crashes—many of them may not be technical enough, and most of them won't bother to take time off of their own important work to give you a useful crash report unless you make it completely automatic.”

“Joscha: For me a very interesting discovery in the last year was the word spirit—because I realized that what “spirit” actually means: It’s an operating system for an autonomous robot. And when the word was invented, people needed this word, but they didn’t have robots that built themselves yet; the only autonomous robots that were known were people, animals, plants, ecosystems, cities and so on. And they all had spirits. And it makes sense to say that a plant is an operating system, right? If you pinch the plant in one area, then it’s going to have repercussions throughout the plant. Everything in the plant is in some sense connected into some global aesthetics, like in other organisms. An organism is not a collection of cells; it’s a function that tells cells how to behave. And this function is not implemented as some kind of supernatural thing, like some morphogenetic field, it is an emergent result of the interactions of each cell with each other cell. Lex: Oh my god, so what you’re saying is the organism is a function that tells the cells what to do? And the function emerges from the interaction of the cells. Joscha: Yes. So it’s basically a description of what the plant is doing in terms of macro-states. And the macro-states, the physical implementation are too many of them to describe them, so the software that we use to describe what a plant is doing—this spirit of the plant—is the software, the operating system of the plant, right? This is a way in which we, the observers, make sense of the plant. The same is true for people, so people have spirits, which is their operating system in a way, right, and there’s aspects of that operating system that relate to how your body functions, and others how you socially interact, how you interact with yourself and so on. And we make models of that spirit and we think it’s a loaded term because it’s from a pre-scientific age, but it took the scientific age a long time to rediscover a term that is pretty much the same thing and I suspect that the differences that we still see between the old word and the new word are translation errors that over the centuries.”

“Many of the criminal skills on the Web have emerged from an essential division in the philosophical debate generated by the Internet. In simple terms the debate is between those, on the one hand, who believe its commercial role is paramount and those, on the other, who argue that it is in the first instance a social and intellectual tool, whose very nature changes the fundamental moral code of mass communication. For the former, any copying of computer ‘code’ (shorthand for the computer language in which software or a program is written) that is not explicitly sanctioned is regarded as a criminal violation. The latter, however, are convinced that by releasing software you are also relinquishing copyright.”