Uma breve viagem pelo tempo para entender a genealogia das linguagens de programação, a evolução do hardware durante esse período e o advento do LLVM como "the One Ring to Rule them all"!
Versão final da palestra que apresentei em Porto Alegre e Rio de Janeiro durante a 17ELW. A versão de SP tem um twist no final. A idéia: dar um panorama de como o mundo de software é maior do que meramente flames de frameworks javascript e como startups não tem a ver com mera uberizações e airbnbzações.
Rapid Response: Debugging and Profiling to the RescueEric Kavanagh
Bad code happens. And when it does, developers often spend far too much time trying to find and fix the error. Debugging is a common solution, but in a complex environment, running multiple applications on multiple platforms, it can be easier said than done. Developers need instant visibility across all machines, ultimately leading to faster and higher quality insights. Register for this episode of Hot Technologies to learn from Analyst Dr. Robin Bloor and Data Scientist Dez Blanchfield as they discuss how errant code can inevitably disrupt systems and performance. They’ll be briefed by Bert Scalzo of IDERA, who will explain how his company’s Rapid SQL can facilitate the debugging and profiling of stored procedures and functions.
Smalltalk Computers, Past and Future by Jecel Mattos de Assumpção JrFAST
Alan's Kay FlexMachine thesis was a mix of hardware and software, as was the Dynabook idea. This was quickly followed by the Xerox Alto computer and then the D machines. Smalltalk-80 first became commercially available in the form of the Tektronix 4404 AI Workstation hardware and there were several academic Smalltalk hardware designs such as SOAR (Smalltalk On A RISC, retroactively renamed as RISC III to justify the RISC V name) from Berkeley, the Mushroom from Manchester and the 1024 processor J-Machine from MIT. Only with the introduction of Digitalk's Methods (later Smalltalk V) for the PC and ParcPlace's Smalltalk-80 for workstations did the language become a software-only product.
Jecel started his 68000 based Merlin 1 Smalltalk computer project in 1984 and did several designs with commercial processor before moving on to his own Smalltalk specific processors in 1998. The current SiliconSqueak project and future research directions will be described in the context of the history mentioned above.
Elixir - Tolerância a Falhas para Adultos - Secot VIII SorocabaFabio Akita
Reformulação da minha palestra de introdução a o que torna Erlang - e por consequência, Elixir - perfeito e único para sistemas altamente distribuídos e de alta disponibilidade.
Elixir: Tolerância a Falhas para Adultos - OneDay Baixada SantistaFabio Akita
Introdução às principais características de Erlang e Elixir que garantem tolerância a falhas de alta qualidade. Esta é uma revisão da mesma palestra exibida na QConSP 2016 e DevInSantos 2015
Elixir - o que existe atrás do mistérioAlex Ferreira
Uma linguagem dinâmica e funcional, projetada para o desenvolvimento de aplicações escaláveis e sustentáveis.
O Elixir aproveita o Erlang VM, conhecido por ter uma execução de baixa latência, usado em sistemas distribuídos e tolerantes a falhas.
Exércicios: https://github.com/alexferreira/workshop_elixir
Premature optimisation: The Root of All EvilFabio Akita
Presentation for the 18th Encontro Locaweb in Curitiba in May, iMasters' DevCommerce and Open Spree Conference in June. It's about how most developers think wrong whey they are making decisions about technologies to choose.
Esta é a mesma palestra que apresentei na Rubyconf Brasil 2014. O objetivo é iniciar explicando um pouco dos 10 anos de Rails e qual foi seu legado na discussão de arquitetura de software como um todo, em particular seu mérito em trazer a discussão de estética de código de volta à mesa.
Versão final da palestra que apresentei em Porto Alegre e Rio de Janeiro durante a 17ELW. A versão de SP tem um twist no final. A idéia: dar um panorama de como o mundo de software é maior do que meramente flames de frameworks javascript e como startups não tem a ver com mera uberizações e airbnbzações.
Rapid Response: Debugging and Profiling to the RescueEric Kavanagh
Bad code happens. And when it does, developers often spend far too much time trying to find and fix the error. Debugging is a common solution, but in a complex environment, running multiple applications on multiple platforms, it can be easier said than done. Developers need instant visibility across all machines, ultimately leading to faster and higher quality insights. Register for this episode of Hot Technologies to learn from Analyst Dr. Robin Bloor and Data Scientist Dez Blanchfield as they discuss how errant code can inevitably disrupt systems and performance. They’ll be briefed by Bert Scalzo of IDERA, who will explain how his company’s Rapid SQL can facilitate the debugging and profiling of stored procedures and functions.
Smalltalk Computers, Past and Future by Jecel Mattos de Assumpção JrFAST
Alan's Kay FlexMachine thesis was a mix of hardware and software, as was the Dynabook idea. This was quickly followed by the Xerox Alto computer and then the D machines. Smalltalk-80 first became commercially available in the form of the Tektronix 4404 AI Workstation hardware and there were several academic Smalltalk hardware designs such as SOAR (Smalltalk On A RISC, retroactively renamed as RISC III to justify the RISC V name) from Berkeley, the Mushroom from Manchester and the 1024 processor J-Machine from MIT. Only with the introduction of Digitalk's Methods (later Smalltalk V) for the PC and ParcPlace's Smalltalk-80 for workstations did the language become a software-only product.
Jecel started his 68000 based Merlin 1 Smalltalk computer project in 1984 and did several designs with commercial processor before moving on to his own Smalltalk specific processors in 1998. The current SiliconSqueak project and future research directions will be described in the context of the history mentioned above.
Elixir - Tolerância a Falhas para Adultos - Secot VIII SorocabaFabio Akita
Reformulação da minha palestra de introdução a o que torna Erlang - e por consequência, Elixir - perfeito e único para sistemas altamente distribuídos e de alta disponibilidade.
Elixir: Tolerância a Falhas para Adultos - OneDay Baixada SantistaFabio Akita
Introdução às principais características de Erlang e Elixir que garantem tolerância a falhas de alta qualidade. Esta é uma revisão da mesma palestra exibida na QConSP 2016 e DevInSantos 2015
Elixir - o que existe atrás do mistérioAlex Ferreira
Uma linguagem dinâmica e funcional, projetada para o desenvolvimento de aplicações escaláveis e sustentáveis.
O Elixir aproveita o Erlang VM, conhecido por ter uma execução de baixa latência, usado em sistemas distribuídos e tolerantes a falhas.
Exércicios: https://github.com/alexferreira/workshop_elixir
Premature optimisation: The Root of All EvilFabio Akita
Presentation for the 18th Encontro Locaweb in Curitiba in May, iMasters' DevCommerce and Open Spree Conference in June. It's about how most developers think wrong whey they are making decisions about technologies to choose.
Esta é a mesma palestra que apresentei na Rubyconf Brasil 2014. O objetivo é iniciar explicando um pouco dos 10 anos de Rails e qual foi seu legado na discussão de arquitetura de software como um todo, em particular seu mérito em trazer a discussão de estética de código de volta à mesa.
Slides da palestra que dei na USP, no Secot UFSCar Sorocaba. Versão extendida sobre a original que apresentei no Lean Startup Machine. Pouca coisa diferente da que apresentei online pela Locaweb/Eventials poucos dias antes.
QCON SP 2016 - Elixir: Tolerância a Falhas para AdultosFabio Akita
Elixir é uma das novas linguagens que está despontando principalmente pela reputação de capacidade de altíssima concorrência e paralelismo que sua VM permite. Mas o principal elemento é que Erlang e por consequência, Elixir, é uma das poucas linguagens criadas assumindo que vamos cometer erros. Ele garante alta disponibilidade nos dando primitivas que permitam que nosso software continue funcionando, mesmo que às vezes ele falhe. E agora vamos ver como Erlang faz isso como Elixir expõe esse potencial a todos nós.
Devs for Leokz e 7Masters - WTF Oriented ProgrammingFabio Akita
Apresentação que fiz tanto no evento online beneficente Devs for Leokz (https://www.eventials.com/eduardo.shiota/groups/devs-pelo-leokz/) e no 7Masters do Grupo iMasters. Sobre pérolas de programação tosca que encontramos em projetos de verdade mesmo! Aprenda o que NÃO se deve fazer nunca!
QConSP 2015 - Dicas de Performance para Aplicações WebFabio Akita
Antes de pensar em "vamos reescrever tudo na linguagem mais rápida da moda que tudo vai dar certo". Na verdade pra quase todas as aplicações Web, antes veja se você segue este checklist mínimo de 9 dicas. Você vai ver que a maioria não segue esse mínimo antes, e deveria.
Minha primeira apresentação sobre Elixir, para o evento Dev In Santos. As coisas essenciais que diferenciam Elixir de qualquer outra nova linguagem. Primeira palestra que eu subo com as anotações também (muito vídeo). #FullMetalAlchemist
A Journey through New Languages - Locaweb Tech DayFabio Akita
An exercise started in 2014 going all the way to early 2016 of a simple crawler made in (ugly) Ruby first, then moving to Elixir, to Crystal and back to Ruby and what we can take out of it.
Pequena história sobre minha própria trajetória durante os primeiros anos e algumas dicas que aprendi para criar uma carreira anti-frágil. A gravação da palestra está aqui: https://www.youtube.com/watch?v=HMWD36W7PJM
From concept to cloud a look at modern software developmentSoftware Guru
La computadora HAL 9000 es uno de los personajes centrales de "2001 Odisea del Espacio". Considerando que esta historia fue escrita en 1968, podemos decir que la tecnología ha tenido un tremendo avance desde entonces. Y nuestra habilidad para crear software también ha mejorado un poco. Pero todavía estamos muy lejos de poder construir algo como HAL 9000. En esta conferencia echaremos un vistazo a las principales tendencias en desarrollo de software hacia los próximos años.
CrestaTV is the next step in the evolution of computing by bringing in Live Broadcast in addition to all the Music Pictures Documents and Contacts we carry with us.
Digital hermeneutics intro_and_historical_overviewWido Van Peursen
This is my overview over the history of Bible and Computer over the last five decades against the background of the emergence and development of DH. With some focus on the developments that took place at the ETCBC (Eep Talstra Centre for Bible and Computer), Vrije Universiteit Amsterdam. I use this in class in combination my oral explanations, so not every slide may be self-evident without explanations, but I hope the overall scope is!
I've lived through a couple cycles of commoditization of software now - OS, web browsers, ESB and more. These slides try to capture some of the trends that repeat over decades.
Slides da palestra que dei na USP, no Secot UFSCar Sorocaba. Versão extendida sobre a original que apresentei no Lean Startup Machine. Pouca coisa diferente da que apresentei online pela Locaweb/Eventials poucos dias antes.
QCON SP 2016 - Elixir: Tolerância a Falhas para AdultosFabio Akita
Elixir é uma das novas linguagens que está despontando principalmente pela reputação de capacidade de altíssima concorrência e paralelismo que sua VM permite. Mas o principal elemento é que Erlang e por consequência, Elixir, é uma das poucas linguagens criadas assumindo que vamos cometer erros. Ele garante alta disponibilidade nos dando primitivas que permitam que nosso software continue funcionando, mesmo que às vezes ele falhe. E agora vamos ver como Erlang faz isso como Elixir expõe esse potencial a todos nós.
Devs for Leokz e 7Masters - WTF Oriented ProgrammingFabio Akita
Apresentação que fiz tanto no evento online beneficente Devs for Leokz (https://www.eventials.com/eduardo.shiota/groups/devs-pelo-leokz/) e no 7Masters do Grupo iMasters. Sobre pérolas de programação tosca que encontramos em projetos de verdade mesmo! Aprenda o que NÃO se deve fazer nunca!
QConSP 2015 - Dicas de Performance para Aplicações WebFabio Akita
Antes de pensar em "vamos reescrever tudo na linguagem mais rápida da moda que tudo vai dar certo". Na verdade pra quase todas as aplicações Web, antes veja se você segue este checklist mínimo de 9 dicas. Você vai ver que a maioria não segue esse mínimo antes, e deveria.
Minha primeira apresentação sobre Elixir, para o evento Dev In Santos. As coisas essenciais que diferenciam Elixir de qualquer outra nova linguagem. Primeira palestra que eu subo com as anotações também (muito vídeo). #FullMetalAlchemist
A Journey through New Languages - Locaweb Tech DayFabio Akita
An exercise started in 2014 going all the way to early 2016 of a simple crawler made in (ugly) Ruby first, then moving to Elixir, to Crystal and back to Ruby and what we can take out of it.
Pequena história sobre minha própria trajetória durante os primeiros anos e algumas dicas que aprendi para criar uma carreira anti-frágil. A gravação da palestra está aqui: https://www.youtube.com/watch?v=HMWD36W7PJM
From concept to cloud a look at modern software developmentSoftware Guru
La computadora HAL 9000 es uno de los personajes centrales de "2001 Odisea del Espacio". Considerando que esta historia fue escrita en 1968, podemos decir que la tecnología ha tenido un tremendo avance desde entonces. Y nuestra habilidad para crear software también ha mejorado un poco. Pero todavía estamos muy lejos de poder construir algo como HAL 9000. En esta conferencia echaremos un vistazo a las principales tendencias en desarrollo de software hacia los próximos años.
CrestaTV is the next step in the evolution of computing by bringing in Live Broadcast in addition to all the Music Pictures Documents and Contacts we carry with us.
Digital hermeneutics intro_and_historical_overviewWido Van Peursen
This is my overview over the history of Bible and Computer over the last five decades against the background of the emergence and development of DH. With some focus on the developments that took place at the ETCBC (Eep Talstra Centre for Bible and Computer), Vrije Universiteit Amsterdam. I use this in class in combination my oral explanations, so not every slide may be self-evident without explanations, but I hope the overall scope is!
I've lived through a couple cycles of commoditization of software now - OS, web browsers, ESB and more. These slides try to capture some of the trends that repeat over decades.
Desmistificando Mitos de Tech Startups - Intercon 2017Fabio Akita
Versão apresentada no evento Intercon 2017. Desmistificando 10 dos principais mitos ainda repetidos pela comunidade de empreendedorismo e tech startups.
30 Days to Elixir and Crystal and Back to RubyFabio Akita
Presented at Ruby Dev Summit, a journey through learning Elixir, Crystal and making Ruby better in the process, and why Ruby still can compete in the Web.
Focada em jovens estudantes ou recém-formados para terem uma perspectiva sobre o que almejar na carreira de TI. Versão apresentada pela primeira vez no 6o meetup do Cricíuma Dev.
This is the opening keynote for the 1st edition of THE CONF (www.theconf.club). It has full presenter notes. The video recording will be available at InfoQ Brasil.
Desmistificando Mitos de Startups - Sebrae - APFabio Akita
O mundo de startups se tornou um grande show. A maioria não entende que a sorte tem um papel mais forte do que se imagina. E sem conhecimento, experiência e paciência, Não existe caminho simples para o sucesso.
A Journey through new Languages - Intercon 2016Fabio Akita
Minha palestra apresentando minha jornada sobre um código Ruby feito com otimização prematura, passando por Elixir, Crystal e de volta ao Ruby, escrito da forma arquiteturalmente mais "correta" e que no final se tornou até mais performática.
Esta é a minha palestra "Premature Optimization" versão "Code-Only". #THECONFBR
The Open Commerce Conference - Premature Optimisation: The Root of All EvilFabio Akita
This is the talk I presented in NYC at the Spree Conference. It's about how we may be making bad decisions out of blindly following misleading pitches. To avoid it, we just need to go back to the basics of CS: Don't optimize prematurely. Here's how.
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...kalichargn70th171
A dynamic process unfolds in the intricate realm of software development, dedicated to crafting and sustaining products that effortlessly address user needs. Amidst vital stages like market analysis and requirement assessments, the heart of software development lies in the meticulous creation and upkeep of source code. Code alterations are inherent, challenging code quality, particularly under stringent deadlines.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
52. 1960
1965
1970
1975
1980
1985
1990
1995
2000
2005
2010
Algol (1958)
ETH Zürich committee
- Algol 58, Algol 60, Algol 68, Algol W
- Context-free Grammars (Backus-Naur Form/BNF)
- "ALGOL 68 was the first (and possibly one of the last)
major language for which a full formal definition was
made before it was implemented”
- “ALGOL 68 has been criticized, most prominently by
some members of its design committee such
as Hoare and Dijkstra, for abandoning the simplicity
of ALGOL 60”
- "Steve Bourne, who was on the Algol 68 revision
committee, took some of its ideas to his Bourne
shell (and thereby, to descendant shells such as Bash)
and to C (and thereby to descendants such as C++)."
55. 1960
1965
1970
1975
1980
1985
1990
1995
2000
2005
2010
ADA (1966)
MIL-STD
- strong typing, generics
- modularity mechanisms (packages)
- run-time checking
- access to unallocated memory, buffer
overflow errors, range violations, off-by-one errors,
array access errors, and other detectable bugs
- parallel processing (tasks, synchronous
message passing, protected objects, and
- nondeterministic select statements)
- exception handling
- widely used in critical systems, where any anomaly might
lead to very serious consequences, e.g., accidental
death, injury or severe financial loss. Examples of
systems where Ada is used include avionics,ATC,
railways, banking, military and space technology
77. • APL (1964) introduced: array programming,
influenced: functional programming
• ALGOL (1958) refined both structured procedural
programming and the discipline of language
specification.
• Simula (1967) first language designed to support
object-oriented programming; Smalltalk (1972)
followed with the first "purely" object-oriented
language.
• C (1969 - 1973) popular system programming
language
• Prolog (1972), first logic programming language.
• ML (1978) built a polymorphic type system on top of
Lisp, pioneering statically typed functional
programming languages.