Bluetooth stack modifications to improve audio quality on headphones without AAC, aptX, or LDAC codecs
Some wireless headphone users note low sound quality and lack of high frequencies when using the standard Bluetooth SBC codec, which is supported by all headphones and other Bluetooth audio devices. A common recommendation to get better sound quality is to buy devices and headphones with aptX or LDAC codecs support. These codecs require licensing fees, that's why devices with them are more expensive.
It turns out that the low quality of SBC is caused by artificial limitations of all current Bluetooth stacks and headphones' configuration, and this limitation can be circumvented on any existing device with software modification only.
MessageBox for AvaloniaUI
Let's try to do it.
Memory and Span pt.1
Starting from .NET Core 2.0 and .NET Framework 4.5 we can use new data types: Span
and Memory
. To use them, you just need to install the System.Memory
nuget package:
PM> Install-Package System.Memory
These data types are notable because the CLR team has done a great job to implement their special support inside the code of .NET Core 2.1+ JIT compiler by embedding these data types right into the core. What kind of data types are these and why are they worth a whole chapter?
If we talk about problems that made these types appear, I should name three of them. The first one is unmanaged code.
Both the language and the platform have existed for many years along with means to work with unmanaged code. So, why release another API to work with unmanaged code if the former basically existed for many years? To answer this question, we should understand what we lacked before.
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.
Lazy loading of Feature Module from the «node_modules» folder
If someone of you has tried create angular libraries, he may face the issue with lazy loading Feature Module from node_modules. Let's dive deeper and go thru the dark water.
Creating library tools
Real-time Chat Solutions vs Chat Platforms — Make Your Choice
The possibility of acquiring more profit through a chat app solution is gaining popularity than adopting to monthly plans based chat platforms
With the rise of instant conversation among the users, it's not surprising that the global mobile messaging app is estimated to reach around 2.1 billion active users by 2020. When the communication lies as the significant action in nature, then in fact the underlying tool “messaging application” also acquires the same importance. Thus, every chat platforms like WhatsApp demand a great market value according to the features and functionalities listed. Most of the business professionals and enterprises are urged to rely on subscription-based plans to avail such messaging platform.
The Game of Archetypes: How Storytelling Works for Tech Brands
Archetypes are properly defined as «universal constructs of the human psyche». In layman’s terms, these are images we all recognise because they’re built into our subconscious mind. One such example is the archetype of the hero — a good guy who triumphs over evil and saves the day.
Valentine's Day Application on Libgdx
Every year there are a lot of articles dedicated to Valentine's Day. I also decided to get involved in this topic and create something original and unusual. The idea was to create a simple Android application with hearts that would have their physical models and interact with each other. Then I added text, sounds, particles and some other effects. The resulting app was working and quite original! In this article I will describe the creation process, as well as the capabilities and pitfalls of the libgdx library.
Researchers from MIT designed «rectenna» which converts Wi-Fi signals into electricity
Source: eeNews Europe
I'm glad that Habr got brand new English version. And my first post in English is about new MIT project. Researchers designed an ultra-low capacitance and ultra-low resistance Schottky diode capable of switching at GHz frequencies. This diode is able rectify and convert random WiFi signals into DC electricity.
MoS2 «rectenna» (this is how scientists called their invention) could become the main element of roll-to-roll process to cover a huge areas. To be fair antennas capable transform radio signals in to electricity is not a new thing. The main achievement of MIT engineers is creation of soft rectenna made from special alloy.
Monitoring System for Windows servers on pure SQL, and how I had secretly dragged it into the Production
One of my new tasks was to support NetIQ. The person, who worked with NetIQ before, said a lot about his experience with NetIQ, unfortunately, if I try to put it here it would be just a long line of ‘****’ characters. Soon I realized why. Steve Jobs is probably spinning in his grave looking at the interface like this:
Writing yet another Kubernetes templating tool
If you are working with Kubernetes environment then you probably make use of several existing templating tools, some of them being a part of package managers such as Helm or Ksonnet, or just templating languages (Jinja2, Go template etc.). All of them have their own drawbacks as well as advantages and we are going to go through them and write our own tool that will try to combine the best features.
The VS Code Roadmap 2019 — DRAFT
As 2018 has come to an end, now is the time to look towards the future. We typically look out 6 to 12 months and establish topics we want to work on.
As we go we learn and our assessment of some of the topics listed changes. Thus, we may add or drop topics as we go.
We describe some initiatives as «investigations» which means our goal in the next few months is to better understand the problem and potential solutions before scheduling actual feature work. Once an investigation is done, we will update our plan, either deferring the initiative or committing to it.
As always, we will listen to your feedback and adapt our plans if needed.
Full-stack developers are in fact stuck at mid-level. Spare yourself from suffering – don’t go down that path
Back in those times when I just started learning how to code, I trusted the old wise weasels with their “Programming languages don’t matter” mantra. I grew obsessed with the idea of some day becoming a developer who can do just anything. That guy who transfers his experience from one technology to another and transcends the minutia. But that idea failed miserably.
Isometric Plugin for Unity3D
It's a story on how to write a plugin for Unity Asset Store, take a crack at solving the well-known isometric problems in games, and make a little coffee money from that, and also to understand how expandable Unity editor is. Pictures, code, graphs and thoughts inside.
Things you need to know should you want to switch from PHP to Python
Several years have passed already, you have gained a lot of experience and can’t think of any other ways to work with web but PHP. Perhaps, you sometimes doubt the choice you have made, but are unable to confirm your doubts here and now. At the same time, you need real examples; you want to understand the changes that may occur in particular aspects of your work.
Today I will try to answer the following question: "What if we use Python instead of PHP?".
I have asked this question myself many times. I have been using PHP for 11 years already and am a certified PHP specialist. I have mastered it so it works just the way I want. I was really puzzled by several articles that criticized PHP severely (PHP: a fractal of bad design). However, when chance came, I switched to Ruby and then to Python. Eventually, I chose the latter. Now I will try to explain how we Python guys live out there.
Building an Arduino based RFID Emulator
This project is aimed at creating an experimental device for emulating RFID labels of three widely available components. I simplified the explanation of the process so that it could be easily replicated. I also developed some helpful ideas along the way, including writing a special program for converting a serial number into the transmitted data, which will definitely prove useful.
IIoT platform databases – How Mail.ru Cloud Solutions deals with petabytes of data coming from a multitude of devices
Hello, my name is Andrey Sergeyev and I work as a Head of IoT Solution Development at Mail.ru Cloud Solutions. We all know there is no such thing as a universal database. Especially when the task is to build an IoT platform that would be capable of processing millions of events from various sensors in near real-time.
Our product Mail.ru IoT Platform started as a Tarantool-based prototype. I’m going to tell you about our journey, the problems we faced and the solutions we found. I will also show you a current architecture for the modern Industrial Internet of Things platform. In this article we will look into:
- our requirements for the database, universal solutions, and the CAP theorem
- whether the database + application server in one approach is a silver bullet
- the evolution of the platform and the databases used in it
- the number of Tarantools we use and how we came to this
Turns out internet businesses are sustainable during pandemics. Why? Home Office DNA
“In 1665, Cambridge University closed because of the plague. Issac Newton decided to work from home. He discovered calculus & the laws of motion.”
We live in a truly remarkable moment. With the year 2020 and the COVID-19 outbreak employees all over the world are staying home for quarantine, trying their best to sustain the normal flow of life, which means continue working. And this is something new compared to all the previous infectious pandemics humanity has survived through — this time we have the Internet.
Don't forget about Open Graph
An example of a link shared in Twitter that has «og:image» and «og:title».
Adding OG (and not only) meta tags into your React app
Without further due let’s jump into newly created React app with
create-react-app
and OG meta tags to /public/index.html
. It should look like something like this:<!DOCTYPE html>
<html>
<head>
<meta charSet="utf-8"/>
<meta http-equiv="x-ua-compatible" content="ie=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<link rel="alternate" type="application/rss+xml" href="/rss.xml"/>
<title>Awesome App</title>
<meta property="og:title" content="Awesome app - the best app ever" />
<meta property="og:type" content="website" />
<meta property="og:image" content="https://picsum.photos/id/52/1200/600" />
<meta property="og:description" content="Describe stuff here." />
<meta property="og:url" content="yourawesomeapp.com" />
</head>
<body>
<noscript>This app works best with JavaScript enabled.</noscript>
<div id="root"></div>
</body>
</html>
Fighting complexity in software development
What's this about
After working on different projects, I've noticed that every one of them had some common problems, regardless of domain, architecture, code convention and so on. Those problems weren't challenging, just a tedious routine: making sure you didn't miss anything stupid and obvious. Instead of doing this routine on a daily basis I became obsessed with seeking solution: some development approach or code convention or whatever that will help me to design a project in a way that will prevent those problems from happening, so I can focus on interesting stuff. That's the goal of this article: to describe those problems and show you that mix of tools and approaches that I found to solve them.