Search
Write a publication
Pull to refresh

All streams

Show first
Period
Level of difficulty

The effectiveness of the marketing funnel AARRR

Reading time5 min
Views2.7K
AARRR stand for:

• Acquisition.
• Activation.
• Retention.
• Revenue.
• Referral.

AARRR (also called the Pirate Metrics) describes the sales funnel. At the top of the funnel are visitors who only saw your application, or just downloaded it and still do not know how they will interact with it. Next, visitors are registered — of course, if it is provided by the functionality of the application.

Now they (you can start calling them users) reach the moment when they have to understand the value of the product and decide to remain its user, i.e. start buying some services, recommend the application to your friends and, in general, constantly return to the application for any purpose, or delete it from mobile device.

You will not have another chance to impress the user!

The AARRR framework forces developers to measure their sales funnel numerically. At every stage.
Read more →

Disposable pattern (Disposable Design Principle) pt.3

Reading time15 min
Views4.2K


Multithreading


Now let’s talk about thin ice. In the previous sections about IDisposable we touched one very important concept that underlies not only the design principles of Disposable types but any type in general. This is the object’s integrity concept. It means that at any given moment of time an object is in a strictly determined state and any action with this object turns its state into one of the variants that were pre-determined while designing a type of this object. In other words, no action with the object should turn it into an undefined state. This results in a problem with the types designed in the above examples. They are not thread-safe. There is a chance the public methods of these types will be called when the destruction of an object is in progress. Let’s solve this problem and decide whether we should solve it at all.


This chapter was translated from Russian jointly by author and by professional translators. You can help us with translation from Russian or English into any other language, primarily into Chinese or German.

Also, if you want thank us, the best way you can do that is to give us a star on github or to fork repository github/sidristij/dotnetbook.
Read more →

7 Interesting startups in IoT

Reading time9 min
Views2.7K
The “winner takes all” principle seems to be less relevant to a startup business model than to a corporate business. Why so? The thing is that a cumulative advantage inherent in a contemporary globalized economy when the bigger you are the more chances you have for a further growth works beyond poorly regulated environments to which startups belong. The startup phenomenon in general and the IoT startups in particular are too immature in terms of a business-model history. In contrast to corporations, startups feel good in a Black-Swan-friendly uncertainty of emerging innovations. They operate in risky fields, they gamble oftentimes. But an immense focus on their own topics is what helps them survive. Indeed, dedication is an antidote to risks.

Originally article was posted here — 5 IoT startups in Logistic
Read more →

Memory and Span pt.2

Reading time9 min
Views3.3K


Span<T> usage examples


A human by nature cannot fully understand the purpose of a certain instrument until he or she gets some experience. So, let’s turn to some examples.


ValueStringBuilder


One of the most interesting examples in respect to algorithms is the ValueStringBuilder type. However, it is buried deep inside mscorlib and marked with the internal modifier as many other very interesting data types. This means we would not find this remarkable instrument for optimization if we haven’t researched the mscorlib source code.


What is the main disadvantage of the StringBuilder system type? Its main drawback is the type and its basis — it is a reference type and is based on char[], i.e. a character array. At least, this means two things: we use the heap (though not much) anyway and increase the chances to miss the CPU cash.


Another issue with StringBuilder that I faced is the construction of small strings, that is when the resulting string must be short e.g. less than 100 characters. Short formatting raises issues on performance.


This chapter was translated from Russian jointly by author and by professional translators. You can help us with translation from Russian or English into any other language, primarily into Chinese or German.

Also, if you want thank us, the best way you can do that is to give us a star on github or to fork repository github/sidristij/dotnetbook.
Read more →

How iOS Developers Are Seeking To Up The Ante With Cloud Computing

Reading time4 min
Views1.5K
image

As a platform, many enterprises are leveraging iOS to realize the amazing benefits of cloud computing. This is one aspect of digital transformation that has been rocking the entire industry in recent times. Generally, there is only a few internet-based development and deployment service performed on the platform that is not concerned with cloud application development. Nowadays, there is a growing population of iOS developers and app development companies that are steadily adopting cloud computing.
Read more →

Universal C# Code for NET and JavaScript

Reading time18 min
Views6.5K

