GithubHelp home page GithubHelp logo

lacs-ufpa / free-mtrix Goto Github PK

View Code? Open in Web Editor NEW
2.0 5.0 3.0 19.23 MB

Free cultural selection and social behavior experiments

License: GNU General Public License v3.0

Pascal 95.06% Python 4.94%
behavior-analysis social-behavior

free-mtrix's Introduction

DOI

/*
Free-mtrix - Free cultural selection and social behavior experiments.
Copyright (C) 2016-2021 Carlos Rafael Fernandes Picanço.
Copyright (C) 2016-2020 Thais Maria Monteiro Guimarães.
Copyright (C) 2016-2019 Universidade Federal do Pará.

The present file is distributed under the terms of the GNU General Public License (GPL v3.0).

You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
*/

Free-mtrix

Abstract

Free-mtrix is a set of free softwares (GPL3) for experimentally studying metacontingencies and laboratory micro-cultures. It was designed to be intuitive for researchers from the field of behavioral analysis, but the software may also be useful for behavioral sociologists. One can design and present choice-based tasks similar to the ones reported by Wiggins (1969), Vichi (2004) and Vichi, Andery & Glenn (2009). Participants can choose elements in a matrix (e.g., a row) and the researcher can determine how individual and social consequences will be presented (e.g., custom messages, points and reasoning questions) along different conditions in experiments.

References

Vichi, C. (2004). Igualdade ou desigualdade em pequeno grupo: Um análogo experimental de manipulação de uma prática cultural. Dissertação de Mestrado. São Paulo: Pontifícia Universidade Católica de São Paulo.

Vichi, C., Andery, M. A. P. A., & Glenn, S. S. (2009). A metacontingency experiment: the effects of contingent consequences on patterns of interlocking contingencies reinforcement. Behavioral and Social Issues, 18, 41-57. doi: 10.5210/bsi.v18i1.2292

Wiggins, J. A. (1969). Status differentiation, external consequences and alternative reward distributions. Em R. L Burgess e D. Bussell Jr., Behavioral Sociology (pp. 109-126). New York: Columbia University Press.

How to install and setup the software?

Please, check the INSTALL directory.

Works that cited Free-mtrix

Guimarães, T. M. M., Picanço, C. R., & Tourinho, E. Z. (2019). Effects of negative punishment on culturants in a situation of concurrence between operant contingencies and metacontingencies. Perspectives on Behavior Science. https://doi.org/10.1007/s40614-019-00224-z

Ribeiro, D. C. M., Guimarães, T. M. M., Picanço, C. R., Caralho Neto, M. B. & Tourinho, E. Z. (2021). Effects of an Analogue of Negative Reinforcement on the Selection of Culturants. Psicologia: Teoria e Pesquisa. https://doi.org/10.1590/0102.3772e3728

free-mtrix's People

Contributors

cpicanco avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

free-mtrix's Issues

A seleção do campo "Extinção" não permanece

A seleção do campo "Extinção" no "Estilo de Resposta" da metacontingência não permanece ao sair e retornar da aba de "Contingências", sendo modificado para outro Estilo de Resposta que já havia sido delineado, apesar de continuar com o mesmo nome dado à metacontingência. Verificar se isso se aplica no campo "Extinção" da contingência.

Programação de efeitos cumulativos

Prezado @cpicanco, verificamos que as contingências operantes programadas está funcionando bem, mas faltam os efeitos cumulativos (reservas de itens e de fichas). Na condição A deve constar a quantidade de fichas disponíveis na reserva, na B a quantidade de itens disponíveis na reserva, e na C haver as duas. É possível mudar isso apenas modificando o arquivo de texto?

Obrigado!

Sugestões do Prof. Emmanuel Z. Tourinho

  • "Em vez de falar de pontos de tipo A e B, talvez seja melhor falar de fichas azuis (para respostas impulsivas) e vermelhas (para respostas autocontroladas). Isso pode aparecer assim nos contadores. Nesse caso, a pergunta deve ser: Vocês perderam um item escolar nesta rodada. Vocês gostariam de recuperar esse item escolar, em troca de X fichas azuis?"

  • "Como no caso das fichas (e não pontos), é importante que o contador especifique que se trata de itens escolares para doação. Observe que é necessário modificar a interface dos participantes, para que visualizem o Total de Fichas Azuis, o Total de Fichas Vermelhas e o Total de Itens Escolares para Doação."

