Angular2 [Part 2]: How to associate Angular2 Project with existing git repository

This article is second blog post from our Angular2 Series. As our first attempt on Angualr2 Framework we started about "How to start Angular2 Project via angular-cli?".
Make sure your have basic idea about creating project via your machine. We can move ahead to this second blog with assumption that you have set-up angular project in your local machine.
Here we will create a repository online on GitHub. We will than initialize configuration locally in order to can keep track of our code to the repository we just created.
  1. Create a project on Github and copy its repository url ending with .git which is like for example: https://github.com/algosig/project-angular.git
  2. Open your git console. Point directory which has your angular project that you created with angular-cli as a part of previous tutorial "How to start Angular2 Project via angular-cli?"
  3. Initialize Project via npm. In your console type:
    npm initThis loads all configuration needed to initialize in your project. And stores all those settings creating a new file package.json in your project.
After you'll enter the values for above mentioned configuration, you will see following information set by npm:
You can notice above in the screenshot the url we proided is listed inside "repository" with "type":"git". So we have added a git repository in package.json with the help of npm init. There is two more things to notice in this configuration they are the bugs and homepage.You can see adding a single url of project repository, we are by default provided with the urls for issuing the bugs and also the home page to read the ReadMe of our repository.

Now that we've linked our github repository we can now commit straight to the master and keep proper track of our project contribution. These steps are pretty easy to catch up with. But do let us know if you face any problem during configuration. 

That's all about associating git repository. Second part of blog is completed here. We will continue to write about Angular2 on our next blog. Keep subscribed with our email list to get update of PART 2 of Angular2.

Related Articles:

How to Quickly Import Music and Movies Straight into iTunes

What do you do when you have to add some music or movies into iTunes library? Well, the answer is obvious that you’ll open iTunes and visit music list or movies list accordingly and import the music or movies which you’ve wanted to import.

Instead of doing these (opening iTunes, visiting the proper music or movies list, and drag the files) , did you know that there is a hidden folder in Mac OS X which automatically does the same thing for you.

QUICKLY IMPORT MUSIC AND MOVIES STRAIGHT INTO ITUNES

  • Within Finder, Visit go > go to folder
  • Type this location in the field: ~/Music/iTunes/iTunes Media/
Once you’ve reached that location, one of the folder you see is Automatically Add to iTunes.
Whenever you place any music or movie file inside this folder, it is automatically imported into your iTunes Library.

AUTOMATICALLY IMPORT DOWNLOADED MUSIC & MOVIES TO ITUNES

If you use any software to download music or movies, make its default download location to that folder. That means the downloaded music or movie will be automatically imported to your iTunes library.
Tip: You can make a shortcut of that file in your desktop. So whenever you like to add any music or movie, you can simply drag it into it.

GITHUB : How to Track Activities of your repositories via Email Service?

Open Source Simply Rocks!. So much excited to write this blog.

Scenario:

You are moderator/supervisor of a Github Project. You've your team members who are continuously working on project from their favorable work space. Now how do you think you will keep update about the changes made by them until you will see a pull request or a bug report?

Wouldn't it be great if you could get some sort of alert whenever any member performs a change on your repository? Actually there is a work around  to receive email alerts whenever there is changes in your repository. Whenever a user commits to your repository you'll receive an email.

Solution:

This is how we add a Email Service for getting alerts about every commit:
  1. Go to your Github Repository
  2. Click Settings
  3. Click Integrations & Services
  4. Click Add Service
  5. There are a dozens of services you available in the dropdown. Click for Email
  6. You will get a form to fill some information. Fill it:
  7. After filling the information Click Add Service, try making changes to your repository and commit those changes. You will get email alert within a minute.
That's all for this blog. This is the first time I did experiment with github integration and services. I see there are many services like dockers, Filezilla, Rally, Trello and many more which I'll explore soon and share my findings in upcoming blog posts.

Related Articles:

Angular2 [PART 1]: How to start Angular2 Project via angular-cli?

