Christian Heilmann

You are currently browsing the archives for the General category.

Archive for the ‘General’ Category

Want to learn more about using the command line? Remy helps!

Tuesday, March 14th, 2017

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.

Working the command line ebook

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.

JavaScript is not the enemy – my talk at Halfstackconf

Tuesday, February 28th, 2017

In November last year I got asked to give a talk about the state of the JavaScript community at Halfstackconf in London. Now you can watch the recording the talk at opbeat.

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.

Important talks: Sacha Judd’s “How the tech sector could move in One Direction”

Monday, February 27th, 2017

I just watched a very important talk from last year’s Beyond Tellerand conference in Berlin. Sacha Judd (@szechuan) delivered her How the tech sector could move in One Direction at this conference and Webstock in New Zealand a few days ago. It is a great example of how a talk can be insightful, exciting and challenge your biases at the same time.

You can watch the video, read the transcript and get the slides.

I’ve had this talk on my “to watch” list for a long time and the reason is simple: I couldn’t give a toss about One Direction. I was – like many others – of the impression that boy bands like them are the spawn of commercial satan (well, Simon Cowell, to a large degree) and everything that is wrong with music as an industry and media spectacle.

And that’s the great thing about this talk: it challenged my biases and it showed me that by dismissing something not for me I also discard a lot of opportunity.

This isn’t a talk about One Direction. It is a talk about how excitement for a certain topic gets people to be creative, communicate and do things together. That their tastes and hysteria aren’t ours and can be off-putting isn’t important. What is important is that people are driven to create. And it is important to analyse the results and find ways to nurture this excitement. It is important to possibly channel it into ways how these fans can turn the skills they learned into a professional career.

This is an extension to something various people (including me) kept talking about for quite a while. It is not about technical excellence. It is about the drive to create and learn. Our market changes constantly. This is not our parent’s 50ies generation where you get a job for life and you die soon after retirement, having honed and used one skill for your whole lifetime. We need to roll with the punches and changes in our markets. We need to prepare to be more human as the more technical we are, the easier we are to be replaced my machines.

When Mark Surman of Mozilla compared the early days of the web to his past in the punk subculture creating fanzines by hand it resonated with me. As this is what I did, too.

When someone talks about fanpages on tumblr about One Direction, it didn’t speak to me at all. And that’s a mistake. The web has moved from a technical subculture flourishing under an overly inflated money gamble (ecommerce, VC culture) to being a given. Young people don’t find the web. They are always connected and happy to try and discard new technology like they would fashion items.

But young people care about things, too. And they find ways to tinker with them. When a fan of One Direction gets taught by friends how to change CSS to make their Tumblr look different or use browser extensions to add functionality to the products they use to create content we have a magical opportunity.

Our job as people in the know is to ensure that the companies running creation tools don’t leave these users in the lurch when the VC overlords tell them to pivot. Our job is to make sure that they can become more than products to sell on to advertisers. Our job is to keep an open mind and see how people use the media we helped create. Our job is to go there and show opportunities, not to only advertise on hackernews. Our job is to harvest these creative movements to turn them into to the next generation of carers of the web.

I want to thank Sacha for this talk. There is a lot of great information in there and I don’t want to give it all away. Just watch it.

My closing keynote of the Tweakers DevSummit – slides and resources

Friday, February 17th, 2017

Yesterday I gave the closing keynote of the Tweakers Developer Summit in Utrecht, The Netherlands. The conference topic was “Webdevelopment – Coding the Universe” and the organisers asked me to give a talk about Machine Learning and what it means for developers in the nearer future. So I took out my crystal ball 🔮 and whipped up the following talk:

Suit up, bring extra oxygen Internet space explorers needed. from Christian Heilmann

Here are the resources covered in the talk:

Yes, this was a lot – maybe too much – for one talk, but the feedback I got was all very positive, so I am hoping for the video to come out soon.

ScriptConf in Linz, Austria – if you want all the good with none of the drama.

Wednesday, February 15th, 2017

Last month I was very lucky to be invited to give the opening keynote of a brand new conference that can utterly go places: ScriptConf in Linz, Austria.

Well deserved sticker placement

