Time |
S |
Nick |
Message |
00:49 |
|
sivoais |
re: names of programming languages (can't find a proper source on this quote...): |
00:50 |
|
sivoais |
"The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language." -- Donald Knuth |
01:08 |
|
pdurbin |
:) |
03:39 |
|
* aditsu |
made a language called CJam :p |
13:35 |
|
prologic |
pdurbin: I’m halg way done :) |
13:36 |
|
pdurbin |
prologic++++ |
14:31 |
|
codex |
pdurbin: https://www.digitalocean.com/community/tutorials/how-to-install-and-get-started-with-sinatra-on-your-system-or-vps |
14:32 |
|
codex |
http://www.perldancer.org/example |
14:43 |
|
pdurbin |
codex-- ;) |
14:43 |
|
pdurbin |
I'm looking for pull requests. :) |
14:48 |
|
codex |
yea, i don't subscribe to that whole thing |
14:48 |
|
codex |
:) |
14:49 |
|
codex |
to me a pull request has only one use case - when someone can better your software by at least 10% or more, and is willing to take ownership of that part of the code for some period of time |
14:52 |
|
pdurbin |
ok |
14:52 |
|
pdurbin |
thanks for the links at least :) |
14:52 |
|
pdurbin |
codex++ |
14:53 |
|
pdurbin |
hopefully we'll find someone to contribute sinatra and dancer examples |
16:14 |
|
semiosis |
pdurbin: jetbrains all the way. webstorm for html/js, or intelij idea for everything. |
16:15 |
|
semiosis |
i'm sure you can get a free (beer) license either for DVN as an open source project or through Harvard |
16:16 |
|
semiosis |
they gave me an open source license for the glusterfs java filesystem project :-D |
16:18 |
|
semiosis |
pdurbin: also, lombok! http://projectlombok.org/ |
17:55 |
|
sivoais |
all of these look really cool <http://www.infoworld.com/article/2895889/java/oracle-java-9-future-lego-like.html> |
17:58 |
|
sivoais |
Generic specialisation and better C API calls are what are the most interesting out of those for me |
20:24 |
|
semiosis |
sivoais: i use hawtjni for the glusterfs c library binding. you might find that interesting |
20:25 |
|
semiosis |
https://github.com/fusesource/hawtjni |
20:26 |
|
semiosis |
this page, http://www.infoworld.com/article/2607953/java/article.html, says "You just specify what library to load, what function you want to access, and its parameters and return value and the API should do the rest." |
20:26 |
|
semiosis |
that's pretty much how you use hawtjni |
20:27 |
|
semiosis |
it gets a little more complicated when you want to pass structs around, but it's still all java code |
21:21 |
|
pdurbin |
semiosis: you use lombok? and like it? |
21:21 |
|
semiosis |
cant imaging going back to java without it |
21:21 |
|
semiosis |
imagine |
21:22 |
|
semiosis |
our code has practically no boilerplate |
21:22 |
|
semiosis |
getters, setters, equals, hashcode, tostring, constructors, all taken care of by lombok, except where there's business logic |
21:23 |
|
semiosis |
oh and logging too :) |
21:24 |
|
semiosis |
http://projectlombok.org/features/Data.html |
21:47 |
|
sivoais |
semiosis: that's cool! Just C though... C++ is a weird beast *shudders* |
21:47 |
|
sivoais |
I think Project Panama will be using an FFI (like Java Native Access) |
21:48 |
|
semiosis |
yep, i probably would have used jna instead of jni if i were on my own, but I made friends with the developer of hawtjni and he helped me get it all set up |
21:48 |
|
semiosis |
however i think hawtjni has the edge in performance |
21:51 |
|
sivoais |
yeah... it would be neat to have a DSL to generate both |
21:58 |
|
pdurbin |
semiosis: and you're using it in your glusterfs java client thing? |
22:00 |
|
semiosis |
i use it in every java project i work on, yes |
22:00 |
|
semiosis |
pdurbin: i use lombok in every java project i work on. i only use hawtjni in https://github.com/semiosis/libgfapi-jni (which uses lombok as well) |
22:01 |
|
semiosis |
just to clarify |
22:04 |
|
* pdurbin |
will have to check out lombok |
22:05 |
|
semiosis |
lombok really shines in our apps at work. we have db entities with almost no code, just annotations. |
22:05 |
|
semiosis |
value objects with literally no methods (they're all generated at compile time) |
22:07 |
|
pdurbin |
semiosis: you'll have to link me to a class on github you think benefits well from lombok, please |
22:08 |
|
semiosis |
pdurbin: it's proprietary code. maybe we could do a google hangout or something, but it's not on a public repo |
22:10 |
|
semiosis |
pdurbin: that link to the @Data annotation page really demonstrates it as well as any of our code though |
22:14 |
|
pdurbin |
fair enough |
22:14 |
|
sivoais |
Lombok looks like it does for Java what Moo/Moose do for Perl. |
22:15 |
|
pdurbin |
do you need getters and setters in Perl?! |
22:16 |
|
pdurbin |
but yeah, reduced boilerplate in general |
22:16 |
|
sivoais |
you don't but if you do |
22:16 |
|
sivoais |
package Point; use Moo; has [ qw(x y) ] => ( is => 'rw', default => sub { 0 } ); |
22:16 |
|
sivoais |
you can do |
22:17 |
|
sivoais |
my $p = Point->new( x => 10 ); $p->y( $p->y + 1 ); |
22:17 |
|
sivoais |
there are ways to make $p->y++ work, but that's just getting fancy ;-) |
22:18 |
|
pdurbin |
:) |
22:18 |
|
sivoais |
Perl6 cuts that down a great deal more. And it runs on the JVM too. :-) |
22:19 |
|
pdurbin |
I know! I should try it. |
22:19 |
|
pdurbin |
maybe lombok first though :) |
22:19 |
|
sivoais |
:-) |
22:20 |
|
semiosis |
there's so many better languages on the jvm |
22:21 |
|
pdurbin |
If I were to sneak some non-Java onto a JVM at work I'm not sure it would be Perl 6. :) |
22:21 |
|
semiosis |
jruby :) |
22:21 |
|
sivoais |
you should also take a look at the Java repos from <https://github.com/tokuhirom> |
22:22 |
|
sivoais |
heh, yeah or Scala. Scala has some really interesting compiler theory |
22:22 |
|
sivoais |
this <http://scala-lms.github.io/> |
22:22 |
|
sivoais |
It's an approach for code generation |
22:26 |
|
pdurbin |
we have an app at work in Scala: https://github.com/IQSS/DataTags |
22:27 |
|
semiosis |
iirc twitter uses a lot of scala |
22:28 |
|
sivoais |
though I don't like functional languages emphasis on writing parsers with parser combinators... it's just recursive descent. |
22:28 |
|
pdurbin |
sivoais: are you more into scala or clojure? |
22:29 |
|
sivoais |
pdurbin: neither yet. I just look at them for ideas. ;-) Haven't written anything in them yet. |
22:29 |
|
pdurbin |
heh. "Abstraction Without Regret" |
22:30 |
|
pdurbin |
sivoais: you could write an addressbookmvc app in one of them? |
22:30 |
|
pdurbin |
semiosis: you too |
22:30 |
|
semiosis |
i'm not really a fan of scala. tried it a few years ago and was thoroughly unimpressed. i'm sure it's come a long way since then, but then again, so has java |
22:31 |
|
pdurbin |
Java 8 has a lot of nice stuff. |
22:31 |
|
semiosis |
i've wanted to play with clojure since i learned common lisp in college but haven't gotten around to it |
22:31 |
|
pdurbin |
I haven't even looked at the Java 9 link sivoais dropped in here earlier. |
22:31 |
|
sivoais |
it looks like Scala is becoming a larger force in data science with things like Spark |
22:31 |
|
sivoais |
<http://en.wikipedia.org/wiki/Apache_Spark> |
22:33 |
|
pdurbin |
people at work are looking at Spark |
22:33 |
|
semiosis |
i learned jruby contributing to logstash and liked that a lot. it would be my go-to scripting language on the jvm if i needed one |
22:33 |
|
pdurbin |
semiosis: when you get around to it, give me a shout |
22:33 |
|
semiosis |
pdurbin++ |
22:34 |
|
pdurbin |
semiosis: should we write our installer in jruby? Right now it's in bash and perl. |
22:34 |
|
semiosis |
installer? |
22:35 |
|
pdurbin |
https://github.com/IQSS/dataverse/tree/master/scripts/installer |
22:38 |
|
semiosis |
idk |
22:40 |
|
semiosis |
tell me more about your requirements for this installer :) |
22:40 |
|
semiosis |
generally speaking though i'm offended by a java app that depends on perl |
22:41 |
|
sivoais |
I feel like that could be done with configuration management |
22:42 |
|
sivoais |
haha, what about a Perl script that depends on Java! I've done that before with Inline::Java :-) I used HtmlUnit that way. |
22:44 |
|
sivoais |
pdurbin: wait, there's an Rserve involved too! |
22:56 |
|
pdurbin |
it is a many splendored app |
23:02 |
|
sivoais |
that's the best way... one langauge is not enough! :-) |
23:03 |
|
sivoais |
have you evaluated <http://www.renjin.org/>? It's R on the JVM. I'm wondering if I should support it in Statistics::NiceR |
23:03 |
|
pdurbin |
"1.7% other" |
23:03 |
|
pdurbin |
huh. nope. haven't seen that |