Pull to refresh
111.99

Software

Everything about software

Show first
Rating limit
Level of difficulty

The Salmon Project: how to counter Internet censorship effectively using proxies with user trust levels

Level of difficultyMedium
Reading time5 min
Views541

Governments in many countries restrict citizens' access to information and services on the Internet in one way or another. Combating such censorship is an important and difficult task. Usually simple solutions cannot boast about high reliability or long-term efficiency. More complex methods of overcoming blocks have disadvantages in terms of usability, low performance, or they do not allow you to maintain the quality of Internet use at the proper level.

A group of American scientists from the University of Illinois has developed a new method of overcoming blocks, which is based on the use of proxy technology, as well as segmenting users by trust level to effectively identify agents working for censors. We present you with the main theses of this work.

Description of the approach

Scientists have developed the Salmon tool, a system of proxy servers operated by volunteers from countries without restrictions on Internet use. In order to protect these servers from blocking by censors, the system uses a special algorithm for assigning a level of trust to users.

The method involves exposing potential censor agents that pose as ordinary users in order to find out the IP address of the proxy server and block it. In addition, countering Sybil attacks is carried out through the requirements to provide a link to a valid social network account when registering in the system or to receive a recommendation from a user with a high level of trust.

How it works

It is assumed that the censor is a state–controlled body that has the ability to take control of any router within the country. It is also assumed that the task of the censor is to block access to certain resources, and not to identify users for further arrests. The system cannot prevent such a course of events in any way – the state has plenty of opportunities to find out what services citizens use. One of them is the use of honeypot servers to intercept communications.

It is also assumed that the state has significant resources, including human ones. The censor can solve tasks that require hundreds and thousands of full-time employees.

A few more basic theses:

Read more

Referential Transparency as a mechanism for building Reliable Programs

Level of difficultyEasy
Reading time4 min
Views644

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.

Yes

Setting Up an Experiment Environment for Data-Driven Product Development

Level of difficultyMedium
Reading time8 min
Views998

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.

Read more

Listicles — a simple technique for benchmarking your value proposition against alternatives

Level of difficultyMedium
Reading time5 min
Views813

I believe listicles have a huge potential for testing demand hypotheses. Have you tried using listicles for your demand validation? If so - let us know in the comments how this worked for you.

Do you know these "Top N something something" kind of articles? Like:
- 5 best GPS vehicle trackers
- The 14 hair growth products that actually work
- Top 10 Best CRM Software Tools in 2023
They are often referred to as "listicles" - articles presented in the form of a list.

I love them - they make picking a new phone, a movie to watch, an app to install much easier. I also use them at work all the time while looking for solutions to everyday challenges.

So what if we use one of them to benchmark our product against the best available alternatives?

Read more

http://GuitarFX.Net Digital (SOFTWARE) modeling of analog guitar distortion, reverb, noise gate etc. effects

Reading time5 min
Views1.4K

The sound of rock music, in particular of hard rock and heavy metal, is largely based on a specially distorted guitar sound, for which electronic “distortion” devices, tube amplifiers in “overloaded” mode, computers with appropriate software and digital processors are used. increasingly using neural network algorithms.

The distorted sound of electric guitars began to gain popularity around the 1960s. Since that time, the sound of overloaded tube amplifiers, connected to powerful dedicated guitar speakers with large dedicated speakers, has been considered the benchmark in rock music. But tube amplifiers were relatively expensive and inconvenient to operate. Therefore, semiconductor distortion devices were developed.

At that time, the electrical circuitry of distortion devices was relatively simple and the signal output from their output only vaguely resembled the sound of an overloaded tube amplifier. Nevertheless, it was still somewhat similar to the “sound of a lamp” and this provided a powerful incentive for designers of analog semiconductor distortion circuits to continue their research, complicate circuits and propose new circuit solutions. The heyday of analog solid-state distortion was around 1995-2010. The most popular were electrical circuit diagrams like those shown in the figure below.

Read more

How in-app chats help e-learning platforms to be more interactive?

Reading time4 min
Views926

e-Learning is an extension of/ alternative to a traditional classroom setup. e-learning, commonly known as ‘online learning’ or ‘virtual learning’ is ideally a one-way or two-way digital communication established on a device with video and voice call integration using internet access. The last two years made us realize how technology can facilitate and improve communication. Digital technology had its impact in almost every industry including the sensitive education sector.

Read more

The Significance of In-app Messaging Applications in your Digital Business

Reading time4 min
Views1.3K

In-app messages are targeted notifications sent to customers/ users while they are active on the website or mobile application. They are a very effective way to engage customers as they are already within the application looking for specific information. In-app chat applications help connect better with the users and improve user retention as they are timely and targeted. 

Read more

Introducing into calamares bootloader

Reading time13 min
Views5.6K


Overview


Sometimes all of us need to make a graphical installer for one's own linux distro. It goes without saying that you are able to use a distro-specific installer like Anaconda for RedHat-based or DebianInstaller for debian-based. On the other hand Calamares is a graphical installer which is not aligned with only one package manager.


I want to share my experience how to make a universal install solution with GUI. I did not find any complete article about it, hence, I reinvented the wheel.

Read more →

How to choose a static analysis tool

Reading time8 min
Views2.3K

Tools to improve and control code quality can be a key success factor in a complex software project implementation. Static analyzers belong to such tools. Nowadays, you can find various static analyzers: from free open-source to cross-functional commercial solutions. On the one hand, it's great – you can choose from many options. On the other hand – you have to perform advanced research to find the right tool for your team.

Read more

New features of the hybrid monitoring AIOps system Monq

Reading time10 min
Views1.3K


