Pixel Perfect Precision Handbook

This ebook is more about visual things, not dull long descriptions. Here the specialists from PixelPerfect share their first-hand tips and experience of many years to show you what is “Naughty” and what is “Nice”. It’s 200 pages long but you will fly through it real fast. Click on the image to get the book
















Eloquent JavaScript Teaches You JavaScript for Free


These days, there’s no dearth of great resources for learning to code. Here’s another great one, a 21-chapter book posted online and chock full of JavaScript training.
Eloquent JavaScript is written by Marijn Haverbeke, builder of CodeMirror, an in-browser code editing tool. In the book, you’ll not only learn about objects and arrays and debugging, but also walk through several projects, such as building a platform game in your browser. There’s even a code sandbox so you can download source code from the chapters or edit and run your own code.
It looks like a very thorough book, generously made possible by donations from 454 backers. Print and eBook versions are in the works, but you can get started right now reading from the Eloquent JavaScript website.

Learn Beginner and Advanced HTML/CSS Skills for Free


When you want to make something awesome on the web, you have to start with HTML and CSS. With plenty of options, picking a good tutorial isn't always easy. Here are beginner and advanced lessons that'll teach you the basics and beyond.
Designer/developer Shay Howe put together a set of free lessons to help youlearn the basics of HTML and CSS as well as more advanced techniques to improve your abilities. Each lesson walks you through various concepts, providing code-based and visual examples to help you understand. When you finish each, Shay offers additional resources so you can keep learning more about HTML and CSS beyond his guides. Whether you're looking to get started or improve your skills, check them out. His guides are very organized, detailed, and helpful.

simple way to make web stuff on Raspberry Pi



The Raspberry Pi is great for all kinds of multimedia projects, but its original purpose was for education. Google's new Coder image for the Raspberry Pi embraces that and offers a place to write code and host a server on the Pi.
Coder is a custom image for your Raspberry Pi. So, you'll download the installer, drop it onto an SD card, and then boot up your Pi. When it's done, you're greeted with a Chrome window where you can start writing HTML, CSS, or Javascript in a distraction free environment. You can then easily share those programs with anyone else who can connect to your server.

Scratch for Arduino Makes Programing the Arduino More Visual


Windows/Mac/Linux: Programming an Arduino isn't especially difficult, but if you're looking for a more visual method, Scratch for Arduino (S4A) uses MIT's Scratch as a groundwork for teaching kids (or beginners) how to program an Arduino.
S4A works just like Scratch where you drag and place actions to create programs. The idea is to provide you with a more visual language to program in so you can understand how things work better. Even if you're experienced with Arduino programming, it's fun to play around with. Otherwise, it's a good place to start learning about how the Arduino works.

Atom, the Text Editor from GitHub, Is Available for Windows


