Pull to refresh

My feed

Type
Rating limit
Level of difficulty
Warning
To set up filters sign in or sign up
Article

Russian speaking IT presales and passing interviews to the West

Reading time6 min
Views1.5K

Russian speaking IT presales and passing interviews to the West

I'm Paul Karol an American and I've been living in Russia and working internationally with businesses for the last 10 years. My first client was a Gazprom high level director and we worked on international communication and connections with the West and China.

I am the keynote speaker in many events and also give companywide training for companies that interact with other countries. I have been working deeply with The IT community of Russia for 6 years. My job is to make them pass their project interviews. Also I work with the presales and make sure that the company gets the projects that they want.

I'm the expert on Russia, Chinese and the  Western cultural relations.

First: if your company is just beginning to approach the Western market including America you want to have success in the beginning. If you're successful at passing the first few presale meetings or project interviews your reputation will be established. If you fail a few interviews or presales then you start to develop a reputation.

@paulkarolgibrelstions4767
Article

Writing an interpreter (virtual machine) for a simple byte-code + JIT compilation

Level of difficultyMedium
Reading time10 min
Views2.2K

There are two articles on Russian, the author of which writes a virtual machine (interpreter) for executing a simple bytecode and then applies different optimizations to make this virtual machine faster. Besides that, there is a compiler of a simple C-like language into this bytecode. After reading this article and getting familiar with the compiler, I thought that it would be interesting to try writing a virtual machine for this language that would be able to apply JIT-compilation to this bytecode with the libjit library. This article describes the experience of doing that.

I found several articles online that describe the usage of this library, but those that I saw, describe the compilation of concrete programs with libjit, while I was interested in compiling arbitrary bytecode. For people interested in further reading, there is an official titorial, a series of articles and a series of comparisons (in Russian).

The implementation was done in C++ because we aren`t playing games here. All my code is in my repository. The "main" branch has just the interpreter of the PigletVM bytecode; "labels-with-fallbacks" has a partial JIT compilation implementation (that doesn`t support JUMP instructions), "full-jit" has fully working JIT-compilationl; "making-jit-code-faster" makes code generated by JIT work faster and "universal-base-vm*" branches merge the interpreter and JIT-compilation implementations, by implementing a base generalised executor, which can be used for different implementations of PigletVM (both the interpreter and libjit compilation)

Read more
Article

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

Level of difficultyMedium
Reading time6 min
Views2.2K

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
Article

React Custom Hook: useFetch

Level of difficultyMedium
Reading time2 min
Views5.3K

One of the key advantages of useFetch is its simplicity. By abstracting away the fetch logic into a reusable hook, developers can quickly and effortlessly make HTTP requests and handle responses without repetitive boilerplate code. With just a few lines, useFetch handles the network request, parses the JSON response, and provides the resulting data.

Read more
Article

Handling multidisciplinary project development

Level of difficultyMedium
Reading time4 min
Views913

Multidisciplinary project emerges when multiple teams with different expertise areas join to create a product. Despite the fact the product development is not something happining merely my a wish, product leads often perceive it as an easy walk. Usually this easy walk becomes a crash course. Let's uncover what leads to crash and what is necessary to succeed.

Read more
Article

ATM security analysis 3.0: PHDays 12 in review

Reading time8 min
Views920

 Python, Java, C++, Delphi, PHP—these programming languages were used create a virtual crypto ATM machine to be tested by the participants of the $NATCH contest at Positive Hack Days 12. The entire code was written by ChatGPT and proved to be exceptionally good. This time, we had reviewed the contest concept and decided to use a report system. In addition to standard tasks (kiosk bypass, privilege escalation, and AppLocker bypass), this year's participants faced new unusual tasks. Read on below to find out which ones.

Read more
Article

React Custom Hook: useEventListener

Level of difficultyMedium
Reading time2 min
Views2K

The useEventListener hook is a versatile tool that can be used in a wide range of scenarios. Whether you need to capture keyboard events, listen for scroll events, or interact with user input, this hook has got you covered. Its simplicity and elegance make it an ideal choice for any React project, from small-scale applications to large-scale enterprise solutions.

Read more
Article

Let's kill all frameworks at once

Level of difficultyMedium
Reading time14 min
Views6.4K

The general trend of technology development is characterized by surges and declines. Consider, for instance, the mass movement of human bodies. Initially, horses and wagons were used, which gradually evolved into a distinct industry. Then trains appeared abruptly. Horses were quickly forgotten, and the focus shifted to a new avenue. Steam became an object of study and evolved into a complex science. Diesel and electricity developed concurrently. At a certain point, steam engines became obsolete, and everyone transitioned to diesel and electricity. Similarly, we are now transitioning to electric cars that require significantly fewer fluids.

Technologies evolve and function until new technologies completely replace them. I believe we are entering an era where framework and Electron technologies may be eclipsed by generative AI. Let's examine some examples.

Read more
News

Запуск Crew Dragon перенесли на 26 августа; экипаж «Союза» готов к полёту

Reading time1 min
Views1.5K

