Pull to refresh
95.88

Interview

Interviews with representatives of the IT industry

Show first
Rating limit
Level of difficulty

How Closures Work and Why It Matters

Level of difficultyMedium
Reading time8 min
Views1.3K

They might sound complicated, but they are actually a fundamental part of the language. In this article, we’ll explore closures in a straightforward and practical way. Let’s clear up common misunderstandings. Walk through real-world examples. Nail those tricky interview questions about closures. By the end, you’ll see closures not as a hurdle, but as a valuable part of your JavaScript toolkit.

Continue Closure Journey

Interview with Stephanie Planque from Covalent Bioscience

Reading time8 min
Views618

What is ageing? We can define ageing as a process of accumulation of the damage which is just a side-effect of normal metabolism. While researchers still poorly understand how metabolic processes cause damage accumulation, and how accumulated damage causes pathology, the damage itself – the structural difference between old tissue and young tissue – is categorized and understood pretty well. By repairing damage and restoring the previous undamaged – young – state of an organism, we can really rejuvenate it! It sounds very promising, and so it is. And for some types of damage (for example, for senescent cells) it is already proved to work!

Today in our virtual studio, somewhere between cold, rainy Saint-Petersburg and warm, sunny Huston, we meet Stephanie Planque! For those of you who are not familiar with her, here is a brief introduction.

Stephanie Planque was awarded the PhD in 2009 by the University of Texas-Houston Medical School for her advances in applying electrophilic analogs of proteins to decipher the beneficial and harmful functional effects of catabodies. She then expanded her focus to vaccination and therapeutic catabody identification using proprietary electrophilic target analogs. Her work was published in 49 peer-reviewed scientific articles, she has numerous national/international conference presentations. She moved fulltime as a co-founder to Covalent Bioscience in 2018 to focus on rapidly translating their electrophilic vaccine/catabody technologies to clinical reality.

Read more

How to conduct UX brainstorming sessions effectively: tips and methods that work

Level of difficultyMedium
Reading time6 min
Views2K

Brainstorming is a popular working method which is commonly used by UX design teams. It involves a group of designers meeting (whether offline or via video call) and generating as many ideas as possible to find the best solution to a specific problem or come up with creative design ideas. Brainstorming sessions are usually held at the start of a UX project so that designers could use the ideas they think are the best later in the process of product creation. These sessions can vary in duration and form depending on which problems need to be solved, how many people participate and how many ideas need to be generated. 

Read more

Algorithms in Go: Bit Manipulation

Reading time5 min
Views3.6K

This article is a part of Algorithms in Go series where we discuss common algorithmic problems and their solution patterns.


In this edition, we take a closer look at bit manipulations. Bit operations can be extremely powerful and useful in an entire class of algorithmic problems, including problems that at first glance does not have to do anything with bits.


Let's consider the following problem: six friends meet in the bar and decide who pays for the next round. They would like to select a random person among them for that. How can they do a random selection using only a single coin?



The solution to this problem is not particularly obvious (for me:), so let's simplify a problem for a moment to develop our understanding. How would we do the selection if there were only three friends? In other words, how would we "mimic" a three-sided coin with a two-sided coin?

Read more →

Algorithms in Go

Reading time2 min
Views5.6K

Most solutions to algorithmic problems can be grouped into a rather small number of patterns. When we start to solve some problem, we need to think about how we would classify them. For example, can we apply fast and slow аlgorithmic pattern or do we need to use cyclic sortpattern? Some of the problems have several solutions based on different patterns. In this series, we discuss the most popular algorithmic patterns that cover more than 90% of the usual problems.

It is different from High-School Algorithms 101 Course, as it is not intended to cover things like Karatsuba algorithm (fast multiplication algorithm) or prove different methods of sorting. Instead, Algorithmic Patterns focused on practical skills needed for the solution of common problems. For example, when we set up a Prometheus alert for high request latency we are dealing with Sliding Window Pattern. Or let say, we organize a team event and need to find an available time slot for every participant. At the first glance, it is not obvious that in this case, we are actually solving an algorithmic problem. Actually, during our day we usually solve a bunch of algorithmic problems without realizing that we dealing with algorithms.

