HNHacker News
TopNewBestAskShowJobs

Ixiaus

3,134 karma · joined June 24, 2009

submissionscomments
Ixiaus··on When would you choose Erlang? (2013)
Haskeller here too. We rely on it [Erlang] for a mission-critical program that runs in an embedded linux environment; we use every touted feature of Erlang/OTP too. While I do miss typeclasses, applicatives, strong and static typing, the Reader monad, lens, Attoparsec, and many other wonderful Haskell experiences -- I can safely say that there is currently no mature and cohesive analog of Erlang's best features in Haskell.

- Easy cross-compilation.

- Out-of-the-box distributed RPC and inter-node connections. Extremely important for our product.

- Supervisor trees (the bees-knees of Erlang).

- Isolation of specific functionality into OTP applications with their own supervision hierarchies (some bound to specific "events", like an AMQP Client coming up upon successful WiFi AP association) - this also protects us from the dreaded "xyz had a bug in it and took down the whole program, it's now bricked".

- Hot code loading and release management. This one is particularly awesome. The node itself is told to upgrade via AMQP, it fetches the latest Release, unpacks it, and rebuilds the engine while driving. There are quite a few built-in safe-guards and checks too until you reach the point of no return in the upgrade. Release management is amazing in Erlang, I have yet to see anything like this in any of the languages I've ever used.

- A proliferation of distributed consensus libraries and utilities thanks to Basho. We use plumtree for replicating the state of each node across its cluster within the user's home. Lots of cool features are possible because of this simple but extremely difficult to get right software.

- The dialyzer isn't anywhere near Haskell's type system but it does give us some useful information and checks.

Ixiaus··on BEAM languages, Hindley–Milner type systems, and new technologies
It would be a phenomenal bit of tech anywhere. We had to go with Erlang for one piece of our product at Plum precisely because there is no analog story in Haskell to the Erlang full story. I would have loved to be able to build that specific piece in Haskell but it made little sense when considering what Erlang/OTP provides.

It's nice to say that the JVM has more resources and is better at XYZ while the BEAM VM is only better at ABC, therefore the Erlang full story should be on the JVM to reap the benefits of both; however, I think that would be unhealthy for Erlang. Different VMs present specialized focuses and I think the areas that BEAM is lacking in can be tackled and brought up to parity instead homogenizing the VM-field and adding to the kitchen-sink that the JVM already is.

Ixiaus··on The Haskell user experience
Your comparison isn't sound. LISPs and MLs are as close together as Apples and Oranges on the functional family tree.

Cabal has its problems and it primarily stems from a lack of any good "this is how you should use it" guides. Cabal is not a package manager!

I cannot force you to like something but I will say this in the hope that you re-evaluate your judgement: if you still think Racket is a much better experience than Haskell and its ecosystem, you likely haven't experienced Haskell in-full. I know both languages and I've used both in production software (including many other functional languages) and I can say without any doubt in my mind that I will never select Racket over Haskell for writing software, if presented the choice.

Are there glaring warts in the language? The ecosystem? The tooling? Sure, nothing is perfect and one can easily point out many more warts in other technologies that are far more popular.

Ixiaus··on Show HN: Erlbus – scalable pub/sub message bus written in Erlang
Did you consider using or contributing to https://github.com/ChicagoBoss/tinymq? I use it extensively for "inter-otp app pub/sub" and it's robust.
Ixiaus··on GitHub Raises $250M at $2B Valuation
This is rad.
Ixiaus··on Atlas General Availability
I don't really use anything of Hashicorp's except for Vagrant. That his been fairly revolutionary for all of the teams I've brought it to. That is, Vagrant + Ansible. A repository of Ansible configuration scripts that can easily be slurped down to provision a Vagrant image means much more portable development environments.

In the case of the company I'm currently at it's even more important because we have a firmware build system with a non-trivial configuration that would take days to replicate correctly (because of all the "missing pieces" required that the original developer forgot to write down when documenting the process post-setting it up).

Ixiaus··on Mnesia and LevelDB: Liberating Mnesia from the limitations of DETS
Plumtree is an excellent alternative to Mnesia: https://github.com/helium/plumtree
Ixiaus··on Skunk Works Reveals Compact Fusion Reactor Details (2014)
Spheromaks, specifically the Dynomak, look much more promising than this.
Ixiaus··on Ask HN: Can we brainstorm a better way to find a co-founder?
If you're technical looking for a cofounder, you should have a prototype built already in order to attract good business / operations people and you should understand that you must own everything and toil for endless hours to get that product built.

