People listening to the lecture

Code Europe 2022

Recently I attended the Code Europe 2022 conference in my home city, Warsaw. Conference was located in a rather unusual location – on the stadium. To be more precise it is called Stadion Narodowy or National Stadium. This stadium is rather new and was built in the place of an older, smaller stadium, which in fact served as a market in the first years of capitalism in Poland (https://en.wikipedia.org/wiki/Stadion_Dziesi%C4%99ciolecia). The benefit of using the stadium for the conference was a big car park underneath.

There were six stages at the conference. Four bigger and two smaller. Two of them were real conference spaces, the rest was created ad hoc. Nevertheless both types of bigger spaces served well for the needs of the conference. Smaller were in my opinion not acoustically isolated enough. Conference took only one day but there were many parallel tracks. Almost at every hour all 6 stages were in use. Tracks consisted of following topics: Cybersecurity, Data & AI, Infrastructure/DevOps, Future & Inspire, Programming Languages, Development Execution. I didn’t restrict myself to any subset of those. For each time slot I selected a few interesting positions, and decided on the spot which one to attend.

First lecture I listened to was about connecting web and native mobile apps. The author, Łukasz Beksa works for one of the banks operating in Poland. He advocated for using thin client apps on mobile devices to provide support for device specific features. This way we get the best of both worlds: support for native features of the device and the new content without having to update the application frequently.

Two talks at the conference were related to GitHub. One was given by GitHub employee, Michelle Mannering and was rather general. She was talking about impact of social skills and how they use GitHub inside GitHub company to many other tasks than versioning source code. The second talk was more interesting. Rob Bos from Xpirit was covering GitHub security features including commit signing and Dependabot (slides: https://devopsjournal.io/blog/2022/05/30/Code-Europe).

Rob Bos giving a talk about GitHub security features

One of the most interesting lectures, for me as both a coder and a common person, was the one given by a young girl from Poland: Barbara Klaudel. She was talking about using AI in medicine for tumor classification. She looked very modest and nervous at the conference but now digging in the Internet I found that she has some recognition, at least in Poland. She was chosen as “25 under 25” (https://www.mckinsey.com/pl/careers/25-under-25/finalists) by polish branches of McKinsey and Forbes. During the lecture, Barbara told us that it is possible to create a simulated CT image of an organ that looks as if the patient has been injected with contrast, even though no contrast has been administered. She also told us also that the some AI enabling diagnosis has already been approved in recent years (https://www.nature.com/articles/s41746-020-00324-0/figures/1).

Barbara Klaudel talking about AI in medicine.

The last lecture at the conference was the one I’ve been waiting for the most. It was given by the creator of C++ language: Bjarne Stroustrup. He was only person giving talk, that was accompanied by a guy in a dinosaur suit – the conference mascot. Keeping in mind his grey hair I hope he was not offended 🙂 During lecture Bjarne told us about the evolution of C++ and about the operation of the standardization committee. One of the most interesting facts was that he thinks Concepts introduced in C++20 should be part of the language from the time templates were introduced. He also promised that in C++23 standard library will be available for import as modules.

Bjarne Stroustrup, Code Europe 2022

As usual talks were accompanied by stands with companies looking for employees. When Bjarne finished his lecture they were all gone. It was late. I headed back to the stadium’s garage and returned home. See you next year!

Programming notebooks and online IDEs

Today many tools exist to write and test some code without actually opening any traditional programming IDE or even simple text editor. Many of these tools are in fact web applications. I decided to sum up some of them:

Jupyter Lab, jupyter.org – Powerful notebook with support for many languages. Although Python is the default, built-in programming language, users can install support for many other languages (kernels). Demo is available online. Local instances can be installed with pip or conda. Supported programing languages: Python (built-in), C, C++, R, Ruby, SQL, etc (see https://github.com/jupyter/jupyter/wiki/Jupyter-kernels)

Colaboratory, colab.research.google.com – google’s Python notebook with access to GPUs and TPUs. Based on the Jupyter project. Notebooks can be saved to google drive and shared.

CodeSandbox, codesandbox.io – full blown online IDE focused on web development. It offers creating, testing, and deploying apps written in HTML, JavaScript, TypeScript, Node.JS together with popular frameworks and libraries.

Franchise, franchise.cloud – web SQL notebook with support for many different database backends. Users can easily display data as charts, maps and export results to several file types. Franchise is an open source initiative with a repository hosted on GitHub.

SQL Notebook, sqlnotebook.com – desktop SQL notebook for Windows. Can connect to external databases as well as to built-in SQLite db. Data can be imported and exported.

CodeChef , www.codechef.com/ide – CodeChef site is all about programming challenges. Their simple “IDE” support a few dozen languages including C#, Java, Rust or even the NASM assembler.

OnlineGDB, www.onlinegdb.com – online compiler with debugging. Many languages supported: C++, Java, Objective C, C#, SQL, etc. Code can be shared and stored in an online account.

C++ shell, cpp.sh – simple online c++ compiler with support for capturing input. Rather old, currently up to C++14. GCC is used underneath.

ShaderToy, www.shadertoy.com – show me your shader site. Popular among game developers. Do not launch this page on weak machines: the main page often features heavy shaders. Supported programming language: GLSL (only fragment shader, and custom “sound shader”).

Hello again!

Five years ago I decided that in the age of Twitter, SlideShare and DropBox my own page is not needed any more. Now jpleskot.info is back in the form of a blog.