Welcome to Mobile Tech Tracker. Our mission is to help technically-minded people to become better versions of themselves and to help ordinary people to use modern smart technologies to their own advantage. If you want to support us, please consider visiting the pages of our advertisers.
Building .NET Core audio application - part 1
As great as .NET Core is for writing software for multiple platforms, it lacks some basic capabilities. This applies to those functionalities that would work radically differently on different platforms under the hood, especially the ones that weren't the priority for the authors of .NET Core. One of these is the ability to play sound.
With it's predecessor, .NET Framework, you could play sound easily by using classes like SoundPlayer from the standard class library of the framework itself. Likewise, NuGet packages such as NAudio added many extra audio-processing capabilities.
Unfortunately, NAudio is not fully compatible with .NET Framework yet. Although there is a pre-release version that is available in .NET Standard and is compatible with .NET Core, the bulk of its functionality is still only available on Windows.
There is, of course, a reliable way to play sound on .NET Core on any platform, but it requires quite a few additional dependencies. You will have to load ASP.NET Core components, Node.js and use NodeServices to get this solution to work.
Therefore, if you would want to be able to play audio on .NET Core in the most efficient way without loading too many additional components, you can write your own library to do so. Fortunately, the process is not prohibitively difficult.
Building .NET Core desktop application
.NET Core is great for cross-platform app development. Unfortunately, the compatibility with multiple platforms was achieved primarily by excluding any components that are specific to Windows OS that it's predecessor, .NET Framework was built for. This is why, out of the box, .NET Core can only be used to build command line applications with no GUI and, with addition of ASP.NET packages, web application with nothing more than a standard functionality.
So, how can one build a .NET Core desktop application with GUI? Fortunately, the framework is extendable and the extendability goes above and beyond simply relying on NuGet packages.
Any common software functionality that isn't yet available in .NET Core is available via a more mature cross-platform software-building technology: Node.js. And the good news is that two frameworks can inter-operate easily.
In my previous article, I talked about how to play audio in .NET Core by using one of its standard libraries, NodeServices. In this article, I will talk about utilising Node.js from within a .NET Core app to build a desktop application with GUI. However, this time, the methodology is somewhat different.
How to play sound on .NET Core
How do you play sound in .NET Core apps? Is there a version of NAudio NuGet package for .NET Core or it's equivalent? Sadly, playing sound is nowhere near as straight forward on .NET Core as it is on .NET Framework. And there isn't a simple NuGet-based solution either. However, there is a way.
.NET Core certainly came a long way since Visual Studio 2017 was first released. It is now at the stage where the framework itself and the technologies that support it are mature enough to be used in production. However, although .NET Core can be deployed on any of the most widely-used operating systems and any CPU architecture that supports those, the framework is still pretty bare-bone compared to it's predecessor, .NET Framework.
Many things that .NET Framework can do are very Windows-specific with no platform-independent equivalent, therefore .NET Core does not natively support those. One of such functionalities is the ability to play sound from the code. With .NET Framework, you have native classes that support it, such as SoundPlayer from System.Media namespace and third-party NuGet packages, such as NAudio. Neither of these are available in .NET Core and, if you browse NuGet repository for sound libraries compatible with .NET Core, you'll soon realise that there is nothing that will enable you to play sound from the code in a straight-forward manner. At best, you can download some library that acts as a wrapper around some other assembly that needs to be compiled specifically for a particular operating system or a specific CPU architecture. As well as potentially not being available for a particular type of a machine, most of such libraries have a strictly enforced paid-for license.
Despite all this, there is a reliable and simple way of playing sound in .NET Core without having to splash out for an expensive software license. But first, let's see why NAudio, one of the most popular NuGet packages for audio processing, cannot live up to this task.
How to protect your website from spammers
If you own a website and have given its users the ability to post content, such as comments or articles, you are bound to clash with malicious spammers at some point. They will come when you least expect them.
So, imagine that you woke up one day after posting an amazing article that you've put a lot of effort into. And you see that people are obviously interested in what you had to say, as it attracted over hundred comments. At first, it makes you happy. However, your happiness doesn't last, as you discover that all of the comments are about Viagra.
The bad news is that this kind of thing is extremely common. The good news is, however, that it is extremely easy to protect your website against spammers. This is why you rarely, if ever, see these kind of comments on reputable websites.
Biggest misconceptions about full stack developers
There are many different types of software developers out there. Some are generalists, while other are more specialised. And the distinction in specialism is not only between application types, such as web vs native. Even in the same type of app, there are programmers who can build the whole thing and there are the ones whose expertise is only limited to one part of it, such as user interface.
This distinction is particularly prominent in the world of web apps. There are those who only ever do the front-end. There are those who don't touch anything other than the back-end. There are those who are experts in databases that wouldn't do anything else. And there are also full-stack developers, who are seen as the ones who would be able to tackle all these parts of the software.
However, many people wonder if there is even such thing as a full-stack developer. Technology moves forward at a fast pace; therefore even being a specialist is hard. In the web front-end alone, new libraries and frameworks get released at an incredibly fast rate. So, even in that narrow domain, keeping up with all of the changes is incredibly difficult. So how can somebody keep themselves up to dat with front-end technologies while, at the same time, keep up with the developments in back-end and databases?
The truth is, however, that full stack developers do exist. And they are neither geniuses nor mediocre programmers who have a superficial knowledge of many technologies, but aren't masters in any. Perhaps, some do fall into either of these categories, but this is not how the things are overall.
It's not Capitalism that's the problem
Whenever you watch a news report, you see that the world has many severe problems that cause people to needlessly suffer. Very often, free market, which is commonly referred to as Capitalism, is what is blamed for creating those problems. After all, this is the dominant economic system in the world.
The irony is that, whenever people say that Capitalism is bad, they often do so by posting it on Facebook from their iPhone while having a coffee at Starbucks, none of which would have existed without free market. So, essentially, critics forget about the fact that the economic system that they love to hate is the same system that brought them all their daily comforts and enabled their lifestyle.
Although it is true that a lot human suffering happens under the Capitalist system, it doesn't necessarily mean that it is the Capitalist system that directly causes all of this suffering. Saying that it does is pretty much the same as saying that water is lethal due to the fact that everyone who has ever died used to regularly drink water.
In fact, "water is lethal" statement provides a good example of how manipulative political ideas are pushed. The proponents of a particular idea would first tell you some solid facts that nobody can argue against and then would try to use these facts to express a pseudo-logical conclusion to support their view. As you will see, framing free market as the sole cause of some of the world's problems is one of such pseudo-logical conclusions. In many of such cases, Capitalism per se is not to blame.
The most important skill for 21st century
We are living in the information age. Many traditional industries and jobs associated with them are on the way out. Internet and smart technologies have radically changed how we live and work.
Although technology has improved our lives overall, it also made certain things much more challenging. One of the biggest of these issues is the fact that our attention span has been substantially reduced.
Therefore, if you want to be successful in the 21st century, the most important skill is probably not what you think it is. It is not the knowledge of programming languages. Neither it is the knowledge of online marketing or SEO. Without a doubt, those skills are in demand and are great to have. But they will mean nothing unless you have mastered one particular meta-skill:
The ability to focus for prolonged periods of time
How to think like a hacker
Contrary to the popular belief, hackers are not always the people who breach website security and steal personal data. The word also refers to the software developers who build revolutionary software by putting together some components in such a way that nobody thought of before. This is why when you hear somebody referring to Mark Zuckerberg as a hacker, this doesn't necessarily mean that he is out there to steal your data, as many assume. What it means in the context is that he has built the most successful social media network in the world from his university dorms.
What is more interesting, however, is that the hackers think in a particular way and this way of thinking is not only applicable to technology. It can be applied anywhere. Regardless of who you are and what you do, if you learn to think like a hacker, the quality of your life will improve significantly.
This mode of thinking is not exclusively present in those who are traditionally referred to as hackers. Some of the best scientists, artists and other creative individuals have it too. And, at its base, it is quite simple. It is all about thinking out of the box and not accepting the status quo. This is the core skill that needs to be developed before anything else if one aspires to become a hacker or learn to think like one. This way of thinking is what allows the hackers to use various things for something other than their intended purpose. The rest of the equation, the specialist skills, are much easier to learn.
Pocket Spy Sound Recorder
Did you ever have to deal with a toxic boss or harassment at work? Are you tired of dealing with corrupt government officials? Do you need to collect evidence of a crime? Are you an investigative journalist? Do you simply want to be able to record sound at a high professional quality? If you have answered yes to any of these questions, then this app is for you.
Pocket Spy Sound Recorder is a hidden sound recording app that allows you to turn your mobile phone or tablet into a powerful listening device, unnoticeable to the people in your surrounding. It is a perfect tool for collecting evidence or investigative journalism. The whole purpose of the app is to secretly record the sound while keeping your device fully usable in the process. The app does not show any annoying adverts and all features of the app are available instantly without any in-app purchases.
Mail My Pics
MailMyPics app can capture several pictures in a batch and send them to a specified email address, transfer them to cloud or share them on social media instantly. This app makes it convenient to share your photos straight after taking them.
Although there are many uses for this app, an important one is the ability to covertly collect evidence if you become a witness of crime or some other wrongdoing. The camera is silent, so you should not worry about being heard taking pictures if you are in a volatile situation. Likewise, the photos can instantly be sent to the specified email address (e.g. police or your close ones), so there is no way for anyone to destroy the evidence, even if they take possession of your device.
Pocket Interest Rate
Do you want a powerful tool to help you make important financial decisions quickly and save you valuable time? Do you get confused by financial jargon related to loans and savings? If the answer to either of these questions is yes, then this app is for you!
This inexpensive app is a collection of 6 powerful tools which calculate everything involving interest rates, ranging from time it would take to fully repay a credit card debt to an amount accumulated in a savings account over time.
Q#, an emerging language for quantum computing
Edge browser gets improved WebAssembly support
Kubernetes gets fully integrated with Visual Studio
Microsoft deploys an underwater data centre
Microsoft grants organisations an easy access to blockchain
Saving your mobile apps from the danger of rooted devices
Microsoft is focusing on artificial intelligence
F# is given a boost in the latest Visual Studio update
"The S@!t Bank" is in a big trouble due to IT glitch
Microsoft makes its own Linux and its own chip
© Mobile Tech Tracker. All rights reserved. Unauthorised copying of any of this website's content is prohibited under international law.
For any queries, comments or suggestions, please write to email@example.com.