Hello there!
Welcome to the first issue of this Angular.JS and web-dev newsletter. The newsletter is going to be a weekly collection of programming related findings that I find interesting throughout the week.

As the first issue, and I knew a few of you have been on the list for more than a week. The links for today’s issue are going to be from my findings in the last couple of weeks.

The different sections and links are going to evolve in the coming issues. Maybe add more of this, less of that, merge/split things, etc. — You can tell me how you want the newsletter changed on twitter or by email.

Angular.JS — New & Hot

Angular.JS Changelog (New 1.2.x & 1.3.x Releases)
Did you know that there are 2 release candidates of Angular.JS 1.3 out already? RC0 and RC1. RC2 is very close to the corner too, and the last 1.2.x version is 1.2.24. Use the page to stay updated about Angular.JS version progress.

Adventures in Angular, The Podcast
A nice podcast just for Angular.JS stuff (co-hosted by John Papa). There’re 7 episodes out already with topics like the history of Angular.JS (1st episode, I bet more details than you know), how to learn it and teach it, running meetups for Angular.JS, build processes, etc. Each episode includes some special resources picks as well.

Angular.JS — Resources

Video: AngularJS Fundamentals In 60-ish Minutes
Oldie but a goodie! This is the main resource I give to everyone who wants to learn Angular.JS. Once you get all the main conecepts

Common Problems & Solutions When Using Select Elements With Angular.JS
If there is one small part of Angular.JS that’s completely missed up, it’s the select element directive and its corresponding ng-options. It’s very hard to do simple things like have an option pre-selected without having it replaced by an empty option you didn’t add in the 1st place. That’s why this post, which shows all the select problems solved with some non-well-known tricks is the most read post in my blog today (you can skip the video at the end).

AngularAgility
I’m not sure how popular this library is, but it can be quite useful if you are using forms a lot in Angular.JS. It generates form fields for you using Bootstrap styles, but you don’t have to use it this way. I only use one part of this library which is generating validation error labels, and showing them smartly. By smartly I mean showing error only when the field has been edited or the user tried to submit the form, etc. That’s where I find it very useful.

ng-book, The Book
From the same guy behind ng-newsletter articles, this seems to be the best Angular.JS currently available.

JavaScript — ECMAScript 6

Video: Douglas Crockford – The Better Parts
This video from April Douglas talks about ES 6 and other changes happening to JavaScript, and to his own opinions, like this alternative to object.create() that he now uses. It’s also such a fun video like other videos from Douglas usually are.

ECMAScript 6 modules: the final syntax
The final ECMAScript 6 modules syntax was agreed on in July this year. This post gives an overview of how modules work in ECMAScript 6. Pro Tip: Explore the blog when you are there, it’s a great JS source.

Collecting and Iterating, the ES6 Way
The post talks about collections in ES 6, but it also has several links to learning other areas of the language, and also to es6-shim.

JavaScript — Libraries

Flot Charts (JavaScript Library)
In my current project I needed to display a bar chart where bars show in green or gray based on some criteria. I needed IE 8 support so something like d3 wasn’t an option. Then I found Flot, and although the API was quite very verbose, I was able to achieve what I wanted. While I can’t share the project code, here’s the prototype I created to test it.

Node.JS

Learning Gulp
A nice visual tutorial for learning Gulp task runner.

ASP​.NET

ASP​.NET vNext Community Standup
ASP​.NET team is working on a complete rewrite of the framework in the next version. It should be able to work on Mac in production, and have autocomplete in Sublime Text, use Grunt or Gulp to combine and minify CSS / JS. Scott Hanselman started a weekly Google Hangout with the team to show what they work on that week.

What is the significance of ASP​.NET vNext? (Quick 6 points)
Whether you are someone who really likes or really dislikes ASP​.NET as it is now, in this post I have a quick summary of why the new complete rewrite in next version should be really good.

Introducing Gulp, Grunt, Bower, and npm support for Visual Studio
Microsoft decided to stop making fights that make no sense. Most clinet-side libraries are on Bower package manager not Microsoft’s Nuget Package Manager, so, they decided to support that in Visual Studio, first as an extension to VS 2013, and then soon as part of the product in VS vNext. They also support Grunt / Gulp (so, they didn’t try to declare a winner). I talk about these plans in my blog as well.

Git

GitHub Flow Like a Pro with these 13 Git Aliases
A nice blog post by Phil Haack from Github on using git aliases when following Github flow.

Git pretty
A flow chart for showing which git commands you might want to use in different cases.

UI / Design

Grunt Email Design Workflow
A Grunt workflow for designing and testing HTML email templates with SCSS. I haven’t played with this myself (so no, it’s not used to produce this email), but it’s kinda promising. I already use SCSS and use PreMailer.NET to inline CSS in emails sent from the applications I develop.

