Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Thiago Avelino

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

Realizando sonho de trabalhar full time com Open Source

15 de Junho de 2018, 22:13, por Stories by Avelino on Medium - 0sem comentários ainda

É extremamente comum ver amigos que começam a contribuir com open source quererem arrumar um “emprego” para passar o dia contribuindo com o projeto (em geral, deixando o Github verdinho…). Será que é realmente legal, como muitos imaginam, trabalhar para uma empresa para contribuir com open source?

Costumo dizer que contribuir com open source é viciante, faz você passar horas e horas entendendo o projeto que alguém (ou alguma empresa) idealizou, até que chega o momento de mandar o primeiro PR (pull request, patch e etc) e defender sua implementação. Vem a aí o primeiro skill que o desenvolvedor (você) precisa evoluir (caso ainda não tenha). Sim estou falando de venda. Não venda de produto e sim da sua ideia (aprender a se comunicar via texto - em geral em inglês) Está ai outro problema, pois texto não passa sentimento. Hoje acho bom, principalmente pensando em uma contribuição, pensar na evolução do software e não levar só o que acreditamos para dentro do software (se você mantém um software open source, esteja aberto às novas ideias/necessidades).

Em um primeiro momento sim, mas como qualquer sonho nem tudo é previsível (principalmente quando você nunca ocupou essa posição antes). A ideia de escrever esse blogpost é expor um cenário que provavelmente você não analisou. Quando estamos apaixonados achamos que o caminho a percorrer é composto de flores.

Continue lendo em avelino.xxx.



Why is the name of the language, "Clojure"?

21 de Maio de 2018, 13:50, por Stories by Avelino on Medium - 0sem comentários ainda

Many who did not seek the “history” thinks:

Did you pick the name based on starting with the word "closure" and replacing the "s" with "j" for Java? It seems pretty likely, but it would be nice to have that confirmed.

Continue reading at avelino.xxx.



The 5am club? Just crazy to do it

19 de Maio de 2018, 16:06, por Stories by Avelino on Medium - 0sem comentários ainda

Have you ever heard of #the5amclub? Do you know how powerful the range of 5 to 8 A.M.?

body[data-twttr-rendered="true"] {background-color: transparent;}.twitter-tweet {margin: auto !important;}

Nunca pensei que iria conseguir acordar cedo (as 5am) e dormir cedo (as 9pm), manter a disciplina não esta sendo fácil mas é possível #the5amclub #5amclub #5am #5AMClubIns #5amcoffee

 — @avelino0