Angular is one out of top 5 framework for web app development. It's learning curve is not straight forward but we can catch up in a short time. I started learning Angular2 like a month before. This is my first time learning any JavaScript based framework. Now in a month, I am quite confident about developing some components and services using barrels, custom pipes and angular built validations for responsive forms. I still need to learn communicating with third party services and unit testings. I have just began learning the fundamentals. But the fundamentals itself teaches a lot of features about angular which is worth sharing. :)


If you are thinking where to start with, then I would recommend two of these authentic source:
Always search for the official documentation for learning any tools and technologies.
This blog as well as a series of upcoming blogs on Angular2 will be kind of tutorial for exploring fundamentals on Angular2. I will mainly focus on the issues that I encountered during my learning. This could help readers to overcome such issues and save some time as well.
Right before starting my findings I wanted to include this definition about what angular is from Angular's Official site:
Angular is a platform that makes it easy to build applications with the web. Angular combines declarative templates, dependency injection, end to end tooling, and integrated best practices to solve development challenges. Angular empowers developers to build applications that live on the web, mobile, or the desktop

Before starting a project on angular skill wise you need to have basic knowledge about HTML, TypeScript, a little bit of CSS and Bootstraping if you want to give a pleasing view to your web application.

You need to install following tools which I'll be listing & also showing you the step wise installation for setting up an angular2 project:

     1. Install Node with version greater than 6.0

Download NodeJs from its official website.(nodejs.org). Download LTS(Long Term Support) version such that it will be grater than Version 6.0. Angular2 Supports only Nodejs greate than version 6.0.

  • Install nodejs
    Once you complete the installation, type node --version in your command prompt. You will be displayed the node version if everything went fine with your installation:

    Currently, I've v6.11.0 installed on my machine.

      2. Update npm( node package manager) to the latest version

Node package manager abbreviated as npm is installed during the installation of nodejs. To check whether npm is installed or not on your machine:
  • Open a command prompt ant type npm --version

    I've version 5.0.3 installed on my machine.
  • Now that you have npm update it to the latest version tying:
    npm i -g npm

     3. Install angular-cli from npm

angular-cli is a command line interface for interface. Here we use the inbuilt functionalities of angular-cli to perform actions like:
  • create angular project
  • create new components scafolded by angular-cli
  • create new services scaffolded by angular-cli
  • initialize a project configuration flie
Install angular-cli from npm by typing following command from your console:
 npm install @angular/cli

Now we are all set with required tools for creating an angular2 project.

     4. Creating A Project

Now that we have required tools already set up, creating a project is two steps ahead.
  • In your command prompt type :
    ng new project-name

    You will see a list of files bundled by angular-cli. We will go through the bundled file folders and it's purpose in upcoming blogs.
  • Now move inside the project directory:
    cd project-name
  • Now start the server and you will see your web application up and running in a port hosted in your localhost server. Type:
    ng serve
Notice the information on your command prompt:
**NG Live Development Server is running on http://localhost:4200. **

Open a web browser and browse http://localhost:4200 and find the result for yourself.
It actually Works. Wait for our upcoming blog where we will write something meaningful about Angular2.

Github Introduces Community Standards

In order to set common opensource guidelines for projects hosted in public repositories, github has introduced ways to measure community standards on your repositories. At times you might have wanted to contribute in a open source project, but had no idea how to. Public repositories are free to clone, fork and sent a pull request. But your contribution won't be accepted unless it meets the motive and objectives set by an individual or a community who moderate that project.

Wouldn't it be awesome if you could know following things about a repository, so that you could invest some time and skills contributing:
  1. License that a project applies
  2. Description about what's the project about, tools it uses, and its current state.
  3. A Code of Conduct such that we could know ways to be a part of the project and contribute.
  4. Also a Contributing guidelines such that we would know the working mechanisms like reporting a bug, criteria for accepting a pull request, etc after we are a member.
To sum up all the four points, having information about four above mentioned points, your project repository is said to matched the community standards. To know what are open source guidelines for meeting the community standards, Click here.

