Re: The Value of Values
I'd like to read that thread, can you provide a url? Thank you, Balint On Saturday, August 25, 2012 2:41:40 AM UTC+2, Bost wrote: See the thread The Value of Values started by Conrad Barski -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: The Value of Values
Here you go :- https://groups.google.com/d/topic/clojure/XMbo15-gk6M/discussion On Sat, Aug 25, 2012 at 8:08 PM, Balint Erdi balint.e...@gmail.com wrote: I'd like to read that thread, can you provide a url? Thank you, Balint On Saturday, August 25, 2012 2:41:40 AM UTC+2, Bost wrote: See the thread The Value of Values started by Conrad Barski -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
A 12 billions market has been created just to address the need for bookkeeping historic data, it's called business intelligence (BI). Never heard of data warehouses and OLAP tools ? Many businesses use these if they can pay for them These things are cumbersome to implement, you have to extract data from your operational systems following a tight schedule (otherwise data gets obliterated before you can grab it) and import it in a BI backend and get it reorganized. Data to be dumped in the BI backend has to be selected, frequency of uploads, .. You cannot be certain that you grabbed everything that matters, not knowing what future needs analysts may have. You also need a separate infrastructure to run the whole gizmo. Having a database where values can be read at will, replicated transparently and scale easily where you do not loose any fact would simplify BI implementations a lot. Most probably the whole migration process could be tossed away. The only remaining need would be the creation of meta data needed for the analysis tool. It may be important for us to forget past facts, otherwise we would go crazy but may I point out that our brains never forget anything, we happen to have neural cells specialized to hide past facts but these can be recalled. As you age, this mechanism fails from time to time and can bring you back fresh souvenirs like if events happened yesterday. : Luc P. I just enjoy the speeches better by standing back a little bit. Actually I'm quite annoyed that Rich doesn't say anything about how important is to be able to forget facts, irreversibly filter things out and reinvent the wheel again. Imagine a huge database full of facts you're simply not interested in. What is it good for? BTW there are stories about people not been able to forget. They remember every useless trivia, quarrel or conflict they ever experienced and they have to go over and over every good or bad memory just to recall things like Did I meet you before or after 2005?. Pretty much like our databases: select * from the 5TB-useless-stuff.txt what happened between BIG-BANG and NOW Bost -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -- Softaddictslprefonta...@softaddicts.ca sent by ibisMail from my ipad! -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
I just enjoy the speeches better by standing back a little bit. Actually I'm quite annoyed that Rich doesn't say anything about how important is to be able to forget facts, irreversibly filter things out and reinvent the wheel again. Imagine a huge database full of facts you're simply not interested in. What is it good for? BTW there are stories about people not been able to forget. They remember every useless trivia, quarrel or conflict they ever experienced and they have to go over and over every good or bad memory just to recall things like Did I meet you before or after 2005?. Pretty much like our databases: select * from the 5TB-useless-stuff.txt what happened between BIG-BANG and NOW Bost -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
Rostislav Svoboda rostislav.svob...@gmail.com writes: I just enjoy the speeches better by standing back a little bit. Actually I'm quite annoyed that Rich doesn't say anything about how important is to be able to forget facts, irreversibly filter things out and reinvent the wheel again. That was mentioned in the talk actually, as part of the bookkeeping that comes with such histories. -- Craig Brozefsky cr...@red-bean.com Premature reification is the root of all evil -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: The Value of Values
See the thread The Value of Values started by Conrad Barski -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
There are few -if any- concepts attached to REST; it is just a low-level, ideologically-neutral technique. There is more than one way to do it, hence you really can't talk 'against' it any more than you can talk against hashmaps, for instance. That said, getting RESTful design right is pretty hard, state-wise. Sofisticated usages will require substantially uglier URIs than the fancy examples that get promoted, and compromise the architecture of the provider system. Think iterators, promises, etc. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
The Value of Values
I'm just after watching the Rich's keynote - the value of values. Man this is outstanding! If i only knew that before, my newest information system would be much easier to debug, state of entites were easier to reason and additionally I would had history, even by using current RDBM. You have pointed me the reason why writting information system was so hard by using previous concepts. I hope to have another possibility to write some new system but with use of that paradigm. Thanks Rich, every time I watch some of your new keynote, I learn something valueable, even revolutionally. Now I see the value of datomic, nevertheless the technique successfully can still be used with current DBs, so again good job for sharnig your poin of view. Your keynote was dramaticlly enlightening, like learning new concepts in programming, but on architectual level btw. your clojure have learnt me how to write better software, in immutable and higher order way, even by using so old and primitive langugage like java (oder teammates and policy of my company dosen't allow to use not a mainstream languges, also there are some technloges wich require me to use java, like Gwt). More over thanks to the mental shift from imperative to functional, I feel constantly hungry for more knowledge about programming, because i know that universe is much larger than i thought (have alredy studied erlang, prolog, ocaml, f#, lisp, scala) Big thanks again and waiting for new keynotes! Now its my time to start arrange business data like they were facts :-) Bye! -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
Rich was promoting functional programming. I can see functional programming has its benefits, but you will need mutable states eventually somewhere to do useful things. Functional programming just tell you to constraint yourself when using mutable states. It's not like mutable states are to be avoided by all means. I mean, do you want to get a copy of Google's internal state so you can send it back to Google next time along with your search string, and hence make Google search functional? That is neither practical nor desirable. It is practical, and desirable, to make a complete (albeit lazily realized) value of e.g. entire databases available to any process in a system. Stu -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
Hi, in my understanding, RESTful system design (as described in Roy Fielding's dissertation) does not advocate hiding any state behind a bunch of methods. :) In REST, application state is carried by the representation that is passed back and forth between the server and the client. It seems to me that a truly RESTful system design is very much in line of what Rich was talking about. Las 2012/8/15 Conrad drc...@gmail.com Hi Everyone... Quick question about Rich's latest talk: In it he eloquently argues that you don't want to systems to communicate with each other by calling each other's methods. Instead it is better to just move values between systems that can also be queued. It occurs to me that RESTful web interfaces essentially hide a big chunk of state behind a bunch of methods (i.e. the URIs you can GET/PUT/POST to.) Am I right in thinking that Rich's talk is an argument AGAINST RESTful design? It seems to me his talk would suggest the best interface would almost be a SOAPy interface, where all communication is to a single URL. (Of course unlike SOAP the calls wouldn't consist of method invocations but instead consist of a stream of values.) Is this right? -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -- László Török -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
i think per HTATEOAS, the methods are baked into the representations that are transferred, as URLs. i mean, you gotta have methods *somewhere* *somehow* that can *do stuff*, in an application-context-sensitive manner. -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
Rich was promoting functional programming. I can see functional programming has its benefits, but you will need mutable states eventually somewhere to do useful things. Functional programming just tell you to constraint yourself when using mutable states. It's not like mutable states are to be avoided by all means. I mean, do you want to get a copy of Google's internal state so you can send it back to Google next time along with your search string, and hence make Google search functional? That is neither practical nor desirable. Also, my impression is some of Rich's high profile speeches (and some of his partner) tends to stress the message he wants to deliver by simplifying things to an extent that I feel is in the danger of distorting the reality (because other important things were left out). I still think many of his points are very insightful, I just enjoy the speeches better by standing back a little bit. Just like when you watch a talk show, there are many good insightful comments about life and politics and etc, because they exposed something you may have never thought about, but I don't ask it is true? on each of those comments. :-) -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Re: Rich's The Value of Values and REST
It seems to me that a truly RESTful system design is very much in line of what Rich was talking about. This is completely correct. Let's take the common method GET for instance. According to REST philosophy, GETs should be 100% cache-able (and therefore they are actual values). We can disable the HTTP caches simply by giving different parameters to the get query: GET /person/123?latest=truernd={insert random guid here} {:name John :gender Male :id 123 :timestamp 1002313} PUT /person/123 {:name James :gender Male :id 233} /person/123/1002314 GET /person/123/1002314 {:name James :gender Male :id 123 :timestamp 1002314} GET /person/123/1002313 {:name John :gender Male :id 123 :timestamp 1002313} GET /person/123?latest=truernd={insert random guid here} {:name James :gender Male :id 123 :timestamp 1002314} The above perfectly follows what Rich discussed. No information is ever lost. We have time explicitly defined in the timestamp, and we can always get the latest version of a value by passing in a random guid to invalidate the HTTP caches. If you read up a bit more on REST you'll find that it deals allot with the avoidance of mutable state, which is exactly what Rich was suggesting. Timothy -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
Rich's The Value of Values and REST
Hi Everyone... Quick question about Rich's latest talk: In it he eloquently argues that you don't want to systems to communicate with each other by calling each other's methods. Instead it is better to just move values between systems that can also be queued. It occurs to me that RESTful web interfaces essentially hide a big chunk of state behind a bunch of methods (i.e. the URIs you can GET/PUT/POST to.) Am I right in thinking that Rich's talk is an argument AGAINST RESTful design? It seems to me his talk would suggest the best interface would almost be a SOAPy interface, where all communication is to a single URL. (Of course unlike SOAP the calls wouldn't consist of method invocations but instead consist of a stream of values.) Is this right? -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en
How can I return the exact value or values
Hi All, I am running the following (defn json-response [data [status]] {:status (or status 200) :headers {Content-Type application/json} :body (json/generate-string data)}) (GET /events/s3 [] (let [response (s3files/fetch-data-aws)] (println response) (json-response response))) ;;Function to fetch data is the following (defn fetch-data-aws [] (let [objs (s3/list-objects credentials bucket-name)] ;(println Fetching S3 files.) ;(println objs) (doseq [item (:objects objs)] ;(println (map? item)) ;(println (:key item)) (let [theKey (:key item)] ;(println (s3/get-object credentials bucket-name theKey)) (let [in (:content (s3/get-object credentials bucket-name theKey))] (with-open [rdr (io/reader in)] (let [event (reduce conj [] (line-seq rdr))] (println event) event ))) it returns : (it is fine) [{data:text} {data:text} {data:text2} {data:ex001} {data:xyz} {data:xyz} {data:xyz} {data:xyz} {data:xyz} {data:test123} {data:test345}] but when I render the page I get * * *null* * * *Any ideas of how can I return the right value ???* -- You received this message because you are subscribed to the Google Groups Clojure group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en