#newsociety — a call out to future humans: let’s be bolder
An enthusiastic call to future humans to come together, think about life, technology, and the societies we’ve constructed, and help make something better.
Interpreter loops!! They’re slow?? Let’s make them fast!
Many of our favorite programming langages run in interpreters, all of
which contain a loop that runs through the flow of virtual instructions to execute them on the target machine.
In this talk, I’ll talk about how such loops are implemented, from the
naive interpreter for a toy language to a serious language like Python.
We’ll discover why a technique from the 70’s was useful to make them
fast… and why it’s not that useful anymore. And along the way, we’ll
see the power of statistics and how they can help us design faster loops.
Paradigm shift: Spreadsheets are cool!
During my professional life I crossed paths with two groups of people: clerical workers and programmers (think: A1, B1).
Both of them hate spreadsheets - clerical workers think that all these cells make a complicated, constrained text processor.
Programmers turn up their noses because in their minds it’s not really
programming when you don’t use a shell, an editor, or a fancy scripting language (ugh, visual basic!).
I was an office worker with the utopian dream to become a programmer for
many years. In the past I had to use spreadsheets to convert data to machine
readable formats, envying programmers. Today I actually work with databases and
Which means I, B1, have to convert the datasets to human readable formats such that A1 people with the knowledge and experience to analyze and rate this data can make use of them.
Guess what, spreadsheets are ideal for that.
So they’re are still in my toolbox, but only recently I discovered the magic and beauty of them.
Let me share with you how spreadsheets enable participation, how they
are efficient, how they are really cool.
Let’s face it, lack of self-care is a problem in the tech industry. We
wear exhaustion like a badge of honor, promote unrealistic expectations
about loyalty and often times we neglect our body, heart and mind’s most
basic needs. In this talk, we’ll cover the scope of the issue and
explain how you can start building your own self-care toolkit.
Creating apps for the terminal in Python
If you spend a good bunch of time using a terminal in text-mode, wouldn’t it make sense to learn how to program for it too?
If you like having control over the stuff you use in your computer, I bet that your answer is a “yes”!
They may be not as popular as GUIs, text-mode user interfaces (TUIs) are snappy, practical and fun to work on!
In this talk you’re going to get a taste of using Python and the urwid library to write elegant apps using a text-mode user interface.
I’m going to show some apps that I’ve written myself and share some techniques I’ve found useful when writing them too!
Machine learning for the curious but scared
Deep convolutional networks, overfitting, RBF kernels, GANs, nonlinear transformations, stochastic gradient descent, and of course the coming singularity and super intelligence.
Machine learning buzzwords are all the rage now, but what does it mean for a machine to actually learn? What separates a machine that learns something from one that is merely programmed?
And how does machine learning relate to human learning?
In this talk, I want to present a condensed and intuitive introduction to the most basic ideas behind machine learning.
I will start at the point that is usually assumed as a prerequisite in technical text books and courses on the topic, allowing you to get the intuition behind the matrix multiplications and gradient descent algorithms that they commonly start with.
Learning can be interpreted as being able to deal with new situations based on past experience.
In my talk, I will cover what happens during learning, how we can represent experience and learnings in a machine-friendly way, what elements are necessary for a complete ML system and explain different basic types of machine learning approaches.
2560 bytes ought to be enough for anyone!
István Szmozsánszky “Flaki”
In the same time I was wishing for a way to introduce people to hardware programming, something that was beyond the complexity of just blinking a LED, but still accessible with a low barrier of entry.
This is a talk about how two or more Very Bad Idea™️-s combined could make for a very good idea, given the right context.”
Let’s hand write DNS messages
The Domain Name Service (DNS) lets us map human-friendly domain names to computer-friendly IP addresses. But how does it actually work, in much greater detail than you’ll ever really need?
Let’s learn about the binary DNS message format, and write one by hand!
Do you like the atmosphere on the dancefloor but don’t like to dance yourself? Than outsource that task to your cloths.
It takes the initial idea, one month work, 1,5 m LEDs, 13 Batteries, cables, an adafruit Playground Classic, inspiring online resources and your favourite dress you are willing to cut some holes in.
After deciding on a design – and changing it for at least 5 times because some of the parts arrive to late from China – you need to familiarize yourself with the Microcontroller.
The adafruit Playground has a lot of really cool built in sensors – like a motion sensor (which does not really help, since the idea is not to have to dance) and a sound sensor (bingo).
The sound sensor translates the noise level into a voltage you can than translate into the number of LEDs glowing.
It’s also a good idea to have a backup light-show in case the DJ is on strike.
LED the dress do the dancing for you.
The joy of simulating forces
Physics is not scary.
In fact, it can be a lot of fun!
I can show it to you!
Let me introduce you to some of my geometrically shaped friends and how they behave when being put in contact with the forces that Physics tells us about.
The Ceylon type system
Ceylon, a modern programming language running on the JVM and on JS platforms, offers many interesting features, but among the most exciting is its innovative and highly expressive type system, which allows you, your IDE, and the compiler to reason about your code with more confidence than you’re probably used to.
This talk offers an introduction to two core parts of the type system, along with a look at what else is possible in Ceylon.
So THAT’S how my phone knows where I am!
Your phone knows where you are at all times, usually with pretty shocking accuracy.
How the heck does it know that?!
This talk will dive into the math and physics underlying modern smartphone location technology (GPS, AGPS, and indoor location), but it will also do so by means of a walk through history.
Modern GPS arose out of Cold War-era US DoD research, but how is that research connected to the larger historical and political context of geolocation throughout history?
How is the technical solution to tracking Russian missiles directly indebted to the 17th century sailors who developed smarter ways to locate themselves on the open sea?
This talk will answer all of that and more!
May the Forth Be with You
Nasreen Abu-Hunaina and Joseph Yiasemides
In this talk Nasreen and Joseph will introduce you to the Forth programming language through their experience learning it.
They’ll begin with Forth’s four parts and show you how these work together.
Understanding those fundamentals meant that they wrote some of their neatest programs in this restricted yet eye-opening language.
They’ll talk about how Forth is different from many languages but works in fundamentally the same way, and outline how the transparency of its internals demystifies the mechanisms behind modern languages using examples.
They’ll also tell you the story of how they learnt well by taking their time to understand deeply and how they learnt from each other’s perspectives.
Who is afraid of the big bad O?
I remember the first time I heard people use the big O notation in a conversation.
They threw it around as if it was nothing, while for me it was the big bad wolf in the dark forest of algorithms, data structures and computer science in general.
I felt that these were concepts that I, as a self-taught programmer, would never understand.
Luckily, I had the chance to take some time to dive deeper into this fascinating world and learn about these mysterious words.
And I discovered that there was very little magic behind all this.
The big O notation allowed me to estimate how fast my program would run, and what the slowest parts would be.
I was able to harness its power to understand choices other developers had made in their code and use it to make my own code better.
Through examples and an interactive presentation, I want to help you also understand how the big O notation can be a useful and even simple tool to make your next app better!
IDEA: Algorithm assembly instructions without words
Computer algorithms are often seen as inherently text-based:
People study pseudo-code, look at implementations in real programming languages, or read about algorithms in books or on websites.
In my talk “IDEA: Algorithm assembly instructions without words” I will present a highly visual approach of conveying how algorithms work:
We use single-page images which have a similar aesthetic like the furniture assembly instructions of a big Swedish company.
The diagrams involve arrows, icons, physical objects, intuitive operations, and a lot of cute little people.
They are designed to be used in educational contexts, but can also be understood with no prior knowledge.
The audience will gain insights in our process of creating the diagrams:
I will explain how we prototype, test, and iterate, I will share which lessons we learned and which best practices we discovered.
I will also demonstrate one of the resulting diagrams in detail, and empower the audience to create their own assembly instructions.
The Grammar of Syntax
When we first learn to program, we are often told to observe the programming language’s syntax otherwise our computers will complain.
But where does this syntax come from? Syntax is itself a description of its arguably lesser-known but equally important and very closely related cousin, the grammar.
My talk will explore the relationship between syntax and grammar, what constitutes a grammar, and what kind of grammar is needed to describe a programming language.
Carp: A Language for the 21st century
The last few years have been exciting for programming languages enthusiasts.
Rust freed us from the chains of garbage collection.
Functional languages such as Haskell, Idris,and Agda have given us expressive type systems.
Lisps come back into the mainstream consciousness, and they are bringing macros.
In my talk “Carp: A Language for the 21st century” I want to introduce you to an exciting new programming language that aims to unify multiple branches of this development.
Carp is a Lisp that combines macros, a modern type system, and an adaption of the Rust borrow checker to get rid of garbage collection.
We will talk a bit about the ideas and concepts behind the language before diving into a playful hands-on demo, with the aim of empowering the audience to start working with Carp themselves.
In a blatant disregard of best conference practices, there will be live-coding!
To get our feet back on the ground afterwards, we will also take a brief and honest look at the state of the language and ecosystem, and cover how you could get involved!