19 Matching Annotations
  1. May 2020
  2. Apr 2020
  3. Mar 2020
    1. The pattern below has become exceptionally useful for me (pun intended). It's clean, can be easily modularized, and the errors are expressive. Within my class I define new errors that inherit from StandardError, and I raise them with messages (for example, the object associated with the error).
  4. Feb 2020
    1. Devstringx Technologies opened for business in 2014. Today, Devstringx is India’s most recommended IT company for software product development, mobile app development and independent software testing services which headquarter in Noida, India.

      Website and software development square measure the basics part of running a profitable business. In current promoting, the necessity of custom software is rise day by day. Devstringx technologies one in all the most effective custom software development company in Noida, India. Custom software may be used with none long-time investment. They are doing not need constant development to suit company necessities. You'll be able to expend the software at any time. There square measure multiple advantages of custom advantages development like- efficient, measurability, flexible, compatible, customized answer, security.

      Our experienced, energetic and dedicated team of custom software developers and that we provide complete it software services with budget suited to your pockets. Our consultants recognize alright the key parameter of your business and deliver the proper results on time. We provide additional complete software testing services like functional testing services, performance testing services, Api testing services, usability testing services, content testing services, agile testing services, regression testing services, compatibility testing services, automation testing services, web application testing services in India.

      We've a separate team for every field like software developers, software tester, web developer...! Our team invariably able to work and that they commit the leads to future commitment towards your company. We give higher priority to our client's satisfaction. We specialized in providing the most effective automation testing services in Noida, India.

  5. Dec 2019
    1. There are thousands of to-do list apps out there, in part because no system works perfectly for everyone. I’m not going to say todo.txt is the exception, and that it will work for everyone, because that would be crazy. But todo.txt is the most flexible tool I’ve come across. In part, this is because of the sheer number of clients available, but also because the simplicity lends itself to improvisation.

      First time I've seen improvisation used like this.

  6. Nov 2019
    1. Middleware works a lot like a decorator. It doesn't alter the original API of the service, but it can augment it with new features and concerns. This has the inherent advantage of allowing all thidparty code to have an influence over the behaviour, state, and UI of a component.
    1. AdNauseam is a work in progress, with new features continually being added, tuned, and, sometimes, deprecated. If a setting no longer appears in the settings page, we have likely found a better means of implementing the design goal.
  7. Mar 2019
    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

  8. Feb 2019
  9. Jan 2019
    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.

  10. 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. 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

    2. 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

    3. 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. 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.)