Designing for Success: Crafting Effective Learning Experiences
The Challenge of Mandatory Learning
Once we had several mandatory learning courses designed to be passed successfully by all employees. Still, many of them struggled to do so. Reminder emails to all participants could not solve the issue. And that is when my team was summoned to develop a thorough plan to reduce the number of overdue courses to a minimum. Of course, we were asked to develop something fun and engaging.
Uncovering the Root Problems
While working on the project, we managed to uncover several problems with course assignments, including the fact that they were not offered just in time, there were too many of them, and all of them had different due dates, which made it impossible to remember when to complete them. Additionally, we found that the content itself was often dry and unengaging, further contributing to the lack of motivation among employees. Finally, we came up with a system of notifications that included clear explanatory reminder emails, an escalation system, and a redesign of the course content to make it more interactive and relevant to employees\' daily work. The result was almost no overdue courses after system integration.
The Myth of Mandatory Fun
So the case first seemed to be about motivation and engagement, but it is actually about smart course design that allows people to worry about work tasks instead of worrying about course assignments. It\'s also about creating content that resonates with the learners and helps them see the value in the training.
7 tips to make video learning more effective
While video-based learning continues to rank high in the latest trends, there are a few points that are regularly overlooked in the production of learning videos, with a focus on user experience (UX) and user interaction
People really enjoy watching videos. According to a survey conducted among consumers worldwide, respondents watched an average of 19 hours of online video content per week in 2022. And nearly half of all internet users watch online videos at least once a week.
React Custom Hook: useOnlineStatus
One of the main advantages of "useOnlineStatus" is its simplicity. By importing and using this hook in your component, you can effortlessly access the online status of the user. The hook internally uses the "navigator.onLine" property to determine the initial online status and dynamically updates it whenever the user\'s connectivity changes.
How we took part in Ludum Dare
We are the Arcane Gaming development team, developing games since 2021. As of now, we have two major projects: Fanbattle and Suetologia. The time has come for us to take part in the Ludum Dare gaming hackathon for the first time.
MSSQL: Table Rebuild and Reorg in highload 24/7 Environments
How do you deal with index fragmentation if your SQL server is working in high load environment with 24/7 workload without any maintenance window? What are the best practices for index rebuild and index reorganize? What is better? What is possible if you have only Standard Edition on some servers? But first, let\'s debunk few myths.
Myth 1. We use SSD (or super duper storage), so we should not care about the fragmentation. False. Index rebuild compactifies a table, with compression it makes it sometimes several times smaller, improving the cache hits ratio and overall performance (this happens even without compression).
Myth 2. Index rebuild shorten SSD lifespan. False. One extra write cycle is nothing for the modern SSDs. If your tempdb is on SSD/NVMe, it is under much harder stress than data disks.
Myth 3. On Enterprise Edition there is a good option: ONLINE=ON, so I just create a script with all tables and go ahead. False. There are tons of potential problems created by INDEX REBUILD even with ONLINE and RESUMABLE ON - so never run index rebuilds without controlling the process.
Finally, we will tackle the REBUILD vs REORGANIZE subject and what is possible to achieve if you have only Standard Edition.
Detection of meterpreter sessions in Windows OS
Introduction
Hello Habr! This is a translation of my first article, which was born due to the fact that I once played with the types of meterpreter payload from the Metasploit Framework and decided to find a way to detect it in the Windows OS family.
Analysis
I will try to present everything in an accessible and compact way without delving into all the work. To begin with, I decided to create the nth number of useful loads (windows/meterpreter/reverse_tcp, shell/bind_tcp, shell_hidden_bind_tcp, vncinject/reverse_tcp, cmd/windows/reverse_powershell) to analyze what will happen in the system after their injection.
Exploring FIFO principles using an HDL training tool
Ссылка на русскую версию / link to Russian version
FIFO is a key concept in hardware design. Understanding of FIFO is necessary for understanding the valid/ready protocol, which in turn is necessary for organisation of flow-control within a design.
Unfortunately, there are very few books on this topic, and to be fair, microarchitectural concepts are quite difficult to master from books, since understanding of these concepts are coming with practice. In other words it is more about developing hardware intuition.
The idea of the HDL training tool is that it can help develop a hardware intuition, providing the opportunity to explore ready-made scenarios in a step-by-step interactive way. The tool also provides detailed visualization of a simulated scenario.
Since the tool is a front-end for the HDL simulator, the real, synthesized SystemVerilog is executed on the simulator itself, which can be viewed and even modified.
So, the video of exploring FIFO on the training tool is here:
PostgreSQL 17: Part 1 or Commitfest 2023-07
We continue to follow the news in the world of PostgreSQL. The PostgreSQL 16 Release Candidate 1 was rolled out on August 31. If all is well, PostgreSQL 16 will officially release on September 14.
What has changed in the upcoming release after the April code freeze? What\'s getting into PostgreSQL 17 after the first commitfest? Read our latest review to find out!
React Custom Hook: useMediaQuery
One of the key advantages of this custom hook is its simplicity and reusability. With just a few lines of code, you can effortlessly implement responsive behavior throughout your application. Whether you need to conditionally render components, apply specific styles, or trigger different functionality based on screen size, useMediaQuery has got you covered.
Becoming a UX designer: why is it worthy and what do you need to start
If you are at the beginning of your educational path in IT, or contemplating about making changes in your career and starting learning UX design, you might have some doubts and uncertainties on whether UX design is something worth studying and working in right now. We can dispel your doubts: UX designers are very required in the majority of companies, since they help to make products appealing to users, thus raising the companies income and enhancing their reputation. Professionals in this sphere are in high demand right now, and
Create a native Kotlin application with Spring Boot Native, Gradle, and GraalVM without Docker for MacOS and Windows
In this tutorial, I want to talk about the practical experience of native compilation of a production application written in Kotlin with Spring Boot and Gradle using GraalVM. I’ll start right away with the pros and cons of the native compilation feature itself and where it can be useful, and then I’ll move directly to the build process for MacOS and Windows.
At the end of the article, in the afterword block, I will talk in more detail about the project and why such a need arose, given quite a few limitations and pitfalls of supporting native compilation both from Spring Boot and from GraalVM.
Best distributed task scheduling framework — Openjob 1.0.7 released
Openjob is a new distributed task scheduling framework based on Akka architecture. Supports multiple cronjob, delay task, workflow, lightweight distributed computing, unlimited horizontal scaling, with high scalability and fault tolerance. Also has complete management, powerful alarm monitoring, and support multiple languages
React Custom Hook: useLongPress
One of the key advantages of useLongPress is its simplicity. By utilizing this hook, developers can easily define a long-press action on any element in their React application. With just a few lines of code, the hook takes care of handling the intricacies of tracking the long-press duration and triggering the associated callback function.
React Custom Hook: useGeolocation
One of the key advantages of useGeolocation is its simplicity. By encapsulating the complex logic required for geolocation access and handling, this hook provides a clean and reusable solution. The hook automatically handles the loading state, updating it when geolocation data is being fetched, and sets the error state if any issues arise during the process.
Writing an interpreter (virtual machine) for a simple byte-code + JIT compilation
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)
React Custom Hook: useFetch
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.
ATM security analysis 3.0: PHDays 12 in review
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.
Complexity in Software Engineering
This text is a compilation of author’s experience, written to provide new juniour/middle teammates the basis to start developing computational intensive or/and ML based systems. It will take you about 5-10 minutes for reading.
React Custom Hook: useEventListener
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.
Let\'s kill all frameworks at once
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.
Setting Up an Experiment Environment for Data-Driven Product Development
As a product owner, it is common to face the question of whether to proceed with option A or option B. Or, which version of the screen should be implemented to achieve better results? Making such decisions can be challenging, especially when you are under tight deadlines with limited resources. Furthermore, such decisions are made based on personal judgment or copying the approach of a competitor, which can lead to suboptimal results.
The good news is that one can avoid such pitfalls by setting up a simple experiment environment that requires relatively low effort. In this article, we will describe how you can achieve this.
React Custom Hook: useDeepCompareEffect
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.
Business Process Management Part 2. How to
This article is written in a how-to style. It is based on my personal experience and opinions, so it may omit some steps that are common in BPM practice but that I have not encountered in my work. The topic is broad, and each section deserves a separate article. Therefore, if you are interested in a specific topic, please comment, and I will prepare a more detailed description.
Stand on two legs with code review
The problem
Unfortunately, when fulfilling their planned business goals, the departments of the organisation rarely take into account such a metric as solution code quality. And usually developers has no time for normal code review process.
On Computational Nature of Reality
I explain experimental results of Bell’s Theorem by superdeterminism. I follow with insights into how such a universe may arise and be compatible with the subjective experience of free will.
LeetCode, Hard: 2818. Apply Operations to Maximize Score. Swift
Time complexity: O(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 complexity: O(max(nums) + n)
. Considering the space required for arrays and the stack used for computation.
The Growing Field of Fraud Prevention: Insights and Career Opportunities
Hi Everyone,
I would like to draw your attention to some key insights from two comprehensive reports, shedding light on the importance of fraud prevention as a burgeoning field with substantial job prospects. The original reports can be accessed through the link provided at the end of this message.
Firstly, let\'s consider a couple of significant events from the previous year that remain highly relevant. Retail e-commerce sales surged to a staggering $5 trillion, with projections indicating a further increase to $8 trillion by 2026. Furthermore, the percentage of shoppers making cross-border purchases rose from 69% in 2019 to an impressive 76%.
These statistics affirm that online shopping is not a passing trend, as consumers are willing to make purchases from international vendors, even if it means enduring longer delivery times in exchange for lower prices. From a fraud prevention perspective, this highlights the escalating number of non-domestic payments and the rise in the use of lost or stolen cards for purchasing goods that can be resold in the future. Notably, refund fraud is becoming increasingly prevalent. However, many businesses have adapted their protocols to accommodate these emerging challenges. One such positive development is the gradual disappearance of restrictions on using payment methods that do not match the account country.
As cross-border purchases continue to proliferate, alternative payment methods are also on the rise. Current global statistics indicate that an average of four payment options are now available on merchant platforms. Additionally, open banking payment transactions are projected to surpass $330 billion globally by 2027, leading to a greater diversity of alternative payment methods. As companies embrace these methods, they are also becoming more aware of the associated risks. For instance, direct banking payment methods present unique challenges as they lack refund capabilities, while Buy Now Pay Later (BNPL) options introduce their own set of risks.
React Custom Hook: useDebugInformation
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.
What is it about IT. And when will it all end
Yes, we need IT
The foundation of our civilization is tools. We didn\'t just evolve to a state that allowed us to use them, we began to improve them ourselves. The tools are becoming more intricate, more efficient and more perfect. It can be a hammer, an industrial robot, or a monetary relationship.
Some of our tools are difficult to grasp or comprehend, they are more like an element or a subject of study: the Internet, the media, the transport system. It is even difficult to call them tools, rather it is a reflection of our activities. For simplicity, we will call everything that people do with their own hands a tool, meaning that they speed us up, make our life easier and more comfortable.
Why do we need tools? On the one hand, they help to solve emerging problems, on the other hand, they raise the standard of living. We enjoy creating tools. I would say it\'s one of our instincts.
For the functioning of our body, we need some amount of mathematics. The processes in our head reflect this math into our language. We can write the language in the form of symbols. With the help of symbols, we can convey the discovery of one person to another or a thousand others. This allows us to build more and more complex tools. And most importantly, we really like it: the brain encourages us every time we invent or achieve something. Therefore, our tools are developing with us. The mechanisms of their development and improvement are sewn into us.
Migratory birds fly south in autumn, north in spring. It\'s their instinct. Ants build an anthill — it\'s their instinct. If people are left in satiety and peace, they begin to encode secret messages in the Bible, create complex etiquette, form mathematics, experiment with materials.
lsFusion: Open-Source Rapid Application Development Platform
lsFusion platform is designed for rapid development of business applications. It is distributed under the terms of a Lesser General Public License (LGPLv3). The source code of the platform is available on Github.
lsFusion is best suited for creating complex systems with large numbers of entities and forms, where users need to input and process large amounts of data. However, the platform can also be used to quickly create simple applications instead of spreadsheets when Excel’s functionality is not enough.
At the same time the use of the platform will not give a great advantage when developing applications aimed at interaction with a large number of “external” users or without the need for any complex calculations. You should also take into account that the web interface is a single page application using JavaScript. Therefore, the lsFusion platform is not well-suited for creating websites, for example.
BCM & Operational resilience: yesterday, today, and tomorrow. Where has it come from and what comes next?
Recently, The BCI, one of the leading institutes working in the field of organizational resilience and business continuity, issued its regular report BCI Operational Resilience Report 2023 in collaboration with Riskonnect, who work with risk management solutions.
One of the questions they asked the respondents was if there was a difference between organizational resilience and operational resilience. As the answers demonstrated, for most respondents (and in most companies) these terms were used as synonyms. Having studied the report, the colleagues brought up another matter – The BCI introduced the new term of "organizational resilience" in addition to "business continuity" and "operational resilience".
If we search Habr for "Business Continuity", "DRP", "BCP", or "BIA", we’ll find quite enough posts by my colleagues (I’ve met some of them face to face and worked with the others) about data system recovery, data system testing, fault-tolerant infrastructure, and some other things. Yet, hardly any of them explain where all of it has come from, how it is changing, where it is heading – and why.
I thought the time has come to change the situation for the better and answer some of the questions like where business continuity provisions and operational resilience has come from, how they are changing, and where this trend is heading and why. To share my thoughts about development of the industry and its current de-facto state in case of a mature (or not too mature) introduction level – some things I’ve stated for my own use.
Business Continuity and Operation Resilience on paper vs. for real
Hello, my reading friends!
My previous post (rus) on Habr was about how the Business Continuity Management function started, as well as about its relations with other corporate functions. In fact, it was quite theoretical.
This time, I’d like to tell you about some practical vectors of procedures and tools implementation as regards to Business Continuity Management, or BCM, along with Operational Resilience, or OpRes. Plus some real initiatives that can follow the BCM & OpRes implementation in a company and the associated with it investigation of the corporate landscape and procedures.
Agile vs Waterfall by eyes of developer
I have been working in Agile since 2017 in several projects.
And I would like to note here a couple of moments from real experience through the eyes of developer role in project.
Hope it will be helpful for you!
AI for Software Business Analysis
Generative AI is creating waves in the way we work, significantly revolutionizing the software development process. AI tools are appearing in various phases of software development, such as design, development, and testing. However, there aren\'t many tools specifically focused on software business analysis tasks.
But with a little creative thinking, we can put "one-size-fits-all" applications like ChatGPT to good use. It can definitely speed up execution of many typical tasks and free up analysts to focus on the more challenging, strategic aspects of the job.
Sora AI: Hype or Hero? Let’s Dive Deep (Limitations, Hidden Feature & More!)
I want you to know all the latest information, which is why in today’s article, I’ll talk about the mind-blowing AI that was released a few days ago! If you want to know more details, please read this article till the end!
The Role of the Technical Writer in the AI Revolution: Bridging the Gap between Technology and Communication
AI technologies offer unprecedented opportunities for innovation, efficiency, and growth in such industries as advanced machine learning algorithms or intelligent automation systems. However, to harness the power of AI, effective communication becomes paramount.
The growing impact of AI in modern business is undeniable. Organizations leverage AI to automate processes, gain insights from vast amounts of data, personalize customer experiences, and make informed decisions. Yet, the complex nature of AI technology often creates a significant gap between AI capabilities and the understanding of its users.
Here the role of a technical writer becomes crucial. Technical writers act as a bridge between AI technology and its users, ensuring that complex concepts have a clear, concise, and user-friendly manner of speaking. They are the main participants in making AI accessible to a broader audience, facilitating adoption, and maximizing its potential.
Effective communication is essential to reduce the gap between AI technology and its users. While AI systems may be sophisticated and comprehensive, their impact can be weak without proper understanding and utilization. Technical writers contribute to the success of AI implementations by translating complex AI concepts into easily digestible documentation, user manuals, tutorials, and other communication channels.
Furthermore, technical writers understand the importance of tailoring information for different audiences. They communicate with non-technical stakeholders, including executives, decision-makers, and end-users, who may lack extensive technical expertise. Using the AI capabilities, benefits, and potential limitations, technical writers empower these stakeholders to make informed decisions and embrace AI solutions.
SEO Tips to Magento 2 Product Pages
Avoid duplicate content
Many online merchants face a common challenge with multiple product variations, leading to duplicate content issues. When similar products have slightly different URLs like "?=sortby" or "?p=2", search engines may view them as duplicates, impacting your website\'s credibility and search rankings. To tackle this:
Stages of product work on the MVP of the AI course generator
When developing functional digital products, especially at the preliminary stages (from MVP to alpha versions) many teams use the «technology first» principle. This means a minimum of user convenience, a maximum of engineering competence. When evaluating the potential of a product, further efforts are already in the direction of creating ergonomic visitor paths, design and more. However, here lies the catch - since not two clients or a prospective investor can evaluate the entire user route, touch it with their hands and make sure that the system works, you can lose both clients and partners.
Blockchain use in marketplaces — and how Account Abstraction can help it
Today, it becomes quite obvious that the situation with web3 technology is becoming similar to the situation with programmatic advertising 10-12 years ago. When programmatic-ads just started, the major market players were not very optimistic - it was much easier for them to follow the well-known paths with chains of publishers and agencies. However, once programmatic got rid of the «childhood diseases» and became simple in use, effective in attracting customers, it has taken a dominant position in the modern advertising market - providing precise targeting and cost reduction. The situation with web3 is similar - all publishers ideally want to have systems for lifetime tracking of customer achievements (that is, Soul Bound tokens in web3), theoretically stable decentralized data storage systems that cannot be broken through a simple server attack, real users’ ownership for his content, as well as simple cross-border payment systems that have built-in algorithms for calculating all duties and taxes. Sounds like a perfect world, but even Amazon doesn\'t do that yet. Why?
The problem is the web3 entry point, which is difficult for users. As soon as they start talking about opening a crypto wallet, about 12 phrases as a backup, most users interrupt the onboarding process and immediately leave the site. This is obvious - over the decades of the development of the digital market, users have become accustomed to facilitating and simplifying systems for interacting with the site. One-click registration, effective convenient UI, visibility and the «metro principle», where the client is led by the hand – this is modern digital progress. And here some 12 phrases are offered, incomprehensible tokens - and, most importantly, why? So, it turns out that a self-sufficient audience of geeks or really advanced users revolves around web3, which is growing weakly.
DAOs trends in 2023 — or why DAOs can become the leading one in web3
Against the backdrop of a sharp decline in venture investments in various traditional industries (this is clearly related to the global economic situation), but against the backdrop of certain upheavals in the crypto industry, the question arises of a driver that can become one of the «pillars» of the development of a decentralized industry.
iOS Dev Skills. Performance Review
CTO: Balancing Leadership and Architecture.
As a CTO, effective leadership goes beyond technical architecture. Conducting regular performance reviews is a crucial part of managing teams.
Note: The performance review schedule may vary depending on the specific
company\'s policies and guidelines.
For early-stage startups, lacking CTO expertise in conducting performance reviews is common. In my experience, I\'ve tailored grades to encompass all aspects of professional iOS development, keeping project-specific needs in mind. Being the first in the team can offer significant growth opportunities. However, acknowledging any lack of people management skills and compensating through continuous growth is essential.
I\'ve compiled my insights on structuring the iOS development department, conducting performance reviews, and most importantly, emphasizing the significant distinctions between developers\' levels based on well-defined criteria.
In simple terms about a simple Nginx Unit
This article describes the new Nginx Unit web server. In it you can learn more about the web server itself, its installation and configuration: how to use listeners, routing, how to install TLS certificates. The article will show how easy it is to work with it and that huge configs are slowly becoming a thing of the past.
ABBYY: Mobile Technologies – SCRUM Planning in Detail
I am a Project Manager. 14 years of project management, 5 years in agile framework, last 4 years in product companies, last 3 years in ABBYY, mobile technologies. I would like to share my practical experience, how we have organized the planning in ABYY Mobile Technologies having SCRUM development.
“SCRUM — you get too little, and you need to add the missing.” The story about how we adjusted the Planning procedure for yearly roadmapping and budgeting, how we have organized the SCRUM‑planning for the feature‑driven development with product development cycle 2–3 months and more.
Making Java 8 aware of Let\'s Encrypt root certificate
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.
ABBYY: Mobile Technologies – Retrospectives
- Continuous Improvement is also a Project, a meta-Project, a maintenance that usually lasts longer than the main development project.
- If you can fit into the Sprint boundaries with your development cycle, then the concept of Retrospective as it is formulated in SCRUM may also suit you. But if you are bigger and not oriented on CI/CD, then be ready to make a hybrid of SCRUM with classical Project Management – thanks God SCRUM is good embeddable (proven by SAFe) !
- What is left out in when we run retrospectives quarterly? – Plan and Check. The placeholder of classical SCRUM Retrospective is quite suitable for that purpose, surrounded, of course, by some additional groomings, providing required action plans and decompositions up to sprint-length steps.
React Custom Hook: useArray
In this article series, we embark on a journey through the realm of custom React hooks, discovering their immense potential for elevating your development projects. Our focus today is on the "useArray" hook, one of the many carefully crafted hooks available in the collection of React custom hooks.
Handling multidisciplinary project development
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.
Setup of Qt Creator for programming and debugging of STM32 microcontrollers
Currently I am investigating firmware development for STM32 microcontrollers and I would like to share with you my experience for doing it in Qt Creator IDE.
There are a lot of IDEs, which are used for firmware development of STM32. Some of them, being quite comfortable, have restrictions for trial license. For example, the one of the most known IDE, IAR Embedded, suggests either a limited amount of product usage time (30 days) or the limited firmware size of 32 MB, which is not too much.
Within this scope of the publication, we investigate the method of setting up an environment that allows one to develop the full value of the STM32 firmware in Qt Creator.
Reverse DevOps, an invitation to project «Bell»
Typical DevOps handles code deploys in a single direction: from Dev to PROD, from lower environments to higher environments, and for this there are many well known solutions like Jenkins, Terraform, Octopus. But in the opposite direction the situation is not so good.
Yes, in many companies there are home-grown processes to copy databases from higher environments to the lower ones (with hiding/removing sensitive data) to reproduce problems, found on PROD. However, in complex scenarios an access to PROD is needed to find the root cause. Developers need at least logs. And in the Enterprise world it\'s all depend on the level of paranoya how sensitie the information is.
Thi is what we suggest, the project is to create a safe access method to the higher environments, combining easy friendly interface and interactivity with the full audit of all operations and controlled manner of what users can do and what they can\'t. The project is called Bell -Action at a distance, and a bearded guy on the logo is John Steward Bell, you know him if you had ever heard about the Quantum Entanglement.
Russian speaking IT presales and passing interviews to the West
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.
React Custom Hook: useAsync
By utilizing useAsync, you can streamline your React codebase, enhance reusability, and maintain a consistent and reliable user experience. Give it a try in your next React project and witness the power of simplified asynchronous operations.
How many marketing specialists do you need to create one video?
Video is one of the simplest and most attractive formats for information perception. Especially now, in the era of TikTok, Instagram and YouTube. It is not surprising that marketing specialists often choose video format for business promotion.
Scrum – where are Project and Project Management
Today, many companies are transferring their development processes to Agile frameworks. In this article, I discuss how the concept of a Project and the position of classic Project Manager are transferred in accordance with the Agile paradigm.
Referential Transparency as a mechanism for building Reliable Programs
Referential transparency, a key concept in functional programming, is often associated with more reliable, easier to test, and safer software. This term refers to a principle in which a function, given the same input, will always produce the same output without producing any side effects.
In the real world of software development, side effects are inevitable. Programs are rarely useful unless they interact with the outside world. This interaction could be reading from or writing to the console, making network requests, querying a database, or modifying a variable.
Yet, despite the necessity of side effects, they introduce risks and complexities. Programs with side effects are harder to test, harder to reason about, and more prone to bugs. They can also make the system as a whole more difficult to understand and maintain, due to hidden dependencies between components.
Enter referential transparency - a concept that means a function, given the same input, will always provide the same output, without creating any side effects. A function that adheres to this principle doesn\'t read any global state or change any state outside of its scope. The result is code that is more predictable and easier to reason about.
In terms of software safety and reliability, the absence of side effects is not enough. Programs should also be free from external influence - their results should only depend on their arguments. That is, programs should not read data from the console, a file, network, database, or even system variables.
Comparison between SwiftUI vs UIKit — Choosing the right framework
There has been a lot of debate going on among iOS developers with regards to the comparison between SwiftUI and UIKit. Have you been planning to develop a chat app for iOS and are confused as to which framework you should opt for?
Fret not! We have got your back. In this article, we shall discuss all the relevant aspects revolving around these two and compare them in detail. Stay with us and read on!
As iOS developers, you must be knowing about both the UIKit and Swift UI frameworks. However, we would like to provide you with a quick overview to refresh your understanding. Let\'s take them up one by one
The anatomy of a pre-sale meeting to the USA
My name is Paul Karol and I work connecting Russian IT with their customers in the United States. Please find on Hbar my previous article for a complete explanation of my credentials.
Today we\'re going to look at a presale meeting that was not successful and we will explain exactly how the Russian company lost this business. Please take a look at this photograph.
Going into this presale meeting the client (large American chain store) had worked with the software for a little more than a month and we\'re pretty happy with the result. From all indications they were going to buy the software this day. The sales manager had a good relationship with the American managers of the company. There was lots of buying sign that was known to the Russian company prior to this presale meeting. Suffice to say that they believe that they would have an easy sale today.
There was some very specific things that the Russians did that cost them this business.
We will be using this as a case study and we will discuss exactly everything that they did as a mistake and how to not do these same mistakes for your company.
First we must do some brain work. A thought experiment, if you will. What do you believe are the concerns of an American company doing business with Russian IT developers today. The current situation between the countries does make it more difficult but the same exact concerns are still there from before maybe slightly more amplified and there may be one more concern that wasn\'t there prior to the difficulties in Ukraine.
React Custom Hook: useDebounce
This custom hook is particularly beneficial in scenarios where you need to handle user input, such as search bars or form fields, where you want to delay the execution of an action until the user has finished typing or interacting. It\'s also useful for optimizing network requests, ensuring that requests are sent only after the user has stopped typing or selecting options.
How to Make Your Own C++ Game Engine
So you want to learn more about game engines and write one yourself? That\'s awesome! To help you on your journey, here are some recommendations of C++ libraries and dependencies that will help you hit the ground running.
The art of prioritization in product management
Product management runs on choices. What to develop next, what to put on hold, and what to discard altogether. Getting these choices right steers products toward success. It\'s more than just a list; it\'s understanding needs, managing resources, and aligning with the company vision. Prioritization is, without a doubt, a major skill for any product manager.
For most of us, the daily challenge is juggling plenty of tasks, features, and stakeholder requests. But not all demands carry the same weight. It\'s easy to get swayed by the loudest voice in the room or the most recent email in the inbox, but these aren\'t necessarily what the product or the users need most urgently.
To get it right in product management, we need the right tools and approaches. Let\'s see what it takes to nail prioritization.
Key challenges in prioritization
As I noted before, in product management, facing various and often unpredictable challenges is part of the job. However, deciding which tasks to prioritize can be especially confusing, and here are a few factors to consider.
1. Changing customer demands: Customers are the heart of any product, and their needs and desires can evolve rapidly. One day, a feature might be all the rage; the next, it\'s old news. For instance, a messaging app might find its users clamoring for dark mode due to its increasing popularity across platforms. Adapting to these shifting demands requires constant observation and a readiness to pivot.
2. Evolving market trends: The broader market can influence product decisions as much as individual user feedback. If there\'s a sudden surge in voice-activated technologies, products that don\'t incorporate voice features might find themselves left behind. Staying attuned to the market means continuous research and the agility to tweak your product roadmap accordingly.
React Custom Hook: useClickOutside
The potential applications for useClickOutside are endless. It is particularly useful when implementing modal windows, dropdown menus, or any element that should be closed when a user interacts with anything outside of it. By incorporating useClickOutside, you can enhance the user experience by providing intuitive and efficient interactions.
PHDays 11: bootkit infection, sanitizers for the Linux kernel, the new face of OSINT, and phishing on official websites
Positive Hack Days 11 will begin in a matter of weeks. This international forum on practical security will be held on May 18–19 in Moscow.
As per tradition, PHDays will have three big tracks dedicated to countering attacks (defensive), protection through attack (offensive), and the impact of cybersecurity on business. It is our pleasure to present the first talks.
Dealing with sanctions and the other difficult question
In our last article we covered the anatomy of a presale meeting gone wrong. In that article we posed some questions for everyone to think about. What exactly does an American company wanting to hire a Russian custom software development company, feel about this Russian company? What are they afraid of? What are their concerns?
In the end we came up with five concerns.
1. Is the company a fly by night company, is the company a one-day company?
2. Will they be professional in supporting or developing the software that they\'ve sold to us?
3. Will they have proper data security?
And now the two new ones that are because of the mess the world is in now...
4. Will they be able to complete the project on time? This includes proper internet access an infrastructure to support IT.
5. Where is your team located? Are you still located in Russia?
Now we\'re going to look at the last 2, number four and five.
However let\'s look at number 5 first.
Many IT companies today if they want to work with the United States or even Europe they must not have their developers located inside of Russia. Matter of fact it goes so far that if a developer is located in Russia and they\'re using a VPN and somehow the VPN is breached the credentials are canceled for that developer to work on the project.
It\'s for this reason that Russian IT companies are opening offices around the world. Let\'s look at Armenia as an example.
Wait a minute I have to go back for a second...... We must discuss how countries look to America Canada and Western Europe. I basically give them a score based on questions that are brought up in the mind of the American company or European company.
LeetCode, Hard, last two problems: 2809. Min Time to Make Array Sum At Most x & 2813. Max Elegance of a K-Length Subseq
2809. Min Time to Make Array Sum: Efficient Swift solution, using dynamic programming, for minimizing time to reach a sum in arrays A and B. Time: O(n²), Space: O(n).
2813. Max Elegance of K-Length Subseq: Swift code for elegantly selecting unique k-length subsequences with profit and categories. Solution uses sorting and iteration. Time: O(nlogn), Space: O(n).
How Analyst Days/14 went for us
Conference participation is one of the most important practices for professional development. Hence, Innotech is actively sending out both its speakers and listeners for the biggest events. Senior Analyst Anastasia Kochetova shares her impressions from the Analyst Days/14 conference.
Top 10 Best Free Partition Manager Software for Windows PC/Laptop
If you are searching for free partition manager software for your Windows PC, then Download the Top and best Partition Manager Software on Windows PC/Laptop.
It is a software program that lets us create, delete, shrink, expand, split, or merge partitions on our hard drives or other storage devices. Without extra software, a hard drive will be partitioned into Windows. But we can’t resize or combine them without any extra help.
The important aspect of owning a PC is to manage your hard-drive partitions very effectively. Based on categories, it divides data to allow people. For example, you can keep your multimedia files, work folders, and your programs in different partitions and install them on your system drive.
If you use your PC to double or triple-boot into various operating systems as a power user. Your SSD or HDD must be divided into smaller partitions; otherwise, it is impossible.
In 2020, in managing software partitions effectively. We help you with Windows and Linux by compiling a list of the best free partition software. So let’s read more to get the free partition manager Windows 10/8/7.
Harnessing the Power of Machine Learning in Fraud Prevention
Picture this: A thriving e-commerce platform faces a constant battle against fake reviews that skew product ratings and mislead customers. In response, the company employs cutting-edge algorithms to detect and prevent fraudulent activities. Solutions like these are crucial in the modern digital landscape, safeguarding businesses from financial losses and ensuring a seamless consumer experience.
The industry has relied on rules-based systems to detect fraud for decades. They remain a vital tool in scenarios where continuous collecting of a training sample is challenging, as retraining methods and metrics can be difficult. However, machine learning outperforms rules-based systems in detecting and identifying attacks when an ongoing training sample is available.
With advancements in machine learning, fraud detection systems have become more efficient, accurate, and adaptable. In this article, I will review several ML methods for preventing fraudulent activities and discuss their weaknesses and advantages.
A tale of how PVS-Studio reimagined the bug
You all know our mascot — a unicorn — many people grew fond of him! However, PVS-Studio has a supporting character who is also the antagonist of our product — a bug! Well, a bug is not omnipresent, indestructible evil. It\'s more like an everyday or a work-related trouble. In this article, you\'ll learn how we created a new character, and why he looks like a ladybug. Oh, and if you wonder why the hell he has a belly button — keep reading!
The key to Sales Conversion of an American CEO or CFO
i’m writing this series articles to spearhead the new marketing campaign for into the American market. I will be covering a wide range of topics that will allow us to position the company in the proper way so that is excepted as a provider of High-quality software in America.
The key to converting an American CEO or CFO is the trigger point for the American business culture. The trigger point for America is responsibility. This means in business you must be responsible. You also look for business partners that are responsible.
But let’s take this into the newest more powerful view that we need to have now.
The scene from the point of you of the CFO sitting at the head of the financial controls of a large hospital conglomerate. Put yourself in the mind of the CFO. What are they concerned about?
As an American CFO they will be very concerned about whether they are being responsible in their job and responsible to the hospital, staff, shareholders, patients and the management above them.
And this is how we get our foot in the door in this American niche market. If we present ourselves as offering something that “May” give an answer to specific problems that they know that they have, they must give us a chance to present a Presale. The reason is because they are responsible, and if there is a solution as an American Director you must explore that solution.
It would be irresponsible to not explore a potential solution.
Then it’s a simple case to actually give value in the presale meeting and convince them that we can deliver some thing that will benefit their business and profits.
React Custom Hook: useDarkMode
One of the main advantages of "useDarkMode" is its simplicity. With just a few lines of code, you can enable dark mode in your React application. By invoking this hook, you\'ll receive the current dark mode state and a function to toggle it.
The "useDarkMode" hook dynamically updates the HTML body class to apply the "dark-mode" styling whenever dark mode is enabled. This approach ensures consistency across all components without the need for manual class manipulation.
UX Copy: Writing for Non-Readers
Getting a task from a client, UX designers tend to pay attention to the design goals, not the contents of the website/app itself. There’s something completely wrong with it because the visual part might be superb, but when it frames a vague or wordy message, the client\'s goals won’t be reached.
To avoid this, a UX designer should dive deeper into the content, analyze it, and restructure it in an interface-friendly way. It doesn’t mean doing the copywriter’s job, it means collaborating. The reality is that sometimes the writing team is used to praising the product (because clients like that), or there is no copywriter involved in the project at all.
Provide proof instead of opinion
An impression is more powerful when the customer can conclude the product’s benefits on their own. Instead of a colorful line of adjectives like “ultimate” or “leading” you should aim at what exactly makes the product that cool. The trick is to be precise, preferably with an example.
Marketing your Mindset
Information shared below is exactly how I work with my IT professionals who are going to be participating in pre-sales to America. I tell them exactly this, and it helps prepare them to successfully sell the the United States companies.
As developers and IT companies, we must sell our software.
What can give you an edge in this very competitive market place?
Please, if you would allow me to let me explain why this is important and how this can make your company more successful. There’s a certain type of thinking that is conducive to working as a software developer. This is a very practical mindset, but it goes beyond that. If you have the mindset of direct thinking.
Here are examples:
I see the target a target and I don’t see obstacles
Вижу цель, не вижу препятствий
This is an example of the practical mindset, how is approaches the problem of development. It makes people who have this mindset, the best developers in the world.
Example of mindset:
Problem……………… find a solution………… No problem.
Notice how this looks exactly like a line of code?
This is well-known around the world in places where you would like to sell your software, the United States, Germany, Belgium, and the Middle East.
Countries where people have this mindset have the best developers.
now let’s talk about your competition:
Americans: during the center process, “find a solution” Americans are overly concerned about responsibility. This slows them down in the decision making process.
React Custom Hook: useCopyToClipboard
Copying text to the clipboard in a React application can be a tedious task. To simplify this process, I\'ve created a powerful custom hook called useCopyToClipboard. With just a few lines of code, this hook streamlines the copy-to-clipboard functionality, providing developers with a hassle-free solution.
«Look what I have!» — how we made the feature of screen sharing in the mobile video conferencing app
How we listened to the needs of our customers and implemented the feature with the maximum capabilities of the iOS and Android platforms. Then we looked into analytics, added onboarding, and usage grew. At the end of the article there are some cool conclusions and insights. Developing a video conferencing mobile app is fun!
Building an IT website, aimed at America and the West
My last article stirred up some definite comments and even questions about different things in business. I’m going to keep giving you as much information as I can so that you can continue to do business as IT professionals outside of Russia with other countries.
How do you design a website that will be viewed in the west and appreciated by the people there?
What are the most important elements
for, America and other western markets?
React Custom Hook: useCookie
One of the key advantages of this custom hook is the ability to update the cookie value. The updateCookie function, returned by useCookie, enables you to modify the value of the cookie. By invoking this function with a new value and optional options, such as expiration or path, you can instantly update the cookie.
Startup story — how we pivoted mobile apps and business from «beauty Uber» to «beauty coworking»
Hi everyone! My name is Dmitrii Konstantinov and this is a personal story of experience and growth in a cozy startup. How we made a business pivot and adapted the server and mobile apps for it. What challenges did we face and how did we solve them.
Empowering Digital Artists: Building a Royalty-Enabled NFT Marketplace
As NFTs spread across the world, users spent millions of dollars to buy digital assets to prove their uniqueness. Many creators and artists showcase their beautiful products, such as artworks, music, etc., in the NFT marketplace. What if a creator can profit from their work even after selling it to another business? This is where royalty comes in; it is a recent addition to the NFT space. Owing NFT royalties can benefit artists and creators from succeeding sales to the business.
Once NFT royalties became a hot topic and gained popularity among artists and creators. Later, arguments were evolved to remove royalties that had swayed other NFT creators. DeGods, the popular Solana\'s NFT project, has moved its royalty model to 0%. However, creating a royalty-based NFT marketplace attracts many creators around the world. In this article, we will delve into the development process of NFT marketplace royalties and how it benefits enthusiastic artists from secondary sales.
WebSocket Reconnection in Flutter
Continuous socket connection can be crucial to ensure correct app behavior. Whether it’s delivering real-time chat updates, stock prices, or in-app indicators, a reliable connection is vital.
One of the irritating problems with sockets is a sudden loss of connection. If the true cause is not visibly evident, i.e., unstable internet connection, then the disruption cause is often well hidden. To tackle this issue we can implement an automatic socket reconnection strategy. Let’s see what options we have in the industry-standard socket library for Dart — web_socket_channel.
E-commerce Trends you can’t miss
The e-commerce market in 2022 leaves entrepreneurs no choice but immediately incorporate new technologies. Today it is not enough to follow the latest trends, because you need to be two steps ahead. How to do it?
Consumer behavior has changed, especially since this pandemic. You get used to good things quickly, so online shopping and fast delivery services made us all appreciate our time and comfort.
You have to pay for everything in this life, so retailers and marketplaces have to pay for the growth of demand and profits in the field of e-commerce by regularly introducing new technologies, fighting for consumer loyalty, and rivalry in endless competition.
Here are a few of the latest e-commerce trends that cannot be missed if you want to achieve stable profits and customer growth.
All attention to CRO
Your Name: Why it’s Important in American Sales and Marketing
This is one of the most important articles I’ve written.
In this article, I’m going to dive deep into one of the largest differences between Russia and America pertaining to sales and marketing.
1. You must use your name.
2. You must have a personal approach.
3. You must show that you are involved.
4. You must show that you care about the needs and desires of the client.
Recently, I was faced with an interesting problem. I was asked to call clients without making it personal.
So let’s go back to when I was in America, living and working as a sales person. The company I work for, was very large, and had multiple branches around the Washington DC area. They had offices in three states.
They put me through a sales training course.
The biggest “take away” from the course…..
You’re not selling the product/
you’re selling yourself.
It\'s important to use your charisma and your genuine caring for the customer to win them over. Once they understand that you\'re actually trying to help them, then they will seriously consider the item you are telling them about.
I also want to say, very clearly, that it\'s not a prideful approach. It should be a professional approach. You\'re responsible to tell the customer/ the client all the benefits of the item and how this item will help their business.
Everything above pertains to sales in America. So if you are approaching America as a sales manager this is how you should craft your approach.
Now I\'ve spoken to my colleague,
Kristina Pashnina and we have agreed upon some stark differences to the Russian sales climate. Here she will begin to tell you how the Russians see sales.
Spring Cloud Gateway: The Single Point of Entry or Failure – a Path to Non-Blocking API Gateway
Hello Habr! My name is Nikita Letov. I am a tech lead of backend development in remote banking services for individuals (or retail department) of Rosbank. In this article I will describe what a point of entry to an app is, when it becomes vital, and how API Gateway can help you. We\'ll review a traditional blocking pattern based on Netflix Zuul 1.x gateway with all its problems of using, then reactive Spring Cloud Gateway and difficulties of moving to it. Finally, we\'ll compare these two approaches.
Best digital marketing agencies in Vancouver 2024
This year we conducted a survey of 78 purchasing managers from Forbes Global 2000 companies based in Vancouver, BC. Last year, Covid restrictions were eased, agency employees partially returned to their offices. This year has become a real challenge for agencies\' CEOs, they had to find compromises with employees who did not want to return to the office, and at the same time manage projects at the same efficient level. Clutch is not the platform market can trust anymore because of the paid placements (sponsors and featured) that can cover up to 50 first positions in some cases. So we asked procurement managers in Vancouver to rate their digital marketing agencies from 0 to 10 based on the following criteria:
After sale IT support for American and Western Companies
Title:
After sale IT support for American and Western Companies
Let’s have a case study.
A Russian IT company sells software to a western country like say America. And you are working as an application developer on the support side.
One day, there is a problem with the program, and the program has stopped working.
You must contact the company now to inform them that the program is off-line.
THE NEXT STEP YOU TAKE IS VERY IMPORTANT.
The way, the two cultures operate in a situation like this are very different and it will have everything to do with how easy your job goes for you.
…………
Russia : “we have a problem”
“What is wrong?”
“I don’t know”
“When can it be fixed?”
“I don’t know”
……………
USA: “i’m just giving you a real quick call to let you know that there is a problem with the program.
I’ve already put my team on it and we will have it up and running shortly.
I will let you know more by 3 o’clock today what is going on”
It’s not important how long you think it will take you, but I will always tell them a few hours from the time that you informed them of a problem.
I understand that you have no idea how deep the bug is and also whether it will affect any other systems.
But it is important to set a time window very close to when you inform them that you will bring them more information.
This also works very well if you don’t know something that they ask you.
Question:
“What can we do to fix this problem?”
Answer:
“I understand what you’re saying. I will look into it and get back to you in two hours. By 1 PM today.”
in this case, it’s important that you:
1. Take responsibility for yourself and your team.
2. Communicate that you understand this responsibility.
3. Gives strict timelines. (if it’s not possible, you can always say that there is a problem, but do it before the deadline.)
4. Use certain key language.
“ I understand you”
“ I understand what you were saying”
“ I wanted to inform you”
“ we are working on it right now”
macOS Terminal: A Guide for Front-End Developers
Hello, fellow front-end developers! Imagine a tool that’s not about punching in commands but a gateway to a world of coding artistry. That’s what the macOS Terminal became for me at Luxoft.
UX Designer Job Interview: 10 questions to answer, 5 questions to ask
No matter how many degrees you have or how high your experience level is, your recruiters need to evaluate your knowledge of UX design as a whole. But keep in mind that a job interview is not an exam, so here you are expected not to recite the textbook definitions learned by heart, but rather share your personal understanding of UX and your role as a designer in general. Consider talking about how you define UX, what creates value in the design, what are the necessary parts of a UX design process, what are the current trends in UX. You might also be asked to explain the difference between UI and UX to see how you understand the role of each in the development process.
Journey to find a headset with a good side talk cancellation mic for calls in an open office
TL;DR: All AI-based noise cancellations suck, only the physical cancellation technique works! And physical cancellation is implemented well only in Jabra devices yet, but other features suck them! All Bluetooth headsets suck too! So, no solution yet, just complaints!
The environment: I work in a pretty talky office room, where sit around 10 people, and all of them have many online conferences every day, including me. So, silence in the room is a rare situation.
The problem: The main problem is that most of the microphones pick up all side talk pretty loud, which makes it very unpleasant for other people to listen to my voice in meetings!
Toward the January meetup on portable SystemVerilog examples in Silicon Valley
The team developing a set of portable SystemVerilog examples decided to organize the first event in Silicon Valley on Sunday, January 14 from 2PM till 5PM at Hacker Dojo in Mountain View, CA. If the first event is successful we are going to make it recurrent. You can register for the event on Meetup or LinkedIn.
The current directions of the group:
Import chat history to Telegram (приглашение)
I\'m seeking anyone who is skilled enough to develop a simple Python script using TDLib, Telegram API, and JSON manipulation to make it possible to perform simple tasks listed below:
1. Import Telegram chat JSON backup back to Telegram similar to what these scripts are doing github.com/alexlyzhov/telegram-import
github.com/Suberbia/UltimateChatRestorer
github.com/mygrexit/UltimateChatRestorerForGroupchats
but for any chat (not only to «saved messages») including group chats (not only 1 to 1 chats) and improve the code to make it work faster, more reliable, write log file, allow continuing from the stop point in case of errors and keep all the original chat data including formatting and everything that telegram can handle.
Some kinda combine all the script in one universal, flexible, high quality tool.
The most important aspect of the whole task is that the imported messages have to keep not only the formatting, but its original date and time when they were actually sent. Like it is done in the original telegram tool for importing history from some other apps — telegram.org/blog/move-history
2. Make it very simple to use. Perfect solution will be: Download, put the script next to JSON backup and run it in the interactive mode or with some specific options. Let the script ask for all the credentials and briefly explain where to get them. If possible, keep all the job on one device with no need of transferring the WA format zip file to the phone for importing. If not possible, make it an android app which will get the JSON, process it and feed the result to the Telegram app for import.
This is the basic I\'m going to pay for.
Game economy design of Premium games through the example of a 4X strategy on PC
How to design an economy for your game? The answer to this question might require a series of lectures or articles. The fundamental difference in the approach is based, first of all, on monetization model: F2P or B2P. The second thing that defines the approach to developing an economy system is game genre. This article reviews the case of designing the game economy for a B2P (premium) game, which doesn’t involve earning on microtransactions.
How to Create Effective Product Funnels with Event Tracking
Regardless of how mature the product is, its owner will always be curious about how it performs, what the conversion rates are, and what areas for improvement there are. One of the most important tools that product owners should get access to at some point in time is an event tracking system.
When It\'s Important to Stop Your Team\'s Engineers from Writing Code
Launching a startup often means navigating through stringent constraints, particularly in the early stages where resources are limited. For technical founders, who usually possess deep expertise in certain technical domains, the inclination might be to hire a team of senior engineers—considering you often end up with only one expert in each domain, it might be risky to delegate entire segments to junior specialists.
This situation typically leads to a small team where each member is more skilled than the founder in their respective field. This raises an important question for the technical lead: what role should you play in this team?
While the apparent answer might be task setting and quality control, prompting engineers to do what they love (coding), a less obvious but crucial role emerges. As a leader, your primary responsibility could be to prevent your team from engaging in unnecessary or potentially detrimental tasks, a concept known as "overengineering."
In this article, I will explore the critical role of a technical lead in steering a team away from overengineering and ensuring that their efforts align effectively with the startup\'s goals and resources.
PostgreSQL 17: Part 3 or Commitfest 2023-11
The November commitfest is ripe with new interesting features! Without further ado, let\'s proceed with the review.
If you missed our July and September commitfest reviews, you can check them out here: 2023-07, 2023-09.
ON LOGIN trigger
Event triggers for REINDEX
ALTER OPERATOR: commutator, negator, hashes, merges
pg_dump --filter=dump.txt
psql: displaying default privileges
pg_stat_statements: track statement entry timestamps and reset min/max statistics
pg_stat_checkpointer: checkpointer process statistics
pg_stats: statistics for range type columns
Planner: exclusion of unnecessary table self-joins
Planner: materialized CTE statistics
Planner: accessing a table with multiple clauses
Index range scan optimization
dblink, postgres_fdw: detailed wait events
Logical replication: migration of replication slots during publisher upgrade
Replication slot use log
Unicode: new information functions
New function: xmltext
AT LOCAL support
Infinite intervals
ALTER SYSTEM with unrecognized custom parameters
Building the server from source
A short guide to UX writing and its role in UX design
UX writing is an essential part of UX design, which plays a huge role in providing qualitative user experience. The job of a UX writer is to compose texts for a digital product, which can be of two types: microcopy (labels, buttons, notifications and other small notes) and macrocopy (larger texts like written content on pages, instructions, information sheets). UX writing helps users easily navigate through the product, perform various tasks and get all the necessary information.
The Power of Email Marketing: Engaging Customers for Business Growth
Email marketing has emerged as a vital tool for businesses to nurture customer relationships and drive growth. In this article, we will explore the immense potential of email marketing through personal experiences and examples from renowned companies. From personalization to segmentation, retargeting, and building anticipation, discover how these strategies can elevate your email campaigns and deliver remarkable results.
The Art of Personalization in Email Marketing:
Personalization is a key aspect of successful email marketing. Take, for example, Amazon\'s tailored recommendations and exclusive offers. By delivering personalized content that matches customers\' preferences and interests, Amazon creates a sense of exclusivity and fosters customer loyalty. In my own experience, implementing personalization in email campaigns resulted in increased open rates, click-through rates, and conversions. It\'s clear that customers appreciate the effort put into crafting messages specifically for them.
Million Dollar IT Sale…..Lost
Lose Your Sale) How to lose an IT project sale.
My name is Paul Karol and I work as a director in a Russian IT company that mostly sells their products into the American Market. What we will discuss today was so costly for that company that I want to share this knowledge so that it doesn\'t happen to other Russian IT companies.
Case Study
Today I want to tell you about a sale that almost was. I was Consulting for this one company and they were involved in selling software to the United States. This one particular client was in contact with the sales manager for 2 months.
Now this sales manager was very good at their job and they had a lot of charisma on the phone and in the text messages. However they specifically did not know something that cost them a large contract.
1. In Russia it\'s respectful not to talk about your personal life because you feel that you\'re wasting someone\'s time if you do not know them well.
2. In the United States once you have been talking with somebody for a couple of months you would start to consider them sort of a friend.
The Russian IT sales manager had not been in contact with this client for about a week and this was unusual.
They were worried.
Then the text message came that said this.
"I\'m sorry Marina that I have not been in contact with you for some time. I took my family and kids to the Lakeside and we enjoyed some time by the beach."
The Russian IT sales manager did not know how to think about this and they asked this question.
" So, do you want to buy our product?"
Evaluating Performance: CosmosDB vs. Azure SQL
In the evolving landscape of database technology, choosing the right database management system is crucial for the efficiency and scalability of applications. This article presents a detailed comparison of the performance between Microsoft\'s CosmosDB and MS SQL Server. We\'ll examine how each database performs under various load conditions and share some interesting findings.
The mystery of Telegram
This article was originally posted at Product Identity.
What comes to your mind when you hear the word Telegram?
I wouldn’t be surprised if drugs, sex, or crypto are your first associations. Throughout the years, Telegram earned a shady reputation, perhaps not strategically, but for a “good” reason.
I feel like Telegram is a mystery. On the outside, it might be perceived as a platform designed for drug traffickers, crypto scammers, and sexual abusers.
I shared this feeling when I joined the early team of Bancor in 2016, as I also joined its internal group chat, needless to say, on Telegram.
However, the app was quickly removed from my list of stigmas. Instead, I started to appreciate Telegram for its well-crafted product and care for design. From its meticulous attention to small details to have a unique brand — it stands as a dogma of an opinionated product (and a company) in many aspects. In addition, it helped me recognize the benefits of separating my private and professional lives early on.
After using Telegram extensively over the past 7+ years, I feel the urge to write about it, but this time not in the spirit of its typical news headlines.
Push notifications. How to write push notifications that won\'t piss you off
Push notifications are similar to promoters. You\'re peacefully walking down the street, and suddenly promoters approach you, urging you to take their flyers. You take them, but you don\'t read them and throw them into the nearest trash can.
The same goes for push notifications. You\'re reading an article, and suddenly a notification pops up with a promo code for free delivery of products. Then another one arrives, informing you about a giveaway. And then another one, offering a discount on all fruits. Notifications can appear on your screen at any time. If there are too many of them, your reaction is either to ignore them or disable them.
In this article, we will talk about how to write push notifications that people will click on and show you how to build a push notification strategy. At the end, we will provide a template for a push notification strategy.
Push Notifications - What is it?
A push notification is a pop-up message on a smartphone screen. To send one, you need to use a delivery service. You can send a notification instantly, schedule it for a specific time, or set up a trigger-based delivery - a chain of notifications that will be triggered by specific user actions.
Triggered push notifications are sent after a specific action is taken. For example, if a person starts adding items to their cart but doesn\'t complete the purchase, you can send them a notification urging them to complete the transaction after a certain period of time.
Notifications are sent to users who fall into specific segments for targeting. Segments are formed based on specific events. For example, the event "6 hours ago, a product was added to the cart but no purchase was made" will divide users into two segments: those who made a purchase and those who didn\'t.
Why I need RSS 3.0
In the past 5 years, I moved across 3 countries and 2 continents. It was not a short tourist travel or vacation, but a full immigrant experience with 1+ year experience minimum. I had to adapt to new cultures, new languages, new people, new food, new weather, new everything. One of the pains was to adopt new online services and information sources.
The problems I have faced were not obvious and interesting at the same time. I tried to analyze what was missing and required to make life easier.
How Closures Work and Why It Matters
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.
Architecture Decision Records (ADR): Enhancing Software Development
Introduction to ADRs
ADRs are critical for documenting architectural decisions in software projects. They provide a historical record of decisions, rationales, and impacts, vital for future teams and stakeholders.
Defining ADRs
An ADR is a document capturing key architectural decisions along with their context and consequences. It helps stakeholders understand why certain choices were made during a project, promoting transparency and clarity.
CI/CD for iOS-projects: device or cloud? What’s better, Doubletapp’s take
Hey, Habr! I’m Yaroslav Fomenko, Doubletapp iOS-developer. After our IOS department deployed our CI/CD on a Mac Mini, we got an idea of scaling and encapsulating it. So we started researching ways to do it. First we thought of Docker, but there was neither enough info about it nor any other possible ways. In this article, we’ll look at all possible solutions we found for the deployment of Gitlab CI/CD on a device and in the cloud.
UX testing: why it is important and how to conduct it
UX testing is one of the most important parts of the UX design creation process for any software product. It helps to understand whether users are satisfied with the design and highlights its problematic areas that need to be fixed or improved. UX testing is an important part of the whole testing process - it helps to get beta-testers feedback to determine whether the product is comfortable for users and gives opportunity to improve problems and issues before moving on to the next stage of the development process. It also contributes to reducing the cost of development, as it is much cheaper to fix issues during the development process rather than after the release. Listed down below are 5 simple tips that can help perform UX testing in a proper and effective way.
Implementing hypervisor-level behavioral analysis in Linux
Hey there, Habr! My name is Alexey Kolesnikov. I am a Malware Detection Specialist at the Positive Technologies Expert Security Center (PT ESC). I recently spoke at the AVAR 2023 international conference in Dubai, where I covered new plugins developed by PT ESC for an open-source dynamic malware analysis system named DRAKVUF and demonstrated how they can be used to detect current Linux threats in sandbox for protection against targeted and mass attacks PT Sandbox.
Read on for a brief overview of popular malware monitoring tools for Linux, a description of how our plugins work in DRAKVUF, and a malware analysis that relies on these plugins.
Creating a Frosted AppBar in Flutter with a Slide-Down Widget
In this article, I will guide you through the process of creating a frosted AppBar with a sliding element beneath it. The final result is presented at the top as it works in the media network application.
How to set up Gitlab CI/CD with Fastlane for iOS-project on a Mac mini
Hello, everyone! I’m Yaroslav Fomenko, Doubletapp iOS-developer. Since the end of May, my department colleague and I have been working on implementation, improvement, and scaling of CI/CD for our projects. In this article, we want to share a guide on preparing the Xcode project and setting up runners, scripts, and configs, as well as explain how CI/CD helps us.
To learn how and why we decided to use a Mac mini for CI/CD, click here.
How to conduct UX brainstorming sessions effectively: tips and methods that work
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.
The next steps after a good meetup on Portable SystemVerilog Examples for ASIC and FPGA
The meetup on January 14 at Hacker Dojo in Mountain View, California, went well, although not as planned - we spent almost all the time talking instead of doing hands-on exercises. The room we booked can fit 30 people and approximately 30 people did show up. The quality of participants was high: approximately half were familiar with hardware description languages and another half came from various software topics. 12 people filled out the questionnaire despite the fact that I forgot to bring 30 pens.
The discussion during and after the presentation was focused and very meaningful: microarchitecture and education, EDA infrastructure / build scripts, open-source ASIC design tools, the economics of ASIC design and manufacturing, high-level synthesis, transaction-level modeling, ASIC prototyping using FPGA boards, FPGA embedded in ASIC (Menta), new FPGA manufacturers (Gowin) and new design languages - Chisel and SpinalHDL.
Four persons came to me after the meeting to discuss their participation in working on open-source portable SystemVerilog examples, and another seven expressed this intention in the questionnaire. So we are meeting again in Hacker Dojo on Sunday, January 21, at 2 PM, this time not in the classroom area, but in the common shared area.
Generally, I am thinking of having regular meetings, probably on a weekly basis for a small team of developers of the educational materials and on a monthly basis for a wider audience, discussing various design and verification topics.
There were two correspondents of Slavic Sacramento who recorded the video of the presentation. They are going to make it available soon.
React Global State Management: A Brief History and a Quick Guide
If you’re a React developer, you know how important state management is. State is the data that powers your UI, making it interactive and dynamic. But managing state in React can be tricky, especially when you have to share it across multiple components or deal with complex and asynchronous logic.
That’s why over the years, React developers have come up with various solutions for state management, each with its own advantages and disadvantages. In this article, we’ll take a look at some of the most popular ones and how they evolved. We’ll also review some of the current state-management libraries and how to choose the best one for your app.
Portable SystemVerilog Examples for ASIC and FPGA: the results of the meetup on 2024-01-21 and the next steps
The second meetup of the Portable SystemVerilog Examples group on January 21 2024 at Hacker Dojo in Mountain View, California, went as planned: we moved from the stage of presenting the project to the self-introductions of the participants and the initial tutorial with the first examples. We also started distributing the tasks. The next meetup is tentatively scheduled for January 28 at the same location, from 2 pm to 5 pm. The contents of the meeting will be to work on the examples: basics-graphics-music and systemverilog-homework.