Wednesday, February 27, 2013

Learning to Code Resources

If you want to become a developer, it is easier than ever. There are TONS of resources available. I often wonder, do students really need Computer Science degrees with all the information on the internet?

Awesome Free Resources
Code Year / Code Academy (www.codeyear.com)
MIT (www.MIT.edu)
ITunes University (on your iOS Device)
Khan Academy (www.KhanAcademy.com)
Peer 2 Peer university (www.P2PU.org)
University of the people (http://www.uopeople.org/)

Paid Resources (Sometimes free)
www.PluralSight.com - More microsoft focused, but very good tutorials.
www.TekPub.com - More online tutorials and videos
www.Amazon.com - Books! Books! Books!
www.SafariBooksOnline.com - Safari books online - Some counties in the U,S, offer this for free. (Loudoun County, VA does at least)

Getting Stuck? Your new best friends
www.google.com
www.stackoverflow.com


Thursday, November 8, 2012

Buying a Windows 8 Device

Buying a Windows 8 Device

There are too many devices to look at when it comes to Windows 8. Many with different specs, features, and odd configurations. I was completely overwhelmed by the number of choices, and wanted to share my journey to selecting the right device. Too impatient? The Lenovo Yoga is the best device on the market. Check it out here: http://www.lenovo.com/products/us/laptop/ideapad/yoga/

Don't buy a tablet unless your willing to carry a keyboard.

Being productive is important, that's why we chuck our iPads aside for a real computer. You can't be productive with an onscreen keyboard. Really, don't kid yourself. Windows 8 onscreen keyboard covers up 40%-50% of the screen real estate. Just think about the app experience too, you get a much better app experience when this onscreen keyboard never appears, hence my lean towards the surface and other hybrids.



Touch data entry on tablets only works if you can comfortably hold the device and reach all the keys. I think this is why most people prefer to enter data on the iPad in portrait mode. It's like texting on an iPhone. I'm not saying you can't go into portrait mode on a windows 8 device, but all of the Windows 8 devices are longer and heavier than the iPad (even more so with the iPad mini) which makes it very awkward to enter data.

No touch screen? Think twice... 

You want to get your entertainment value out of your device as well! Without a touch screen, you will end up buying a Kindle Fire or iPad Mini for each member of your family because these devices are great ways for you to consume content. If you buy a Windows 8 device without a touch screen, expect to buy one of these tablets. One of the great things about Windows 8 is that you CAN have multiple logins.

Wouldn't it be nice if you had the best of your smart phone and the best of your PC/MAC? Work hard, Play hard, one device...

A laptop with a touch screen

While I value productivity, there are times when I really don't want a honking keyboard in my way from enjoying a movie or flipping thru photos. The keyboard really gets in the way, and the way the Surface designed their keyboard was brilliant. It is a natural part of the device, not some weird peripheral that is inconvienent.

Battery Life

It needs to last a full 8 hours without a charge with constant use. If I'm crunching code at an app-a-thon, writing an article or in a mean game of angry birds, the last thing I want to worry about is power in this day and age.

Windows RT vs Windows 8 Pro

In my opinion Windows RT is not quite there for developers. Programs that I care about can't live on an RT device yet such as: Remote Desktop, a real version of Office, Visual Studio, SublimeText, Eclipse, Paint.NET, Photoshop, Dropbox, and many more programs simply can't run on Windows RT devices yet.

Devices left on the market after this criteria

Acer's Iconia W5 - The specs are too weak. 2 GB of RAM these days is too little.

Lenovo Twist - Really have to question the durability of this kind of device. It looks just as fragile as the XPS 12 Convertible.

Dell XPS 12 Convertible - You just know this isn't going to last more than 2 years. It looks fragile in too many ways. I showed my wife, and an immediate WTF? came out and a plea to try again...

Samsung Series 7 Tablet - Keyboard comes off and is not a natural part of the device like the Yoga and Surface pro. It will be lost or too inconvenient.

Microsoft Surface Pro/RT - A truely beautiful device. It's light, it's fast, it's slim, and awkward as hell on your lap. The surface is going to be on the floor if you try to use it this way. So when you want to pump out a few emails while watching your favorite show, plan on doing it from the kitchen table. Writing a paper, typing out a blog entry, etc... It is a fatal flaw in my opinion. (Review based on using the Surface RT device)


Lenovo Yoga - $999 - 4 GB RAM (Upgradeable!!!), 128 GB SSD, Battery life 8 Hours +, 16mm thick, 1.54 kg / 3.4 lbs http://www.lenovo.com/products/us/laptop/ideapad/yoga/. It is comfortable on your lap, unlike the Surface.

The Winner: Lenovo Yoga

Operating System: Windows 8 Pro

Full Touchscreen. Large display at 13.3 inches compared to many others including the surface at 10.6 inches. It just seems too small to be productive.

The keyboard is a natural part of the device. I can go into game/play mode by swinging the keyboard back. I can into productivity mode by swinging the keyboard back around. Lenovo is known for their keyboards and the Yoga's keyboard is no exception.

It is more durable than it's counterparts.

It's thin at .67" of an inch. That's thinner than the Macbook Air at .68"!

Weight: It's light. At 3.4 lbs., that's pretty darn light. Again, the Macbook Air weighs in at 2.96 Lbs, and they don't have a touch screen.

Storage: 128 to 256 GB SSD. Unlike a Macbook, you can swap out the drive.

Long Battery Life: 8 hours vs. Macbook Air's 7 hours

Price: $999. Think of it this way. If you went down the Apple ecosystem, you'd by a Macbook air or Pro @ $1399 - $1700, plus a iPad @ $329 per person. That's $2000+, plus all the expensive peripherals.

Cons: A back-lit keyboard would have been nice.

The small SSD is the only thing to gripe about, but with things like Skydrive, Dropbox, Google Drive, you don't need a a large drive any more. For developers, Virtual machines are the big storage items, and while 128 GB won't last long, you can always upgrade to the 256 GB or bring along a flash drive or portable hard drive to store and run your VM's.

For what you get with this device, it is my top pick by far and procurement worthy.

Other Reviews that were helpful:

http://www.techradar.com/reviews/pc-mac/laptops-portable-pcs/laptops-and-netbooks/lenovo-ideapad-yoga-1094131/review#articleContent

http://www.zdnet.com/lenovo-ideapad-yoga-13-hands-on-flexible-laptop-for-flexible-windows-8-7000006467/





Friday, April 27, 2012

Why Evernote will change your life

About Evernote

"Evernote is a suite of software and services designed for notetaking and archiving. A "note" can be a piece of formatted text, a full webpage or webpage excerpt, a photograph, a voice memo, or a handwritten "ink" note. Notes can also have file attachments. Notes can be sorted into folders, then tagged, annotated, edited, given comments, searched and exported as part of a notebook. Evernote is available in a paid version or a more restricted, advertising-supported, free version. Use of the online server is free up to a certain monthly usage limit, with additional monthly use reserved for paying subscribers." http://en.wikipedia.org/wiki/Evernote

So what the heck do I use this for?

  • Ideas
  • Study Notes on something you're learning
  • Online Receipts, Important emails you want to find quickly
  • Research on something you want to buy
  • Today's accomplishments
  • To-Do Lists
  • Recipes
  • Saving articles directly from the web browser that you want to read later or keep a hold of.
  • Sending emails and other info in folders. For example, receipts that you might need for tax season.
  • Organizing the clutter in your life (Bills, statements, etc...)
A rich text editor exists, attaching files, being able to print, spell check, using your voice to transcribe a note, sharing with others (via email / twitter / facebook) also exist.

Available on Many, Many Platforms

  • Mac
  • Windows
  • iOS
  • Android
  • Windows Mobile
  • Website
  • Chrome
  • Firefox
  • Safari

Organizing Notes in Evernote

Stacks -> Notebooks -> Notes.

Think of stacks as a file cabinet, Notebooks as a folder, Notes as the documents inside the folder. For things that fall between notes and notebooks, tags can be used to find information. Notes are automatically saved and synced.

Syncing and Offline Notebooks

A syncing notebook will be stored in the Evernote cloud AND locally, while an offline notebook will be stored JUST on your local drive. A local drive can also be Dropbox / Google Drive / Microsoft SkyDrive. You could skip the Evernote cloud completely using this approach.

Getting your documents into Evernote

  • A number of printer manufacturers make printers that specialize in scanning and sending documents to your Evernote notebooks.
  • Mobile apps let you take a picture of a document and it will go right to a notebook.
  • Email notes directly to your evernote account. Just use the @NameOfNotebook in subject line and your note will go right to the notebook.
    • This is especially useful for those online orders. If you want to keep track of online receipts, it is useful to send these to your Evernote account.
  • Chrome / Firefox / SafariSave webpages directly into Evernote, by clicking icon and state what type of clip you want(Webpage, section, Url). You can even add all your notes to your search, so you get web results AND your Evernote hits.
    • You send them your receipts, paperwork... They SCAN it in for you and put it into a Evernote notebook.
    • Unlimited storage. $10 / month for simple stuff. More for businesses.

Security

  • You can get your notes out of Evernote and start using OneNote if you decided to do so. You're not locked in to Evernote for the rest of your life.
  • If you want to create local notebooks that do NOT get synced to the cloud, you can do so. You might be concerned about storing documents like SSN cards in Evernote across the cloud. If you're hard drive is secure, then you are too. Local notebooks let you organize your most secure documents locally. 
  • Ability to encrypt text (ctrl + shift + x)

Premium Features

  • $45 / year, $5 / month for 1 GB monthly uploads
  • Collaborative features where you can share notebooks to work on together.
  • Note History
  • Single Note size: 50 MB
  • Additional Pin Lock on iOS / Android apps
  • Hide promotions
  • Take a notebook offline (iOS, Droid)

Hundreds of Add-ons

  • On the Mac or Windows, click on the "Trunk" icon and it will bring up a marketplace of various add-ons from LiveScribe pens to apps that integrate directly with Evernote. When an entire micro-economy has been developed for a product, good things happen. Somebody always has an idea... To take a look at the market, go here:  http://evernote.com/about/trunk/

Mobile Apps

  • Evernote App - Quickly browse and edit notes. Quick way to take a pic or choose one so that you can add to a notebook.
  • Evernote Hello - You get others to take a pic of themselves, and it helps you remember them. All this stored in Evernote. http://www.evernote.com/hello/
  • Evernote Food - Helps you remember meals via pictures, lat/long of restaurant. http://www.evernote.com/food/
  • Evernote Clearly - When reading blogs, articles, it clears out the ads and lets you focus on content. http://www.evernote.com/clearly/
  • Evernote Peek - App that helps you study. When you flip your ipad case up, it shows you a question. http://www.evernote.com/peek/
  • Skitch - You take a picture and annotate it with arrows, boxes, shapes. Store it in evernote.

Web Resources

Wikipedia
http://en.wikipedia.org/wiki/Evernote


Evernote Website

Useful Add-ons
http://thenextweb.com/lifehacks/2011/04/11/10-add-ons-to-make-evernote-even-more-useful/


Using Evernote for maximum efficiency

Is your data safe in Evernote?

Evernote Tips

Evernote Blog

Evernote: The Trunk

Wednesday, September 14, 2011

Capital Area MSFT Conferences

Researching some upcoming local conferences. Have any interesting developer conferences I'm missing for the capital area?

http://www.nofluffjuststuff.com/conference/reston/2011/11/home - Northern Virginia Software Symposium, Nov 4-6.

http://caparea.net/ - .NET User's Group - Tyson's Corner Area
- Brian Noyes - The New UI Development World - Sept. 27, 2011
- Antonio Chagoury - Intro to DNN - Windows Oct. 25, 2011

http://novacodecamp.org/ - Northern VA Code Camp - Reston, VA Oct. 1

http://techgate.cloudapp.net/ - Cloud Computing Conference with a focus on MSFT technologies - Reston, VA Sept. 17th

Friday, July 22, 2011

SQL Server equivalent of TrimStart and TrimEnd

If you ever wanted an equivalent to .NET's String.TrimStart() and TrimEnd for SQL Server, here's two scalar functions that do the same thing.

-- =============================================
-- Author: DOTNETSAM
-- Create date: 07/22/2011
-- Description: Remove starting characters
-- =============================================
CREATE FUNCTION [dbo].[TrimStart]
(
@value VARCHAR(MAX),
@trimval CHAR(10)
)
RETURNS VARCHAR(MAX)
AS
-- TEST CASES
-- select dbo.[TrimStart](',1,2,3,,',',')
-- select dbo.[TrimStart]('1,2,3',',')
-- select dbo.[TrimStart]('1,2,3,',',')
-- select dbo.[TrimStart](',1,,',',')
-- select dbo.[TrimStart](',,1,,,',',')
-- select dbo.[TrimStart](',,1,,,',',,')
BEGIN
DECLARE @ReturnString AS VARCHAR(MAX)

IF(@trimval = LEFT(@value, LEN(@trimval))) --If trimmed val = 1st chars, then trimstart it
SET @ReturnString = SUBSTRING(@value,LEN(@trimval)+1,LEN(@value))
ELSE
SET @ReturnString = @value

RETURN @ReturnString
END

-- =============================================
-- Author: DotNetSam
-- Create date: 07/22/2011
-- Description: Remove ending characters
-- =============================================
CREATE FUNCTION [dbo].[TrimEnd]
(
@value VARCHAR(MAX),
@trimval CHAR(10)
)
RETURNS VARCHAR(MAX)
AS
-- TEST CASES
-- select dbo.[TrimEnd](',1,2,3,,',',')
-- select dbo.[TrimEnd]('1,2,3',',')
-- select dbo.[TrimEnd]('1,2,3,',',')
-- select dbo.[TrimEnd](',1,,',',')
-- select dbo.[TrimEnd](',,1,,,',',')
-- select dbo.[TrimEnd](',,1,,,',',,')
BEGIN
DECLARE @ReturnString AS VARCHAR(MAX)

IF(@trimval = RIGHT(@value, LEN(@trimval))) --If trimmed val = ending chars, then trimend it
SET @ReturnString = SUBSTRING(@value,0,LEN(@value)-LEN(@trimval)+1)
ELSE
SET @ReturnString = @value

RETURN @ReturnString
END

Tuesday, February 1, 2011

15 Reasons why ASP.NET MVC Rocks

Here's my list of why ASP.NET MVC rocks.

1.) Absolute Control over HTML. Any developer from outside ASP.NET webforms response to <asp:label id="lblName" runat="server"> is WTF.
2.) Easier to make your site mobile friendly compared to web forms.
3.) Much easier to incorporate themes from template vendors. Many templates are written in php, and translating PHP into MVC is easy-peasy.
4.) Ability to break away from 3rd party component vendors. There are so many jQuery plug-ins, that you can make a kick ass site without their support.
5.) No Viewstate, much lighter pages!!
6.) jQuery Plugins - Grids, Trees, Dialogs, Accordions, Menues, Splitters, Photo Galleries, Modals, multi-upload, tabs, etc... You also get to leverage what people have done with jQuery in other languages such as PHP, Ruby on Rails, etc...
7.) Razor View Engine is tight. You have to see it to believe it.
8.) No more viewstate black box magic.
9.) Tons of support and available vendors to pick and choose components.
10.) Microsoft's great ORM support. Entity Framework rocks and Lambda expressions get you away from writing tons of SQL. Data Annotations and Validation will save you a ton of time.
11.) Templating / Scaffold support speeds you up significantly. T4
12.) So much easier to TEST!!!! Testing a ASP.NET web forms app is so awkward and often impossible to do without using a integration test suite such as Selenium.
14.) Visual Studio 2010 is a great IDE and C# is an unbelievable language.
15.) The community. Ask a question on StackOverflow and you'll probably have an answer in less than 24 hours.

Yeah, you might cry like Smurfette when you get stuck, but believe me, you will get faster with time. Besides, you didn't pick up ASP.NET Web Forms right away...

Pick up a book, write an example app, and get to know it now.