The knowledge about Algorithmic Patterns helps one to classify a problem and then apply the appropriate method.

But probably most importantly learning algorithmic patterns boost general programming skills. It is especially helpful when you are debugging some production code, as it trains you to understand the execution flow.

Patterns covered so far:

Sliding Window I

Sliding Window II

Merge Intervals

Dutch National Flag

Matrix Spiral

Iterative Postorder Traversal

Bit Manipulation

Stay tuned :)

<Promo> If you interested to work as a backend engineer, there is an open position in my squad. Prior knowledge of Golang is not required. I am NOT an HR and DO NOT represent the company in any capacity. However, I can share my personal experience as a backend engineer working in the company. </Promo>

Read more

Algorithms in Go: Iterative Postorder Traversal

Reading time3 min
Views3K

In this article, we discuss the postorder traversal of a binary tree. What does postorder traversal mean? It means that at first, we process the left subtree of the node, then the right subtree of the node, and only after that we process the node itself.

Why would we need to do it in this order? This approach solves an entire class of algorithmic problems related to the binary trees. For example, to find the longest path between two nodes we need to traverse the tree in a postorder manner. In general, postorder traversal is needed when we cannot process the node without processing its children first. In this manner, for example, we can calculate the height of the tree. To know the height of a node, we need to calculate the height of its children and increment it by one.

Let's start with a recursive approach. We need to process the left child, then the right child and finally we can process the node itself. For simplicity, let's just save the values into slice out.

Read more

Research in rejuvenation biotechnology – where are we now?

Reading time2 min
Views1.5K


Certainly this event is an example of some of the people in our longevity community coming in and just taking over a little bit of somebody else's conference to talk about longevity… but really exposing the rest of the community to it. I'm finding that at every event I go to, I'd really love to have conference presentations where I get to talk about some interesting thing about the longevity industry, because there are a lot of really interesting things going on.

But every presentation turns out to be «hey, we exist, please notice us — because this is really, really important.» Everything that you guys think that you are doing in medicine is about to be up-ended, because suddenly we're going to be actually able to stop people from getting sick and incapacitated and debilitated in old age. This is happening right now, the first rejuvenation therapies exist. But nobody notices.
Read more →

Make it easier to get finished: Interview with John Romero, developer of Doom

Reading time12 min
Views5.9K
At the last Tech Train IT festival, we met the legendary John Romero, who designed and developed the iconic Wolfenstein 3D, Doom, and Quake. We talked about whether game developers need soft skills, which working tools to pay attention to, and which co-founder of Id Software's favorite toys are. Questions were asked by Nikita Tsaplin, the founder of RUVDS.


→ Text and video in Russian

Finally, rejuvenation is a thing

Reading time6 min
Views3.3K

Preface


What is ageing? We can define ageing as a process of accumulation of the damage which is just a side-effect of normal metabolism. While researchers still poorly understand how metabolic processes cause damage accumulation, and how accumulated damage causes pathology, the damage itself – the structural difference between old tissue and young tissue – is categorized and understood pretty well. By repairing damage and restoring the previous undamaged – young – state of an organism, we can really rejuvenate it! It sounds very promising, and so it is. And for some types of damage (for example, for senescent cells) it is already proved to work!

Today in our virtual studio, somewhere between cold, rainy Saint-Petersburg and warm, sunny Mountain View, we meet Aubrey de Grey, again! For those of you who are not familiar with him, here is a brief introduction.
Read more →

Lua in Moscow 2019: Interview with Roberto Ierusalimschy

Reading time19 min
Views2.6K


Some time ago, the creator of Lua programming language, Roberto Ierusalimschy, visited our Moscow office. We asked him some questions that we prepared with the participation of Habr.com users also. And finally, we’d like to share full-text version of this interview.
Read more →

The big interview with Martin Kleppmann: “Figuring out the future of distributed data systems”

Reading time25 min
Views2.9K