(Tourinho, comunicação pessoal, fevereiro 05, 2017)

Free-Mtrix e macrocontingência

Boa tarde Rafael, estou com algumas dúvidas relativas ao programa.
1- Baixei o GitHub e o Lazarus. Clonei a pasta Free Mtrix do site para o GitHub Desktop. Consegui abrir o Design no Lazarus, mas não sei editar. Consegui abrir o Runner, mas não tem programação, então não roda nada, apesar de abrir.

2- Tentei também o arquivo Designer (persistence.txt), sendo que neste consigo programar contingências e metacontingencias, mas ao abrir o Runner, continua igual ao descrito no ponto 1.

3- Ainda que consiga programar e rodar no Runner, resta a dúvida sobre como editar o programa para que seja possível programar contingências não entrelaçadas. No caso seriam apenas escolhas de linhas pares ou ímpares e variações em reservas de itens. A ideia era ficar com esta interface:

image

Nesse caso preciso alterar para que fique com 8 linhas e alterar os contadores.

Então os participantes escolhem simultaneamente e de forma independente. Não há contingências entrelaçadas programadas. Na condição A, por exemplo, linhas ímpares produzem 3 fichas para o indivíduo (acrescenta no contador individual), e uma subtração de 3 fichas da reserva de fichas (subtrai do contador "reserva de fichas"). Na condição B é semelhante, mas na C a diferença é de que as escolhas entre pares e ímpares subtraem nas duas reservas simultaneamente.

Até logo,
obrigado!!

CONTABILIZAÇÃO DE ITENS ESCOLARES AO FINAL DO EXPERIMENTO.

Olá Rafael, hoje num dos últimos testes do softaware, vimos que a mensagem ao final do experimento que é apresentada aos participantes está contabilizando apenas 1 combinação de cores (VERDE + AMARELO + AZUL) dentre as 6 combinações programadas. Como você pode ver na imagens em anexo os participantes hipoteticamente haviam produzido 42 itens ao total, porém o software só reconhece 10 itens. Há algum reparo nessa configuração que seja possível? Ou segue a mesma lógica de a capacidade atual do software, que é de contabilizar apenas 1 das 6 combinações programadas?

culturantes

experimento final

Ciclos sem ordem

@cpicanco os ciclos nesse experimento precisam ter uma configuração diferenciada, sem ordem predefinida ou mesmo aleatória.

O ideal aqui seria que que cada um dos participantes pudessem fazer escolhas ao mesmo tempo e o ciclo seja computado quando todos tiverem feito suas escolhas.

Isso é necessário especialmente devido à condição B na qual a velocidade do entrelaçamento tem relação direta com a manutenção ou não dos itens.

Mudança de geração

A contagem dos ciclos para a mudança de geração estava de acordo com a quantidade de ciclos finalizados na condição, porém a mudança de geração deve ser fixa e ocorrer independente da condição, é contingente à quantidade do total de ciclos que foram finalizados no experimento e não na condição. Por exemplo, se está programado que a cada 10 ciclos deve mudar de geração, caso a condição 1 finalize com 5 ciclos, após 5 ciclos da condição 2 deve mudar de geração. Isso não é zerado quando muda de condição.

Alteração do texto na interface do software

Boa tarde @cpicanco , gostaria de alterar as informações na interface do software, para ter ao menos um esboço de como ficaria o programa. Na figura abaixo, retirada do trabalho do Tide, gostaria de modificar as informações dos quadros, onde está "Fichas", "Itens escolares..." e lá em baixo "Escolhas na última jogada". Como faço isso? Obrigado!!

interface

Rodar o programa em computadores diferentes

Precisamos de informações sobre como configurar a rede para rodar os experimentos em computadores diferentes. Caso seja muito trabalhoso descrever o processo por aqui, podemos marcar uma reunião.

Segundo participante não é ativado