function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height); resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}twttr.events.bind('rendered', function (event) {notifyResize();}); twttr.events.bind('resize', function (event) {notifyResize();});if (parent && parent._resizeIframe) {var maxWidth = parseInt(window.frameElement.getAttribute("width")); if ( 500 Sorry tweet in pt-BR

Few people are willing to wake up at 5 A.M. by choice, but that’s exactly what makes the most successful people in the world, the 5am club class, the high achievers.

Who does this madness? Tim Cook (Apple’s CEO), Richard Branson (from Virgin), Robert Iger (from Disney), Howard Schultz (from Starbucks) and Benjamin Franklin are some of the people who adhered to this lifestyle.

Understand why every day the club wins more fans!



Medo? Lute contra os seus medos e mude seu futuro

16 de Maio de 2018, 23:34, por Stories by Avelino on Medium - 0sem comentários ainda

Por onde começar? Que tal essa enquete abaixo!

body[data-twttr-rendered="true"] {background-color: transparent;}.twitter-tweet {margin: auto !important;}

medo? Qual é seu maior medo❓

 — @avelino0

function notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height); resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === "#amp=1" && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: "amp", type: "embed-size", height: height}, "*");}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}twttr.events.bind('rendered', function (event) {notifyResize();}); twttr.events.bind('resize', function (event) {notifyResize();});if (parent && parent._resizeIframe) {var maxWidth = parseInt(window.frameElement.getAttribute("width")); if ( 500
AVISO: Estou expondo minha opinião pessoal (recomendo considerar como loucura da minha cabeça)

Analisando o resultado da enquete fica extremamente claro que o medo de muitos é o fracasso, não é nada fácil combater esse medo (mas é necessário para uma evolução pessoal), uma das formas de combater qualquer medo é encarar ele de frente, isso não quer dizer que você não tem medo e sim que esta batendo de frente com você mesmo.

Continue lendo em avelino.xxx.



Guia de estilo para pacotes Go

2 de Abril de 2018, 17:06, por Stories by Avelino on Medium - 0sem comentários ainda

Tradução do blogpost Style guideline for Go packages escrito pela @rakyll.

One code style to rule all

Código organizado em Go é fácil de entender, usar e ler. A falta de organização em código Go é tão crítico quanto as APIs má projetadas. Os diretórios, nome e a estrutura dos seus pacotes são os primeiros elementos com os quais os utilizadores vêem e interagem.

O objetivo deste blogpost é ajudá-lo com boas práticas comuns para não definir regras ruim. Você deve sempre usar o seu julgamento para escolhe a solução mais elegante para sua implementação.

Continue lendo em avelino.xxx.



Fazer o melhor que podemos na condição que tem — Monja Coen

27 de Março de 2018, 11:41, por Stories by Avelino on Medium - 0sem comentários ainda

Esta fazendo o possível ou o melhor? Se você (ou eu) podendo fazer o meu melhor me contato com o possível cairemos em um lugar chamado mediocridade

Continue lendo em avelino.xxx.



Empreendendo em seu local de trabalho

25 de Março de 2018, 21:49, por Stories by Avelino on Medium - 0sem comentários ainda

Em 2014 palestrei em alguns evendo falando sobre Empreender em seu local de trabalho, muitas pessoas pensa que empreender é abrir uma empresa (ter CNPJ) e cuidar de questões burocraticas de ter uma empresa (contabilidade, fluxo de caixa e blá blá blá), mas na real oque é empreender?

Porque esse blogpost, após 3 anos de palestra?

Continue lendo em avelino.xxx.



Parabéns Mario Idival estou super ansioso em lhe ver contribuindo com o core da linguagem sei que…

1 de Março de 2018, 22:13, por Stories by Avelino on Medium - 0sem comentários ainda

Parabéns Mario Idival estou super ansioso em lhe ver contribuindo com o core da linguagem sei que você consegue chegar lá (basta querer), sucesso e parabéns pelo empenho, perseverança e foco. A dia que sempre do para quem quer contribuir com projeto Open Source: contribua com o que você usa no seu dia a dia, isso diminui a barreira de entrada e entendimento do eco sistema do projeto



História do Lisp, abra os olhos para programação funcional

1 de Março de 2018, 22:03, por Stories by Avelino on Medium - 0sem comentários ainda

Como começou minha paixão por parênteses (ops Lisp)?

Tenho uma formação na área de Matemática Aplicada (começa ai a loucura), Lisp foi uma das poucas linguagens de programação que me deparei dentro da academia (eu já programava em Perl profissionalmente e conhecia Python), quando vi aqueles parênteses de cara pensei isso não é para mim (isso é uma loucura de Matemática/Acadêmico que nunca saiu para o mercado de trabalho). Com o passar das aulas eu comecei achar confortável os parênteses (seres humanos acostuma muito rápido com tudo) e comecei achar estranho a forma de pensar para escrever a lógica do software (por exemplo (+ 1 2)). Lisp usa Notação polonesa como forma de expressão, isso foi complicado acostumar, no dia a dia usava uma linguagem de programação “normal” e dentro da academia funcional (sem saber que era funcional).

Com o tempo comecei pegar gosto pela forma de pensar (funcionalmente) e acabei entrando para um projeto (no mercado, não académico) que usava Common Lisp na sua implementação SBCL (Steel Bank Common Lisp, que é mantido até hoje). Nesse momento eu virei super fã da linguagem e com a forma de lidar com software (de verdade) em produção. A empresa trabalhava com dados estatístico do mercado de Pesquisa Cliníca e LISP foi tomado como linguagem por matemáticos, isso facilitou muito a comunicação entre o time de engenharia e acadêmicos.

Como tudo começou?

É um conjunto de linguagem de programação especificada pelo John McCarthy em 1955 saindo sua primeira versão em 1958 (durante um projeto de pesquisa em inteligência artificial) influenciado pelo seu aluno Alonzo Church. A motivação de McCarthy surgiu da idéia de desenvolver uma linguagem algébrica para processamento de listas para trabalho em IA (inteligência artificial). O seu nome vem de LISt Processing (a lista é a estrutura de dados fundamental desta linguagem). Tanto os dados como o programa são representados como listas, o que permite que a linguagem manipule o código fonte como qualquer outro tipo de dados.

Nascendo assim o Lisp 1, a versão que realmente foi distribuída por McCarthy e outros do MIT (Massachussets Institute of Tecnology) foi Lisp 1.5 (manual de programadores), assim chamada porque continha várias melhorias no interpretador Lisp 1 original, mas não foi uma grande reestruturação como planejado que fosse ser o Lisp 2.

Linha do tempo de linguagens que segue o dialeto Lisp

Vou começar apartir do Lisp 1.5 pois foi o primeiro a ser distribuido.

  • Lisp 1.5 (1955–1965)/Dialeto — Primeira implementação distribuída por McCarthy e outros do MIT
  • Maclisp (1965–1985)/Dialeto — Desenvolvido pelo MIT Project MAC (não relacionado Apple, nem ligado com McCarthy)
  • Interlisp (1970–1990)/Dialeto — Desenvolvido pela BBN Tecnologiapara PDP-10 rodando no sistema operacional Tenex, logo após adotado pela máquina Xerox Lisp o InterLisp-D
  • ZetaLisp (1975–1995)/Dialeto — denominada Lisp Machine — usado nas máquinas Lisp, descendente direto de Maclisp. Tendo como grande influência o Common Lisp
  • Scheme (1975 — mantido até hoje)/Dialeto — Diferente de Common Lisp, linguagem que usa dialeto Lisp
  • NIL (1975–1980)/Dialeto — Sucessor direto do Maclisp, com muitas influências de Scheme. Esta versão do Common Lisp estava disponível para plataformas de grande alcance e foi aceita por muitos como um padrão de fato até a publicação do ANSI Common Lisp (ANSI x3.226–1994).
  • Common Lisp (1980 — mantido até hoje)/Dialeto — aka Common Lisp the Language (a linguagem) — As tentativas e divergência entre ZetaLisp, Spice Lisp, nil, e S-1 Lisp para criar um dialeto sucessora para Maclisp. Common Lisp estava disponível para plataformas de grande alcance e foi aceita por muitos como padrão até a publicação do ANSI Common Lisp (ANSI X 3.226–1994)
  • CCL (1984 — mantido até hoje)/Implementação — baseado no dialeto Common Lisp, antiga MCL
  • T (1985 — mantido até hoje)/Dialeto — Derivado de Scheme escrito por Jonathan A. Rees, Kent M. Pitman e Norman, Adams da Yale University com experiencia de design de linguagem e implementação. Em 1987 foi publicado o livro The T Programming Language: A Dialect of LISP
  • Emacs Lisp (1985 — mantido até hoje)/Dialeto/Implementação — Usado como linguagem de script (configuração) do editor Emacs (mantido pelo projeto GNU)
  • AutoLISP (1985 — mantido até hoje)/Dialeto/Implementação — feito para AutoCAD, rodando nos produtos AutoCAD Map 3D, AutoCAD Architecture e AutoCAD Mechanical
  • OpenLisp (1985 — mantido até hoje)/Dialeto — desenvolvido por Christian Jullie escrito em C e Lisp que deu origem a implementação ISLISP
  • PicoLisp (1985 — mantido até hoje)/Dialeto — Open Sourcepara Linux e outros sistemas compatíveis com POSIX
  • EuLisp (1990–2015)/Dialeto — Escopo estático e dinâmico, introduzida para Indústria e Acamia Europeia
  • ISLISP (1990 — mantido até hoje)/Dialeto — feito para International Standard sobre licença de Dominio Público
  • newLISP (1990 — mantido até hoje)/Dialeto — Linguagem Open Source escrita por Lutz Mueller, ditribuída pela licença GPL (GNU General Public License) com fortes influencias de Common LispScheme
  • Racket (1990 — mantido até hoje)/Dialeto — Multi paradigma que veio da familía Scheme, um de seus objetivos de projeto é servir como uma plataforma para a criação de linguagens, design e implementação. Sua runtime usa JIT
  • GNU Guile (1990 — mantido até hoje)/Implementação — Usado para extensão de sistema para o Projeto GNU, baseado em Scheme
  • SBCL (1999 — mantido até hoje)/Implementação — baseado no dialeto Common Lisp com recurso de alta performance no compilador, suporte a unicode e threading. Nasceu como fork do Carnegie Mellon University Common Lisp por Andrew Carnegie e Andrew Mellon
  • Visual LISP (2000 — mantido até hoje)/Dialeto/Implementação — Antigo AutoLisp após ser comprado pela Autodesk
  • Clojure (2005 — mantido até hoje)/Dialeto/Implementação — começou sendo baseado Common Lisp rodando na JVM (Java Virtual Machine), trazendo retro compatibilidade com todas linguagens que roda na JVM, é possível importar classes Java por exemplo
  • Arc (2005 — mantido até hoje)/Dialeto/Implementação — desenvolvido por Paul Graham e Robert Morris escrito usando Racket
  • LFE (2005 — mantido até hoje)/Dialeto/Implementação — Lisp Flavored Erlang, implementado em Erlang
  • ACL2 (2005 — mantido até hoje)/Dialeto/Implementação — Criado por Matt Kaufmann e J Strother Moore dentro da University of Texas at Austin
  • Hy (2013 — mantido até hoje)/Dialeto/Implementação — apelido para Hylang, implementado em Python. Nasceu dentro da PyCon 2013 escrito por Paul Tagliamonte
  • Rum (2017 — mantido até hoje)/Dialeto/Implementação — implementado em Go, projeto extremamente novo, veja o github

Veja a timeline visual

Não para por aqui, existe muitas outras derivações…

É isso mesmo, Lisp é uma linguagem de programação que tem vários dialetos e implementações, com a ANSI Common Lisp itilizada como o dialeto mais utilizado.

Existe outra linguagem (mais usada que Lisp) o SQL ANSI (American National Standards Institute): — PostgreSQL — MySQL — Oracle — Microsoft SQL — e outros

Todos tem como dialeto o SQL ANSI mas evoluiu a partir do default.

Por onde começar estudar Lisp?

Vamos supor que você gostou da loucura que é as diversas implementações e você quer estudar essa linguagem, por onde você começa?

Qual interpretador usar? Eu particularmente gosto do SBCL (particularmente é o que mais tenho usado para desenvolvimento), em produção uso CCL, se você trabalha com alguma tecnologia que roda em JVM vai para Clojure.

Segue alguns links:

Domain Specific Languages in Lisp — The Killer-App for Domain Specific Language https://t.co/jfHIEoWMsE #clisp #lisp #dsl #functional
— Avelino (@avelino0) January 6, 2018

Originally published at avelino.xxx.



Vim para o lado vim da força: http://vim-bootstrap.com/

1 de Março de 2018, 18:30, por Stories by Avelino on Medium - 0sem comentários ainda

Vim para o lado vim da força: http://vim-bootstrap.com/



Tags deste artigo: tecnologia software livre python django mongodb nosql