Slashdot Mirror


User: msclrhd

msclrhd's activity in the archive.

Stories
0
Comments
392
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 392

  1. Re:AI is always "right around the corner". on By 2045 'The Top Species Will No Longer Be Humans,' and That Could Be a Problem · · Score: 4, Insightful

    The chess programs had the rules of chess programmed into them, and the move to play was calculated by rating different moves in the search space using an algorithm that was programmed by the developers of the AI system. This means that it is only specialised to chess.

    To be the AI in movies like The Terminator, the program will need to be able to learn the rules and strategies of chess itself, and adapt its algorithm over time. To simplify the problem of recognising the elements on the board (machine vision), you could represent the board as an 8x8 array of Unicode characters.

    Teaching the rules is difficult because you need a way of communicating those rules, which means that the program will need to understand language and the meaning behind the language (or enough meaning to understand rules to a particular game). Also, chess has a lot of rules that can be complex (en passant, castling, etc.) so it would be better to start with a simple game like tic tac toe or connect 4.

    The real threat is not in a generic AI that deems humans as a threat, but a specially tasked program or AI that miscalculates: allowing machines to control drones or military aircraft to perform air strikes, or similar things. There, if a machine gets things wrong it can cause untold destruction. Think SkyNet/The Terminator, but here the machines do not know what they are doing (they don't have independent thought or understanding like humans and animals), they just classify humans (or buildings) as a threat -- that is, this can be via a decision tree like in the chess games and the best "move" is to attack any building.

  2. Re:Fuzz Testing. Next! on Finding More Than One Worm In the Apple · · Score: 1

    They are all tools that can be applied to improve the quality of the code. No one thing is "The Solution".

    * Test Driven Development (TDD) is a good approach to ensure that the code you write is testable. This will not work for things like UI code, but other code will benefit.

    * Unit Tests can either be developed via a TDD-like approach (easier to do), or after the code is written (harder to do).

    * Automated Regression Tests (a superset of Unit Tests) provide good coverage for ensuring code works as expected without involving a large manual testing team. These will only detect the things covered by the automated tests.

    * Static Code Analysis tools can pick up a lot of problem areas, but will not detect every problem. These results can be used to identify what tests need to be created to prevent future regression.

    * Fuzz testing is good at providing strange data to e.g. a protocol or file format parser. These are intended to be soak tests -- e.g. "does my regular expression parser handle all these strange and possibly invalid constructs". Fuzz testing would have most likely found the heartbleed bug (because it would have permutated the length of data to request). Any failures here should be converted to Unit/Regression tests to ensure that the problem is (a) fixed by any code changes made and (b) does not occur in the future. Fuzz testing will typically find hard to identify bugs (e.g. data races) that are not easy to identify from manually constructed tests or static analysis.

    * Manual/ad hoc testing is important as it can uncover bugs that the developers are not aware of.

    * Code and Security Reviews help identify potential issues (e.g. if you have someone knowledgeable about SQL injection, they can assess whether some code is vulnerable to that attack).

    None of these is a silver bullet, but the more you have the better the code will be.

  3. Re:OpenGL drivers on other platforms on The Truth About OpenGL Driver Quality · · Score: 3, Informative

    If you read the blog post, they don't use letters: N=NVIDIA, X=Mesa, I=Intel, A1=AMD, A2=ARM/Mali, Q=Qualcomm/Adreno, P=PowerVR. There is no mention of Apple.

  4. Re:Blender should file a Counter Claim against Son on Blender Foundation Video Taken Down On YouTube For Copyright Violation · · Score: 1

    > Sony claimed the Protected Work was *theirs*

    That's the problem: Sony didn't claim anything. It was just some pattern matcher whithin the bowels of Google. Oops.

    On the Sintel video from the BlenderFoundation account on YouTube:

    This video contains content from Sony Pictures Movies & Shows, who has blocked it on copyright grounds.

    That is an explicit claim associated with Sony Pictures Movies & Shows. To get that, Sony had to upload content to the YouTube content system saying "I own this content. Anyone matching it is in copyright violation."

    Also, the content ID system does not support Creative Commons or similar license usage (can use with attribution, can/cannot monetize the content, etc.) and does not work with collaboration/team events on multiplayer games, podcasts or discussions.

  5. Re:Read the summary a couple times on Indie Game Jam Show Collapses Due To Interference From "Pepsi Consultant" · · Score: 1

    Actually, the Norman invasion resulted in Middle English (Chaucer) which incorporated several French words into Old English (e.g. Beowulf, which originated from the Anglo-Saxons migrating from Germany), accompanied with a shift in pronunciation. At the start of the Tudor period, this evolved into Early Modern English and had a more radical shift in the way the vowels were pronounced. This then evolved through Shakespeare and spread throughout the world into the English we know today. Even through Old, Middle, Early Modern and Modern English, pronunciation and dialectal phrases varied from region to region like they do today.

  6. Re:Are programmers really this naive? on Indie Game Jam Show Collapses Due To Interference From "Pepsi Consultant" · · Score: 1

    The developers initially did not agree on the terms of the contract, including that one. Adriel was still in the process of negotiating the contract, so did not sign it before they decided to walk away from the project. This is why she gives more details than e.g. Zoe who did sign the contract.

    The person from Pepsi was deliberately provoking the participants to create drama where it was not needed and offending the participants in the process. It would be the equivalent of the producers of MasterChief saying "Do gay people/women make better cooks?" to the contestants in order to provoke a reaction they can capture on camera, rather than the contestants competing on their own merit and capturing the dramas, interactions and comradery that occurs naturally.

    It would have been more insightful to see e.g. the teams with women on them working better than the teams which are all men. Or seeing that both teams are equally good/bad, have their own high points and their own low points irrespective of the gender of the people involved.

    It was interesting reading about how the YouTubers contributed their graphical skills and voice-over talents. That would have made interesting viewing -- especially seeing how it evolved and how the task delegation/brainstorming worked.

  7. Re:Great Firewall of China is bad enough ... on Great Firewall of UK Blocks Game Patch Because of Substring Matches · · Score: 5, Informative

    Actually, the last election result was such that no party had enough votes to secure power. It was a hung parliament as a result (http://en.wikipedia.org/wiki/United_Kingdom_general_election,_2010). The Conservatives and Liberal Democrats formed a Coalition, gaining the required combined majority to form a government.

    Conservatives: 36.1%
    Labour: 29%
    Liberal Democrats: 23%

  8. Re:language wars still hot for good reason on Zuckerberg Shows Kindergartners Ruby Instead of JavaScript · · Score: 2

    Python is a good language to build up from the ground up -- just type "python" and you start a Python interpreter. You can then start typing. For example:

            >>> 5
            5
            >>> 5*2
            10

    This allows you to only teach the absolute minimum of what is needed at the time. You can even tie it into things like mathematics.

  9. Re:-Wall on How Your Compiler Can Compromise Application Security · · Score: 1

    If tun==NULL, then tun->sk will cause the executing code to crash (unless it is suppressed with a custom SIGSEGV handler). The compiler removing the if in this case will not change that behaviour. I don't see what case the paper is indicating this optimization would be a problem.

    Granted, the if is in the wrong place and this is clearly a bug. But removing the if will not introduce any security bugs that are not already present in the code (unlike the optimizations that remove overflow checks).

    How easy it is for the compiler to report the bug in the user's code (null check after use) is another question. It may be that this is deep in the gcc optimisation pass and it does not have enough information to generate a warning/error for this. Static analysers like sparse and llvm in static-analysis mode should be able to detect this, though.

  10. Re:Sad, if true on The Last GUADEC? · · Score: 1

    Qt3 to Qt4 required you to change your code to support Qt4.

    There will also be porting needed for Qt4 to Qt5 (e.g. QtWidgets being a separate module, changing QtGui include to QtWidgets). See http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5 for the full list of changes.

    I used QAudioFormat from QtMultimedia in a project I was developing, This got moved from the QtMultimedia package to the qtmobility-dev package and from the QtMultimedia folder to the QtMultimediaKit folder.

    Are you going to use the Qt Q... variants or the KDE K... variants of the different classes? Oh, and you cannot use them interchangeably (e.g. the file open/save dialogs).

    Also, there is more emphasis in Qt on the QtQuick platform which is another moving target. Even then, are you going to use pure QtQuick, or use the new Ubuntu Phone/Tablet APIs they are creating?

  11. Re:Foreshadowing on The Last GUADEC? · · Score: 1

    How about pizza vs chips [http://www.google.com/trends/explore?q=android%2C+linux#q=pizza%2C%20%20chips&cmpt=q]. The search for "chips" is flat and a lot lower than the growing trend for pizza.

    Conclusion: no one likes chips anymore, so all chip shops, McDonalds, etc. are going to die out!

  12. Re:KDE and Gnome are still comparable on The Last GUADEC? · · Score: 2

    These Google trends are only part of the picture.

    Once you have found what you are looking for (e.g. Qt or Gtk+ documentation), you are likely to bookmark it and go directly to it, so your search result will only apply once even if you visit the Gtk+ docs a lot. Also, if you have downloaded and installed the Gtk+/Qt/KDE documentation, you don't need to search Google to find it!

    Q: What are the Debian, et. al. popularity contest stats for the Gtk+, Qt and KDE libraries? What about the dev packages? Documentation packages? Applications making use of these libraries?

    A user is not likely to search for Gtk+ or Qt (and maybe not even KDE or GNOME). They are more likely to search for things like "Amarok", "Natilus" or even more likely things like "PDF viewer for Linux". Even then, if they are looking for a specific application they are likely to go through something like the Ubuntu Software Center, or follow the instructions to install a cool new app from a blog/review site like http://www.webupd8.org./

    A developer is also not likely to perform a generic search for the UI framework or desktop environment either. They will either search for a specific query mentioning APIs or packages such as "How do I set the value of a GtkProgressBar?", "gtk_label_set_text HTML styling" or "libqt5-gui". Even then, they are likely to try sites like stackoverflow first. They are also likely to ask questions on the relevant forums, IRC channels, etc.

    Q: What are the search/question trends for gtk+/gnome and qt/kde tagged questions on stackoverflow?

    Q: What are the visitor stats like and comment counts like on the various Qt/KDE/Gtk+/GNOME pages, blogs and wikis (e.g. Allen Day's GNOME blog).

    Q: What are the trends for the number of commits and developers to the Gtk+/GNOME/KDE/Qt source code repositories?

  13. Re:Marketing not cutting edge on Fedora Project Developer Proposes Layered, More Agile Design to Distribution · · Score: 5, Informative

    Packaging in this sense is referring to grouping the built binaries and other files into a set of installable files that you can install (i.e. the rpm files in Fedora, deb files in Debian and msi files on Windows). These take care of specifying the dependencies and upgrades.

    The discussion in TFA is how to group those packages so they are more manageable. For example, a core layer is critical for running the OS (containing the kernel and other essential software), like the projects built in the Linux From Scratch manual.

    This then allows those groups to update and release independently of each other. These updates ensure that the packages in the group work well together. That is, you usually need to make sure that gcc, binutils and glibc all work well and update together so they would be in a group together.

  14. Re:"Flaw"? on Google Store Sends User Information To App Developers · · Score: 1

    The only other information that is useful is generic information. Specific information (name, address, credit card numbers, etc.) the app developers (me included) do not need -- they are only useful to Google Play/Checkout/Wallet handling the purchase transactions on the app developers behalf.

    The language you are running the phone in could be used to prioritize/target translations of the application. The version of Android could be used to concentrate testing. Tablet vs. phone as well as screen sizes can give an indication of where to improve UI layout and presentation (although the devs should still ensure it is at least functional on those setups). The device the app is installed on can be useful for tracking down bugs and if a particular device is popular for the app, the dev can purchase one to focus testing.

    The only other information is app specific -- e.g. what functionality of the app is being used / where people are spending most of their time. This allows the devs to either remove the functionality (no-one wants it) or figure out how to make it more discoverable (no-one knows it's there). This also applies to help -- which help pages are being read the most (indicating a usability/discoverability issue).

  15. Re:The USPTO is holding roundtables on Micron Lands Broad "Slide To Unlock" Patent · · Score: 2

    But you will be able to look at the patent which explains how the device works in detail so someone skilled in the art can reproduce it. If it does not, it should not be granted. Part of the problem is that software patents are obscurely worded and deliberately ambiguous to apply to more than what the patent was originally about.

  16. Re:Installation is the big bottleneck these days on Voxel.js: Minecraft-like Browser-Based Games, But Open Source · · Score: 1

    I reported the issue to Mozilla (as per the link in my previous post) so they can investigate and improve things on their end. This should then benefit other complex JavaScript/WebGL applications, especially if the voxel.js code is used in web-based games and other applications.

  17. Re:Installation is the big bottleneck these days on Voxel.js: Minecraft-like Browser-Based Games, But Open Source · · Score: 1

    For me, Firefox 18 was unresponsive for a minute or so while loading one of the voxel.js demos. It eventually loaded. I have reported the issue as https://bugzilla.mozilla.org/show_bug.cgi?id=835076.

  18. Re:Alternatives. on The Android SDK Is No Longer Free Software · · Score: 1

    Why? The SDK sources are released under the Apache 2.0 license. The NDK uses either GPL (for the GCC-based toolchains) or BSD (for the clang-based toolchains). There is nothing in these licenses that says "thou shalt not build and distribute your own versions of this code".

    The only thing that has the restrictive license is the SDK binaries installed from the version of the SDK built by Google.

    This means that projects like CrystaX-NDK and the Replicant SDK that provide their own versions of the SDK built from source are fine. The only thing they cannot do is distribute parts of the SDK from the version of the SDK built by Google (such as the virtual images for the Android devices, inless you have built thoe yourself).

    It does mean that in the future, Google can stop releasing portions of the Android SDK that are Apache/BSD based as source code, which would prevent the competition from using them. They could also delay the release of the SDK sources (which they have done in the past w.r.t. Android releases), or not release the code at all (as Apache/BSD do not require you to release your source code modifications).

    This could mean that in the future, the source code for the SDK will be incompatible with the Android platform it targets, requiring you to use the Google-built version of the SDK.

  19. Re:I read the article on The Scourge of Error Handling · · Score: 1

    Exceptions are just as bad. Consider the following Java code:

    public interface JSONSerialisable
    {
      public Object toJSON() throws JSONException;
    }

    public class JSON
    {
      public static boolean write(FileOutputStream file, JSONSerialisable object)
      {
        String content;
        try
        {
          content = object.toJSON().toString();
        }
        catch (JSONException e)
        {
          Log.e("JSON.write", e.toString());
          return false;
        }

        BufferedOutputStream buffered = null;
        try
        {
          try
          {
            buffered = new BufferedOutputStream(file);
            buffered.write(content.getBytes("UTF-8"));
            buffered.flush();
          }
          finally
          {
            if (buffered != null)
            {
              buffered.close();
            }
          }
        }
        catch (IOException e)
        {
          Log.e("JSON.write", e.toString());
        }
        return false;
      }

      public static boolean write(String filename, JSONSerialisable object)
      {
        try
        {
          return write(new FileOutputStream(filename), object);
        }
        catch (FileNotFoundException e)
        {
          Log.e("JSON.write", e.toString());
        }
        return false;
      }
    }

    And that is just for a simple workflow.

  20. Re:Exceptions in C++ on The Scourge of Error Handling · · Score: 1

    Exceptions can make code harder to maintain. Specifically:

    1. you have to be careful not to throw across COM calls, Windows message handlers, thread handlers, etc. otherwise you are going to get hard to diagnose crashes;

    2. you lose context -- where did that "file not found" error originate from;

    3. generic catch blocks make it difficult to understand the control flow, and if you localise the try ... catch blocks you end up with verbose code.

    I am not saying that error codes are the solution. I think both are equally bad for different reasons. I do not have a good replacement either.

    At the moment, I like the way Java tells you what exceptions will be propagated -- this helps you add code to deal with the exception at the place where it is called. I also like the C++ RAII model -- it is better than try ... finally or using statements, as it reduces the amount of code I need to write while maintaining safety.

  21. Re:not quite that simple on Alan Cox to NVIDIA: You Can't Use DMA-BUF · · Score: 1

    If you start with code that is Public Domain, BSD or otherwise GPL compatible, you can add dual licensing to the code you create. The old code is still single licensed, but the code with your modifications is dual licensed.

    If you start with code that is written under the GPL, you cannot dual license it with a license that is not GPL compatible unless you get permission from the copyright holders on the original code to do so. If the GPL code is written by you only, you can dual (or triple) license it with any license you choose.

    If you write software that links with GPL code, the API you use may not be copyrightable but the code you link to is (your binary executable contains executable code from a GPL library).

    If there is a plugin/driver architecture for a GPL project, the plugin API may not be copyrightable, but the executable (kernel or application) you are hooking into is licensed as GPL code. You are using the application to provide functionality to you that your plugin/driver takes advantage of. Without that functionality (just relying on the API), your plugin/driver does not do anything useful.

    The Linux kernel developers provide a set of APIs they allow modules to use without having to make those modules GPL. These are what the current NVidia driver uses, so it is compliant.

    In a similar way, non-GPL code can execute a GPL-based binary using the exposed command-line API without having to open up its code.

  22. Re:Why is this supposed to be a good thing? on Alan Cox to NVIDIA: You Can't Use DMA-BUF · · Score: 1

    Linux is competing on its own merits. The main requirement for contributing to Linux (or other GPL projects) is that if you want to modify it, you have to release the source code for it. If a company does not like that, it cannot publish a modified version of the GPL project or something that derives from it.

    Quite a lot of the kernel developers are paid by corporations to contribute GPL code to the Linux kernel; these companies comply with the GPL just fine The rest of the developers don't get paid for their work contributing to the kernel (or other GPL project), but still want to add to and improve the kernel while releasing their code for free.

    Intel, AMD, VMware and others work with the Linux kernel, mesa, and other graphics teams to help improve the associated projects.

    Where are NVidia? Why should NVidia freeload on the work of others and not contribute anything back to the community (hiding their driver behind a binary blob)?

  23. Patents, Copyrights and Trademarks on Tech Firms and Regulators Meet At UN About Patents · · Score: 3, Interesting

    To my knowledge, Computer software is the only industry that has both copyright (source code, graphics, music, etc.) and patents (design concept) applicable to it, and therein lies the problem. Trademarks are independent of these two as they apply to brand identity.

    You don't have patents in the fiction world, you have copyright law on the published text. You are free to have tree men in your story as long as you don't call them "ents". Likewise having a story about wizards in school, or vampires, or other story elements. Otherwise, if story elements/concepts were patentable we would not have as many varied stories we do have.

    The same applies to paintings/drawings, TV shows, films, music and other creative arts. You don't have the makers of Armageddon and Deep Impact sueing each other over who has rights to the asteroid impact disaster movie, instead you have two different interpretations of that concept.

    With the creative arts, you can take themes and ideas from other works and use them in a different way in your own work. So you have many paintings in the impressionist style, each artist giving their own interpretation on what that means.

  24. Re:Is it only in Unity? on Ubuntu Will Now Have Amazon Ads Pre-Installed · · Score: 4, Informative

    The GPL does not forbid you from (a) selling your software, or (b) making a profit from it. The GPL requires you to release the source code for your product. For example, selling your GPL game with protected assets (art, music, etc.) but open code is fine. Also, RedHat and others make money from supporting their distros/software.

  25. Re:Not unreasonable. on Amazon Blocks Arch Linux Handbook Author From Releasing Kindle Version · · Score: 1

    So would that mean that Amazon would prevent the author(s) of the XKCD, Girl Genius, The Oatmeal and other online comics from selling collections of their comics through the Amazon store just because you can get them for free online? Or someone publishing a novel or manual that was serialized on the author's blog or a free online story site.

    If that is the case, Amazon is blocking those authors from a potential revenue stream.

    If the case is that the book contains work by authors other than those publishing it (e.g. publishing wikipedia articles) and Amazon are only blocking those, I can understand Amazon's permission.

    It gets interesting if wikipedia, arch linux or canonical/ubuntu publish Creative Commons material to raise funds for that project, not a random developer working on one of those wiki pages.