What I liked most about the event was an utter lack of drama. The organisation for us presenters was just enough to be relaxed and allowing us to concentrate on our jobs rather than juggling ticket bookings. The diversity of people and subjects on stage was admirable. The catering and the location did the job and there was not much waste left over.

I said it before that a great conference stands and falls with the passion of the organisers. And the people behind ScriptConf were endearingly scared and amazed by their own success. There were no outrageous demands, no problems that came up in the last moment, and above all there was a refreshing feeling of excitement and a massive drive to prove themselves as a new conference in a country where JavaScript conferences aren’t a dime a dozen.

ScriptConf grew out of 5 different meetups in Austria. It had about 500 extremely well behaved and excited attendees. The line-up of the conference was diverse in terms of topics and people and it was a great “value for money” show.

As a presenter you got spoiled. The hotel was 5 minutes walk away from the event and 15 minutes from the main train station. We had a dinner the day before and a tour of a local ars electronica center before the event. It is important to point out that the schedule was slightly different: the event started at noon and ended at “whenever” (we went for “Leberkäse” at 3am, I seem to recall). Talks were 40 minutes and there were short breaks in between each two talks. As the opening keynote presenter I loved this. It is tough to give a rousing talk at 8am whilst people file slowly into the building and you’ve still got wet hair from the shower. You also have a massive lull in the afternoon when you get tired. It is a totally different thing to start well-rested at noon with an audience who had enough time to arrive and settle in.

Presenters were from all around the world, from companies like Slack, NPM, Ghost, Google and serverless.

The presentations:

Here’s a quick roundup of who spoke on what:

  • I was the opening keynote, talking about how JavaScript is not a single thing but a full development environment now and what that means for the community. I pointed out the importance of understanding different ways to use JavaScript and how they yield different “best practices”. I also did a call to arms to stop senseless arguing and following principles like “build more in shorter time” and “move fast and break things” as they don’t help us as a market. I pointed out how my employer works with its engineers as an example how you can innovate but also have a social life. It was also an invitation to take part in open source and bring more human, understanding communication to our pull requests.
  • Raquel Vélez of NPM told the history of NPM and explained in detail how they built the web site and the NPM search
  • Nik Graf of Serverless covered the serverless architecture of AWS Lambda
  • Hannah Wolfe of Ghost showed how they moved their kickstarter-funded NodeJS based open blogging system from nothing to a ten people company and their 1.0 release explaining the decisions and mistakes they did. She also announced their open journalism fund “Ghost for journalism”
  • Felix Rieseberg of Slack is an ex-Microsoft engineer and his talk was stunning. His slides about building Apps with Electron are here and the demo code is on GitHub. His presentation was a live demo of using Electron to built a clone of Visual Studio Code by embedding Monaco into an Electron Web View. He coded it all live using Visual Studio Code and doing a great job explaining the benefits of the console in the editor and the debugging capabilities. I don’t like live code, but this was enjoyable and easy to follow. He also did an amazing job explaining that Electron is not there to embed a web site into a app frame, but to allow you to access native functionality from JavaScript. He also had lots of great insight into how Slack was built using Electron. A great video to look forward to.
  • Franziska Hinkelmann of the Google V8 team gave a very detailed talk about Performance Debugging of V8, explaining what the errors shown in the Chrome Profiler mean. It was an incredibly deep-tech talk but insightful. Franziska made sure to point out that optimising your code for the performance tricks of one JavaScript engine is not a good idea and gave ChakraCore several shout-outs.
  • Mathieu Henri from Microsoft Oslo and JS1K fame rounded up the conference with a mind-bending live code presentation creating animations and sound with JavaScript and Canvas. He clearly got the most applause. His live coding session was a call to arms to play with technology and not care about the code quality too much but dare to be artsy. He also very much pointed out that in his day job writing TypeScript for Microsoft, this is not his mode of operation. He blogged about his session and released the code here.

This was an exemplary conference, showing how it should be done and reminded me very much of the great old conferences like Fronteers, @media and the first JSConf. The organisers are humble, very much engaged and will do more great work given the chance. I am looking forward to re-live the event watching the videos and can safely recommend each of the presenters for any other conference. There was a great flow and lots of helping each other out on stage and behind the scenes. It was a blast.