Hacker Newsnew | past | comments | ask | show | jobs | submit | kylepdavis's commentslogin

Great timing. I just showed my kids some of the things you can do with this on the Circuit Playground Bluefruit[1] earlier today. It comes with a lot of sensors and is full of possibilities.

For getting started fast I can't recommend MakeCode[2] enough. It's a web IDE with a compiler and device simulator for programming microcontrollers with blocks or JavaScript/Python.

That said, for more complex projects CircuitPython might be a better choice. There are tons of docs and lots of great examples. It re-runs your code every time you save so you get instant feedback. Also, the vscode-circuitpython[3] plugin has been really nice too.

[1]: https://www.adafruit.com/product/4333

[2]: https://maker.makecode.com

[3]: https://marketplace.visualstudio.com/items?itemName=joedeviv...


Nice overview of jq! You may want to say demonstration rather than illustration though.

I liked jq but liked json, a similar npm package, a little bit better for simple tasks.

You can find more about it here: https://github.com/trentm/json

As a JS dev I tend to have node installed anyhow so I just use a shell alias to wrap ‘node -pe’ these days. It’s not really for shell scripts but it’s great for quick every day usage. Plus you can use JS if needed instead of their DSL.

Here the code for the alias in my shell profile: https://github.com/KylePDavis/dotfiles/blob/master/.profile#...


I felt the same until I finally broke down and did it.

Basically, if you want to use ES6 (or ES7) features and are targeting an environment that might not have native support (browsers) or inconsistent support (browsers, io.js, node.js) then you will inevitebly need or want a build step at some point. You could probably get by with some on-the-fly transpiling for a little bit but I would avoid that as a long-term solution except for maybe in tests.

I highly recommend setting up a build step in any project for BabelJS to ES5, TypeScript to ES5, or my favorite, TypeScript to ES6 to BabelJS to ES5.

Not only will you get awesome language features, you will also get some really great tooling in VS Code or Atom.

Also, it's worth noting that all of these language features are pretty much all optional so you can ease into them.


You can decouple now. Set the TypeScript output target to ES6 and then pass it all through BabelJS.

It works really well for me and the TypeScript tooling is really good (VS Code or Atom).


How do you integrate this into a webpack build? Run the typescript plugin first, then the babel plugin? Is there issues using es7 babel stage 0 features like async/await and decorators if you do this? Thanks :-)


Thanks. Gives a nice overview of when things came about.

A few more that you might consider: CoffeeScript, TypeScript, BrightScript, Nim, Vala, XSL, awk, sed

Also, there is a nice list on Wikipedia for more: https://en.wikipedia.org/wiki/List_of_programming_languages_...


Not really. It has Scheme before Common Lisp which is fine but where is McCarthy's Lisp which was an ancestor of both of them? And Algol is not one language but several: Algol-60, Algol-68, Algol-W, ... And where is Turbo Pascal? There is so much mainstream stuff missing that it's hard to see any point in it; except perhaps an exercise in interactive grapics in which case the content is a kind of lorem ipsum.


I think explicit languages can make things more clear however disagree with the notion that implicit behaviors are necessarily a bad thing.

I've found that the hybrid approach in the MongoDB aggregation framework works really well.

It optimizes things around the first $match to create an optimized initial read (the selectivity of your initial stages is really important). Once you're past the initial read the rest of the pipeline is fully imperative.

This makes things really nice when debugging complex aggregation pipelines. For example, you can simply omit the rest of your pipeline at any point to debug (with a $limit), see what you're dealing with, fix them, and move on to the next one.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: