Understanding PHP VariablesTech by Sunny Srinidhi - April 5, 2017April 5, 20170 If you know PHP, you know that it's written in C. If you know C, you also know that it's statically typed. What does this mean? This means that you need to declare the type of a variable when you are declaring the variable. This is how you declare a variable in C: int a = 0; And this is how you do the same in PHP: $a = 0; So how does PHP know that $a is an integer and not a string? Or any other type? How does PHP convert this dynamic typing into static typing for the underlying C code? To understand this, you need to understand how PHP handles variables in it's code. And that's what we are going to
Create an animated GIF of your screencast on LinuxTech by Sunny Srinidhi - March 13, 20170 Animated GIFs of screencasts are everywhere today. How do you go from taking a screenshot of your desktop with the "Print Screen" button and recording a video of your desktop to creating an animated GIFs of your screencast to share on the internet? It's actually easier than you think. I'm going to tell you how to do it on a Linux machine, specifically Ubuntu, because I use an Ubuntu machine. The commands here are for Ubuntu, but they can very easily be ported to other *nix machines as well. First, you'll need to install a few tools: ImageMagick, MPlayer, and RecordMyDesktop. We'll be using RecordMyDesktop to record the activities on your screen or a portion of your screen as a video
Use Config Caching to Speed Up Your Laravel AppTech by Sunny Srinidhi - March 13, 2017March 13, 20170 As web developers, we're always looking for ways to speed up our app. It's all about milliseconds today. There are several ways by which a web app or a web service could be optimised for speed. Being one of the most used and popular PHP frameworks, Laravel has a few tricks up its sleeves to make this happen. One of them is config caching. Obviously, this is not going to make tremendous improvement, but significant enough to be written about. So what is config caching? Well, it's exactly what it sounds like, you cache all your configuration so that you don't have to go looking for it every time you want to read a configuration. Laravel, as usual, has an artisan command
Secure your web app with free and valid SSL (Nginx, Ubuntu, Let’s Encrypt)Tech by Sunny Srinidhi - February 13, 20170 HTTPS is now the standard. If you are an online service provider, getting an SSL certificate for your web app is a no-brainer. If you want your users to trust you, you need to get yourself one of those. Even otherwise, to secure the data you hold, it is important to provide the basic security that the HTTPS protocol provides. If you are not sure what it is, you can check out this Wikipedia page. This is a technical topic, and if you are coming here to learn how to secure your web app with an SSL certificate, it is better if you know your way around a computer and your cloud machine (you'll be doing everything in a terminal
A few basic (but powerful) ImageMagick commandsTech by Sunny Srinidhi - February 1, 2017February 6, 20211 If you’re not sure what ImageMagick is, it’s one of the greatest tools you could have on your computer, to manipulate images and a few other types of files. In this post, I’m going to list out a few of the commands which come in very handy in a variety of situations. Recently I got the opportunity to work on a project where a lot of images had to be manipulated — changing the resolution and keeping the file size in check. I wrote the script in PHP and ImageMagick was the weapon of choice. Before you read any further, if you are not aware of ImageMagick and the features it offers, go through their website first. Also, I’d like to point out that
Make Node.js debugging easier with colorful log messagesTech by Sunny Srinidhi - January 8, 2017February 9, 20170 I’m working on my second project in Node.js. I kind of love it. I haven’t yet decided to find out how better it performs compared to apps written in other languages, such as PHP, or Java. But writing Node.js apps is fun, mostly because you can get npm packages for almost everything you need during development. This helps you concentrate on the business logic and not worry about writing basic boilerplate code. What’s the advantage? Well, you can write a POC/MVP app really quickly. Anyway, one thing I noticed while working on the previous Node.js app was that debugging is a bit difficult if you, like me, have an obsession with having proper log messages everywhere. So one of the first
/public/api/v1.2.3.4.5/login — Don’t do this!RantsTech by Sunny Srinidhi - September 7, 2016February 9, 20170 If you are anything like me, or tens of thousands of others working in the web development domain, you know what the title means. We are going to talk about the widely debated “v” in API endpoints. Do I like it? Well, obviously not. I’ll tell you why. 1. It’s ugly! It makes reading documentations very difficult, because you’ll need to version your document as well. And you’ll have to make sure you are using the latest document, or the document that’s relevant to the version of API you are consuming. Wouldn’t it be a lot easier if you had one version of API and one version of documentation? I know what people over at the other camp are shouting — your APIs will change and
It’s time to move your platform to RESTful APIsTech by Sunny Srinidhi - August 21, 2016February 9, 20170 If you are into tech, there’s a good chance you already know what’s a web API. All the cool kids use it these days. It’s the new kid on the block. And it’s sexy with well defined features. Web APIs aren’t necessarily new, they’ve been around for a while. Even RESTful APIs aren’t that young. But that’s not what we are here to talk about. We are here to see why it’s time to move your platform to a more modern architecture which exposes a bunch of (RESTful) APIs for the rest of the world to add value to your platform. As a person who’s been producing and consuming APIs for the last few years, I’ve seen a lot of them. I’ve
Why I love curly bracketsRantsTech by Sunny Srinidhi - August 19, 2016February 9, 20170 Curly brackets. Well, what can I say about them? They sure do have curves! And such curves, I’m addicted! I’ve been abusing them for as long as I remember. I abuse them even today. The day I saw a piece of code for the first time, over a decade ago, I knew I’d be using those curly brackets for the rest of my life. I’m talking about curly brackets in function definitions, loops, conditional statements. I wrote my first ever program in C. As you might have guessed, it was a simple Hello, World! program. I’m not going to talk about the awesome, exciting, orgasmic, feeling that your first ever program gives you. We’ve all been through that. I’m going to
Importance of proper documentation in a projectRantsTech by Sunny Srinidhi - August 17, 2016January 9, 20201 In the tech industry, it’s not uncommon for developers to work on project maintenance. You could be asked to fix a few bugs in a system which is already in production and has a user base. Or to add new features, or to refactor. Sometimes, you’d even be asked to rewrite the whole project in a different language/framework. For all these, it’s very important to setup the existing code on your development machine, and understand it properly. And for this, you need proper documentation. Most projects today have their own git repository. It’s very unlikely that a project is distributed within a team by copying it on to a storage device. Even your incomplete, two-year old pet projects are usually on