As I mentioned in my previous post, I use Gitlab to store nearly all of my source code. Including my Docker image repositories. I maintain my own Docker Image that I use to run my Gitlab CI build commands (it has the AWS CLI, NodeJS, and few other things).
Artificial Intelligence (“AI”) is a hot topic. AI companies are popping up like never before. All AI developers have one common goal: to impersonate human’s intelligence using computer software. Many of them produce AI products in the form of chatbots. So, how do chatbots work? Let’s walk through the different components that chatbots use to understand, process, and respond to your messages.
I use Gitlab to store nearly all of my source code. One of the features that I love about Gitlab is Gitlab CI, the built-in, fully integrated CI/CD feature. One very handy feature worth mentioning is that you specify different Docker image for each stage of the build.
I have developed few mobile apps throughout my career. Some are native apps, some are hybrid apps. One of the biggest challenges my team faced while developing hybrid apps is not having the ability to view runtime logs produced by our application.
CanIUse.com: web browsers’ supported-features table17
Every computer connected to the internet has a numerical identifier assigned to it called an “Internet Protocol (IP) address”. IP addresses are things that look like this: “127.0.0.1” or “18.104.22.168”. Without DNS, to make a connection from one computer to the other (for the purpose of web browsing, for example), you need to know the other computer’s IP address.
Protocol: It’s an agreement on how the server should communicate with your web browser. Subdomain: When you purchase a domain name, you can have “subdomains”, basically
One of the problems that many of startups I work with face daily is: they get too many “fake” or low quality signups. These are signups that are made using invalid or disposable email addresses that do not correlate to a real person.
Email system is crucial at any startups. It’s a necessity. It sounds simple and we often take it for granted. I’m a big advocate of keep my email system as a managed service – i.e. managed by another company. Here are the reasons why.
Running big complex web applications can be overwhelming at times. Especially, when it comes to troubleshooting. Developers often need to access application log data from the servers that run the web applications.
Keeping your web application running smoothly is not always a straightforward task. For each product that I maintain, I typically use a combination of several different monitoring services to give me alerts and insights into the company. Here are the different monitoring services I utilize to help me keep my web application run smoothly.
When building an engineering team for companies, I often get asked: “what kind of engineers do I need to hire?” or “what is the purpose of having a … engineer?” Let me explain the different roles in a typical engineering team.
If your team is like mine, you probably have quite a number of monitoring services that are monitoring your web application. Having 5+ monitoring services makes it pretty hard to keep track which service triggered which alert.
I’ve never been a big fan of Github’s pricing model. Or Bitbucket’s: But most importantly, I want full control over my Git data. So, I decided to host my own Git server 🙂