RevisionNumber - Mercurial
Revision numbers referring to changesets are very likely to be different in another copy of a repository. Do not use them to talk about changesets with other people. Use the changeset ID instead.
The online whiteboard of Kristofer Palmvik
Revision numbers referring to changesets are very likely to be different in another copy of a repository. Do not use them to talk about changesets with other people. Use the changeset ID instead.
It turns out that if you’ve been using Subversion, your brain is a little bit, um, how can I say this politely? You’re brain damaged.
I describe the top 10 anti-patterns I’ve discovered when helping customers onboard NuGet. I discuss each anti-pattern and provide an alternative approach, or rule, that should help you avoid the common pitfalls of getting up to speed with NuGet.
This probably returns as empty which mean: rm -rf "$STEAMROOT/"* is the same ass rm -rf "/"*.
it was also a way to record everything going in front of you. And it turns out very few people are willing to be viewed as walking, talking invasions of privacy.
We run all tests continuously. The GUI tests takes too long to execute. Nobody wants to wait hours for the results in a build server. Therefore our tests run separately and independently from our build server
Interestingly enough I get asked about the IIFE (immediately-invoked function expression) a lot, which takes the following setup:
The following provides a list of know issues between the two modes. Read this list carefully.
In terms of expressing your computations, Hadoop is strictly inferior to SQL. There is no computation you can write in Hadoop which you cannot write more easily in either SQL, or with a simple Python script that scans your files.
I thought it might be salutary to look at the state of application architecture in the JavaScript community as we ebb our way towards 2015. I’ll talk about composition, functional boundaries, modularity, immutable data structures, CSP channels and a few other related topics.
Turns out that IIS Express is configurated to run 32-bit mode by default. Since I’m running on a 64-bit machine this was kind of a surprise for me.
We got into this industry because, quite frankly, we are control freaks. It’s who we are. It’s what we do. Now to imagine, to our dismay, that there’s all this stupid, useless whitespace at the ends of our lines.
So, what does it actually mean to write an application in the Flux way? At that moment of inspiration, when faced with an empty text editor, how should you begin?
...it is exactly how one ought to answer the question "define trampolining" on an examination, because it demonstrates that you’ve learned the subject thoroughly. But if asked to explain trampolining, a more tutorial-focused approach is called for.
It’s simple. Set your image crop dimensions and use this line in your CSS: img { object-fit: cover; } That’s it. No need for unsemantic, wrapping divs or any other nonsense.
As promising as these concepts sound, they are too abstract to be entirely useful. What follows should hopefully express these ideas in a more practical light.
This comprehensive primer on the internal operations of WebKit and Gecko is the result of much research done by Israeli developer Tali Garsiel. Over a few years, she reviewed all the published data about browser internals (see Resources) and spent a lot of time reading web browser source code.
Most of these glitches are impossible or near-impossible for a human to perform in the course of standard gameplay since they require intricate patterns of inputs that have to be entered precisely at specific frames of in-game video (i.e. within 1/30th of a second). It’s only through the emulators that allow for input recording and single frame pausing and advancement
Over the past year, we’ve put a lot of work into figuring out how our team can continue to iterate quickly while still producing quality code and avoiding technical debt. The three things that I think have been most helpful at this level are forming and adhering to specific code style and conventions, practicing a comprehensive and collaborative peer review process, and testing.
Making the Flux-Stores directly call the api layer and provide a callback is a bad idea in the long run: It’s just too hard to reason about the data flow.
Some ideas for drag and drop interactions in a UI. The idea is to show a droppable area that stands for certain actions after an element is being dragged.
This technique works by using :before and :after pseudo-elements to create the different parts of the animation. CSS transformations and absolute positioning are applied and these properties are animated to create different types of loading indicators.
There will be more detail tomorrow, but at a high level: * JS engine on a background thread * Communicates via batched, async messaging protocol to a native (objc or android) server running on the main thread (basically create_view(), update_view(), destroy_view(), on_event() etc) * Plug-in for React that speaks that protocol * Tools to make cross-platform dev a bit easier (standard text component, cross-platform flexbox layout system) * Designed to take advantage of native platform views, NOT be the next Java Swing
There are many flux and flux-like implementations available; these properties are, to me, most important to the flux architecture.
You should use Skeleton if you’re embarking on a smaller project or just don’t feel like you need all the utility of larger frameworks. Skeleton only styles a handful of standard HTML elements and includes a grid, but that’s often more than enough to get started.
User Interface | is the vocabulary of the web.
Virtualbox does not allow symlinks on shared folders for security reasons. To enable symlinks the following line needs to be added to the vm provider config block in the Vagrantfile:
One of the most important parts of any client side application is how it communicates with the server to get and persist data. Since I was unable to find many resources on different approaches and their benefits, I have decided to share what I found.
You might have heard of Ian from his amazing hacker news comments that went into quite a bit of detail on React design patterns, when to use it, how to use it, etc. We have him here today to talk about some advanced React questions and Flux questions more importantly, and how we can build these apps in better ways.
The most important Flux data flow diagram is this: Action -> Dispatcher -> Store -> View. The rest, while suggesting best practices, are really just implementation details. How data leaves the system and goes to the server does not matter very much. What matters more is how it enters the system and flows through it. Always start the flow with dispatched actions.
There are lots of flux or flux inspired libraries out there: they try to solve different kind of problems, but which one should you use? This article tries to give an overview on the different approaches.
What does an aspiring web developer need to know to develop a Meteor app? Below is a list of languages, frameworks, libraries, packages & more
Avoid callbacks. Callbacks are probably the easiest way of breaking composability. When you are writing some complex functionality (say, processing Markdown documentation), you might be tempted to parameterize some step using a callback (say, to plug-in a pre-processor that transforms document between parsing and rendering). The problem is that callbacks impose too much structure on your code. They do not give you the flexibility to put individual simpler pieces together in a different way. Instead, inserting callbacks makes the design more complicated than it was.
At its core, Scala.js is a compiler from Scala to JavaScript. It compiles .scala files to a single optimized and minimized .js file per application. The resulting JavaScript code is vanilla ECMAScript 5.1, which therefore works everywhere – on any OS, any browser, or even on Node.js.
You use it when, uhm, you want a button on your page that users can click, right? Well, unfortunately it’s a bit more complicated than that. It’s not too bad though, let’s figure it out.
Check types, regexps, presence, time and more...
Det många besökare inte vet är att Blockets webbdesigner legat 13 år i koma. En mulen vinterdag 2002 var webbdesignern med om en olycka och det var först i veckan som webbdesignern vaknade.
A little tool to lint websites for IE8 compatibility, with warnings for possible pitfalls and suggested fixes.
SQL has gone out of fashion lately—partly due to the NoSQL movement, but mostly because SQL is often still used like 20 years ago. As a matter of fact, the SQL standard continued to evolve during the past decades resulting in the current release of...
Tools like Google Analytics allow you to send custom dimensions and metrics to track exactly this type of user-specific data. The rest of this article explains how to measure breakpoint usage in Google Analytics.
Use GitHub or Bitbucket and deploy your projects whenever you push to your repository.
Login Information (for Windows Vista, 7, 8 VMs): IEUser, Passw0rd!
React Canvas adds the ability for React components to render to rather than DOM. This project is a work-in-progress. Though much of the code is in production on flipboard.com, the React canvas bindings are relatively new and the API is subject to change.
Did you know pagination with offset is very troublesome but easy to avoid? offset instructs the databases skip the first N results of a query. However, the database must still fetch these rows from the disk and bring them in order before it can send the following ones.
In this article I will present how the diff algorithm and rendering work in React so you can optimize your own apps.
Off means on! This is actually a great example of what I define as a "dark pattern."
Today we’ll take a look at how to use React with Backbone’s router.
Vi har alltså svenska samlingssajter som publicerar samlingsartiklar av samlingsartiklar publicerade på amerikanska samlingssajter. Som ett koncentrat av koncentratet, en liten buljongtärning av buljongtärningen.
Eager read derivation does something quite different. Here reads don’t touch the main database at all. Instead we have one or more ReportingDatabases that are structured in the same way as our read requests. Any read requests go directly to the reporting databases which read the data directly and push it out with no domain logic involved.
I believe the goals of good CSS architecture shouldn’t be that different from the goals of all good software development. I want my CSS to be predictable, reusable, maintainable, and scalable.
Mandrill is a scalable and affordable email infrastructure service, with all the marketing-friendly analytics tools you’ve come to expect from MailChimp.
A non-artsy primer in digital aesthetics
Pttrns is the finest collection of mobile design patterns, resources and inspiration. Curated by a community of curators with a great taste.
It only takes a few minutes playing with React Native to realize the potential it has. This works. It feels like I’m developing for the web. But I’m writing a real native app, and you seriously can’t tell the difference.
When you "npm install" a package with dependencies, there’s no guarantee that you’ll get the same set of code now that you would have gotten an hour ago, or that you would get if you were to run it again an hour later. You may get a bunch of bug fixes now that weren’t available an hour ago. This is great during development, where you want to keep up with changes upstream. It’s not necessarily what you want for deployment, though, where you want to validate whatever bits you’re actually shipping.
Basicly node-semver operators make it possible to define acceptable upgrading paths for each package based on a range of accepted versions. In other words, the operators can indicate to the package manager system (or a human) which version(s) are acceptable to be upgraded to, upon availability, when installing or updating dependencies.
So okay, we have one community where auto-updating is a dirty word, and another where it’s the default. They can’t both be right, so as Node developers, let’s consider why we might want to be suspicious of auto-updating.
Themosis is like a warm, cozy blanket over WordPress! And we are purely talking code now, not the application it self. Themosis implements many features and ideas from Laravel, modern PHP and staying true to everything WordPress.
Note that as of this release, jsdom no longer works with Node.js™, and instead requires io.js. You are still welcome to install a release in the 3.x series if you are stuck on legacy technology like Node.js™.
best in firefox or maybe chrome. sorry if yo browser hate this
"Men need to be the ones that are advocating and pushing for women to rise up, and not just rely on the 1% of women who are already at the top to do it," Sieber said.
If you’re like me and you wanted to go further with React, you more than likely would’ve checked out Flux, had a glance, closed the tab and then reassessed your life as a Javascript developer.
A rules engine is all about providing an alternative computational model. Instead of the usual imperative model, commands in sequence with conditionals and loops, it provides a list of production rules. Each rule has a condition and an action - simplistically you can think of it as a bunch of if-then statements.
Data fetching is still a tricky problem, especially as applications become more complicated. At React.js Conf we announced two projects we’ve created at Facebook to make data fetching simple for developers, even as a product grows to include dozens of contributors and the application becomes as complex as Facebook itself.
The implication is that Google isn’t just looking to identify whether you’re a human with its No CAPTCHA, but potentially exactly which human you are.
You can make them with a single div.
Vivus is a lightweight JavaScript class (with no dependencies) that allows you to animate SVGs, giving them the appearence of being drawn.
The interview begins with, instead of a coding challenge, a TDD challenge: the interviewee is presented with a few failing tests for a reasonably simple problem, sitting side by side (pairing) with the interviewer in a typical work environment. The interviewee explains what kind of code they’d write to pass each test, and the interviewer does the typing.
Service discovery is a fairly large subject but in essence it boils down to answering the question: what servers run this service (given some description or name of a service)? At Spotify we have solved this problem with DNS for a long time. Specifically, we use so called SRV records. A DNS SRV record is a canonical name, typically of the form _name._protocol.site, mapped to a list of hostnames with weight, priority and port number.
Over the next few posts, I’m going to be exploring the concepts of service discovery in modern service-oriented architectures
The term microservices strongly suggests that the services should be small. Some in the community even advocate building 10-100 LOC services. However, while it’s desirable to have small services, that should not be the main goal. Instead, you should aim to decompose your system into services to solve the kinds of development and deployment problems discussed below. Some services might indeed be tiny where as others might be quite large.
The free preview edition features three chapters from Building Microservices:
You can’t read about service workers without getting excited—they’re the behind-the-scenes infrastructure that make it possible for web pages to act more like web applications.
Learn how to write composable software that stays responsive at all times by being elastic under load and resilient in the presence of failures. Model systems after human organizations or inter-human communication.
React is an amazing abstraction, but very few abstractions come without at least some overhead. In the case of Atom’s text editor, it’s worth the effort to avoid this overhead by hand coding all DOM updates.
React is so much different from other frameworks, I feel. Someone that doesn’t know React can basically come in and start working on a large app from Day 1. It is so much less frustrating than Angular, Backbone Ember handlebars, etc. You can continue to add features to a React application and not slow down.
You can’t have it all. A wife & kids, a full time job, a social life and an open source hacker reputation. Many of the biggest names in open source have none of those other things.
We had 4 weeks to redesign, rebrand and rebuild our entire site and so needed to figure out how to do all of this the lean way. We carefully split our architecture decisions into thin vertical slices that could be implemented over time. In this post I’ll talk about the main challenges we focused on, how they were implemented and how we built a microservice architecture while still staying lean.
Brogrammers har blivit det vanligaste skällsordet i San Francisco för en ny start up-kultur där en allmän grabbighet ofta spårar ur i ren sexism, rasism eller odräglig elitism.
If you haven’t used React at all, you’re in the right place. If you have used React, but you’ve run into some confusing edges, you’re still in the right place. This guide covers all the basics as well as some of the confusing gotchas.
I’m mostly concerned with the core problems of data binding and componentizing UIs. After much research and usage of the technologies mentioned above, I found React to provide the best solution.
De ser för övrigt på alla sina kunder som bortskämda snorungar och vill därför få sin egen vilja igenom, som de alltid fått. Lite som bortskämda snorungar. Fast med mycket mer pengar och makt.
Next time you are in position to pitch micro-services to a worried project manager or product owner, don’t forget that technology is really not what you are selling – you are selling a solution for process, governance, cost of operation and scalability issues, not a technology
an interactive tour of all the major features of the new CSS property: flexbox.
It’s been a long time since we covered one of the most fundamental building blocks of SEO—the structure of domain names and URLs—and I think it’s high time to revisit.
Although the syntax might be initially confounding, flexbox lives up to its name. It creates intelligent boxes that are stretchable, squeezable and capable of changing visual order.
Good animation is invisible. You shouldn’t notice that you’re looking at animation.
This article has been designed for beginners and intermediate developers wanting to contribute to open source projects. I will demonstrate contributing to the Webmaker Project of Mozilla Foundation, to explain how you can effectively contribute to open source projects.
HTTP2 is almost here, it’s based on SPDY, and it makes everything much more efficient. It also means that all of those HTTP1 performance techniques are harmful. They will make a HTTP2 website slower, not faster - don’t use them.
Zero-bullshit, single–command, bring your own source control web publishing CDN. Yes, it’s free.
Features print designers take for granted are either nonexistent on the web or have insufficient browser support in order to be useful. Challenges unique to web browsers such as responsive design and web font loading could use some improvement as well. Let’s take a look at some of the features we need for an optimal and beautiful reading experience.
We can use React Properties to inject dependencies to our components.
Studies show that a todo list is the most complex JavaScript app you can build before a newer, better framework is invented.
KSS is a set of guidelines to help you produce an HTML styleguide tied to CSS documentation that is nice to read in plain text, yet structured enough to be automatically extracted and processed by a machine. It is designed with CSS preprocessors (such as SCSS or LESS) in mind, and flexible enough to accommodate a multitude of CSS frameworks (such as YUI, Blueprint or 960).
Jank is any stuttering, juddering or just plain halting that users see when a site or app isn’t keeping up with the refresh rate. Jank is the result of frames taking too long for a browser to make, and it negatively impacts your users and how they experience your site or app.
Given the complexities of the problem and the company’s limited resources, Hall realized she couldn’t just hire more women. So she decided to play the long game by helping women get technical jobs—anywhere.
One big problem that comes up all the time in distributed systems is dealing with failure. Failure happens everywhere. The problem in a distributed system is that you don’t know where the failure happened
I received an email recently asking for assistance with an SVG icon issue. The individual explained that he was working with a lot of icons (about 300, which I would say qualifies as a "system") as images and wondering if there was a way to change these colors with CSS after the fact to accommodate color blind users when the situation presents itself, and if not how to get around adding 300 inline SVG icons to his markup.
Before you are about to explain a paper condescendingly to someone in a dress, assume that they wrote it.
It appears that it is often easier and wiser to move the state higher in component hierarchy. Maybe the list itself does not need to keep the state itself.
– Vi upptäckte att det finns en inbyggd fördröjning på 300 millisekunder för att hantera dubbelklick, som sällan används, när vi jobbade med en app.
We wanted to let you know that FriendFeed will be shutting down soon. We’ve been maintaining the service since we joined Facebook five years ago, but the number of people using FriendFeed has been steadily declining and the community is now just a fraction of what it once was. Given this, we’ve decided that it’s time to start winding things down.
I don’t want to be a digital landlord that evicts people who placed their trust and their data with us, just because "our priorities have changed". At the same time, we also don’t want to continue selling or offering antiques to new customers. This is the compromise: No new users, but the ones we got we’ll take care of forever.
IF YOU WANT to imagine how the world will look in just a few years, once our cell phones become the keepers of both our money and identity, skip Silicon Valley and book a ticket to Orlando. Go to Disney World.
npm@3’s dependency resolution algorithm makes the node_modules folder as flat as possible (that is, if there are no conflicts, it puts all requirements at the top level. This results in a implicitly deduped and very shallow tree. Outside of pathological cases, I anticipate that this will solve the "256 char limit" problem by never producing folders nested deeply enough to hit it.
We built the project from the ground up, all the way to release, all the while using NPM without a hitch. We never made a switch to Grunt - and no one complained. We had CSS Preprocessors, Browserify, Karma, Mocha, JSHint, Srcy, WD all running from our npm scripts object, in about 15 lines of code.
This is the main reason we end up with bloated codebases, full of legacy and unknown CSS that we daren’t touch. We lack the confidence to be able to work with and modify existing styles because we fear the consequences of CSS’ globally operating and leaky nature.
This post serves as a detailed reference and rationale of how to name HTML classes and equivalent CSS selectors using a FUN CSS methodology.
the main idea is, do not tie your identity or sense of self-worth to your job. be very clear that your job is what you do to get enough money to support your "real" life, and concentrate on making the rest of your time enjoyable. the side project is a good start, but also exercise more, take up some non-tech-related hobby (maybe one you can share with your wife), take short courses in random, interesting skills (e.g. cooking), develop an active community of friends (host dinners, board game nights, regular "check out a new restaurant" outings, walking tours of interesting neighbourhoods, etc.)
The idea here is that you can give a massive boost to the perceived performance of the first page load on a site by putting the most important CSS in the head of the page. Then you cache the full stylesheet. For subsequent visits you only ever use the external stylesheet
Using this effect, the top section of the page adapts to your entire screen resolution (100% height). It also includes some content that always sits at the very bottom of the initial viewport.
This repository is an attempt to answer the age old interview question "What happens when you type google.com into your browser’s address box and press enter?" Except instead of the usual story, we’re going to try to answer this question in as much detail as possible. No skipping out on anything.
– Det är rätt om man gör någonting på jobbet som man skulle kunna göra på fritiden och dessutom tycker att det är kul.
Lantmäteriet har beslutat att släppa sin småskaliga kartinformation som öppna data. Det innebär att såväl allmänhet som privata och offentliga aktörer får fri tillgång till många av de kartor som används i samband med friluftsliv, transporter och översiktlig planering.
Visual Regression Testing is a really hot area right now. New tools are being built all the time, but the real challenge is finding ways to work those tools into our current workflows. So go out, experiment, try them all, and write about it!
In this experiment, I’m attempting to show the value of Flexbox in today’s layouts, outline a strategy for adding it and give a few examples of how Flexbox can give current layouts extra powers that we either couldn’t achieve, or were difficult to achieve before.
A set of 36 colorful and versatile travel and vacation related icons. The icons have a flat design with a long shadow and they come in several vector formats.
Foundation provides Sass mixins called grid-row and grid-column that you can use in your own custom class names. So now we can write our own Sass code that looks like this to make our dream HTML markup a reality
I’ve been meaning to write something about the CSS at Medium for a while because I’m not completely ashamed of it...
Today, I was coding an ASP.NET 4.5 REST api using WebApi 2, and was caught out by a problem caused by a technical decision made forty two years ago.
Kul på jobbet är bra, men låt det inte bli din enda eller viktigaste källa för välbefinnande. Det är ett jobb. Det är förgängligt och kontrolleras av andra, oavsett om det är du som är chefen. Lägg inte alla ägg i en korg, utan se till att du tankar dopamin från många olika kranar, helst sådana du själv styr över!
At React.js Conf in January we gave a preview of Relay, a new framework for building data-driven applications in React. In this post we’ll describe the process of creating a Relay application.
This primer makes use of several libraries, but it is by no means a "React the right way". It’s just a introduction to how I am building my own React applications. The goal of this primer to help developers get familiar with React and dive right in.
Pages that are empty without JS: dead to history (archive-org), unreliable for search results (despite any search engine claims of JS support, check it yourself), and thus ignorable. No need to waste time reading or responding.
All standards, libraries, practices, architectures and patterns needs some time to evolve before becoming widely accepted. The flux architecture is no different.
Hashbangs (#!), hashes (#) and even the HTML5 History API (pushState, popState) all have issues. This article will go through the issues with each one, their use cases, then provide the evolution of their solutions.
Inom mängdläran heter det union, snitt och differens. Men Microsoft tycks ha använt en maskin som översättare för menyerna för ritverktyget i Powerpoint, och då blir det så här:
The issues we’ve been facing when trying to use CSS at scale and how we worked around them. By Christopher Chedeau, Facebook.
Nowadays Flux (together with React.js) is one of the hottest topics in the tech world. When people talk about Flux they mean more of a pattern than a framework. But Javascript community has already made a solid input into it and developed different approaches for working with Flux in order to bring some structure and "frameworky" feel. The first thing which comes to mind after some exploration - there are too much Flux libraries right now. In spite of that let’s try to compare some of them.
One thing seems pretty clear, though: JavaScript is not going away anytime soon — so one might as well learn a thing or two about it. Just in case.
ComponentKit is an Objective-C++ view framework for iOS that is heavily inspired by React. ComponentKit takes a functional, declarative approach to building UI. It lets you focus on what your UI should look like, not the steps necessary to build it.
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React.
One big advantage SVG has over icon fonts is full color. But icon fonts don’t have to be limited to just a single color. By overlapping two or more elements we can create unique "multi-color" icons with a contemporary flat look.
Sikka is an application-layer firewall for Meteor. We are releasing the first version of Sikka with support for rate limiting and human (captcha) verification.
I started to wonder if we could teach Kaira to send selfies. I’m pleased to say that, thanks to the Arduino Yun and a big red button, the answer is a resounding "Yes!" as you can see in this short video
Bookmarklets are a bit of JavaScript that you save as a bookmark and when visiting a page, if you click on that bookmark, the JavaScript will run on the context of the current page that is being viewed. This allows you to modify the current page in ways that the original author did not think off or allow. In essence, bookmarklets are a way to extend, modify, and enhance sites you are visiting.
Can we combine the simplicity of synchronous code with the efficiency of the asynchronous approach? It turns out we can. Futures are an abstraction that allow us to express the effect of latency in asynchronous computations, encapsulate event-handling code, and use higher-order functions such as map, reduce, and filter, to compose clean and readable asynchronous code.
If you’re reading a prop named key you might be overloading the meaning of key or accidentally using it for something unrelated. This change makes the concept a bit more strict. This helps avoids bugs with transferring props to another component which shouldn’t bring the key and ref along with it. It also helps performance by ensure that types in React internals are consistent and stable.
An open source IDE for React Native, web, and native mobile development, built on top of Atom to provide hackability, and backed by an active community.
Data like this isn’t going to be easily accessible through a .csv or database. Sometimes, you are going to have to get it yourself. That may require web scraping, which automates the process of collecting data from websites. I’ve always thought this sounded very cool, but I didn’t know how to do it.
I’ll explain how React is moving towards a minimal API surface area. Instead of providing many framework features, React is trying to utilize patterns, paradigms and JavaScript language features to accomplish the same tasks that other frameworks have dedicated APIs for.
It is critical to understand that due to our malleable standards of evaluation, this process fundamentally has no end, ever. We are simply never going to realize a state of software nirvana where everything is supremely satisfying. That’s an important emotional realization. The fundamental reward of an improvement process is the experience of betterment, not some mythical destination.
As a stupid person, this is what I wish someone had told me when I struggled learning Flux. It’s not straightforward, not well documented, and has many moving parts.
If you are in the business of shipping software, chances are high that you’ll be offering an API to third-party developers. When you do, it’s important to realize that APIs are hard: they don’t have a visible user interface and you can’t know how to use an API just by looking at it.
What struck me at that time is that micro services might in fact might be too big for deployment? What if instead you could deploy classes. Literally, a simple interface that did one (or very few) things well.
I spent a couple of days toying with React Native since it was open-sourced by Facebook last week. Here are my initial thoughts as someone who works with both iOS and Web development
Trying to learn some new technology? Awesome, I get to use ONE new thing. Since I already understand every other variable in my stack, I’ll have a much easier time pinning down those ‘unknown unknown’ issues that invariably crop up over time.
This attack demonstrates how the vast passive and active network filtering infrastucture in China, known as the Great Firewall of China or "GFW", can be used in order to perform powerful DDoS attacks. Hence, the GFW cannot be considered just a technology for inspecting and censoring the Internet traffic of Chinese citizens, but also a platform for conducting DDoS attacks against targets world wide with help of innocent users visiting Chinese websites.
The difficulty of innovating within a large corporation reflects a work environment where people often say, "No" or "I don’t understand" because change in corporate culture is often uncomfortable and slow. As a result, negativity must be confronted and countered — not just in a brainstorming session or during a proposal — but on a daily basis.
We are pleased to announce Meteor 1.1 today, the latest release of the open source Meteor platform. Meteor, which lets developers build modern web and mobile apps on a single JavaScript codebase in a fraction of the time and cost previously possible, is for the first time now available as an official distribution on the Windows operating system. Meteor 1.1 also includes support for MongoDB’s new 3.0 database engine and adds many improvements throughout the stack.
Simply by avoiding the rendering of the HTML, you can achieve incredible performance benefits that are measureable in our developer tools. Redact.js is a fool-proof way to achieve buttery-smooth 60 FPS! It works 90% of the time all the time!
Grundpoängen är att motivation till att handla har med våra känslor inför handlingen att göra, och dessa påverkas på olika sätt av hur vi bemöts. Och om vi bemöts med uppfattningen att vi ska motiveras av yttre belöningar, så kommer våra känslor inför handlingar inte att likna de känslor vi har när vi är motiverade av vad vi tycker om handlingen i sig själv.
Pete Hunt actually doesn't talk about the future of JavaScript layout systems. Instead, this talk is all about full-stack Flux.
I want to share some recent learnings from performance tuning this new application stack.We were first clued in to a possible issue when we noticed that request latencies to our Node.js application would increase progressively with time. The app was also burning CPU more than expected, and closely correlated to the higher latency. While using rolling reboots as a temporary workaround, we raced to find the root cause using new performance analysis tools and techniques in our Linux EC2 environment.
Linus Lennstrand lämnade sitt CTO-jobb på Hemnet i Stockholm för att bli CTO på en startup i Nairobi. Här fann han nybyggaranda och möjlighet att testa idéer.
In short, men could use a career guide—about women. So I set out to discover what frustrates and perplexes professional men about the women they work with. My goal was to get to the bottom of issues that men face every day: why women often don’t speak up at meetings, why they can seem tentative when they do speak up, why there are so few qualified women in the management pipeline despite good-faith efforts to recruit them.
SVG is AWESOME!!
The main difference between silex and Symfony2 full-stack is that Symfony2 is a framework. Silex is not a framework, it’s a library which provides a service container, a route builder and some glue to build your own framework with.
If you go further and implement a new system for XML-Publishing, there are no good reason to use XSL-FO.
Pseudo elements, specifically :before and :after, match the virtual first and last children of the selected element. Typically they are used to add cosmetic content like an arrow on a tooltip, create a pretty ribbon, or include an icon font. The uses go further though. You can pull in content from HTML data attributes using content: attr(data-label) on the before/after pseudo classes.
select div:empty::before instead if you choose to use a pseudo-element so the filler doesn’t get inserted if there is content.
The ::after notation was introduced in CSS 3 in order to establish a discrimination between pseudo-classes and pseudo-elements. Browsers also accept the notation :after introduced in CSS 2.
In the new world of on-demand everything, you’re either pampered, isolated royalty — or you’re a 21st century servant.
fetch() allows you to make network requests similar to XMLHttpRequest (XHR). The main difference is that the Fetch API uses Promises, which enables a simpler and cleaner API, avoiding callback hell and having to remember the complex API of XMLHttpRequest.
This is, in no particular order, what I’d tell myself about startups if I could go back in time to when I first got involved. Which is probably the same as what I’ve learned.
This is UI state, rather than application state, and keeping that distinction in mind is a good guide for where state should live. All application state should live in the store, while components occasionally hold on to UI state. Ideally, React components preserve as little state as possible.
I ran into a big problem: Flux doesn’t provide a clear way to structure UI state in your application. After asking around, this seems to be a common issue.
Not everyone is an isolation-loving codemonkey. Some people need the feelings of team involvement, urgency and repercussions. If I’m just left to sit in the corner all day, and no one knows what I’m doing, and no one gives a shit if I do nothing... guess what? I’m going to end up doing nothing. Perhaps people like me are flawed, but we’re still very talented and capable – and not every company can afford to pass over the extroverted developers.
Skit is a JavaScript framework for building web pages with this controller
Collection of design insights about perceived speed
The Inception Rule: don’t go more than four levels deep. This basically means that you shouldn’t be too specific or mimicking the DOM at any point. If you find yourself more than four levels deep, that’s a red flag. Of course there are times when you’ll be forced to go there, but it’s not something you should be doing too much.
Mixing beautiful and interesting locations with a highly productive and creative office environment. This gave birth to the MJ Remote Office.
Find your perfect Tech Startup match this April 16th at SUP46, Regeringsgatan 29, Stockholm. Welcome to Join a Startup (Tech) - a matchmaking event that aims to connect talented and skilled candidates (like you) with fast-growing potential startups looking to expand their teams.
Side-by-side comparison of maps showing available bike lanes and car lanes in the ten largest Swedish cities.
By now, our ops team has seen the good, the bad, and the ugly of Node. Here’s what we’ve learned.
When you have an API which takes a boolean parameter which chooses between two behaviors, just make two API functions, and put the behavior in the function name! See how much clearer these APIs become if we do this?
The SandyStation delivers whole new experience with sandbox and pushes creativity and fun behind the line. Digital projection and 3D vision makes possible to build beautiful and colorful landscapes looking like a living land. A number of games and applications give you a wide range of fun like building rivers, mountains or volcanoes spewing lava. And this is just the beginning...
In this specialization, you will learn how to design technologies that bring people joy, rather than frustration. You'll learn techniques for rapidly prototyping and evaluating interfaces; how to use these designs to get feedback from other stakeholders; how to conduct fieldwork unearth design ideas; principles of visual design; and how to perform and analyze experiments.
Många vanliga, hederliga svenskar tycks ha ryckts med av den nya digitala hånfullheten. De slänger i väg några elakheter på nätet på morgonen, knyter slipsen, åker till jobbet där de är vänliga och snälla och aldrig skulle drömma om att tränga sig i lunchkön, åker hem, ser på tv, hatar lite på nätet och går och lägger sig.
I dag skall vi titta på några av mina favorittypsnitt för tillfället. Jag hade tänkt skriva om mina fem favoriter, men slänger in en bubblare. Så nu består listan av min Topp Sex!
I samma ögonblick musiken släpps på Tidal finns den på alla andra tjänster – så länge de inte bryr sig så mycket om upphovsrätt. De tjänster som gör det, som Spotify och liknande konkurrenter som faktiskt betalar artisterna pengar kommer att bli utan och i slutänden är det inga andra än artisterna, skivbolagen och låtskrivarna som drabbas.
IE10 and above added support for the ‘cut’ and ‘copy’ commands through the Document.execCommand() method. As of Chrome version 43, these commands are also supported in Chrome.
I wanted to take a quick look at what happens when you exceed the quota limit in a browser’s LocalStorage system. I knew an error would be thrown, but I was curious about the type, message, etc. I built a quick test and threw some browsers at it.
What if we had an opportunity to write visual tests for responsive websites? What if we could describe the look and feel of an application and put this directly into our tests?
So let me repeat: don’t use an icon if its meaning isn’t a 100% clear to everyone. When in doubt, skip the icon. Reside to simple copy. A text label is always clearer.
Lumen is the perfect solution for building Laravel based micro-services and blazing fast APIs. In fact, it’s one of the fastest micro-frameworks available. It has never been easier to write stunningly fast services to support your Laravel applications.
Every programmer occasionally, when nobody’s home, turns off the lights, pours a glass of scotch, puts on some light German electronica, and opens up a file on their computer. It’s a different file for every programmer. Sometimes they wrote it, sometimes they found it and knew they had to save it. They read over the lines, and weep at their beauty, then the tears turn bitter as they remember the rest of the files and the inevitable collapse of all that is good and true in the world.
We are surrounded by inefficient and distracting treadmill interfaces that get in the way of running.
Write all production programs with two people sitting at one machine. We’ve turned this to eleven by choosing how many people are appropriate for a task. We treat a pair as a minimum for production code, but often choose to work with the whole team around a single workstation
Wait, 0 specs? Jasmine doesn’t help you out much here, which is why I pretty much always have the Javascript console open in Chrome
Kitematic’s one click install gets Docker running on your Mac and lets you control your app containers from a graphical user interface
I’ve noticed that Agile is frequently creatively misinterpreted as: * "move fast and break things" or * "testing is the end user’s job" or * "what we were doing before, except with morning meetings where nobody is allowed to sit" I expect some of the backlash is, ironically, against that.
You will learn about challenges of building applications that can serve hundreds of thousands of users, and how you can prepare for them as a developer. And more importantly - you will learn how to harness the power of App Engine - Platform as a Service, run by Google, so you can focus on your application’s features, not on managing infrastructure that runs your app. Let Google run and scale the infrastructure and do what you do best - write code!
I thought I’d offer some conventions that my team at Tune has been using during the past few months of adoption. For the sake of this article, scope will be limited to coding style in React components - not styling, componentization, or Flux strategies.
Läkaren Sara Lei vill nå fram till sina patienter och få dem att förstå sin diagnos. Lösningen: Hon tar med sig sin platta till jobbet. "Men egentligen borde förstås arbetsgivaren stå för den", säger hon.
Don’t ever render to document.body. A lot of React examples do that because it’s less typing and looks more clear. Don’t. Do. This.
I love using SVG in CSS background images but it sucks that you can’t alter the fillcolor easily within your CSS. Here are a few ways around that.
Materialize is a modern responsive CSS framework based on Material Design by Google.
We currently support 438 different screen resolutions on over 1000 Android devices. The key challenge here was to produce a design that scales, rather than bespoke solutions for both iPhone and iPad.
Bland orden han speciellt har fastnat för finns "gubbgoogla", som innebär man resonerar fram och tillbaka utan att komma fram till något, i stället för att ta fram sin telefon för att söka reda på svaret.
If you think you’re going to regret not doing something, you should probably do it. Regret is the worst, and most people regret far more things they didn’t do than things they did do.
There is a proliferation of Flux implementations, and while great for the innovation in the community, this can also be overwhelming while starting a project. The different implementations solve different problems and to solve all the problems of you easily end up rolling out yet another flavor of Flux. Relay is the next evolution of Flux. In apps using Relay, the components define their data fetching needs. Relay does to data fetching what React did to UI: it makes it declarative.
But more importantly: it’s money from people who weren’t paying for journalism before. My friends have never paid for music and movies, until Spotify and Netflix. And with Blendle, they’re paying for journalism, often for the first time in their lives.
React.js is the greatest thing to happen to front-end development in a long time. It is fast, it allows us to break our application into bite-sized chunks and has a tiny learning curve. In this article we will be using ECMAScript 6 classes to write our React.js components. This means they will be easier to ... →
The horizontal spaces either side of an individual character or glyph. The spaces either side are referred to as Left Side Bearing (LSB) and Right Side Bearing (RSB).
Designers of future languages, please take this example as a proof of the rule: don’t design anything for newbies. They will find a way to make an error anyway, but dumbs-based design will be the problem for everyone else.
The article makes some valid points but anyone who thinks databases should be used for everything and the kitchen sink should come fill out an application where I work. They could then spend the next 10 years debugging hard to troubleshoot database issues instead of easy to troubleshoot code issues. Jamming too much logic in the database is a recipe for disaster in my experience.
A visualization of real estate prices on the Finnish market (in Finnish)
You can manually run the Apple file system consistency check (fsck) and have it repair errors it finds.
Om vi inte kontaktat dig inom två veckor från det att du skickade in din ansökan har vi valt att gå vidare med andra kandidater för denna tjänst
Views that are data-bound to the DOM sound great but they are difficult to follow once they become complex and bi-directional. You’d often forget to bind some events and a portion of your UI would be out of sync, or you’d add a new feature and break 3 others. So we decided to take on the challenge to build our own functional alternative to React.
Many people realize the difficulties in building a good job queue or batch processing system, and try not to create one inside MySQL. Although the job queue is a great design pattern from the developer’s point of view, they know it’s often hard to implement well in a relational database. However, experience shows me that job queues sneak up in unexpected ways, even if you’re a seasoned developer.
We believe that if we want to see the world of open source software grow and compete at the same level as closed source software, we should encourage users to pay for its development; otherwise it’ll be underfunded or developers will have to resort to backdoor deals and advertising.
A single machine testing a kernel upgrade was responsible for the unusual errors. It has been pulled out of rotation. Investigating We are seeing a slightly elevated level of failures (503s and network timeouts) affecting users near to our CDN PoP in Amsterdam. We are actively investigating. May 11, 2015 - 15:26 UTC
If you are right but nobody wants to work with you, then how valuable are you really? How much can you realistically expect to accomplish on your own? I was "winning" my way out of a job one argument at a time.
Calculate periods of potential downtime/unavailability from SLA level of uptime/availability
In this thesis, we explore the character of JavaScript modules relying on vulnerable components from a dependency viewpoint. We studied the npm registry, a popular centralized repository for hosting JavaScript modules by using information from security advisories
2015 has inherited a lot of trends from previous years, there’s been a steady evolution of ideas — Flat Design into Material Design for example — but nothing as revolutionary as Responsive Design.
It looked like a hacked together version of IRC in the browser. Barebones and stark. Just six weeks later, we had done some of the best work of our careers. So, how did we get from hacky browser IRC to the Slack we all know and love?
I’d just like to plead with my fellow developers. Before you decide to roll your own, please see if there is an existing project you could help improve instead. Consider it a way of repaying for all the open source work you have benefited from. Paving the road for others, like others have paved it for you.
Det viktigaste för att få jobb hos några av de hetaste techbolagen verkar, föga förvånande, vara att verkligen vilja ha jobbet. "Passion. Vi kollar på hur gärna de vill jobba hos. Har de appen? Använder de den? Vad vill de göra?" säger Anna Fredrixon, HR-chef på Truecaller.
To complete your task, just find something that does something similar, copy, modify, and you’re done. Looking inside the same repository seems like a safety mechanism for quality but, in fact, there is no such guarantee.
In this post I will give a brief overview of the JSON features that are planned for SQL Server 2016.
While technical debt is an understood problem, it turns out startups also accrue another kind of debt – one that can kill the company even quicker – organizational debt. Organizational debt is all the people/culture compromises made to "just get it done" in the early stages of a startup. Just when things should be going great, organizational debt can turn a growing company into a chaotic nightmare. Growing companies need to understand how to recognize and "refactor" organizational debt.
There are a whole bunch of pseudo-classes I did not know exist. I present, ‘The Top 5 Pseudo-Classes I’ve Never Heard Of™’.
It’s not enough to look for blatant bugs. You have to be thorough: in execution, in accountability, and in direction.
In about 80 lines of very generously spaced and commented CSS, we’ve got a flexible grid-based Flexbox layout with visual enhancements injected via quantity queries.
Med den nya loggan på examensbeviset kommer det ju se ut som att man gått folkhögskola ...
The sort() method sorts the elements of an array in place and returns the array. The sort is not necessarily stable.
Google is working on technology that could run on low-powered devices, possibly with as few as 64 or 32 megabytes of random-access memory, according to people who have been briefed about the project.
An email client without read/unread functionality would be unacceptable, so why are we fine with a site without :visited styling?
Tio studenter söks, från Linköping men också från andra universitet i Sverige. Dessa personer ska under ett års tid ska få följa bolagen nära. Sedan ska de genom olika sociala medier beskriva vad de upplevt.
Recently, when I was logging into Buffer, I noticed a nice loading effect in their logo. Here’s how to recreate it using SVG and CSS.
This Blueprint is a responsive product grid layout with comparison functionality. A maximum of three items can be selected for the product comparison.
In order for us to send props values to our children, we’re going to essentially loop through our children and set props on them as a part of our parent render function.
Your app should be able to respond to user inputs faster than it takes to make a whole roundtrip to the server — we call this Optimistic UI updating. It’s very hard to build an app that correctly implements client-side simulations as it takes a lot of work to make your UI consistent, avoid loading duplicate data over and over, and keep your client up to date with your server data. Keep reading to see why you need this, why it’s hard and how Meteor makes it easy.
When we started approaching the storage capacity limits of a single pair of machines and began to think about what a rearchitected GitHub Pages would look like, we made sure to stick with the same ideas that made our previous architecture work so well: using simple components that we understand and avoiding prematurely solving problems that aren’t yet problems.
Drawing from the experience of building scalable systems at LinkedIn and other startups, this talk explores why logs are such a fine idea: making it easier to maintain search indexes and caches, making your applications more scalable and more robust in the face of failures, and opening up your data for richer analysis, while avoiding race conditions, inconsistencies and other ugly problems.
A theme might offer a biography section or a place to enter copyright text. The concern is that a user is entering content, not knowing that it will be lost upon switching themes.
The problem of quantile computation, while well-solved in the classical model of computation, assumes a new and challenging character within the constraints of single-pass computation (the streaming model). Indeed, when the algorithm’s memory is limited and significantly smaller than the size of the data set S, it is not possible to compute the quantile precisely, and the best possible solution is an approximation.
I just ended up installing a couple of libraries that made sense to have globally and were unrelated to my projects (ie: codeception/etc). Some of the required dependencies are now conflicting with my projects. My only option is to install codeception in all my projects.. quite tedious.
I’ve identified some issues while working with fluent interfaces. Here they are listed in descending order of relevance:
It’s not difficult to realize that in order to achieve this the methods being chained must incrementally set up some data structure which is finally being interpreted by some method that executes the final query. But there are some degrees of freedom regarding exactly how this can be orchestrated.
Vi kom också på att vi sitter på en hel del data om arbetsgivares jobbannonser, och tänkte att vi kan dra ut vilka tekniker ett visst företag eftersöker, för att där med se om vi kan räkna ut vad de använder för att bygga sina tjänster och produkter.
This belief that programming ability fits into a bi-modal distribution (i.e. U-shaped) is both "dangerous and a myth". This myth sets up a world where you can only program if you are a rock star or a ninja. It is actively harmful in that is keeping people from learning programming, driving people out of programming, and it is preventing "most of the growth and the improvement we’d like to see", he said to a big round of applause.
DIMOC, which means that component will "Do It Myself Or Callback". Nothing too clever, but the operative word here is "OR": the child component is offering a contract to EITHER manage its own state (which we might also assume includes some sort of persistence) OR take a callback to tell its parent about everything it wants to have done to itself.
In 2005, Ruby on Rails was a breath of fresh air, and brought a revolution in how we build applications on the web. It had cutting edge ideas, and real solutions to the problems people were facing at the time. That was 8 years ago. If rails were to launch in todays world, would anyone even notice?
Native multi-model databases combine different data models like documents or graphs in one tool and even allow to mix them in a single query. How can this concept compete with a pure document store like MongoDB or a graph database like Neo4j? I myself and a lot of folks in the community asked that question.
Today I’ll share you how I created a colorful cityscape in Adobe Illustrator.
Because we’ve tied blogging and teaching and tweeting to hireability, plenty of people enter into the bazaar not because they particularly want to, but because they must do so in order to "prove their worth" to potential employers or clients.
We haven’t been afraid to experiment with new localization models and tools, going against localization industry norms and achieving great things along the way. At Netflix we are given the freedom to trailblaze.
CockroachDB enables developers to build scalable applications that can survive datacenter-scale outages without breaking a sweat. With strong consistency and transactions, CockroachDB frees developers to focus on what matters, instead of engineering solutions to database shortcomings.
We have to accept that the system can fail in ways we can’t anticipate, so it’s more important to measure important behaviours in production rather than trying to catch every possible case in development.
In this post, I’m going to take a look at some common scenarios where you might want to "undo" a change you’ve made and the best way to do it using Git.
– Kroppen är ett ekosystem, allt hänger ihop. Vi borde lära oss att säga ifrån och att inte göra någonting alls en stund varje dag
If your people don’t think you care about them, are interested in them, you will be something they put up with instead of somebody they work with.
A lot of "progressive" corporations end up creating mini-Innovation teams internally with their best & brightest, who are told to "act like a startup" and end up basically creating 75% of all the new stuff ... until it requires an interface to a legacy system and the devs outside the team refuse to cooperate out of fear.
Today, we’re open-sourcing Facebook Infer, a static program analyzer that Facebook uses to identify bugs before mobile code is shipped
Separation logic is a novel kind of mathematical logic which facilitates reasoning about mutations to computer memory. It enables scalability by breaking reasoning into chunks corresponding to local operations on memory, and then composing the reasoning chunks together.
Answer 5 questions every week, get reports of your happiness at work
These design guidelines will help any designer who’s building neat things for iOS get started within seconds.
When unit testing React components the common approach has been to render them into a DOM (with something like jsdom) and run some assertions against them with the help of the React TestUtils. This has changed in 0.13 where an early implementation of shallow rendering is now ready to use.
You can set the icon that the user sees when they pin your site by providing a vector image. Use 100% black for all vectors with a transparent background in SVG format and add the following markup to all webpages that the icon should represent (replacing "website_icon" with your own file’s name).
Shadow copying enables assemblies that are used in an application domain to be updated without unloading the application domain. This is particularly useful for applications that must be available continuously, such as ASP.NET sites. The common language runtime locks an assembly file when the assembly is loaded, so the file cannot be updated until the assembly is unloaded. The only way to unload an assembly from an application domain is by unloading the application domain, so under normal circumstances, an assembly cannot be updated on disk until all the application domains that are using it have been unloaded. When an application domain is configured to shadow copy files, assemblies from the application path are copied to another location and loaded from that location. The copy is locked, but the original assembly file is unlocked and can be updated.
These apps aren’t packaged and deployed through stores, they’re just websites that took all the right vitamins. They keep the web’s ask-when-you-need-it permission model and add in new capabilities like being top-level in your task switcher, on your home screen, and in your notification tray. Users don’t have to make a heavyweight choice up-front and don’t implicitly sign up for something dangerous just by clicking on a link. Sites that want to send you notifications or be on your home screen have to earn that right over time as you use them more and more. They progressively become "apps".
This report is intended to bring awareness to what is happening in the identity design field. Be educated by this, stand on the shoulders of others to advance our industry, but please do not consider this report a suggestion of what your next project should look like.
Each session would show how to dive into an unknown code base, depending on the level of abstraction you are. So we could start with "black box" testing sessions and then, once we have our safety net, we would start with "white box" sessions. Of course, during each of the sessions, we would write a lot of automated tests and we would do a lot of refactoring.
This article will focus on the new selectors not discussed in my previous article. Browser support for many of these is pretty poor, so I don’t recommend using many of these in production. View this post as a peek into what’s to come when the spec is further along and browsers start their implementations. I’ve included demos for those that have support.
I know that if an element on a black background has a screen blend mode applied to it, it will be fully opaque. While if it’s on a white background, the element in question becomes completely transparent. So in order to achieve the semi-transparency we were looking for, using a shade of gray as the background will do the trick.
ECMAScript 6 is the upcoming version of the ECMAScript standard. This standard is targeting ratification in June 2015. ES2015 is a significant update to the language, and the first update to the language since ES5 was standardized in 2009. Implementation of these features in major JavaScript engines is underway now.
In this post, I outline the techniques and resources I used to become a good JavaScript developer, based on my experience in the last 5 years. Most of the web developers nowadays face the same problem: They have to excel at multiple different fields, from databases to backend architecture to frontend user interfaces to polishing these UIs with good knowledge of CSS.
– Kanske kan man tänka sig en intensivhelg i Javascript i skärgården. Och en mötesplats där man kan komma och labba med teknik och lära sig. Man ska inte behöva vara tekniknörd, bara ha ett genuint intresse, säger hon.
Where X=javascript. This guide has quite deliberately only covered the JavaScript language itself.
The problems with how TDD is typically introduced are fundamental, because they put the learner on a path that leads to a destination which might resemble where they want to go, but doesn’t actually show them the way to the promised destination itself.
Some Pages are marked Very responsive to messages below the cover photo to let you know which Pages are likely to reply to messages. These Pages have responded to at least 90% of messages and maintained a median response time of 5 minutes for all replies sent over the last 7 days.
Today I’m pleased to announce that cross-browser work has begun on WebAssembly, a new intermediate representation for safe code on the Web. WebAssembly, "wasm" for short, .wasm filename suffix, a new binary syntax for low-level safe code, initially co-expressive with asm.js, but in the long run able to diverge from JS’s semantics, in order to best serve as common object-level format for multiple source-level programming languages.
Neural net "dreams"— generated purely from random noise, using a network trained on places by MIT Computer Science and AI Laboratory
User testing continually shows that placeholders in form fields often hurt usability more than help it.
Here’s a checklist of 14 guidelines to follow for mobile input field UX
For more than a year now, React.js has changed the way we think about client-side applications through concepts such as the virtual dom, one-way data flow, immutable data structures and isomorphism.
I’d like to propose that instead of using the term "isomorphic" to denote code that runs in servers, browsers, and mobile devices we use the word "universal".
Nobody knew what the hell it meant, but now instead of just writing JavaScript the people were writing Isomorphic JavaScript.
Almost every new tech startup needs knowledgeable JavaScript application developers on staff. This book exists for one purpose: to help you gain the knowledge you need to build complete JavaScript applications that are easy to extend and maintain.
Förr sa man att affärssystem håller i sju åtta år, men leverantörerna har lyckats hålla liv i dem i tjugo år. Om man ser på de affärssystem som var moderna på 1990-talet så har de ju 20 år på nacken nu. Och det är klart att även om livslängden ökat och de försöker förnya sig så finns det ett bäst före-datum och det närmar sig nu.
By publishing a Interoperable CSS Standard, we’re hoping to unify the way we can treat CSS as a multi-file language, to then explore the impact that has on the authoring process.
With Notegraphy, you can create beautifully formatted layouts in real-time. Be it a single word, or an entire novel, in only three steps -write, style and share-, your text will be ‘Always Beautiful’.
Det var flera som sa att de inte kunde så många av de tekniker som stod under meriterande och därför trodde att de inte kunde söka tjänsten. De föreslog också att vi skulle skriva vilka egenskaper eller vilken typ av person som vi sökte
Learn about the limitations of classical inheritance, and the power and flexibility of prototypal OO that exists natively in JavaScript
The best way for AI machines to learn is by feeding them huge data sets of annotated examples, and the Daily Mail has unwittingly created one.
switch ... case tends to encourage spaghetti code, while method lookup tends to encourage well-organized, object oriented code. It’s far too common to find implementations of switch ... case which break the principles of high cohesion and separation of concerns.
The duo made technical decisions for Instagram using a principle which favored practicality over perfection: "If it solves a problem and gets us closer to launch, let’s do it."
Svensken drömmer om ett liv utomlands. Sol och värme lockar, men även lusten att upptäcka nya kulturer. Här är fem sätt att ta dig ut i världen. (via Här är fem sätt som tar dig ut i världen - DN.SE)
Historically, it was impossible to send filenames containing non-ASCII characters without doing browser sniffing, and varying the response based on the detected browser. With the work leading to RFCs 5987 and 6266, and the subsequent improvements in IE and Chrome, and finally in Safari 6, the sitution has improved a lot.
Angular currently dominates the front end component library landscape, but judging by these results, React seems poised to give Angular a run for its money in the coming months.
Vi får lägga mycket tid på bakåtkompatibilitet, med otaliga fallbacklösningar och specialgrepp för enskilda webbläsare och enheter som konsekvens. På grund av detta började vi för något år sedan utforska möjligheten till att köra samma kod både på servern och webbläsaren.
React lets you build great user interfaces for your app. Meteor solves the rest of the problem – server and database hosting, data synchronization, access control, live data updates and optimistic UI. If you want to try React, Meteor is the easiest way to build your app.
With React 0.14, we’re continuing to let React mature and to make minor changes as the APIs continue to settle down.
Repurposing HTML elements into custom widgets is common practice on the web, but making your widgets cross-platform and cross-device is another matter. HTML, CSS and JavaScript is only part of the story.
The 0.13.0 improvements to React Components are often framed as "es6 classes" but being able to use the new class syntax isn’t really the big change. The main thing of note in 0.13 is that React Components are no longer special objects that need to be created using a specific method (createClass()). One of the benefits of this change is that you can use the es6 class syntax, but also tons of other patterns work as well!
React is very popular at the moment, and I can see why: its developer ergonomics are very attractive. JSX and vDOM are really nice to work with, and it certainly enables composability. But, being the performance-minded person that I am, I wanted to test the claims that it’s default-fast.
I don’t think Virtual DOM claims to be faster than doing Vanilla DOM, and that’s not really the point. The point is productivity. You can write very well optimized code in Vanilla DOM but this might require a lot of expertise and a lot of time even for an experienced team (time that should be spent focusing on making your product).
I’d like to use this post to highlight what I find good rather than focusing on potential bad parts (maybe another post?). I’m going to highlight a few of the new features that I have been using thanks to awesome transpilers like Babel and bleeding edge releases of browsers.
A stamp is a composable factory function. Stamps allow you to inherit easily from multiple ancestors by composing multiple source stamps. You can combine properties, methods, and initializers (with closures) from any number of stamps to produce a new stamp. Stamps are more flexible than traditional factory functions or classical multiple inheritance. Traditional factory functions can’t be composed together to produce new factory functions. Class inheritance does not provide a standardized mechanism for class composition.
1. Be great at an important skill 2. Refine your skills faster than your peers 3. Take your skills to a startup 4. Take on every project from the CEO 5. Teach everyone around you everything you’ve learned 6. Never be negative 7. Get as much equity as you can 8. Bring order to the chaos
Motivation is important, its not just about turning the wheel, but you must find your own motivation by setting achievable milestones and rewarding yourself in some way that helps to keep you focused on the next step, the next step and eventually the big prize.
"...that’s the feeling I get when I see this new wordmark. I know it says "Facebook" but it’s not Facebook."
A friend and I hosted a "Finish it! Weekend" once (as opposed to a "Startup Weekend"). The idea was to get people together for one weekend and finish that last 10% or whatever of a project.
Bringing Classes to Inline Styles
Has web design lost its soul? And is responsive design to blame?
Waze will have access to specific information about drivers — including makes and models of cars to help arrange carpools, Google Account location history to track commute patterns and last reported location, and timing to create events in a user’s Google Calendar. [...] Here’s a short list of all the things Google and Waze can do with all of their shiny new ridesharing data
This guide serves as a mini-tour of tools, trix and patterns that can be used to run async code in Meteor.
We enjoyed using a number of ES6+ features to write our React components. Allow me to highlight some of the ways that these new language features can change the way you write a React app, making it easier and more fun than ever.
She helpfully pointed me to the poster next to mine which proclaimed, "Nothing at Facebook is someone else’s problem." The lady icon needed a shoulder, so I drew it in
It’s a bit hard to understand how Fibers works, and how it relates to Meteor. But once you do, you’ll have a better understanding of how Meteor works internally.
Teamwork. That’s what makes this job really fun. Instead of spending days thinking up a solution for some kind of a problem, you can just ask your team - maybe they’ll bring something fresh to the table.
You are a web programmer. You have users. Your users rate stuff on your site. You want to put the highest-rated stuff at the top and lowest-rated at the bottom. You need some sort of "score" to sort by.
React has seen some quick and wide adoption even in big companies doing big things. The conference showed that people are doing some quite interesting and sometimes crazy things with React, all worth sharing.
You’re not going to remember the 20 extra hours you put in every week when you’re 90. But you will remember the trip to Venice.
One benefit of React that I haven’t seen discussed: Learning it made me feel like I was improving as a programmer. The best way to improve React applications is to learn more about the concepts behind function reactive programming, which is a skill that transfers far beyond the world of frontend development.
Is Facebook doing research with its "Celebrate Pride" feature? Facebook’s data scientists have attracted public scrutiny for conducting experiments on its users: tracking their moods and voting behavior. Much less attention has been given to their ongoing work to better understand collective action and social change online.
Although the Internet has made our lives collectively easier, the dynamic of learning to program totally different from when I was starting out.
Reddit may be functional, but it’s dead. Don’t fix it, use it as the base to build something better, and start fresh to get away from all of the mistakes that were made building this one
I nästan alla enkäter med Generation Y nämns feedbackkulturen som en av de avgörande faktorerna när man väljer arbetsplats. Det gäller inte bara återkoppling på inviduella prestationer. Generation Y förväntar sig att både marknadsstrategier och produktutveckling utvärderas och justeras löpande.
Sean thought it would be fun to create an unique LEGO rendition of the Google logo to capture this idea. From afar, the logo appears clear. As you move closer to it and change your viewing angle, great depth and complexity is revealed.
When a user submits a comment, echochamber.js will save the comment to the user’s LocalStorage, so when they return to the page, they can be confident that their voice is being heard, and feel engaged with your very engaging content. It does not make any HTTP requests. Since LocalStorage is only local, you and your database need not be burdened with other people’s opinions.
A design pattern is a general, reusable solution to a commonly occurring problem.
För ett par dagar sedan fick en twitteranvändare ett förslag på träningsappen efter att han twittrat om hur han sprungit hem till sin lägenhet efter att ha fått veta att den brann.
We are working on an official React package, and we have a prerelease version for you to try. Our goal for the initial release is to provide a great experience for Meteor users who want to use React for part of, or all of, their app’s UI.
Despite its sudden popularity, flat design is not just some fly-by-night trend. It’s a substantial approach to Web design that’s rooted in practicality, and necessity.
While working on front-end, I sometimes need to mark an element or a piece of text as one that will need to be revised later. For ease of use the comment has to be on HTML level. And with some simple CSS styles and use of data attributes I can do just that.
Perhaps it’s a measure to prevent pages looking like a mess like back in the days of Myspace?
Meteor’s solution is simple. Each app or package gets its own namespace. Use global variables as much as you want: Meteor generates a wrapper around your code so that they are "global" only to the app or package that defined them.
There are certain patterns of mistakes and misunderstandings that most meteor developers (myself included) make on their journey toward learning the framework. In this post I’ll catalog some of the most frequent occurrences in the hopes that you can avoid being bitten by at least one of them.
Let’s dig into one of Meteor’s most powerful features, and hopefully clear up some misunderstandings about reactivity.
When iterating over a cursor using {{#each}} a dependency is registered for every single document as well as for the entire query result set. Meaning that a change in a single document will only trigger re-rendering of a single iteration instead of the entire loop. This is a good thing but it has side effects.
Meteor’s built-in collections handle synchronizing data to the browser for you. But this new paradigm comes with its own requirements: order to limit the amount of data and maintain privacy, any real-world app must also include a set of publications and subscriptions in order to make sure the right data is transmitted to the right users. Consequently, publication design is a very important part of building a large scale Meteor app, and it’s often a new challenge for even the most experienced of web developers. So today, we’ll take a look at one of the trickiest problems of publishing data with Meteor: joining across collections.
Cultivating gratitude in the workplace is probably one of the best thing you can do. If you are the founder, take the lead and thank your colleagues and co-worker for the hard work they have done. That little act of appreciation and recognition will go a long way.
Would it be possible to generate a fixed header that could be stored on client and therefore not need to be transmitted? In that scenario, only the payload would need to be sent, which would make this the winning format.
Två timmar är väldigt mycket tid och kanske kan man använda den till att umgås med familjen eller satsa på sig själv istället
The post, which Oracle removed on Tuesday after customers and others took to social media to complain, left some in the security industry wondering if the "nutty" rant was authentic or whether hackers had breached the site to write "mad satire".
Relay addresses these concerns by borrowing important lessons from React: it provides declarative, component-oriented data fetching for React applications.
I’m totally cool with Facebook mining my data if their open source keeps up this pace. GraphQL + Relay are total game changers for structuring web + mobile applications. Code bases get cleaner and more reliable. Less data gets sent over the wire. Other cool libraries are going to be built on top of Relay
We often only see someone else’s end result, but not the time and energy involved. We don’t see the long hours clocked at the studio, the missed social outings, the self-doubt, setbacks and failures. This is the part of the process that we tend to forget when we compare ourselves to others.
There is an infinite number of categories upon which we can compare ourselves and an almost infinite number of people to compare ourselves to. Once we begin down that road, we never find an end.
The web is slow, yet there are a few simple strategies to make websites faster. One of them is inlining critical CSS into the of your pages
Curated collection of beautiful colors, updated daily.
At React.js Conf last January, we introduced the idea of GraphQL: a data fetching language that allows clients to declaratively describe their data requirements. Let’s explore more of GraphQL, it’s core principles, how it works, and what makes it a powerful tool.
setting the width or height of a canvas, even if you are setting it to the same value as before, not only clears the canvas but resets the entire canvas context.
But apps like Instagram are blind — or almost blind. Their gaze goes nowhere except inwards, reluctant to transfer any of their vast powers to others, leading them into quiet deaths. The consequence is that web pages outside social media are dying.
Just learn a bit of ES6 daily, take one kata a day and fix it away.
Even if we, by some miracle, manage to achieve 100% encryption of communications content, we still haven’t solved the whole problem. Unfortunately, today’s protocols still leak a vast amount of useful information via session metadata. And we have no good strategy on the table to defend against it.
Hackup, a hackathon focused around trying new fun technologies, is coming to Uppsala on Sunday 4th October. The next event on Sunday 15th November will be focused on hacking up IBM Watson, their artificially intelligent super computer that famously won against human beings during the US TV show Jeopardy.
"What is the maximum URL length supported by Internet Explorer?" And the answer, as befitting an IEInternals post, is surprisingly complicated.
With CSS Modules, we hope that we’re able to help you and your team maintain as much of your current knowledge of CSS and your product, but become vastly more comfortable and more productive.
React Router is a fantastic routing library, but one downside is that it abstracts away a very crucial piece of application state — the current route!
In this article you’ll learn how to forge your very own Redux application
Instead of focusing on what motivates employees, they’ll focus on not making any mistakes. This is often referred to as "big company syndrome."
"If you don’t agree with the terms of this Privacy Policy, then please don’t use the Service." – Spotify
Vi utvecklar allt internt med ett litet tight team där alla känner varandra. Under utvecklingsprocessen är jag med och testar funktionerna allt eftersom de växer fram. Vi diskuterar mycket detaljer och ändrar en hel del saker under arbetets gång. Man måste klämma och känna på tjänsterna för att veta om de kan funka eller inte.
A Tech Sprint is an opportunity to temporarily leave our ordinary teams and projects behind in order to work on things that don’t fit in the regular schedule. To make a Tech Sprint work, you oftentimes mix people from different product teams. It’s also common to conduct experiments that have the potential to disrupt and improve our current technologies and the way we work.
James Pember lärde sig själv att koda och byggde en digital plattform som låter organisationer skapa säljtävlingar. Hans startup Sparta backas upp av tunga investerare och har nyligen byggt in stöd för det amerikanska kundvårdsföretaget Salesforce.
Om Twitter är regel och Facebook är undantag – då kan den här tioårsperioden snart vara en märklig parentes. Då kommer värderingsmodellerna smärtsamt att återgå till hur de såg ut innan Facebook.
Nihal Mohamed är projektledaren som under det kommande året kommer att utveckla Mjärdevi Science Park ur en internationell synvinkel. - Jag kommer att jobba med många olika grupper, säger Nihal. Främst kommer jag att inrikta mig på internationella studenter vid Linköpings universitet, på Mjärdevianställda som kommer från andra länder och vill träna upp sin svenska samt på akademiskt utbildade från andra länder som inte har fått något jobb i Sverige än.
tis atikle is garbage, purr krap. jus becuz enlish is no good not mean person is trull. only mean person who wrote artikle is dumb than brick.
it’s like a science fictional future where every woman on Earth is dead, and some Dilbert-like engineer has replaced them with badly-designed robots.
We chose Meteor because it gave us synchronized data out of the box.
In other words, the ‘goodness’ of h2 should make up for the overhead of TLS and then some in most cases.
Ingen går säker. Kommuner, myndigheter, företag och organisationer får parodikonton.
Then I’d go on vacation for a week and come back to find 400 unit tests commented out.
Today, we’re releasing the first stable version of the new devtools. We’re calling it version 0.14, but it’s a full rewrite so we think of it more like a 2.0 release.
But if you do take the time to carefully refactor your code when you created nested subprograms (and you should do both: created nested subprograms and carefully refactor your code), the results will be appreciated by all
I cannot fathom why anyone would want to deal with MSBuild for other platforms. There are so many better alternatives. And as bad as MSBuild is for building .NET stuff, at least it’s the right tool for that job. Trying to shoehorn it into some other stack entirely, which you know is just going to cause even more pain? No. Just no.
The goal is to create a way to create open data about menus, ingredients, nutritional values and allergens in a consistent way. We want to make it as easy as possible to reuse the information. We are hoping that the specification will be used by many not only in Sweden as to make using the information fun and easy.
IPFS is a new hypermedia distribution protocol, addressed by content and identities. IPFS enables the creation of completely distributed applications. It aims to make the web faster, safer, and more open.
Starting today, all Neocities web sites are available for viewing, archiving, and hosting by any IPFS node in the world. When another IPFS node chooses to host a site from Neocities, that version of the site will continue to be available, even if Neocities shuts down or stops hosting it.
YouTube supports uploading and playback of 360 degree spherical videos on desktop Chrome. In order to upload a 360 degree video file, you’ll need to modify the file with an app or script before uploading.
This distributed hackathon, taking place over the weekend of October 10th and 11th, will have chapters working out of our meetups all around the world, but you’re also free to work from home or your favorite coffee shop with other developers from anywhere in the world.
We’ve been working on a solution to simplify the process of retrieving server data, and we’re happy to share our solution via open source: Relay.
Today, we’re happy to release React Native for Android. At Facebook we’ve been using React Native in production for over a year now.
Just nu lever vi i en era där vi tror att rätt väg är att vi ska lära människor att prata dataspråk. Jag tror att programmeringskurser för alla är en historisk parentes och att vi istället kommer lära datorer att prata människospråk
Your collection of UX skills learned from Mario becomes the design patterns, flows, information structures, and user observation skills to burn any monster UX challenge between you and your user’s successful experience. Time to be the hero and save the day!
Do you trust your employees to be productive when they’re not in a place you can watch them? Do you trust them to make the most productive use of their time? If your answer is no, why on Earth would you hire them in the first place?
This release adds support for React/JSX, class expressions, and a rich set of new capabilities in the type system. It also provides stricter type checking for object literals.
Back in March 2015, I asked friends for a forecast on how much HTTP traffic that will be HTTP/2 by the end of the year and we arrived at about 10% as a group. Are we getting there?
Det handlar ofta om startups och de har ofta ingen erfarenhet av de hårda krav som finns på medicintekniska produkter. – De känner inte till regelverken. Vi tycker det är bra om de ställer frågor till oss men ibland så är det tyvärr så att även om de får reda på att deras app måste CE-märkas har de så bråttom att sälja att de drar igång en massiv marknadsföring i alla fall.
There is no such thing as the Freakin’ Awesome Karaoke Express (or F.A.K.E., for short). I made it up and paid strangers to pump up its online footprint to make it seem real. I didn’t do it to scam anyone or even for the LULZ. I wanted to see firsthand how the fake reputation economy operates. The investigation led me to an online marketplace where a good reputation comes cheap.
The empty state, or zero data state — as well as the onboarding process often get ignored until the app is nearly compete and someone realizes that when no data exists, the app simply displays a blank screen.
Bloating your flagship product with a million features will lead to client frustration. Creating a new product that solves a client problem with ease? That’s gold.
On September 10 and 11, I had the pleasure to be at NordicJS 2015, Scandinavia’s largest JavaScript conference. Here are my personal highlights and impressions from the event.
We should have apps that install with one (1) command, take five minutes to configure, and scale up to multiple servers and down to shared hosting. If I cannot install your web forum on Dreamhost, you have failed spectacularly.
Social media creates a world for Lucy where A) what everyone else is doing is very out in the open, B) most people present an inflated version of their own existence, and C) the people who chime in the most about their careers are usually those whose careers (or relationships) are going the best, while struggling people tend not to broadcast their situation. This leaves Lucy feeling, incorrectly, like everyone else is doing really well, only adding to her misery
H2O is a new generation HTTP server providing quicker response to users when compared to older generation of web servers.
Using lorem ipsum dolor reduces text-based content to a visual design element (a "shape" of text) instead of valuable information someone is going to have to enter and/or read.
But instead of Lorem Ipsum, Hipster Ipsum, or even Samuel L. Ipsum, I think you should use the first paragraph of a random Wikipedia article.
IoT is one of the least well thought out ideas in quite some time, right up there with the "semantic web". Hopefully it dies a quick death and is resurrected in a more sensible and mature form years down the road
Now we have content blockers, which are basically the nuclear option: if you aren’t going to even attempt to respect your customers, they’re happy to torch your entire infrastructure.
One React pattern that has had the greatest effect on my code is the container component pattern.
Meteor now includes official support for the Angular and React view engines alongside traditional Blaze templates. No matter which you choose, the rest of the Meteor stack works for you – live database queries, Optimistic UI updates, hot code push, and ES2015 features seamlessly tie in to all three engines. As you’d expect, components and other libraries built on React or Angular work well too.
Copyright is supposed to be limited, but eh you know, somebody who descends from someone who around the 1911s wrote a one song, honestly, really, still very much deserves money for their hard work. Otherwise those guys back in 1911 will go back in time and undo what they’ve done, because it was clearly not worth it.
Paying candidates to work on a simple project and then discuss it with our team has almost single handedly eliminated any bad hiring decisions. Paying a candidate that gives you a terrible solution (or no solution) is FAR cheaper (both financially and emotionally) than hiring the wrong person, going through a 3 month performance improvement plan to try to make them the right person and eventually firing them.
Det går inte att betala en faktura via Mitt Klarna utan att anslutas till autogiro
Nisha Kurungat har varit här i två år och upplever det svenska språket som det största hindret för att etablera sig. Men det finns många andra skillnader.
This Service Worker intercepts requests to resources in its scope, checks if the response is an MP4 file. If so, it parses it and determines if there is HTML content in the MP4 file (stored as a primary item in a ‘meta’ box whose handler is 'html’).
If an Android phone was half the cost of an iPhone, the cost difference is $10 a month – or about one hour of work for the lowest paid folks in the United States. One extra hour of work a month to own the best device as your PRIMARY consumption device in the world IS A BARGAIN.
In this article, I’m going to teach you how to integrate React into a Meteor application in a clear, concise, no bullshit way. It’s going to use current best practices, proven packages, and an easy to understand folder/file structure.
"Under some conditions, even a minority opinion can appear to be extremely popular locally," say Lerman and co. That might explain how extreme views can sometimes spread so easily.
Det chockerande är snarare att världen inte gick under. Det skulle man nämligen kunnat tro av somliga reaktioner.
UpUp is a tiny javascript library that makes sure your users can always access your site’s content, even when they’re on a plane, in an elevator, or 20,000 leagues under the sea.
What happens if you take the shoreline of a lake, cut it, and unfurl it?
We—as an industry—are not very good about thinking about how to make engineers effective.
There’s a rule of thumb that if your users aren’t going to need your service once a week, you don’t need to be on their springboard.
Soon, you’ll be able to film a short, looping video clip that will play for anyone who visits your profile. Profile videos will let show a part of yourself you couldn’t before, and add a new dimension to your profile.
Essentially all airline site relaunches in 2015 use responsive design. So the trend towards a unified front-end for all devices is quite clear, in line with the Internet overall. Presumably even the largest airlines will – in time – abandon their existing dedicated mobile sites, and the few "no-mobile" laggards may directly move to responsive design.
In the home screen of Flux, we get a representation of all traffic coming into Netflix from the Internet, and being directed to one of our three AWS Regions. Below is a video capture of this first screen in Flux during a simulation of a Regional failover:
Ja skiter i att det är fejk det är förjävligt ändå.
My proposed solution is to only reference the react-router directly in React components, i.e. not reference the router in Flux actions, dispatchers and stores - so there is only a dependency between the router and the React component layer.
FLIF is a novel lossless image format which outperforms PNG, lossless WebP, lossless BPG and lossless JPEG2000 in terms of compression ratio.
Folio is a simple version control app for designers. It lets you clean up all your duplicates by allowing you to browse and restore previous versions of your design documents.
In case of fire - Imgur
IPFS is a new peer-to-peer hypermedia protocol that aims to supplement, or possibly even replace, the Hypertext Transfer Protocol that rules the web now.
But this is what you should know about autonomous vehicles: They are coming. Inevitably. Inexorably. Coming.
N1 is a new mail client for Mac, Linux and Windows, built on the modern web and designed to be extended.
A look at various browser databases with regard not only to their speed, but to how much they block the DOM.
Idag rapporterar vi att fyra av fem tonåringar använder Snapchat, enligt en färsk rapport. Ingen vuxen fattar varför.
git-fire is a Git plugin that helps in the event of an emergency by adding all current files, committing, and pushing to a new branch (to prevent merge conflicts).
Detects when your tests are being run in a CI server, and makes them pass.
Invariably, one of the first things you’ll do when you start a new React project is implement routing. But assuming you’re able to choose which tool to use, you’ll then be stuck with the problem of spending hours and hours figuring out how to use it.
When I came across Quiescent’s TodoMVC implementation, I saw the power of CSP as a front end application framework itself. This post describes an expanded version of the architecture of that TodoMVC app.
React style guide from Khan Academy
For web platform enthusiasts, the developing ServiceWorker is a wunderkind among APIs. It’s taking a lot on: offline-first control over assets, performance improvements via network interception and cache management, background process enhancements.
Remember each step that you need to do in order to create your next open source project.
Otto — the successor to Vagrant. Otto is the single solution to develop and deploy any application, with first class support for microservices. It is the most powerful tool we’ve built yet.
In idiomatic React code, most of the components you write will be stateless, simply composing other components. We’re introducing a new, simpler syntax for these components where you can take props as an argument and return the element you want to render:
Our goal is to make the open source community more accessible to new contributors, by helping project maintainers lower the barrier to entry through the use of well written issues and documentation.
The best place to learn about tech events and open positions at startups in Uppsala.
The reason I want to know first whether a startup is default alive or default dead is that the rest of the conversation depends on the answer. If the company is default alive, we can talk about ambitious new things they could do. If it’s default dead, we probably need to talk about how to save it.
A full day of both theory and practical tips you should keep in mind to ensure that your website is fast for the end user. These are exciting times when it comes to building websites that are fast. New technologies are making new demands and the speed is no longer a hygiene factor, but a basic functionality that your site must have.
Det är numera välkänt att stora investerare kommit inflygande till de senaste arrangemangen av Uppstart. Här har stora pengar hittat placeringar.
you need to strip away components and to stop when there is nothing else that can be withdrawn and still see the web design functioning as intended.
Välkommen till pitchsamhället. Om du inte förmår sammanfatta din idé på 30–90 sekunder kommer den inte att förverkligas.
Support for HTTP/2 is finally being released with Apache httpd 2.4.17! This pages gives advice on how to build/deploy/configure it. The plan is to update this as people find out new things (read: bugs) or give recommendations on what works best for them.
We’re pleased to announce that we’ve received cross-signatures from IdenTrust, which means that our certificates are now trusted by all major browsers. This is a significant milestone since it means that visitors to websites using Let’s Encrypt certificates can enjoy a secure browsing experience with no special configuration required.
Att det finns gott om entreprenörer med rötterna i Uppsala råder det ingen tvekan om. Svenska miljardbolag som Skype, Klarna och MySQL har alla grundare med bakgrund i studentstaden och mängder av unga startups är idag på framfart. Men någon utpräglad startupkultur har det däremot länge varit brist på. Det menar åtminstone Jason Dainter som arrangerar eventet Uppstart, en Uppsalabaserad motsvarighet till Sthlm Tech Fest.
That is why I’ve started to do intentionally silly projects — projects that have no business value, no market. That way, they don’t risk sliding into work mode.
Facebook tar den roll som tidigare, innan nätet, fylldes av kvälls- och morgonpressen. Men det blir inte på Facebook vi berättar om hur lunchen smakade, hur störande mannen i tågkupén är eller hur vi mår just nu, just här.
Choosing the data structure that’s the absolute tightest fit for the problem at hand is likely a premature optimization
I’m so happy they released this! Few things give me more pleasure than ignoring something engineered at Oracle.
The media object is an image to the left, with descriptive content to the right, like this Facebook story
Back then Julius Caesar wouldn’t send you a tweet. You couldn’t follow Napoleon on Facebook. Or take a look at Gandhi’s Instagram account.
In ECMAScript 6, let does not hoist the variable to the top of the block. If you reference a variable in a block before the let declaration for that variable is encountered, this results in a ReferenceError, because the variable is in a "temporal dead zone" from the start of the block until the declaration is processed.
The thick database paradigm: the only kind of SQL statement that is allowed from outside-of-the-database entities is the primitive anonymous PL/SQL block. Every business function needs just a single round trip to and from the database. Thereafter, the PL/SQL-SQL-PLSQL round trips that implement the business functions take place within the same operating system process
Security best practices in the WebSocket world aren’t firmly established, and continue to evolve. Nevertheless, some themes have emerged and they are described in this article.
In general, do not prefix interfaces with I (e.g. IColor). Because the concept of an interface in TypeScript is much more broad than in C# or Java, the IFoo naming convention is not broadly useful.
Force all developers to delete the project before they leave on Friday, and have them reinstall and set it up every Monday morning (or every other week). This way, you’ll ensure that the process of onboarding people and the whole project’s setup is as simple as possible.
We are using GraphQL and a Relay-like interface to power our Summer Academy. Our students have a SPA interface that they can use to browse the curriculum, watch recorded lectures, and ask questions.
a couple of the tables in the middle of the office landscape. We put them together and installed a mob programming station. One big TV, a smaller screen and the dock for the laptop where the mob programming timer is displayed. A wireless mouse and keyboard together with all our mobile test devices completed the equipment. And there we’ve been ever since.
WebAssembly (short: wasm) is a new binary format for the web, created by Google, Microsoft, Mozilla and others. It will be used for performance critical code and to compile languages other than JavaScript (especially C/C++) to the web platform. It can be seen as a next step for asm.js
I’ve been using React a lot lately. Seeing that I need to add custom code to debug janky fake JS forced into HTML makes me sad.
Using this technique, an attacker can read page’s text partially by CSS only.
Law of Two Feet, which states simply, if at any time you find yourself in any situation where you are neither learning nor contributing – use you two feet and move to some place more to you liking
Things have changed in css land. Finally we can enjoy the simplicity of plain css knowing that classnames are scoped to their own module, and we can compose styles from 3rd-party sources without any danger of conflict.
It’s the API provider’s job to disguise complexity when possible to favor ease of use. As design intimately affects behavior, Lundberg organizes APIs by four distinct behavioral criteria.
Jämställdhet inom tech är inte ett "blame game", det är en konkurrensfaktor. Och Sverige har synnerligen goda förutsättningar att inte bara kopiera Silicon Valley, utan också gå före inom det här området.
We recently released a custom offline experience of our own. When users are offline they will see a Guardian branded page with a simple offline message and, for fun, a crossword to play while they wait for a connection.
react-map-gl provides a React friendly API wrapper around Mapbox GL JS. A webGL based vector tile mapping library.
Once you understand how SVG coordinate systems and transformations work, manipulating SVGs becomes a lot easier and makes a lot more sense. In this article we’re going to go over three of the most important SVG attributes that control SVG coordinate systems: viewport, viewBox, and preserveAspectRatio.
If you’re like me, and starting to tire of the perfectly-linear, SVG line animations stampeding through the web at the moment, add this little trick to your tool belt and let’s get creative!
There lay, dormant, an old-fashioned System font from 1990 — alongside some vintage software routines necessary to render it. Dormant, that is, unless someone asked for it with CSS. Which we, inadvertently, did.
If you’re scratching your head right now in shock and disbelief that opacity would have any effect on which elements are stacked in front of which, welcome to the club. I was similarly shocked when I first stumbled upon this issue.
If you pick Meteor because it’s hot, and not because you understand it, your costs will be higher, your development team will be limited by Meteor’s design decisions
Övervakningen gör det alltså svårare att undvika defekter och avvikelser. Gör det väldigt svårt att arbeta med ständig förbättring.
Three years ago, there was a lot of excitement surrounding Web Components: everybody talked about them, the frameworks Ember and Angular planned to integrate them or even be based on them, etc. By now, that excitement seems to have died down.
First, make it easy. Then make it fast. Then make it pretty.
This is insane. So here you are Mall of Scandinavia, a breakdown on issues you really should fix. Or let someone fix for you.
For years WordPress users have enjoyed a constant stream of new features in the core product as well as plugins. This all adds up a technical design and implementation that is not architectonically as sound as it could be.
There’s a huge need to bridge the gap between content editors and static website generation. Before that happens, static website generation will be reserved for a relatively small subset of today’s websites.
Whether you want your website to feel more like an app, to draw clearer lines between the content and user interface, or to use modern, beautiful fonts with zero latency, you might be interested in using system UI fonts on your website.
Legofy your images with retina support using SVG.
setting core.sharedRepository to group solves my first issues, while removing all access to other users to all files in the repository and setting core.sharedRepository to 0770 will restrict access to the repository to only limited number of people.
None of us would be tied to a specific location for this period of time. I understood that this is our moment. We need to take action. How many times would we both not be tied to a specific location with co-workers, meetings and a tight agenda?
Firewalls and medical devices are extremely vulnerable, and everyone’s pointing fingers
There are currently no other active core members in Bower. ... Personally I find it hilarious how much Bower is used and how little support it gets. Community comments about "killing it as soon as possible" don’t help as well.
Det är medarbetarna som är verksamheten och den främsta uppgiften för ledare är att hjälpa medarbetare att utvecklas, menar hon och Stefan Falk. Men många ledare lägger minimalt med tid på det – vissa ingen tid alls. I stället går de på möten och diskuterar med andra ledare, som jobbar lika lite med medarbetarnas utveckling. Det är slöseri med tid eftersom de egentligen inte känner verksamheten, tycker bokens författare.
For a site as seemingly simple as Medium, it may be surprising how much complexity is behind the scenes.
Många chefer är rädda för att medarbetaren ska bryta ihop, men eftersom de inte vet vad de ska göra så hoppas de bara att det ska gå över av sig självt.
When it comes to app design, 2015 is the Year of the Card. Screen-size cards are everywhere, from websites to native apps and are designed to look like their physical counterparts. It’s an easy way for you to shuffle through a series of digital...
Get ready for our first ever Pop-Up Job Fair! This is an event for startups hiring tech talent for iOS / Android, Backend, C/C++, Database, Data, DevOps, Full Stack, Go, Hardware, HTML/CSS, Java, JS Frontend, JS Node, Mobile, .NET, PHP, Python, QA/Testing, Ruby, Scala, Security, UX Design...and more.
On occasions we do nothing. Or something different. Or something else. Because this means that our teams are more effective. It also means that we are freaking awesome.
If you just want an overview on some best practices, conventions and nifty ways people have done stuff before, this post has you covered.
The idea behind this experiment is to encode a given file in base64, and then create a NAPTR record for each line of the output.
There appears to be a pretty hefty tax to using Frameworks on mobile, especially compared to writing vanilla JavaScript. The fastest is React (under production conditions), which is awesome, but it’s still 3x slower than Vanilla
Critics of frameworks tend to totally miss the value that they provide for people. Paul presents this list of why people use them
One thing that causes even more confusion than Flux is the difference between Flux and Redux, a pattern that was inspired by Flux. In this article I’ll explain the differences between the two.
Kvinnor "förhindras" alltså traditionellt från att bli nördar och släpps ogärna in i denna manligt präglade nördskap.
the quality of Angular’s documentation is running neck-in-neck with the google-translated instructions that came with my second-rate Chinese motherboard
Often when stand ups resemble a status meeting each person is working on their own piece of work and as it is isolated from everyone else, they don’t really need to know what others are doing.
DNS.JS.ORG complements the free webspace provided by GitHub with a free and sleek URL that fits your project.
Imagine if people actually looked forward to your meetings—and it wasn’t because you offered free food. Most meetings are poorly organized, poorly facilitated, and highly inefficient.
This allows you to focus on speed, giving your web apps the same instant loading and regular updates you’re used to seeing in native applications.
A useful mnemonic is "A for array and C for comma."
HTML Imports allow bundling HTML/CSS/JS as a single resource. While useful by themselves, this idea becomes extremely powerful in the world of Web Components.
If my boss had really wanted me to start acting like a manager in order for him to promote me into that role, he should have left a void in the organization for me to fill.
Debounce and throttle are two concepts that we can use in JavaScript to increase the control of our function executions, specially useful in event handlers.
It’s unlikely any engineer works entirely in isolation. Understanding people’s feelings and perspectives is an important part of working in a team.
You’ll leave this course with the tools you need to profile apps and identify the causes of jank. You’ll explore the browser’s rendering pipeline and uncover patterns that make it easy to build performant apps.
Let’s take a closer look at a few airline websites from around the world. Along the way, we’ll discover the critical steps of booking air travel and how they’re presented by different companies.
One of the factors we all appreciated the most was being all together in a room dedicated for the team and the project. If you are in an office, the change from being just one room apart is a huge boost to the social aspects of the team and the collaboration made possible by putting sketches up on the wall and just leaning over to talk about something is invaluable.
What does a team need in order to be happy? - No hidden agendas. - Being co-located, preferably in the same room. - Agreement regarding how the group makes decisions. - Good talk. - Defined Roles. - Laugh together. - Celebrate often. - A sense of purpose and progress towards the goal. - Understanding and acceptance of diversity in the group. - Shared spaces for communication, ideas, progress and checklists. - Shared understanding of what it is that group wants to achieve. - Shared understanding for the the decisions made by the group and the sponsor. - Care about each other as people.
Slack time happens when any team member for whatever reasons restrains to do the task they would typically do, e.g. a developer doesn’t develop new features. It is used to do other tasks, that usually result in improvements of all sorts.
Here are four ways to ensure you never overstay your welcome during a networking conversation.
I plan to withdraw the Object.observe proposal from TC39 (where it currently sits at stage 2 in the ES spec process), and hope to remove support from V8 by the end of the year
If you want to know whether a variable v has a value, you normally have to check for both undefined and null.
Avoid awkward and difficult page layouts by fitting flexible templates to content whenever possible. Test often during design, and plan to scale up.
I recently researched font loading again as I wanted to use a local copy of a font and serve it as fast and smooth as possible.
The yeti has landed. Foundation 6 is finally here! It’s been a long but incredibly rewarding journey, and we’re absolutely thrilled to share with you the best version of Foundation yet.
UDP Priming. In essence, before we send out the feed request over TCP, we send an encrypted UDP packet to the server, containing the feed request. The purpose of doing this is to give a hint to the server to kick off fetching and caching of data much earlier. When the actual feed request arrives over TCP, the server can then simply construct the response from cached content and send it back. Enabling this technique allowed us to gain several hundred milliseconds more.
Mocha does way too much and gives developers way too many assertion choices, and that leads to analysis paralysis and lost productivity.
They had written their tests in such a way that they didn’t have to change the tests when the functionality changed. That of course means that the tests weren’t testing the functionality, so whatever they were testing was of little value.
A very simple Node.js applications that increments a counter stored on Redis. I want to run Redis and the node application independently as I want to have the ability to scale the node application depending on the load.
Linköping är bra på att ta hand om sina talanger. I regionen har universitetet ett innovationskontor som kan fånga upp talanger tidigt och entreprenörerna kan därefter ta sig vidare till Lead, en av Sveriges bästa företagsinkubatorer.
What’s up with WordPress and JavaScript? Are they ditching PHP and moving to JavaScript?
Solutions like Browserify and Webpack are in my opinion hacks because they highlight the shortcomings of HTTP/1. If you’re after something that can handle your dependencies and allow you to write specifications compliant future Javascript for the client-side, I would choose JSPM.
Go forth and make great apps that don’t require installs or updates, are of the web, with URLs and which are progressively enhanced.
"Progressive Web Apps" is an umbrella term for modern, performant web apps that cleverly take advantage of technologies like web manifest, push notifications, service worker, responsive web design, etc. to provide a top-tier experience on mobile.
I decided to put these ideas together and build a webapp with a rich, interactive experience that’s every bit as compelling as a native app, but is also "just" a web site. Following guidelines from the Chrome team, I built Pokedex.org – a progressive webapp that works offline, can be launched from the home screen, and runs at 60 FPS even on mediocre Android phones. This blog post explains how I did it.
What we need is a method of "installing" web apps so they are indistinguishable from any other app installed on a user’s device. But at the same time, we don’t want to lose the powerful features that are central to the web platform: linkability, view source, and the ability to host our own stuff.
...created with one eye towards Dribbble. Things that look great but don’t work well. Perfect pixel executions of flat design, but they don’t address real business goals, solve real problems people have every day, or take a full business ecosystem into consideration.
We have officially deployed and launched Sass support in our publishing toolchain, and are releasing our first set of Sass stylesheets into production. In the coming months, we’ll be continuing to add new designs to our Sass stylesheet corpus, as well as iteratively improve existing templates.
Many different approaches will work—but you need to understand the benefits and risks of each approach.
In order for us to learn more effectively from programs of such size, here’s what we are doing for retro at scale, designed by Henrik Kniberg, and refined through couple executions!
we already have a serialized form of all the react-router state: the URL. All we have to do is store the URL in the app state and keep it in sync with react-router, and the app state has everything it needs to render the UI.
We’ve put together this essential reading list for those of you looking for the best resources out there on ServiceWorker.
Awkward UI is a missing a loading indicator. It’s forgetting to tell your customer where something went wrong. Bonus points for doing so with a scary error message. It’s a graph that looks weird with only a few data points. It’s a linear snap into place when introducing a new piece of data.
The definition of an application’s UI as a pure function of application state.
An attempt to be a little cleverer with how service-worker intercepts requests in order to emulate server push.
Having all your apps in containers seems nice, but you just can’t figure out where to start? Start with a blog, so you can tell everyone else how you did it! In this post you’ll see how to get started with Ghost proxied behind nginx
Can I rely on the Web Platform features to build my app? An overview of the device integration HTML5 APIs
Ett nytt EU-direktiv tvingar bankerna att bygga om sina internetbanker och öppna sina tjänster för konkurrens från snabbväxande tech-entreprenörer.
Do you want to give users a quick, easy and painless experience or do you want to give them a hassle? If you want to make their experience quick, easy and painless, consider using top aligned labels for your form fields.
This is an isochronic map – isochrones being lines joining points accessible in the same amount of time – and it tells a story about how travel was changing.
Förlorad effektivitet i arbetet på grund av brister i digital arbetsmiljö uppskattas i rapporten till mångmiljardbelopp per år. Kostnader för belastningsskador, sjukskrivningar och sjuknärvaro är också höga men svåra att beräkna, enligt rapporten.
Stop considering it impressive to give away more of your labor for free than the guy next to you. Stop feeling guilty for asking, "what’s in it for me," when your company implies that your 8 hour days should balloon to 10 hour ones. Stop thinking that donating an extra 20-40% of your working hours for a possible promotion in 5 years is anything but a terrible time investment. Stop participating in sucker culture.
With some careful instrumentation and adoption of object pools, you can reduce this burden on your frame rate, and reclaim that time for more awesome things.
Tänk på vad era ord kan göra med en annan människa. Hur mycket de kan skada. Det räckte med en mening för att förstöra, men det tycks närmast omöjligt att laga.
Mark Zuckerberg announced Tuesday that he’s giving away 99% of his Facebook shares — valued at $45 billion today —during his lifetime.
The six main reasons people work are: play, purpose, potential, emotional pressure, economic pressure, and inertia.
Motivation and boredom represent two ends of the same spectrum, understood via ‘symptom’ emotions, attitudes and behaviours. At any given point in time employees are operating somewhere along the continuum from high-motivation to boredom (demotivation) in response to workplace features that promote or repress motivation.
There are chances that malware authors implement some kind of trolling so that a malware analyst has a hard time figuring out code during static analysis
One can assume that tech companies who don’t obey the Fundamental Law of Growth will eventually lose access to capital, drastically slow their growth, and watch their valuations plummet — those fabled unicorns will eventually emerge as donkeys.
Partial application takes a function and from it builds a function which takes fewer arguments, currying builds functions which take multiple arguments by composition of functions which each take a single argument.
Consider starting the commit message with an applicable emoji
On Snapchat, users share less polished and more authentic moments, which allows you to see more about someone’s real life. In between our highs and our lows is where we live our life. It’s what our day to day really looks like.
We’re happy to announce that Let’s Encrypt has entered Public Beta. Invitations are no longer needed in order to get free certificates from Let’s Encrypt.
Understanding the basics can help you avoid common pitfalls, better design your experiments, and ultimately do a better job in improving the effectiveness of your website.
Open source software for developing world hospitals
En del av resultatet från undersökningen kan hjälpa till att förklara varför kvinnor inte blir programmerare och varför de väljer att lämna yrket. Det verkar faktiskt som att de inte trivs, att det är något som saknas.
Here’s our take on looking at the past, understanding the present, and anticipating what the future holds for UX in 2016.
I was impressed by Uber’s localization efforts. From changing the colors of cars in the interface to rearranging ride options, there were several well-thought-out solutions Uber presented in their app.
If only there was some kind of visual decision tree that would let you quickly identify the few status codes that were relevant to your situation so you could ignore the obsolete and irrelevant ones.
Att barn i högutbildade familjer spenderar mindre tid med den digitala tekniken beror inte på låga inkomster, utan handlar om att föräldrarna medvetet sätter gränser för barnens tillgång till apparaterna
SBAB har överenskommit med ägarna till Booli om förvärv av aktierna i Booli Search Technologies AB
Han räknar också upp exempel på framgångsrika delningstjänster, som Skype och Spotify.
I expect team performance to improve with agile methods. But if you really want high-performance you need to improve the entire system–and that is management work.
Designed to create data-driven sites with no database. Pages can pull in data (synchronously or asynchronously via Promises) at build time.
The Times also asked other news organizations to have sites fully on HTTPS by the end of 2015. Only a handful of organizations — the Times is not one of them — have adopted the protocol.
Encouraging employees to feel like owners produces behaviors relevant to their work as well as those outside of their jobs
Sketches are a fast and low-cost means of making ideas tangible, adding fidelity to them, and putting them together into layouts and clickable prototypes'the key points being fast and low-cost.
Företaget Onlinepizza gjorde förra året tolv miljoner i ren vinst, utan att baka en enda pizza. Nu protesterar 44 pizzerior i Göteborg mot höga avgifter och premier.
Skim through this Jade tutorial to harness the power of this wonderful template language.
when presented with a new problem, it’s incredibly dangerous to continue without pausing to investigate it. You’re severely limiting your creativity, and ultimately the scope of your solutions, without a proper digestive process.
Varför är er webbsida mer komplicerad än den skylt med filmschema som hänger på alla era biografer?
utforma rekryteringsprocesser som i lika hög utsträckning tillfredsställer kandidatens behov och besvarar kandidatens frågor som arbetsgivarens.
I recommend 1920 x 1080 or smaller with a ratio of 16:9, which is 1.777 to 1.
Their design solution seamlessly moves someone from credit card number to expiration date, CVV, and ZIP code. In other words, all the information needed to process a payment.
Maybe that’s what good culture is about. Defaulting to an attitude of support and celebrating others’ successes.
Det är därför ett nöje att få berätta att vi nu har stöd för PHP 7 i våra webbhotellspaket.
Talk to the women in your network as any other professional contact. Talk to them as the smart valuable people they are. Never hire a woman, hire a talent.
The current fad for short learn-to-code courses is selling people a lie and will do nothing to help the skills shortage for professional programmers.
Today, more than 99% of our traffic is redirected to HTTPS.
Configuring Content Security Policy involves adding the Content-Security-Policy HTTP header to a web page and giving it values to control resources the user agent is allowed to load for that page.
Sentry provides real-time crash reporting for your web apps, mobile apps, and games.
Kanske är detta vad Mall of Scandinavia syftar på med sin slogan "unexpected shopping". Att marknadsföra något stenhårt och sedan inte sälja det är oväntat, men får onekligen en massproducerad vara att kännas exklusiv.
The fallacy is to think that social networks are just made up of people. They’re not; social networks consist of people who are connected by a shared object.
But teams are not an entity in Jira. So how should you go about distributing tasks between your different teams in JIRA?
The one thing that I’ve seen foster the best relationships between designers and developers is having them sit right next to each other
Dagligen gör vi flera kodändringar i produktion, hur kan vi det utan att störa för användare och affär?
You can care about accessibility issues without being affected by a disability yourself. In many ways, making your apps and sites accessible benefits everyone.
Netflix is fond of saying it hires only "fully formed adults," and the company treats them as such – bestowing on them great amounts of freedom so they can take risks and innovate without being bogged down by process.
Treat employees like children and you increase the odds they’ll act like children.
Want to see how popular web apps handle their signup experiences? Here’s every one I’ve ever reviewed, in one handy list.
But please, don’t go as far as having a Kanmaster, Kanban-host, The Khan (yes I have seen this role) or the Kanban lord.
Candidates are also reviewing a company. They’ll be dedicating several years of their lives to this workplace and will be looking at the interview filter to see what it takes to get in.
this indicates that we are in good shape here, and can compile C and C++ to WebAssembly today
När man som besökare på en sajt klickar på en länk till en artikel från en annan sajt hamnar man först på Strossles personifierade landningssida med förslag på fler artiklar att läsa. Sedan kan man välja att klicka sig vidare till den artikel man ursprungligen klickade på, eller också läsa andra artiklar man får upp ögonen för.
These teams say they’re Agile, but they’re just planning (and replanning) frequently. Short cycles and the ability to re-plan are the benefit that Agile gives you. It’s the reward, not the method.
A lot of the things I personally feel passionate about as a manager are things I didn’t get from my own: openness and transparency, showing up to 1:1s regularly, being helped with career development, being allowed to vent once in awhile (and then helped).
Recently I needed to run a series of promises, but I had to also solve a race condition, so they had to run in sequence (i.e. a waterfall).
Radium is a toolset for easily writing React component styles. It resolves browser states and media queries to apply the correct styles to your components, all without selectors, specificity, or source order dependence.