Re: Any reason why the name of this group is not comp.lang.clojure?

2013-05-29 Thread juan.facorro
Yep, this is the official Clojure mailing list. :) Cheers, J On Tuesday, May 28, 2013 8:39:03 PM UTC-3, Seven Hong wrote: > > Hi all! > > I recently began learning Clojure, and I like it a lot; then I found this > group on google. Is there any particular reason that it's not called > comp.lang

Re: send agent inside doseq

2013-08-20 Thread juan.facorro
If on the *println* you don't see the value updated, it's probably because the operation sent to the agent wasn't applied yet. Add a *(Thread/sleep 500)* in between the *send *and *println *expressions and you'll see the expected agents'. Cheers, JF On Wednesday, August 21, 2013 12:21:59 A

Re: Clojure for Desktop UI Design Application

2015-01-18 Thread juan.facorro
Hi Timothy, I took an extremely similar approach in this project using Swing as the underlying UI toolkit. Components can be described using a hiccup like syntax, although they are actually represented as maps in the end. Since the UI is mutable by nat

Re: [ANN] Introducing Yagni, a Leiningen plugin for finding unused code

2015-06-24 Thread juan.facorro
Yehonathan Sharvit, I think Google's Closure compiler already has dead code elimination, so it's available for ClojureScript even if Yagni doesn't provide it :). Cheers, Juan On Wednesday, June 24, 2015 at 5:11:01 AM UTC-3, Yehonathan Sharvit wrote: > > Does yagni work with cljs projects? > >

Re: [ANN] Introducing Yagni, a Leiningen plugin for finding unused code

2015-06-24 Thread juan.facorro
That's a good point. On Wednesday, June 24, 2015 at 6:53:43 PM UTC-3, Fluid Dynamics wrote: > > FMIIW, but I think they serve orthogonal purposes. Google Closure finds > code (mostly library parts your program doesn't use) that your particular > program doesn't need and omits it from the build

[Request for Feedback] Clojure Lab: IDE for Clojure in Clojure

2014-06-27 Thread juan.facorro
Hello Clojurians! I wanted to share with you a project called *Clojure Lab*, an *IDE for Clojure in Clojure*. *https://github.com/jfacorro/clojure-lab * Yes! Another IDE for Clojure, uhm... the more the merrier? This project started as a learning exe

Re: Profiling in Counterclockwise

2014-10-05 Thread juan.facorro
VisualVM has a GUI which is fairly simple to use, you just download it, run it and get a list of all the running JVM instances on your local machine. There's even an option to sample the running code, that shows what functions are taking the most CPU time. If I understood correctly VisualVM is

Re: Optimizing code : Fun but now paining me

2014-10-13 Thread juan.facorro
That is a whole lot of code to check and test for optimizations :P How are you identifying the problems in your code that need optimization? Are you doing some kind of profiling or just trying stuff out? If you are not doing it already, I would recommend using VisualVM [1] to get a clearer pict

Re: where do I think the wrong way

2014-10-29 Thread juan.facorro
Hi Roelof, ClojureDocs.org is also a great tool for figuring out how to use a specific function. It presents examples created by the community, which are quite helpful when learning the language. Here's the entry for the assoc

Clojure Survey 2014 - Tag Clouds

2014-10-29 Thread juan.facorro
Hi All, In case someone was interested in the results and how I got to them, I wrote an article about my attempt to visualize the free-form text answers from Clojure’s (and ClojureScript) Community Survey 2014. Any comments, suggestions or questions are welcome. Clojure Survey 2014 - Tag Cloud

Re: Clojure Survey 2014 - Tag Clouds

2014-10-31 Thread juan.facorro
rly, in "most glaring weakness", lumped together are StartupTime, > JvmStartup, LongStartupTime, LongStartup, StartupSpeed, StartTime, > CompileTime, SlowStartup. > > -- John > > > On Wednesday, October 29, 2014 10:00:22 AM UTC-4, juan.facorro wrote: >> >> Hi

Re: Clojure <-> Java

2014-11-08 Thread juan.facorro
Hi Blake, Also, I presume that a Closure program has immediate access to all Java > classes and methods without any work. Is that true? Clojure embraces the JVM by providing a number of interoperability features that allow you to do alm

Re: Thnx for clojureconj videos !!

