HN user

mjackson

516 karma

Co-founder of React Training. http://twitter.com/mjackson

Posts24
Comments66
View on HN
reacttraining.com 6y ago

React Router v5.1 with Hooks

mjackson
2pts0
unpkg.com 9y ago

Show HN: Unpkg – A CDN for stuff on npm

mjackson
9pts0
twitter.com 9y ago

Show HN: GitHub-wide code modding with a bot

mjackson
4pts0
npmcdn.com 9y ago

Show HN: Npmcdn – A CDN for stuff you publish to npm

mjackson
3pts2
medium.com 10y ago

Help – maintaining mental health in SV startups

mjackson
3pts0
medium.com 11y ago

Universal JavaScript

mjackson
1pts0
github.com 11y ago

Monterey – Minimal OOP for JavaScript

mjackson
3pts0
github.com 12y ago

Firework – a distributed, fault-tolerant work queue for Firebase

mjackson
1pts0
www.cube20.org 12y ago

God's Number is 20

mjackson
131pts47
bouncyballs.org 12y ago

Bouncy Balls physics simulation using your microphone

mjackson
3pts0
blog.weare1910.com 12y ago

A Readable Wikipedia

mjackson
1pts0
zenhabits.net 12y ago

Procrastination is a Mindfulness Problem

mjackson
2pts0
newsroom.ucla.edu 12y ago

FDR's policies prolonged Depression by 7 years, UCLA economists calculate (2004)

mjackson
30pts10
codepen.io 13y ago

Glowing CSS-only spinner animation

mjackson
2pts0
stackoverflow.com 13y ago

Google's g_editable HTML attribute

mjackson
1pts0
allthingsd.com 13y ago

9 Model S owners set out to duplicate NYT's route

mjackson
3pts0
github.com 13y ago

AppJS - Build desktop apps using Chromium + node

mjackson
6pts0
www.gothamgal.com 13y ago

Here is what NO looks like

mjackson
2pts0
www.thetimes.co.uk 13y ago

Only the naive want to continue the drug war

mjackson
1pts0
antirez.com 13y ago

Twemproxy, a Redis/memcached proxy from Twitter with auto-sharding

mjackson
90pts8
dev.twitter.com 13y ago

Twitter Certified Products Program

mjackson
2pts0
mjijackson.github.com 14y ago

Show HN: Monterey.js – OO and functional toolkit for ES5 JavaScript

mjackson
1pts0
bryce.vc 14y ago

The Ballerinas of Silicon Valley

mjackson
2pts0
github.com 14y ago

Twitter releases Common Locale Data Repository gem

mjackson
1pts0
React Router v4 FAQ 10 years ago

Hi, one of the authors of the router here :)

Try to insert routing only when you need it. When you're ready for a router, react-router is a great choice. Lots of people are already using it with great success, and you'll find a great community of people willing to help you out.

Karma and Mocha don't do the same thing, so this comparison is weird.

Karma is a test runner. Use Karma to launch and run your tests in real browser instances. There is no better tool available for doing this.

Mocha is used to actually create your test suite. It's great at describing how your tests should run, with stuff like before/afterEach, it.only, describe.skip, etc. Use Mocha to describe which tests you want to run and how they should run.

You can easily load Mocha onto the page in your karma config using the karma-mocha plugin. Then, one line in your karma config and you're done. https://github.com/rackt/react-router/blob/53623216560e34fbe...

As for file watching (also part of the OP) your bundler should be doing that. Use karma-webpack (or whatever tool you're using to create your bundle).

Finally- probably the best thing about Karma is its wide support in the community. You can find a Karma plugin for just about any other tool you might want to use, including launchers for hosted browser environments like Sauce Labs and BrowserStack.

The centralization of information also worries me because it makes it easier for things to disappear. After my arrest, my hosting service closed my account, because I wasn’t able to pay its monthly fee. But at least I had a backup of all my posts in a database on my own web server.

He published this article on Medium? Isn't that a huge contradiction?

That sounds like a terrible design decision.

The author never said it was a good design decision, or even a desirable one. He only said it would be impossibly difficult to do in a purely functional program, which is worth considering. Whether or not it's a good design decision is irrelevant.

Don't React 11 years ago

Co-author of ReactRouter here.

With regards to #2, I used to think that a fully sync render function was a limitation of React, but have come to appreciate the fact that React tries to restrict its concerns to a very small, but significant piece. We've been working on solving the async data fetching use case in the router over the past few months, working with the Relay team as well, and we're starting to converge on some ideas and patterns that we think will help. But it's my personal opinion that sync render isn't a problem.

The point of React is to mix HTML and JS together.

In React, there are no "templates." There's just JavaScript, and then more JavaScript that looks kind of like HTML (JSX). But it's all still JavaScript.

Also, FWIW, I find that one of the largest benefits of React is to have the logic and the representation of the markup inline, together in the same file. It really helps productivity by eliminating the context switching going from js to markup.

We didn't need full diffing and batching of HTML

^^^ That's the point of React. You don't have to do the diff in your head (or in your code).

Awesome stuff James :) I've been having a lot of those weird client vs. server realizations myself. Still getting used to thinking about stuff that renders in both places.

I'm particularly interested in hearing about your ansible + docker setup. I've been using both a lot lately, and trying to figure out the best way to use them together.

Using Go (or Scala or Java or whatever) doesn't magically scale a large system.

