kernicPanel
22.9K views | +0 today
kernicPanel
JavaScript, Node Js, Git, Vim, and more…
Curated by Nicolas Clerc
Your new post is loading...
Your new post is loading...
Scooped by Nicolas Clerc
Scoop.it!

Basics of the Unix Philosophy

The ‘Unix philosophy’ originated with Ken Thompson's early meditations on how to design a small but capable operating system with a clean service interface. It grew as the Unix culture learned things about how to get maximum leverage out of Thompson's design. It absorbed lessons from many sources along the way.

 

The Unix philosophy is not a formal design method. It wasn't handed down from the high fastnesses of theoretical computer science as a way to produce theoretically perfect software. Nor is it that perennial executive's mirage, some way to magically extract innovative but reliable software on too short a deadline from unmotivated, badly managed, and underpaid programmers.

 

The Unix philosophy (like successful folk traditions in other engineering disciplines) is bottom-up, not top-down. It is pragmatic and grounded in experience. It is not to be found in official methods and standards, but rather in the implicit half-reflexive knowledge, the expertise that the Unix culture transmits. It encourages a sense of proportion and skepticism — and shows both by having a sense of (often subversive) humor.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Understanding JavaScript OOP — Sorella's Basement

Understanding JavaScript OOP — Sorella's Basement | kernicPanel | Scoop.it
JavaScript is an object oriented (OO) language, with its roots in the Self programming language, although it's (sadly) designed to look like Java. This makes the language's really powerful and sweet features stay covered by some pretty ugly and counter-intuitive work-arounds.

One such affected feature is the implementation of prototypical inheritance. The concepts are simple yet flexible and powerful. It makes inheritance and behaviourism first-class citizens, just like functions are first-class in functional-ish languages (JavaScript included).

Fortunately, ECMAScript 5 has gotten plenty of things to move the language in the right way, and it's on those sweet features that this article will expand. I'll also cover the drawbacks of JavaScript's design, and do a little comparison with the classical model here and there, where those would highlight the advantages or disadvantages of the language's implementation of prototypical OO.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

jswiki

jswiki - JavaScript wiki. Focuses mainly on JS/HTML5/WebGL related tech.

This wiki indexes libraries and resources available for JavaScript. In addition it provides some starting points for newbies in form of Beginner's Resources. In case you want to contribute, do take a look at Meta first for some extra pointers. Happy hacking!

In addition to this site, you might want to check out jsgamewiki, Microjs, EveryJS and JSPkg to find more libraries.

The following lists contain main categories of this site (sorted roughly based on page quality):

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Ben Alman » Partial Application in JavaScript

Unless you've used another functional programming language such as ML or Haskell, concepts such as partial application and currying in JavaScript may be foreign to you. That being said, once you understand these concepts, you can put them to use in your own code.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Password Authentication with Mongoose (Part 2): Account Locking

This post is Part 2 (of 2) on implementing secure username/password authentication for your Mongoose User models. In Part 1 we implemented one-way password encryption and verification using bcrypt. Here in Part 2 we'll discuss how to prevent brute-force attacks by enforcing a maximum number of failed login attempts.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Arduino Vocal Effects Box

Arduino Vocal Effects Box | kernicPanel | Scoop.it

This Arduino-powered vocal effects box pitch shifts and distorts incoming audio signals to produce a wide variety of vocal effects.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Online Python Tutor - Learn programming by visualizing code execution

Online Python Tutor - Learn programming by visualizing code execution | kernicPanel | Scoop.it

Online Python Tutor is a free educational tool that helps students overcome a fundamental barrier to learning programming: understanding what happens as the computer executes each line of a program's source code. Using this tool, a teacher or student can write a Python program directly in the web browser and visualize what the computer is doing step-by-step as it executes the program.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Simple logstash implmentation in nodejs : file log collection, sent with zeromq

Simple logstash implmentation in nodejs : file log collection, sent with zeromq | kernicPanel | Scoop.it

node-logstash is a tool to collect logs on servers. It allow to send its to a central server and to elastic search for indexing.

In top of elastic search, you can use a specialized interface like kibana to dive into your logs.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Introducing Gith - GitHub WebHooks For Node - Bocoup

GitHub offers a great feature called WebHook URLs. You can add a url to take advantage of git’s post-receive hook and get a POST request containing data related to a repository push (e.g., commits, tags, and head-resets). While the data is very detailed and thorough, its complexity and focus on mimicking the git operations make it harder to use. For example, files added are listed per commit instead of a complete array spanning all commits. Also, retreiving if a tag was added requires checking three different properties.

 