2014-11-22 Thread juan.facorro
+1 They are being uploaded withing a day or less from the actual recording which is extremely awesome! https://www.youtube.com/playlist?list=PLZdCLR02grLoc322bYirANEso3mmzvCiI On Saturday, November 22, 2014 10:09:04 AM UTC-3, Geraldo Lopes de Souza wrote: > > Thank you very much for clojurecon

Re: Clojure / Lisp Developers job listings

2014-11-27 Thread juan.facorro
Hi all, I just discovered this list of Clojure job postings thanks to a co-worker and just wanted to share with those who might have not heard about it, like me until today :P. http://lispjobs.wordpress.com/ Cheers, Juan On Tuesday, March 9, 2010 1:00:15 PM UTC-3, Will Fitzgerald wrote: >

Re: Need advice on algorithm performance

2014-12-06 Thread juan.facorro
Hi Dmitriy, There's also an alternative zipper implementation called *fast-zip* [1] which seems to be 5 times faster than *clojure.zip*. Although if *clojure.walk* is faster in an order of magnitude or more than *clojure.zip*, then *fast-zip* won't be much of an improvement. Cheers, Juan [1]

Re: perform action after events stop for some period

2014-12-06 Thread juan.facorro
Hi Brian, I had the same requirement while building an application, it included a GUI and I wanted to perform some actions only after the user was done editing some text. I also first implemented a solution using an atom, Thread/sleep and a future. It didn't seem right though, since I was creat

Re: debugging "MyClass cannot be cast to MyClass" exceptions

2014-12-06 Thread juan.facorro
Hi Brian, This problem usually happens when working on the REPL and you redefine a record or type (derecord and deftype), but there are still some existing instances lying around, that belong to the previous definition of that same type. See this thread for more information: https://groups.g

Re: Open html file in Clojure

2014-12-07 Thread juan.facorro
Hi Priyanka, I don't think there's enough information for someone to be able to help you. When you say .html do you mean JavaScript or ClojureScript code? It will be a lot easier to help you, if you share the code from the desktop app and the code you are using to get the location information.

Re: callback before evicting element from cache [core.cache]

2016-11-14 Thread juan.facorro
An option would be to wrap any of the implementations in core.cache with your own using core.cache/defcache. Every CacheProtocol function would just use the underlying cache, except for the evict where you would handle the closing of the file descriptor. On Tuesday, November 15, 2016 at 12:49:2

loop macro generates a wrapping let

