• Shortcuts : 'n' next unread feed - 'p' previous unread feed • Styles : 1 2

» Publishers, Monetize your RSS feeds with FeedShow:  More infos  (Show/Hide Ads)


Date: Tuesday, 24 Jan 2012 18:29

Web development news for the 3rd week of 2012:

JavaScript

JavaScript Weekly, Issue #62 - January 20th, 2012

The V8 Myth: Why JavaScript is not a Worthy Competitor, JavaScript Design Patterns: Decorators, Simplicity and JavaScript Modules, …

HTML 5

HTML 5 Weekly, Issue #21 - January 18th, 2011

(Better) Tabs with Round Out Borders using CSS3, The Lowdown on :Before and :After in CSS, The CSS3 Click Chart, …

Browsers

Christian Heilmann wrote an interesting article about some real world browser stats.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Sunday, 22 Jan 2012 05:51

Have you ever committed code to your Git repository, and then realized that you forgot something or there was an error in your code? Wish there was an easy way to amend your commit with the fix? What about if you've already pushed your code or made several commits?

If you run a strong test suite, and commit before running the whole test, this probably happens regularly (at least it does for me). Usually each fix you make will require a separate commit until the test suite passes. While there is nothing wrong with many small commits, sometimes it is helpful to squash many commits into one complete commit, especially when hooking project management software into your Git commits. This article discusses a technique used to squash multiple commits in branch (even master) into a single commit. Next week we will discuss another approach to this problem where you start in a branch and squash when you merge the branch into master.

Getting ready

You will need Git install on your machine and GitX is also useful for visualizing the Git commit tree.

How to do it...

In the simplest situation, where you have just committed and now need to amend that commit:

git add .
git commit --amend

If you have 2 or more previous commits that you want to squash, then read on. The follow steps discuss how to squash multiple commits.

The following command will list the previous commit(s) (change -1 to -N, where N is the number of previous commits to see). However, it is much easier to see commit using a tool like GitX.

git log -1 --sparse

Running the previous command will output something like:

