background preloader

Undercooled

Facebook Twitter

Seamless iframes: The future, today! - UX. The future, today!

Seamless iframes: The future, today! - UX

Best viewed in Chrome version 22 or better (i.e. Chrome Canary) Who invited this guy Ben Vinegar Totally legit lastname Front-end Engineer at Disqus Co-author, Third-party JavaScript @bentlegen Distributed commenting platform Third-party JavaScript application Bloomberg, IGN, Time.com, MLB ... more 500 quadrillion pageviews per day Re-written for 2012 Backbone.js + Ender LESS Uses the Disqus public API (mostly) New: realtime streaming Completely iframed I know what you're thinking Dear god, not another 3D slide deck Iframes, srsly? Iframes are great They're sandboxes Avoid JavaScript conflicts Array.prototype.push = '(╯°□°)╯︵ ┻━┻'; More secure Better privacy for users Iframes are bad seamless attribute Your browser doesn't support seamless iframes. Fantastic. The cold, hard truth Other browsers? You're boned. The plan Two scripts: JavaScript on the parent page JavaScript inside the iframed document Communication: window.postMessage.

JS Obfuscation Using UserAgent String. Here’s an interesting script sent to me by a friend.

JS Obfuscation Using UserAgent String

This script was the first step in the infection chain which redirected the user to an exploit pack. You can see above in the red box that the script uses the browser’s UserAgent string to deobfuscate the script. Each users’ visit resulted in unique Javascript code depending on their UA string which suggests there was an on-the-fly JS obfuscator. Each character of the UserAgent string is used which means you have to know the entire string. This means close matches won’t work. The author’s goal was likely to thwart security tools and reseachers as they wouldn’t be able to deobfuscate the script without knowing the exact UserAgent string used. There are several ways to crack this but below, I just enumerated all the values which was used to XOR the obfuscated code and displayed the result: Here, you can see the results of our bruteforcing effort: ROOT EM! Using CSS3 "rem" Units for "Elastic Pixels" "Pagination 101" by Faruk Ateş — Gist - UX.

Article by Faruk Ateş, originally on KuraFire.net which is currently down One of the most commonly overlooked and under-refined elements of a website is its pagination controls.

"Pagination 101" by Faruk Ateş — Gist - UX

In many cases, these are treated as an afterthought. I rarely come across a website that has decent pagination, and it always makes me wonder why so few manage to get it right. After all, I'd say that pagination is pretty easy to get right. Alas, that doesn't seem the case, so after encouragement from Chris Messina on Flickr I decided to write my Pagination 101, hopefully it'll give you some clues as to what makes good pagination.

Before going into analyzing good and bad pagination, I want to explain just what I consider to be pagination: Pagination is any kind of control system that lets the user browse through pages of search results, archives, or any other kind of continued content. The importance of pagination is subjective; it depends on the content as well. Rules for good pagination 1. 2. Light Table - a new IDE concept - UX. You can now try Light Table out via the Light Table Playground!

Light Table - a new IDE concept - UX

Light Table's kickstarter has wrapped up! Despite the dramatic shift toward simplification in software interfaces, the world of development tools continues to shrink our workspace with feature after feature in every release. Even with all of these things at our disposal, we're stuck in a world of files and forced organization - why are we still looking all over the place for the things we need when we're coding? Why is everything just static text? Bret Victor hinted at the idea that we can do much better than we are now - we can provide instant feedback, we can show you how your changes affect a system. We can do better, and to that end, let me introduce you to. Olive Musique / Production Music Composer at Premiumbeat.com - UX. Legit (Git Workflow for Humans) - UX. About « Unununium Operating Engine - UX. The NOR Machine - UX. Build an assembler and an emulator for a single-instruction CPU and implement a non-trivial algorithm on it, using Ruby as a macro DSL to compile it all.

The NOR Machine - UX

Have you ever developed in an assembly language? Have you developed an assembly language? Ever developed a CPU running your own assembly language? There may be some who said “yes” to all three questions. But even for those readers, this article may have something new to offer. Develop a CPU that performs only one primitive instruction. At the end we will have an assembler and an emulator of that single instruction CPU, along with an implementation of a non-trivial algorithm on it, and some Ruby code that looks like no Ruby code you’ve ever seen.

Why would we want to do this? I picked up an idea years ago in a FIDO discussion group, RU.HACKER. The idea is to use just one function to compute everything. There are sixteen boolean functions of two arguments. Metaprogramming custom control structures in C - UX. By Simon Tatham This article describes a technique for using the C preprocessor to implement a form of metaprogramming in C, allowing a programmer to define custom looping and control constructions which behave syntactically like C's own for, while and if but manage control flow in a user-defined way.

Metaprogramming custom control structures in C - UX

The technique is almost all portable C89, except that some constructions need the feature (available in both C99 and C++) of defining a variable in the initialiser of a for statement. Sample code is provided. 1. Motivation The existing control constructions in C need no introduction. As one example, if you're iterating over a circularly linked list without a distinguished head element, you might find it inconvenient that for does its test at the head of the loop, because the apparently obvious way to iterate over such a list (comparing your current-element pointer to the list head in the test clause) will execute zero times. CompoHub - UX. ReleaseNotes - phantomjs - Release Notes - headless WebKit with JavaScript API - Google Project Hosting - UX. WooshBrowser – hackable:1 - UX. Woosh is a minimalistic browser starting up very fast and optimised for small screens.

WooshBrowser – hackable:1 - UX

It runs very well on the Neo Freerunner as well as on any netbook like the Acer One or Asus eeePC. bookmarks simple gestures quick access to all important functions as go back/forward add bookmark toggle auto image load -> useful when on GPRS vs. wifi toggle javascript -> useful when on heavy web2.0 pages rotate landscape / portrait toggle fullscreen page caching in memory during a session for quick navigation of the history http proxy support via the http_proxy environment variable Default Portait View The tool bar buttons are "back" "forward" load indicator bookmark toggle preferences toggle portrait/landscape mode toggle fullscreen toggle Fullscreen Woosh in fullscreen mode. the top bar right is "back" the middle is "toggle fullscreen" the right is "forward"

Ref

Cabbage. e4rat. GH mass.