2017-03-06 Thread juan.facorro
While I was debugging some code I found something related to the *loop *macro that I found curious. I'm probably missing something but here it goes. The expression generated by the *loop* macro includes a wrapping *let *when there is any de-structuring in the bindings. (require '[clojure.walk :

Re: loop macro generates a wrapping let

2017-03-06 Thread juan.facorro
Right, of course! It seems almost obvious now :P Thanks Kevin On Tuesday, March 7, 2017 at 12:42:08 AM UTC+1, red...@gmail.com wrote: > > On 03/06/2017 03:28 PM, juan.facorro wrote: > > While I was debugging some code I found something related to the *loop > > *macro that I

Re: What if ^:const could inline everything before macroexpanssion?

2018-11-04 Thread juan.facorro
The compiler seems to currently use the *:const* hint, to know that it should return the analyzed expression value for the var (as if it was quoted) instead of the *VarExpr* (which would mean a deref at run-time) (see here

Re: What if ^:const could inline everything before macroexpanssion?

2018-11-07 Thread juan.facorro
That's strange, this is what I get in the REPL when evaluating that expression: $ clj Clojure 1.9.0 user=> (. clojure.lang.Numbers (add 10 100)) 110 user=> On Wednesday, November 7, 2018 at 10:01:20 AM UTC+1, Didier wrote: > > Hey, thanks for the deep dive, but I'm not sure I either understand

Re: What if ^:const could inline everything before macroexpanssion?

2018-11-07 Thread juan.facorro
symbol bar. It is still the case as before though that the macroexpansion of (foo bar)happens before the symbol bar is resolved and analyzed as a constant expression. Sorry for the mess and confusion. On Wednesday, November 7, 2018 at 11:04:27 AM UTC+1, juan.facorro wrote: > > That's

Re: Clojure on an Erlang-vm-os on Xen?

2015-09-16 Thread juan.facorro
Hi Frank, I'm wondering why no one ever posted a question/comment/reponse to this thread. Personally I think Clojure is a great language and the Erlang VM is a feat of engineering. I would love to think what other think about this thoughts and about the possibility of having Clojure on the Erla

Clojure Buenos Aires - MeetUp - September, 30th

2015-09-16 Thread juan.facorro
Hi dear clojurists/clojurers/clojurians, Since we are having our fourth get together end of September, I wanted to announce the existence of the Buenos Aires Clojure MeetUp and invite anyone who might be interested in having a good time and ta

Re: Joxa (Re: Clojure on an Erlang-vm-os on Xen?)

2015-09-18 Thread juan.facorro
Hi Sebastian, Thank you for your thoughts. The biggest example is that the BEAM comes with a set of Data Types / Data > Structures and they can't be extended. While this is true, it doesn't mean it is not possible to implement new data structures in Erlang. There are a number of modules that

Re: pairwise?

2015-09-21 Thread juan.facorro
Hi J, I don't think there is a specific function in Clojure equivalent to *pairwise?* but I it might be more idiomatic to use the functions available in clojure.core to manipulate collections. I would implement *pairwise?* in the following way, others might suggest better/simpler ways though:

Examples of core.async usage in production?

2015-10-26 Thread juan.facorro
Hi all, >From what I've seen/heard/understand core.async has been mostly used in production on the *client side* or UI programming, since it frees us from the dreaded callback hell. There are some instances where *core.async* is used on the *server side* to provide asynchronous communication be

Re: partial function revisited (exercise in macros)

2014-02-08 Thread juan.facorro
When you use *`~p* what you are actually doing is using the symbol of the predicate as a function. For example if you call *(partial-pbm f symbol? 1 x 3)*, the quote-unquote (`~) will return the symbol *symbol?* which is not what you want. What you can do is use the *resolve

Re: Monkey-patching in Clojure

2014-02-13 Thread juan.facorro
You can also use the intern function to chamge the value of a any var in any namespace. Hope it helps -- 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

Re: [soft/philosophical] event handers in cljs

2014-03-10 Thread juan.facorro
Hi Sam, On Sunday, March 9, 2014 11:16:13 PM UTC-3, Sam Ritchie wrote: > > Well, I typically have multiple channels. No need to have a single global > event bus for everything. With multiple channels, you can have a bunch of > local event loops. > I have taken this approach as well, but I can

Re: [soft/philosophical] event handers in cljs

2014-03-11 Thread juan.facorro
Hi François, That makes sense. I think I had read that discussion a while ago but hadn't really grokked it. Thanks! Juan On Tuesday, March 11, 2014 10:42:04 AM UTC-3, François Rey wrote: > > On 10/03/14 15:37, juan.facorro wrote: > > I have taken this approach as well, but

optimal way to generate/store/compare 256/512/1024 bytes

2014-03-23 Thread juan.facorro
I may be missing something, but why not use gensym to generate unique identifiers if their only purpose is to be used as keys in a map? This should work as long as your map is always built from scratch when your clojura program/app is started. -- You received this message because you are subsc

Re: When to use (ensue) ?

2014-06-19 Thread juan.facorro
Hi Hussein, Maybe this StackOverflow Q&A can help in understanding when to use *ensure* : Clojure STM ambiguity factor . HTH, Juan On Thursday, June 19, 2014 10:35:24 AM UTC-3, Hussein B. wrote: > > Hi, > > When dealing with Clojure ref types, when to

Re: Reading single characters...?

2013-09-22 Thread juan.facorro
According to the JLine 's source code (v1.0) in UnixTerminal.java, echo is disabled with the command *stty -echo* which disables all echoing in the console (just tried it i

Re: Introspecting documentation information

2013-09-26 Thread juan.facorro
Maybe this bit of code serves your purpose or leads you in some useful direction. (ns doc-query (:use clojure.repl)) (defn seq-docs "Prints the docstrings of a seq of symbols." [s] (with-out-str (doseq [x s] (eval `(doc ~x) (defn ns-docs "Given a namespace object or its symbol ret

Re: Introspecting documentation information

2013-09-26 Thread juan.facorro
Maybe this bit of code serves your purpose or leads you in some useful direction. (ns doc-query (:use clojure.repl)) (defn seq-docs "Prints the docstrings of a seq of symbols." [s] (with-out-str (doseq [x s] (eval `(doc ~x) (defn ns-docs "Given a namespace object or its symbol ret

Re: How to go about 'proving' why dynamically typed languages are better

2013-10-07 Thread juan.facorro
Thanks for the link! I really liked the interview, it was interesting and fun to watch. J On Monday, October 7, 2013 9:49:24 AM UTC+9, brad bowman wrote: > > > zcaudate > Oct 05 08:35PM -0700 > > I'm a little bit miffed over this current craze of `types` and > > `correctness` of programs. It s

Re: load-file & namespace

2013-10-20 Thread juan.facorro
Hi Ramesh, Based on the stack-trace, the error is thrown during compile-time. This means the compiler is having a hard time compiling test1/core.clj because it doesn't know of any hello namespace. This makes sense since no hello namespace has been referred to in the test1.core namespace (i.e.

Re: Order of keys and vals results for sorted maps?

2013-10-20 Thread juan.facorro
Hi Ru, I hope I understood your question correctly, because I did some digging based on that, since I was curious about the answer. ** The implementation for sorted maps (at least in 1.5.1 and as far back as 1.2.0, maybe farther, I didn't check) guarantees that the result from from *keys* will

Re: Step by step debugging

2013-11-07 Thread juan.facorro
Hi Bastien, I think Ritz [1] might be what you are looking for. Although I haven't tried it myself yet, I recently saw the presentation "Ritz, The Missing Clojure Tooling" and really liked what I saw. HTH, J [1]: https://github.com/pallet/ritz [2]: http://w

Re: How to interrupt execution and open a debugger/REPL?

2013-11-11 Thread juan.facorro
Hi Alexandru, As Andy pointed out there's the emacs+Ritz option which has quite a few features, but if the main thing you want to do is inspect the locals and the current stack trace, you could use a macro as the one presented in the book The Joy of Clojure (Chapter 8

Re: preferred way to dereference a ref: outside or inside dosync?

2013-11-20 Thread juan.facorro
Jim, The value for all refs whose value you don't actually modify inside a transaction should be obtained through ensure if you want to make sure :P their value won't be changed by a different transaction, that way you get a consistent v

Re: Compiling ClojureScript in the repl using a macro defined in Clojure

2013-11-21 Thread juan.facorro
I tried the following: 1. Created a project with David Nolen's lein template (taken from here ): *$ lein new mies hello-world* 2. Created a *macro.clj* file in the *src/hello-world* folder with the contents you posted:

Bret Victor - The Future of Programming

2013-11-22 Thread juan.facorro
Hi all, I just saw this talk by Bret Victor and found its message very compelling and thought provoking: The Future of Programming . I've sometimes thought (and marveled) about the fact that people were doing all sorts of cool stuff in the 60's and 70's that actually

Re: quick macro review

2013-11-28 Thread juan.facorro
Hi Curtis, The *apply* is unnecessary if you use *unquote-splice* (*~@*), also instead of the *into* and *for* usage you could just *map* over the list of symbols. Here's how I would do it: (defmacro migrate [& syms] `(migrate* ~@(map (partial list 'var) syms))) (macroexpand-1 '(migrate a b

I need a vector not a list?

2013-11-30 Thread juan.facorro
An option for doing performant (numerical) operations with vectors in Clojure is the vectorz-clj [1] library. There's also core.matrix [2] for multi-dimensional matrices in general. Hope it helps, Juan [1]: https://github.com/mikera/vectorz-clj/wiki [2]: https://github.com/mikera/core.matrix/

Re: Is The Joy if Clojure up to date?

2013-11-30 Thread juan.facorro
Same here, Joy of Clojure is an *excellent* book although I wouldn't recommend it as a first book on Clojure. I immensely enjoyed it when I read it, but it was my first book on Clojure and, having just some basic background on Lisp and FP, I felt that a few of really important ideas passed me b

Implementation options for auto-complete and symbol resolution while coding

2013-12-18 Thread juan.facorro
Hi Clojurers, I'm building a tool for Clojure and I've been hitting the same bump for quite some time now, namely auto-completion and finding the definition of a symbol. After doing some research I've found that some tools rely on a running REPL to figure out where a symbol might be coming from

Re: How do I fix *warn-on-reflextion* warnings in 3rd party libraries?

2013-12-23 Thread juan.facorro
Hi Larry, You can use *lein check* which *"Check[s] syntax and warn[s] on reflection."* only for the *.clj files in your project's soure files. HTH, Juan On Sunday, December 22, 2013 7:33:56 PM UTC-3, larry google groups wrote: > > > I know this has been discussed before but I could not find a

Re: How do I fix *warn-on-reflextion* warnings in 3rd party libraries?

2013-12-23 Thread juan.facorro
Hi Larry, This is not exactly what you asked but it might be helpful. There's a *check *command in *leiningen* wich *"Check[s] syntax and warn[s] on reflection."* only for the **.clj* files in your project's source files. This doesn't really resolve the reflection warnings for the libraries yo

Re: JAVA_OPTS not accessible in my Clojure project

2014-01-10 Thread juan.facorro
Hi Aidy, What do mean when you say "load the nRepl in the lein project"? Juan On Friday, January 10, 2014 9:42:02 AM UTC-3, Aidy Lewis wrote: > > Clojurians, > > For some reason JAVA_OPTS are not accessible in my Clojure project. > > The command line seems to be OK, if I: > > $ lein repl > > pro

Re: How to invoke java method obtained using clojure.reflect

2013-02-11 Thread juan.facorro
Since a macro's arguments must be available at compile time, creating one for calling a runtime defined method won't work. Because of this we are left with *eval*, which actually compiles and then evaluates at runtime the expression it receives as an argument. Here's a function that receives an

Re: How to invoke java method obtained using clojure.reflect

2013-02-12 Thread juan.facorro
Awesome :) On Tuesday, February 12, 2013 9:51:01 AM UTC-3, Meikel Brandmeyer (kotarak) wrote: > > Hi, > > if you want to resort to eval you can define your own function on the fly. > > (defn call-fn > [& args] > {:arglists ([class method & args])} > (let [o (gensym) > [class method

Re: protocol implementation delegating to protocol extension doesn't compile

2013-02-14 Thread juan.facorro
Hi Jim: I think the problem is that you are actually calling the *getDistance *protocol function with only 2 arguments in the line in bold below: (defrecord LevenshteinDistance [] IDistance (getDistance [_ s1 s2] *(getDistance s1 s2)) ;; <- Calling a getDistance function with 2 arg

Re: Why is this so difficult?

2013-02-14 Thread juan.facorro
I feel your pain BJG145, when I started learning Clojure I used Clooj to be able start playing with the language, it provides the basics, a REPL, a text area for the code and a tree of files and folder for the current project. It's simple and get's you

Re: Are symbols ending with ':' allowed or not?

2013-02-24 Thread juan.facorro
The first statement concers the Clojure *reader*, which parses source code according to the rules specified in the link provided. What I think the first quote refers to, is that all tokens that begin with a ':' will be parsed by the reader as Clojure keywords and not symbols. Additionally a col

Re: Why not when-let* ?

2013-02-27 Thread juan.facorro
In the short time I've been active in the list, I've seen this topic come up a couple of times, and they both have come up really close to each other also, there's been one in December and

Re: (def newsletter)

2013-02-27 Thread juan.facorro
Pretty cool. Have you subscribed and recieved any newsletter yet? If so, what do you think of the content? Thanks! J On Wednesday, February 27, 2013 2:49:01 PM UTC-3, Rich Morin wrote: > > I just ran across this and don't see anything about it in my list > archives, so... > > (def newslette

Re: (def newsletter)

2013-02-27 Thread juan.facorro
b7aa7c > > > On Wed, Feb 27, 2013 at 6:26 PM, juan.facorro > > > wrote: > > Pretty cool. Have you subscribed and recieved any newsletter yet? If so, > > what do you think of the content? > > > > Thanks! > > > > J > > > > &g

Re: doing a Google search from Clojure?

2013-03-22 Thread juan.facorro
Setting the user agent did the trick, at least in my case. (ns google-search (:import [java.net URL URLEncoder])) (def google-search-url "http://www.google.com/search?q=";) (def user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172") (de

Re: doing a Google search from Clojure?

2013-03-22 Thread juan.facorro
oder/encode query)))] (get-response url))) (spit "response.html" (search "clojure google")) J On Friday, March 22, 2013 1:02:53 PM UTC-3, Rich Morin wrote: > > On Mar 22, 2013, at 08:00, juan.facorro wrote: > > Setting the user agent did the trick, at least

Re: ANN How To Make Your Open Source Project Awesome (or: Not Suck)

2013-04-19 Thread juan.facorro
Good stuff and I really enjoyed reading it too. Thanks, J On Saturday, April 20, 2013 1:11:59 AM UTC-3, Michael Klishin wrote: > > > 2013/4/20 u1204 > > >> There is a HUGE gulf between the user documentation and maintaining >> the code. Just like there is a huge difference between using a car >>

Re: how to launch repl and switch to specific namespace programmatically

2012-12-13 Thread juan.facorro
The following code will start a repl in the my-repl.repl namespace: (ns my-repl.repl (:require [clojure.main])) (def my-var "hi") (clojure.main/repl) So you'll be able to acces the vars defined in it. my-repl.repl=> my-var "hi" Cheers, Juan On Thursday, December 13, 2012 2:25:44 PM UTC-3, s

Re: how to launch repl and switch to specific namespace programmatically

2012-12-13 Thread juan.facorro
I forgot to add the modified command line for this to work as described: $ java -Xmx1G -cp $CLASSPATH clojure.main src/my-repl/repl.clj Juan On Thursday, December 13, 2012 3:15:36 PM UTC-3, juan.facorro wrote: > > The following code will start a repl in the my-repl.repl namespace: >

Re: Import many classes with the same name

2012-12-14 Thread juan.facorro
One would have the same problem importing those classes in Java code. It's just not possible to import two classes with the same name, because there is no way to tell which one you are referring to when you use the class' name only (e.g. (Application.)). However it's possible to just import one

Re: Why I get IllegalArgumentException: No matching ctor found

2012-12-16 Thread juan.facorro
I think it has to do with the closure in the *fn *used when generating the form in the macro. If you change this function: *(defn make-greeter []* * (let [message "hello"]* *(fn [user-name]* * (str message ", " user-name* To this one: *(defn make-greeter [] * * (fn [user-name]*

Re: Tail call in multi method?

2012-12-17 Thread juan.facorro
What about recur ? It's a special form used for tail call optimizations. Juan On Monday, December 17, 2012 1:32:31 PM UTC-3, bruce li wrote: > > Hello, everyone. > > I'm currently trying to model an automata using multi-method. So in my > code, I have so

Re: Tail call in multi method?

2012-12-17 Thread juan.facorro
) > > (defmethod foo 0 [n] > :ok) > > (foo 1) ;; runs forever > > Jonas > > On Monday, December 17, 2012 6:56:34 PM UTC+2, juan.facorro wrote: >> >> What about recur <http://clojure.org/special_forms#recur>? >> >> It's

Re: Little namespace question

2012-12-18 Thread juan.facorro
The macro sees it arguments as *symbols* and does not resolve to the corresponding *var* until evaluation, so the value for the local *code* var in the macro is actually the *symbol** generator.* The *eval-in* macro uses the *read-string* function to evaluate the code you provide, this function

Re: Little namespace question

2012-12-19 Thread juan.facorro
ers, Juan On Wednesday, December 19, 2012 4:22:58 AM UTC-3, nodename wrote: > > As an aside, I'm curious about whether this could have been implemented > without a macro. > > -A > On Dec 18, 2012 11:06 PM, "Alan Shaw" > > wrote: > >> Thanks

Re: inserting code into reify methods

2012-12-24 Thread juan.facorro
Here's a possible implementation: (ns macro-test (:require [clojure.pprint :as p])) (defn get-args-index [x] (first (filter identity (map-indexed #(when (vector? %2) %1) x (defn insert-at [x y i] (concat (take (inc i) x) (list y) (drop (inc i) x))) (defmacro reify-with-validation [f i

Re: Please help this newbie out!

2013-01-08 Thread juan.facorro
I think the code you posted might not be the working code since a, b and c don't seem to exist in it. :P Check out the docs for the createImage(int, int) method: *Returns:**an off-screen drawable image, wh