HNHacker News
TopNewBestAskShowJobs

haifeng

574 karma · joined August 18, 2014

submissionscomments
haifeng··on Renjin: a JVM-based interpreter for the R language
There is a java/scala project providing R like statistical computation:

http://haifengl.github.io/smile/linear-algebra.html

haifeng··on Smile – Statistical Machine Intelligence and Learning Engine
They are more Java developers than python developers :)
haifeng··on Smile – Statistical Machine Intelligence and Learning Engine
This software has its own visualization package. See it at

http://haifengl.github.io/smile/visualization.html

haifeng··on Smile – Statistical Machine Intelligence and Learning Engine
The project homepage says "Data scientists and developers can speak the same language now!". So it is surely easier to producitionize a ML project without rewriting the algorithms after the data scientists work out the model with R or Matlab.
haifeng··on Smile – Statistical Machine Intelligence and Learning Engine
Good eyes :) It should be a c&p error.
haifeng··on Smile – Statistical Machine Intelligence and Learning Engine
Is there something wrong in your code? I don't see the effect.

smile> val x = Array(1.0, 2.0, 3.0, 4.0)

x: Array[Double] = Array(1.0, 2.0, 3.0, 4.0)

smile> val y = Array(4.0, 3.0, 2.0, 1.0)

y: Array[Double] = Array(4.0, 3.0, 2.0, 1.0)

smile> x + y

res2: smile.math.VectorAddVector = Array(5.0, 5.0, 5.0, 5.0)

haifeng··on Show HN: A Fortran web framework
Just because you can?
haifeng··on Unicorn: a simple and flexible abstraction of BigTable-like databases
Check out this script https://github.com/haifengl/unicorn/blob/master/shell/src/un..., which loads dbpedia graph into unicorn. You should be able to load ConceptNet without minor modifications. Later, you can refer a vertex by its string id.
haifeng··on Unicorn: a simple and flexible abstraction of BigTable-like databases
It is on top of hbase, Cassandra, or accumulo. So yes, it is web scaled.
haifeng··on Unicorn: a simple and flexible abstraction of BigTable-like databases
It is true. Unfortunately, the project was started several years ago and had nothing to do with the startup world. I would like to complain that VCs destroy another nice name with their hypes :(
haifeng··on Unicorn: a simple and flexible abstraction of BigTable-like databases
Okay, everyone is hiding a unicorn in their closet :)
haifeng··on Unicorn: a simple and flexible abstraction of BigTable-like databases
In most graph database, you find a vertex by filtering its properties, e.g. Gremlin graph query language. In Unicorn, you can do the similar with document vertices (it is, a vertex corresponding to a document in another table/collection). This is probably very nature in a business application. However, it is not very useful in your case as your vertices are abstract without any properties.

I guess what you want is some large scale graph analytics, which I suggest Spark GrpahX or other distributed graph computing engine.

Unicorn is designed for property directed multi-graphs.

haifeng··on Unicorn: a simple and flexible abstraction of BigTable-like databases
When adding an edge, the end vertices are assumed existed. In your case, we could add a helper function to import a list of edges, similar to Spark GraphX.
haifeng··on In Memory of Andy Grove
http://www.eetimes.com/document.asp?doc_id=1329374

Google Preps for IBM, ARM Shift. ARM is not powerful enough. But big boys are preparing themselves to pull the trigger whenever it becomes ready.

haifeng··on Things are best when they’re obsolete
The list can be very long. I am not sure if Windows 10 is perfect. For me, it is as perfect as Bold Touch 9930 to Blackberry.
haifeng··on Open Source Book: Introduction to Big Data
pdf and epub are available at http://github.com/haifengl/bigdata/releases
haifeng··on SmileNLP is open sourced as part of SmileMiner
It is not a bloated NLP library. Instead, it focuses on basic stuffs such as sentence splitter and tokenizer, bigram statistical test, phrase extractor, keyword extractor, stemmer, POS tagging, relevance ranking. Combined with various machine learning algorithms e.g. HMM, maxent, CRF, etc., you can work out advanced applications such as sentiment analysis, named entity recognition, etc.
haifeng··on OCaml: Polymorphism
I am not sure if typing can be added as a library. In terms of typed lambda calculus vs untyped lambda calculus, can we do this way?

But the idea of "layered" language is nice. In Scala, many features are not really from language itself, but from libraries.

haifeng··on OCaml: Polymorphism
Structural subtyping are mostly close to static polymorphism. After all, we just don't like inheritance, not dynamic polymorphism. Besides, interface and trait are not really inheritance although closely related.
haifeng··on OCaml: Polymorphism
Thanks for bring Rust into the topic. I know that it is very new. But still wonder if some real life projects are using it (except rustc).
haifeng··on OCaml: Polymorphism
An ML with many C notations :)
haifeng··on OCaml: Polymorphism
Agree. I like most parametric polymorphism too. The drawbacks are:

1. In C++, the compile error messages with templates are so hard to navigate. 2. In OCaml, sometimes we need pay attentions on the performance.

haifeng··on OCaml: Polymorphism
Interesting. It is more a design pattern rather than a language thing. But it is always good to design a consistent API across similar but not related classes.
haifeng··on OCaml: Objects
Excellent point!
haifeng··on SmileMiner – A Java library of state-of-art machine learning algorithms
The project was started five years ago. It is not really about buzz words.
haifeng··on SmileMiner – A Java library of state-of-art machine learning algorithms
Maven pom.xml files are added. Thanks!
haifeng··on SmileMiner – A Java library of state-of-art machine learning algorithms
Yes, we don't want it depending on third parties.
haifeng··on SmileMiner – A Java library of state-of-art machine learning algorithms
It is Apache 2.0. The library has been developed for several years as close source. But now it is Apache 2.0 although the source files need to be updated. Don't worry.