UI Gradients
A nice tool for gradient hero content inspirations for any landing page you might be creating.

Design Tips for Developers
Since we devs ending up mocking with designs a lot of the time, these are targeted resources for helping with that.

More from @Meligy / GuruStop

Follow me on twitter — @Meligy

Check The Newsletter Archive — http://gurustop.net/newsletter

Get friends to receive the newsletter — http://gurustop.net/newsletter/signup

, , , , , ,

The Question:

This is a question I found recently on Quora:

What is the significance of ASP.NET vNext?

I do not have much info on the topic more than watching some relevant TechEd videos, etc, but I managed to provide an answer and thought it might be good material for a quick blog post:

The Answer

Several things:

  • Real cross OS support. Microsoft is testing it even under Mono on Mac OS.

  • Much lighter framework, meaning it’s faster, and can handle more requests per second using the same hardware

  • Highly imporved compilation speed and workflow. Speed is due to compiling in memory not to disk), this ends a real slow productivity killer in large projects, the workflow improves as developers just save a file, refresh the browser and get the changes just like in JavaScript, CSS, etc

  • New codebase, meaning less need to know which defaults you need to change to get the behavior of a version that fixes a bug in a previous version, more testing-friendly APIs, etc

  • Better Node.JS integration, allows ASP .NET developers to easily get access to JS tools available at Bower package manager for example

  • New and clean replacement of MSBUILD (for ASP .NET only), allowing developers to easily write tasks similar to grunt, etc instead of complex and limiting MSBUILD tasks.

More Info

The best resource for ASP.NET vNext is simply http://asp.net/vnext – you can also check this video linked from that page:

, ,

Update 3:

Update 2:

Scott Hanselman announced it as well

It also looks like Grunt and Bower are not as far as ASP.NET vNext is, they’re coming quite soon!

Update 1:

Turns out the original bit about supporting Grunt is not breaking news (video). The video is definitely worth watching. It suggests Visual Studio will have special tooling written just for Angular.JS for example, and increase Bootstrap tooling as well.

So, I saw a nice tweet from Mads Kristense (creator of Web Essentials and one of the team working on Visual Studio tooling):

It was about Visual Studio tooling for Node’s packages.json file.

Side Note

If you are interested in the particular plugin in the previous video:

Grunt

So, I was like:

But then guess what? I got this reply!

YAY

Gulp

I retweeted the tweet, and a smart colleague of mine asked:

The answer was that it’s coming, just after Grunt, as in:

So, yeah, as my friend and colleague Joshua McKinney said:

Then later, as shown in Update 3 of this post:

Thanks a lot, Mads and Microsoft.

, , ,

Hello again and welcome to another Angular.JS video. This time I talk briefly about templates in AngularJS and the ng-include directives, and how to combine them to create recursive templates that can be used to model any number of tree levels.

Here’s the video. Check the code snippets belows:

The Code

In this demo, I used a dummy controller just to have a model to work on, the controller looks like that:

The obvious magic comes from the HTML, here’s the relevant part:

You can see the result below:

AngularJS Tree Demo

I hoped you liked this one, and until next video.

, ,

A few hours ago I tweeted:

In this post I’ll talk about how the experience was like. If you suspect you have a similar issue and came here searching for it, stop, and get the patient to a hospital ASAP. If you are interested in the human experience, read along.

How did it happen?

Things like this can be very easy. The bottom of one of the pants of my pair of jeans hit my left eye while Mrs. was tiding. It hit me like a sharp knife even though it was obviously by mistake.

This happened on Tuesday evening and I didn’t think it’d be a big deal even though the pain was horrible. By morning time, I know I knew I needed to visit a hospital.

What was it like?

It felt like a strong sting. It always felt like I had something in my eye, but sometimes it felt like a knife, or a pin, and sometimes it felt like I had a tiny coin in my eye. At first I was quite sure there’s something in my eye (I thought maybe a very tiny string or whatever).

The hardest part is that it hurt more whenever I blinked. Due to some surgery in the left side in my head as a child, my left eye is already “lazy”. This means I tend to blink/close it all the time. Not to mention the annoyance of feeling pain, automatically closing my eye from the pain, just to get more of it!

Seeking Medical Advice

I had some infection in my right eye a few weeks ago and went to a GP who got me some good antibiotic eye drops. So, I got an appointment with her on Wednesday noon (the earliest I could get). While waiting, I thought that I need someone well equipped to check if there’s something in my eye. I took my wife and went to St. George Public Hospital emergency.

The constant about any medical practice anywhere in the world is waiting. I’m talking about 1-2 hours of waiting especially at a public hospital. I did try a private hospital but they said they didn’t have emergency section and told me to go to St. George.

