
Django to Browser Push - Without WebSockets, Channels, or Redis
You have a Django app. You want to push updates to the browser in realtime. You look it up and immediately get hit with: install Django Channels, set up Redis, configure ASGI, add a routing layer, write consumers, handle WebSocket connections, manage reconnections…
All that for a toast notification that says “Your export is ready”?
I’ve been there. I built a realtime platform years ago called Socketize. It was a full-blown startup. I perfected it for a year and a half. It worked, but the market wasn’t ready. Life threw some curveballs, and I shut it down.

Embed Anything in Your Shopify Store
As you may already know me, you know how I built Canvify. What you may not know is, Canvify went wild.
I quit my day job and started working on Canvify full-time. It now supports my family and a team. A dream come true!
I thought, why not diversify a little bit and build one more app? But what should I build?
I started looking at Shopify stores as a customer. I even purchased a few things, beef jerky to candies. One thing was quite obvious: they all looked like, well, Shopify stores. They all looked the same, not in a good way, but in a boring way.

Canva to Shopify - SEO & Live Updates
I was playing with retail business, in custom perfumes niche. Selling online in Shopify. Obviously I didn’t have the time to manage the store, so I outsourced it to a freelancer.
He used Canva to design images and videos for the store. I was impressed with the quality of the designs.
Things were going well, but I wanted to launch a marketing campaign. I needed a very catchy landing page. I asked the freelancer to design a landing page for me. And the first time I saw him struggling to come up with something.

How to Promote Backend Development Work
I was once working on a project that involved working with analytical stuff— charts and so on. It was like Google analytics on steroids, and I worked on this project for three months. I imported data from several places and designed the database using my back-end code. It was a one-man show where I did everything on the project, from top to bottom.
Three months had passed, but I could not show much progress. I told my team that I was working on the project, so I just prepared a demo chart to cover up my failure to show my work. I just presented the database, and it turned out fine, fortunately. But I never realized I could do better until they decided to design the front end for this project one day. That day of realization started when Joseph came on board.

Sell Your Code in Unconventional Ways
Today I will give you practical, pragmatic ideas to sell your code— no fuss, no caveat (except that, I lied: there is just one caveat). I will show you two ways of making money out of your code: one is Direct Sales, and another is Indirect Sales.
Now, please, please don’t ignore the Indirect stuff. You might exclaim, “Oh, I know this. These are indirect. These don’t make money at all.” But if you do follow the indirect ways, you will nurture a fan base— a community that will buy your direct sales. So this is not just marketing. You’re building a client base who will pay you back, not to mention that it will indirectly make you money.

My YouTube Journey - I am Making Coding Tutorials
I know I am not active in my blog these days, I can make lots of “excuses”, but I am just gonna provide two reasons:
- I have moved to the UK.
- I am making YouTube videos.
Well it doesn’t mean the blog is gone, in fact I am writing this post to assure you that I will keep writing.
Instead of telling you what I am doing on YouTube (well, you can see it there, no point in writing) I will tell you what I have learnt so far on my short YouTube journey. I can’t say that I am successful in YouTube but I am growing, very slowly though.

Image Manipulation in Golang - Convert Image to Grayscale
One of the things I love about Go is its powerful collection of standard libraries, one of those is
the image library. I’ll show you how you can have a fun exercise or a weekend project in Go,
that’ll convert an image to grayscale (or kinda black and white). This tutorial will help
you learn standard image library or if you’re new to Go it’ll teach you some basic concepts of Go.

Ajaxify Your Laravel Application Automatically
You have a “nice little” Laravel app. You return views from your controllers, you redirect with a flash message when you’re done with something or when something goes wrong.
But sometimes you need to send Ajax requests to the server. And this time those views and redirects don’t make sense. You need JSON response. You create two different methods in your controller, one returns JSON and one returns View, because you also want the page to be loaded from server when user(or search engines) hit the url directly. And now things start to get messy.

Programing Best Practices Violation Fear
Imagine a man named Bob who has a fatal disease and he has a very low chance of living more than a year. Expensive and regular treatment may save him.
Bob needed a new laptop so that he can earn some money from home, he bought one with $400 which comes with 1 year warranty. The sales girl asked him if he needs additional protection plan for $100 which will give him 3 more years of warranty? Bob thought that’s a great deal, it will make his laptop secure for 3 more years and he won’t have to worry about it anymore, but then he thought, even his life is not guaranteed for one year, why would he care about 4 years? It is much better for him to spend $100 on his treatment, it’s the priority now. Bob did not buy the additional protection plan. Smart decision, right?

My Lifestyle - Apps and Productivity
Since my childhood, I have always been obsessed with technology. Today I am gonna share with you, how I handle my day to day life using technology. This article just covers some productivity tools that I use. If you find this article helpful then leave a comment down below. If it seems that it’s helping many people then in future I will write about how I handle work, communication, finance, health etc.

