More JavaScript Resources

JSON

JSON stands for “JavaScript Object Notation”. It’s something I have been learning a lot about this week. When I made my post about JavaScript is Messy I didn’t understand as much about how messy it is as I do now!1
When I wrote about dot notation and bracket notation last week, I thought they were interchangeable. Actually, they aren’t. There are symbols you can use in your bracket notation that you can’t use in dot notation (and symbols that work that you shouldn’t use anyway!). Jason Ellis has gone over all of this information already and I will link you to his excellent Grok-Interactive blog article about it.

But JSON format, at least for me, helps because it’s very consistent. And the best part is this JSONLint checker. Plug your data into that, and it will show you exactly where your mistakes are in your format, and how to fix them. Thank you Udacity for pointing me to that resource!

Here are some of the best resources I’ve found this week:

Fear and Loathing’s list of JSON Resources

SquareSpace’s tutorial on JSON and how it works behind the scenes in a blog post.

Copterlabs article on making JSON do work nicely with AJAX. Technically some of the things they talk about in this article are beyond me, but I have a feeling I will need this information later.

Mastering Javascript Arrays 

1Yes I know that was only a week ago.

Happy Mother’s Day

I don’t understand Git and GitHub

I have sometimes wanted to throw the computer across the room when trying to figure out Git, but I found some good tutorials! I’ll put the links at the bottom of this post. Not only did I find helpful tutorials, but I want to put some of what I learned about the Git commands into “non technical terms”.

Git is used to help you organize backup copies of your program. Every time you commit a copy of what you are working on, it is like saving a copy of your document/project. Typically you do this every time you’ve added something or worked on something. All the previous saved versions of your project (or whole program directory, called a repository,) still exist, and you don’t  have to keep making incremental file names the way I usually do. And before you save your file, you can look at the differences you’ve made since the last time you saved. Status will check to see  which files are staged to be saved (commit).

I end up with a big directory full of confusingly-named copies like HorseFridayA.PSD, HorseFridayB.PSD, HorseFridayB2.PSD as I am working on an Adobe Photoshop file, for example. But with Git, your current save contains a log of all the changed versions you’ve made in the past! So if you need to go back and undo something, you have all those undo-states available.

Not only can you see a log of all the changes you’ve made, if you want to go back to a previous version and then “try something different and crazy that may not work” you can clone the project and make a branch. In the branch you can create a second version of your project. Then you can work on that version. And if you end up liking those features and wanting to add them back into the original version, you can merge them back together. Handy!

But another major reason people use Git is this: when you upload your project repository to GitHub other people on your team can make changes and work on the documents at the same time you are in them. Then you can update and merge them all back together. Git will warn you if you have made conflicting changes, and you can resolve them before you merge. And you can see the differences between what you did to your copy of the file, and the other team member did.

You can even use GitHub to fork and make a copy of another person’s code repository and alter it to do the things you’d like it to do. You can pull that copy down to your local computer, make changes and push it back.

So Git and GitHub are powerful and useful, once you know what they are for! I still don’t exactly understand why the command line is favored over a graphical interface, but it is, and “they” say you will find it great after you get used to it.

 Ok, now for the tutorial links. These are some I found especially clear and easy to follow:

Making the command prompt easier to use:

Twine and Flex

As I work through the Udacity classes on front end web development, I’ve been discovering some pretty good resources on “Flexbox”, a very handy way to make text move around your web page in easily predictable ways that allow your designs to adapt to different sized screens (laptop, tablet, phone).
Here are some of my favorite links. They may help you as well:

In addition to that, I’ve been reading a great book from No Starch Press called “JavaScript for Kids” by Nick Morgan. I have also been looking around at a free, html-based interactive fiction (IF) language/platform called Twine. So I made a little (very basic) tutorial on JavaScript using Twine. JavaScript is Fun.

I had some programming issues making even this tiny script, because I started reading a tutorial on Twine 1.4 and then realized that it has moved to Twine 2.0.x, and changed the syntax. Now, I discovered, you can choose 3 formats for your markup. I chose one called SugarCube because the syntax made the most sense to me (other options are Harlowe and Snowman).

Twine is great fun because it lets you create a branching story in a graphical way; when you link two passages you actually see the link. Then it lets you leverage all the CSS and HTML and scripting language tricks you know to add functionality and cleverness and even more interactivity, images, even animated gifs. And you can test and debug it all before you make it live. Twine publishes its games as a self contained html page using a wiki format called Tiddlywiki. This makes them extremely quick to load and run in a browser.

Of course, having a good story is the crucial part.

Online Learning Tools (Part 4)

I’ve showed you some of my favorite tutorial sites. Now I’m going to briefly describe some of my favorite tutorial podcasts. I love podcasts. I listen to them on my long commute, and sometimes while I’m at work. I sometimes embarrass myself by starting half my conversations with “I was listening to a podcast and someone said…”  Here are some of the ones I have found truly inspirational:

When looking for podcasts iTunes, I always find a lot that have “podfaded” and aren’t ‘making new episodes. They might be worth looking up, but I didn’t list any. I also avoided podcasts marked “E” for “explicit language”.

