Tallan Blog

Tallan’s Experts Share Their Knowledge on Technology, Trends and Solutions to Business Challenges

Category Archive for "Custom Software Development"

Webinar Q&A: Write-Back & Planning in Power BI

On September 2nd, Tallan and Power ON teamed up for the webinar, The Art of the Possible: Write-Back & Planning in Power BI. This was an in-depth presentation of the world’s first fully integrated BI & CPM solution for Power BI. Together we demonstrated exactly how users of any level can enter data, handle end to end workflow & approvals directly within their Power BI platform in addition to other techniques. Click here to view webinar.
Mike Marotta (Vice President, Sales – Power ON) and James Arey (Lead Consultant, Tallan) facilitated an enlightening Q&A during the webinar. Here were some of the questions raised during the webinar as well as our answers, which have been edited for clarity: 

How is Power ON deciding to allocate its Q1 update across the months?
It allocates based on the proportion that each cell makes up of the total, so a cell that…

Azure Mythbusters: Building ML Models Faster Than You Think

Amy Boyd, Microsoft Author & Cloud Advocate, recently shared a video offering valuable insight into machine learning…
Machine learning is hard. It’s experimental, we have to deal with really big data sets, and we have to choose all the different models and learn the theory behind all of the algorithms. Then you have to tune hyper-parameters and start deploying models. It feels like such a high barrier to entry to get into the machine learning space, but fortunately there’s a no-code machine learning experience that can lend us a hand. As part of the Azure Machine Learning Studio, you get access to the Azure Machine Learning Designer. This is a UI-based, machine learning module builder that lets you click and drag lots of different modules on your screen to build your own bespoke machine learning models. Check out this video, where we…

Angular Modules and Lazy Loading

When it comes to modern web applications, developers tend to gravitate towards one of the major players in the game. Of course, I am talking about Angular, React, and Vue. I personally have never been dismissive of any of these frameworks/libraries and have found that they each have their own usefulness for the problem I am trying to solve. One of the most common things I hear about Angular is how “heavy” it is. From a UI perspective and mobile-first mentality, you would not be incorrect. The way the Angular application is generated out of the box from the CLI is great for small apps, but when you get into enterprise-scale applications, using that same default box can lead to performance issues.
The Problem
Using the Angular CLI to generate a new angular application is a best practice we should all be…

Picture2

How to Switch Between Angular Applications with Conflicting Node.js Requirements Like a Pro

The Problem
As web developers, it is not uncommon for us to switch back and forth across different code bases throughout our day. If you are working with applications whose front-end development processes depend on different versions of Node.js, your workflow can quickly grind to a halt. Let’s imagine you’re working on two Angular applications. Application 1 is production code that uses Angular 6 and has a custom build process that strictly depends on version 8.9 of Node.js. Application 2 is a greenfield project and uses Angular 9 which will work with the latest version of Node.js. 
In normal circumstances we could install the latest version of Node.js and that would be enough to allow us to develop against both applications. However, because of Application 1’s strict dependency on Node versions we have a troublesome situation. Are we really going to need to uninstall and reinstall different versions of Node.js every time we switch between environments? Are we going to…

State Management with Angular & Redux

Before the chaos of 2020, I was dealing with chaos in the form of application state.  I was working on an Angular reporting project and we were using dynamic components powered by ChartJS and dealt with data managed in ag-grid.  Very quickly I realized that state was going to be a huge issue, since a single dashboard of the application would be littered with charts that would all be filtered via slicers. Ultimately a user could click then through a chart to a grid of the underlying data; shades of a from-scratch PowerBI report or visual. I had heard of the Redux pattern and how it was a game changer for Facebook’s application state (technically FB’s pattern is FLUX, but Redux is inspired by it), so I decided to do some digging, and found that it would work great for…

2019’s Top 5: Most Viewed Blog Posts

Now that COVID-19 has completely derailed any strategy and subsequent plan to achieve Q1 goals and we are all continuing to adjust to the ‘new normal,’ we’re thrilled to present our curated list of Tallan’s top viewed blog posts of 2019.
It’s no surprise that the top two posts are both about developing in an Azure environment. Microsoft Azure was awarded a highly sought after contract from the U.S. Department of Defense (DOD) in October of last year. You can read the statement published by the DOD here.
Importantly noted in the statement, is that the DOD has not aligned with any one vendor or provider for their cloud strategy efforts, “Today the Department of Defense has taken another step forward in the implementation of our Cloud Strategy with the award of an enterprise general-purpose cloud contract to Microsoft.  This continues our…

Coding an Email Template

You’ve just been assigned to code an Email Template by your Project Manager, and you have no idea where to start. If you are put in this unfortunate position, you should first ask if you can simply use an already established email service, which includes support. If that proves to be fruitless, you will have to write your own. Writing email templates gets frustrating fast due to its incompatibility with CSS and the inconsistency between Email clients such as Gmail vs. Outlook.
CSS Incompatibility
The first step with dealing with CSS incompatibility is to break the cardinal rule of front-end development completely; you have to inline-style your CSS code. I can feel your contempt for me right now, but it’s the only way to guarantee your styling is rendered properly.
Example:

Tables         
When creating the layout for the HTML code, you…

a new ASP.NET Core Web Application

Creating Secure AJAX HTML Forms in ASP.NET Core MVC, Part 2: Preventing Cross-Site Request Forgery Attacks

In Part 1 of this two-part series, I showed you how to secure HTML forms from XSS and SQL Injection attacks by implementing client-side and server-side validation. In Part 2, I will show you how to build an HTML form that submits using AJAX and how to protect it from Cross-Site Request Forgery attacks.
HTML forms are one of the most common ways for a web application to accept user input. However, in this modern age, it is best practice not to reload the page whenever an HTML form is submitted. AJAX is one tool we can use to submit a form and provide feedback to the user without reloading a page. Implementing your application this way comes with inherent security concerns. One of those concerns is Cross-Site Request Forgery Attacks. This type of attack can be carried out on virtually…

Creating Secure AJAX HTML Forms in ASP.NET Core MVC, Part I: Client-Side and Server-Side Validation

In this two-part series, I will show you how to create a secure form that submits using Ajax. In part one of this series, we will create an HTML form and secure it from XSS and SQL Injection by validating user input through client-side and server-side validation.
Most modern websites have a need to take in information from a user. This is commonly done through HTML forms; the user enters information into form fields and the website submits an HTTP POST request to the server. The server can then use this information and/or store it to meet a wide variety of business needs. However, allowing any information from any source can prove disastrous for a system and is commonly the point of attack for malicious parties. SQL injection, Cross-Site Scripting (XSS), and Cross-Site Request Forgery (CSRF) are common ways a malicious…

Leveraging all of the Tools in the Toolbox – Restful API Best Practices

I work on many APIs with clients, and a trend I have noticed is that very few of the tools available are being used. What do I mean by this?  It means that all the requests are GETs or POSTs, or all the responses are 200s, 400s, or 500s.  If that means nothing to you, then I’m not really surprised, and I will clarify as this carries on.
Let’s start with API request “verbs.”  These are the GETs and POSTs I mentioned above.  Believe it or not, there are more than just those two.  Basically, what I have discovered is a mentality that if the request has/needs body content, it’s a POST, else GET.  Please, please, if you follow this pattern, forget it and read on, but there is a chance all your requests will still be GETs or POSTs.
Alright, let’s discuss…

\\\