Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: Technological Evolution

  1. #1
    TJ TeresaJ's Avatar
    Type
    INTP
    Join Date
    Apr 2014
    Location
    mosquito-infested hell
    Posts
    4,933

    Technological Evolution

    • I'm thinking specifically about open source software, but this might apply in other contexts.
    • This might already be a thing. In fact, it seems so obvious that I'm sure it must be.
    • Also, I myself am not a programmer, so please forgive me my ignorance, which will undoubtedly be made manifest.
    • Also also, typically, in the process of sitting down and typing out the post I partially answered my own questions.
    • But anyway, here's my idea:


    Say you are a programmer, and you download some open source software. A spreadsheet program, for example. Let's call it FreeSpreadsheet It works very well but there are a few things that you don't like about it, so you break open the code and you tweak it.

    Now. What if, after you've reprogrammed it to your liking and you're satisfied with it, you then upload it somewhere and add a link to the software's main webpage with some remarks on the changes you made. The website itself hosts a database of these links to alternate versions, with their descriptions as well as ratings.

    ...So anyway, down the line, I the consumer am not downloading version 8.0 of FreeSpreadhseet, brought to me by the creators of FreeSpreadsheet version 1.0. Instead, I download FreeSpreadhsheet variant G version 77, which has been refined by 77 separate OCD programmers whose user needs mirror my own.

    I suppose the biggest concern would be viruses. And it occurs to me that what I'm describing is simply... software. If the programmer is unsatisfied with FreeSpreadsheet, she can and does have the option of creating her own version - but she markets it separately, hopefully with acknowledgements but under its own name.

    So obviously software evolution does exist. I guess my real question is... why isn't it more rapid and more powerful? Instead of building a new spreadsheet program from scratch, why can't the programmer just tweak those few lines of code and send it back out as FreeSpreadsheet-but slightly better? Much like in nature, there would be a proliferation of slightly different versions of the same thing. You pick the one that works best for you, and over time the most user-friendly versions dominate the internet.

    I feel like I'm halfway poised between an obvious mundane reality that I'm stupidly not fully grasping and some great, sparkling, sci-fi paradigm shift.

  2. #2
    Minister of Love Roger Mexico's Avatar
    Type
    INTP
    Join Date
    Dec 2013
    Location
    New World
    Posts
    3,348
    You realize that certain important countries noted for their contributions to computer technology actually now import the physical products associated with those innovations from other countries, right? (Like the US, for example.)

    Without the concept of intellectual property, that economic model doesn't really work. IP is now a hugely important form of capital underpinning a lot of the global economic system we have in place. Why would anyone with a major stake in that system want to undermine it?
    Quote Originally Posted by Ptah View Post
    No history, no exposition, no anecdote or argument changes the invariant: we are all human beings, and some humans are idiots.

  3. #3
    Meae Musae Servus Hephaestus's Avatar
    Type
    eNTP
    Join Date
    Dec 2013
    Location
    Ceti Alpha V
    Posts
    15,327
    To some extent, that happens. It's not uncommon to purchase what's called "middleware" to get some of the hard stuff out of the way. This middleware is frequently modified to suit the specific needs of the specific project.

    For example, in game development, it's pretty common just to purchase a game engine. They still have to do the hard work of writing, coding, creating assets and putting it all together--and there will be things that need tweaking or extending to suit the needs of the specific game--but the purchase of the engine can make for a significant simplification of the process. It allows a developer to start developing more of the fun stuff right away (assets) rather than spending months building up to that moment making all the tools they will need.

    Another type of this (again, in game development) is in the form of mods. Modifiying the game can be anything from tweaking balance to "total conversions" wherein all the assets are yoinked and replaced with something else, leaving only the general feel of the game intact. Modding is often explicitly encouraged, flying in the face of Roger's sensible argument to the contrary, because having that option has proven to extend the life and interest in the game. But more than that, it helps produce a new generation of coders and designers on the cheap--which in turn encourages devs to make such tools available because said generation of designers cut their teeth doing mods, so have a vested interest in promoting that experience.

    At a meta level, what you're describing resembles programming languages. The funny thing is, that since programming languages themselves are built from programming languages, any program is arguably just an extension of the programming language it was written in. At some level anyway. I'm not sure I'd go so far as to posit a compiled executable is an instantiation of the modified programming language--but I'd go so far for uncompiled languages.


    Now, to understand why it isn't faster--well, it would help if you learned to code and then worked with a team on a coding project. It's hard to explain the feeling of someone else's piece destroying your code.

    Again, an example from gaming: World of Warcraft permits some pretty hefty interface modding through Lua. Lots of excellent little mods have been made, and yes, some of them had malicious bits in there, but that isn't the most common headache. The most common headache is when WoW gets patched. A patch is a change to the underlying code, and more often than not, those changes end up breaking things like mods.

    Likewise, the common case for altering a program isn't just adding or fiddling with a few lines of code. That might seem to be what you set out to do, but programs have all sorts of built in dependencies. Lets say you want a button on something to do something different. Like, say you have a four function calculator. You want to rewrite the plus button to do something different. Well, what if the underlying algorithm for the multiplication button is to use the code from the plus button multiple times? You change the plus button, you change the multiplication button too. Now imagine you're fiddling with a program with many many thousands of inter-related dependencies.
    I'm suspicious of people who say they'll die for a flag but won't wear a mask for their neighbor.

  4. #4
    TJ TeresaJ's Avatar
    Type
    INTP
    Join Date
    Apr 2014
    Location
    mosquito-infested hell
    Posts
    4,933
    Quote Originally Posted by Hephaestus View Post
    Another type of this (again, in game development) is in the form of mods. Modifiying the game can be anything from tweaking balance to "total conversions" wherein all the assets are yoinked and replaced with something else, leaving only the general feel of the game intact. Modding is often explicitly encouraged, flying in the face of Roger's sensible argument to the contrary, because having that option has proven to extend the life and interest in the game. But more than that, it helps produce a new generation of coders and designers on the cheap--which in turn encourages devs to make such tools available because said generation of designers cut their teeth doing mods, so have a vested interest in promoting that experience.
    Is it easy to share mods? So that if Mod XYZ is really cool, it doesn't just sit on that one programmer's device but it can go viral, as it were, among many gamers.

    I mean, one question is - Why doesn't all software work this way? The answers being money/power/IP in some respects, complexity in another.

    Another question is - Are there any currently existing cultural ecosystems in which it does work this way? I'm talking about evolution in the biological sense - variation and selection - being the norm rather than the exception within a technological subgenre. Game mods might be an example. Does that "ecosystem" (if the term can be used) function differently than a more standard, IP-dominated ecosystem?

    Another thing to consider, regarding complexity - one way that biological systems handle it is with built in redundancy. So if you break one cascade of code, there are still several others doing the same thing.

    A third question, if there isn't a satisfying existing example - what would it look like if someone set out to create a software "ecosystem" capable of handling a great deal of variation and built so that, rather than downloading from a source, you download only from peers who may or may not have modified the code.

    I just have this hunch that it would be really cool... Or maybe I've read too many Neal Stephenson novels (um... one). :/

  5. #5
    a cantori Perdix's Avatar
    Type
    INTj
    Join Date
    Jan 2014
    Location
    the deep end
    Posts
    2,428
    Quote Originally Posted by TeresaJ View Post
    Instead of building a new spreadsheet program from scratch, why can't the programmer just tweak those few lines of code and send it back out as FreeSpreadsheet-but slightly better? Much like in nature, there would be a proliferation of slightly different versions of the same thing. You pick the one that works best for you, and over time the most user-friendly versions dominate the internet.

    I feel like I'm halfway poised between an obvious mundane reality that I'm stupidly not fully grasping and some great, sparkling, sci-fi paradigm shift.
    It happens all the time, in the crypto-currency world these tweaked programs are called "clones". That's exactly how people choose which crypto-currency they want to get involved with.

    Cryptocurrencies are some "great, sparkling, sci-fi paradigm shift" .

    Join us: www.nxt.org

    --

    Why doesn't it happen with other open source software quite as frequently? There's not as much benefit relative to the amount of work that is required.

  6. #6
    TJ TeresaJ's Avatar
    Type
    INTP
    Join Date
    Apr 2014
    Location
    mosquito-infested hell
    Posts
    4,933
    Quote Originally Posted by prometheus View Post
    It happens all the time, in the crypto-currency world these tweaked programs are called "clones". That's exactly how people choose which crypto-currency they want to get involved with.

    Cryptocurrencies are some "great, sparkling, sci-fi paradigm shift" .

    Join us: www.nxt.org
    They even call it an ecosystem! Cool. I wonder how much meta-research there is on it...

  7. #7
    a cantori Perdix's Avatar
    Type
    INTj
    Join Date
    Jan 2014
    Location
    the deep end
    Posts
    2,428
    Quote Originally Posted by TeresaJ View Post
    They even call it an ecosystem! Cool. I wonder how much meta-research there is on it...
    On nxt? Not much.
    @TeresaJ

    Lecture at the University of Economics in Prague on NXT:
    Spoiler: slightly off topic

  8. #8
    Member HilbertSpace's Avatar
    Type
    INTP
    Join Date
    Dec 2013
    Posts
    144
    Evolution is a very valid way of looking at how technology changes over time.

    On one scale, it happens exactly like your scenario. Someone takes the source code for a program, changes it (hopefully improving it) and makes the new version available. In a sense, that's sort of how all software projects work. They're usually less anarchic than automatically just integrating code any schmuck wants to add (for security, as you observed, but also and primarily for quality control). This might be seen as something that has more in common with Lamarckian ideas about evolution - not generally true for biological organisms, but fine for technology. There's also speciation-type events. When a project forks - breaks into two different projects each now capable of going their own ways, for example. And obviously there's extinction events - typewriters and buggy whips and, Darwin willing in the coming years fax machines.

    But the metaphor can also be used to think about and analyze technology writ large. At that scale, it might make sense to think about things in more Darwinian terms (random variation being acted on by selection). We can see more evidence of more biological-like phenomena, like "frozen accidents." Think things like qwerty keyboards, and VHS, and other (arguably) suboptimal plateaus that are difficult to escape due to historical constraint.

    At any scale, though, technological innovation is head-spinningly rapid compared to biological organisms. The speed of evolution, as it were, is determined by a number of factors. It might be useful to think about two in particular - the rate of introduction of variation and the strength of selective pressure. Technology has high marks for both, overall. There's still historical contingency (the tension between abandoning existing software and restarting from scratch -both for users and for projects), but in general selective pressure is high.

    All of that is leaving aside projects that explicitly introduce evolutionary dynamics into solving problems (like genetic algorithms and other approaches to evolutionary learning in computation), which is a horse of an entirely different color.

    I know that might not be comforting when you just want your computer to stop crashing to a blue screen when you try to save a spreadsheet, but at least the analogy you derived is spot on.

  9. #9
    Meae Musae Servus Hephaestus's Avatar
    Type
    eNTP
    Join Date
    Dec 2013
    Location
    Ceti Alpha V
    Posts
    15,327
    Quote Originally Posted by TeresaJ View Post
    Is it easy to share mods? So that if Mod XYZ is really cool, it doesn't just sit on that one programmer's device but it can go viral, as it were, among many gamers.

    I mean, one question is - Why doesn't all software work this way? The answers being money/power/IP in some respects, complexity in another.

    Another question is - Are there any currently existing cultural ecosystems in which it does work this way? I'm talking about evolution in the biological sense - variation and selection - being the norm rather than the exception within a technological subgenre. Game mods might be an example. Does that "ecosystem" (if the term can be used) function differently than a more standard, IP-dominated ecosystem?

    Another thing to consider, regarding complexity - one way that biological systems handle it is with built in redundancy. So if you break one cascade of code, there are still several others doing the same thing.

    A third question, if there isn't a satisfying existing example - what would it look like if someone set out to create a software "ecosystem" capable of handling a great deal of variation and built so that, rather than downloading from a source, you download only from peers who may or may not have modified the code.

    I just have this hunch that it would be really cool... Or maybe I've read too many Neal Stephenson novels (um... one). :/
    Yes. It's easy to share--sort of. It depends a little on how explicitly the devs want to support modding. But, even when they overtly support it, it can require a fair amount of savvy to do.

    My first mod experience was with Doom. I can't even remember how I learned to do it, but you could add commands to the executable that directed it to load different resources. In the case of Doom they were .wad files. This was back in the days of DOS when command line interface was the common case.

    It's still done that way in some cases--you just have to know how to modify your shortcut so it has the extra commands. But much of the time, when a game openly supports modding, there is a pathway within the game itself--all you have to do is get the files to right place in your file structure and you'll be able to load them. A considerable facet of Minecraft's continuing allure is based on this model.

    As for the other questions, well... these things take time to create, to implement. Someone has to make them, debug them, and then distribute them. An enormous amount of great stuff is published for free, but that's part of why it takes some savvy to get to work--and it's even less guaranteed to work than normal software.

    Eventually in this, we butt up against what @Roger Mexico argued about: money. It's a lot of work, and without a payoff, there's no incentive to produce good polished software--certainly not to distribute it. Some manages to exist in spite of this, but that's just not how most people are wired. And of those examples where it was provided for nothing, I'd bet a considerable amount is internalized as marketing. Make a good piece of software, get it out, get it in use, and get noticed, so you can land a paycheck.
    @LordLatch no doubt has more insight on this angle than I do.
    I'm suspicious of people who say they'll die for a flag but won't wear a mask for their neighbor.

  10. #10
    Tsundoku LordLatch's Avatar
    Type
    INXX
    Join Date
    Dec 2013
    Posts
    7,769
    I don't understand the mind of a person who has time to code for free. Most things I do, I have multiple reasons for doing them.

    Open Source software doesn't get faster because each coder adds their stuff to it thereby making it slower. I would take a whole engine rewrite to keep those changes but make it faster.

    As far as flavours go, you can pick different builds incorporating various features in Blender from here: http://www.graphicall.org/110

    I would guess it's not that popular to have so many choices because it takes so much to work to get informed enough to make a decision. Blender is a wide enough niche to have all these choices. On a side note, the cycles render engine use to be a plugin. Now it's included.
    That's my poop stirrin' stick- Don't touch it! You don't know which end is the handle..

Similar Threads

  1. A Hypothesis About Technological Addictions
    By Hephaestus in forum Psychology & Sociology
    Replies: 10
    Last Post: 02-12-2015, 09:43 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •