Pull to refresh

My feed

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

FlashForge 3D Printers

Reading time9 min
Views484

The world of manufacturing has witnessed a paradigm shift with the advent of 3D printing technology. Initially perceived as a niche hobby for enthusiasts, it has burgeoned into a pivotal industry innovation, driving advancements across medical, aerospace, automotive, and consumer goods sectors. The technology's allure lies in its ability to transform digital blueprints into tangible objects layer by layer, offering unprecedented flexibility in design and production.

Read more
Article

Why would a software engineer attend an FPGA hardware meetup at Hacker Dojo?

Reading time6 min
Views1.5K

For the last 30 years digital chip design is not a schematic entry anymore: hardware engineers write code just like software engineers.

The difference is that the code software engineer writes becomes a chain of CPU instructions stored in memory, while the code in a hardware description language (HDL) becomes the CPU itself, its transistors and metal connections. And not only a CPU: the same technique is used to design processor-less ("fixed function") blocks in GPU that shuffle triangles and pixels, as well as network router chips that edit packet headers 100 times faster than CPU.

There are ways to experience this workflow without paying a million dollars to a silicon fab. One way is simulation, and another way is to use a matrix of reconfigurable logic cells, a Field Programmable Gate Array (FPGA). You can come on January 14 to Hacker Dojo in Mountain View, California. We have a bunch of computers and FPGA boards, and we will show you how to use them not only to blink LEDs but also to output graphics and recognize music.

This will change your perspective of what the code is.

Prepare for a ride:
Article

Million Dollar IT Sale…..Lost

Reading time2 min
Views1.1K

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?" 

Read more
Article

When It's Important to Stop Your Team's Engineers from Writing Code

Reading time5 min
Views989

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.

Read more
Article

Thoughts and short notes (in go) after reading «Clean Code»

Level of difficultyEasy
Reading time4 min
Views1.7K

Clean Go

Hey guys, I recently dove into 'Clean Code' by Robert C. Martin and found some valuable insights. The book is originally in Java, but I decided to reinterpret the principles in Go. Here's my take on the clean code concepts and how they can improve our coding practices.

1. Clean Code

The gist: Clean code is more than just working code; it's code that other developers can easily read, understand, and modify.

Read more
Article

Trade bot python setup (using Binance API), Vol 1

Level of difficultyMedium
Reading time5 min
Views15K

Trading robots are conquering the Wall Street! Learn how to create your first automated python trading bot.

We present a fully functioning trading bot pipeline on python using the Binance API. Starting with the general introduction, we provided a comprehensive overview of main API calls and their implementation on python. After this we show a fully functioning python code presenting a basic trading bot with core features using static channel breakout strategy.

Read more
Article

Best SLA 3D Printers

Reading time15 min
Views1.1K

StereoLithography Apparatus, or SLA 3D printing, is a form of additive manufacturing technology used for creating models, prototypes, patterns, and production parts in a layer by layer fashion using photopolymerization. Photopolymerization is a process by which light causes chains of molecules to link together, forming polymers, which then make up the body of a three-dimensional solid.

Read more
Article

Toward the January meetup on portable SystemVerilog examples in Silicon Valley

Reading time4 min
Views1.2K

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:

Read more
Article

3. Information theory and ML. Forecast

Reading time31 min
Views811

In this third part, we will discuss Machine Learning, specifically the prediction task in the context of information theory.

The concept of Mutual Information (MI) is related to the prediction task. In fact, the prediction task can be viewed as the problem of extracting information about the signal from the factors. Some part of the information about the signal is contained in the factors. If you write a function that calculates a value close to the signal based on the factors, then this will demonstrate that you have been able to extract MI between the signal and the factors.

Read more
Article

Architecture Decision Records (ADR): Enhancing Software Development

Level of difficultyEasy
Reading time3 min
Views4.9K

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.

Read more
Article

The mystery of Telegram

Level of difficultyEasy
Reading time12 min
Views2.3K

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.

Read more
Article

Automating reCAPTCHA Solving with Puppeteer: A Step-by-Step Guide

Level of difficultyEasy
Reading time3 min
Views1.6K

Introduction: In this guide, I explore the automation of reCAPTCHA solving in web scraping and testing scenarios using Puppeteer, a Node.js tool designed for browser automation. My focus is on the practical use of the puppeteer-extra-plugin-stealth plugin to seamlessly navigate through reCAPTCHA challenges.