If you're business / operations looking for a cofounder, you should have some money raised already and you should understand that you must always be raising. It doesn't stop. Ever. Just as building the product doesn't stop. Ever.

Operations focused people should be really fucking good at sieving hires. Heart, skill, engagement, and team coordination are critical in an early stage startup and hiring one grumpy butt or that intern you think is smart but cheap could really screw you badly.

(just a few thoughts on my numerous lessons learned over building four startups)

Ixiaus··on Orgzly – Orgmode on Mobile
Yes! Finally something usable (ui wise). I can't use it though until I can sync using Google sync...

Would love Google cal sync too, I use that heavily in the other mobile org android app.

Ixiaus··on Choose Boring Technology
Please. Don't. PyPy is not mature and still suffers from many deficiencies in python itself and the community.

I'm not a huge fan of Ruby, but Ruby, its community, and rubinius are doing it much better.

Ixiaus··on Apple Acquires FoundationDB
Chill dude, I was being conversive. Your attitude makes me not even want to provide you with my own data now.
Ixiaus··on Apple Acquires FoundationDB
7000 writes per-second is pretty low for many high-volume time series needs.

Though it's not usually write throughput that most of these technologies are worried about. It's usually compression using dsp methods, aggregate stream folding computations, etc... that matters.

Ixiaus··on Amazon RDS now supports PostgreSQL 9.4.1
But they do support read replicas, surely cross region read replicas is coming soon?
Ixiaus··on ReadMe (YC W15) Creates Crisp Documentation for Developers Using Your APIs
For those that want a lower-tech but scalable solution that can integrate easily with your build tool:

AWS S3, NGINX + AWS Signing Plugin + Basic Auth, reStructuredText, and CircleCI.

Very cheap, super easy to scale, and basic authentication for private. Use your own domain, have full control over the domains and which S3 buckets your route to, and use ReadTheDocs templates which are great for documentation.

Ixiaus··on Any good open-source self-hosted evernote alternatives?
Right and the ability to customize every nuance of it w/ a tiny bit of Emacs Lisp (or not, that's not required) has been great.

For example I didn't quite like how org-drill, a spaced repetition extension for org-mode, handled flash-card grouping and drill selection at run-time so I completely customized it with my own group selection interface.

Ixiaus··on Any good open-source self-hosted evernote alternatives?
MobileOrg (the extension to org-mode in Emacs) requires an index.org file that points at the org files you want to export. You configure it to dump out anything from that index to a specified directory.

You then use something to sync that file tree to any of your devices. I used BTSync for a bit but found it annoying and I now use Google Drive with a GDrive syncing client on my phone so that the mobile-org Android app is always up-to-date.

It's bi-directional and they use a checksum matching scheme and some import tooling that allows you to suck in changes to those index files from other clients.

Ixiaus··on Any good open-source self-hosted evernote alternatives?
Amazed no one has mentioned Emacs' org-mode yet. Nothing I've ever tried comes close to the flexibility and usefulness of org-mode in Emacs.

Combined w/ MobileOrg sync and the MobileOrg app, it serves all of my note-taking needs quite well.

It's much more than dumb text, too, like Evernote. Structured documents with headers, markdown-like formatting, links, fast-capture templates for stray thoughts, an Agenda system (if you want it, you don't need to use it, I do and have it sync w/ my Google Calendar), exportable to HTML and a few other formats (some people even maintain their websites using org-mode).