Out of above mentioned four points github already had two features License and Description.
Currently there are twelve licenses listed as follows which you can fing while creating a new project repository:
  1. Apache License 2.0
  2. GNU General Public License v3.0
  3. MIT License
  4. BSD 2-clause "Simplified" License
  5. BSD 3-clause "New" or "Revised" License
  6. Eclipse Public License 1.0
  7. GNU Affero General Public License v3.0
  8. GNU General Public License v2.0
  9. GNU Lesser General Public License v2.1
  10. GNU Lesser General Public License v3.0
  11. Mozilla Public License 2.0
  12. Unlicense( This means no license at all, set your code free)
Github also has a feature known README  adding details about your projects, which you can choose while creating a new repository. 
For two of the remaining feature github has introduced CODE OF CONDUCT and CONTRIBUTING.
Now in your repository under the Highlights Dropdown you can see a sign of love for Community. This is recently added in Github. Click at the Community and for your repository you will be shown a progress meter which displays if your project meets open standard or not.
Now you can see README, Code of Conduct, Contributing and License on your community profile. In one of my repository, I have only added Readme and License. And the progress bar displays that  my repository meets 50% of the community standards.
From here you can add Code of Conduct and Contributing Guidelines. This is quite simple as adding information inside your Readme. But make sure that your project's Code of Conduct and Contributing Guidelines are straight forward and strict in a sense it will be transparent for contributors to apply, contribute and promote.

Related Articles:

How to Hide/Exclude Certain Files from Sidebar in Visual Studio Code?


Currently I'm learning Angular2 and building a test project using Visual Studio Code.  VSCode is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, OS X and Linux.
So what happens while working on Angular2 Project is that we write TypeScript codes. The tsc: typescript compiler generates respective JavaScript Code for our typescript codes. For this single process there are 3 files created which are listed below:

For a typescript file: event-details.component.ts, typescript compiler creates event-details.component.js.map and event-details.component.js. This is two additional files for a single components. Imagine an application with 20 components and 10 services, your side bar will be full of files. Because of similar names you cannot locate your required files easily. 

So in Visual Studio Code, here is how you Hide/Exclude certain files from your sidebar:
  1. Goto File
  2. Click Preferences
  3. Click Settings
    You will see the user Settings and Workspace Settings in your Visual Studio Code Text Editor.
  4. In your text editor add following code:
    "files.exclude": { "**/**.js.**" : true, "**/**.js": true, "**/**-lock.**": true
Above code listed every file with extension .js , js.** (example: *.js.map), *-lock.*(example:config-lock.json) will be hidden from sidepanel.

This small tips will help us refine our sidepanel and also vase much time in finding the right file we want

Related Article: 

Why Visual Studio Code?


 Free. Open source. Runs everywhere.
Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, OS X and Linux. It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Python, PHP) and runtime. Visual Studio Code is one of the greatest committed open source project on Github by Microsoft. 
Owner: Microsoft
Github: vscode

Why Visual Studio Code?

