The Microsoft Connect() conference in Las Vegas took of on December 4th with some coll but not really unexpected announcements. For my interests the most important announcement was the .Net Core 3.0 preview availability with the long hailed support for desktop applications. Till now you could use .Net Core to build mostly web applications or console application, but starting with .Net Core 3.0 developers will be able to build Windows desktop applications on .Net Core. This step was already announced in May at the Build conference so therefore the .Net Core 3.0 preview availability is not unexpected for techhies that try to be active in the .Net ecosystem. Ignorance is however at high level and since the initial announcement at Build tech forums and discussion boards are full of questions and answers around the “cross-platform desktop applications” idea. So will we be able to run .Net Core 3.0 desktop applications on Windows, Linux and Mac? Of course NOT! That’s why I would like to get into a lot more detail on this point and finally outline what in my opinion really is the key benefit of creating .Net Core 3.0 desktop applications. Continue reading
“The secured, shared bitcoin wallet” reads the tagline of Copay. You know, that part of the entire marketing strategy of any brand that really gets printed and displayed anywhere to create a strong bond between the message itself and the brand. It also turns out that the “secure” part was not that secure recently as a NPM package vulnerability in v5.0.2-5.1.0 of Copay and BitPay Wallets was discovered few days ago. Still this post is not about Copay or BitPay. Since Copay and BitPay wallets rely on open source software I really aim to depict a timeline of what happened, what can we learn about the current state of open source software and some aspects that all players in the open source community should think about. Continue reading
This week I attended an artificial intelligence workshop organized by the company I work for and very nicely delivered by Richard Jarvis from DXC. Therefore, I think it would be nice to share some things I’ve learned there alongside with some personal thoughts on buzz words like, artificial intelligence and machine learning.
First of all there is a huge misconception that those who are not math geniuses should probably stay away from this topic. I learned during the workshop that this is simply not true. Sure, if you really want to dive deep into machine learning algorithms researches you need to know mathematics. Fortunately, the world won’t probably need as many researchers as people who are aware how things work and that are able to build applications and bring value to users by relying on the research that’s already been made. Why I say that? Continue reading
Last week #MsBuild was underway in Seattle. I have already made some notes on the keynote last Monday and the following days I tried to keep track with different novelties announced for ASP.Net Core 2.1. And I think for some members of the community it might be useful to have them written down, so in this article I’ll try to summarize all the information. Please note, that I was not present at the #MsBuild conference. I just tried to follow the sessions streamed on Channel 9 and some key Twitter accounts.
One of the novelties I am most exciting about is the new HttpClientFactory feature. If you worked with the HttpClient in production software, there is a good chance that you noticed a lot of challenges and head aches. In a services oriented architecture where we might need to have several different connections, the only way to go is to use several HttpClient instances (sure not for every call a new client 🙂 but still a bunch of them). One of the problems is that each HttpClient would maintain its own connection pool to the remote server, so it’s highly inefficient. The second, and most stringent problem, is that in scenarios where an application needs to make a lot of calls to remote servers, you could exhaust all the available sockets from time to time. And this is really not cool at all. Continue reading
The Microsoft Build 2018 kicked off today in Seattle with Microsoft CEO Satya Nadella taking the stage and presenting Microsoft’s vision and strategy for the developer ecosystem. Scott Guthrie took then the audience through the main technical novelties with a lot of help from product managers and Microsoft partners or customers. If you missed the Microsoft Build 2018 keynote, here is a brief summary of what happened, taking note that it might be difficult to sum up in a few lines everything that was discussed for more than 3 hours. Continue reading
There’s a huge scandal these days around Cambridge Analytica since The New York Times and The Observer reported on the company’s use of personal information acquired by an external researcher who claimed to be collecting it for academic purposes. In response, Facebook banned Cambridge Analytica from advertising on its platform. Reports also say that Cambridge Analytica CA worked for Donald Trump’s presidential campaign. That’s just to draw the context. As a last introduction note, I won’t make any comment on politics or legal aspects of this scandal! Continue reading
Looking at this title, many developers would say “Are you mad? You can’t build single page applications with C#! You need a front end framework, like Angular, React or Vue”. Right now I can’t say that I can prove them wrong, but I can definitely at least say that building SPAs with C# is in fact possible. For now it’s only experimental, but the ASP.NET team announced an experimental project called Blazor. Blazor is an experimental web UI framework based on C#, Razor, and HTML that runs completely in the browser via WebAssembly. This really opens new perspectives on the fact that you may build modern SPAs using C# and the entire .NET stack. Continue reading
Microsoft just released the Quantum Development Kit, taking a first bold step towards the democratization of quantum computing. Few months ago, the Redmond based company officially published a lot of their internal research and quantum computing roadmap, hence the release of the development kit was an event heavily expected by computer science enthusiasts. With the Quantum Development Kit, developers all around the world can now write quantum computing algorithms dive into deeper into concepts that till now we were able only to speak out to impress everybody around us.
The new released Quantum Development Kit contains the following:
- Q# language and compiler. Q# is a domain-specific programming language used for expressing quantum algorithms. It is used for writing sub-programs that execute on an adjunct quantum processor under the control of a classical host program and computer.
- Q# standard library. The library contains operations and functions that support both the classical language control requirement and the Q# quantum algorithms.
- Local quantum machine simulator. A full state vector simulator optimized for accurate vector simulation and speed.
- Quantum computer trace simulator. The trace simulator does not simulate the quantum environment like the local quantum simulator. It is used to estimate the resources required to execute a quantum program and also allow faster debugging of the non-Q# control code.
- Visual Studio extension. The extension contains templates for Q# files and projects as well as syntax highlighting. The extension also installs and creates automatic hooks to the compiler.
Technology evolves on a very fast pace and it’s often difficult to predict the future of technology or some specific directions that technological development will head to. Still, last week there was an event that unarguably defines some strategic directions that technology development will surely emphasize. So last week, AlphaZero won a 100 games chess marathon against Stockfish. Not only did AlphaZero win, but it didn’t lose a game at all! It won 28 games and drew 72. The spectacular aspect from a tech perspective is that AlphaZero learned the game in only 4 hours. Continue reading
As I already announced on LinkedIn, I decided to leave Microsoft starting November 24th. Strangely enough, I didn’t leave Microsoft because I didn’t enjoy the company anymore, but because I stumbled upon a new challenge that I really couldn’t refuse. More than 2 years ago I’ve decided to leave Office 365 behind and to focus more on Cloud Application Development. The solid foundation I had in cloud identity topics helped me a lot, because if you develop an application you pretty sure will also need authentication and authorization and that’s where Azure AD comes in handy. Now, I got the chance to totally shift focus and become a “real” software developer. That’s why I really couldn’t refuse this challenge and am glad to have joined Amdaris. Continue reading