414 karma · joined December 1, 2014
Sometimes when I'm working on something really hard I purposely go to sleep in order to keep thinking about the issue in my half-sleep, when the limit between conscious and unconscious thought starts to fade.
Then more often than not I wake up with an uncontrollable urge to implement a crazy solution that often happens to work.
I believe the credit is still mine, and the mind works in mysterious ways.
I too have been mildly obsessed with the kind of thinking you're developing in your post - very nice article!
I've been very attracted to event-sourcing since I realized that now that React and redux have mostly solved the UI problem what remains to be solved is the problem of how to store our beautiful event-driven data.
EDIT: re-read your comment, felt the need to say that your "current view" is exactly mine too
The article is not that interesting in itself, but the conclusion is a good starting point for a conversation that may be.
> Systems are largely not functional. But they can be.
So, how?
It's living, it's thriving.
I love the fact that tons of great engineers are coming up with new ideas everyday to make my life as a developer easier.
I love hearing a developer at a daily stand-up meeting saying he's been up all night trying out a new shiny thing and concluding by saying it also solves a big issue we had in our product and here's the pull request (timestamp 4am).
The hype is here for a reason. Hype is nothing bad, being excited about your tools makes your days happier.
I love the fact that JS people are never going to take "No" for an answer, constantly pushing the boundaries of what's possible, and making the web standards improve. I love the rise of functional programming. JS is a playground where mathematical theory and all of its beauty meets practice and the real world. It attracts talented people who bring a new perspective to our field. I love the fact that now I have theorems that ensure my login button will work.
> I'm a little lost at why we're using both Webpack and Gulp though.
Same here. I think one of the huge benefits of webpack is that it actually kills a lot of complexity by allowing you to skip gulp/grunt in most cases.
I think most people do not realize that the JS ecosystem is actually removing complexity.
Most people think the JS ecosystem is overly complicated, when in fact, it's just that in JS the complexity is exposed. This allows us to focus on reducing it. In order to address an issue, you must first make it visible.
Nowadays the trend in JS is to use multiple small tools that solve specific issues very well. We have a complexity in setup in exchange for less complexity in development. I argue this is a good thing, because setup is easy to document and only happens once in a project. Whereas you face development complexity every day.
This part from the tutorial is very significant to me:
> I recommend writing everything from scratch yourself
Yes! Yes! Yes! That's the heart of the JS philosophy: the ecosystem is trying very hard to make you understand what you are doing and why. It's giving you the keys to question what you're told and improve it. It's also why there's so much trolling. It's a good thing, question what seems too complex so that people can tackle the issue.
Please, do keep saying JS sucks, it's exactly what makes it so strong.
Do not use a framework, wire-up things yourself so that tomorrow you can repair it or upgrade it easily.
Do not write your router from scratch. But do connect the standard-issue router to your business logic yourself. Don't let someone else plug it in for you. It'll fit, but it won't look as good as if it were custom-made by a great tailor.
Finally, I love the config files. I hear a lot of trolling about all the config files, but I love the fact that I don't need to tell both webpack and mocha how to transpile JS and can just let the .babelrc tell them and everyone else. It's amazing that you can just git clone something and have all your environment setup as the author intended: language variant, linting... with .eslintrc developers using IntelliJ and atom both see the same messages.
Long live JS, or whatever comes next as we improve it!
Honest question: can't we assume that, as population grows, people will just plant more rice?
Sure this cannot be done everywhere, but there's surely some arable land somewhere that can grow, and maybe technology can help in other ways than by manipulating the genome of plants.
For instance, if we had cheap energy or a very efficient desalinating tech, we could desalinate ocean water and cultivate normal rice where there are deserts now...
In France farmers are complaining that the prices of farm products are too low and it sounds like there are many places where we produce way too much for too few consumers.
Instead of playing god to reduce a risk in 2050, can't we try right now to find economical, political, or technical ways to take the surplus from one place and bring it to places where food is already dramatically lacking?
EDIT: formatting
Here's an example of what I mean, a Promises/A+ implementation in less than 100 LOC - just for the fun of it: https://github.com/djfm/promesse/blob/master/lib/promise.js
I think it kinda feels like Haskell, yet browsers understand it :)
Yes!
EDIT: typo
EDIT: phrasing.
(Senior || Very Good) UX Designer
ASAP
We develop open-source e-Commerce software that powers over 250,000 shops worldwide.
We have a cool project to push e-Commerce one step further, I'm the PM and I'm looking for someone who's very good at user research, providing tons of crazy ideas we can test, and saying no to obvious mistakes.
The job is in Paris but we all speak English so there's really no problem if you don't speak French.
Interview will mostly be a workshop with you within the team where we try to come up together with a solution to an e-Commerce related problem. Of course there'll be some unavoidable regular interviews but we're more after talent than good talking.
If interested just email me directly at fmdj@prestashop.com.
We have good people, good tech, you could have a lot of fun.
While h-index and karma are great to measure, well, measurable contribution to the community, it fails to capture the contribution to the community that consists in (and this is true of a lot of other if not of all "karma policies" too):
- sharing what one sees in this community, and spreading it through
other channels
- or even just using the knowledge gathered here
- or, in the best case, using the inspiration found in this community
to help build a better world
I for one read HN articles and comments about 2 hours a day every single day even now at 5am on a Sunday morning after a party. This made me a better programmer, dreamer, and probably a slightly better person too.Yet I speak little and have only a little under 300 karma. I believe, though, that I contribute somehow more to the community than what my karma shows (e.g. by spreading the word about a cool and useful technology at work - say functional reactive programming for instance - and seeing it being adopted or experimented with).
I think attendance matters, too :)
EDIT: list formatting
EDIT2: added bit about FRP cuz, you know, redux
Imho there's nothing special with async actions and you don't necessarily need an addon, they're just actions arriving to the reducer later, and it can't see the difference. Your data fetching is no more async than a user clicking on a button.