1,374 Matching Annotations
  1. Jul 2019
    1. A tool to help determine weights (or a feature of a creditmap tool) seems most likely to be successful. Such a tool would likely have provide simultaneous views of the credit map and weights: one that allows a detailed view of any particular contriponent and its weight, and the other that provides a view (perhaps graphical) of the entire creditmap and weights.

      Great idea! Doesn't seem to exist yet, but it should also take in account the quality of each contribution (a few high-quality contributions can be more important than many low-quality contributions).

    2. The value of transitive credit is in measuring the indirect contributions to a product, which today are not quantitatively captured

      Should contributions to a product really be quantitatively captured? Wouldn't that lead to the same dead-end as with citation in scientific publication?

    3. how the credit map for a product A, which is used by a product B, feeds into the credit map for product B

      Transitive credit's 3rd element: transitive nature

    4. Any product should list all authors (as currently listed as authors of a paper), all contributors (as currently listed in the acknowledgements of a paper) and all component products that have been used, including both publications and other products such as software and data (as currently either cited, acknowledged, or not included in a paper).

      Transitive credit's 1st element: credit (called "contriponent" - combination of contributors and components)

    5. Methods for doing this weighting, whether using a taxonomy or a more traditional list of authors, and analysis of these methods and their impact would likely be developed if this overall idea moves forward.

      Transitive credit's 2nd element: weight

  2. Jun 2019
    1. total jerks. As the leader of a popular OSS project, in one way or the other you’ll have to confront with these people, and that’s maybe one of the most stressful things I ever did in the course of the Redis development.

      what's the way to shield yourself from that? This is stresfull mostly because this is not who he (or I) is... i.e. person equipped to deal with this kind of relations

    1. A guide to available tools and platforms for developing on Ethereum.

      Exhaustive and incredible list of working software related to Ethereum based blockchains. Certainly a resource we will often refer to

    1. This is especially true for online gaming

      WASM is being used to run many demanding applications directly in the browser. Autocad is one important example where architects can use this application without installing a usually very heavy piece of software on their computers. They can access the Autocad suite from almost any computer only by logging into to a website. It is expected that a large part of the gaming industry will shift this way as well as many other services. One of the main advantages of this approach aside from a lack of a local installation is real-time software updates for any number of users. A new model of software building and execution will be based on WASM. WASM is also very good for blockchains. Search for the WASM section to learn more.

  3. May 2019
    1. By “Infrastructure” we mean

      ​The definition of "open infrastructure" (or the software component of open infrastructure) should include an explicit requirement for open-source code.​ Even an explicit recommendation short of a requirement would be better than the current definition, which is entirely silent the value of opening the code. The Elsevier acquisition of bepress (to use one example among many) would have been much less harmful to the community if the code had been open and user institutions could hold on to the platform, fork it if they wanted, take it in their own direction, and continue using it without becoming Elsevier customers.

    1. Inventory Management Software Development Cost and Features

      If you are looking for a technology partner for building software like this then Endive Software is the best option for you. Hire our experienced developers helps you to build software like Inventory Management System.

  4. Apr 2019
    1. So in theory, one could imagine an organization that produces a different kind of document. Instead of a license for the source code, they would provide a way to say uh, let’s go with “Open Development Certified.” Projects could then submit for certification, they’d get accepted or rejected.

      This sounds a lot like the Apache trademark, to me.

  5. Mar 2019
    1. 6 Effective Strategies for Teaching Adults

      This article from Point Park University provides several methods one can use to help educate adults. Ideas presented include ensuring content is relevant, knowing the audience, igniting emotion in the audience, ensuring assignments are attainable, and providing constructive feedback. I find these especially helpful because of my work, which often involves teaching adults who are busy and sometimes uninterested in my content. The section that will help me most is "Encourage Exploration." Because I'm training on a software tool, I want learners to go into the software and make mistakes and learn from them. I want them to poke around! It can be difficult to convince a class of disgruntled 60-year-old men who are mad that things are changing to go play with a complex software tool like children. 7/10

    1. This is a list of different types of mobile learning software. It seems that different categories are included, such as LMSs. I can't evaluate the products but I will note that this list would be far more helpful if they clarified what each of the software tools is supposed to do. At this point, I do not have competing lists, so I will include it for now. rating 1/5

    1. microlearning This app, edume, is supposed to help people with microlearning. Apparently it is endorsed by large companies. At this point, I do not have the background to assess the product but am saving it for my own use later. rating 3/5

    1. This is specific to Articulate Rise 360 (a rapid development tool) and features brief posts that keep the reader up to date on software changes, which are made frequently. Only a portion of each comment is visible on the main page (just as only a portion of an email is visible without clicking the email) but the subject heading is usually sufficient to describe the content of the post. rating 3/5

    1. This is associated with the e-learning development tool "Articulate Storyline." There are frequent blog posts and they are not limited to or exclusive to the Articulate products. Posts are brief and not all of the content will be new, but there are worthwhile tips to be had and they combine theory (not to the extent that an academic would) with practice. rating 3/5

    1. This page is not necessarily attractive to look at but it is a thorough presentation of various features of infographics. Features are organized by topic and generally presented as a bulleted list. The focus of the page is how to use infographics for assessment; however, the page is useful to those who wish to learn how to create infographics and to identify the software tools that can be used to create them easily. Rating 4/5

  6. Feb 2019
    1. INVEST

      According to this checklist, a User Story should be:

      Indepedent (of all others)

      Negociable (not a specific contract for features)

      Valuable (or vertical)

      Estimable (to a good approximation)

      Small (so as to fit within an iteration)

      Testable (in principle, even if there isn't a test for it yet)

      Source(s):

      1. Glossary: INVEST - Agile Alliance
      2. INVEST at XP 1-2-3 by Bill Wake
  7. Jan 2019
    1. AI Robots will be replacing the White Collar Jobs by 6% until 2021

      AI software and the chatbots will be included in the current technologies and have automated with the robotic system. They will have given rights to access calendars, email accounts, browsing history, playlists, past purchases, and media viewing history. 6% is the huge number in the world as people would be seen struggling in finding the jobs. But there are benefits also as your work would have done easily and speedily

    1. For large-scale software systems, Van Roy believes we need to embrace a self-sufficient style of system design in which systems become self-configuring, healing, adapting, etc.. The system has components as first class entities (specified by closures), that can be manipulated through higher-order programming. Components communicate through message-passing. Named state and transactions support system configuration and maintenance. On top of this, the system itself should be designed as a set of interlocking feedback loops.

      This is aimed at System Design, from a distributed systems perspective.

    1. Grid devices can be nested or layered along with other devices and your plug-ins,

      Thanks to training for Cycling ’74 Max, had a kind of micro-epiphany about encapsulation, a year or so ago. Nesting devices in one another sounds like a convenience but there’s a rather deep effect on workflow when you start arranging things in this way: you don’t have to worry about the internals of a box/patcher/module/device if you really know what you can expect out of it. Though some may take this for granted (after all, other modular systems have had it for quite a while), there’s something profound about getting modules that can include other modules. Especially when some of these are third-party plugins.

    1. As was hinted at from the star

      This is when “the other shoe dropped”. They planned this all along (since 2012). Hidden in plain sight was a more subtle strategy than people might have imagined.

    2. The Grid is based around ideas familiar to Bitwig Studio

      The continuity between these new modular features and the rest of the DAW’s workflow probably has unexpected consequences. Before getting information about BWS3, one might have thought that the “Native Modular System” promised since the first version might still be an add-on. What the marketing copy around this “killer feature” makes clear, it’s the result of a very deliberate process from the start and it’ll make for a qualitatively different workflow.

  8. Dec 2018
    1. OSS contribution takes time; I don't think anyone would contest that. Getting familiar with a project, finding out where you can fit into it, reading and responding to issues, testing and submitting patches, writing documentation. All of that requires a good deal of time.

      I reached out to a prominent OSS company preferring a "history of open source contributions" and put forward the idea that people who code for a living don't always have the opportunity. The response was surprisingly hostile:

      It doesn't exclude anyone. Zero chance I'm going to have a debate about it.

  9. Nov 2018
    1. how does misrepresentative information make it to the top of the search result pile—and what is missing in the current culture of software design and programming that got us here?

      Two core questions in one? As to "how" bad info bubbles to the top of our search results, we know that the algorithms are proprietary—but the humans who design them bring their biases. As to "what is missing," Safiya Noble suggests here and elsewhere that the engineers in Silicon Valley could use a good dose of the humanities and social sciences in their decision-making. Is she right?

    1. One quick trick for making it easier for debugging/understanding your threading macros is to put print statements in between some of the steps. The important thing to remember is that all the print functions in clojure return nil so you need to make a little helper function (I like to call mine ?) that prints and then returns the original input, like this: (defn ? [x] (prn x) x)

      debugging trick

    2. I don't think passing the entire http client is very idiomatic, but what is quite common is to pass the entire "environment" (aka runtime configuration) that your app needs through every function. In your case if the only variant is the URL then you could just pass the URL as the first parameter to get-data. This might seem cumbersome to someone used to OO programming but in functional programming it's quite standard. You might notice when looking at example code, tutorials, open source libraries etc. that almost all code that reads or writes to databases expects the DB connection information (or an entire db object) as a parameter to every single function. Another thing you often see is an entire "env" map being passed around which has all config in it such as endpoint URLs.

      passing state down the call stack configuration, connection, db--pretty common in FP

    3. Something that I've found helps greatly with testing is that when you have code with lots of nested function calls you should try to refactor it into a flat, top level pipeline rather than a calling each function from inside its parent function. Luckily in clojure this is really easy to do with macros like -> and friends, and once you start embracing this approach you can enter a whole new world of transducers. What I mean by a top level pipeline is that for example instead of writing code like this: (defn remap-keys [data] ...some logic...) (defn process-data [data] (remap-keys (flatten data))) (defn get-data [] (let [data (http/get *url*)] (process-data data))) you should make each step its own pure function which receives and returns data, and join them all together at the top with a threading macro: (defn fetch-data [url] (http/get url)) (defn process-data [data] (flatten data)) (defn remap-keys [data] ...some logic...) (defn get-data [] (-> *url* fetch-data process-data remap-keys)) You code hasn't really changed, but now each function can be tested completely independently of the others, because each one is a pure data transform with no internal calls to any of your other functions. You can use the repl to run each step one at a time and in doing so also capture some mock data to use for your tests! Additionally you could make an e2e tests pipeline which runs the same code as get-data but just starts with a different URL, however I would not advise doing this in most cases, and prefer to pass it as a parameter (or at least dynamic var) when feasible.

      testing flat no deep call stacks, use pipelines

    4. One thing Component taught me was to think of the entire system like an Object. Specifically, there is state that needs to be managed. So I suggest you think about -main as initializing your system state. Your system needs an http client, so initialize it before you do anything else

      software design state on the outside, before anything else lessions from Component

    1. Prezi is a productivity platform that allows for creation, organization, collaboration of presentations. It can be used with either mobile or desktop. Prezi integrates with slack and salesforce. RATING: 5/5 (rating based upon a score system 1 to 5, 1= lowest 5=highest in terms of content, veracity, easiness of use etc.)

    1. This means that software that deals with Internet must be actively maintained. If it is not it will become more and more useless in practice over time, however much it remains theoretically correct, not because it has bugs or security holes as such but because the environment it was designed to work in no longer exists and thus the assumptions it was built on are now incorrect.

      internet software decays

    1. The Moodle project

      Moodle is one of the largest open source collaborative platform used in the development of curriculum.

      Moodle is an Australian company and has various levels of subscriptions including one level for free. Overall I have found the site to be user friendly rich with demos, documentation and support including community forums. This site supports multiple languages and has an easy to use drop down menu for that selection.

      RATING: 5/5 (rating based upon a score system 1 to 5, 1= lowest 5=highest in terms of content, veracity, easiness of use etc.)

  10. Oct 2018
    1. Welcome to the DOAP wiki. DOAP is a project to create an XML/RDF vocabulary to describe software projects, and in particular open source projects.
  11. Sep 2018
    1. E' altresì necessario accellerare la creazione di una struttura di certificazione del software nazionale che consenta di usufruire di tecnici che possano testare i software creati per la PA e assicurarne la conformità alle regole AGID e al GDPR (privacy by design). In tale ambito la capacità nazionale è attualmente molto limitata.

    1. In this singularity-free world, the future would be bleak for programmers. (Imagine having to cope with hundreds of years of legacy software!)

      I'm not really sure I agree with this. Regardless of whether Singularity eventually comes around or not, software will evolve. We have seen whole languages fall out of usage in the past, including Fortran, COBOL, ALGOL, etc. Developers will always be looking to get more efficient, and our current languages will either get abandoned or improved. New languages will come up and become the new standard. If anything, the future seems to be far more bleak for programmers/developers in the years after Singularity, rather than in the years leading upto it - after all, with the prevalence of docile, conscious machines,most of the work programmers do, everything from bug-fixing to data-analytics, would be done more quickly, cheaply and efficiently by the machines. In other words, in the world of singularity, programmers as we know them would no longer exist.

    1. The Free Software Foundation[11][12] and the Open Knowledge Foundation approved CC0 as a recommended license to dedicate content and software to the public domain.
  12. Aug 2018
  13. Jul 2018
    1. Fully reproducible code is available in the form of jupyter notebooks (https://jupyter.org) with instructions to install all necessary software, download sequence data, assemble it, and run genomic analyses (https://github.com/dereneaton/Canarium-GBS) (DOI 10.5281/zenodo.1273357). For all genomic analyses in this study we used the ipyrad Python API and the ipyrad-analysis toolkit (https://github.com/dereneaton/ipyrad) which provides a set of wrappers around common genomic analysis tools to run highly parallelized analyses using simple Python scripts.

      Example of author sharing all code via jupyter notebooks in a github repo. They have archived to Zenodo and include both URLs in the text. Their analysis relies on an existing toolkit - it is not obvious from the manuscript whether this toolkit has been deposited anywhere.

      Journal: PLOS ONE Subject area: plant biology, ecology (check?)

    1. Source code of the model presented here is available on GitHub (https://github.com/lukasgeyrhofer/phagegrowth) (Payne et al., 2018) and its archived version is accessible through Zenodo: https://dx.doi.org/10.5281/zenodo.1038582 and https://github.com/elifesciences-publications/phagegrowth.

      Example of authors archiving their own code. The eLife process is to fork the author's repo to the eLife github repo to save a snapshot of the repo at the time of acceptance. The authors here have also chosen to archive to Zenodo (via the Github release --> Zenodo mechanism?). Both the Zenodo DOI and the eLife fork are included in the text as archive/snapshot copies of the original (also cited).

      Note the author's original repo is included in the references.

      Journal: eLife Subject area: ecology, evolutionary biology

    2. doi: 10.5281/zenodo.1038582RRID:SCR_004129Zenodo repository

      In this example, the archived code repository has been listed in the eLife Key Resources Table

  14. Jun 2018
    1. Acero F., Ackermann M., Ajello M. et al (Fermi-LAT) 2015 arXiv:1501.02003Preprint

      Starting in 2014-2015, AAS/IOP started linking to preprints in reference lists if they were the version cited by the author and an accepted manuscript did not at that time exist.

      Thus we now have built in "categories" for references, which could be expanded to include data/software sections.

    2. The most up-to-date version of the open-source package NPTFit may be found at https://github.com/bsafdi/NPTFit and the latest documentation at http://nptfit.readthedocs.io. In addition, the version used in this paper has been archived at https://zenodo.org/record/380469#.WN_pSFPyvMV.

      This is an example of incorrect software citation per the AAS Journal's policy. The Zenodo metadata should have been added to the reference list as a 1st class citation.

      It is also an example of an incorrectly typeset URL. URLs that come from DOIs should be typeset using the DOI string not the resolved URL. It should have read, "version used in this paper has been archived at https://doi.org/10.5281/zenodo.380469"

    3. Foreman-Mackey D., Vousden W., Price-Whelan A. et al 2016 corner.py: corner.py v2.0.0, doi:10.5281/zenodo.53155

      corner.py is one of the more interesting examples of software citations. there are at least 3 different formal references in the wild:

      https://doi.org/10.5281/zenodo.11020 https://doi.org/10.5281/zenodo.53155 https://doi.org/10.21105/joss.00024

      with different versions and author lists.

    1. Barbary K. 2014 sncosmo Zenodo, 10.5281/zenodo.11938

      This software citation losts its version information. We will have to work on our typsetting and production rules, as well as develop formal JATS/NLM XML schema to contain versioning information.

    2. https://doi.org/10.5281/zenodo.11938

      This DOI software archive is also in the Reference list per our Journal's software policy.

    3. Software: hotpants, PostgreSQL, realbogus (Bloom et al. 2012) scamp (Bertin 2006), sextractor (Bertin & Arnouts 1996), sncosmo (Barbary 2014), swarp (Bertin et al. 2002), matplotlib (Hunter 2007), numpy (Van Der Walt et al. 2011).

      The AASJournals now highlight software using a paragraph trailing the acknowledgements that lists all software used in the paper's analysis. The software doesn't need to be mentioned in the main text; context-free mentions can be placed here.

      The format is a 2 item tuple containing the short/common name of the software, and a citation or URL for the software.

      In principle this section could be data mined. At the moment it is just a free paragraph in the XML, but could be given more explicit markup to aide in data mining reuse and indexing.

    1. Software: Juypter notebook (http://jupyter.org), Jupyterlab (https://github.com/jupyterlab), VOspace (http://www.canfar.net/en/docs/storage), vos (https://pypi.python.org/pypi/vos), VirtualBox (https://www.virtualbox.org), JupyterHub      (https://jupyterhub.readthedocs.io/en/latest/), ipywidgets (https://ipywidgets.readthedocs.io), NuPyCEE (http://nugrid.github.io/NuPyCEE), NuGridSetExplorer (https://github.com/NuGrid/WENDI), hdf5 (https://www.hdfgroup.org), Cyberlaboratories cyberhubs (https://github.com/cyberlaboratories/cyberhubs), Cyberlaboratories astrohubs        (https://github.com/cyberlaboratories/astrohubs), Cyberhubs Docker repository (https://hub.docker.com/u/cyberhubs), Docker (https://www.docker.com), NOAO data lab (http://datalab.noao.edu), ansible (https://www.ansible.com), puppet (https://puppet.com), mesa_h5 (https://github.com/NuGrid/mesa_h5), Python (https://www.python.org), MESA (http://mesa.sourceforge.net), WENDI (http://wendi.nugridstars.org), OpenMP (http://www.openmp.org), MESA-SDK (http://www.astro.wisc.edu/~townsend/static.php?ref=mesasdk), MPI (https://www.open-mpi.org), gfortran (https://gcc.gnu.org/fortran), SuperLU (http://crd-legacy.lbl.gov/~xiaoye/SuperLU), OpenBLAS (http://www.openblas.net), mencoder (http://www.mplayerhq.hu).

      It would be better to see some of these going to bibliographic references instead of URLs though many of them do not list preferred citations.

  15. May 2018
    1. You can not only apply it to classes, but also to software components and microservices.

      The principle can also be applied to source code files.

  16. Apr 2018
  17. Feb 2018
    1. With sentiment analysis software, set for trial use later this semester in a classroom at the University of St. Thomas, in Minnesota, instructors don’t need to ask. Instead, they can glance at their computer screen at a particular point or stretch of time in the session and observe an aggregate of the emotions students are displaying on their faces: happiness, anger, contempt, disgust, fear, neutrality, sadness and surprise.

      Wha?

  18. Jan 2018
    1. With its world-class VoIP calling software, Sip2dial offers you a hassle-free business communication at a pocket-friendly price. You can be assured completely about your business once you choose our framework. For more information contact us at www.sip2dial.com or call us at +91-7008220621 today.

  19. Dec 2017
    1. Brooks’ Law, which states “adding manpower to a late software project makes it later”

      S. McConnell adds an interesting take on this in his: Brooks' Law Repealed? article.

  20. Nov 2017
  21. Oct 2017
    1. DVC makes your data science projects reproducible by automatically building data dependency graph (DAG). Your code and the dependencies could be easily shared by Git, and data - through cloud storage (AWS S3, GCP) in a single DVC environment.

      software and data dependency graphs, nice!

    1. The bug we ran into only affected certain releases of Postgres 9.2 and has been fixed for a long time now. However, we still find it worrisome that this class of bug can happen at all. A new version of Postgres could be released at any time that has a bug of this nature, and because of the way replication works, this issue has the potential to spread into all of the databases in a replication hierarchy.

      Not really a criticism of Postgres so much as it is a criticism of software in general.

  22. Sep 2017
    1. Singularity containers can be used to package entire scientific workflows, software and libraries, and even data.

      Very interesting, basically Singularity allows containers to run in HPC environments, so that code running in the container can take advantage of the HPC tools, like massive scale and message passing, while at the same time keeping the stuff in the container safer.

  23. www.softwareheritage.org www.softwareheritage.org
    1. This is interesting, could it become something like the LOCCS / CLOCCS for software? I like that you can check if your own code is already in their archive.

      It's a French initiative, and was founded by https://en.wikipedia.org/wiki/French_Institute_for_Research_in_Computer_Science_and_Automation. I don't know what their long term sustainability model is going to be.

  24. Aug 2017
    1. Remember, PIMS were a hot market prior to Windows 3.0 - but most products were never ported to Windows because there wasn't enough revenue being made. This was because users would buy the hype, buy the product but weren't commited enough to get past the learning curve and dedicate time to maintaining data in it. So, most PIMs just became shelf-ware. And it wasn't because they weren't powerful or didn't have good interfaces - they did (as Grandview and Agenda easily demonstrate).
  25. Jul 2017
    1. In the case of Computer Software (what are referred to in this Policy as Non-Traditional Works as defined in Section B.5) in which the University has invested Extraordinary Resources (defined in Section B.6), the Creator shall own the copyright to such Non-Traditional Work; provided, however, that the University is entitled to share in the revenues generated by licensing copyrighted works created and owned by members of the Northwestern Academic Community when all three of the following conditions are met:
    2. ). In the case of Computer Software created by members of the Northwestern University Academic Community in the course of their employment the Creators shall grant to the University a perpetual, non-exclusive, royalty-free right and license to use, perform, display, copy, reproduce, modify and create derivatives of such works for all traditional, customary or reasonable academic or research purposes of the University.
    1. Copyrighted courseware and/or software that are not associated with traditional works as described above shall fall under and are subject to the Patent Policy
    1. The rights to copyrightable software with an actual or projected market value in excess of $10,000 annually, except software included in computer-mediated courseware, shall be determined pursuant to the Board's Patent and Copyrightable Software12 Policy (II.A.8.b).
  26. Jun 2017
    1. This is an annotation to state how great this site is and to see if anybody ever finds it ...

    1. Common Astronomy Software Application package

      The software can be found on the software project website: https://casa.nrao.edu/ . This is a very limited description of the software package, its version, or its dependencies.

  27. Apr 2017
    1. RepeatMasker was developed using TRF version 4.0.4

      Downloaded v4.0.9, Linux command line (legacy GLIBC, <= 2.12)

      http://tandem.bu.edu/trf/trf409.legacylinux64.download.html

    2. For RMBlast ( NCBI Blast modified for use with RepeatMasker/RepeatModeler )

      Used RMBlast pre-compiled binaries provided by NCBI;

      Previous Release: 2.2.28

      Download Pre-compiled Package: Download both the BLAST+ and RMBlast packages from NCBI for your platform:

      1. RMBlast Binaries:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/rmblast/2.2.28

      2. BLAST+ Binaries:ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.28/


      Extract both tarballs, and symlink or copy rmblastn RMBlast to blast/bin/ location, so that all of binaries are in once-place.

    1. analyses using these ego-level measures can be done using statistical packages like SPSS

      I am familiar with SPSS, but I had not considered using it for my final project until now. I am a little confused about how I would have to code the data (adjacency matrix) so that it works well in SPSS, but I think I'm going to try it just to see if I can get the same results that I obtain from using R.

    2. UCINET is NetDraw, a visualization tool that has advanced graphic properties.

      I am interested in learning more about the NetDraw software in UCINET. While I like statistics, nothing really says SNA like having clear visuals that display network ties

  28. Mar 2017
    1. We’ve designed our products to meet essential needs of journalism through effective online communities.

      Mozilla, Knight, NYT, WaPo collaboration.

  29. Jan 2017
    1. I don’t want the culture of open source to be organized around a legal definition. I want to zoom out and look at the broader ecosystem (of which the legal definition is one, essential node). A friendlier, more accessible term would make it easier to discuss topics like sustainability, collaboration, and people involved. Those aspects don’t need to be included in the official definition, but they still matter.I still like the term “public software” because it allows more people (including those new to, or unfamiliar with, open source, even if they use or benefit from it) to quickly understand what open source software is and how it should be protected. It doesn’t change the legal definition at all; if anything, it enforces it better, because we would want to define and protect public software exactly as we would any other public resource.

      I remember the term "Public Software" used several years ago from the Lula's initiative to migrate Brasil public software infrastructure to Free Software.

      Now there is, again, and effort to discuss the term, this time from a Anglo-centric perspective. Native English speaking people, particularly in US have the trouble with free as in freedom and as in "gratis", meanings and being immersed in a "market first" mentality, usually they think first in price and markets instead of rights.

      Dmitry Kleiner has addressed the problem of software as a commons and its sustainability with an alternative license (p2p license), that is not as restrictive as the Fair Software one, but it repolitize the capitalist friendly Open Source gentrification of the original Free Software movement, involving also a core concern of sustainability.

      Would be nice to see a dialogue between Nadia's and Dmitry's perspectives and questions about software as a commons.

  30. Dec 2016
    1. Not every committer has the rights to release or make high level decisions, so we can be much more liberal about giving out commit rights. That increases the committer base for code review and bug triage. As a wider range of expertise in the committer pool smaller changes are reviewed and adjusted without the intervention of the more technical contributors, who can spend their time on reviews only they can do.

      Esto es clave. Si se consideran sistemas de integración continua asociados a los distintos repositorios (de código y documentación) con permisos en ellos, se pueden corregir los errores que se presenten, sin restringir grandemente la posibilidad de colaborar.

    1. The rise of agile coincided with the rise of startups using open source projects. At first, startups just incorporated those projects into their own software. But like any cultural exchange, open source began to affect how startups built products, too.
  31. Nov 2016
    1. In short we move all of the new operators to a factory. We group all of the objects of similar lifetime into a single factory

      The image above is worth to study (as the all article)

    1. By the way, if the point about being global is that a Singleton can be included in any file and used anywhere in a program, that’s true, but only bad if misused. The Singleton pattern is not inherently bad, it’s misuse is bad

      Singletons are not inherently bad

    2. If the singleton class is a “utility class” (e.g. FileUtils, StringUtils, etc.), and has no state, then I would say it’s okay. Such a class is not a liar, per se, because there is no unexpected state change or dependency

      Constants are ok

    3. ccp.chargePurchaseToCard(100,c); since the logic for purchasing will be in the processor anyway, not the card. Cards don’t process anything

      Good remark

    1. It would violate it if you stored a reference to context instead of the engine and later on referred tried to get the engine. For example: class Mechanic { Context context; Mechanic(Context context) { this.context = context; } bool CheckEngine() { return this.context.getEngine().checkIfBusted(); } }

      Violation of LoD takes place if you store a context object and then look op the dependency you really need in the method

    2. Every time I have to write a test I have to create a graph of objects (the haystack) which no one really needs or cares for, and into this haystack I have to carefully place the needles (the real object of interests) so that the code under test can go and look for them. I have to create the Context just so when I construct the Mechanic it can reach in the Context and get what it realy needs, the Engine. But context is never something which is easy to create. Since context is a kitchen sink which knows just about everything else, its constructor is usually scary. So most of the time I can’t even instantiate Mechanic, not to mention run any tests on it. The testing game is over before it even started

      Consequence of Law of Demeter breaking

    1. His point seems to be that Constructor Injection can be an anti-pattern if applied too much, particularly if a consumer doesn't need a particular dependency in the majority of cases

      In short it goes like this, so shipper is only used if isValid:

      public OrderProcessor(IOrderValidator validator, IOrderShipper shipper)

      {

      _validator = validator;

      _shipper = shipper;

      }

      ` public SuccessResult Process(Order order)`

      {

      bool isValid = _validator.Validate(order);

      if (isValid)

      {

      _shipper.Ship(order);

      }

      ``

      return CreateStatus(isValid);

      }

    1. The law of leaky abstractions means that whenever somebody comes up with a wizzy new code-generation tool that is supposed to make us all ever-so-efficient, you hear a lot of people saying "learn how to do it manually first, then use the wizzy tool to save time."
    2. A famous example of this is that some SQL servers are dramatically faster if you specify "where a=b and b=c and a=c" than if you only specify "where a=b and b=c" even though the result set is the same. You're not supposed to have to care about the procedure, only the specification. But sometimes the abstraction leaks and causes horrible performance

      Abstraction leaks may exhibit as performance issues

    3. TCP attempts to provide a complete abstraction of an underlying unreliable network, but sometimes, the network leaks through the abstraction and you feel the things that the abstraction can't quite protect you from. This is but one example of what I've dubbed the Law of Leaky Abstractions
  32. Oct 2016
  33. Sep 2016
  34. Aug 2016
  35. Jul 2016
    1. “the free software movement does this.” And again, I have to say: not quite. 

      True. But some of us are saying something slightly different. The free software movement shares some of those principles and those go back to a rather specific idea about personal/individual agency.

    2. Convivial tools should be accessible — free, even.

      Free as in (neoliberal) speech.

    3. The computer programming the child.”

      Stallman often uses a similar idea to condemn proprietary software. Rushkoff proposes a similar alternative. Should we choose the red pill or the blue pill?

  36. May 2016
    1. As such, scrum adopts an empirical approach—accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to deliver quickly, to respond to emerging requirements and to adapt to evolving technologies and changes in market conditions.

      算法开发工作就有这种特点

  37. Apr 2016
    1. the study of innovation shows that everything hinges on the hard work of taking a promising idea and making it work — technically, legally, financially, culturally, ecologically. Constraints are great enablers of innovation.
    2. But there’s a downside to the hackathon hype, and our research on designing workplace projects for innovation and learning reveals why. Innovation is usually a lurching journey of discovery and problem solving. Innovation is an iterative, often slow-moving process that requires patience and discipline. Hackathons, with their feverish pace, lack of parameters and winner-take-all culture, discourage this process. We could find few examples of hackathons that have directly led to market success.
    3. what if projects were designed to combine a hacking mindset with rigorous examination of the data and experience they glean? This would reward smart failures that reveal new insights and equip leaders with the information needed to rescale, pivot or axe their projects.

      Sounds somewhat like agile devlopment.

  38. Feb 2016
    1. In summary, teams which are "fairer", in two senses, tend to be more effective:

      • Those where members speak and contribute in roughly the same proportion (albeit possibly in quite different ways)
      • Those where members have an above-average sensitivity to what others are thinking and feeling
    1. Zoomerang

      zoomerang survey software option

    2. While the display is appealing and easy to read, it is not customizable

      Polldaddy: survey software selection. List of cons.

    3. Polldaddy for iOS was a great option for this type of assessment. The layout and design are optimized for the iPad’s screen, and survey results are loaded offline. Be-cause an Internet connection is not required to administer a survey, the researcher has more flexibility in location of survey administration.

      Polldaddy did not require wireless internet access, making it a more flexible survey-software option

    4. Polldaddy software chosen for second iteration of survey offered at GSU for assessment.

    5. Google Forms

      Chosen survey-taking software for iPad surveys given to users at GSU.

  39. Jan 2016
    1. unlike Adobe DPS, Inkling, or some other would-be competitors…it’s free.

      And unlike Calibre, it’s “free with purchase” and not “free as in speech” or even, really, “free as in beer”.

  40. Dec 2015
    1. if the group should decide to fork Moodle together

      Contrary to Free Software, Open Source has special affordances for forking, even if the forks become commercial.

    2. alliance of Moodle service providers that currently collaborate on Moodle-related projects of mutual interest
    1. Yet there is a growing recognition that provisions must also be made for the data-analysis software that supports the conclusions.

      Provide for software, not just data. Perhaps there is also a platform stability issue to consider.

  41. Nov 2015
    1. The four freedoms don’t limit us as creators — they open possibilities for us as creators and consumers. When you apply them to software, you get Linux, Webkit/Chrome, and WordPress. When you apply them to medicine, you get the Open Genomics Engine, which is accelerating cancer research and bringing us closer to personalized treatment. When you apply them to companies, you get radically geographically distributed, results-based organizations like Automattic. When you apply them to events you get TEDx, Barcamp, and WordCamp. When you apply them to knowledge, you get Wikipedia.
    2. as of December 2013, 21% of websites are powered by WordPress. One-fifth of the web is built with a tool that anyone can use, change, or improve, whenever and however they want (even more when you count other open source projects
    3. B2 was ultimately abandoned by its creator. If I’d been using it under a proprietary license, that would have been the end — for me, and all its other users. But because we had freedoms 2 and 3, Mike Little and I were able to use the software as a foundation
    4. I’ve spent a third of my life building software based on Stallman’s four freedoms, and I’ve been astonished by the results. WordPress wouldn’t be here if it weren’t for those freedoms, and it couldn’t have evolved the way it has. WordPress was based on a program called B2/cafelog that predated it by two years. I was using B2 because it had freedoms 0 and 1
    1. The Free Software Foundation's definition of free software, originally expressed by Richard Stallman. It is free as in free speech, not as in free beer. Software offered for a fee can still be free. A program is free software if the users have four essential freedoms:

      0. Run the program as you wish, for any purpose.<br> 1. Study the source code, and change it as you please.<br> 2. Copy and distribute the original program.<br> 3. Copy and distribute modified versions.

    1. user innovation toolkit - a product malleable enough to let users adapt it to their own needs.

      Trello is a project management tool that provides boards, lists, and cards. The cards represent tasks or items, and move across columns on the board as they progress to a new stage of development. No particular method is prescribed. The individual or team decides how to use Trello, and the method is likely to evolve. Different projects may require different methods.

      Trello has an API to allow automation and customization. After agreeing on how to use the board, different team members might use the API to build interfaces that work best for them.

    1. Without feedback, there are three options: I can believe, without evidence, that I am an awesome programmer.  I can believe, without evidence, that I am a terrible programmer and quit to go do something else.  Or finally, I can believe, without evidence, that I am a terrible programmer somehow successfully pretending to be an awesome programmer.

      This is a thoughtful, eloquent article. My main takeaway is that perfection is delusional, but good teamwork will overcome flaws and help everyone improve continually. All of these points are forms of feedback, or prerequisites to good feedback.

      • treat coworkers with respect
      • clear, open, honest communication
      • 3 code reviews before release
      • style guidelines
      • pair programming
      • unit tests
      • manual testing
      • user experience surveys
      • user experience analytics
  42. Oct 2015
    1. Familiarity with one another’s communication style also helps them respond to each other quickly, and we know from Csikszentmihalyi’s research that immediate feedback is critical to flow.

      Programming specific example: waiting for compile times, etc., is a killer.

    1. It’s free. 

      Free as in “tracked”. Sure, Google signed the privacy pledged and they don’t use data to advertise directly to students. But there are many loopholes. As rms makes very clear, GAfE is the exact opposite of Free Software. It’s “not having to pay for your own enslavement”.

    1. Apache Labs is a place for innovation where committers of the foundation can experiment with new ideas.

      Here's the door into making the ASF tooling better! Got an idea? Submit it! Got some code? Submit that too!!

  43. Sep 2015
  44. Jul 2015
    1. TECHNICAL DEBT: A lot of new code is written very very fast, because that’s what the intersection of the current wave of software development (and the angel investor / venture capital model of funding) in Silicon Valley compels people to do. Funders want companies to scale up, quickly, and become monopolies in their space, if they can, through network effects — a system in which the more people use a platform, the more valuable it is. Software engineers do what they can, as fast as they can. Essentially, there is a lot of equivalent of “duct-tape” in the code, holding things together. If done right, that code will eventually be fixed, commented (explanations written up so the next programmer knows what the heck is up) and ported to systems built for the right scale — before there is a crisis. How often does that get done? I wager that many wait to see if the system comes crashing down, necessitating the fix. By then, you are probably too big to go down for too long, so there’s the temptation for more duct tape. And so on.
  45. May 2015
  46. Feb 2015
  47. Jan 2015
  48. May 2014
  49. Feb 2014
  50. Jan 2014
    1. The project will develop an analysis package in the open-source language R and complement it with a step-by-step hands-on manual to make tools available to a broad, international user community that includes academics, scientists working for governments and non-governmental organizations, and professionals directly engaged in conservation practice and land management. The software package will be made publicly available under http://www.clfs.umd.edu/biology/faganlab/movement/.

      Output of the project:

      • analysis package written in R
      • step-by-step hands-on manual
      • make tools available to a broad, international community
      • software made publicly available

      Question: What software license will be used? The Apache software license is potentially a good choice here because it is a strong open source license supported by a wide range of communities with few obligations or barriers to access/use which supports the goal of a broad international audience.

      Question: Will the data be made available under a license, as well? Maybe a CC license of some sort?

  51. Oct 2013
    1. Three things are required to fully guarantee a repeatable installation using requirements files.

      "Ensuring Repeatability"

  52. Sep 2013
    1. Much as it is not the criminal defense lawyer's place to judge their client regardless of how guilty they are, it is not the doctor's place to force experimental treatment upon a patient regardless of how badly the research is needed, and it is not the priest's place to pass worldly judgement on their flock, it is not the programmer's place to try and decide whether the user is using the software in a "good" way or not.

      Taking this to heart / putting it on my wall.