Ao executar um experimento teste, não há a solicitação para o pesquisador ativar o segundo participante e aparece a mensagem que o programa não estar respondendo no computador desse participante. Apenas o primeiro e o terceiro participantes é que são ativados, porém a tarefa não é liberada para ser iniciada.

Configuração de culturantes com combinações de cores específicas

Na versão do programa que estou utilizando (o da Thais), com relação às cores, os culturantes possíveis são "core iguais" ou "cores diferentes".

No meu caso, e do Tide, um culturante precisaria ser especificado na combinação verde+amarelo+qualquer outra cor, e outro culturante na azul+vermelho+qualquer outra cor.

Condição de análogo de reforçamento negativo

Olá Rafael. Para a condição de reforçamento negativo (B) do meu experimento, será preciso fazer algumas alterações logo no início da condição.

➤ A mensagem "A partir de agora os itens escolares serão subtraídos” deve aparecer logo no início das condições B.

➤ Também a partir do começo da condição B, deverá ocorrer a subtração de um item escolar a cada 30 segundos, não sinalizados aos participantes, independente de qualquer resposta dos participantes.

➤ Alteração de cor do contador de itens escolares de preto para laranja durante a subtração de itens na condição B.

Effects of Negative Reinforcement on Culturants Selection.txt

ZERAR O CONTADOR AO FINAL DE CADA CONDIÇÃO

@cpicanco

ontem rodei minha primeira microcultura e, na condição em que havia variação apenas do atraso (dias em que os item serão doados), o grupo manteve o padrão da condição anterior. Ou seja, os dois grupos de culturantes produzia a mesma quantidade de itens, só que um imediato e outro atrasado. A hipótese é de que nesta condição, eles produziriam o mais imediato. Porém, mesmo eles tendo percebido a diferença apenas do atraso, eles se mantiveram no culturante que havia sido selcionado na condição anterior com o objetivo de "voltar a produzir mais itens mais imediatos".

Eles fizeram isso, porque o contador acumulou os itens da condição anterior (em que variava apenas a quantidade de itens) e acharam que se eles se mantivessem no mesmo culturante o atraso ia voltar para mais imediato com mais itens.

Creio que se zerar o contador de culturantes ao final de cada ciclo, ajude a controlar isso. Sendo deve zerar apenas pra eles, mas deve continuar a soma de todos os itens produzidos ao final do experimento.

Ainda vou rodar mais uma microcultura do jeito que está, só pra garantir.

Se for possível fazer alteração apenas no runner, não tem problema, basta me dizer qual o comando colocar no arquivo de texto.

Fico à disposição para esclarecimentos.

Randomização Participantes.

Rafael, em um dos testes no software, percebemos que o mesmo não estava randomizando a ordem dos participantes escolherem as linhas da matriz. Há algum tutorial de como configurar a randomização de escolhas dos participantes durante os ciclos?

MENSAGEM DUPLICADA EM COMBINAÇÃO DE CORES REPETIDAS

Caro Rafael,

Fizemos as configurações de software de acordo com as especificidades do nossos experimentos. Como foi solicitado pelo professor Emmanuel, tivemos que configurar todas as combinações de cores possíveis, as que não fazem parte dos grupos de impulsivos e autocontrolados, para que pudéssemos atribuir a mensagem “VOCÊS NÃO PRODUZIRAM ITEM ESCOLAR”.

A mensagem apareceu corretamente para todas as combinações que não produzem consequências culturais, contudo, nas combinações de 3 cores iguais (e.g., AMARELO + AMARELO + AMARELO) a mensagem aparece duplicada na caixa de texto (cf. figura abaixo). Isso não acontece nas outras combinações.

coresrepetidas

Tentamos ainda configurar no designer a opção “cores iguais” e atribuir à essa configuração a mensagem sinalizando a não produção de itens escolares. Ainda assim, a mensagem duplicada permanece.

Nossa hipótese é a seguinte. Inicialmente o programa foi desenvolvido para reconhecer duas cores específicas + qualquer outra cor. Ou seja, das 3 cores, ele reconhecia as duas programadas e dava a referida consequência. Por isso, achamos que o programa está reconhecendo duas vezes os coloridos. Por exemplo, imagine a combinação citada acima, cada uma com um lugar na ordem: primeiro amarelo, segundo amarelo, e terceiro amarelo. Pode ser que o programa reconheça o primeiro e segundo amarelos como uma combinação, e também reconheça o segundo e terceiro amarelos como outra combinação. Por isso a duplicação da mensagem.