Web Development:

Start Here
This is a really wonderful podcast, designed to step you through the process of becoming a web developer. They have homework assignments, too! These guys are sincere about what they teach, and invite feedback.

Build & Launch
A new podcast for 2015, you can easily listen to this from its beginning to its current episode, and I suggest you do! Justin Jackson will make you want to make things! He gets me fired up. For season 1 he had a goal to launch a new project every week. I can’t wait to see what happens in season 2.

Coding 101
I don’t catch this one very often since I can’t watch a video podcast while driving to work, but I do recommend this for anyone who wants actual code examples. Father Robert Ballecer is a good teacher. I’ve watched this on my Roku.

Art:

Chris Oatley’s Artcast/Paper Wings
I have never seen anyone as intense about art as Chris Oatley, except perhaps Jerzy Drozd. These fellows take visual storytelling more seriously than a lot of Christians I know take Christianity, and it blows my mind.  Be prepared to analyze everything and come away realizing you don’t work hard enough! (Chris Oatley’s Artcast and Paper Wings are basically one show with two feeds, but that link will get you all of them.)

Lean Into Art
Jerzy Drozd is a master visual story teller who isn’t afraid to let you see the inner workings of his art, life, studio, and mind. He shows you what it takes to be a full time artist, and what you have to give up for your art. He is sober and personal and sweet and friendly and makes me want to attend his classes. These podcasts sometimes come with art challenges you can post via twitter to get comments and critiques.

Pencil Kings
Mitch Bowler finds a new rising star to interview in each episode, and they are always proof that if you are in the right place at the right time doing the right thing you can create your dream job. Or at least, someone somewhere did. But they never make it look easy!

Additional Resources:

These two I found while researching iTunes to see if there were any other good resources. I haven’t actually listened to them much yet.

<Web>Agency </Podcast>
A Responsive Web Design Podcast

 

Meanwhile at Udacity (Week 2)

So Monday was my first “live” session with the Udacity teachers. First I attended a Google Hangout where they discussed some of the more advanced projects. It didn’t pertain to the project I am currently working on, but it was good to know that this would be available to re-watch when the content was more relevant. They have a great library of videos full of content like this; many other people have asked questions about the same projects I will be tackling. This is really useful stuff (if I remember, and take the time to use it).

After that was the “Coaches, Coffee, Code & More” live session. This one was not on Hangouts, it was on rabb.it and I had a lot of technical difficulties with it. In spite of that, it was a personal voice/video chat session with 3 students and 2 coaches. To me, these are the kind of interactions that are setting me up for success with Udacity. I felt like I had a rocky start because I kept applying to the wrong Google group (and consequently was not accepted). In addition, there were (and are) some other technical difficulties on the Udacity site, which have kept me from really feeling close to my “cohort” of students. But when you can spend live time with the teachers, it helps me realize they want to help you succeed.

I didn’t get to any of the “hard projects” yet. I’m really expecting a challenge, since even these first easy projects are out of my comfort zone! But right now I can’t wait to see what comes next.

Online Learning Tools (Part 3)

I’ve discussed some sites already, but I have to get in just a few more that have helped me and may help you.

Lynda.com
This was the first online learning site I ever chose to throw my hard-earned cash at. It has a fantastic variety of tutorials, the majority of which are overviews of various software packages. It’s a great site, but you won’t get nearly as much out of it if you don’t own the software you are studying. With Lynda you get “all you care to learn” tutorials for one monthly fee. I am of the opinion that I learn better on the Udacity/Udemy sites where you have actual quizzes/projects, not just watching someone else tell you what each button does. I haven’t tried every Lynda course, though. Some may be set up in a more hands-on system, but there is no way to interact with the instructor.

A couple more I haven’t used, but want to mention:
Treehouse.com
SitePoint

On to the “art-oriented” tutorials.

Craftsy
Much like Udemy, Craftsy is primarily a “Pay to learn” site, and offers the same one-on-one interaction in the comments. But, frankly I have found more interaction on this site; people want feedback and critique on their art. I found this to be a friendly learning space, and it has many free classes. It also has coupon codes in your e-mail box almost every day, so think about which e-mail you want those to go to when you make your account.

Pencil Kings
I found this site by accident when searching the web for art resources, and I’m glad I did! It offers a great set of free “delivered to your e-mail inbox” tutorials. For a monthly fee you get access to many more. I haven’t taken the time to go through all of my free tutorials. It seems to focus on solid sketching fundamentals. They are always of a very encouraging tone! I believe you get to interact with the instructors as well.

Chris Oatley
This brilliant artist quit his job at Disney in order to start an online teaching school. He is passionate about teaching, passionate about art, and his classes are real “classes”; you have a lot of one-on-one interaction with the teacher, and get out of it what you put in. I haven’t taken one of his classes, but a close friend did.

Here are some other places to find good art tutorials:
deviantART
Ctrl+Paint
YouTube

Basically anywhere you can search for a tutorial, you will find some. But to improve, you just have to spend time doing the thing no matter what it is!

 

Online Learning Tools (Part 2)