Scaling problems in large systems are rarely solved at the micro level, i.e. you don't "scale" by simply gaining the ability to run more operations in a single thread. This is always the problem with "language X is more scalable than Y" debates. From my experience scale has little to do with language, everything to do with how you use it.

This post brings to mind another written by Alex Payne a few years back about scaling in the large vs. scaling in the small:

https://al3x.net/2010/07/27/node.html

The danger with making hand-wavy claims with very few technical details is that it perpetuates the notion that there are certain magic bullets out there that will magically make your system "scale" if you use them. In the past few years we've seen quite a few large companies in SV and SF make the switch to some shiny new language (Scala, anyone?) only to find several million dollars and many months later that they're still having conversations about how to make stuff scale. Only now they're talking about making it happen in a language that is fairly new to their organization and with which they have only a few real experts.

With the $18,000 fellowship, Gan will collaborate with industry and researchers around the world to work on new breakthroughs for data storage devices, and also see how his existing research can be used on a larger scale to rapidly improve the capacity of optics-based information technologies.

$18K seems like a drop in the bucket for powering this kind of research. Dr. Gan needs someone to introduce him to Kickstarter.

Hats off to you guys as well. That's a TON of work. :)

What % of Dart's development is sponsored by Google? Not trying to get a dig in at you guys, but it's also interesting to note that Elixir has come this far without the financial backing of one of the wealthiest tech companies in the world.

I'm constantly impressed by the level of execution of the Elixir project. In ~3 years they have accomplished much more than many other language ecosystems have to date.

It's great to see the core maintainers understand that you need MUCH more than just a compiler, runtime, and std lib to create a truly vibrant ecosystem. The Elixir project includes a standard way to do templating, a powerful and robust shell, a very full-featured unit testing library (not just assert statements), a standard logging system (this is sooo often overlooked), and, to top it all off, a build system that also lets you manage dependencies!

I honestly can't name any other ecosystem where you can just jump in and all these problems are already solved for you by the core project maintainers, instead of by 3rd parties competing for mindshare. It's truly refreshing because it gives the community a common language and toolchain to work with and get stuff done.

Hats off to everyone involved! You guys continue to amaze me.

tl;dr: "We want to build isomorphic apps, so we wrote a new package manager"

Coupling the goal of building isomorphic apps with the need for a new way of managing packages to accomplish that goal doesn't make any sense. How you install packages and manage dependencies has absolutely no bearing on what you can or cannot do with those packages.

In other words, you can write fully isomorphic apps using npm as your package manager. We're already doing it.

FRP streams go beyond promises by allowing many returned values. This is pretty nice, and shows how FRP is at least as powerful as Promises.

The fact that you can only return a single value from a promise is a feature, not a limitation. In synchronous code, you can only return once from a function. In asynchronous promise code, you can only fulfill the promise once. There's a parallel.

If you want to "allow many returned values" you can just use a callback. You hardly need a "stream" for that.

Hum 12 years ago

Although it's not quite the same as a native app, we already have built in support for desktop notifications on all browsers that support them, including some older WebKits.

Hum 12 years ago

No. ;) There is a Mac desktop client but the app will be available on the web as well.

Hum 12 years ago

Thanks for the tip! Just updated by profile.

Hum 12 years ago

Hum is able to both send and receive emails. People who receive stuff you send over email will be able to reply using the usual reply button, but it's not a full-fledged email client. The email integration is there to make it easy for folks who'd like to use it with their existing network of email contacts.

In addition, every Hum user gets an email address at letshum.com that they can use for incoming email.

Hum 12 years ago

You make some excellent points about using email in a support organization. To be fair though, Hum isn't designed to be used by employees in a call center.

Instead, Hum addresses a much more fundamental shift in communication patterns that is already in full swing. Conversations are getting shorter and shorter, and more to the point. Most teens I know never check their email. Many of them don't even have email addresses.

Hum combines some of the core organization elements of email, like threads and subject lines, with features that many people have come to expect from their more modern IM/text/Twitter client like instant updates, presence, typing indicators, @mentions, etc. It strikes a balance between the two that helps bridge the gap from email to a much faster and more productive medium.

Hum 12 years ago

Hey all! Co-founder of HUM here, and happy to answer any questions you may have about it. We've been cranking away on this product for the better part of the past year and are very excited to be rolling it out over the coming weeks.

Huge congrats Sam! I think this move makes a lot of sense for a lot of reasons. You've been cranking out some really great stuff lately. Best of luck to you and YC!

On a project that I'm working I recently converted a ~260 line Rakefile into ~150 lines of gulp ... and our build is now almost instantaneous (took a few seconds to do with Ruby, mainly because we had to shell out to things like the less compiler). Oh, and we were also able to build our gulpfile.js in just a few hours after hearing about it for the first time.

I never went the Grunt route because I just can't get used to programming with massive, multi-tiered object literals. If you've ever seen a Gruntfile, you know what I mean. It's all configuration, very little real code.

With gulp, code trumps configuration. And the result is incredibly concise and fast. I would definitely encourage anyone who has been looking for a decent build system for JavaScript to give gulp some serious consideration. We were pleasantly surprised with the community support as well. There is already a wide array of community plugins for gulp that support many common use cases.

Please, you can make your point without profaning the name of Jesus Christ, a man whom many of us worship and who is dear to our hearts. To use the name of any sacred personage in this manner, as an expletive, conveys a lack of understanding and respect for other people.