Keywords for marking entries and a good search system (combined with Helm it's pretty amazing).

Property drawers for entries.

It's a swiss army knife of productivity applications and I use it for note taking, documents, journaling (with automatic GPG encryption of the entry body), my agenda, quick-capture of ideas, tasks, etc... I use it for grocery lists even.

Ixiaus··on Learning Haskell – A Racket programmer's foray into the land of Haskell
It was the same for me. I had two years of production erlang experience before trying Haskell on and it was a rough ride but very worth it (we now use it exclusively in production).
Ixiaus··on Goodbye MongoDB, Hello PostgreSQL
It's easier to go from something more highly structured to something looser. Start with a relational db and let it grow then pay attention to what data gives you the most scale pain and try to move that out to Riak / Cassandra / etc...

Don't prematurely scale, just pay attention to your metrics, scale vertically first, then tackle the very specific pain points.

Ixiaus··on Goodbye MongoDB, Hello PostgreSQL
Postgres for structured data, Riak for high-volume and flatter data, and TempoDB for high-volume time-series data.
Ixiaus··on Goodbye MongoDB, Hello PostgreSQL
Riak is amazing and actually scales. But I would only use Riak for high-volume data storage (similar to S3).

FoundationDB looks great, I haven't used it yet but they appear to have their heads on right.

PostgreSQL, the newer versions, have indexable BJSON data types so you can get the same exact behavior from Postgres as you do from Mongo but with a true RDBMS along with it, a dependable storage engine, etc...

Postgres is harder to scale horizontally though - if you have really high-volume data writes, you should be using something else for that.

I typically use PostgreSQL for all of my highly "structured" data and Riak for high-volume and "flatter" data (Postgres also often serves as an index into those objects).

Ixiaus··on Goodbye MongoDB, Hello PostgreSQL
I came into a company that was attempting to use MongoDB for their soft-real time time-series data (I would consider it between low and medium scale) and it was atrocious, in too many ways.

It doesn't scale without tremendous effort and implicit schemas are a very dangerous thing to introduce into your application, they're insidious, and require enormous diligence in the application to codify the schemas (I would only feel comfortable using a loose document store with something like Haskell in which I can model the schema with strong types).

I've encountered MongoDB in three different companies / products and expended much effort to immediately move away from it in every case. In each case, the solution (which has been different each time) was far more appropriate to what was needed.

There's a sad inclination by developers to pick "one ring to rule them all" tools and MongoDB I believe even sells itself that way. It is not.

Ixiaus··on The New Haskell.org
This is a step backwards imho. The fit and finish of this site betrays much about the language and its amazing community.

This feels amateurish, with enough people complaining about the interactive repl and lacking information, this should have gone through more iterations and feedback loops with people outside the Haskell community.

Ixiaus··on Haskell in Production
We use Haskell extensively for all of our cloud services software at Plumlife and it has been one of the best engineering decisions of my career.

Amazing language and ecosystem.

Ixiaus··on RapidShare is Shutting down
I have no idea why you're being downvoted but you're absolutely right. You can create a new repo, click on "releases", click on "draft new release". Type in the description in markdown (easier than HTML) and upload a binary attachment, hit publish.

Zero knowledge of git was necessary. Oh and also if you want to edit that README.md? You can do it from inside Github too, still zero need to know git.

Ixiaus··on GnuPG 2.1.2 released
They should use cryptol instead which was recently open sourced.
Ixiaus··on Automating Tinder with Eigenfaces
No, I still think there's a sexist tone, but I will concede that it's more crass than sexist.
Ixiaus··on Automating Tinder with Eigenfaces
I'm not supporting the idea that we should police what people are saying or limit their freedom, I don't condone that.

However I do think there's a place for civil discussion and the idea that we're a social species attempting to all understand each-other, what each-other experience in life, and how we can all interact in a way that's collaborative is extremely important to our collective improvement, I think.

So sure, say whatever you want to say, that's your own right but it will inevitably cut you off or out of the collaborative environment some people desire to be a part of and work hard to create, that is if what you say isn't shaped in such a way to honor and respect other people's own individual experiences and preferences.

My words were intended to be a reminder and not to be taken as policing (even if I wanted to, I can't!)

I firmly believe personal desires and preferences can be freely expressed in a manner that honors the person holding them and also honors the possibly different preferences and desires of other people.

Ixiaus··on Automating Tinder with Eigenfaces
It's a sexist statement because personal taste is implied rather than stated, the question is totally valid but should be phrased in a socially friendlier way. This is the only way for men to overcome the wave of sexism finger-pointing.

"What about other body parts I find attractive?" isn't sexist. Or even, "I like boobs, what about those?" also isn't sexist (since it's explicitly conveying personal taste).

As it is, the original comment is crass. Probably more crass than sexist, I'll admit, but I promise you there are female readers here that probably rolled their eyes when they read the original comment rather than thinking, "yeah, what about that, that's a good question!"

← PreviousPage 7 of 34Next →