Não sabemos se isso acontece pelo que hipotetizamos, ou por outro motivo, nem sabemos se essa mensagem duplicada pode ter algum efeito sobre a seleção dos Culturantes, mas não queremos arriscar, haja vista o histórico de enviesamento dos estudo por conta dos participantes voltando sua atenção para detalhes diferentes do procedimento, como no caso dos círculos vazados e preenchidos e colunas na matriz antiga

Relatório dos dados

Se possível, ter data e horário da conclusão do experimento, uma vez que pode ser executado em duas sessões.

Aumentar tamanho das figuras

Como foi sugerido por alguns professores (Emmanuel e Aécio), gostaríamos que a distribuição das figuras (matriz e contadores) preencham o maio espaço possível na tela, afim de favorecer o controle de estímulos. Segue figura como sugestão.
slide1

Mudança de condição

Prezado @cpicanco , testando a versão mais recente notamos que o critério de mudança de condição "quantidade na reserva" (máximo de 306 e mínimo de 0) não funcionou, havendo apenas o critério "finalização de ciclos" (100).

Interface do pesquisador

  • Os contadores para as pontuações individuais não estão sincronizados, apresentando quantidades diferentes do que realmente os participantes produziram. Isso aconteceu com o contador de ciclos, em um dos testes, porém o contador ao invés de ter quantidade diferente, travou.
  • A atualização do Campo do nome da condição está atrasada, só muda após finalizar a condição e mantém a mesmo nome durante a próxima condição. Por ex., durante a Condição 2 aparece o nome da Condição 1, durante a Condição 3 aparece o nome da Condição 2.
  • A contagem dos ciclos também está atrasada, ocorre somente quando finaliza o ciclo. Melhor seria ao iniciar o ciclo, quando o primeiro participante fosse solicitado a escolher a linha. Se possível, ter também um contador de ciclos com o total de ciclos durante o experimento, não somente contabilizar por condição. Bem como, a inserção de um campo com a porcentagem alcançada do critério de mudança durante a condição em vigor.

EDIT: 6c4a3ef

  • Ao clicar no comando "Pausar" durante o experimento, apareceu uma janela com a mensagem “Não implementado. ”.
  • No campo das informações dos participantes ficou preto, depois vai saindo por partes e aparecendo o conteúdo. Algo parecido aconteceu quando a mensagem para esperar alguém ocupar o lugar não saiu da tela do P2 quando P1 saiu, ficando até o fim (ver Anexo).
    tela do partcipante-issue 8

Remoção de itens escolares

Prezado @cpicanco, testamos o software e verificamos que está aparecendo a mensagem de que foram removidos itens escolares, e permanece o contador ao lado dos itens escolares (como no do Damom). Neste não há contador, e não há remoção de itens escolares da forma como está ocorrendo.

Obrigado

Adicionar sons (bipes)

Adicionar sinais sonoros (bips) como reforçador condicionado tanto a resposta operante correta quanto culturante a cada ciclo. (EM LONGO PRAZO)

O comando "Salvar como" não está intuitivo

Dois planejamentos de experimentos (Estudo 1 e Estudo 2) foram salvos através do campo "Salvar como", porém, depois do procedimento de salvar, ao solicitar a abertura do planejamento do Estudo 1, através do campo "Abrir", foram apresentadas as mesmas nomeações e configurações do Estudo 2 (que estava aberto), como se não tivesse salvado o planejamento do experimento do Estudo 1.

Programa travando na condição B

Prezado @cpicanco , testei a versão mais recente e funcionou normalmente na maior parte do tempo. Algumas vezes travou durante a condição B, mas ao reiniciar funcionou normalmente.

Obrigado

Configuração de atraso nos contadores de Consequências culturais:

Como foi discutido antes, precisamos configurar o atraso para cada culturante, ou seja, cada culturante pode ter variação de atraso e essa variação deve poder ser modificada a depender da condição experimental (e.g. condição A: atraso de 10 dias para consequência do culturante autocontrolado; e condição B atraso de 20 dias para consequência do culturante autocontrolado).