Windows: Atom, the free text editor from the folks at Github (and one of our favorite text editors), now has an official Windows version. It's an alpha release, but it brings all of Atom's features to Windows, including support for the packages that make the tool so extendable.
To use Atom on Windows, you can either download a zip directly (linked below) or install chocolatey (a utility for Windows that's a lot like Homebrew for OS X or apt-get for Ubuntu) and install it from the command line. The latter approach also makes it easy to install packages and third-party utilities (and Atom updates) as they become available, so it's the Atom's team preferred solution. They have instructions on how to do it below.
Beyond that, once installed Atom works like a native Windows application, so it should act like any other program on your system. Hit the link below to grab it and give it a whirl, or head to the main project page to read more about the project.

Bing Can Now Show You Code Snippets and Run Code in Search Results


Every programmer and person who’s tried learning to code looks up code snippets to find the best way to develop their programs. Bing’s there to help now, with over 80 common code examples that can be edited and executed in your search results.
When you search for a common programming term, such as “bubble sort Python” or “Python array,” the new widget should appear. You can also switch the programming language to C, C++, C#, PHP, or Java to compare. Click the Run button, and you’ll see the code executed.
Not every programming example or term will be presented here; we still needStack Overflow! But Bing (with assist from HackerRank) has just become a more useful tool for developers and those learning to code.

Learn to Code for Free While Building Apps for Nonprofits


Learn a highly valuable tech skill and build a portfolio of apps while helping a nonprofit? There’s a lot to like about Free Code Camp.
The online camp offers free, self-paced coding challenges online that will help you learn HTML, CSS, JavaScript (and jQuery), Node.js, database usage, and more—hundreds of hours of practice and learning projects that by the end should have you not only ready for a coding job but also have a portfolio of projects that have helped actual nonprofits. Free Code Camp also offers a freefront-end development certificate after you finish the course.
The only downside is you have to put the time in. You have to complete the challenges— which include acquiring basic coding skills and practice with algorithms, front end development, and full stack development—before you can work on building nonprofit projects. It takes (more or less) 1,600 hours to get through the course, but it’s something you can do at your own pace.
There’s a great community of fellow learners and Free Code Camp volunteers (with real-time chat) to help you along your way as well.
Go get coding and hopefully see you there!

Swifty Teaches You to Code in Swift on Your iPhone or iPad


iOS: If you want to create an iOS app or a Mac app, Apple would like you to use their new programming language, Swift. For those new to coding, Swifty is one of the easiest and simplest way to get started learning.
Swifty walks you through the basics of coding, starting with running your first program (printing your name) and learning about variables and functions. The tutorials are optimized for the iPhone's and iPad's touch interface, so instead of typing in tons of code, you'll be shown an explanation of new programming concepts then some lines of code with some options missing. Tap or type to choose an option, then run the code to reveal the result.
This format makes it ideal for learning on the go and in short sprints. To access all 200+ interactive lessons, you'll need to buy the in-app upgrade ($2.99), but the first chapter with 13 lessons covering Swift basics is free to try.
Swifty (Free; $2.99)
An Ex-Microsoft Engineer's Advice to Programmers: Learn How to Write

An Ex-Microsoft Engineer's Advice to Programmers: Learn How to Write

An Ex-Microsoft Engineer's Advice to Programmers: Learn How to Write
Finding success in any field is rarely confined to a singular skill, even one like programming. That’s why Mike Borozdin, the now senior director of engineering at DocuSign, suggests all programmers sharpen their grammar skills in addition to their coding skills.
You might be a fantastic programmer, but knowing how to write clearly can help you better explain your work to managers or potential clients. Borozdin, a former Microsoft engineer for several years, explains to Business Insider:
I would advise folks in software to do one thing, and that’s write. Learn how to write ... It’s actually useful. You need to know how to express yourself. And it’s really tough for a lot of engineers to step up and do public speaking... Once you create a successful piece of software, you’re probably going to be writing English as much as you’re going to be writing Java or Objective C. I’ve created multiple pieces of software at DocuSign that went viral, and people liked them and wanted to use more of them. And I probably wrote 10 times the documentation and explanation, and answered questions in paragraph form.
Furthermore, knowing how to write makes it easier for you to claim proper credit for your work. Borozdin recollects times he’d handed off work to manager and wasn’t acknowledged for his work because it wasn’t clear that it was his idea being utilized. If you only know how to write in code, it might be a good idea to spend some more time with one of your first written languages.

Microsoft's Free Visual Studio Program Gives You Free Software and Online Training


With Visual Studio you can develop apps for Windows as well as Android, iOS, and the web. Microsoft has released a Visual Studio Dev Essentials program to give you the tools you need to start coding—including Parallels for Mac and Pluralsight training.
In addition to the code editor and IDE tools, Visual Studio Code and Visual Studio Community, joining the free program with your Microsoft account gets you access to things like:
  • A 6-month subscription to Pluralsight online training
  • $25 credit at HackHands Live Programming Help
  • 3-month subscription to Parallels Desktop for Mac Pro Edition and Parallels Access
  • $25/month Azure credit for 12 months
and more.
Some of these are only available through the Visual Studio Dev Essentials program and for a limited time only (e.g., before the end of the year) and while supplies last, so head over to the Visual Studio site to sign up.
Learn How to Port Your iOS App to Windows 10

Learn How to Port Your iOS App to Windows 10

Learn How to Port Your iOS App to Windows 10
It’s no surprise that Microsoft wants us to create apps that can run on Windows 10. To that end, the company has posted a tutorial for everyone who’s made an iOS app to easily bring it over to Windows 10.
The tutorial includes the code for a simple to-do list in Xcode, which you can them turn into a Visual Studio solution. From there, Microsoft’s Windows Bridge for iOS ports your app to Windows 10. The tutorial also includes advice on making sure your app will scale properly on different sized screens and troubleshooting bugs.
Cross-platform apps are the best kind of apps, so hopefully this will catch on and the Windows 10 Store will have many more apps to choose from.

11 Essential Tech Skills You Need to Get Hired as a Web Developer

The infographic not only lists the skills but also suggests specific tasks you should be able to do to demonstrate those skills, such as resolving merge conflicts in Git/GitHub and testing for bugs across mobile devices. These might seem like rudimentary suggestions for you pros out there, but if you’re just starting out and don’t know what you don’t know, just give this a quick lookover.
11 Essential Tech Skills You Need to Get Hired as a Web Developer

Understanding Delegates in C#


A delegate is a reference type that holds the reference of a class method. Any method which has the same signature as delegate can be assigned to delegate. It is very similar to the function pointer but with a difference that delegates are a type-safe. We can say that it is the object-oriented implementation of function pointers.
There are three steps for defining and using delegates:
  1. Declaration

    A delegate is declared by using the keyword delegate, otherwise it resembles a method declaration.
  2. Instantiation

    To create a delegate instance, we need to assign a method (which has same signature as delegate) to delegate.
  3. Invocation

    Invoking a delegate is like as invoking a regular method.
  1. //1. Declaration
  2. public delegate int MyDelagate(int a, int b); //delegates having same signature as method
  3.  
  4. public class Example
  5. {
  6. // methods to be assigned and called by delegate
  7. public int Sum(int a, int b)
  8. {
  9. return a + b;
  10. }
  11.  
  12. public int Difference(int a, int b)
  13. {
  14. return a - b;
  15. }
  16. }
  17. class Program
  18. {
  19. static void Main()
  20. {
  21. Example obj = new Example();
  22. // 2. Instantiation : As a single cast delegate
  23. MyDelagate sum = new MyDelagate(obj.Sum);
  24. MyDelagate diff = new MyDelagate(obj.Difference);
  25. // 3.Invocation
  26. Console.WriteLine("Sum of two integer is = " + sum(10, 20));
  27. Console.WriteLine("Difference of two integer is = " + diff(20, 10));
  28. }
  29. }
  30.  
  31. /* Out Put
  32.  
  33. Sum of two integer is = 30
  34. Difference of two integer is = 10
  35. */

Key points about delegates

  1. Delegates are like C++ function pointers but are type safe.
  2. Delegates allow methods to be passed as parameters.
  3. Delegates are used in event handling for defining callback methods.
  4. Delegates can be chained together i.e. these allow defining a set of methods that executed as a single unit.
  5. Once a delegate is created, the method it is associated will never changes because delegates are immutable in nature.
  6. Delegates provide a way to execute methods at run-time.
  7. All delegates are implicitly derived from System.MulticastDelegate, class which is inheriting from System.Delegate class.
  8. Delegate types are incompatible with each other, even if their signatures are the same. These are considered equal if they have the reference of same method.

Types of delegates

  1. Single cast delegate

    A single cast delegate holds the reference of only single method. In previous example, created delegate is a single cast delegate.
  2. Multi cast delegate

    A delegate which holds the reference of more than one method is called multi-cast delegate. A multicast delegate only contains the reference of methods which return type is void. The + and += operators are used to combine delegate instances. Multicast delegates are considered equal if they reference the same methods in the same order.
  1. //1. Declaration
  2. public delegate void MyDelagate(int a, int b);
  3. public class Example
  4. {
  5. // methods to be assigned and called by delegate
  6. public void Sum(int a, int b)
  7. {
  8. Console.WriteLine("Sum of integers is = " + (a + b));
  9. }
  10.  
  11. public void Difference(int a, int b)
  12. {
  13. Console.WriteLine("Difference of integer is = " + (a - b));
  14. }
  15. }
  16. class Program
  17. {
  18. static void Main()
  19. {
  20. Example obj = new Example();
  21. // 2. Instantiation
  22. MyDelagate multicastdel = new MyDelagate(obj.Sum);
  23. multicastdel += new MyDelagate(obj.Difference);
  24. // 3. Invocation
  25. multicastdel (50, 20);
  26. }
  27. }
  28.  
  29. /* Out put
  30.  
  31. Sum of integers is = 70
  32. Difference of integer is = 30
  33.  
  34. */

Difference between ref and out parameters


Ref and out parameters are used to pass an argument within a method. In this article, you will learn the differences between these two parameters.

Ref

The ref keyword is used to pass an argument as a reference. This means that when value of that parameter is changed in the method, it gets reflected in the calling method. An argument that is passed using a ref keyword must be initialized in the calling method before it is passed to the called method.

Out

The out keyword is also used to pass an argument like ref keyword, but the argument can be passed without assigning any value to it. An argument that is passed using an out keyword must be initialized in the called method before it returns back to calling method.

Program with ref and out keyword

  1. public class Example
  2. {
  3. public static void Main() //calling method
  4. {
  5. int val1 = 0; //must be initialized
  6. int val2; //optional
  7.  
  8. Example1(ref val1);
  9. Console.WriteLine(val1); // val1=1
  10.  
  11. Example2(out val2);
  12. Console.WriteLine(val2); // val2=2
  13. }
  14.  
  15. static void Example1(ref int value) //called method
  16. {
  17. value = 1;
  18. }
  19. static void Example2(out int value) //called method
  20. {
  21. value = 2; //must be initialized
  22. }
  23. }
  24.  
  25. /* Output
  26. 1
  27. 2
  28. */

Note

  1. Do not be confused with the concept of passing by reference and the concept of reference type. These two concepts are not the same.
  2. A value type or a reference type can be passed to method parameter by using ref keyword. There is no boxing of a value type when it is passed by reference.
  3. Properties cannot be passed to ref or out parameters since internally they are functions and not members/variables.

Ref and out in method overloading

Both ref and out cannot be used in method overloading simultaneously. However, ref and out are treated differently at run-time but they are treated same at compile time (CLR doesn't differentiates between the two while it created IL for ref and out). Hence methods cannot be overloaded when one method takes a ref parameter and other method takes an out parameter. The following two methods are identical in terms of compilation.
  1. class MyClass
  2. {
  3. public void Method(out int a) // compiler error “cannot define overloaded”
  4. {
  5. // method that differ only on ref and out"
  6. }
  7. public void Method(ref int a)
  8. {
  9. // method that differ only on ref and out"
  10. }
  11. }
However, method overloading can be done, if one method takes a ref or out argument and the other method takes simple argument. The following example is perfectly valid to be overloaded.
  1. class MyClass
  2. {
  3. public void Method(int a)
  4. {
  5.  
  6. }
  7. public void Method(out int a)
  8. {
  9. // method differ in signature.
  10. }
  11. }