492 Matching Annotations
  1. Last 7 days
  2. Jun 2020
    1. For example, if error messages in two narrowly defined classes behave in the same way, the classes can be easily combined. But if some messages in a broad class behave differently, every object in the class must be examined before the class can be split. This illustrates the principle that "splits can be lumped more easily than lumps can be split".
    1. Prefactoring is the application of experience to the creation of new software systems. Its relationship to its namesake refactoring is that lessons learned from refactoring are part of that experience.
    1. An Idiom is a low-level pattern specific to a programming language. An idiom describes how to implement particular aspects of components or the relationships between them using the features of the given language.
    2. A Design Pattern provides a scheme for refining the subsystems or components of a software system, or the relationships between them. It describes a commonly recurring structure of communicating components that solves a general design problem within a particular context.
    3. Building blocks are what you use: patterns can tell you how you use them, when, why, and what trade-offs you have to make in doing so.
    4. patterns are considered to be a way of putting building blocks into context
    5. A "pattern" has been defined as: "an idea that has been useful in one practical context and will probably be useful in others"
    1. uses a pre-clone step to seed the project with a recent archive of the repository. This is done for several reasons: It speeds up builds because a 800 MB download only takes seconds, as opposed to a full Git clone.
    1. "You wanted open source privacy-preserving Bluetooth contact tracing code? #DP3T software development kits/calibration apps for iOS and Android, and backend server, now on GitHub. iOS/Android apps with nice interface to follow." Michael Veale on Twitter (see context)

    1. Deadlocks are a classic problem in transactional databases, but they are not dangerous unless they are so frequent that you cannot run certain transactions at all. Normally, you must write your applications so that they are always prepared to re-issue a transaction if it gets rolled back because of a deadlock.
  3. May 2020
    1. The overall software architecture is actioning years of developers experiences through Uncle Bob's Clean Architecture. Thanks to Lerna and Yarn workspaces, GanttLab now comes with the entities, use-cases and gateways packages that are used by the adapter-webapp making up the web application on https://app.ganttlab.com.
    1. This starter takes advantage of Typescript and Emotion. This is a personal choice, and I'd encourage you to give it a shot. If you're interested in using plain ES6 and regular scss styling, see release v1 of this library.
    1. The Journal was a primitive hypertext-based groupware program, which can be seen as a predecessor (if not the direct ancestor) of all contemporary server software that supports collaborative document creation (like wikis). It was used by ARC members to discuss, debate, and refine concepts in the same way that wikis are being used today.
    1. Hey there. We see you’ve been busy reading, which is fantastic, so we’ve promoted you up a trust level! We’re really glad you’re spending time with us and we’d love to know more about you. Take a moment to fill out your profile, or feel free to start a new topic.
    1. Code Owners allows for a version controlled single source of truth file outlining the exact GitLab users or groups that own certain files or paths in a repository.
    1. The folks at Netlify created Netlify CMS to fill a gap in the static site generation pipeline. There were some great proprietary headless CMS options, but no real contenders that were open source and extensible—that could turn into a community-built ecosystem like WordPress or Drupal. For that reason, Netlify CMS is made to be community-driven, and has never been locked to the Netlify platform (despite the name).

      Kind of an unfortunate name...

    1. after nearly 10 years of continuous improvement

      Not necessarily a good or favorable thing. It might actually be preferable to pick a younger software product that doesn't have the baggage of previous architectural decisions to slow them down. Newer projects can benefit from both (1) the mistakes of previously-originated projects and (2) the knowledge of what technologies/paradigms are popular today; they may therefore be more agile and better able to create something that fits with the current state of the art, as opposite to the state of the art from 10 years ago (which, as we all know, was much different: before the popularity of GraphQL, React, headless CMS, for example).

      Older projects may have more technical debt and have more legacy technologies/paradigms/integrations/decisions that they now have the burden of supporting.

    2. open source

      So open-source that there is no link to the source code and a web search for this product did not reveal where the source code is hosted.

      They're obviously using this term merely as a marketing term without respect for the actual meaning/principles of open source.

    1. Traditional CMSes are "coupled", which means that the CMS also takes care of the presentation layer responsible for delivering the content to the clients. The content and the presentation are closely interlinked. Typically, content managers create and manage their content through tools like WYSIWYG editors. The CMS then delivers the content according to the front-end delivery layer built into the CMS. Typically, a traditional CMS supports your websites but not much else.
    1. Most traditional (monolithic) CMS systems are “coupled”, meaning that the content management application (CMA) and the content delivery application (CDA) come together in a single application, making back-end user tools, content editing and taxonomy, website design, and templates inseparable. Coupled systems are useful for blogs and basic websites as everything can be managed in one place. But this means that the CMS code is tightly connected to any custom code and templates, which means developers have to spend more time on installations, customizations, upgrades, hotfixes, etc. and they cannot easily move their code to another CMS.
    1. RAND terms exclude intangible goods which the producer may decide to distribute at no cost and where third parties may make further copies. Take for example a software package that is distributed at no cost and to which the developer wants to add support for a video format which requires a patent licence. If there is a licence which requires a tiny per-copy fee, the software project will not be able to avail of the licence. The licence may be called "(F)RAND", but the modalities discriminate against a whole category of intangible goods such as free software[11] and freeware.[12]
    2. The Free Software Foundation suggests the term "uniform fee only" (UFO) to reflect that such "(F)RAND" licenses are inherently discriminatory.
    1. The other pressing issue is that users have lost the right to run private extensions in the release version of Firefox, without needing to hand over their source code to Mozilla.
    2. What I don't like is how they've killed so many useful extensions without any sane method of overriding their decisions.
    3. I know, you don't trust Mozilla but do you also not trust the developer? I absolutely do! That is the whole point of this discussion. Mozilla doesn't trust S3.Translator or jeremiahlee but I do. They blocked page-translator for pedantic reasons. Which is why I want the option to override their decision to specifically install few extensions that I'm okay with.
    4. honestly it looks a lot more like typical tech company anti-freedomism
    5. What's terrible and dangerous is a faceless organization deciding to arbitrarily and silently control what I can and can not do with my browser on my computer. Orwell is screaming in his grave right now. This is no different than Mozilla deciding I don't get to visit Tulsi Gabbard's webpage because they don't like her politics, or I don't get to order car parts off amazon because they don't like hyundai, or I don't get to download mods for minecraft, or talk to certain people on facebook.
    6. They don't have to host the extension on their website, but it's absolutely and utterly unacceptable for them to interfere with me choosing to come to github and install it.
    7. It's no less beyond the pale than when apple actively sabotaged people's devices to force them to upgrade or amazon deleted people's already bought and downloaded ebooks. It's completely unacceptable and frankly should fall under consumer rights laws.
    1. estadísticas

      Es absurdo que un organismo público sólo publique estos datos "abiertos" en formato de imagen (sí, "imagen" de una tabla) o PDF. Ignorancia o mala intención? Acá publico la data cruda extraída con el excelente software libre Tabula, el 05/may/20.

  4. Apr 2020
    1. Becouse of CanCan, StateMachine and others I deside to create OpenSource organization to maintain gems. People disappear, lose their passion about coding, get new interests, families, children. But if us many we can support gems much longer. I dont pretend to be an expierenced ruby developer, but I can do administarative work: managing teams, members, approve simple pool-requests. If you think it good idea and want to support some inactive gems, not life time, maybe just a little - welcome to organization.
    2. There's actually discussion among the rubygems team about a process for putting gems "up for adoption" that you might be interested in: http://www.benjaminfleischer.com/2014/08/17/rubygems-adoption-center/
    1. Top 7 Software Development Technologies in 2020

      In this article, we will be talking about the best developer technologies which are constantly ruling the market. Let me take to all of them one by one.

    1. Isomorphism itself is not purely a JavaScript thing. You can also build an isomorphic application in Dart or even use two different languages/stacks to render the same result. In fact there are many “isomorphic” applications which render a full HTML document on the server using PHP, Java or Ruby and use JavaScript and AJAX to create a rich user experience in the browser. This was the way things were done before the rise of Single Page Applications. The only real reason isomorphism is tied to JavaScript is because it’s the only language widely supported in the browser, and so at least part of the whole thing will use JavaScript. There’s no such thing as Isomorphic JavaScript, only isomorphic applications.
    1. Our hope is that once a formal specification for these extensions is settled, this patchset can be used as a base to upstream the changes in the original project.

      What does "can be used as a base to upstream the changes in the original project" mean here?

    1. This repository contains the parts of the RubyMotion product that are opensource. It does not contain the full product, which can be purchased at www.rubymotion.com.
    1. Will Fithian en Twitter: “The authors said by email that they used a built-in Stata function and aren’t sure themselves how the software used the input weights. I suspect they misapplied that function (too complicated to tweet why) but I don’t know Stata well enough to be sure; it seems neither do they.” / Twitter. (n.d.). Twitter. Retrieved April 27, 2020, from https://twitter.com/wfithian/status/1252692362037362693

    1. Although we don’t anticipate publishing source code for manipulating 1Password keychains, others, unaffiliated with AgileBits, have done so.

      May not technically be an open file format, but meets some of the criteria for one:

      • [?] The format is based on an underlying open standard
      • [⍻] The format is developed through a publicly visible, community driven process
      • [⍻] The format is affirmed and maintained by a vendor-independent standards organization
      • [✓] The format is fully documented and publicly available
  5. community.snowsoftware.com community.snowsoftware.com
    1. a more intuitive modern community that will be better synced with our Knowledge Base and other support materials
    1. 1Password wasn’t built in a vacuum. It was developed on top of open standards that anyone with the right skills can investigate, implement, and improve. Open tools are trusted, proven, and constantly getting better. Here’s how 1Password respects the principles behind the open tools on which it relies:

      I found it ironic that this proprietary software that I have avoided using because it is proprietary software is touting the importance of open tools.

    1. Changing things doesn't necessarily imply improving them and it's improvement we should strive for, otherwise change is pointless.

      I'd even go further and argue why change things at all in first place ? And that's why Open Source Software is better in this debate too. Don't change your software just for the sake of change.

    1. In the early 1990s, the creators of Netscape apparently built a function that enabled each web page to be annotated by those visiting it, as a way for viewers to discuss the page’s content. But according to a [1] produced in 2013 by a nonprofit called [Hypothesis][2], the feature was turned off.
    1. The result, all too often, is that we decide (often unconsciously) that the sweeping change just isn't worth it, and leave the undesirable pattern untouched for future versions of ourselves and others to grumble about, while the pattern grows more and more endemic to the code base.
    2. Part of why most code -- and most software -- sucks so much is that making sweeping changes is hard.
    1. So what will happen with these projects from now on? All of the projects above have one thing in common: they were created and maintained by passionate individuals who wanted to make positive contributions to their communities. Without these individuals and their efforts, these projects would not have become what they are today. Therefore, it is only fair that Plataformatec gives these individuals control of these projects moving forward.
    1. Ainsi, par le recours aux outils informatiques, la pratique architecturale se voit coupée en deux (opérant par là le renversement d’un paradigme accepté par la discipline depuis Alberti) : une partie hard dont l’architecture est responsable, et une partie soft rendue aux habitants

      dualité du régime de vie du projet architectural: la partie hard, la structure, celle dessinée par les architectes, et la partie soft – dynamique, imprévisible, dont s’empare les citoyens.

  6. Mar 2020
    1. La libertad de ejecutar el programa como se desee, con cualquier propósito (libertad 0). La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que usted quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello. La libertad de redistribuir copias para ayudar a otros (libertad 2). La libertad de distribuir copias de sus versiones modificadas a terceros (libertad 3). Esto le permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones. El acceso al código fuente es una condición necesaria para ello.

      Estas son las libertades del Software Libre.

    1. Piwik PRO uses a fork of Piwik open-source software (similarly to RedHat using the Linux kernel and multiple open source tools), however we currently seamlessly integrate a part of open source Piwik in our proprietary platform via APIs. Moreover, Piwik PRO controls all the changes to the code used in its Analytics Suite and since 2016 has been maintaining and developing its own fork of “Piwik” alongside the proprietary modules of Analytics Suite.
    1. We are independently developing each of our products and don’t require permission from any other organization to improve them or create new functionalities.