Produção de consequências culturais em combinações de cores não programadas.

Rafael, fizemos mais testes nos software e encontramos mais alguns problemas. Tentamos esgotar todas os possíveis erros decorrentes de configurações no designer ou no arquivo de texto. Ainda assim, algumas falhas na hora de rodar o programa.

Em nossos experimento, os Culturantes impulsivos serão compostos pelas combinações: VERDE + AMARELO + VERMELHO; VERDE + AMARELO + AZUL; ou VERDE + AMARELO + ROXO; e os Culturantes autocontrolados são AZUL + VERMELHO + VERDE; AZUL + VERMELHO + AMARELO; ou AZUL + VERMELHO + ROXO.

O Culturante impulsivo deve produzir, por exemplo: 1 item pra ser doado em 1 dia após o experimento. Enquanto que o autocontrolado deve produzir, por exemplo: 4 itens pra serem doados a partir de 30 dias. Tudo a depender da configuração.

Quando programados os 3 impulsivos e os 3 autocontrolados, eles produzem a quantidade correta de itens nos seus respectivos atrasos programados. Porém, combinações de cores não programadas também estão produzindo consequências e adicionando nos dois contadores ao mesmo tempo. Por exemplo, na combinação Vermelho + Vermelho + Verde, combinação para a qual nada está programado, hora ele produz uma consequência impulsiva, outra hora produz uma autocontrolada, sendo ambas adicionadas aos dois contadores. Segue a imagem abaixo como exemplo. Isso acontece em outras combinações não programadas (e.g., VERMELHO + VERMELHO + VERDE).

bug-freemtrix

Acreditamos que esteja ocorrendo algum problema no runner ou designer, pois quando ocorresse alguma escolha de cores não programada (e.g. roxo + roxo + amarelo), nada deveria ocorrer. Ou seja, o próximo ciclo iniciaria sem que nenhuma consequência cultural aparecesse nos contadores.

Nos colocamos à disposição para eventuais necessidades para mais informações.

Experimento do Damon

Quanto ao timer que deverá está presente nas condições B.

➤ Aparecimento do timer quando houver ocorrência do cult 2, causando a suspensão da subtração de itens nas condições B

➤ Regressão do tempo marcado pelo timer de 30 até 0.

➤ Desaparecimento do timer após 30 segundos, caso não ocorra o Cult 2 novamente.

➤ Quando o timer desaparecer, volta-se a perder os itens como no começo da condição B.

➤ O timer deve ser resetado para 30 segundos sempre que ocorrer o cult 2.

Segue prévia de como planejamos a interface no projeto:
interface 4 0

Contador zerado para itens a serem doados.

Prezado @cpicanco , este arquivo que enviou agora está correto, obrigado.

Esta imagem é do final do experimento, e consta 0 itens escolares a serem doados, apesar de ter restado 180 na reserva de itens, como mostra a imagem abaixo.

image

image

Encerramento do experimento

Prezado @cpicanco , a versão mais recente encerra o experimento apenas com a mensagem de que "o experimento terminou", e permanece na tela com a matriz. Na versão anterior aparecia o número de fichas produzidas e de itens (no caso zerado, como o problema anteriormente relatado).

Obrigado

ATRIBUIÇÃO DE CRITÉRIO DE MUDANÇA DE CONDIÇÃO AOS 2 GRUPOS DE CULTURANTES

Rafael,

Encontramos mais um contratempo que foi devido a falta de clareza de nossa parte em relação às especificidades de nosso delineamento.

O que acontece é que a contabilização dos acertos e, consequentemente, cálculo da probabilidade pelo software está sob função de apenas um dos 6 entrelaçamentos programados. No caso, apenas na combinação VERDE + AMARELO + AZUL é que o critério está sendo calculado. (ver figura)

criterio

Na figura é possível ver que houveram 4 entrelaçamentos, sendo que esses 4 foram nas combinações dos culturantes impulsivos. O primeiro entrelaçamento composto por VERDE + AMARELO + ROXO, o segundo entrelaçamento composto por VERDE + AMARELO + ROXO, o tericeio entrelaçamento composto por VERDE + AMARELO + VERMELHO, e o quarto entrelaçamento composto por VERDE + AMARELO + AZUL. Constatamos que apenas este último foi contabilizado pelo software como culturante-alvo.