In 2013, while working at GFRANQ photo service, I participated in the development of an eponymous web service for publishing and processing photos. Filters and transformations were defined in the file with parameters, and all processing was carried out on the server. During service development, there was a need to support these transformations on the client side for the preview. According to Larry Wall, one of the virtues of a programmer is laziness. Therefore, as truly lazy programmers, we thought about the possibility of using the same code on both the server and client sides. The entire development was conducted in C#. After researching the libraries and a couple of attempts, we proudly concluded that this was possible and began to write the universal code.



Why is this article needed? Indeed, 6 years have passed since 2013, and many technologies have lost their relevance, for example, Script#. On the other hand, new ones have appeared. For example, Bridge.NET or Blazor based on the fancy WebAssembly.


Nevertheless, some ideas can still be used. In this article I tried to describe them as detailed as possible. I hope that the mention of Silverlight and Flash will cause a smile with a hint of nostalgia, and not a desire to criticize the old solutions. Anyway, they have contributed to the development of the web industry.

Read more →

Board game for learning the basics of electrical circuits. Why not?

Reading time3 min
Views5.2K


I made the “electric” designer of… cardboard. Alas, the project still remains at the prototype stage, not developing into an industrial “physical” look and is waiting for its time (and investor).


But I decided to go further — once we started making cardboard, we’ll bring the situation to its logical conclusion — we’ll make a complete cardboard board game, but with an electric setting and a learning effect. There were a lot of options — starting from a simple “walker” and ending with Ameritrash from a zombie with electron movement and vicious short circuits and swollen capacitors.


As a result, I decided to dwell on a logical abstract, since the schematics of electrical circuits are very suitable for it. Said and done — as a result of the first iteration, the game “Circuit” was born.

Read more →

Smart Lock: Why sloth is a driver of the IoT progress

Reading time6 min
Views1.8K
When you are sitting in your comfy chair in your cool modern office, anything distracting you from your favorite routine is really annoying. Some may call it a sign of sloth, but in fact, it relates to optimization of workflows. Our computers and smartphones provide us with many opportunities to do a lot without leaving our place. Software as such cares about our control over the physical world by just clicking and tapping. Indeed, the digitization advances: what people have had to do with their muscles for centuries in the past, could be done with either a voice command or a text message today thanks to numerous remotely controlled gizmos. And the IoT plays a crucial role in all this for a reason.
Read more →

Top 10 IoT sensors in 2019

Reading time8 min
Views5.1K
The very paradigm of automation where IoT solutions play a key role is based on a presumption that machines can act in both autonomous and intelligent manners. And what enables them doing so is a capability of handling tremendous flows of collected data.

The collectible data includes those various signals that both animate and inanimate object can send to the IoT systems. Hence, the objects should have some highly specific signal-generating devices to share information within the IoT.
Read more →

Feature requests and Product requirements

Reading time2 min
Views1.4K
You can always count product manager’s strategy skills like innovative thinking, blue ocean approach and others. But on daily basis we use more practical tools and approaches. This article is about working with feature requests and product requirements.

The main axiom of managing requests is that feature requests from customers, partners and internal teams are not requirements to the product. This is because every request can be split into several requirements or, otherwise, several requests can be combined to a single requirement.
Read more →

SAPUI5 for dummies part 4: A complete step-by-step exercise

Reading time4 min
Views3.6K


Introduction & Recap


In the previous blog post, we learned how to move our current application into a Master-Detail app displaying Business Partner as a list (master) and its detail information with Sale Orders inside the detail page (detail).


What will be covered on this exercise


With Part 4 of this series of blog posts, we will learn how to create a second drill-down page with information about the Sale Order detail and display a table of Sale Order items.


The most important part of this exercise is to understand how to Delete (part of the CRUD operations) a Sale Order Item of a Sale Order.


  • ODataModel: we have already used it to display server-side information about our Business Partner, Order Sale. Now we’re going to use it to display Sale Order Item and delete them from the set. For this purpose, we’re going to use the remove method

