HNHacker News
TopNewBestAskShowJobs

devinus

859 karma · joined August 20, 2009

[ my public key: https://keybase.io/devinus; my proof: https://keybase.io/devinus/sigs/f2PRejk0UIR3ooFnvpGiiX9rS7UE1XcAZkSYaFM9wQI ]
submissionscomments
devinus··on Elixir, a functional metaprogramming-aware language built on the Erlang VM
For anybody interested, Elixir was accepted into Google Summer of Code 2013 as part of the BEAM Community of projects: http://beamcommunity.github.io/

If you're a student, check out our project ideas here: https://github.com/beamcommunity/beamcommunity.github.com/wi...

devinus··on The Payphone Project
This is a true Hacker project.
devinus··on Quake 3 engine in Rust
This is very cool, but I wonder why people are already inventing different indentation styles for Rust already. Guys, we have the canonical way all Rust code should look from the Rust compiler itself. Let's not all start using disparate styles just because we can like C/C++.
devinus··on Why we're moving away from Ember.js
The great thing about Ember is that it is NOT all all-or-nothing proposition. We have several apps that don't use Ember Data or the router, several that don't use one of the two, and some that use both.
devinus··on Minix 3.2.1 Released
I can't wait for Minix on the RPi!
devinus··on Titanium – a Clojure graph library built on top of Titan
I haven't used it yet, but the reason I plan to use Titan on my next project is because it is the only distributed graph database out there AFAIK.
devinus··on Titanium – a Clojure graph library built on top of Titan
Another Titan library for Clojure is Hermes: https://github.com/gameclosure/hermes
devinus··on Why Discourse uses Ember.js
This is complete FUD. First of all, I'm not familiar with Merb but didn't it merge with Rails? Regarding Rails.app, how is it languishing? Yehuda has given status updates[1] and code is on Github right now[2]. SproutCore continues to be developed to this day[3]. Ember was briefly named Amber for about a day. What are you talking about?

[1]: http://www.kickstarter.com/projects/1397300529/railsapp/post...

[2]: https://github.com/tokaido

[3]: https://github.com/sproutcore/sproutcore

devinus··on Towards a better Erlang - The Excitement of Elixir
I'm reminded of a talk by Rich Hickey in which he recounts his experiences trying to initially make Java more immutable. He concluded that while it was certainly possible, it was less than ideal and that a language such as Clojure facilitated expressing the semantics he wanted to convey. As a thought exercise, I would have you re-implement Spawngrid's mimetypes[1] library in Elixir to better understand what I mean. Email me at devin@devintorr.es and I can further elucidate.

[1]: https://github.com/spawngrid/mimetypes

devinus··on Towards a better Erlang - The Excitement of Elixir
> Elixir looks interesting, but the issues it addresses in Erlang are mostly superficial.

Perhaps if you also view the issues Clojure addresses in Java to be mostly superficial, but I have to politely disagree.

> The language has its quirks, but that mostly fades once you're neck-deep in code.

Respectfully, I would argue that the quirks aren't made apparent until you're neck-deep in code. That's when it really becomes painful.

devinus··on Towards a better Erlang - The Excitement of Elixir
> This doesn't have to be and "either one choice". The great think is both of them live on the wonderful BEAM VM. They both can take advantage of a completely concurrent garbage collector and all the other goodies. Some modules can be written in Erlang some in Elixir.

Quite right. When criticizing Erlang, I make it a point to always specify Erlang the language and never Erlang the ecosystem.

> Elixir it seems very easily can call Erlang functions. I don't know about vice-versa though.

It's trivially easy.

> Now with the records, yes, there has been talk about adding "frames" (the equivalent of dictionaries or hash tables in other languages). The developers are thinking about it and I believe in release after the next or the one after that we might see that.

Yep, and as soon as frames are in Erlang we can begin utilizing them in Elixir too for things like pattern matching within the hash structure. The great thing about Elixir is that we don't have to wait for the OTP developers to implement features that developers want.

devinus··on Towards a better Erlang - The Excitement of Elixir
I can sympathize, I found it's simplicity nice at first. But it quickly wears on you as your codebase grows and you have to refactor. You can find seasoned Erlangers complaining about it's peculiarity often, whether they'll admit it's a problem or not.
devinus··on Towards a better Erlang - The Excitement of Elixir
Developing on Dynamo is already a blessing compared to other Erlang web frameworks[1]. My benchmarking has put simple Dynamo apps on par with barebones Cowboy which isn't surprising given that Dynamo uses Cowboy under the hood.

[1]: http://i.imgur.com/YyAVw1D.png

devinus··on Towards a better Erlang - The Excitement of Elixir
In five months of working with Elixir, I can only think of one issue I've had that's related to importing Erlang records with functions as a default value. Even then, the issue is being thought about[1] and there's already several workarounds. Issues are resolved quickly and Elixir releases happen often.

[1]: https://github.com/elixir-lang/elixir/issues/554

devinus··on Towards a better Erlang - The Excitement of Elixir
Author here. If Erlang's community is small, Elixir has an even smaller community. Elixir did just recently rise to the #56 most popular language on Github[1] from #57 however, so it's on the rise.

[1]: https://github.com/languages/Elixir

devinus··on Erlang OTP Tutorial For Beginners
You can use Poolboy [https://github.com/devinus/poolboy] for pooling gen_server's.
devinus··on Pickadate.js

    // If datePassed is true
    else if ( datePassed === true ) {
Yes, very well documented. >.>
devinus··on Elixir 0.7.1 — A meta-programmable language built on the Erlang VM [video]
Negative. Elixir should be no slower than Erlang as it uses the same data types as Erlang. Elixir tuples are Erlang tuples, Elixir function calls are Erlang function calls, etc.

In practice, you may find that your Elixir code is even faster than the equivalent code you might write in Erlang. Elixir encourages some things like compiling some logic into your modules. For example, Dynamo compiles routes so they're super fast. String.Unicode is compiled from the UnicodeData.txt database itself[1].

[1]: https://github.com/elixir-lang/elixir/blob/master/lib/elixir...

devinus··on Why I Program in Erlang
If you're interested in getting all the benefits of the Erlang VM and OTP, but very little of the bad, please check out Elixir (http://elixir-lang.org/).

It's staggering how fun and easy it is to code in Elixir while leveraging the Erlang platform.

devinus··on Why I Program in Erlang
I'll also recommend you check out Elixir (http://elixir-lang.org/).

We have mix (http://elixir-lang.org/getting_started/mix.html) that is very much inspired by leiningen.

If you like records, we have dynamic records with pattern matching and now exrecord (https://github.com/yrashk/exrecord) for record upgrades.

devinus··on Why I Program in Erlang
I highly recommend you check out Elixir (http://elixir-lang.org/). We also now have Relex (https://github.com/yrashk/relex) which makes making releases a breeze.
devinus··on Crashlytics Labs announces the release of Backbone.StateManager
Just use Ember, guys. Your future selves will thank your past selves.
devinus··on Backbone vs Ember
Backbone is like 600 lines apparently. Of course more apps are going to be built using it, it's like including a snippet of code. What I'm interested in is how much more has to be built on top of those 600 lines of boilerplate to make each of those applications.
devinus··on Flask-Skeleton - a boilerplate for flask
I found this gem of a comment in the code that perfectly described what I ended up having to painfully learn on my own:

  # SQL ORM Missive:
  #
  # Don't use models to automatically generate schemas. After iterating several
  # times with SQLAlchemy (and nearly every other ORM from frameworks both long
  # since dead and still trendy), to get a schema "just right" requires
  # entirely too much fiddling in the ORM. My hard earned lesson: SQL is the
  # right dialect to describe your database's structure (read: do not use an
  # ORM to generate DDL). Other than portability, what's the advantage of
  # describing your schema in SQLAlchemy?
  #
  # For as fantastic as SQLAlchemy is, using SQLAlchemy to generate schema is
  # the equivalent of giving yourself a lobotomy while in the middle of
  # attempting to write a Pulitzer Prize article. Why handicap yourself? Use
  # SQLAlchemy for what it excels at: generating efficient SQL based on
  # mappings between Python classes and database tables. Manually generated
  # schema results in a few extra lines of code in a tiny number of files, but
  # it goes a long ways towards clarity, predictability and
  # explicitness. Automatic schema migrations, you say? l2dba or gtfo.
  #
  # Re: PostgreSQL vs other RDBMS'es. Here's another piece of hard earned
  # knowledge from my last 14yrs of dorking with countless websites and
  # databases: portability to other relational databases is a straw man
  # argument. PostgreSQL is faster, more stable, the most standards conformant
  # relational database, is ridiculously feature rich and cheaper to operate
  # than its alternatives (both in terms of operations and efficiency on
  # hardware), and that's the short list of reasons. If you are building a
  # website, I am unable to produce a single fact based, data driven argument
  # to use MySQL[1]. Hiring? Training?  Replication? Feh, that's FUD. Please
  # stop perpetrating harm on your own organization and applications by
  # succumbing to unfounded beliefs and lemmingism.
  #
  # [1] There are three situations where I would use a different relational
  # database. The first two situations are: 1) if my target hosting platform
  # did not support SystemV shared memory, or 2) I am architecting something
  # for an embedded or mobile device. In the former case, I'd change hosting
  # providers or would fire my system administrator, and in the latter, I'd use
  # SQLite. What's the third case? The answer is DB2, but what's the question?
I wish I had read this comment 2 years ago.
devinus··on Twitter releases new JS template engine: hogan.js
Handlebars is also capable of precompiling AFAIK.
devinus··on Twitter releases new JS template engine: hogan.js
Right now Hogan seems to be slower and appears to have less features than Handlebars: http://jsperf.com/t-bench2/6
devinus··on Twitter releases new JS template engine: hogan.js
So is Hogan, apparently.
devinus··on JQuery Mobile Beta 3 released
Try SproutCore 2.0.
devinus··on Understanding V8
Will there be a transcript available in the future?
devinus··on Ultra high-speed broadband is coming to Kansas City, Kansas
Austin also sprawls very far and there's no reason they would have had to cover the entire city.
← PreviousPage 2 of 3Next →