AI is all the rage right now. And it is here to stay. Yet, almost all the example you see out there are in Python. I like Python, but I love Go. Let’s use Go. How do we do AI? Running AI on a CPU is painfully slow. Running AI...
Read MoreWould you like to learn some best practices on how to make your NodeJS applications easy develop, deploy and maintain? Would you like to see how to find better clients and earn more from your freelancing buisness?
We will share with you actionable advice with easy to follow steps. It is everything that we have learned from years of experience working with customers from all over the world on projects of all sizes.
AI is all the rage right now. And it is here to stay. Yet, almost all the example you see out there are in Python. I like Python, but I love Go. Let’s use Go. How do we do AI? Running AI on a CPU is painfully slow. Running AI...
Read MoreYou are probably aware that SQLite is the most used database in the world. Every smartphone, iOS or Android, has it. Every app in those phones uses it. Every browser has it, on your desktop or any other device. But SQLite is actually amazing for the server side, too. I’ve...
Read MoreIn our recent article on Dependency Injection (DI), I showed you how easy is to use DI in Android with Hilt. You just use a few annotations here and there and everything just works. However, sometimes this is not enough and it might not cover some of our use cases....
Read MoreDependency Injection (DI) is not just a good practice. It solves real problems. The more complex your app gets the more your Activities, Fragments, ViewModels and all kinds of services depend on other components to get their job done. Initializing each dependency is tedious and can be forgotten (yay for...
Read MoreRecently I showed you how to add a gallery to your iOS app. One that you can use as a base and make it your own. The code is on GitHub, too. However, there were a few things missing. First, there was no way to tell whether it was a...
Read MoreAlmost every application needs a way for the user to select an image or a video. I already showed you how to do this on Android. This time I will show you how to do it on iOS, so that you can add a gallery to your iPhone or iPad...
Read MoreLast time I showed you how to add a gallery to your Android app. Pretty much every app needs one. In that initial version you could only choose a single item. Yet, in the real world, most often than not you need to select multiple media items. This time we...
Read MoreDealing with images and other media is integral part of almost every app in the wild. It begins with choosing among the thousands of images and other media that you have. However, adding your own gallery to your Android app to fulfil this essential function is nontrivial. Nontrivial it is...
Read MoreYou’ve heard that the cloud is the place to be. Run your enterprise apps or scale your startup. It is simple, easy to begin and inexpensive. You go to AWS, Azure, Google or maybe Digital Ocean. You sign up and for just a few dollars (euros, pounds, pick your currency)...
Read MoreYou’ve probably seen many NodeJS articles. You always use NPM to install this or that package, but they never ever talk about it. This is true even for my own articles. We always take NPM for granted. Yet, what will you do if there was no NPM or no NPM...
Read MoreA lot of web applications these days require fast and lightweigh real time communication. Real time analytics, real time measurement, games, chat applications, syncing with other devices, syncing with other people when coloborating on a document, etc. Last time I showed you a solution to all of those problems with...
Read MoreWeb development is great, however traditional web technologies have some limits. You often need to exchange more information with the server once the web page is loaded. Then you probably use AJAX. However, you might soon discover that there are two limits with AJAX. First, you don’t get any information...
Read MoreYou are often afraid that you can lose your contract work to an employee or to an in-house team of your client. Each time you are entering negotiations with a potential client, you trying to provide an offer which will cost them less than their employees. As a result your...
Read MoreInitially writing NodeJS and Express looks fun. It is JavaScript, it’s simple and it is super fast. However, the more your application complexity increases, you begin to notice the endless callbacks. You have one, inside there is another, inside it is one more and sometimes, even 5 or 6 more....
Read MoreUnit testing is great, but it doesn’t show you the whole picture. Integration tests are also nice, because you know that your components will work together as expected, but it is still missing some pieces. The fact is, that when you code is in production, your users still encounter bugs...
Read MoreYou are a freelancer or a consultant and naturally you want to earn more. You get as much work as you can, or even a little bit too much, rarely refusing work that comes your way. You have learned that by pricing your services based on the value they provide...
Read MoreWe all hate bugs in our code. Bugs can make you lose users and ultimately decrease your revenue. That is why you have tests, to keep your Node & Express application bug free. Initially, you run them only manually, but with time, as your app and team grow you realize...
Read MoreYou have already seen how to test your models at Testing Your Mongo Models for Node & Express, but your Express controllers are also an integral part of your web application. When they don’t work, your users see 404 and 500 errors, and they might never come back. This is...
Read MoreAny good business requires new clients. Existing and returning clients are great but you need new people from time to time. However, when people talk about new clients, they don’t think about referrals most of time, because they take them for granted. Sometimes, they really come without efforts but you...
Read MoreEverybody is talking about NoSQL, especially in the NodeJS world. Lot’s of people even associate Node with Mongo and other NoSQL databases. However, the world doesn’t end there. SQL databases like MySQL, PostgreSQL, Oracle or even SQL Server are battle tested in all kind of scenarios. Companies both large and...
Read MoreReactJS is great. It allows you to create easily complex web applications and user interfaces, without worrying how all is going to update. As any great technology it is very easy to start with. However, as soon as you begin writing more complex applications your React app begins to grow...
Read MoreWhen your team grows and when your application complexity grows, there are many new obstacles that you face. One of them is that your app becomes much more difficult to modify and maintain. Adding new features or modifying old ones is much harder. Even adding tests is more difficult, because...
Read MoreWouldn’t it be nice to earn a little bit more or maybe even a lot more? Yes, of course it would be. Everybody suggests to charge more because this is the best way to earn more for your freelance and consulting services. It sounds simple, but again when it comes...
Read MoreNode is very easy to start with. Especially when you are using Express. During development you are runnign your app and your database on the same server, as well as anything else that you need. In fact, when you start you often have the same setup in production. Everything is...
Read MoreRunning your Node & Express apps on your machine is easy. However, once you put them in production there are some new problems. What if the app crashes? What if the server restarts? What if some other failure happens? We’ve already talked about deploying on Ubuntu and CentOS but today...
Read MoreRedis is a great database. I love it, I really do. It’s easy to use. It’s super powerful with its useful and easy to use structures. I can do anything with it. And above all it is FAST, extremely fast. Nothing else comes even close to it. Most of this...
Read MoreLast time we’ve looked at uploading files locally. Uploading files locally is useful, but it has way too many limits for most applications. You have to think about back ups of your files, then you have to implement the back up strategy. In addition, your disk have a finite space...
Read MoreFile uploading is a requirement for a lot of web apps. Most of them at least need to be able to upload some pictures. Unfortunately, out of the box neither Node nor Express supports file uploading. Moreover, it is not trivial to implement this feature from scratch. However, there are...
Read MoreFreelancing is rarely what you expect. Probably, when you begun freelancing you had in mind a lot of great stuff and freedom like: work when you want, work where you want, take a nap or a walk whenever you feel like it, no boss and many more like that. However,...
Read MoreThere are many interesting NoSQL solutions and more are created almost daily. One of the most popular is CouchDB. One of its main strengths is that it uses HTTP as its communication protocol which makes it very easy to use from any programming language. CouchDB is also the primary store...
Read MoreDoing local development with Node is simple. All you have to do is node app.js in the folder where your source code is and your application is ready to serve. Where things get complicated is when you want to put your app in production, on a web server for the...
Read MoreIt is hard to stay focused and be productive when you are working as an employee from an office, but it is even harder when you are freelancing. Maybe, by the end of the day you are asking yourself where did the time go, or maybe, you stay up until...
Read MoreReact Native is amazing. I have been using it for some time and I am preparing our first production application implemented entirely with it. The only drawback that you might have experienced currently is that there are not that many components to work with. Therefore you have two options if...
Read MoreEvery web application needs a place to store its critical data. Node and Express apps are no exception. One of the most popular NoSQL databases in the last few years, especially when working with Node, is MongoDB. As you grow, your needs grow. You need more than just to connect...
Read MoreSometimes there are clients that you just don’t want to work with them anymore. They don’t pay on time, they constantly change what they want, they don’t value your work or their projects never seem to end, no matter what you do. We all know that the best solution in...
Read MoreClients side frameworks are great. They can help you build interactive and fast web applications which users love to use. Unfortunately it is not all roses. There are several drawbacks, too. One of the main disadvantages is the initial loading speed. Client side frameworks receive very little HTML from the...
Read MoreCreating a portfolio with your work seems easy and natural. Every freelance designer, developer, copywriter, and any other kind has one. It usually has some pictures, a project or a client name, sometimes a few words and maybe a list of the technologies that you have used. This is how...
Read MoreReact is a great library and can make developing web apps much easier. However, the first thing that anyone coming from Angular sees is the lack of two way binding by default. It is one of the reason why some developers don’t want to try it. Even though two way...
Read MoreLast time I talked about the Common Mistakes Freelancers Make when Selling Themselves Online and I tried to explain what is the problem with each of them. This time, we will look into what exactly is a better way to proceed when selling yourself online. There are different channels which...
Read MoreThere are a lot of ways to attract new clients while freelancing. You can go to networking events, you can do cold calling, there are online job boards and many more. No matter what you do, sooner or later your potential clients will come to your web site. It will...
Read MoreDoing local development with Node is simple. All you have to do is node app.js in the folder where your source code is and your application is working. Where things get complicated is when you want to put your app in production, on a web server for the whole world...
Read MoreThere are clients you love to work with and then there those you dread to here from. Yet, it seems that some freelancers and consultants only get work with the former and never with the latter. Do they never work with horrible clients? Is there a way to replicate their...
Read MoreEvery business does it and everyone does it for a different reason. Freelancing is also a business and you are the boss of your freelancing business, should you do what everyone else is doing? In addition, sometimes there are clients that you really want to win and they ask for...
Read MoreRecently there has been a rather large outcry from UK and US SaaS companies about the changes of the VAT (Value Added Tax) in the European Union from January 1st, 2015. I am not an accountant or a lawyer, but I am business owner in Bulgaria which is in the...
Read MoreOrganizing your application structure and its routes is one of the first problems you will encounter while developing with Express. To help you with that version 4 added the Router class. Let’s use it to define some routes in a cars.js file. var express = require('express') , router = express.Router()...
Read MoreBuilding a web application with a backend API and multiple clients is great. Everyone is using the same API and you can allow even other people to build clients, while you focus on the core. Like Twitter used to be. Not only that, but you can also improve your backend...
Read MoreModels are the base units of every application. When there is a bug in them they might affect the functionality of the entire app. As a result you will lose users and revenue. Therefore you should test your models, but this is not as trivial as it sounds. First, when...
Read MoreIf you are not building an extremely simple and static web site (like this one), you probably need your visitors to identify themselves somehow. This is called user authentication. User authentication is one of the first things you stumble upon while building a new web app. It’s purpose is not...
Read MoreNode and Express don’t come with a strict file and folder structure. Instead, you can build your web app any way you like. This is great, especially for small apps. It is easy to start, learn and experiment. However, as your application grows in size and complexity, things might get...
Read MoreWhere did the time go? If that is what you are asking yourself at the end of your work day, you are not alone. You have been working for full 8 hours, then you look at what you have done. It is great stuff but it shouldn’t have taken you...
Read MoreYou had your breakfast and it’s now time to begin working. Then you just have a quick look on Facebook, maybe someone posted something important for you during the night. It is just going take a minute. Then you check Twitter, just another minute, maybe there is something super useful...
Read MoreI am a developer and as every developer, sometimes I have the irresistible desire to add new features. I am thinking that if I add that functionality it will be so much better for the user or that this one other feature will make the app much more cool and...
Read MoreHiring people to work remotely often brings two questions: How do you know when your employee is working? How do you know whether he is doing his job 8 hours each day? You don’t. What’s more, it doesn’t matter, at all. When you are running a business what is important...
Read MoreMicro frameworks have become all the rage. They are small and sexy and you can find them everywhere. Django is not considered a micro framework, but recently I looked at other frameworks some of which are considered micro and I realized that in fact it is. What is so cool...
Read MoreDo you feel envy when you see how fast and smooth iPhone apps are? Do you want your own apps to run smoothly even on low-end devices? Are you afraid that making your app faster requires a lot of time and knowledge? Making your Android apps faster is easy, but...
Read MoreYou are a student and you have a lot of exams but you don’t know how to cope with them. Your boss has given you so many things to work on that you can’t see the end of it. You are the boss or a freelancer, a designer, a lawyer...
Read MoreI am a software engineer, I’ve always been and I love that. I love writing code and adding more interesting features on the software and apps I work on. I know that I am not alone, a lot of developers are like me. I add a feature, then I add...
Read More