When using GitHub payloads to determine your own server behavior, different payload data from GitHub may require different actions to be taken. For example, you wouldn’t need to pull from your master branch and update a website’s content if someone pushed a new branch. But you might want to stage that branch somewhere, which would be a completely different operation.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Moving One Git Repository Into Another | Benjamin R. Peirce

I recently needed to combine several Git repositories into a single one, with each old repo living in a subdirectory of the new repo. I could simply copy the files over manually, importing the contents of each project in a single commit, but I'd lose the commit history of each subproject. After some brief searching, I found this helpful article, which describes how to import the old repos, complete with their commit history, into the new repo.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

DailyJS: Mastering Node Streams: Part 1

Streams are one of the most underused data types in Node. If you’re deep into Node, you’ve probably heard this before. But seeing several new modules pop up that are not taking advantage of streams or using them to their full potential, I feel the need to reiterate it.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Ranu's Blog: RedisStore and rooms with Socket.IO

Here is my base code I used at my startup PeopleRooms, using RedisStore instead of MemoryStore in Socket.IO. So that the application is capable to scale. And the also the "rooms" feature of Socket.io

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

multi-server continuous deployment with fleet

multi-server continuous deployment with fleet | kernicPanel | Scoop.it

Writing applications as a sequence of tiny services that all talk to each other over the network has many upsides, but it can be annoyingly tedious to get all the subsystems up and running.

 

Running a seaport can help with getting all the services to talk to each other, but running the processes is another matter, especially when you have new code to push into production.

 

fleet aims to make it really easy for anyone on your team to push new code from git to an armada of servers and manage all the processes in your stack.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

NodeCellar: Sample Application with Backbone.js, Twitter Bootstrap, Node.js, Express, and MongoDB

In my previous post, I shared my recent experience building a RESTful API with Node.js, MongoDB, and Express.


In this post, I’m sharing the client application that uses that RESTful API. The Node Cellar application allows you to manage (retrieve, create, update, delete) the wines in a wine cellar database.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Storing Passwords Securely

Why "SHA 256-bits enterprise-grade password encryption" is only slightly better than storing passwords in plain text, and better ways to do it.
more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Websockets 101 | Armin Ronacher's Thoughts and Writings

Out of curiosity I taught the Fireteam presence server websockets as a protocol in addition to the proprietary protocol it speaks out of the box. I don't really have a usecase for websocket per-se with the server, but I thought it might make it more useful for customers that want to use the event based parts of the API with HTML5 games. This post focuses on implementing websockets on the server, not so much about how you would use them from the client and basically collects all thing I wish I would have known before.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Node.JS SSL Certificate Chain

I’ve just discovered that one of our servers is not serving up it’s SSL certificate chain correctly. This is fine for modern web browsers who trust the COMODO certificate, but for older browsers/operating systems you need to support higher up the trust chain.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

fabtools - Tools for writing awesome Fabric files

fabtools includes useful functions to help you write your Fabric files.

fabtools makes it easier to manage system users, packages, databases, etc.

fabtools includes a number of low-level actions, as well as a higher level interface called fabtools.require.

Using fabtools.require allows you to use a more declarative style, similar to Chef or Puppet.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

sshfs-node - mount filesystem through ssh

This module helps to mount filesystem through ssh thanks sshfs. It only works with public and private keys, not with password.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

ShellJS - Unix shell commands for Node.js

ShellJS is a portable (Windows included) implementation of Unix shell commands on top of the Node.js API. You can use it to eliminate your shell script's dependency on Unix while still keeping its familiar and powerful commands. You can also install it globally so you can run it from outside Node projects - say goodbye to those gnarly Bash scripts!

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Responsive Web Design Patterns | This Is Responsive

A collection of patterns and modules for responsive designs.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

jQuery Fundamentals :: A guide to the basics of jQuery

jQuery Fundamentals :: A guide to the basics of jQuery | kernicPanel | Scoop.it

jQuery Fundamentals is designed to get you comfortable working through common problems you'll be called upon to solve using jQuery. To get the most out of this site, you'll want to read the content and try the various interactive examples. Each chapter will cover a concept and give you a chance to try example code related to the concept.

We highly recommend using this site with the Chrome browser or another browser that supports modern JavaScript features and includes good developer tools.

more...
No comment yet.
Scooped by Nicolas Clerc
Scoop.it!

Les domaines dans Node.JS, à quoi ça sert ? « naholyr.fr

Les domaines sont l’une des grandes nouveautés de Node.JS 0.8.

J’étais un peu circonspect quand je les ai vus arriver, ayant un peu de mal à comprendre le cas pratique auquel ils répondaient. Puis je suis tombé sur un cas dans la vraie vie Je vais vous le partager en version simplifiée, et on va voir comment le corriger à l’aide des domaines.

more...
No comment yet.