VS CODE provides development environment for most of the programming languages which follow Open Specification (technical standard) known as Common Language Insfastructure(CLI
VSCode is lightweight. Comparing it with the Visual Studio it has many pros which promises developers to dive into it.
Visual Studio2015(V14.0)CODE
Software Size1.9GB54MB
Visual studio Code consists of three components:
  1. Side Panel
    Here we can see the tree structure of your project. We see a search icon where we can perform advance search in files as well as folders. Visual Studio has integrated Git where we see the change in file immediately. We can perform every git operation that can be done from other git application. We can browse extensions and download from side panel too.
  2. Text Editor
    This is where you do all the coding stuffs. The color customization and Theme Selection from VSCode is pretty straight forward. You can split the screen and see multiple text editors.
  3. Terminal
    Here we build and run the project. Once we run the program from terminal it fetches and downloads all the necessary referenced library online while building the project.
You can perform all other activities that you do from Visual Studio 2013, 15, 17 and other IDEs.
This can be a major alternative of Visual Studio IDEs where you need to buy the licence key and also need ore space and memory to execute it. VS CODE mimics the Command Line Interface implementation of developing and deploying a project. So this could be a good tool for software development.  
Because it's free (smile) (tongue) (big grin). Free as in you can view and customize the source code. Do you believe that Microsoft launched a software for free? Means it's worth it.
I use visual studio code for web app development in ASP.NET MVC Framework, Angular2. 
Explore more about Visual Studio Code.

How to Run Any Chrome App as a Desktop Apps in Windows 10

Previously on my Windows8.1 Machine, I installed Google Keep from Chrome Application Store. Chrome automatically set the app as my Desktop Application. After I installed Windows 10, it didn't happened automatically. I didn't  see Google Keep installed on my machine. So I did a small tweak from which I will now onward use my Chrome browser to run an instance of my desired chrome app from Desktop only. I wont need to open Chrome and type the url time and again.



Following are the steps to Create Shortcuts of the Chrome Apps, which lets us browse standalone apps as our new desktop Apps.

  • Right Click your Desktop
  • Add New Shortcut
    Add this path to the interface shown below:
    "C:\Program Files(x86)\Google\Chrome\Application\chrome.exe" --app="https://keep.google.com"
    What this does is, it uses the Chrome Application installed on your local machine and provides an instance to launch Google Keep.
  • Next name the application as Google Keep or simply Keep as your wish.
  • Save it.
  • You will now see a new shortcut icon of chrome on your desktop like shown below:
This icon is little confusing. It would be better if you could get the Google Keep Icon for Keep. Otherwise you will be confused when you will try to open chromium browser next time. So this is quite simple. All you need to do is:
  • Right Click your Shortcut that you recently made.
  • Click to the properties.
  • There you can see Change Icon
  • Download the Google Keep Icon and locate that icon.
  • Save it
And here we are with separate icon for separate app. This small tweak is valid for every chrome apps.All you need to do is change the url of the app in this particular section: "C:\Program Files(x86)\Google\Chrome\Application\chrome.exe" --app=keep.google.com. Instead of keep.google.com you can replace it with pictures.google.com or contacts.google.com as you wish.

Here you can see I created five new Desktop Apps i.e. linked Chrome Apps as shortcuts which are now browsable as desktop apps on my Windows 10 Machine.
Regarding Memory usage:  I find out that all apps ran independently are threaded inside chrome app in Task Manager and consume memories which is managed by Chrome itself.

Related Articles:

Mr. Pradeep Khanal (IPP CAN-USA) Awarded with ICT Excellence Award


ICT Excellence Award was awarded to Mr. Pradeep Khanal. 

On the occasion of Honoring Program for Great Personality, Mr. Pradeep Khanal (Immediate Past President of CAN-USA) has been cordially honoured by Information Security Response Team Nepal (Infosec-Nepal).

The ceremony was structured with Interaction. The event was held Saturday, 10th June, 2017  at Softech Foundation premises. ICT Frame, one of the online tech portal of Nepal, has covered the event and also covered the press release. For more information Click here.

Is Artificial Intelligence Free?

I saw someone asked a question  How-can-AI-be-free? on Quora. Having keen interest in this field I tried to think of all possible reasons inside my mind. The question was not precise whether s/he wanted to know about whether the tools that we use for an AI project is free, or he was talking about languages, platforms and frameworks. But the answer was quite straightforward, AI is not quoted as a patent of any tech giant, neither it is a private hardware which only an individual can have access to. Artificial Intelligence is a subject/ field of study and knowledge is always free, all it requires is your mind to capture as much as you can. So I answered my logic or simply what I think about it. But together with this question another question which is my Blog Title to "Is AI Free" also seems to be valid. And here is what I answered:

 
Artificial Intelligence, this exciting research field in Computer Science itself is in it’s initial phase. And hundreds of tech giants, institutions, universities researchers are doing independent researches. And within last 8–10 years such research bodies have published Tools, Languages, Datasets, Frameworks and Libraries as well as community support platforms. It’s the knowledge about AI and necessary skills for performing the executions required prior to the concern about whether or not AI is free.

Just assume you’ve knowledge about AI and enough skills to program your robot/IoT whatsoever you want to, there won’t be any hindrance for you to implement your algorithms for a AI Project.

  • There are huge datasets available from ImageNet to process, there are abundant online courses for free on Coursera.
  • There are libraries in python liky SciPy , NumPy and Pybrain for the statistical analysis of data you use in your Machine Learning Projects.
  • There are now foundations like Open AI and AI4ALL which aims to make this huge knowledge base of Artificial Intelligence to the open community.

And the lists about where you can get the resources for AI for free is abundantly available online. All you need to do is explore :)
7 Most Useful Quick Mac OS X Yosemite Tips

