HNHacker News
TopNewBestAskShowJobs

skellock

133 karma · joined February 15, 2016

submissionscomments
skellock··on A Programming Language Underdog
I tried to phrase it as "wandering down the obscurity path" because I agree with what you're saying: they aren't obscure. They're just not the default choice.
skellock··on A Programming Language Underdog
See, this is what I thought too. Turns out, by compiling to C or C++, you can use their toolchains. Debuggers, codecov, emscripten...
skellock··on A Programming Language Underdog
Nim is my first whitespace-sensitive language. I had no plans to love it. We're now engaged.
skellock··on A Programming Language Underdog
Agreed. I purged a bunch of stuff and still feel like I left too much in.

A couple of bonus facts for you:

- they've got an effects tracking system where you can have the compiler track (and whistleblow!) which functions are pure or not

- their multi-phase compiler allows you to read in source code at build time (from files or external programs!)

- their macro system is typesafe as it operates at the AST level

- the guy who created it will always tell you how he feels

- again with their macro system... there are FP libs, pattern matching libs, and OO libs that can "literally" transform the language to fit your preference

- and one more just for you: they don't support tail call optimization (ducks)

skellock··on A Programming Language Underdog
Post author here. A few things that make me sad in the pants:

- js doesn't have source maps (kinda of a big deal to me)

- some error messages are head scratchers (seem to remember trying to add things to an immutable array not being clear)

- docs could use love (eg seeing more examples of macros in action)

- devel (their nightly compiler) can be rough (e.g. i found the "strings cannot be null" cutover a bit rocky -- my own damn fault, i can't go back to 0.18 after being on 0.18.1)

- the big one I think, however, is adoption. I keep hearing "i'll just use rust or go". That's legit as they're also awesome.

nim's stdlib is massive (too big?) and there's tonnes of high quality packages out there. You won't be left thinking... well, crap, looks like I need to talk to roll this redis layer myself.

EDIT: Formatting. How does it even work?

skellock··on Reactotron – CLI and OS X app for inspecting React Native and JS apps
I'm team Atom and considered a plugin for that. However my Vim friends would have killed me, so I went Electron instead.
skellock··on Reactotron – CLI and OS X app for inspecting React Native and JS apps
+1 for Redux DevTools! Its great! The guy who wrote it is much smarter than me. :)

Reactotron has a slightly broader scope (read: not as feature complete with redux - eg, no time travel debugging). I do have things like api monitoring, logging, error tracking with source maps, and benchmarking.

I couldnt quite fit that in my demo gif. It took 11 takes to get what I settled on. I could use some improvement with that.

skellock··on Reactotron – CLI and OS X app for inspecting React Native and JS apps
In watch mode, most testing frameworks can detect that you saved your test file and re-run it.

With AVA, if you save the file your test is targeting, it will re-run your test.

And every other test targeting it.

And every other test that has a nested dependency on it.

skellock··on Reactotron – CLI and OS X app for inspecting React Native and JS apps
Thanks. There's lots of action going on right now in the tools space.

For React Native there's Redux Dev Tools, Deco, Ignite, Exponent, and this to name a few. All active, interesting, and open.

skellock··on Reactotron – CLI and OS X app for inspecting React Native and JS apps
I absolutely adore AVA. Two way dependency tracking is underhyped.

You've done amazing work. Thank you.

skellock··on Reactotron – CLI and OS X app for inspecting React Native and JS apps
Blessed. It does a lot. Theres also a contrib repo for it that does graphs, a grid sytem, maps (if you can believe it), etc.

Problem is, colorizing the code can be cpu heavy.

skellock··on Reactotron – CLI and OS X app for inspecting React Native and JS apps
The new App supports this when you subscribe to paths in your state tree. It'll tell you: of the keys you're tracking, heres the adds, edits, and deletes. At mutation time.

Redux logger indeed shows you all this info. My goal with this is not to show you everything, but just what matters.

Debugging is a very personal thing. Hell, I remember using MessageBeep() in the 90's to help me debug. Whatever works!

skellock··on Reactotron – CLI and OS X app for inspecting React Native and JS apps
Totally legit concerns.

For me, I have visibilty issues into my apps when they grow. The ability to query your redux state tree for answers at any time without logging is helpful for me.

Same with API calls... wait what did I just send? Thats not right!

The subscribe feature allows you to keep an eye on subsets of your state tree as they change.

Its all about focusing. Which is my achillies heel.

What kind of tools are you using for this now?

Cheers man. Appreciate the honest feedback.