Yes, it absolutely is an improvement over erlang-style tuples IMO, and it also vastly improves the interoperability story between the stdlib, date/time/calendar libs, and database libs.
HN user
antipax
Quite hard, in fact.
My own personal experience doesn't matter much, though, because ultimately Elixir is Erlang and obviously Erlang has been pushed extremely hard in production (Klarna, Heroku, Riot Games, etc.).
Super excited for this release.
I have to say that learning and using Elixir has been more pleasant than any other language I have ever worked with. Code is easy to follow due to the functional nature of the language, and the community is one of the best out there.
The applications I've written and deployed have been more stable and fault-tolerant than anything else I've ever done, and I've yet to have any performance issues with the language in production.
What? `heroku run bash` also works and is shorter.
Apple will have to respond to this, I think. This is really what the possibility of mobile computing is, not just our information anywhere we want it.
This creates a remote (in this case just another directory on your local machine) and you have to push to it, rather than your commits and changes instantly being synced to dropbox
Reminds me of parsec in Haskell: http://book.realworldhaskell.org/read/using-parsec.html
Agreed on your last point. I stopped reading halfway through because of all the (questionable) assumptions the author made.
I'm a massive fan of Obj-C and I think it could be a great tool for web development, but (other than potential advantages when interacting with Obj-C clients) I don't really see it as having any advantages over other platforms. Windows devs are never going to use Obj-C for their web development and I'm not really convinced OSX/Linux devs are not going to move away from Ruby/Python/PHP/Java, either.
Read these rules for the Xanadu project: http://en.wikipedia.org/wiki/Project_Xanadu#Original_17_rule...
and to me, at least, it becomes very clear why the WWW won the race.
Great write-up, thanks.
Biggest problem with these games (I've found, anyway) is that your sword controller cannot magically stop in mid air when your virtual sword hits another sword or a wall or whatever. It really ruins the immersion.
I'd argue it's already been disrupted by rap.
Hope that when the "smart grid" or whatever you want to call it does come around, it comes with the electricity equivalent of net neutrality.
The Spotify app does it, so I imagine it can if it's been implemented.
Pretty hilarious, considering the author of "node.js is cancer" works for eBay
Yup, I was only talking about the "fish operators" as he calls them.
It's not actually syntax. The language allows you to define infix operators, and they're just functions like any other with full documentation searchable on hoogle: http://www.haskell.org/hoogle/
To be fair, monadic code does not necessarily have side effects. It's just a useful way of thinking about computational steps. `Maybe` is a monad that is completely pure and has no side effects: http://www.haskell.org/ghc/docs/latest/html/libraries/base/s...
I understand that this article is geared towards beginners, so this is probably just a simplification on the author's part. Other than that it's a great article.
Just tried to find a Snap HTTP header on ladygaga.com. Couldn't find it. Definitely curious, do you have any more detail about what they used it for?
Haskell web frameworks are maturing rapidly and the language is a joy to work in, once you learn how to approach problems in it. Haskell has probably not reached the peak of it's popularity yet (and frankly it's overdue for some mainstream love).
I just used it at work to build an ad server. For a web app that has a few well defined features, Snap is awesome and fast, and working in Haskell is totally a joy. It doesn't have the high level functionality that a web framework like rails or django has though. (yet)
Unfortunately, I used the old Snap extension API since the new snaplet API wasn't around when I started! So maybe if I have some time I'll refactor it to use the new API, which looks like it's a lot better than the old extension API.
One cool thing is if you statically link your binary and build on ubuntu 10.04, you can actually just directly deploy binaries to Heroku, even though it's not a supported language. Just throw in a package.json file or whatever to trick Heroku and specify your Snap binary in your Procfile.
THANKS SNAP GUYS!
call a function taking no arguments without using ():
foo = do myfunction
Cool. I don't know that I'd call them sensible in general, though, even if they are sensible for you. Disabling disk image verification permanently, for instance, is probably a bad idea.
Expanded save/load panel by default is awesome, though. So thanks!
Uh, looks exactly like the new Safari downloads window.
To be fair, not really an easter egg.
Kod (http://kodapp.com/) has a node.js-based integrated scripting environment, but I don't know if plugin functionality reaches the power you describe, and I'm not even certain there are any third-party plugins. It would be incredibly powerful, especially since you could probably export plugins as a URL to a minified .js file.
If you have Gmail, you can actually use yourusername+someuniquestringidentifyingwhoyougaveyouraddressto@gmail.com which will still direct all email to your inbox. However, if you decide you no longer want email from a sender, you can simply add a filter that will auto-mark said emails as spam.
It's also pretty cool because you can easily tell who it was that sold your email. :)
Why is the fact that they're switching to WebKit buried in the document so deeply? That's like the best thing they did.
The service is way more than just a simple front for ssh. The fact that you can boot up a free instance, from anywhere, with access to various ports, means that you could theoretically:
Share files with a friend
Run a (sinatra web app? whatever) and get feedback on it for 20 or so minutes
Do anything that requires a few open ports.
And basically anything else you can think of. (of which, I'm sure I've only scratched the surface)It's more than just a shared terminal.
I'll be glad when these so obviously fake "documents" completely disappear.
Clouded Leopard? Really? Why not Cloud Leopard? Does anyone actually think Apple would call a product "Clouded Leopard?" Or that a tiny 7" tablet needs a power-hungry Core 2 Duo?