Skype is DOWN. Microsoft is did not offered details yet

Microsoft acknowledged that the Skype is down, and they are currently investigating this.

Skype is not working for millions of users from the entire world. Currently it’s not possible to login to your Skype account. If you are already logged in, it will be set to “offline” automatically. If you’re trying to use Skype from web, you will see a “sending”, and not completed emoticon.

Skype was reported that stoped working around 1:00 UK time. This starts to be more and more frustrating for Microsoft users.
Users already tried to report this issue on the Microsoft forums, but so far, there is no update on this, from Microsoft.

There are some other good solutions as Skype replacement, like: Slack, facebook, email.

How to be reliable as a freelancer – common rules

How to be reliable as a freelancer – common rules

admin on 05/03/2017 19:07:49 updated on 05/09/2017 06:52:39

as a freelance developer one of the assets that clients are interested in is reliability. Other Key aspects:
Come up with solutions
Delivering stellar work
Stick to the plan
Don’t go MIA


If you’re just starting out as a freelance developer, you will soon learn that one of the assets that clients are interested in is reliability. As a freelance developer, reliability is a trait you want to cultivate, in order to keep clients coming back for more. Here are some of the moves that will label you as a reliable freelance developer:

  • Delivering stellar work – This one should really go without saying, right? We’ll say it anyway. Delivering high quality work consistently is a mark of a reliable freelance developer. In order for this to be the case, you need to be careful to allot enough time for all the projects, don’t overwork yourself or the quality of your output will also be affected and that is something that you definitely do not want when working as a freelance developer.
  • Stick to the plan – If you want to be seen as a reliable freelance developer, you’ll want to stick to the plan you’ve conceived with your client. If you have any questions or uncertainties, make sure to clear them up with them (preferably in writing). Of course, this doesn’t mean that clients don’t appreciate some initiative from their freelance developer, so if you do think there are some changes that could be made to the benefit of the client, then call them up and discuss it. They’ll be happy to see you’re invested in this.
  • Don’t go MIA – Freelancing as a developer can mean you get pretty caught up in whatever project you’re working on. But when we’re talking about bigger projects over a longer time period especially, make certain to establish some routine form of communication with your client, to keep them updated. This is another element that clients deem to be the mark of a reliable freelance developer.
  • Come up with solutions – We’ve all run into obstacles or challenges when working as a freelance developer. However, what signals you out as being a reliable freelance developer in these situations is not only identifying the issues, but proposing solutions as well. Even if the client won’t accept your resolution, a reliable freelance developer gets involved when things go bad.

As you can tell, a lot of what makes a freelance developer reliable is being proactive, getting involved and keeping to deadlines. So, if you want your clients to see you as a reliable freelance developer and request your services in the future, keep it in mind.

I’ve used Mac’s OS X, Windows and Linux over the 15 years. Here are my thoughts.

Let’s get one thing straight.  I have 1PC, 1 mbp, and 1 laptop. I run Windows, iOS and linux on each computer.
Specs ? not going to really bother you with this. I6 CPU (this is a bit of a joke, it’s an amd 6350 with 6 cores that runs at 3.9 ghz), a mbp 2015 (i5) and a i7 laptop. All of them got SSD’s and 8GB ram. So, the performance is not quite an issue.

What I do? Development and blogging. Why do I need so much performance? Honestly, I don’t really. Everything runs quite smoothly. But I am a geek.

Why do I use all 3 big OS’s? Well, I’m a geek. That’s why. What’s the advantage for each os in development? Pretty much, there isn’t one. You get used to the graphical enviroment, then you just have to make sure that it keeps running smoothly.

Each system is very different. Each system is quite similar to each other. Let’s break it down.

I use Google Chrome (syncs all my browsing data, bookmarks and password. Great so far).
I use Skype (on linux, you have skype alpha, it’s quite cool).
I use Spotify (same on all 3 systems).
I use Sublime (same on all 3 systems)
I use terminal (quite the same on all 3 systems)
I use workbench ( – || – )
I use thunderbird (or earlybird, depends on my mood, but   – || –  )

This is pretty much everything I use. So, the apps are quite the same. Why do I use all 3 of them, and what’s the difference?

So. Linux. Mac. Windows. They’re all super duper friendly in 2017. You can’t just dislike one.