Em relação aos culturantes autocontrolados (AZUL + VERMELHO + VERDE; AZUL + VERMELHO + AMARELO; ou AZUL + VERMELHO + ROXO), nenhum deles foi contabilizado pelo software para o cálculo de critério de mudança de condição. Em outro teste, fizemos apenas combinações dos culturantes autocontrolados e a porcentagem permaneceu 0% (zero porcento).

Só agora percebemos que o critério deve ser atribuído semparadamente aos dois grupos de culturantes. De modo que devem ser contabilizados todos os culturantes impulsivos e todos os autocontrolados separadamente e divido o valor dessa soma pela quantidade de ciclos.

Por exemplo, numa condição com 100 ciclos, caso ocorram 20 combinações VERDE + AMARELO + ROXO e 20 combinações VERDE + AMARELO + VERMELHO, e também 20 combinações AZUL + VERMELHO + ROXO e 20 combinações AZUL + VERMELHO + VERDE o cálculo deve ser feito somando os impulsivos (40 ocorrências de culturantes impulsivos) divido pela quantidade de ciclhos, o que daria 40/100=40% de impulsivos; e o mesmo com os autocontrolados, o que daria também 40% de autocontrolados.

Acho que o programa foi feito pensando em APENAS UM culturante-alvo, por isso tivemos esse problema. Mas precisamos que o critério seja atrbuído para OS 2 GRUPOS DE CULTURANTES, os 3 impulsivos e os 3 autocontrolados, separadamente.

No mais, continuamos à disposição para maiores esclarecimentos.

Ordem das escolhas

Prezado @cpicanco, verificamos também que as escolhas estão ocorrendo sequencialmente, e elas podem ocorrer de forma simultânea, sem ordem definida.

Obrigado!

Tamanho das mensagens

Assim como o tamanho maior das figuras pode favorecer o controle de estímulos, a mesma lógica se aplica às mensagens de produção de consequências individuais e culturais. Por isso, gostaríamos que as mensagens também apareçam maiores. Seguem figuras como sugestão.

slide2
slide3

Tempo de apresentação da mensagem da Consequência Cultural:

As mensagens das consequências culturais aparecem por 3s, mesmo tempo da mensagem das consequências individuais. Porém, como a quantidade de texto da mensagem da Consequência Cultural é maior (e.g., Vocês produziram 10 ITENS escolares que serão doados DAQUI A 10 DIAS a uma creche pública de Belém.), seria ideal ela ficar exposta durante 5 segundos.
(PRIORIDADE MODERADA)

Utilização novo RUNNER

O novo runner não abre e aparecia a seguinte mensagem: "O programa não pode ser iniciado porque está faltando VCRUNTIME140.dll no seu computador. Tente reinstalá-lo para resolver esse problema." Ao fechar a mensagem, aparece outra dizendo "O programa não pode ser iniciado porque está faltando MSVCP140.dll no seu computador. Tente reinstalá-lo para resolver o problema." Eu baixei esses arquivos e colei na mesma pasta do Runner. Além disso, instalei o pacote pacote 2017 C++ redistribuível atualizado e compatível com o sistema do PC (https://support.microsoft.com/pt-br/help/2977003/the-latest-supported-visual-c-downloads) e reiniciei o computador. Porém, ao tentar abrir o programa, aparece a mensagem "O aplicativo não pôde ser inicializado corretamente (0xc000007b). Clique em OK para fechar o aplicativo."

Queria saber se o experimento feito no novo runner pode ter bugs devido ser rodado no runner antigo (o da Thais)?

Alterações nas mensagens

@cpicanco gostaria de modificar as mensagens que aparecem durante a condição B do meu experimento:

  • "A partir de agora os itens escolares serão subtraídos" para "A partir de agora os itens escolares poderão ser subtraídos"

  • "Um item escolar foi removido" para "um item escolar foi subtraído"

Se for possível, modificar também a cor das caixas de diálogo para uma cor mais clara, branco ou próximo disso.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.