7 ms·
RethinkDB example apps
- dkhenry 14y agoI would love to try out your DB, but your build system is garbage, and I mean that in the most constructive way possible. I know you guys put lots of effort into it, I can tell as I am reading through it trying to get it to compile on my Fedora system. Please for all that is good in this world take the time _now_ and switch to a sane build system. I know its cool that you scripted everything in Make, but this is stupid how hard it is to build on Fedora. I am putting together a patch and instructions for fedora, but this is silly. EDIT: https://gist.github.com/4696023 https://gist.github.com/4696023 Turned out to not be too big of a change BTW.
- coffeemug 14y agoI would love to try out your DB, but your build system is garbage If you only knew how much we agree with you :) We have an engineer working on that now, so it will soon be much, much nicer. Also, thanks for the instructions, I'll post them on the build page after I confirm everything.
- gnud 14y agoI'm the maintainer of the archlinux AUR pkgbuild - a better build system would be much appreciated :) For now, I do 3-4 sed invocations over your various Makefiles. If you want to have a look at what we need to hack our way around, take a look at https://aur.archlinux.org/packages/re/rethinkdb/PKGBUILD https://aur.archlinux.org/packages/re/rethinkdb/PKGBUILD
- coffeemug 14y agoThanks -- I've opened an issue for the new build system https://github.com/rethinkdb/rethinkdb/issues/286 https://github.com/rethinkdb/rethinkdb/issues/286 and posted this info. We'll try to take it into account as we develop the new one. Please comment if you have feedback/ideas!
- dkhenry 14y agoI am excited to hear that. I know it means pulling resources away from developing features, but seeing the plumbing taken care of properly really lends confidence to those who might be early adopters of a young project.
- deleted 14y ago[deleted]
- StavrosK 14y agoWe didn't have any to show off something based on RethinkDB. I'm looking forward to your example app that takes a program and tells you whether or not it will ever finish executing.
- coffeemug 14y agoWe had lots of people asking "how do I get started with RethinkDB and stack X". These familiar examples can be extremely helpful to people for getting started with a new technology, so we posted a couple based on existing code. Obviously they're not meant to be new or groundbreaking :)
- deleted 14y ago[deleted]
- nkohari 14y agoNice, a negative comment on Hacker News! We don't have enough of those either.
- taf2 14y agothis looks great! thank you so much. This gives me what i needed to finally give rethinkdb a try.
- a9entroy 14y agoCould you make a RethionkDB Heroku Add-On ? I would definitely try it out then.
- mylittlepony 14y agoWhy not PHP? =/
- coffeemug 14y agoIt will take a bit of time to get a PHP driver going. Hang on!
- dkhenry 14y agoWhile I don't know what they have planned. Might I say part of the issue might be PHP's _extremely_ poor protobuf support.
- coffeemug 14y agoThere are a few ways to deal with this issue -- contribute to the PHP protobuf library, or have an alternative layer on the server that accepts a more portable but less efficient serialization format. It's a little frustrating, but wouldn't be too difficult to solve.
- mercurial 14y agoThanks for taking the time to do this. I have only looked at the Python example, but I think it highlights a basic issue with the API: r.table('todos').get(todo_id).run(g.rdb_conn) It would be more natural to have it go the other way: g.rdb_conn.run(r.table('todos').get(todo_id)) This way, the connection runs the request instead of the other way round. Also, you are opening and closing DB connections with each HTTP request. I imagine this is for the purpose of simplifying the example. However, it does make me curious: how expensive is the creation of a new connection? Are connections thread-safe? Would it make sense to have connection pooling?
- arethuza 14y agoI actually prefer the first of those - I find it easy to read than the second one - probably because the calls are chained rather than being nested.
- mercurial 14y agoAlternatively, you could do this: g.rdb_conn.table('todos').get(todo_id).run() On the other hand, this form ties the request to the connection, which neither the current API or my original suggestion do.
- coffeemug 14y agoThis way, the connection runs the request instead of the other way round. I don't know if I'd call it an issue with the API -- there is a pretty active debate going on about it: https://github.com/rethinkdb/rethinkdb/issues/256 https://github.com/rethinkdb/rethinkdb/issues/256 Please chime in there with your POV, it would really help! how expensive is the creation of a new connection? Connections aren't thread safe on the clients. It's very efficient to open a connection to the server, but it still requires a TCP handshake. This is a good low-level API -- we'll build a connection pool on top of that soon (I just opened an issue for it here -- https://github.com/rethinkdb/rethinkdb/issues/281 https://github.com/rethinkdb/rethinkdb/issues/281). People seem to want one because they're used to one, but it hasn't really been necessary in our testing.
- wmrowan 14y ago
- nlh 14y agoI continue to be very psyched about RethinkDB - looks like an awesome product coming together nicely. As a boring non-cutting-edge, non-expert Rails person, any word on projects a la Mongoid to give a nice ActiveRecord-style ODM to guys like us? Would LOVE to be able to play with Rethink in place of Mongo. (Also, as an aside, if I were about 3 years more advanced in my ruby skills I'd totally volunteer to start that project. But I'm not. So I can't ;) Keep up the good work guys.
- coffeemug 14y agoThere is a Python ORM already (https://github.com/nviennot/nobrainer https://github.com/nviennot/nobrainer) but no Ruby one yet. I suspect it would be pretty easy to port Mongoid to rethink, so I wouldn't be surprised if a port pops up soon. Thanks for your interest -- we'd really love to get everything out ASAP, but the team has limited resources and we have some more low-hanging fruit to take care of first.
- daemon13 14y agoThe link above is to Ruby ORM "nobrainer", may be edit your comment to clarify. No Python ORM :-(
- ovi256 14y agoFor those interested, there's an Easter egg in the lower right corner, it's that very small lambda icon linking to this Youtube vid: http://www.youtube.com/watch?v=2ZUNLV7e3vU http://www.youtube.com/watch?v=2ZUNLV7e3vU "Star Trek - Data asks his creator a question"
- omervk 14y agoI really like RethinkDB, but the lack of a driver for JVM languages (Java, Scala, etc.) is a showstopper for me. I read that you're revamping your driver architecture and am anxiously looking forward to a JVM driver (more than willing to write a Scala-friendly wrapper - let me know if you're interested).