commit a8e3d75acc974a76bc7aafb43b392a69ab1bab57
Author: Matthew Snider 
Date:   Thu Jan 19 14:05:55 2012 -0800

    [#23700817] COMMIT MESSAGE B

commit 7c44b35795b03426861963ad8cc9f5bd1898d901
Author: Matthew Snider 
Date:   Thu Jan 19 14:44:01 2012 -0800

    [#23700817] COMMIT MESSAGE A

Grab the SHA-1 of your latest commit (we'll call this B, a8e3d75acc974a76bc7aafb43b392a69ab1bab57), and the SHA-1 of the previous commit that you want to squash into (we'll call this A, 7c44b35795b03426861963ad8cc9f5bd1898d901). It doesn't have to be the immediately previous commit, if you want to squash several commits together, but I usually only squash 2 commits together for sanity reasons.

Move the Git back to the lastest commit (B) that we want to squash (detached HEAD, you are in a temp mode now and won't affect master):

git checkout 

Reset the branch pointer to the initial commit (A), but leave the index and working tree intact:

git reset --soft 

Amend the commit (A) on the initial tree using the tree from 'B':

git commit --amend

Get the SHA-1 of the current commit (we'll call this commit C):

git rev-parse HEAD

Go back to the original branch (we assumed master for this example, but this can be done just as easily on a branch as well):

git checkout master

Replay all the commits after B onto the new initial commit:

git rebase --onto  

Push changes to master:

git push origin master

How it works…

The simple solution simply adjustes the previous commit tree to include your most recent changes that you added. It also gives you an opportunity to update the commit message. If you have not added new changes, then the amend command will simply allow you to change your previous commits message.

If you are changing more than the previous commit, these steps cause Git to jump to a forward commit, then move back to a previous commit, without actually updating the tree. Since the changes from the forward commit are still there, you can amend them onto the previous commit, creating a new updated commit containing the first commit and all changes until the forward commit. Once you push to master it will be as if the there was ever only 1 commit.

There's more…

This technique was originally found on the Stack Overflow article git-how-to-squash-the-first-two-commits. The author follows similar steps to those above, but instead of remembering the newly created commit SHA, he tags the commit for referencing and deletes the tag at the end. The questioner was trying to squash their first and second commits ever in master, so this technique can be used to cleanup any part of your Git history. Additionally, if you replace master in the steps above with whatever active branch you are using, then you can use this same techique on your branches.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 17 Jan 2012 16:46

Web development news for the 2nd week of 2012:

JavaScript

JavaScript Weekly, Issue #61 - January 13th, 2012

What You May Not Know About jQuery (in 5 Methods), JavaScript's 'eval' Considered Crazy, Writing Quality Third-Party JS: Part 1 - The First Rule, …

HTML 5

HTML 5 Weekly, Issue #20 - January 11th, 2011

Profiling CSS for fun and profit. Optimization notes, 7 Things Still Missing From CSS, Cut the Rope: A Slick HTML5 Game from Microsoft and ZeptoLab, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 10 Jan 2012 17:20

Web development news for the 1st week of 2012:

JavaScript

JavaScript Weekly, Issue #60 - January 6th, 2012

WebStorm 3.0: A JavaScript IDE from JetBrains, JsFiddle Tips And Tricks, Matador: An MVC Framework for Node (by Dustin Diaz), …

HTML 5

HTML 5 Weekly, Issue #19 - January 4th, 2011

Foundation HTML5 Animation with JavaScript, How Google Ported 'Angry Birds' to HTML5, Implementing Minecraft in WebGL, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 03 Jan 2012 20:23

Sorry to miss my update last week, I was spending time with the family and wasn't able to post. However, 2012 is here and I hope find time to write more substantive articles.

Anyway here is the web development news for the last two weeks of 2011:

JavaScript

JavaScript Weekly, Issue #58 - December 23rd, 2011

Fake Operator Overloading in JavaScript, JavaScript as a First Language class, Your jQuery: Now With 67% Less Suck, …

JavaScript Weekly, Issue #59 - December 30th, 2011

The Rise and Rise of JavaScript, The JS Guide to Objects, Functions, Closures and Scope, 12 Days of CreativeJS, …

HTML 5

HTML 5 Weekly, Issue #18 - December 21st, 2011

The Smallest Possible Valid (X)HTML Documents, The HTML5 'output' Element, Internet Explorer to Get Automatic Upgrades across XP, Vista and Windows 7, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 20 Dec 2011 16:53

Web development news for the 50th week of 2011:

JavaScript

JavaScript Weekly, Issue #57 - December 16th, 2011

SOLID JavaScript: The Single Responsibility Principle, A Case Against Using CoffeeScript, JSPkg: A New Place to Host JavaScript Packages, …

PPK discusses the state of static positioning in mobile browsers: Position Fixed.

Nicholas Zakas discusses timer resolution in browsers. He's discussed this topic before, but is updating us on the present and future of timer resolution.

HTML 5

HTML 5 Weekly, Issue #17 - December 14th, 2011

How to Use Firebug on your iPad and iPhone, HTML5 Scorecard: Amazon Kindle Fire, What I Learned About the Web in 2011: An Experts' Roundup, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 13 Dec 2011 17:48

Web development news for the 49th week of 2011:

JavaScript

JavaScript Weekly, Issue #56 - December 9nd, 2011

What is Happening to the jQuery Plugins Site, Introducing ECMAScript 5.1, Introducing Mozilla's JavaScript Native File Management: OS.File, …

It's time again for the yearly JavaScript Developer Survery.

HTML 5

HTML 5 Weekly, Issue #16 - December 7th, 2011

Top 6 Trends In HTML5 In 2011, Auto-Saving User Input In Your Forms With HTML5 and Sisyphus.js, Let's have a look at some recently landed Web APIs for Firefox, …

Python

I discovered an interesting article on the Yipit blog, where they discuss feature flipping in a continuous deployment Django/Python environment: Getting to Continuous Deployment in Django: Feature Flipping.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 06 Dec 2011 08:04

Web development news for the 48th week of 2011:

JavaScript

JavaScript Weekly, Issue #55 - December 2nd, 2011

JavaScript Libraries Now Used by 50% of Top 1m Web Sites, Principles of Writing Consistent Idiomatic JavaScript, Nondeterministic Turing Machine Simulator in 23 Lines of JavaScript, …

I also found Extending JavaScript Natives by Angus Croll very interesting. It covers a lot of the reasons why we all know not to extend natives in JavaScript, but also mentions a few cases where it might make sense to bend this rule.

HTML 5

HTML 5 Weekly, Issue #15 - November 30th, 2011

Stitches - An HTML5 Sprite Generator, Typography Effects with CSS3 and jQuery, HTML5 Semantics and Good Coding Practices, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 29 Nov 2011 17:40

Web development news for the 47th week of 2011:

JavaScript

JavaScript Weekly, Issue #54 - November 25th, 2011

Felix's Node.js Style Guide, Face Detection jQuery Plugin, Asynchronous UIs - The Future of Web User Interfaces, …

HTML 5

HTML 5 Weekly, Issue #14 - November 23rd, 2011

Adobe Donates Flex to Apache, The Fundamentals, Primitives and History of HTML5, Going Fullscreen with Canvas, …

CSS

If you aren't using SASS to better manage your CSS, then you should check out this article, Getting Started With SASS from A List Apart. I’ve started using SASS for all my projects as it allows for easier cross-browser support and I have to write much less code.

General

Many web companies are opposing SOPA, the A List Apart article, Say No to SOPA, describes why you should oppose SOPA as well.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 22 Nov 2011 06:40

Web development news for the 46th week of 2011:

JavaScript

JavaScript Weekly, Issue #53 - November 18th, 2011

Learn about techniques to build better Third Party JavaScript, understand why or Why Not AMD (Asynchronous Module Definition), BicaVM is a proof of concept Java Virtual Machine, Written in JavaScript, …

HTML 5

HTML 5 Weekly, Issue #13 - November 16th, 2011

Mozilla announces insertAdjacentHTML() Enables Faster HTML Snippet Injection in FireFox 8, Mozilla's Draft 'Web Joystick API' for those of use who want to build better web games, Google Swiffy: Convert Flash SWFs to HTML5, …

Web Development

Another great article by Nicholas Zakas, discussing how to setup multi user apache on an EC2 machine.

General

Sorry, for the date mixup in your RSS readers. I fixed a bunch of titles and in doing say caused most readers to think that it was new content. Anyway, I will try to be more diligent about mistakes like that in the future.

Also, I have been working on rewriting the blog in Python/Django. I expect some small changes over the next couple months. My plan is to continue to be backwards compatible with the current schema, but I will be moving the blog to blog.mattsnider.com with permanent redirects from the root domain.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Thursday, 17 Nov 2011 04:25

Web development news for the 45th week of 2011:

JavaScript

JavaScript Weekly, Issue #52 - November 11th, 2011

Adobe Turns Away from Mobile Flash to Focus on HTML5, Michael Woloszynowicz explains why You Don't Know JavaScript, Microsoft and Joyent Deliver 'First Stable Build' of Node.js on Windows, …

HTML 5

HTML 5 Weekly, Issue #12 - November 7, 2011

After Developer Backlash, HTML5 Gets Its 'Time' Element Back, CSS3 Secrets: 10 Things You Might Not Know About CSS3, Will HTML5 Replace Native Apps? Here's How to Figure Out When, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Wednesday, 09 Nov 2011 17:26

Web development news for the 44th week of 2011:

JavaScript

JavaScript Weekly, Issue #51 - November 4th, 2011

Examples for making your JavaScript more terse, an explaination of the WebKit JavaScript implementation, a fun tool to pimp your JavaScript, …

Part of the 1.7 jQuery released last week is the beginning of project to slim down the project by removing unused, confusing, or bulky features from the project's core. Hopefully, some of those features will live as plugins, but it may not be necessary. Anyway, the original article by jQuery is building a slimmer jQuery.

For those of us who have ever tried to build expanding textareas, you will know how quirky it can be. Neil Jenkins attempts to explain how to make expanding text areas elegantly in his A List Apart article.

HTML 5

HTML 5 Weekly, Issue #11 - November 2, 2011

Say goodbye to the <time> and hello to the <data> element, description of Mozilla's efforts to make it's JavaScript engine (SpiderMonkey) use less memory, how to implement a 3D engine in HTML5, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Wednesday, 09 Nov 2011 17:26

Web development news for the 44th week of 2011:

JavaScript

JavaScript Weekly, Issue #51 - November 4th, 2011

Examples for making your JavaScript more terse, an explaination of the WebKit JavaScript implementation, a fun tool to pimp your JavaScript, …

Part of the 1.7 jQuery released last week is the beginning of project to slim down the project by removing unused, confusing, or bulky features from the project's core. Hopefully, some of those features will live as plugins, but it may not be necessary. Anyway, the original article by jQuery is building a slimmer jQuery.

For those of us who have ever tried to build expanding textareas, you will know how quirky it can be. Neil Jenkins attempts to explain how to make expanding text areas elegantly in his A List Apart article.

HTML 5

HTML 5 Weekly, Issue #11 - November 2, 2011

Say goodbye to the <time> and hello to the <data> element, description of Mozilla's efforts to make it's JavaScript engine (SpiderMonkey) use less memory, how to implement a 3D engine in HTML5, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Saturday, 05 Nov 2011 21:13

This article finishes the series on building a continuous deployment environment using Python and Django.

If you have been following along, hopefully you're already on your way to building a continuous deployment environment. The final touch is to setup a deployment and monitoring strategy. You can use a variety of services for this, such as Hudson, Continuum, CruiseControl, etc. At Votizen.com we decided to use CruiseControl, but regardless of the service used, it should manage your deployment process, complain loudly when deployment fails, and regularly monitor the health of your servers.

Getting ready

This article will discuss how I setup CruiseControl (CC) at Votizen. CC will require JAVA 1.6, so make sure you have it installed before you start. Begin by installing CC from http://cruisecontrol.sourceforge.net/ (this example will install it to your home directory, but it can be installed whereever you like it):

cd ~
wget DIRECT_LINK_HERE  cruisecontrol-bin-2.8.4.zip
unzip cruisecontrol*.zip
rm cruisecontrol*.zip
ln -s ~/cruisecontrol-bin-2.8.4 ~/cruisecontrol

CC has really good remote monitoring for CSV and SVN, but for GIT it requires a local clone of a repository to monitor for chanages. Clone your repository into the CC projects directory:

cd ~/cruisecontrol/projects/
git clone {YOUR_REPOSITORY_HERE}

Use whatever service manager you like. If you like init.d, here is the script Votizen uses CruiseControl Init.d. Put it in /etc/init.d/:

sudo cp {PATH_TO_SCRIPT} /etc/init.d/cruisecontrol
sudo chmod a+x /etc/init.d/cruisecontrol

Lastly, if 'java' on your machine doesn't point to JAVA 1.6, then replace java $CC_OPTS with {PATH_TO_JAVA}/java $CC_OPTS in ~/cruisecontrol/cruisecontrol.sh. Now, you can start, stop, and restart CC with the installed init.d command:

sudo /etc/init.d/cruisecontrol start
sudo /etc/init.d/cruisecontrol stop
sudo /etc/init.d/cruisecontrol restart

How to do it…

Once you have the CC environment setup, you need to configure it for your projet. Here is a sample configuration ~/cruisecontrol/config.xml:

<cruisecontrol>
    <property name="buildmaster.email" value="{YOUR_EMAIL}"/>
    <property name="buildmaster.name" value="{YOUR_NAME}"/>
    <property name="buildmaster.returnaddress" value="{YOUR_EMAIL}"/>
    
    <property name="mail.host" value="{YOUR_HOST_NAME}"/>
    <property name="mail.name" value="{YOUR_USER_NAME}"/>
    <property name="mail.pass" value="{YOUR_PASSWORD}"/>

	<property name="pathToProject" value="projects/{YOUR_REPO_NAME}" />

	<project name="{PROJECT_NAME}" buildafterfailed="false">

		<property name="run_scripts" value="${pathToProject}/cruisecontrol/{PROJECT_NAME}.xml"/>

		 <listeners>
			<currentbuildstatuslistener file="logs/${project.name}/buildstatus.txt"/>
		 </listeners>

		<!-- Bootstrappers are run every time the build runs,
			*before* the modification checks -->
		<bootstrappers>
			<antbootstrapper anthome="apache-ant-1.7.0" buildfile="${run_scripts}" target="clean" />
		</bootstrappers>

		<!-- Defines where cruise looks for changes, to decide whether to run the build -->
		<modificationset quietperiod="30">
			<git LocalWorkingCopy="${pathToProject}"/>
		</modificationset>

		<!-- Configures the actual build loop, how often and which build file/target -->
		<schedule interval="300">
			<exec workingdir="${pathToProject}/cruisecontrol/" command="./deploy.sh" timeout="600" />
		</schedule>

		<!-- directory to write build logs to -->
		<log dir="logs/${project.name}"/>

		<!-- Publishers are run *after* a build completes -->
		<publishers>
            <htmlemail returnaddress="${buildmaster.returnaddress}"
                mailhost="${mail.host}"
                username="${mail.name}"
                password="${mail.pass}"
                usessl="True"
                subjectprefix="[CruiseControl]">
                <always address="${buildmaster.email}"/>
				<failure address="${buildmaster.email}"/>
			</htmlemail>
		</publishers>
	</project>

	<project name="monitorStatus" buildafterfailed="true">
		 <listeners>
			<currentbuildstatuslistener file="logs/${project.name}/buildstatus.txt"/>
		 </listeners>

		<!-- Defines where cruise looks for changes, to decide whether to run the build -->
		<modificationset quietperiod="30">
			<alwaysbuild/>
		</modificationset>

		<!-- Configures the actual build loop, how often and which build file/target -->
		<schedule interval="300">
			<exec workingdir="${pathToProject}/cruisecontrol/" command="./monitorServer.sh" timeout="20" />
		</schedule>

		<!-- directory to write build logs to -->
		<log dir="logs/${project.name}"/>

		<!-- Publishers are run *after* a build completes -->
		<publishers>
            <htmlemail returnaddress="${buildmaster.returnaddress}"
                mailhost="${mail.host}"
                username="${mail.name}"
                password="${mail.pass}"
                usessl="True"
                subjectprefix="[CruiseControl]">
                <always address="${buildmaster.email}"/>
				<failure address="${buildmaster.email}"/>
			</htmlemail>
		</publishers>

	</project>

	<project name="pollGit" buildafterfailed="true">
		 <listeners>
			<currentbuildstatuslistener file="logs/${project.name}/buildstatus.txt"/>
		 </listeners>

		<!-- Defines where cruise looks for changes, to decide whether to run the build -->
		<modificationset quietperiod="30">
			<alwaysbuild/>
		</modificationset>

		<!-- Configures the actual build loop, how often and which build file/target -->
		<schedule interval="300">
			<exec workingdir="${pathToProject}/cruisecontrol/" command="./updateGitRepos.sh" timeout="60" />
		</schedule>

		<!-- directory to write build logs to -->
		<log dir="logs/${project.name}"/>

	</project>

</cruisecontrol>

Replace all the {UPPER_CASE} values with your own. The values prefaced with a $ are variables that will be used by CC. In your project's repository create a cruisecontrol/ directory and add the following files:

deploy.sh
monitorServer.sh
updateGitRepos.sh

If any of the shell scripts print to stderr, then CC will treat it as a failure, otherwise it will be considered successful.

Here is a simple monitorServer.sh that executes a fab script for monitoring the web server and related services (assumes there is a fabfile.py with a monitor_server task defined in the root of your repo):

#!/bin/bash
cd ../ && fab prod monitor_server

Here is a simple updateGitRepos.sh that simply updates the clone of your git repo:

#!/bin/bash
cd ../ && git pull origin master

Here is a simple deploy.sh that deploys your project:

#!/bin/bash
cd ../ && fab prod deploy

Make sure all the files have +x permissions.

How it works…

When CC starts it parses the config.xml file and determines the projects to monitor. The modificationset tag determines when the CC project task should execute. Two of the projects in the XML above use the alwaysbuild directive and one the git directive, which points to the local git clone and monitors for changes. The schedule tag indicates the frequency that the modificationset should be evaluated and what to do when the modificationset returns true. The exec comman can be used inside the schedule tag to run a shell script. The publishers tag is used to indicate who should be notified of failures and success. The remaining tags are used internally by CC and shouldn't be modified, unless you know what you are doing.

A complete list of all the tags is available at the Configuration Reference.

The cruisecontrol directory added to the main repo, makes maintaining CC for that project easy and under version control. Additionally, it creates a template that is easy to clone for additional projects. I use fabric to do any real scripting, but you could use bash or any other scripting tool to monitor and deploy servers.

Running CC with this configuration causes CC to do three things every five minutes: pull from the repo to keep the local clone up-to-date, check the local repo for changes and deploy when a change is detected, and execute a script that monitors the servers for errors/problems.

The monitoring strategy Votizen uses is to expose a protected web URL that prints out each service and its status. This task hits that URL and fails if failed appears anywhere on that webpage. Ultimately, you will want to monitor logs for errors, and this task could be improved for that, or you could use another service like sentry.

That wraps up our discussion on using CC to deploy a project. I hope this was not too confusing. Leave comments below, if you have questions.

There's more…

There is a great tool, CCMenu, that is available for most operating systems making the monitoring of CC even easier. I use this exclusively to keep track of status of my servers.

Here are some useful links:

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 01 Nov 2011 15:28

Web development news for the 43rd week of 2011:

JavaScript

JavaScript Weekly, Issue #50 - October 28, 2011

A free performance ebook when you signup for New Relic, David Flanagan on HTML parsing with JavaScript, Douglas Crockford on JavaScript Programming Style and Your Brain, …

HTML 5

HTML 5 Weekly, Issue #10 - October 26, 2011

Kindle Format 8 To Introduce HTML5 Support in E-Books, Opera Adds getUserMedia and Native Pages Support, 10 Essential Differences Between HTML4 and HTML5, What Feature Would Improve the Web? survey results, …

Other

Microsoft explains the best practices way to modify vendor prefixed CSS properties using JavaScript, A Best Practice for Programming with Vendor Prefixes.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 01 Nov 2011 15:28

Web development news for the 43rd week of 2011:

JavaScript

JavaScript Weekly, Issue #50 - October 28, 2011

A free performance ebook when you signup for New Relic, David Flanagan on HTML parsing with JavaScript, Douglas Crockford on JavaScript Programming Style and Your Brain, …

HTML 5

HTML 5 Weekly, Issue #10 - October 26, 2011

Kindle Format 8 To Introduce HTML5 Support in E-Books, Opera Adds getUserMedia and Native Pages Support, 10 Essential Differences Between HTML4 and HTML5, What Feature Would Improve the Web? survey results, …

Other

Microsoft explains the best practices way to modify vendor prefixed CSS properties using JavaScript, A Best Practice for Programming with Vendor Prefixes.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Thursday, 27 Oct 2011 07:19

Web development news for the 42nd week of 2011:

JavaScript

JavaScript Weekly, Issue #49 - October 21, 2011

A new release of JavaScriptMVC, a good screencast for building a backbone driven application, the next version of jQuery is coming soon, …

Nicholas C. Zakas reposts an article originally by Hans Brough, So You Want to Write JavaScript for a Living Repost. The title says it all.

HTML 5

HTML 5 Weekly, Issue #9 - October 19, 2011

Google maps offers a WebGL-powered option, Maximiliano Firtman presents an overview of Safari on iOS 5, best-practices cheat sheet for designing web forms, …

Other

PPK of Quirksmode consolidates public information on Apple's pattern of business cycles. While not web development exactly, I found it to be an interesting read: Apples Cycles.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Thursday, 27 Oct 2011 07:19

Web development news for the 42nd week of 2011:

JavaScript

JavaScript Weekly, Issue #49 - October 21, 2011

A new release of JavaScriptMVC, a good screencast for building a backbone driven application, the next version of jQuery is coming soon, …

Nicholas C. Zakas reposts an article originally by Hans Brough, So You Want to Write JavaScript for a Living Repost. The title says it all.

HTML 5

HTML 5 Weekly, Issue #9 - October 19, 2011

Google maps offers a WebGL-powered option, Maximiliano Firtman presents an overview of Safari on iOS 5, best-practices cheat sheet for designing web forms, …

Other

PPK of Quirksmode consolidates public information on Apple's pattern of business cycles. While not web development exactly, I found it to be an interesting read: Apples Cycles.

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 18 Oct 2011 15:21

Web development news for the 41st week of 2011:

JavaScript

JavaScript Weekly, Issue #48 - October 14, 2011

JavaScript++ is a new language derived from JavaScript (plus a bit more), a special roundup of Dart resources, Isogenic Engine is modern Web-based MMO game engine built in JavaScript and HTML 5, …

HTML 5

HTML 5 Weekly, Issue #8 - October 12, 2011

FireFox has released an android tablet focues version, HTTP Strict Tranport Security (HSTS), Joe Hewitt looks at some tricks with iOS's webkit to improve animation, …

Author: "--"
Send by mail Print  Save  Delicious 
Date: Tuesday, 18 Oct 2011 15:21

Web development news for the 41st week of 2011:

JavaScript

JavaScript Weekly, Issue #48 - October 14, 2011

JavaScript++ is a new language derived from JavaScript (plus a bit more), a special roundup of Dart resources, Isogenic Engine is modern Web-based MMO game engine built in JavaScript and HTML 5, …

HTML 5

HTML 5 Weekly, Issue #8 - October 12, 2011

FireFox has released an android tablet focues version, HTTP Strict Tranport Security (HSTS), Joe Hewitt looks at some tricks with iOS's webkit to improve animation, …

Author: "--"
Send by mail Print  Save  Delicious 
Next page
» You can also retrieve older items : Read
» © All content and copyrights belong to their respective authors.«
» © FeedShow - Online RSS Feeds Reader