Tuesday, September 27, 2011

rbenv


Simple Ruby Version Management: rbenv

rbenv lets you easily switch between multiple versions of Ruby. It's simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.

rbenv does…

  • Let you change the global Ruby version on a per-user basis.
  • Provide support for per-project Ruby versions.
  • Allow you to override the Ruby version with an environment variable.

In contrast with rvm, rbenv does not…

  • Need to be loaded into your shell. Instead, rbenv's shim approach works by adding a directory to your $PATH.
  • Override shell commands like cd. That's dangerous and error-prone.
  • Have a configuration file. There's nothing to configure except which version of Ruby you want to use.
  • Install Ruby. You can build and install Ruby yourself, or use ruby-build to automate the process.
  • Manage gemsets. Bundler is a better way to manage application dependencies. If you have projects that are not yet using Bundler you can install therbenv-gemset plugin.
  • Require changes to Ruby libraries for compatibility. The simplicity of rbenv means as long as it's in your $PATHnothing else needs to know about it.
  • Prompt you with warnings when you switch to a project. Instead of executing arbitrary code, rbenv reads just the version name from each project. There's nothing to "trust."

Table of Contents

TransformJS

2D and 3D transforms as regular CSS properties you can set using .css() and animate using .animate()

http://transformjs.strobeapp.com/

Tuesday, September 20, 2011

Safari users still susceptible to attacks using fake DigiNotar certs

Safari users still susceptible to attacks using fake DigiNotar certs:

Those using Safari on Mac OS X are still vulnerable to "man-in-the-middle" attacks using fraudulent security certificates that hackers generated from Dutch certificate authority DigiNotar. The problem lies in the way Mac OS X handles a new type of certificate called Extended Validation, or EV certificates. Fortunately, however, there is a relatively easy fix.

DigiNotar had been hacked earlier this week in order to generate hundreds of fake security certificates for numerous websites, including Google, Yahoo, and others. An Iranian hacker appears to have used the certificates for google.com to spy on Iraninan Gmail users' conversations.

Microsoft and Google revoked trust in certificates issued by DigiNotar, and Mozilla issued patches for Firefox and Thunderbird to no longer trust certificates from the company. These changes meant that Chrome, Internet Explorer, and Firefox users would no longer accept secure HTTPS connections from sites using DigiNotar issued certs.

http://arstechnica.com/apple/news/2011/09/safari-users-still-susceptible-to-attacks-using-fake-diginotar-certs.ars

JavaScript Garden

JavaScript Garden is a growing collection of documentation about the most quirky parts of the JavaScript programming language. It gives advice to avoid common mistakes, subtle bugs, as well as performance issues and bad practices that non-expert JavaScript programmers may encounter on their endeavours into the depths of the language.
JavaScript Garden does not aim to teach you JavaScript. Former knowledge of the language is strongly recommended in order to understand the topics covered in this guide. In order to learn the basics of the language, please head over to the excellent guide on the Mozilla Developer Network.

http://bonsaiden.github.com/JavaScript-Garden/

Tuesday, September 13, 2011

Unobtrusive Ruby — giant robots smashing into other giant robots

Unobtrusive Ruby — giant robots smashing into other giant robots:

'via Blog this'

SockJS

WebSocket technology is catching up, but it will take a while before all browsers support it.
In the meantime there are loads of projects that aim to substitute for WebSockets and enable 'realtime' capabilities for web apps. But all attempts solve only a part of the general problem, and there isn't any single solution that works, is scalable and doesn't require special deployment tricks.
Sock
That's why a new project was born: SockJS - yet another WebSocket emulation library, but this time done right.
SockJS has ambitious goals:
  • Simple browser-side and server-side APIs, as close to WebSocket API as possible.
  • Well documented scaling and load balancing techniques.
  • Transports must fully support cross-domain communication.
  • Transports must fall back gracefully in case of restrictive proxies.
  • Connection establishment should be fast.
  • No Flash on the client side, Javascript only.
  • Client-side Javascript must be reasonably well tested.
  • Additionally the server side code should be simple, in order to lower the cost of writing servers for different languages.
 https://github.com/majek/sockjs-client/wiki/%5BArticle%5D-SockJS:-WebSocket-emulation-done-right