Click on a bunny! (should, but does not work on Chrome or Safari)
I took a Color class a long time ago but it is of course worth revisiting. Color Theory is the link to my page of references.
"Although color theory principles first appeared in the writings of Leone Battista Alberti (c.1435) and the notebooks of Leonardo da Vinci (c.1490), a tradition of "colory theory" began in the 18th century, initially within a partisan controversy around Isaac Newton's theory of color (Opticks, 1704) and the nature of so-called primary colors. From there it developed as an independent artistic tradition with only superficial reference to colorimetry and vision science. - Wikipedia
... but the reason these pages are currently so colorful is because,
when first deployed, they were pale gray and tan
and a friend said
it was "BORING"...
In April, never having learned very much HTML and CSS, I started with the exercises in
HTML Dog Tutorials
for HMTL and CSS.
My very first practice files and notes are here.
Having installed
Python 2.7,
Powershell and Cygwin on my PC,
I began working through the exercises in
Learn Python The Hard Way
and fnished
exercise 21
Functions Can Return Something.
I then turned my attention to learning other things
and haven't revisited to continue through exercise 52
Mark installed XAMPP 1.8.0 for Linux and Windows, on my laptop. An "open source cross platform webserver solution stack package", it includes:
It will be a while before I have anything of my own to add to Open Source,
but Mark pointed out that I might find an ongoing project to which I could contribute.
I created a GitHub account with username "brokenpipe".
He insisted it "has to be" a "clever" name.
An article on opensource.com posted on May 12, points one of the overlooked advantages
to get involved with Open Source:
a resume boost .
That night, May 12, I installed Selenium, and read the documentation on May 19 and 22 - yes, I spent my birthday reading about a browser test automation framework. My intention was to learn by using it to test the complicated web application for a friend's startup, Timecrunch, as well as tesing my own website.
Notepad++ has not been savings font settings. Mark found that the one "everyone" seems to think is "awesome" is Sublime Text 2
I downloaded and installed it but have not used it much: it is rather elaborate may well be an afternoon project to learn all that one can do with it.
On July 4, I decided that although I have nothing to 'show' yet, I should just decide which hosting service to use and make a website. I turned my attention to Google App Engine and installed Google App Engine SDK (Software Development Kit) for Python. It took a while to figure out how to configure "app.yaml" to use static files and then a bit longer to find out how to get the index.html, which worked locally, to work after deployment rather than the main.py. Finally, on July 16 .. here it is...
At the PyLadie's Build your own Blog: Python/Django Workshop, we translated the example for building a project in the Django Project Tutorial from the the creation of a basic poll application, to a blog application, with an admin site that allows the the writing of posts and comments. I got through parts 1 and 2 (of 4) of the tutorial, ending with a functioning admin page, beyond which are the sections on models, templates and forms and a slew of "other batteries included".
Using Google App Engine, Building Web Applications
covers the use of Python, JQuery, Javascript, Ajax and Django with Google App Engine.
Perfect, I thought.
I didn't want to buy it - the pub date was 2009 - and happily placed it on hold at the library.
This practice website, such as it is, is fine on Google App Engine.
For my Django blog, however, I should've used
Heroku to begin with.
The Django guys said that even if one can get it working with Google App Engine,
it isn't really Django.
It is the fact that I wasted at least two whole
days that is bothersome, especially since I see that Heroku, which works with
git,
- which I have yet to learn -
is rather elaborate, and will also take a few days to master.
The blog itself - an exercise,
but one I'll be able to use- is far more work:
the Django Template Language and
Template Engine at the very least, as well as the Model System,
Forms and Frameworks.
Beyond the Django part, of course, and the simple fact of deployment,
is the database.
Heroku uses
PostgreSQL,
"..a powerful, open source object-relational database system, which has
more than 15 years of active development and a proven architecture
that has earned it a strong reputation for reliability, data integrity,
and correctness."
Another learning adventure coming up.
In mid-July, I intensified my effort to learn more
HTML5 and
CSS3.
See my practice pages.
There are seemingly endless free resources on the web.
In addition to websites with tutorials such as the excellent:
I also signed up for CSS Weekly's newsletter and joined Linkedin groups, CSS Discussions, Tools and Examples and CSS3/HTML5 The Future of Front End.
"HTML5 is the set of technology standards that support the next phase in the development of the Web. From its beginning, Mozilla has championed Web standards to ensure freedom of choice for those who use the Web and independence for those who build it. Leaders from Mozilla helped start the evolution of HTML and related standards that is now known as HTML5, and Mozilla continues to lead in both defining and implementing these standards.
The term "HTML5" has been applied to many things**, creating confusion about exactly what it is and what it can do. Rather than split hairs, we use "and friends" to encompass all the "new, exciting Web technologies" that will enable the next wave of Web-based innovation."
** In addition to HTML/HTML5,this includes CSS, HTML5 Audio and Video Canvas, WebSockets, HTML5 App Cache,
File API, Geolocation API, Local Storage, and the experimental technology Indexed Database.
HTML5 and Friends - The Web as Platform is a presentation given at the Mobile World Congress 2012 in Barcelona,
I've read about each of these but have not tried to do anything with them yet.
A free-for-download book, with the catchy title
HTML5 Tests the Limits of Testing
appears to be a white paper for an expensive product called
TestComplete - Automated Testing by a company called
SmartBear.
It might be worth a quick read-through to see what
issues they are addressing.
A few other useful websites for designers and web developers are .....
Mark found HTML5 Boilerplate.
Soon after, he went to a SF HTML5
meetup talk (available online)
by
Jonathan Verrecchia,
the author of an HTML5 Template Generator,
"Initializer".
I downloaded both.
Firebug integrates with Firefox "to put a wealth of development tools at your fingertips ... You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page..."
HTML Validator is a Mozilla extension that adds HTML/5 validation inside Firefox and Mozilla. Along with Firebug, it is VERY useful.
CSS Lint points out problems with your CSS code. It does basic syntax checking as well as applying a set of rules to the code that look for problematic patterns or signs of inefficiency.
Not all browsers support all of the new CSS3 and HTML5; in some cases,
they require vendor-specific prefixes,
-ms for IE, -o for Opera, and -webkit for
Chrome and Safari. Device-specificity is a whole-nother endeavor.
I haven't even tried CSS3's Media Queries yet.
An article in Oct 2011 - Smashing magazine describes -prefix-free on github which might be worth trying.
(Responsive Web Design (RWD) is an approach to web design in which a site is crafted to provide an optimal viewing experience -easy reading and navigation with a minimum of resizing, panning, and scrolling-across a wide range of devices (from desktop computer monitors to mobile phones) .. which uses CSS3 media queries).
NOTE: for example, see the presentation of this website on a laptop and on a table.
Mark again mentioned
Zurb's
Foundation 3,
as very useful tool and therefore a "must learn":
"Foundation 3 is a front-end framework built with
Sass, the powerful CSS
preprocessor (or, CSS metalanguage), which allows us to much more quickly develop Foundation itself -
and gives you new tools to quickly customize and build on top of Foundation."
The selling point is the "multidevice mobility".
On Sept 9, I downloaded the basic
Foundation CSS and installed it below my current files
to keep it separate.
See my new practice page.
Adobe Shadow has been susperceded by Inspect one of the new free Adobe Edge Tools.
...but I needed to turn my attention away from the Django blog and the new endeavors of
Heroku and PostgreSQL and get back to learning the javascript.
To make my drop-down menus work, Mark suggested reading the section on event objects in
Javascript Programmer's Reference Manual
... but a reference book is just that, a reference book.
There are a number of good free online tutorials to get started learning Javascript.
I spent three days with
Mozilla Developer Network ,
and Tizag,
and then took a look at
Codecademy,
which has a web based code editor. (See a
review
by O'Reilly's Scott Gray)
Another tool to learn! - nodejs - an "event-driven I/O server-side JavaScript environment based on Google's V8 Javascript Engine for Chrome
Mark pointed out that it is time for me to use NetBeans because it will
make my efforts so much easier.
"The NetBeans JavaScript editor provides extended support for JavaScript,
Ajax, and CSS.
Javascript editor features comprise - syntax highlighting,
refactoring, code completion
for native objects and functions, generation of JavaScript class skeletons,
generation of Ajax callbacks from a template; and automatic browser
compatibility checks.
CSS editor features comprise - code completion for styles names,
quick navigation through
the navigator panel, displaying the CSS rule declaration in a List View
and file structure in a Tree View, sorting the outline view by name, type
or declaration order (List & Tree), creating rule declarations (Tree only),
refactoring a part of a rule name (Tree only).
Yet another tool to learn! -
D3JS (D3 for Data-Driven Documents),
a visualization framework for internet browsers running javascript,
a JavaScript library "for manipulating documents based on data".
I added the reference link to my files and there are tutorials on github.
Although it looks fascinating, it is not going to become an immediate pursuit.
Time to turn
my attention
back to to learning Selenium.
The website
eviltester.com, the author of
Selenium Simplified (Feb 2012)
looks like a good central source of references for getting started.
( A free electronic copy of the 2010 version of his book is available from
online-selenium-trainings.webs.com, but I see that it is
"A tutorial guide to using the Selenium API in Java with the
JUnit framework,
neither of which I'm endeavoring to learn.)
The new edition of another that he recommends, by David Burns,
Selenium 2 Testing Tools: Beginner's Guide will be available Oct 19.
Amazon's bio states that David is "a Lead Software Engineer in Test at Mozilla ...
also a core developer on the Selenium project maintaining the
Python bindings and helping work on the Firefox
components of Selenium. He is a keen developer and tester loving to automate anything
and everything he comes across."
The very first step, is simply to learn to the
Selenium IDE before attempting Selenium2. I did download and try this a
few months ago.
I see too that there is a test management system for Selenium called Bromine (created by Camtasia Studio). It looks like it was developed to be used with RC (Selenium1) rather than Webdriver (Selenium 2), but I can't see if it has been updated, and so will take a bit more investigation.
NetworkX, is a Python language software package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. . This will not be a near-future pursuit.
As of 10/9/2012:
Web Platform Docs is
"a new community-driven site that aims
to become a comprehensive and authoritative source for web developer documentation.
Even though it is still in alpha,
you can already find lots of valuable content on the site, including information on:
In addition to sections for
Concepts,
Accessiblity,
HTML,
CSS,
Javascript, and
SVG,
To get there faster, we're inviting everyone contribute knowledge..."
it has a section for
Beginners,
which starts with a
History of the Web, and
How the Internet Works
The video introduciton given by Peter Lubbers on Oct 9 is avaialable at
Introducing Web Platform Docs
After hearing a Lightning Talk called "Develop Your Voice", at a
Women Who Code meetup, by a young woman who, after reading many books on subject
of men and women communicating, has concluded that developing one's "voice" and
learning to project it, is most important.
I compiled my own short list of books on this subject
Women and Voice
in Science and Technology, which continues to grow ...
I missed both PyLadies' meetups on git:
Get Good With Git: Intro to Git Workshop and
Get Good with Git, Again! but I did download
Git,
the open source version control system, and the book
Pro Git, which is
free from Amazon.
All attendees of HTML5 Doris Chen's Education Day were given a choice of a free O'Reilly Ebook. I chose HTML5 Architecture: Building Apps for the Open Web, Early Release
Mark's copy of Javascript Programmer's Reference Manual has been around the house for several years. we call it the "Bad Haircut Guy" book. I used to place a post-it on the cover over Axel White's image to avoid looking at his hair. I now have a free electronic copy and Mark's copy is in the bookshelf.
At Confident Coding II, I won a paper copy of Eloquent Javascript , which I'd already begun to read online.
Mark gave me a copy of another O'Reilly Javascript book, by Nicholas Zakas,
Maintainable Javascript (pdf)
Maintainable Javascript,
... and yet another: the famous and some say decisive, Douglas Crockford's
Javascript, The Good Parts
All attendees of HTML5 Doris Chen's Education Day were given a choice of a free O'Reilly Ebook.
Mark chose the Early Relase of Eric Elliot's
Programming JavaScript Applications: Robust Web Architecture With Node,
HTML5, and Modern JS Libraries
Mark found at the library ...
... and speaking of algorithms...
Beginning Algorithms (Wrox Beginning Guides) by Sam Harris and James Ross
Of course, too, are the books for the Algorithms course:
... free from pythonbooks.revolutionet.com
... also, interactive books, from Runestone Interactive, by Brad Miller and David Ranum
After the first five whole days with Codecademy, I could say it lives up to its growing reputation (see reviews in NYT, TechCrunch, WSJ, TNW)
There are five "Tracks", each of which is over 400 interactive exercises for beginners.Several dozen additional non-track courses are offered. As one review stated, codecademy uses a "gameified" approach, with points - one per exercise completed (I now have 668) that accumulate per day and overall, and achievement badges (I now have 48) such as:
2012 is the year of a new kind of FREE online education:
Coursera,
which began at Stanford, and now includes 15 other top universities (Princeton,
CalTech, Duke, Johns Hopkins, Michigan, Penn, Edinburgh .. ).See the
website for al list of
reviews and articles.
Udacity, started by Stanford professor
Sebastian Thrun,
and now,
EdX,
founded by Harvard and MIT and joined by Berkeley.
(See
Harvard and MIT Launch Virtual Learning Initiative EdX
and
One Course, 150,000 Students).
Coursera offers certificates of completion. EdX announced in Sept that it will offer
proctored exam testing through
PearsonVue
for which there is at least one test center in CA.
There is a Facebook group with over 500 members,
CompScisters, for women students Udacity, Coursera, and MITx
There is also Khan Academy, to which I've paid little attention One Man, One Computer, 10 Million Students - How Khan Academy is Reinventing Education
From the bit I've read and been told, the for-women program at
Hackbright Academy is quite good:
It does cose $7500 ($6000 if paid up-front) and is full time, 10a-6p for 10 weeks, near
the 24th/Mission Bart Station in SF
(46 min train ride, $10.20 round trip-
so would be would be an additional $510 for me)
One must apply and be accepted. They are currently accepting applications for Spring 2013.
Somehow, I overlooked and missed the July 26 PyLadies@Hackbright Hack Night (30 attended)