This is our main task in this exercise but it’s not the only thing we’ve done in the code. Here’s a list of the things you have to do to get to the final result:


  • Add a new route and target in the manifest.json to navigate to the BusinessPartnerSeleOrderItem page
  • Listen on the Sale Order click event and navigate to the SaleOrder detail (where we will display sale order detail and sale order items)
  • Add a FilterBar to filter the Sale Order Item’s table
  • Add a ViewSettingsDialog to sort/group Sale Order Items
  • Expand the ToProduct navigation property of a SaleOrderItem entity to display Product information into table’s rows
Read more →

Creator of while True: learn() on programming in game development, VR issues and machine learning simulation

Reading time22 min
Views4.5K


A few years ago I had a feeling that Oleg Chumakov (then working at the game studio Nival) was the most famous programmer in the game development industry. He was giving speeches, hosted Gamesjams and frequently showed up on the podcast How games are made.

When VR hit the market, Oleg was chosen to lead the company’s new department — NivalVR. But, as you probably know, VR didn’t quite take off as much as people expected.

I kind of moved to other to other things in life and stopped keeping up with game development for a while, but after getting into it again I noticed that things were looking up for Oleg’s team. Now it’s called Luden.io, and their machine learning expert simulator, while True: learn() became a huge hit in its admittedly small niche. Lots of cool stories are happening around the game and the team.

We decided to do an interview with Oleg, but I couldn’t stick to one topic — his life up to this moment has been, for the lack of a better word, “interesting”. He’s seen it all. And, to ensure that a programmer could talk about programming without fear of looking too “nerdy”, the interview was conducted by my friend, colleague and an experienced developer of its own fillpackart.

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

BGP Route Leak prevention and detection with the help of the RFC9234

Reading time8 min
Views2K

All the credit is due to the RFC’s authors: A. Azimov (Qrator Labs & Yandex), E. Bogomazov (Qrator Labs), R. Bush (IIJ & Arrcus), K. Patel (Arrcus), K. Sriram.

A BGP route leak is an unintentional propagation of BGP prefixes beyond the intended scope that could result in a redirection of traffic through an unintended path that may enable eavesdropping or traffic analysis, and may or may not result in an overload or complete drop (black hole) of the traffic. Route leaks can be accidental or malicious but most often arise from accidental misconfigurations.

Read more

The 2022 National Internet Segment Reliability Research

Reading time8 min
Views1.1K

The National Internet Segment Reliability Research explains how the outage of a single Autonomous System might affect the connectivity of the impacted region with the rest of the world. Generally, the most critical AS in the region is the dominant ISP on the market, but not always.

As the number of alternate routes between ASes increases (the "Internet" stands for "interconnected networks" - and each network is an AS), so does the fault-tolerance and stability of the Internet across the globe. Although some paths are more important than others from the beginning, establishing as many alternate routes as possible is the only viable way to ensure an adequately robust network.

The global connectivity of any given AS, whether an international giant or a regional player, depends on the quantity and quality of its path to Tier-1 ISPs.

Usually, Tier-1 implies an international company offering global IP transit service over connections with other Tier-1 providers. Nevertheless, there is no guarantee that such connectivity will always be maintained. For many ISPs at all "tiers", losing connection to even one Tier-1 peer would likely render them unreachable from some parts of the world.

Read more

One does not simply calculate the absolute value

Reading time4 min
Views33K

It seems that the problem of calculating the absolute value of a number is completely trivial. If the number is negative, change the sign. Otherwise, just leave it as it is. In Java, it may look something like this:


public static double abs(double value) {
  if (value < 0) {
    return -value;
  }
  return value;
}

It seems to be too easy even for a junior interview question. Are there any pitfalls here?

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 →

Russian microcontroller K1986BK025 based on the RISC-V processor core for smart electricity meters

Reading time10 min
Views7.2K
Welcome to RISC-V era!

Solutions based on the open standard instruction set architecture RISC-V are currently increasing their presence on the market. Microcontrollers from Chinese colleagues are already in serial production; Microchip is offering interesting solutions with FPGA on board. The ecosystem of software and design tools for this architecture are also growing. Seeming previously unshaken leaders have more often found themselves in resale ads, while young startups attract multi-million investments. Milandr also got involved in this race and today began supplying interested companies with samples of its new K1986BK025 microcontroller based on the RISC-V processor core for electricity meters. Well here we go, pictures, characteristics and other information, as well as a little bit of hype under the cut.


Read more →