After I wrote that blog post on Online Learning Tools, I realized that I knew there was a site called Udacity that I had never tried. So, in the interest of being thorough, I went there to check it out. Let me tell you, I’m glad I did!

Udacity
Now I hesitated to try Udacity since I was already enjoying Udemy and I thought it would just be “more of the same.” They aren’t the same. Udacity has aspects of Udemy, sure; it has online classes at your own pace. But it has them arranged to form “Nanodegrees“: comprehensive sets of courses, developed by a key set of teachers working together. They aren’t random “this class looks interesting” buffets (which is how I am/was treating Udemy).

In Udemy there are sub-sets of classes within the classes, by “teaching group”. Say, you can group classes by “Infinite Skills” brand, and often they will go on sale that way “all Infinite Skills classes are 20% off with coupon AWESOMECOUPON“. But you could also find Infinite Skills classes at www.infiniteskills.com proper. Udacity, on the other hand, is very focused in what it offers, and who teaches it. I would say “which gives an overall more consistent learning style” but I haven’t actually enrolled in any courses yet. But I’m so convinced that Udacity is quality stuff, I’m about to enroll in the Front End Web Developer Nanodegree when enrollment begins. Wish me luck!

And Many More
Now there are so many more education options out there that I didn’t mention, like Skilledup and Coursera, edX, who knows how many others. I’m just going to add a link to LifeHack’s list of 25 Killer Sites for Free Online Education.

Online Learning Tools (Part 1)

I’ve been learning some new skills, because I need to stay relevant in this job market. I have been a technical editor/writer for years, but suddenly that isn’t “enough” to keep a job. So, looking into other things that interest me and mesh with those skills, I picked web development.

Right now is a fantastic time to be teaching yourself new skills; there are loads of resources online, and here are a few:

W3Schools
This site has been around since 1999 and is constantly being updated with tutorials about, well, just about everything! I use this resource all the time, it’s like a Wikipedia of computer information. W3Schools is full of interactive tutorials that give you immediate feedback about whether you are putting in a line of code right or wrong.

Codecademy
This site is much newer that W3Schools, though it also has interactive tutorials. Codecademy takes learning to the “Gamified” level, by giving you badges for completing tutorials, logging in on consecutive days, and other things that help give you the push you may need to really complete a course. They even have a space to post and show off your projects. (Something like a tiny version of Github.)

Udemy
Now this is more of a “Pay to learn” site. I really like this one too. I have invested quite a bit of money — but don’t let the “$199” price tag scare you; these courses are on sale very frequently. And once you sign up they will often give you coupons for items you have wishlisted. This site gives you close to one-on-one dialogue with your instructor, through comments. I can’t say it’s exactly like being in a classroom, but it really has made me work my way through classes and feel like I have accomplished something by looking on the projects. This site offers more than programming courses, everything from “Logo Designing for your Business in an Hour” to “Everyday Mind Mastery” (whatever that is) . Check it out, some classes are free!

A final note: READ THE REVIEWS.
Each of these sites offers classes taught by pretty much anyone who wants to teach you. You can sign up to teach at the same time you sign up to learn. Check to see which class has more star reviews. Read the “This course is using Bootstrap 2 instead of 3 and should be updated” type comments before you invest money. You’ll be glad you did.

Meta

I am trying to add to this blog, if not every day, a lot more often than I did in December (or else how would anyone even find it?), so pardon me if some topics are kind of weak. While we’re at it, I’m sure it’s wrong and terrible to start a blog with an apology about its contents.

Do you have a blog? And does your blog have a topic? (plug your blog in my comments!) I am afraid this one doesn’t really have a set topic; it’s usually just about something I feel like writing. It’s not quite my LiveJournal (at which I fail) or NaNoWriMo, but I am trying to write more, until it is somewhat a habit. I should see if Mur Lafferty’s I Should Be Writing podcast says anything about how to write engaging blog posts.

I, Rachel Ross, sole author of Glimmerville.com, give you, dear reader, permission to SKIP this blog whenever you want, because I’m pretty bad about reading other people’s blogs. Stick it in your Google Reader or any other convenient RSS aggregator, and if the headline appeals to you by all means read it. But if it doesn’t I promise not to be mad at you for not reading it. There isn’t a single blog out there that I read every entry to.

But I don’t know much about crafting blog entries.

So I thought I’d check out a few lists of tips by people who do.

 

http://www.chrisbrogan.com/40-ways-to-deliver-killer-blog-content/

http://www.jackhumphrey.com/fridaytrafficreport/the-quillo-method-to-creating-killer-blog-content/

http://website101.com/RSS-Blogs-Blogging/blog-writing-tips.html

http://www.dailyblogtips.com/

http://www.instigatorblog.com/5-blog-writing-tips-to-get-more-comments/2006/10/04/

http://whatever.scalzi.com/2006/02/12/writing-tips-for-non-writers-who-dont-want-to-work-at-writing/

http://lorelle.wordpress.com/2007/05/07/best-blog-basket-101-ways-to-create-original-blog-post-content/

Now I’m off to take notes on these myself!
I’m sure this blog post violates all the principles of a good blog.

Also check out this authoring software:
http://www.spacejock.com/yWriter.html