Charisma - free, responsive, multiple skin admin template
Charisma is a full featured, free, premium quality, responsive, HTML5 admin template (or backend template) based on Bootstrap 3 from Twitter, it comes with 9 different themes to suit your style and application type.
Charisma helps you minimize the repeat work you have to do on you projects. You can re-use Charisma as a base or as a package for your admin panel. It’s free for personal and commercial use and you can use it in multiple sites.

Why Many Good Developers Don't Get a Good Job
I have seen lots of really good developers looking for work and they don’t find good work for months or years. On the other hand I’ve seen some really good companies looking for developers and they don’t find good developer for months or years. What’s the problem? After looking at the situation of some of the developers and companies I have tried to find out the reason behind it. Let me share my thoughts with you.

New York Trip and The Laravel Conference
I work remotely for Vegan Cuts, which is based in Canada and I work from Bangladesh. As the team is distributed, Vegan Cuts arranges meetings every year in different countries. This time I was invited to visit New York :).
It was a long journey for me, Sylhet > Dhaka > Istanbul > New York City, 20+ hours just in flight. I took 1.5 day break in Istanbul and explored the city, amazing, I must say.

Don't Fear Exceptions
If you’re not one of the few, you surely get scared once you see one of these:
Fatal error: Uncaught exception ‘Exception’ with message ‘Not found’ in /home/usman/www/test.php on line 27
Fatal error: Uncaught exception ‘UnexpectedValueException’ in /home/usman/www/test.php on line 27
When you see Red or Orange screen with Exception you fear like you’ve committed a sin and just go back to code to repent. Congrats, you’re the majority.
What if I told you that Exceptions are no sin, rather blessings of object oriented programming?
What if I told you that an Exception doesn’t just mean that your code is wrong?

Strana - Smart Pagination Library for PHP
A framework agnostic, smart pagination library for PHP. Just a few lines of code and fully functional pagination is ready.
Paginate your records with Strana. Strana will slice(limit and offset) these records, generate pagination links for you and reads page number from them, all automatically.
Features: #
- Built-in adapters for Doctrine, Eloquent (Laravel), Pixie, PHP Array and you can do it manually.
- Readable syntax
- Add Infinite Scroll with one line
- It automatically detects which DBAL you are using.
- Styles automatically with Twitter Bootstrap, Zurb Foundation and most of other CSS frameworks.
Check out the installation instructions and documentation on GitHub.

Pixie - A Database Query Builder for PHP
It took me few weeks to build Pixie, a lightweight, expressive, framework agnostic query builder for PHP, it can also be referred as a Database Abstraction Layer. Pixie supports MySQL, SQLite and PostgreSQL and it takes care of query sanitization, table prefixing and many other things with a unified API. At least PHP 5.3 is required.
It has some advanced features like:
- Query Events
- Nested Criteria
- Sub Queries
- Nested Queries
- Multiple Database Connections.
Check out the installation instructions and documentation on GitHub.

PHP Router in 140 Characters
This is a dimple(damn simple) URL routing script for PHP which is written in just 140 characters of code, so it fits within a tweet.
It’s NOT a good router at all, don’t use it in a real application, it’s not exception handled either. I did it just for fun and to demonstrate the simplicity.
So here’s the router code, and that’s all (seriously).
class R{
function a($r,callable $c){$this->r[$r]=$c;}
function e(){$s=$_SERVER;$i='PATH_INFO';$p=isset($s\[$i])?$s[$i]:'/';$this->r[$p\]();}
}

GetSetGo - Dynamic Setter Getter Library for PHP
GetSetGo is a dynamic setter-getter library for PHP 5.4+. Its developed by me and Sheikh Heera, and yes, it’s well unit tested.
You can use methods like setFoo('bar') and getFoo(), which you DON’T have to create
(in your class).
GetSetGo will make these methods work for you automatically as long as you have a
$foo property in your class.
It makes use of Traits, so using it is super simple, you don’t have to extend any class,
as you can extend a single class only, we don’t force you to use ours.
You can restrict to only getter only or you can specify a Type for property using annotations.

Laravel 4 Uses Lots of Static, Not True.
Most of the time developers blame Laravel for using too much static. This claim is not true in case of Laravel 4, let’s dig in and discuss why and how.
What is static? #
In PHP you call it like this Class::$property.
As the name suggests, it preserves the state. Static variables preserve their values across the lifetime of the running application(in our case request). In a class if a static property is declared it becomes the property of the CLASS itself, NOT the property of the instance(s) of the class.

