Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    C

    Christopher Chedeau

    blog.vjeux.com · Personal blog · on HN since 2011

    Christopher Chedeau (vjeux), a Facebook engineer known for React and Prettier, writes about JavaScript tooling, performance and front-end design.

    Visit blogRSSHN submissions
    Web DevelopmentProgrammingCareer & Work
    What HN says

    HN commenters list it among blogs they follow, and one credits technical blogging on it with bringing job offers. Another links his Excalidraw reflections.

    Stats for nerds
    52HN people shared it
    41linked in comments
    460story points
    Nov 2024last shared
    2011people per year2024

    Top posts on HN

    1. 1
      How Javascript Prototypal Inheritance Really works
      1 person · 115 points · first shared 2011 · 49 comments on HN
    2. 2
      Birth of Prettier
      3 people · 86 points · first shared 2025 · 56 comments on HN
    3. 3
      Morph C++ into Javascript
      1 person · 71 points · first shared 2011 · 13 comments on HN
    4. 4
      URL Object Notation: A better JSON for URLs
      1 person · 54 points · first shared 2011 · 57 comments on HN
    5. 5
      Idea: mouseFreeze, A solution for Browser FPS Games
      1 person · 39 points · first shared 2011 · 16 comments on HN
    6. 6
      Binary File Parsing revisited using Javascript
      1 person · 26 points · first shared 2011 · 6 comments on HN
    7. 7
      Hack is to PHP what ES6 is to JavaScript
      1 person · 10 points · first shared 2014 · Discussion on HN
    8. 8
      12 Years at Meta
      3 people · 9 points · first shared 2024 · 1 comments on HN
    9. 9
      Fixing a 10 years old performance issue
      4 people · 7 points · first shared 2015 · Discussion on HN
    10. 10
      Anatomy of a JavaScript Pretty Printer
      5 people · 4 points · first shared 2017 · 1 comments on HN

    What HN people wrote when they linked it

    • jondotDec 2016

      While this is a good overview of why _they_ chose Vue over React, I wouldn't risk deriving that you should do the same too.

      To balance the scale a bit, this is what they gave up, in favor of "shit that just works" (because this is the tone I'm getting from the article):

      1. They decided they want off the enormous driving force for developer experience that is Facebook, and more importantly the Facebook codebase that shapes decisions in React, see [1] and [2].

      2. They opted out of major innovation that directly stem from (1), see [3].

      3. Parting with Redux, they also decided to part with a community that thinks functionally. This is a big deal not because of writing "pure functional code", but because these group of people can reason about the implications of bad citizenship on the browser - which really, is something the Javascript community really needs.

      4. Moving away from functional-esque (for lack of a better term), they also move away from predictable testing. Forget purity and sideeffects. A good litmus test - think about how easy it is to test any given framework at scale, and if a framework is "built with testing in mind" (read: angular) how many hacks would be involved. When you have good foundations for testing, you can do this [6] and be sure everything can be covered [7] .

      The only thing I see as a down side with React is the bundle size. The physical size. However I'm not worried one bit because of (1) and (2).

      For Redux, I take the liberty to use MobX for…

    • couchandAug 2014

      I’m a huge fan of CoffeeScript and use it wherever I can... It works for the most part but I had to straddle the syntactical line between brittle and overwrought, with all of the extra brackets.

      I don't know what extra brackets are referred to here without code samples, but based on the link to Vjeux's post [0], they are completely unnecessary, given the behavior of React vis-a-vis multiple parameters and CoffeeScript with syntactic whitespace and object literals, at least as of CoffeeScript 1.7... For instance, the example:

      {div, h3, textarea} = React.DOM
      (div {className: 'MarkdownEditor'}, [
      (h3 {}, 'Input'),
      (textarea {onKeyUp: @handleKeyUp, ref: 'textarea'},
      @state.value
      )
      ])

      Could be written with far less punctuation as:

      {div, h3, textarea} = React.DOM
      div
      className: 'MarkdownEditor'
      h3 {}, 'Input'
      textarea
      onKeyUp: @handleKeyUp
      ref: 'textarea'
      @state.value

      (Though I usually pass null as the empty param to make it feel worse...)

      [0]: http://blog.vjeux.com/2013/javascript/react-coffeescript.html

    • zappo2938Oct 2015

      Cropping images is a massive problem for social media. Here is a talk from 2013 by Christopher Chedeau a front end engineer at Facebook describing some of the problems with their image layout algorithms.[1]

      Initially, they tried to solve the problem by getting users to tag people inside the image and then use location of the tags as parameters to crop. If someone is tagged in a photo, Facebook makes sure that person is always inside of the cropped version.

      Here is the write up from Christopher's blog.[2]

      Was Instagram only using square images at one time? That would have been a brilliant way to have solved this problem.

      1. http://blog.vjeux.com/2014/image/image-layout-algorithms-html5devconf.html

      2. http://blog.vjeux.com/2012/image/best-cropping-position.html

    • nojvekMar 2020

      I wrote a simple formatter for outputting json values. It respects maximum line length.

      https://gist.github.com/nojvek/875d8cad1005da0b95da2840bbc894e6

      It implements some of the ideas from https://blog.vjeux.com/2017/javascript/anatomy-of-a-javascript-pretty-printer.html

      Could be re-used for other languages very easily. The core is you have nested group chunks with (indent breakpoint, dedent breakpoint, separator breakpoint, more text chunks and child group chunks).

      when formatting a single line, indent and dedunt breakpoints do nothing, but in multi line format, they specify how text will be laid out.

      The algorithm is simple, try to format in single line if it fits within maxLineLength, if not break into multiple lines, and do that recursively.

    • samarudgeJul 2012

      From the comments

      > I believe it's Google Closure compiler putting commas in there.

      Someone else linked to an explanation of why

      > http://blog.vjeux.com/2011/javascript/javascript-comma-trick.html

      </fact><opinion>

      So from the looks of it, the problem is in Opera's javascript implementation.

      I'm not sure how much Google uses Closure Compiler internally but I wouldn't have thought they would use code they knew to cause issues in some browsers. I guess that ether means the Opera implementation is wrong and the code should work fine, or Google didn't test this as fully as they should have done

    • jessaustinJun 2015

      If you don't insist on JSX, which you don't need, then just use react itself directly in coffeescript, and you won't be able to tell the difference without looking really close. The "canonical" description of this is at [0], but that page is kind of "old". I haven't found value in wrapping everything in parentheses like he recommends. Also that code is using renderComponent() which nowadays should be replaced by some combination of createClass(), createFactory(), and render().

      [0] http://blog.vjeux.com/2013/javascript/react-coffeescript.html

    Related

    Dan Abramovmedium.com/@dan_abramov101 people

    A response to “An experienced JavaScript dev’s account of learning React”

    Dan Abramov
    Personal · last shared 2025
    James Longjlongster.com118 people

    A future for SQL on the web

    James Long
    Personal · last shared 2025
    André Staltzstaltz.com76 people

    Google, Facebook, and Amazon have fundamentally transformed the web

    André Staltz
    Personal · last shared 2026
    August Lilleaasaugustl.com15 people

    The top bug predictor is not technical, it's organizational complexity

    August Lilleaas
    Personal · last shared 2023
    Facebook Engineeringcode.facebook.com552 people

    Relicensing React, Jest, Flow, and Immutable.js

    Facebook Engineering
    Company · last shared 2021
    SurviveJSsurvivejs.com35 people

    Interview with the author of React-like Inferno about JavaScript optimisations

    SurviveJS
    Personal · last shared 2023
    Overreactedoverreacted.io186 people

    Goodbye, Clean Code

    Overreacted
    Personal · last shared 2026
    Stoyan Stefanovphpied.com52 people

    535 ways to reload the page with JavaScript

    Stoyan Stefanov
    Personal · last shared 2026