7 Most Useful Quick Mac OS X Yosemite Tips

Mac OS X Yosemite is one of the best OS X Apple has ever introduced. With tons of improvements over OS X Mavericks and some UI changes has added extra flavour to user experience.
Here are 7 most useful quick tips for you to get most out of your Mac running OS X Yosemite.

TIP 1: QUICKLY TURN OFF NOTIFICATIONS

Suppose you’re working on some stuffs and you really need focus and do not want to get disturbed by notifications that show up in the top-right corner of your Mac OS X, then here’s a small workaround.
You can either disable notifications from a specific app or you can also go for “do not disturb” mode which will temporarily disable notifications to show up for rest of the day.
Turn Off Notifications From Specific App in Mac OS X
  • Visit System Preferences
  • Click on Notification
  • On the left, select the application from which you do not want to receive any notifications
  • Now click on None as the alert style for that specific app
Quickly Turn Off Notifications in Mac OS X
Using Do Not Disturb to disable notification for rest of the day.
  • From Menu bar, click on Notification Center icon
  • Scroll down a bit
  • Turn on Do Not Disturb
You can also use a shortcut to directly turn on Do Not Disturb mode in Mac OS X. Just hold alt key and click the Notification Center icon. The icon turns dim when notifications alert are disabled.

TIP 2: QUICKLY RELAUNCH FINDER

For starters, Finder in Mac OS X is just like My Computer in Windows. Finder makes it easy to access folders like Applications, Documents, Downloads, Movies, Music  Pictures, etc.
But within a period of time, Finder sometimes might become unresponsive due to various reasons. In that case you might need to know the ways to quickly relaunch the frozen finder.
There are two ways you can relaunch the Finder in your Mac.
Using Dock
  • Hold down option key and right click on the Finder icon in the Dock
  • Now select Relaunch
Using Shortcut Key
  • Hold down option+command+esc keys together to open Force Quit Applications window
  • Select Finder from the list of Applications
  • Click Force Quit
Now you can easily relaunch the freezed Finder in your Mac.

TIP 3: CHANGE YOUR LOGIN ACCOUNT PROFILE PICTURE

The very first thing you do after owning a Mac is personalizing it, making the system more like yourself and set the system preferences according to your needs. And when it comes to personalizing needs, setting a login account profile picture is one of them.
Changing Your login account profile picture in Mac OS X
  • From Menu Bar, Visit Apple Logo > System Preferences
  • Click Users & Groups icon
  • While you’re under Password tab, hover your mouse pointer over the present login account profile picture to get an edit option and click on it
  • Now choose your image which you want to set as profile picture from the list of available places (Defaults, Recents, iCloud Photos, Faces, camera, Linked)
If you want to use a custom/downloaded photo as your profile picture, you’d have to drag the particular photo over the current profile picture. Scale the photo (zoom in/out) as per your need and finally click Done.

TIP 4: GENERATE STRONG & MEMORABLE PASSWORDS

Getting yourself a strong yet memorable password is a difficult task. No one really wants to compromise their accounts (eg, social networks, e-banking, etc) because of weak passwords. Passwords must never contain any information related to you and your lifestyle. Hackers might use the information related to you for brute-force attacks, and your accounts might get into wrong hands.
If you’re a Mac user, then there’s a way to generate a super strong as well as memorable passwords using Keychain Access, an application which handles all the password and certificate security in.
Make Mac OS X Generate Strong & Memorable Passwords
  • Open Keychain Access Application (Finder > Applications > Utilities)
  • From Menu Bar, Click on File and select New Password Item
  • In next window, click on the key icon present beside Password field
  • A small window pops up, and there’s the auto generated password in the Suggestion field
  • To generate next password just select Memorable from the drop down menu
The length of auto generated password can be adjusted by sliding the Length slider menu.