Let’s start with my favourite. iOS. I’ve been using this os for about 4 years now.

My first impression and thought was, “Why the heck they didn’t made a ‘cut’ option“. This is something that I was using. Later, I learned that there’s a shortcut for that as well. Just that it’s not CTRL + X. it’s Command+Option+V pastes the documents into the new desired location on the Mac, cutting it from the prior locating and moving it to the new location. Cool.
This OS, is quite simple, and the most pleasant fact is that it looks smooth. Edged. Beautified. Intuitive. Cool. Currently I use Sierra 10.12.5. It’s amazingly stable, and beautiful.

Linux. First time I used linux, was a distro called Mandrake linux. Later derived into Mandriva. It was one of the latest versions, somewhere around 2005. I didn’t had internet at that time. Therefore no codecs, no updates, nothing. Was quite useless for me. Later I discovered ubuntu, got a internet connection. I discovered workspaces. Then, there was love. This was the most useful feature that an OS could have for me, at that time. This is why I kept using it. Currently I use Ubuntu 17.04. It’s free, and blazing fast.

Windows. Well this was my first OS, I started using this OS since 3.1 version. They just launched windows 95 at that time. Or 98. My computer was not able to run windows 98 smoothly. It sucked. But you could get what you had to do, done. There were games. There were audio codecs and BSPlayer and Winamp. Cool times. Didn’t impressed me much at that time. But, since linux wasn’t really an option, and I didn’t had money for a mac… this was the best option (hackintosh was not really an option tho’ at that time). Currently I use Windows 10 (with licence), and it got a beautiful UI and a beautiful UX.

So. 15 years later. Developer. Why do I use all 3, now?

Well, believe it or not, I use windows OS X and Linux for entertainment(please, read movies here) and development. They all incredibly robust. They’re all stable. They’re all blazing fast. All of them are secure. All of them got my app requirements.

Right now. What’s the biggest difference, for me, between all 3 systems? Simple. Different UI(user interface). Different UX(User Experience).

Honestly, it does not really make any difference for me, on which system I am using. Most of the time, at work I use iOS’s Sierra 10.12.5 connected through ssh to my Ubuntu machine. Most of my work is on the ubuntu system through the Sierra’s terminal. Why I do this? Simple. All the development, is being deployed on the Ubuntu machine. Most of the things that the Ubuntu machine is doing, is compiling with babel (es2016).

Do you want to hear some more? Please share this article.

Originally published here:

grunt and protractor: for beginners

Small app using protractor and grunt, available for free on github with install instructions.


I created a demo github testing repository, wanted to go with protractor for angular website.

After putting the code together, I started looking for a huge angular website for writing test cases and getting to work. Surprise. With all this fuss, there really aren’t so much websites using angular. There are few, but not as much as their competition.

I decided to go with protractor’s API. It has a demo on pretty much most of the Angular’s development features, so we can use this website as testing point (if I’ll find any bugs, I’ll point it out)
For a first lesson, I’ve set a git repository, with protractor 5.1.1 with grunt and a JSON reporter.
In order to get started, feel free to get the repo, and install it.

#initialise git, and get project

$ git init
$ git pull

#install dependencies

$ npm install -g Protractor
$ npm install -g grunt
$ npm install

#run project

$ grunt e2e

Basically, this project does not do much yet, for the first lesson but it will do for future lessons.

Protractor docs can be found here.
Grunt docs can be found here.


Why I Grunt over gulp or webpack?