Dr. Martin Kleppmann is a researcher in distributed systems at the University of Cambridge, and the author of the highly acclaimed «Designing Data-Intensive Applications» (O'Reilly Media, 2017). 

Kevin Scott, CTO at Microsoft once said: «This book should be required reading for software engineers. Designing Data-Intensive Applications is a rare resource that connects theory and practice to help developers make smart decisions as they design and implement data infrastructure and systems.»

Martin’s main research interests include collaboration software, CRDTs, and formal verification of distributed algorithms. Previously he was a software engineer and an entrepreneur at several Internet companies including LinkedIn and Rapportive, where he worked on large-scale data infrastructure.

Vadim Tsesko (@incubos) is a lead software engineer at Odnoklassniki who works in Core Platform team. Vadim’s scientific and engineering interests include distributed systems, data warehouses and verification of software systems.

Contents:


  • Moving from business to academic research;
  • Discussion of «Designing Data-Intensive Applications»;
  • Common sense against artificial hype and aggressive marketing;
  • Pitfalls of CAP theorem and other industry mistakes;
  • Benefits of decentralization;
  • Blockchains, Dat, IPFS, Filecoin, WebRTC;
  • New CRDTs. Formal verification with Isabelle;
  • Event sourcing. Low level approach. XA transactions; 
  • Apache Kafka, PostgreSQL, Memcached, Redis, Elasticsearch;
  • How to apply all that tools to real life;
  • Expected target audience of Martin’s talks and the Hydra conference.

Read more →

The one who resurrected Duke Nukem: interview with Randy Pitchford, magician from Gearbox

Reading time38 min
Views3.9K
RUVDS and Habr continue the series of interviews with interesting people in IT field. Last time we talked to Richard «Levelord» Gray, level designer of popular games Duke Nukem, American McGee’s Alice, Heavy Metal F.A.K.K.2, SiN, Serious Sam, author of well-known «You’re not supposed to be here» phrase.

Today we welcome Randall Steward «Randy» Pitchford II, president, CEO and co-founder of Gearbox Software video game development company.

Randy started in 3D Realms where contributed to Duke Nukem 3D Atomic Edition and Shadow Warrior. Then he founded Gearbox Software and made Half-Life: Opposing Force, which won D.I.C.E in 2000. Other Gearbox titles include Half-Life: Blue Shift, Half-Life: Decay, Counter-Strike: Condition Zero, James Bond 007: Nightfire, Tony Hawk's Pro Skater 3, Halo: Combat Evolved and of course Borderlands.

The interview team also includes editor of Habr Nikolay Zemlyanskiy, Richard «Levelord» Gray, Randy’s wife Kristy Pitchford and Randy’s son Randy Jr.


Thoughts On Elixir: Pros And Cons Of The Most Popular Tool For High-Load Dev

Reading time4 min
Views12K


Why is Elixir/Phoenix achieving such a high rate of adoption in the software development industry? What are the best use cases of this language? Are there any drawbacks when using it? We talked to Sergiy Kukunin, a full-stack developer at Spotlight and an Elixir expert, to find answers to these and other questions.
Read more →

How I discovered an easter egg in Android's security and didn't land a job at Google

Reading time11 min
Views34K
Google loves easter eggs. It loves them so much, in fact, that you could find them in virtually every product of theirs. The tradition of Android easter eggs began in the very earliest versions of the OS (I think everyone there knows what happens when you go into the general settings and tap the version number a few times).

But sometimes you can find an easter egg in the most unlikely of places. There’s even an urban legend that one day, a programmer Googled “mutex lock”, but instead of search results landed on foo.bar, solved all tasks and landed a job at Google.

Reconstruction
image

The same thing (except without the happy ending) happened to me. Hidden messages where there definitely couldn’t be any, reversing Java code and its native libraries, a secret VM, a Google interview — all of that is below.
Read more →

Levelord, an Ordinary Moscow Resident: Interview with the Creator of Duke Nukem

Reading time20 min
Views6.4K
RUVDS together with Habr.com continues the series of interviews with interesting people in computer field. Previously we met Boris Yangel, who heads AI development of Yandex’s Alice voice assistant.

Today we bring you an interview with Richard (Levelord) Gray — level designer of such legendary games as Duke Nukem, American McGee Alice, Heavy Metal F.A.K.K.2, SiN, and Serious Sam. And he is the one who coined the famous phrase «You are not supposed to be here». Richard was born and spent most of his life in USA, but several years ago he moved to Moscow to his russian wife and daughter.

These who speak to Richard are Nick Zemlyanskiy, editor of Habr.com, and Nikita Tsaplin, co-founder and managing partner of RUVDS company.


→ Text and video in Russian

Meet A Content Strategist: An Interview with Dmitry Kabanov, Techstars Startup Digest curator and SXSW Advisor

Reading time3 min
Views934
Dmitry learned the language of business but I think about the world as an engineer. He works with tech brands to create content and promote corporate culture at scale. Apart from it, he is one of the veterans at Techstars Startup Digest, and he is acting as an advisor for the SXSW tech festival.

Here is his interview with the LAMA app platform.

Read more →

Is Haskell really the language of geniuses and academia?

Reading time9 min
Views27K


I once had a discussion with a founder of an Israeli startup developing a GPU-based database with a focus on speed. The work stack included Haskell and C++, among others, and the founder was complaining about how hard it is to find competent programmers. Which was part of the reason he came to Moscow.

I carefully asked if they considered using something more popular and new. And even though the answer was rather polite and well-supported with arguments, it still sounded like “Come on, don’t even bring up these toys”.

Until then, all I heard about Haskell could be summarized as “be VERY careful in dealing with it”. To get to know Haskell programmers better, I came to a topical Telegram chat with some questions. I was quite afraid at first, and, as it turned out, I was right.

Haskell doesn’t lend itself to popular explanation, and people seemingly don’t even try. If the topic is ever brought up, it’s only talked about in full depth and as objectively as possible. Someone wrote to me: “One of the defining features of both Haskell itself and its community is that they didn’t try to achieve any kind of mainstream recognition. Instead, they focused on building a logical, principal way of solving real problems over trying to appease the widest audience possible”

Nevertheless, a couple of people did tell me about their experiences, which are shown below.
Read more →

“I can tell you about the pain every iOS developer has in the ass” — 10 questions to a developer, episode 2

Reading time7 min
Views3.6K


Seems like everyone enjoyed the pilot episode, and we’re still sure that people “behind the scenes” can be as exciting as IT celebrities we all know and love. And maybe even more, because they talk about real problems and real solutions. This week we asked 10 questions to a person behind the development of Yandex.Maps for iOS.

$10 million in investments and Wozniak's praise — creating an educational computer for children

Reading time14 min
Views2.1K
We interviewed Mark Pavluykovskiy — the creator of the Piper educational computer. We asked him about immigrating from Ukraine to the US, how he almost died in Africa, graduated from Princeton, dropped out of a doctorate in Oxford and created a product that deserved a praise from Satia Nadella and Steve Wozniak.



In mid-October the Sistema_VC venture capital fund hosted a conference called Machine Teaching, where creators of various educational startups assembled to talk about technical advancements.

The special guest was Mark Pavluykosvkiy, the creator of Piper. His company created an educational computer — a children’s toy that, using wires, circuit boards and Minecraft teaches programming and engineering to children. A couple of years ago Mark completed a successful Kickstarter campaign, got a couple of Silicon Valley investors on board and raised around $11 million dollars in investments. Now he’s a member of Forbes’ “30 under 30” list, while his project is used by Satia Nadella and Steve Wozniak, among others.

Mark himself is a former Princeton and Oxford student. He was born in Ukraine, but moved to the US with his mother when he was a child. In various interviews Mark claimed that he doesn’t consider himself a genius, but simply someone who got very lucky. A lot of other people aren’t so lucky, however, and he considers it unfair. Driven by this notion, during his junior year he flew to Africa, where he almost died.
1

Authors' contribution