TIP 5: CHECK VERSION OF APPS

It might be for checking the availability of newer versions or downgrading to older versions; whatever may be the reasons sometimes you might need to be aware of the version of app you’re currently running in your Mac. And there are two quick ways to know which version of application/software you’re using.
Knowing Which Version of App You’re Using in Mac
  • Open Finder
  • Go to Applications folder
  • Single click the App whose version you want to know
  • Press command + I
  • Under General, you’ll get the Version of that specific app
And the next way is to open the application, and from the menu bar visit application’s menu > About.

TIP 6: INCREASE/DECREASE APP WINDOW RESIZE AREA

Mac users can resize the App/Software window by moving the cursor to the edges of an active window and finally click & drag; outside and inside so as to increase or decrease the window size respectively.
For some users moving the cursor to the exact edge can be difficult. But there’s a small workaround that increases the window resizing area, which makes it easy to resize app/software window quickly in Mac OS X.
Increasing/Decreasing App Window Resize Area in Mac
  • Open Terminal (press command + SPACE, and type terminal)
  • Enter the following command which changes the edge resize size to the value you set.
defaults write -g AppleEdgeResizeExteriorSize 15
Change the value 15 to some other number as per your need.
  • Restart Your Mac
In case you want to revert back to default setting, enter the following command into the Terminal and restart your Mac.
defaults delete -g AppleEdgeResizeExteriorSize

TIP 7: CHANGE FINDER SIDEBAR ICON SIZE

Finder sidebar helps Mac user to quickly access their Favourites Locations (iCloud Drive, Airdrop, Applications, Documents, Movies, Music, Pictures, etc), Devices (flash drives), Tags, Network, etc. By-default Mac system shows medium sized icons in the sidebar. Some users might want to decrease or increase the icon size.
Changing Finder Sidebar Icon Size in Mac
  • Visit System Preferences (Either for the dock, or Apple Logo > System Preferences…)
  • Open General
  • Next to Sidebar icon size heading, use the drop down menu to select the icon size (Small, Medium, Large)
Changes takes place immediately. Now open Finder window, you’ll notice that the icon size have changed according to the size you’ve selected.

CONCLUSION

I hope you found these Mac OS X Yosemite Tips helpful. These tips also work for OS X El Capitan, I have personally tested it on this new OS X too.
Stay subscribed to our blog for further updates.
How to View Complete Details About a WiFi Network in Mac OS

How to View Complete Details About a WiFi Network in Mac OS

Whenever you’re connected to a Wireless network (WiFi) on your Mac OS X, you don’t get to see the complete details about that specific WiFi network. You can manage various WiFi settings by visiting Network preferences > WiFi > Advanced. While you can view very few details like your local IP address provided by the router, subnet mask, router’s IP address, setup DNS and proxies; from the Advanced settings window.
But there is a quick way, to view complete details about a WiFi network which includes BSSID, channel & country code of the router, signal strength, disturbance (noise), and the transfer rate of the network.

VIEW COMPLETE DETAILS ABOUT A WIFI NETWORK IN MAC

Make sure you’re connected to the WiFi network whose details you wish to view.
Now hold down option key and click on the WiFi icon on the menu bar. This time you’ll not only see the options to search and switch between the networks, you’ll also see a list of various technical details about the WiFi you’re connected to.
From the top are the interface name and the mac address of the WiFi adapter of your Mac system. The next extra option you get this time is Open Wireless Diagnostics. Without having to visit the advanced setting window you can directly diagnose WiFi problems, using this option.
BSSID is the mac address of the wireless access point (WAP).
RSSI is the strength of the signal of the Wireless network you’re connected to. RSSI stands for Received Signal Strength Indication, whose value ranges from -100 to 0. For a signal to have good strength, its value must be near to 0. That means, RSSI indication of -20dBm is better than -70dBm.
Tx Rate is the maximum speed of the network which is possible for data transfer inside that specific network.
PHY Mode shows which wireless technology standard does the network follow for the connection. Mostly, nowadays’s routers make use of 802.11n technology, but it might vary depending upon the router you’re using.