Компания SpaceX сообщила о переносе полёта к МКС с 25 на 26 августа, причины смены даты не называются. Старт запуска намечен на 10:27 по московскому времени. Тем временем, «Роскосмос» сообщил о том, что экипаж «Союза» прошёл комиссию и готов к полёту. 

Read more
News

Minisforum анонсировала выпуск планшета на Windows с функциями искусственного интеллекта от AMD на базе Ryzen 7040

Reading time1 min
Views1.5K

Производитель компактных настольных компьютеров Minisforum анонсировал планшет на базе Windows с гибридными процессорами AMD Ryzen и фокусировкой на ИИ-инструментах. Сама компания назвала новинку «первым в мире Windows-планшетом 2-в-1 с возможностями искусственного интеллекта Ryzen». 

Read more
News

Перчатки для компьютерного ввода, сделанные изобретателем мыши, выставлены на аукцион

Reading time1 min
Views1.8K

Прототип перчаток для набора текста, разработанный Дугласом Энгельбартом и Валери Ландау в качестве замены клавиатур, выставлен на аукцион. Цена лота на момент публикации составляет $717, следующая ставка $787.

Read more
News

«Коммерсантъ» узнал о возможной покупке сервиса Boosty холдингом VK

Reading time1 min
Views1.5K

My.Games ведёт переговоры с потенциальными покупателями сервиса Boosty, который после блокировки Patreon в России стал одной из самых популярных площадок монетизации контента, пишет «Коммерсантъ» со ссылкой на источники на медиарынке.

Read more
News

«Мегафон» опубликовал финансовую отчётность впервые за два года

Reading time1 min
Views992

Один из крупнейших в России телеком-операторов, «Мегафон», подвёл финансовые итоги первого полугодия 2023 года. По итогам первых шести месяцев 2023 года чистая прибыль «Мегафона» выросла на 133,9% до 26,9 млрд рублей, а выручка — на 13% до 209,89 млрд рублей.

Read more
Article

React Custom Hook: useDeepCompareEffect

Level of difficultyMedium
Reading time3 min
Views3.3K

One of the key advantages of useDeepCompareEffect is its ability to prevent unnecessary re-renders. By performing a deep comparison between the current and previous dependencies, the hook intelligently determines if the effect should be triggered, leading to optimized performance in scenarios where shallow comparisons fall short.

Read more
News

Ушёл из жизни сооснователь Adobe Джон Уорнок

Reading time1 min
Views1.4K

Adobe сообщила о смерти сооснователя компании Джона Уорнока. Он ушёл из жизни 19 августа в возрасте 82 лет.

Уорнок основал Adobe в 1982 году в сотрудничестве с Чарльзом Гешке, с которым он ранее работал в Xerox. Вскоре компания выпустила язык описания страниц PostScript, предназначенный для настольных издательских систем. Сам Джон Уорнок известен как создатель программы Adobe Illustrator и формата PDF.

Read more
Article

React Custom Hook: useDebugInformation

Level of difficultyMedium
Reading time3 min
Views2.6K

The useDebugInformation hook can be applied in various scenarios. For instance, imagine you're working on a complex form component where certain props trigger updates or affect rendering. By utilizing useDebugInformation, you can easily monitor how these props impact your component's performance and whether unnecessary re-renders are occurring. Additionally, the hook can be invaluable when investigating why a specific component is not updating as expected or when fine-tuning optimizations in a performance-critical application.

Read more
Article

LeetCode, Hard: 2818. Apply Operations to Maximize Score. Swift

Level of difficultyHard
Reading time4 min
Views1.3K

Time complexityO(max(nums) * log(max(nums)) + n * log(n)). Accounting for computing prime scores, using the stack to compute next greater elements, and sorting the tuples.

Space complexityO(max(nums) + n). Considering the space required for arrays and the stack used for computation.

Read more
Article

Making Java 8 aware of Let's Encrypt root certificate

Level of difficultyEasy
Reading time3 min
Views2.9K

When using older version of Java with not updated truststore, you may face an error while connecting to web hosts, that Java is unable to find a valid certification path to the requested target.

This happens because JRE truststore is unaware of the new root certificate that is being used by Let's Encrypt nowadays. Below I tried to clarify detail behind this issue and how to solve it. I hope newcomers might find this material helpful.

Read more
News

Минпромторг предложил сделать обязательным выпуск банковских и SIM-карт в России

Reading time2 min
Views1.8K

Все банковские карты, пропуска и другие типы карт с чипами, используемые в России, должны будут производить внутри страны с 2025 года, следует из проекта постановления правительства, который подготовил Минпромторг.

Read more
News

В «Яндекс Картах» появился Ленинградско-Казанский диаметр (МЦД-3)

Reading time1 min
Views1.1K

В «Яндекс Картах» появился Ленинградско‑Казанский диаметр (МЦД-3). Он соединяет Зеленоград и Раменское с пересадками на другие виды транспорта. Сразу после запуска движения диаметр стал отображаться в мобильной и веб‑версии «Яндекс Карт» и «Яндекс Метро», рассказали Хабру в компании.

Read more