Read more
Article

Memory consumption of .NET applications on Linux

Level of difficultyMedium
Reading time12 min
Views7.7K

In this article, I will cover the memory consumption of .NET applications on Linux. Firstly, we will try to understand the idea of virtual memory. Then, we will examine the memory statistics that Linux provides, such as RSS (Resident Set Size), VmData, RES (Resident Memory Size), and SWAP. Following that, we will delve into specifics related to the .NET.

Read more
Article

Managing AWS Auto Scaling Group Instance Refresh: The Harmony of Terraform and Ansible

Level of difficultyMedium
Reading time6 min
Views991

In the DevOps realm, where automation is crucial, the management of resources and updating processes in the cloud is vitally important. Many modern projects, particularly in AWS cloud environments, leverage Auto Scaling Groups (ASG). This mechanism aims to achieve three key objectives: balancing loads, increasing service reliability, and optimizing operational costs for efficiency and effectiveness.

Imagine working at a company where you deploy applications on Amazon's resources. To streamline this process and manage configurations more effectively, you use pre-built AMI images. These are crafted with tools like HashiCorp Packer, ensuring your applications launch swiftly and reliably. For the actual infrastructure deployment, you turn to Terraform. It's widely recognized as the standard in many major companies for managing cloud resources and using the IaC (Infrastructure as Code) approach.

As an IT engineer, you sometimes need to update instance versions to a newer AMI image, either for the latest security patches or to introduce new functionalities. The challenge lies in updating an active ASG without causing downtime. It's crucial to ensure the new AMI performs as reliably as the existing one, balancing the need for updates with system stability and uptime.

ASG's instance refresh is a crucial feature that allows for updating instances within a group while minimizing downtime, thereby maintaining high availability. However, ensuring the success of such updates, especially in large, complex systems, can be a challenge. Terraform resources, such as aws_autoscaling_group, can initiate this process but don't provide progress tracking. This limitation becomes apparent when other infrastructure components, such as certificate renewals or DNS updates, depend on the state and version of the instances. Monitoring the update process is essential to maintain an accurate infrastructure state after Terraform's execution.

To overcome this challenge, Ansible can be utilized...

Read more
Article

The first Silicon Valley meetup on portable SystemVerilog examples for ASIC and FPGA

Reading time3 min
Views1.1K

Need to start your career or hobby in digital design and verification of silicon chips or reconfigurable hardware? Explore multiple FPGA toolchains and open-source ASIC tools? Design your own RISC-V CPU or ML accelerator? Prepare for an interview in SystemVerilog? Come to our first Silicon Valley meetup on portable SystemVerilog examples for ASIC and FPGA.

Read more
Article

Trace Compass and GZip

Reading time4 min
Views1K

Trace Compass with GZip

Trace Compass is an open-source application performance analysis framework. It is designed to visualize and analyze traces, which are recordings of events that occur in a software system during its execution. Trace Compass is particularly useful for understanding the behavior, performance, and interactions within complex software systems.

Key features of Trace Compass include:

Trace Visualization: It provides a graphical representation of traces, allowing users to visualize the sequence and timing of events in a system.

Analysis Tools: Trace Compass offers various analysis tools and modules for different types of traces, helping users identify performance bottlenecks, errors, and other issues.

Support for Multiple Trace Formats: It supports a wide range of trace formats from different sources, making it versatile for analyzing traces generated by various software components.

Customizable Views: Users can customize the views and analyses based on their specific needs, allowing for a more tailored and effective analysis process.

Integration with Eclipse: Trace Compass is often integrated with the Eclipse IDE, providing developers with a seamless environment for analyzing and debugging their applications.

Overall, Trace Compass is a valuable tool for developers, system administrators, and performance analysts to gain insights into the runtime behavior of software systems and optimize their performance.

Read more
Article

Interview with Stephanie Planque from Covalent Bioscience

Reading time8 min
Views647

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

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

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

Read more
Article

After sale IT support for American and Western Companies

Reading time2 min
Views580

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”

Read more
Article

How to send messages over sockets and create your own messanging protocols in C++

Level of difficultyMedium
Reading time28 min
Views9.5K

Network programming in C++ can be challenging. But even a greater challenge is to find educational content that will arm you with the knowledge on how to apply your networking skills in real applications.

In this article you can learn the basics of socket communication and many ways how you can design your internal messaging protocols.

Read more