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 …

,

There was a question in a tech facebook group I co-manage about what tools you’d use if starting a new project today.

tools

I don’t know for sure. It depends -of course- is the expected answer. For example, there’s some idea I had I mind I considered using MongoDB or CouchDB for, while still using .NET, and then I wasn’t sure if I go extra mile in DB I’d go for Node or Rails as well or would prefer .NET for my personal productivity. I also often use Node/Bower when checking libraries with many dependencies.

So, for this question, I thought what tools I might use in a company project. Thinking back, I found that most tools I use now are good enough for what they do. So, I thought I’d list these.

These tools are my personal experience though. While some of them are widely adopted in Readify, some others may have been specific to some clients or Readify teams I worked with. Every team is free to choose the tools that work best for them and make it easier to deliver high quality deliverables in sensible time, so, even if you are at Readify, your mileage may vary…

The Tools

Server Side Web

Database

  • SQL Server (or SQL Azure, although I don’t like SQL Azure, because it’s not compatible with some scripts generated from SSMS, which I sometimes use to generate migration scripts)

  • DbUp for DB migrations (there are some other nice options now)

  • Special SQL views + Web API OData + MS Excel for reporting

Client Side Web

  • Angular.JS on the client when I have the choice, Knockout.JS and jQuery UI (being deprecated now) at some big client I keep going back to every few gigs

  • LESS for CSS, or SASS (SCSS) when the CSS is handled by one of our favourite design agencies

  • Chrome devtools for web debugging (obviously), unless it’s IE issue of course.

Mobile

  • Phonegap (most just the open source part of it, Cordova) and Ratchet CSS framework (considering alternatives, like TopCoat) for mobile development, with Angular.JS

  • Considering Xamarin as their work seems to be VERY cool, and I recently get access to their stuff via my company (OT: Also considering Neo4j DB for similar reasons).

IDEs and Text Editors

Testing

CI / ALM

Internal Communication

  • Several kinds of wikis used by different clients, often with OneNote

  • HipChat for team communication, sometimes Skype and/or Lync as well

  • AnswerHub (Stackoverflow clone) for internal questions forum where I can safely quote client sensitive information in my question

  • Yammer for internal company social network

How about you?

What tools do you you use when developing?

Let me know in the comments, via email, or on twitter!

, , , , , , , , , ,