Filter Eloquent Results by Overriding in Laravel (v 3 & 4)
Now Laravel has this feature [built-in](http://laravel.com/docs/4.2/eloquent#query-scopes)What is Eloquent? #
Eloquent has been a really popular ORM in the PHP community lately, it was initially built for Laravel framework only. But since Laravel 4 all the components including Eloquent are built as Packages which may depend on other packages. These packages can be installed through Composer and can be browsed on Packagist. So what’s cool? Think of people out there who either don’t use Laravel or don’t use any framework at all. They might roll their own code or just whack a bunch of packages (like Eloquent) from Packagist together. If you use Laravel you can install and use various Symfony components/packages or any other package like Hybrid Auth with a simple command.

XSS Filter in Laravel Framework
If you are connected with the PHP development world then you must have heard the name Laravel and you know what it is. If you don’t know, Laravel is a modern PHP framework which utilizes modern PHP features and uses some of the existing frameworks’ components to truly awesomify PHP development.
Back in 2012 I gave Laravel a try out of curiosity and I was amazed by the flexibility, features and easiness it offers. I took another decison to learn it and then to use it on my new projects. Now I have learned Laravel and developed projects using it. I am not leaving development with CodeIgniter, just using both, in fact my current long term work Vegan Cuts is based on CodeIgniter.

Tongue - jQuery Plugin to Create Animated Dropdown Content
Tongue is a very simple jQuery plugin which allows you to add animated dropdown child element to any elements without using any CSS styles for that.


Hide Twitter Replies - Google Chrome Extension
Note: Finally, new Twitter profile has this feature built-in. This project is now deprecated and no longer supported.
Are you annoyed by the @replies on Twitter? Be it on any profile or news feed, it looks like a chat session. Now you can hide these annoying replies and you can see the genuine tweets. Install this extension on Google Chrome and you will find a Hide Replies button on Twitter, clicking it will hide all the replies, clicking it again will show the replies.

Goals of First Quarter of 2012
Goals of last quarter was a 100% success, alhamdulillah (praise be to God).
Now goals of first quarter of 2012:
Inshallah (God willing) I will :
- Build strong hands on Java with Android.
- Write 3 blog posts on tech stuff.
- Reach 2700 reputation level at Stack Overflow http://stackoverflow.com/
users/656489/usman. - Contribute on some selected projects on Github.
- Finish the book jQuery Novice to Ninja.
- Have a revitalizing tour.
- Read 2 Islamic Books.
(2 entries hidden)

Bangla Font for Android (without rooting)
Newer versions of Android handles Unicode really well. This project is now deprecated and no longer supported.I have received too many requests for a Bangla Font for Android. Unfortunately Android is not so matured in handling Unicode and Complex Script and there was no way of installing new font without rooting the device, but Samsung has come up with a great way allowing installing fonts. So I have created this Bangla Font which will work on Samsung Devices or other devices with custom font support, so now you can see Bangla in Applications, but don’t get too excited, the complex script (Jukto Borno and so) may not appear correctly in some devices, also some carriers may create some problems. I have tried a lot to solve the issue but I couldn’t, well I said Android is not that matured in that way. So this Font comes without any warranty, so I haven’t published it in the Android Market.
There is a proverb in Bangla:
নাই মামার চেয়ে কানা মামা ভাল

Phonetic Bangla - Write Painless Bangla Across the Web
Now you can Write cross platform Phonetic Bangla accross the web. No matter what the Operating System is, you can write phonetic Bangla in Facebook, Google, Yahoo or any other website with Google Chrome.
You do NOT need any other software to be installed in order to use this. Rich text editors are not working with Bangla yet, we are working on it.

WordPress like Option feature for your CodeIgniter application
If you have developed a large application you may have faced this problem, in some cases we have some settings or options to save in the database but the data is not so large to create a db table for it, also it may do not require many rows. In that case we should have a table for settings, where we can store all our settings or options with a key then retrieve it. Our option can be a text value or an array or an object. WordPress has a really good feature for such cases its the Option Mechanism. By using the appropriate function, options can be added, changed, removed, and retrieved.

English to Bangla Dictionary for Android
Update 10 Jun 2013:
181,702 Downloads with 4.37 average rating 🙂
It’s being a long time since we planned to develop a Bangla language related application for Android. After a long discussion we decided to create a Bangla Dictionary based on Google Dictionary. The main-pain was the font, Android is not yet matured enough to handle Unicode. After some challenges we successfully integrated universal Bangla font with our new Android app. We have published the app in the Android Market. The day we published the app totally amazed us with an overwhelming response, we never expected our app will be loved by so many people. Few days ago the total downloads exceeded 5000 with 30 ratings averaging 4.6 / 5 . The number may not be that high for an international audience focusing app, but its real high for Bengali people focusing app.

Creating a simple Facebook Application
Facebook Applications are getting much popular these days, its good, but the bad is Facebook frequently changes its API, which causes the resource and tutorials on this subject to be obsolete. That’s why I decided to write an up to date post on how to create an IFrame based Facebook Application using PHP. I am using PHP SDK (3.1) and Graph API, you have to download PHP SDK from here. Well, I am covering the coding part here and not going through how to create and setup a Facebook Application, if you don’t know how then this article might be a good read.

Goals of Last Quarter of 2011
I will: …
- Reach 2000 reputation level at https://stackoverflow.com/
- Buy an Asus Eee Pad Transformer (tablet)
- Finish the book “Professional PHP5” from wrox
- Write 5 blog posts on tech stuff
- Release 2 open source projects
- Park http://womenwise.com.au/ in a proper place
- Have at least 1 tour outside my comfort zone
- Contribute to CodeIgniter on github
- Read at least 1 Islamic book
(2 entries hidden)
Inshaallah (God willing).