Grunt is great for simple built in tasks. (one way or another using any runner you can get the job done)
Grunt is easier to learn (it takes about 5 lines of code before is up and running.
Grunt has a bigger community (if you don’t believe me, go and check their github).

Why I choosed Protractor over nightwatch or vanilla selenium ?

Progractor is integrated with webdriver (it gives me Selenium)
protractor knows to wait until Angular finishes rendering DOM (basically the technologies are communicating with each other and Javascript tells protractor that it finished, it can continue with queue tasks)

How to manage your time better, as a freelancer

If you’re like most of the freelance developers out there, you probably chose this career path in part for the freedom it promised. Maybe you were being overworked and underpaid at your previous job and saw this as a way to solve both of those issues. What many people fail to realise, though, is that, while working as a freelance developer, it is incredibly easy to overwork yourself and waste valuable time. If you feel that your time management skills aren’t up to date, and working as a freelance developer has taken over your life completely, here are some of our tips that should allow you to regain control over:

Focus – Quite frankly put, most of the freelance developers we’ve talked to find it difficult, if not impossible, to actually multitask efficiently. The general result from multitasking seems to be doing a lot of things at the same time, yet not doing any of them at the right standard and thus having to re-do them and waste even more time and energy. So, if you’re looking to improve your time management skills as a freelance developer, consider simply prioritizing one task at a time.

Avoid distractions – It’s so easy to lose a big chunk of your day to well-known productivity killers such as Twitter, Facebook, and their siblings. If you find yourself guilty of randomly wasting half an hour mindlessly scrolling through your feed or checking emails that aren’t really work related anyway, then make it a rule to limit the amount of time you’re allowed to spend on these activities during your working hours. This will allow you to better manage your time as a freelance developer by increasing your productivity.

Take breaks the smart way – If you ever feel like today is a bay day for science and you’re finding it difficult to focus on the tasks at hand, don’t be afraid to take some breaks. But, if you’re working as a freelance developer and wish to maximise your time efficiency, do this the smart way. Try working in short, concentrated bursts of time. Set yourself a goal, say 35 minutes of non-stop working, without any distractions, then rewards yourself with a 5 or 10 minute break.

Remember that freelancing is just a job – What often leads to having no free time to spend with your friends and family is simply taking on too much work and being a bit too flexible with your schedule. When working as a freelance developer, you don’t always have to take on all the projects that would require you to work outside of your normal business hours. Learn to say ‘no’ once in a while and have a life outside of your job. It will keep you happier in the long run.

Having said all of this, we know that managing your time as a freelance developer can at times prove to be challenging. However, if you try and apply some of these ideas to your own freelancing career, you should find yourself being more efficient and more free to go see that play you’ve been dying to see with your friends for ages.

This story was originally published here:

What is Protractor and relevant description

Protractor is known mostly for end 2 end testing, as an open source automation framework that was designed by Google for Angularjs applications.

Protractor is an end to end framework that tests your application just like a user would. You can build the tests around your tests cases. What happens if an user clicks a specific button? What is the next step? What happens if a user adds a negative value into a field? Is an error shown? Does it goes to the next step ? If you have the tests cases, or the business logic in a document, you can write tests around that. The recommended way when coding end to end tests, is to write tests around the functionality.

Protractor it was released in July 2013 as a prototype for Angular JS testing framework. Later it evolved in what we currently know as protractor.

Protractor is a wrapper build around Selenium with webdriverio.
It supports angular specific locators (for example repeaters id’s, ng-click, ng-if etc)
It supports PageObjects (Page object represents an Object Pattern Design) – helps on writing more clean and readable code.
It can use the same Framework integration for unit and end to end tests.
It supports fast development (you do not need to use sleep or wait, because it communicates with Angular directly)
It is based on Angular’s concepts, therefore it’s quite easy to test your own code.

Basically, it’s a framework build with JavaScript bindings(you will still use selenium at the base) that communicates with Angular’s framework and knows when Angular has finished rendering the DOM. With Angular, mostly you do not need to set a specific wait time in order to wait for an element to be rendered.
Protractor (just like angular) works with promises and expects.
A promise in Protractor works just like a queue control. Of like a control flow if you will.

Expects – is something that protractor needs to get.
For example:
Expect “title” to be “Protractor tests”. But first, you have to get the element where the title is stored, then read the title.

expect(txt).toMatch('Protracto tests');

Antother cleaner option to write this, can be as follows:

var myElement = element(by.tagName('h2'));
myElement.getText().then(function(txt){expect(txt).toMatch('Protracto tests'))});

You can easily improve the development flow using runners and compilers. For example grunt. You can set grunt in order to run everytime you save the spec file.

For protractor you can use Jasmine or Mocha, Cucumber to write tests for BDD Behaviour Driven Development.
There is an integrations (not recommended) for headless testing with PhantomJS headless browser.
You can also use Karma for unit tests.

How can a newbie learn protractor? The best way to learn protractor is to do few tutorials. Then, dive a bit into JavaScript. You will need this, I promise you that. A very recommended way to learn JavaScript is through freecodecamp’s lessons.