At the first hospital

I met someone whom didn’t look aware of Albinism (that’s the general medical condition of people with pure white skin + hair like me, especially eye effects). He measure my eyesight and told me “Do you realize you are legally blind?”. You can imagine how freaked out I was.

At this time I was thinking the degradation of sight is just due to so many tears overnight and still nonstop. I thought he is wrong taking it more serious than my pain. I was wrong.

He called a senior doctor, who advised having some fluorescent eye drops. They are called fluorescent because they light up under the light of the eye specialist’s tools and show the cornea very well. That was when they told me that I had a scratch in my cornea.

They gave me some antibiotic eye drops, and told me to use an ointment at morning and night. They gave me a certificate to take Wednesday and Thursday off. By the looks of Wednesday night, I could easily tell this was not enough, so, I asked my wife to email my company, Readify, (which was very understanding) that I’ll take Friday off as well.

At Sydney Eye Hospital

Sydney Eye Hospital - Credit: Wikipedia

By Thursday night, it was pretty much the same annoyance. I visited Sydney Eye Hospital on Friday morning. The eye specialist (after another 2 hour waiting) used less fluorescent eye drops (the first one filled my face, this one felt more right), and told me the scratch was so big that it must have been the same size it was on Wednesday.

He called his senior doctor, who suggested I stop the prescribed antibiotic and use the off-the-shelve ointment on hourly basis!

Getting ready to go back to work

I used the ointment every hour. I got my wife to put it for me, and it felt like an addict in some movie asking for his drug dose, LOL! I also asked her to email my company and tell them I may not come entire next week, just in case.

My pain started to improve on Monday. My vision started to improve on Tuesday, it wasn’t still clear, it still got blurry at not-so-close objects / text, and quite watery.

I visited Sydney Eye Hospital again on Wednesday this week, did my 3 hour waiting (1 hour for the nurse, and another 2 for the doctor) who didn’t call for a senior doctor this time.

She advised me that the scratch is now too small that it is even hard to see. I accepted her feedback as during the long wait I was already feeling hourly improvements in my vision without any medication that day.

She told me that I can go back to work. She said the laptop screen should not cause harm to the cornea even with the scratch. She asked me to reduce the ointment to morning and night only (where did I hear that before?) as it’s probably the main cause for the watery/slightly-blurred vision I have, and suggested a dry eye off-the-shelve eye drops to use as often as possible (up to hourly).

So, I went home, opened Visual Studio, made sure I can read and modify code, and emailed my company by myself letting them know the changes, and here I am ready to work, with a plan to visit the eye hospital again next Wednesday.

What I was doing all this time

The first couple of days I was mostly just in bed suffering pain. My wife had to handle all the things I used to handle for our 4 years old son, and our shopping, etc. (thanks!).

After Friday, having expected this to expand to next Weekend in fact, I started considering something to do. Because I was extremely cautious, didn’t let myself in front of any screen even with covered eye, especially that eye covers were touching the eye lid and I took them off more often, I only got one podcast on my mobile, and kept listening to it all week.

The Entreprogrammers Podcast

The podcast deserves its own post. For now lets say I had about 14 episodes of 1-2 hour long podcast to listen to. I didn’t have any podcast setup at that time, and the default player didn’t always sync the last listened-to position. I listened to duplicated parts, sometimes because I was afraid of finishing the podcast and not finding anything to do, and something because I keep thinking about other things, like my eyes.

The funny thing about that is that after fearing to run out of episodes, I now listened only to 10, and need to catch up with the rest 4 and find room for it in my busy routine, not to mention the amount of personal and work email I need to check, catching up with the project I was working on before this happened, and catching up with other channels I used to follow. Fun stuff!

The Good Parts

O.K., as it’s hopefully close to an end, I can have a better look back, and tell that it wasn’t all too bad. There were some good benefits as well:

  • I got to take a week off. I rarely take any. Mostly I just take the Christmas break as often a mandatory leave for our clients.
  • I got to spend more time with my 4yo son. This is something I always feel guilty about whenever I’m sitting at my laptop at home, even when maybe I shouldn’t. There’s no “enough” time for spending with your son, and there are always tons of competing priorities

  • I didn’t drink coffee for a week. For some reason I thought I won’t benefit from even a tiny pressure increase or awake nerves. I wasn’t doing much anyway. I kept it coffee-free. This is very good for the heavy coffee drinker like myself, and it’s something that I read people only do when they are on leave

  • I think the podcast has got me to think differently about how I want to tackle personal branding and related profitable activities. I’m not too horrible at personal branding (although I can do tons better), but I suck at getting to any other profitable activity other than my full time job. This has to change!

Going forward

Well, I’m still recovering, and have a doctor appointment week, but at least I can resume my usual activities, so …

,