Tech
> Mikezenith
As a WebSockets Proxy - NGINX. The WebSocket protocol provides a way of creating web applications that support realtime bi-directional communications between clients and servers. Part of HTML5, WebSockets makes it much easier to develop these types of applications then the methods previously available. Most modern browsers support WebSockets including Firefox, Internet Explorer, Chrome, Safari and Opera and more and more server application frameworks are now supporting WebSockets as well. For enterprise production use, where multiple WebSocket servers are needed for performance and high availability, a load balancing layer that understands the WebSocket protocol is required, and NGINX has supported WebSockets since NGINX 1.3 and can act as a reverse proxy and do load balancing of WebSocket applications.
The WebSocket protocol is different than the HTTP protocol, but the WebSocket handshake is compatible with HTTP, using the HTTP Upgrade facility to upgrade the connection from HTTP to WebSocket. For Debian/Ubuntu:
Rundeck.org - Open Source Workflow Automation. Google Ranking Factors: The Complete List. You might already know that Google uses over 200 ranking factors in their algorithm… But what are they, exactly? Well, you’re in for a treat because I’ve put together a complete list. Some are proven. Some are controversial. Others are SEO nerd speculation. But they’re all here. And I recently updated this entire list for 2022. Let’s dive right in. Domain Factors 1. 2. 3. 4. 5. 6. 7. 8. 9. Page-Level Factors 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
But what they do with that information is up for debate. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. Site-Level Factors 66. 67. 68. 69. 70. 71. 72. 73. 74. According to Google, however, HTTPS only acts as a “tiebreaker“. 75. 76. 77. Google states that: “Google Search uses breadcrumb markup in the body of a web page to categorize the information from the page in search results.” 78. 79. 80. 81. 82. 83. 84. 88. 89. 90.
Ngrok - secure introspectable tunnels to localhost. Edge.js. Run node.js and .NET code in-process An edge connects two nodes This edge connects node.js with .NET Created by Tomasz Janczuk / @tjanczuk (Use space or arrow keys to navigate) Edge.js connects 30k+ npm modules with 11k+ nuget packages JavaScript with C#, F#, Python, and PowerShell loose typing with strong typing IO-bound single threaded with CPU-bound multi-threaded cool with awesome in one process C# welcomes Node.js Call C# async lambda from node.js var edge = require('edge'); var hello = edge.func(function () {}); hello('Node.js', function (error, result) { if (error) throw error; console.log(result); }); see full code c:\projects\edgedemo> node sample.js CSharp welcomes Node.js F# welcomes Node.js Call F# async workflows from node.js var edge = require('edge'); var hello = edge.func('fs', function () {}); hello('Node.js', function (error, result) { if (error) throw error; console.log(result); }); how to F# in node.js c:\projects\edgedemo> node sample.js FSharp welcomes Node.js Python welcomes Node.js.
Phaser - Desktop and Mobile HTML5 game framework. Quintus JavaScript HTML5 Game Engine. A platfomer in ~80 lines of code, you can edit the code on the left. Click to focus, arrow keys to move. more A breakdown of the example is below. Create an HTML file, pull in the Quintus library and setup the engine. Quintus has a modular engine that lets you pull in just the modules you need and can run in multiple instances on a page. <html><head><script src=' var Q = Quintus() .include("Sprites, Scenes, Input, 2D, Touch, UI") .setup() .controls() .touch(); </script></body></html> Quintus supports an event-based, hybrid Object-Oriented and Component-based approach, allowing for both a standard inheritance model with support for reusable components. Quintus let's you easily create reusable scenes that can be swapped in and out by loading them onto stages.
Quintus features easy asset loading, sprite sheet generation.
Dominictarr/through. Dominictarr/scuttlebutt. Myclabs/ACL. Recorder | UserZoom. Record Users’ Screen Interaction,Hear Their Thoughts and See TheirFacial Expressions New video and audio capabilities combined with UserZoom’s quantitative UX metrics enable you to tell a complete story about your users’ experience. Recorder UX Metrics Closing theloop betweenquantitative andqualitative worlds Improve Your Desktop and Mobile Website By watching what users do and hearing why they do it as they try to accomplish tasks, you can find out which part of your website works well orneeds immediate improvement. Observe Participants in Their Natural Environment Participants participate in a study from their own computer or mobile device and in their own environment. Convince Stakeholders Show your stakeholders users’ struggles and unsuccessful experiences on-demand. Simplify Your In-Lab Research Now UserZoom can be used in a lab as well!
Some of the Many Awesome Features Multiple Recording Options Record screen, video and audio; or screen +audio; or screen + video; or screen only. KnpLabs/Gaufrette. Dynatable.js - jQuery plugin for HTML5+JSON interactive tables and more. Creating CSS Animations Using Move.js. CSS3 transitions and animations are currently the preferred method for creating lightweight animations on websites. Unfortunately, many developers find their syntax to be complex and confusing. If this sounds like you, Move.js may be the perfect solution for you. Move.js is a simple JavaScript library that creates CSS3 animations using simple functions. This tutorial explores the basics of Move.js, and provides a live demo of Move in action. The Basics Move.js provides a simplified JavaScript API for creating CSS3 animations. With Move.js we can simply use the set() method to achieve the same results, as shown below. Getting Started First, visit the Move.js GitHub page and download the latest package. We have defined a div element of class box, and a link with the ID playButton that will be used for our demo purpose.
Our HTML page should now look like the following figure. Now, let’s write our first Move.js snippet. The complete code, after adding the Move.js code, is shown below. skew(x, y)
Express-di by luin. Installation npm install --save express-di Usage To get started simply require('express-di') before var app = express(), and this module will monkey-patch Express, allowing you to define "denpendencies" by providing the app.factory() method, after which you can use the "denpendencies" in you routes following the Dependency Injection pattern(DI).
Example In the past, if you want to pass variables between middlewares, you have to tack on properties to req, which seems odd and uncontrollable(that you couldn't point out easily which middleware add what properties to req). After using express-di, you can do this: Define a dependency The app.factory(name, fn) method is used to define a dependency. Arguments name: The name of the dependency.fn: A function that is like a typical express middleware, takes 3 arguments, req, res and next, with a subtle difference that the next function takes 2 arguments: an error(can be null) and the value of the dependency. Default dependencies Cache Where can I use DI? Test. Service Oriented Architectures with Symfony2 — Alessandro Nadalin. Fn.js | A JavaScript library built to encourage a functional programming style & strategy.
Fn.js is an opinionated JavaScript library that pushes you to to adopt strategies that encourage a functional programming style. I do not purport to be a master of functional programming especially as it relates to mathematical concepts, and I do not expect you to be either.
Rather, fn.js provides functionality that you may be used to in Underscore.js or Lodash, but in a way that lends itself to greater self-composability and support of core functional programming tenets. Core Functional Programming Tenets Avoidance of Side Effects The concept of side effects is closely related to the design pattern of the Single Responsibility Principle, or as I like to say: "A function should do one thing, and do it well.
" Referential Transparency In object-oriented or classic programming applications, the flow of code is controlled by creating objects that mimic real-world or virtual beings. Immutability Immutability, or the inability for variables to changes their values once created.
PhpStorm - Top Productivity Hacks and Shortcuts. We all have our favorite IDEs/editors when coding. Mine is PhpStorm, and it took a while to master all its shortcuts and establish a rapid workflow. In this article, I’ll share some keyboard shortcuts and tips with you which you should make part of your regular routine if you, too, do your work in this IDE. This article was partially inspired by this Reddit thread, and will be mentioning and demonstrating some of the shortcuts found there as well. Note that as I’m doing my development on Linux in a vagrant box hosted on Windows, my shortcuts might be different from yours.
Keyboard shortcuts and hacks PhpStorm’s high configurability (it’s almost an “Android” of the PHP IDE world) lets you fine tune it to infinity – you can make it into a tool so personal, it might seem like a different IDE to anyone opening your settings. As described in this tweet, you can now “search everywhere” by double-tapping Shift. Plugins PhpStorm has a wealth of various language plugins. Conclusion. 10 SCSS utilities I can’t live without | Hacking UI Magazine. Every front-end developer needs a battle-tested SCSS arsenal for starting new projects. Here are 10 of the best SCSS utilties I find myself using most often. You can download the entire file to use in your projects from the UtilityBelt Repository on Github. Download “UtilityBelt.scss”UtilityBelt.zip – Downloaded 109 times – 10 kB Triangle Sagi likes to call this the chupchick (don’t ask me why). It’s great for adding a point to tooltips or some extra flair to a component, but can also be used as a standalone icon.
To make this mixin really flexible, it accepts a parameter, which can be any of the four cardinal directions. A descriptive div that uses the triangle mixin to point to something. Currency I wanted to be able to display a currency symbol on any type of text element without breaking the design, but also to be able to switch it easily. Example Usage <body class="USD"><span class="price">45</span></body> .price { @extend %currency; } Example usage Hover over me. Text to ASCII Art Generator (TAAG)
JavaScript Debounce Function. One of the biggest mistakes I see when looking to optimize existing code is the absence of the debounce function. If your web app uses JavaScript to accomplish taxing tasks, a debounce function is essential to ensuring a given task doesn't fire so often that it bricks browser performance. For those of you who don't know what a debounce function does, it limits the rate at which a function can fire.
A quick example: you have a resize listener on the window which does some element dimension calculations and (possibly) repositions a few elements. That isn't a heavy task in itself but being repeatedly fired after numerous resizes will really slow your site down. Why not limit the rate at which the function can fire? Here's the basic JavaScript debounce function (as taken from Underscore.js): function debounce(func, wait, immediate) { var timeout; return function() { var context = this, args = arguments; clearTimeout(timeout); timeout = setTimeout(function() { timeout = null; if (! Older Newer. Packery. Favico.js - Make a use of your favicon. Badges Animate your favicon with animated badges. You can customize type of animation, position, background color and text color. Slide animation Fade animation Pop animation Pop & fade animation Without animation Position Shape setting Custom font support Color settings Images / Video / Webcam Create icon on the go from images, videos or even a webcam stream Regular image to icon var favicon=new Favico(); var image=document.getElementById('imageId'); favicon.image(image); HTML5 Video to icon var favicon=new Favico(); var video=document.getElementById('videoId'); favicon.video(video); //stop favicon.video('stop'); Webcam video to icon This is only for fun but it works :) Works on Chrome, Firefox and Opera var favicon=new Favico(); favicon.webcam(); //stop favicon.webcam('stop'); Badge options Bower bower install favico.js Check out also Tinycon, Notify Better or favicon.js.
Roadmap More options (Badge position, animations,...) License All code is open source and dual licensed under GPL and MIT.
Offline.js – Handle your users losing their internet connection like a pro. What is Offline.js? Offline.js is a library to automatically alert your users when they've lost internet connectivity, like Gmail. It captures AJAX requests which were made while the connection was down, and remakes them when it's back up, so your app reacts perfectly. It has a number of beautiful themes and requires no configuration. Install The easiest way to add Offline to your site is with Eager. Click Install to see a live preview of Offline on your website. Download Offline.js Pick a Theme Indicator Themes Submit a theme! Documentation HubSpot. Ifvisible.js by serkanyersen. Crosbrowser & lightweight way to check if user is looking at the page or interacting with it.
Check out the Demo or read below for code example or Check Annotated Sorce // If page is visible right nowif( ifvisible.now() ){ // Display pop-up openPopUp();} Handle tab switch or browser minimize states ifvisible.on("blur", function(){ // example code here.. animations.pause();}); ifvisible.on("focus", function(){ // resume all animations animations.resume();}); ifvisible.js can handle activity states too, such as being IDLE or ACTIVE on the page ifvisible.on("idle", function(){ // Stop auto updating the live data stream.pause();}); ifvisible.on("wakeup", function(){ // go back updating data stream.resume();}); Default idle duration is 60 seconds but you can change it with setIdleDuration method ifvisible.setIdleDuration(120); // Page will become idle after 120 seconds.
Videoconverter.js - Convert Videos In Your Web Browser. Videoconverter.js is a program that lets you process videos in your browser. View a DemonstrationView a Sample Application or view code on github About [#] Videoconverter.js was originally conceived and implemented for a project in Node Knockout 2013 called Video Funhouse. The idea for the application was to try and convert any video file into another video format, while allowing filters to be applied to the video – all inside of the browser, without uploading anything.
And to build it in a single weekend. This is a huge task, and we knew that existing libraries like FFmpeg would do a great job. Here is a video demonstrating the sample application we made with this library over the weekend: Why? Why would you compile FFmpeg into JavaScript? Who? Most of the grunt work has been done by @bgrins and @aaronm67. How Big is the JavaScript File? The ffmpeg.js file is around 24 MB or so. Should I Use This? Feel free to use this program, but keep in mind the following things: Pontential Uses [#]
Auduno/clmtrackr. Chronon | DVR for Java. Test Double | Our Thinking | The Failures of "Intro to TDD"
Jiko - Documentation. OriDomi - origami for the web. Dbg. Pub-sub with RabbitMQ and WebSocket - Blog - Vanbosse. Announcing Elasticsearch.js For Node.js And The Browser. FasterCGI with HHVM « HipHop Virtual Machine. Jimhigson/oboe.js. C* Summit 2013: Cassandra at Instagram. Phaser - Desktop and Mobile HTML5 game framework. ETeeskiTutorials. TooTallNate/node-weak. Faster Workflow: Mastering Emmet, Part 1. Pineapple · Web Tutorials and Resources That Don't Suck. LearnBoost/kue. Ionic: The Most Advanced HTML5 Mobile App Framework. Automating Front-end Workflow. Www.collinjackson.com/research/xssauditor.pdf. Krakjoe/phpdbg. StickUp - a free jQuery Plugin. Foundation: The Most Advanced Responsive Front-end Framework from ZURB. Odometer — Transition numbers with ease. Free Mercurial and Git Client for Windows and Mac | Atlassian SourceTree.
Salvattore — A jQuery Masonry alternative with CSS-driven configuration.
Kriskowal/es5-shim. Cboden/Ratchet. Rove. Új lap. Apigility by Zend Framework. Game Maker Studio: Shaking Screen Effect. Real-time Customer Analytics - Woopra. API Blueprint. Medianetwork.oracle.com/video/player/2686429206001. Monitorama 2013 - Mike Dewar - D3 Workshop. Monitorama 2013 - Pete Fritchman - Logstash Workshop. Mozilla Labs : TogetherJS. Budapest Agile Meetup: Scrumban az ingatlan.com-nál. Naver / Formstone / Ben Plum. Getting Started | Semantic UI. Jrecog.js. Facebook’s Cassandra paper, annotated and compared to Apache Cassandra 2.0. Nodeschool.io.
Eight Ways You’ve Misconfigured Your A/B Test | Dr. Jason Davis. REST Hooks. Talentbuddy. Www.percona.com/files/presentations/WEBINAR-MySQL-Indexing-Best-Practices.pdf. Meet RegExpBuilder: Verbal Expressions' rich, older cousin. Lolcommits: git+webcam=lulz.
The Open Graph protocol.
DevOps
Frontend, JS. Google I/O 2013 - Cognitive Science and Design. Chapter 4. Branching and Merging. Following Up My Beyond Frameworks Talk. How Google Does It: Using Closure Tools for Large JavaScript Applications.