In one of the previous articles, I’ve already written about the hybrid monitoring system from Monq. Almost two years have passed since then. During this time, Monq has significantly updated its functionality, a free version has appeared, and the licensing policy has been updated. If monitoring systems in your company start to get out of control, and their number rushes somewhere beyond the horizon, we suggest you take a look at Monq to take control of monitoring. Welcome under the cut.
Read more →

Top 7 Best VOD Streaming Platforms in 2022

Reading time7 min
Views5.8K

These days, video streaming mobile apps have been witnessed with an increased spike of subscribers & now much video content is being much cherished without any interruptions via a streaming app. 

This is duly because catering to the prerequisite needs of end-users have popularized several VOD streaming services that has bought keen interest as compared to to the big black box which is slowly diminishing its presence. 

According to recent forecasted data, there is a positive anticipation of the entire VOD streaming  platform development’s  market to expand its size & peak its value by $842.93 billion by the year 2027! Source: Softermii 

Read more

12 Tech Trends Every Java Developer Must Learn To Win The Game In 2021

Reading time7 min
Views8.8K

The previous year has been very distressing for businesses and employees. Though, software development didn’t get so much affected and is still thriving. While tech expansion is continuing, Java development is also going under significant transformation.

The arrival of new concepts and technologies has imposed a question mark on the potential of Java developers. From wearable applications to AI solutions, Java usage is a matter of concern for peers.

Moreover, it is high time that developers enhance their skills as to the changing demands of the industry. If you are a Java developer, surely you too would be wondering what I am talking about what things you should learn.

Read more

Flitter Your Business With AI Integrated Flutter App Development

Reading time5 min
Views3K

As we all are aware of the fact that the digital market is heavily leaning towards a reliable UX-driven process, app development has become quite complex, especially for targeting the industry for mobile platforms.

For every organization, creating a product that is beneficial for their customer needs always comes up with a plethora of challenges. 

From the technical point of time, there are various challenges that every business faces, including selecting the right platform for the app, the right technology stack or framework, and creating an app that fulfills the needs and expectations of customers.  

Similarly, there are more challenges that every business faces and needs to cope with while creating its dream product. 

So, what to do??

Well, what if I say that the answer to all your queries and questions is Flutter app development with Artificial Intelligence (AI)  integration……

Surprised? Wondering how? 

Well, AI in Flutter app development is one of the best advancements in the software market. The concept of AI was first introduced during the 20th century with loads of innovations and advancements that we are still integrating into our mobile app development. 

But, what are Artificial Intelligence and Flutter app development? 

Read more

Architectural approaches to authorization in server applications: Activity-Based Access Control Framework

Reading time10 min
Views1.5K

This article is about security. I’ll focus on this in the context of web applications, but I’ll also touch on other types of applications. Before I describe approaches and frameworks, I want to tell you a story.


Background


Throughout my years working in the IT sphere, I’ve had the opportunity to work on projects in a variety of fields. Even though the process of authenticating requirements remained relatively consistent, methods of implementing the authorization mechanism tended to be quite different from project to project. Authorization had to be written practically from scratch for the specific goals of each project; we had to develop an architectural solution, then modify it with changing requirements, test it, etc. All this was considered a common process that developers could not avoid. Every time someone implemented a new architectural approach, we felt more and more that we should come up with a general approach that would cover the main authorization tasks and (most importantly) could be reused on other applications. This article takes a look at a generalized architectural approach to authorization based on an example of a developed framework.


Approaches to Creating a Framework


As usual, before developing something new, we need to decide what problems we’re trying to solve, how the framework will help us solve them, and whether or not there is already a solution to these issues. I’ll walk you through each step, starting with identifying issues and describing our desired solution.


We’re focusing on two styles of coding: imperative and declarative. Imperative style is about how to get a result; declarative is about what you want to get as a result.

Read more →

SIEM Solutions Overview (Security Information and Event Management)

Reading time11 min
Views2.4K

Modern corporate IT infrastructure consists of many systems and components. And monitoring their work individually can be quite difficult — the larger the enterprise is, the more burdensome these tasks are. But there are the tools, which collect reports on the work of the entire corporate infrastructure — SIEM (Security Information and Event Management) system in one place. Read the best of such products according to Gartner experts in our review, and learn about the main features from our comparison table.
Read more →

5 Most Popular IT Outsourcing Software Development Companies in India

Reading time5 min
Views2.1K

The global IT outsourcing market generated a revenue of $520.74 billion in 2019 and it is expected to surge at a CAGR of 7.7% during the 2020-2027 period. The immense growth of the market is due to the growing popularity of outsourcing software development companies across the globe. 

In fact, in 2018, India dominated the global IT outsourcing market with a 67.0% share and the Indian IT sector generated a revenue of more than $150.0 billion with a CAGR of 10-15.0% per year. 

The majority of small businesses, start-ups, and enterprises are inclined towards IT outsourcing companies for managing and handling their business. There are hundreds and thousands of outsourcing software development companies available on the internet but choosing the top-notch IT outsourcing company is a tough call because you might fall into the wrong trap

So, for that, I am going to shortlist the top 5 software development outsourcing companies in India that not only add value to your business but also help you to expand your business across the globe. 

I am going to prepare a list of parameters that will back the shortlisting of these top 5 IT outsourcing companies in India- 

Read More

How To Build a Password Management Software Using JAVA?

Reading time5 min
Views14K

In this digital world, people prefer to work remotely. There are numerous tasks that each of us goes through every day. If I talk about an application's usage, then it has been predicted that there will be a 25% increase in global app downloads between 2018 and 2022

But it can be quite challenging for organizations to maintain and create multiple passwords. Hence, a password management software can be a great choice to manage this effectively. It is like your bank locker, where one can store numerous passwords. The users only need a master password to access the software.

Do You Know? 

Read More

Authors' contribution