Yesterday morning I was lucky enough to give the opening keynote at the excellent Beyond Tellerrand conference in Dusseldorf, Germany. I wrote a talk for the occasion that covered a strange disconnect that we’re experiencing at the moment.
Whilst web technology advanced leaps and bounds we still seem to be discontent all the time. I called this the Tetris mind set: all our mistakes are perceived as piling up whilst our accomplishments vanish.
I will follow this up with a more in-depth article on the subject in due course, but for today I am very happy how well received the keynote was and I want to remind people that it is OK to build things that don’t last and that you don’t owe the world perfection. Creativity is a messy process and we should feel at ease about learning from mistakes.
Posted in General | Comments Off on You don’t owe the world perfection! – keynote at Beyond Tellerrand
Yesterday I was proud to be an invited speaker at the HackingUI masterclass where I presented about what Machine Learning and Artificial Intelligence means for us as developers and designers. I will be giving a similar talk tomorrow in Poland in my Code Europe talk.
The Masterclass is using Crowdcast to allow for discussions between the moderators and the presenter, for the presenter to show his slides/demos and for people to chat and submit questions. You can see the whole one hour 45 minutes session by signing up to Hacking UI.
It was exciting to give this presentation and the questions of the audience were interesting which meant that in addition to the topics covered in the talk I also managed to discuss the ethics of learning machines, how having more diverse teams can battle the issue of job loss because of automation and how AI can help combat bullying and antisocial behaviour online.
All in all there is a lot for us to be excited about and I hope I managed to make some people understand that the machine revolution is already happening and our job is it to make it benefit humankind, not work against it.
Posted in General | Comments Off on Talking about building the next interfaces with Machine Learning and AI at hackingui
Sometimes it is great to work for a large company that gives you opportunities to do some good. I am currently in New York to run a workshop with All Star Code in our offices. Originally Aaron Gustafson was supposed to also be part of this but he got sick. Instead I am happy to work with Rachel White, Claudius Mbemba and Adina Shanholtz to help All Star Code.
Originally All Star Code approached me to get a bulk order for Surfaces for their students to work with. When I heard that their curriculum was involving Git, Node, Web Development and Debugging in Browsers and the stack was Sublime Text and Chrome Devtools I offered a small change. So now we’ll be teaching the teachers of All Star Code’s next course how to use Visual Studio Code and do all the development and debugging inside that one. My main driver there was that Code is open source and thus the students don’t need to get another license.
If you wonder what All Star Code does you can head over to the Decoded Chats blog, where I interviewed Mahdi Shadkamfarrokhi, their head of curriculum.
You work for All Star Code. Can you give us a quick introduction what that is and what you do? (00:13)
How low are the numbers of developers that came from a minority background? What are the main reasons? (01:40)
Do you think that by teaching communication skills together with technological skills you become more interesting for someone with a less privileged background? Is selling technology skills as a part of a whole package more successful? (02:49)
The program has been running for quite a while. Is there a success story you are really proud of? (04:20)
You learn a lot by teaching as you can’t fake it – you have to know. Do you find that it is easier to keep your skills up-to-date by running this program? (04:46)
What are the biggest barriers for your students to get into development? Is it hardware access? Connectivity? The style and language of documentation out there? (06:14)
I learned a lot because when I started computers didn’t do much and you had to program. Do you think that nowadays kids are less inclined to learn as computers are more seen as a consumption device? (07:47)
There is a vast amount of online courses to choose from when it comes to learning how to program. Many of them decayed a bit after the first round of funding dried out. How do you find great and trustworthy resources? (10:10)
A lot of creativity happens on the web but these makers don’t know or don’t get into professional development. Where do you go to find people for your course? (12:04)
Do you see Open Source and services like GitHub to host, document and discuss your projects as an opportunity for newcomers? (14:49)
How can people help you? Are there ways to volunteer? (18:07)
I’m very excited to be working on this.
Posted in General | Comments Off on Working with All Star Code in NYC to empower minorities to get into development
This is an unashamed plug for Remy Sharp’s terminal training course command line for non–techies. Go over there and have a look at what he’s lined up for a very affordable price. In a series of videos he explains all the ins and outs of the terminal and its commands that can make you much more effective in your day-to-day job.
I’ve read the ebook of the same course and have to say that I learned quite a few things but – more importantly – remembered a lot I had forgotten. By using the findings over and over a lot has become muscle memory, but it is tough to explain what I am doing. Remy did a great job making the dark command line magic more understandable and less daunting. Here is what the course covers:
Course material
“Just open the terminal”
Just open the terminal (03:22)
Why use a terminal? (03:23)
Navigating directories (07:71)
Navigation shortcuts (01:06)
Install all the things
Running applications (05:47)
brew install fun (07:46)
gem install (06:32)
npm install—global (09:44)
Which is best? (02:13)
Tools of the Terminal Trade
Connecting programs (08:25)
echo & cat (01:34)
grep “searching” (06:22)
head tail less (10:24)
sort | uniq (07:58)
How (not) to shoot yourself in the foot
Delete all the things (07:42)
Super user does…sudo (07:50)
Permissions: mode & owner (11:16)
Kill kill kill! (12:21)
Health checking (12:54)
Making the shell your own
Owning your terminal (09:19)
Fish ~> (10:18)
Themes (01:51)
zsh (zed shell) (10:11)
zsh plugins: z st… (08:26)
Aliases (05:43)
Alias++ → functions (08:15)
Furthering your command line
Piping workflow (08:14)
Setting environment values (03:04)
Default environment variable values (01:46)
Terminal editors (06:41)
wget and cURL (09:53)
ngrok for tunnelling (06:38)
json command for data massage (07:51)
awk for splitting output into columns (04:11)
xargs (for when pipes won’t do) (02:15)
…fun bonus-bonus video (04:13)
I am not getting anything for this, except for making sure that someone as lovely and dedicated as Remy may reach more people with his materials. So, take a peek.
Posted in General | Comments Off on Want to learn more about using the command line? Remy helps!
I really enjoyed giving this talk as I think we’re taking ourselves far too serious and we overestimate the importance of the languages that we use. Instead of building a high pressure environment of blind innovation we should be more like the language we use. JavaScript is a mess, but it was a very accessible mess in terms of getting people to start working with it. PHP has the same issues and as much as we can joke about its inconsistencies, it powers easily half the web servers we use. JavaScript has a lot of nuances and use cases and each of them come with different best practices. They also come with different experiences and sometimes learning means doing things wrong first and understanding that what you did was wrong later.
There is too much dogma in our little world. The people who love JavaScript tend to overarchitect solutions or create very strict syntax rules. This can frustrate people who think differently and cause lots of unnecessary discussion. Even worse, it can discourage people who want to start using JavaScript as they are overwhelmed by these demands. People who don’t like JavaScript have a tendency to either dismiss it as not professional or as a problem for end users as any mistake of the developer would result in a non-working interface. All of these people have the right to their ideas and are technically correct. But that doesn’t help us as a community.
There is an overuse of JavaScript right now. Far too many products rely on it and far too many developers use a lot of libraries and modules to create pretty simple interfaces. We need to own the use of JavaScript and we need to understand that people of all knowledge levels and with vastly varying approaches are using the language now. This is not a time for dogma, this is a time for education by helping people reach their goals quickly. I’d love to see JavaScript be the language that makes people enjoy creating and learning a new skill. Not a battleground of hardened principles and wishful thinking of what the language should be. We need more diversity and we can get it by making what we do accessible to people of all kinds of backgrounds. Nobody should be feeling stupid for trying to use JavaScript. It isn’t rocket science.
Posted in General | Comments Off on JavaScript is not the enemy – my talk at Halfstackconf