Actually, looking at the readme, I can see the code you were trying to use.
Sorry, I'm not sure how I didn't catch that before, but I've fixed it.
Zach
On Wed, Jul 31, 2013 at 10:17 AM, Zach Tellman wrote:
> Hi Ezra,
>
> This is admittedly a little confusing, but you
s 4])
> IllegalArgumentException Invalid field '4' for type ints-and-floats
> vertigo.core/validate-lookup (core.clj:177)
> user> (v/get-in s [4 :floats])
> IllegalArgumentException java.nio.Buffer.position (Buffer.java:216)
>
> Thanks,
> Ezra
>
> On Tuesday,
https://github.com/ztellman/immutable-bitset
There's not much to describe here, this provides an implementation of an
integer-only set which can take up three orders of magnitude less memory
under certain conditions. I needed this to implement a Bloom filter, but I
figured it had applications
This is just a thin wrapper over byte-streams [1] and some best-in-class
hash and compression algorithms, but I figure there are at least a few
people out there who'd like to use Snappy or MurmurHash but don't want to
crawl through javadocs. Enjoy.
Zach
[1] https://github.com/ztellman/byte-st
https://github.com/ztellman/byte-transforms
This is just a thin wrapper over byte-streams [1] and some best-in-class
hashing and compression algorithms, but I figure there are at least a few
people who, like me, have put off using Snappy or MurmurHash because they
didn't feel like crawling thro
I actually haven't applied it yet. I'll post results once I have.
On Wed, Jul 17, 2013 at 11:49 AM, Daniel wrote:
> How did this affect performance in your Go AI?
>
>
> On Tuesday, July 9, 2013 10:56:03 PM UTC-5, Zach Tellman wrote:
>>
>> Last year, I gave a
gger segments at a time, and complete the overall sort in fewer
> passes.
>
>
>
>
>
>
>
> On Mon, Jul 15, 2013 at 1:40 PM, Zach Tellman wrote:
>
>> If you (vertigo.core/wrap "a-file-name"), that will use mmap under the
>> covers, so if no on
t would be nice to have some way to deal with strings & other
> variable-length data.
>
> I'm also curious if its possible to make the analog of this for fressian,
> basically to avoid unpacking objects that are not necessary for the
> computation at hand.
>
>
>
>
It looks like the macroexpansion code in conditions.free is fairly generic.
What would you say to putting it into its own library?
On Thu, Jul 11, 2013 at 6:54 PM, Ben Wolfson wrote:
> On Thu, Jul 11, 2013 at 6:48 PM, Zach Tellman wrote:
>
>> Yeah, for safety's sake I ne
java.lang.RuntimeException: Unable to resolve symbol:
> it-1 in this context, compiling:(NO_SOURCE_PATH:1:1)
> proteus>
>
>
>
>
> On Thu, Jul 11, 2013 at 6:16 PM, Zach Tellman
> > wrote:
>
>> There was some discussion a few days ago about how the lack of local
There was some discussion a few days ago about how the lack of local
mutable variables were harming performance, or possibly elegance, I'm not
sure. Regardless, I fixed it: https://github.com/ztellman/proteus
Enjoy!
--
--
You received this message because you are subscribed to the Google
Gro
Hi Patrick,
A similar question has been asked in the Aleph mailing list, and you can
see my answer there:
https://groups.google.com/forum/#!topic/aleph-lib/SIO9Z8d3tdo. For future
reference, you're more likely to get my attention, or the attention of
someone else who can answer your question,
I've just released Vertigo [1], which I describe in this
thread: https://groups.google.com/forum/#!topic/clojure/BayfuaqMzvs. I
suspect this has some bearing on the conversation.
Zach
[1] https://github.com/ztellman/vertigo
On Tuesday, July 9, 2013 8:11:58 AM UTC-7, Alexander Gunnarson wrote:
Last year, I gave a talk at the Conj on my attempt to write an AI for the
board game Go. Two things I discovered is that it was hard to get
predictable performance, but even once I made sure I had all the right type
hints, there was still a lot of room at the bottom for performance
improvement
the lowest level.
>
> Given the amount of data-processing stuff people are doing, it seems like
> a reasonable thing to have in contrib at least?
>
>
> On Saturday, 29 June 2013 18:57:58 UTC+1, Zach Tellman wrote:
>>
>> I've recently been trying to pull out useful p
aybe this is as simple as the
> number of steps...)? Thanks for releasing this!
>
> -- Dan
>
> On Saturday, June 29, 2013 1:57:58 PM UTC-4, Zach Tellman wrote:
>>
>> I've recently been trying to pull out useful pieces from some of my more
>> monolithic librarie
This is really cool, thanks for doing this. I was able to eke out another
1.8x speedup by replacing '=' with 'identical?' for the keyword comparisons
[1]. There also might be further room for improvement by defining inline
forms for some of the smaller functions.
Zach
[1]
https://github.com/
This is really cool, thanks for taking the time to do this. I was able to
eke out another 1.8x speedup by changing the keyword equality checks with
'identical?' [1], and there might be some further room for improvement by
defining inline forms for some of the smaller functions.
Zach
[1]
http
I've recently been trying to pull out useful pieces from some of my more
monolithic libraries. The most recent result is 'byte-streams' [1], a
library that figures how how to convert between different byte
representations (including character streams), and how to efficiently
transfer bytes bet
At Factual, we build and constantly refine a canonical index of real world
entities: businesses, locations, and products [1]. We also provide ways
for other data to be resolved against our index [2] [3], allowing our
service to act as a join table for real-world entities, breaking down
barrier
Potemkin [1] is a collection of facades and utilities that I've found
helpful when writing larger-scale libraries or applications. I've never
formally announced it before, but I think it's gotten to the point where
others can benefit from it.
A few highlights:
* 'def-map-type', which allows f
What (+ x y) compiles down is highly dependent on the surrounding context,
including but not limited to the local type-hints and the value of
*unchecked-math*. Actually verifying that it's calling the primitive,
unboxed, easily inlined clojure.lang.Numbers.add(long, long) requires
either a pro
I've had Graphviz integration in Lamina for a while [1], and have generally
found it to be fun and useful. To let everyone join in the fun, I've
extracted that functionality into its own library, Rhizome [2]. Feedback
is welcome.
Zach
[1] https://github.com/ztellman/lamina/wiki/Channels
[2]
If the upstream channel is permanent, then it won't close if all downstream
channels are closed. You can create a permanent channel using
(permanent-channel) or (channel* :permanent? true). Once you have that,
you can replace all that code with a simple (siphon perm-ch conn-ch)
As an aside, t
I updated Penumbra to target the project structure for Leiningen 2 a while
back, are you using v1 by any chance?
Zach
On Thursday, October 11, 2012 12:34:44 PM UTC-7, JvJ wrote:
>
> I'm trying to make a project using Penumbra for opengl, but somehow I get
> an issue when I try (use 'penumbra.op
That documentation is for the Lamina library, and describes how full-duplex
client connections are represented. If you created a TCP client, all that
would be true.
However, you are writing a server, and using HTTP, which is a much more
structured protocol. Each request takes only a single re
I agree that namespaces should be designed to be consumed, but that can be
pretty taxing on the developer. In my libraries, I tend to split the
functions into whatever sub-namespaces I want to keep the organization easy
for me, and then import all the functions I want to expose into a
higher-l
Unfortunately, you just missed the monthly Bay Area user group meetup,
which was yesterday. But with Google I/O going on, maybe there are
enough people around that an impromptu meetup would be plausible.
Zach
On May 10, 1:07 pm, David Jagoe wrote:
> G'day everyone,
>
> Forgive me if this is not
I definitely find them useful.
On Apr 18, 8:47 am, Laurent PETIT wrote:
> Hello,
>
> The -?> and -?>> macros are currently inside "old", "soon to be
> deprecated" clojure contrib.
>
> They have proven useful to me a number of times, and I personnally
> wouldn't see them stay in the soon "deprecat
Using Aleph (https://github.com/ztellman/aleph), you can create a
server that broadcasts messages from any client to all other clients
very easily:
(use 'aleph.http 'lamina.core)
(def broadcast-channel (permanent-channel))
(start-http-server
(fn [ch _]
(siphon broadcast-channel ch)
(si
I don't know if your example codec is as simple as your real problem,
but here's a codec that will work for the string you provided:
(repeated
(string :utf-8 :delimiters ["\n" "\n\0"])
:delimiters ["\n\0"] :strip-delimiters? false)
This terminates the whole sequence only on \n\0, but doesn't
Thanks for the patch! It's too bad that Gloss wasn't directly suited
to your needs, but I appreciate you taking the time to familiarize
yourself with the code and add new functionality.
Zach
On Jan 5, 2:45 pm, "Eric Schulte" wrote:
> also, here's a patch to Gloss which I've used locally but whi
> #'user/t
> user=> (decode t (.getBytes "blabla\nhihi\njg\0 g\n\0"))
> java.lang.Exception: Cannot evenly divide bytes into sequence of
> frames. (NO_SOURCE_FILE:0)
>
> What I think is happening is that repeated reads up to the first \0
> and then tries to fit the subfra
labla" "hihi" "g"]
>
> > This gives me the same error as my code, but since the header in my
> > code seems correct, I don't see why it has leftover bytes.
> > (decode t (.getBytes "blabla\nhihi\ng\0"))
> > java.lang.Exceptio
cols/Writer found for
> class: clojure.lang.PersistentVector
>
> Only thing it mentions in the stacktrace [3] is methods on a reify,
> which calls the same method again, or in the most recent case, just
> return nil.
>
> [1]http://www.minecraft.net/docs/NBT.txt
> [2]https:/
If you decide to try Aleph and have any questions, I'm available via
Github or on the mailing list at http://groups.google.com/group/aleph-lib.
Zach
On Dec 24, 10:55 am, paul santa clara wrote:
> I have had a lot of success with Aleph. Just remember to clone the git repo
> as things move quickl
(future ...) enqueues tasks onto a thread pool.
On Dec 17, 10:47 am, "nicolas.o...@gmail.com"
wrote:
> > How about futures? They are in clojure.core and can be used for much the
> > same purposes as Fork/Join, unless your individual tasks are so small that
> > the performance advantage of Fork/
The only things I know that Gloss lacks relative to Erlang's
functionality is arbitrary bit-lengths for integers and mixed-endian
support, both of which I plan to add in the near future. Lacking
Erlang's built in pattern matching, the Clojure implementation will
probably be less elegant in some ca
of frame definition. In that case Gloss decode fun
> would refuse to accept ByteBuffers with wrong order() and encode fun
> will always generate the correct result.
>
> Zoka
>
> On Nov 25, 3:00 am, Zach Tellman wrote:
>
>
>
>
>
>
>
> > ByteBuffers have an o
Zach
On Nov 23, 2:52 pm, zoka wrote:
> JVM stores numbers in in big endian format - is there a way to process
> binary stream containing little endian numbers?
>
> Zoka
>
> On Nov 24, 7:24 am, Zach Tellman wrote:
>
>
>
>
>
>
>
> > Good question. The
On Nov 24, 12:42 am, Michael Wood wrote:
> Hi
>
> On 24 November 2010 04:43, Zach Tellman wrote:
>
> > There are a couple of different things being discussed here. I don't
> > think there's any harm in allowing maps as frames, as long as people
> > und
I'm hoping
people will find it useful for a variety of purposes.
Zach
On Nov 23, 4:21 pm, Chris Perkins wrote:
> On Nov 23, 3:24 pm, Zach Tellman wrote:
>
>
>
>
>
>
>
>
>
> > On Nov 23, 12:12 pm, Chris Perkins wrote:
> > > I have only taken a quick
would be to just turn any vector which is alternating
keys and types into an ordered-map, but that seems a bit too magical.
Zach
On Nov 23, 12:12 pm, Chris Perkins wrote:
> On Nov 23, 12:03 pm, Zach Tellman wrote:
>
>
>
>
>
>
>
>
>
> > When writing Calx [1], I d
Yes. There are Eclipse license headers on all the files, I'll just
update the README to reflect that.
On Nov 23, 9:51 am, Stuart Halloway wrote:
> Neat. License same as Clojure's?
>
> Stu
>
>
>
>
>
>
>
> > When writing Calx [1], I discovered it was a huge pain to deal with
> > mixed C datatypes
When writing Calx [1], I discovered it was a huge pain to deal with
mixed C datatypes in Java. When writing Aleph [2], I discovered the
problem increases by a factor of ten when dealing with streams of
bytes. In an attempt to alleviate my own pain, and hopefully help a
few other people out, I've
I've dealt with a similar problem when creating Penumbra [1]. An
'app' has several mostly orthogonal pieces: window management, input
handlers, action queues, and so on. From an implementation
standpoint, it's very desirable to split these up, but we don't want
to expose that to the user.
What I
Lines of code are a terrible metric for language complexity. If I
write a function and abstract away half the code, have I made Clojure
twice as simple?
If you want to really evaluate Clojure, write a non-trivial
application and see whether the complexity is still manageable. Code
golf doesn't t
g-handler [req]
(future
(respond! req (ring-handler req)))
On Jul 21, 12:06 pm, Zach Tellman wrote:
> On Jul 21, 11:51 am, David Nolen wrote:
>
> > On Wed, Jul 21, 2010 at 2:42 PM, Zach Tellman wrote:
> > > Both of those seem to be about persisting data across reques
On Jul 21, 11:51 am, David Nolen wrote:
> On Wed, Jul 21, 2010 at 2:42 PM, Zach Tellman wrote:
> > Both of those seem to be about persisting data across requests. I
> > apologize if I'm being dense, but how does the threading model affect
> > how they work?
>
>
Both of those seem to be about persisting data across requests. I
apologize if I'm being dense, but how does the threading model affect
how they work?
On Jul 21, 11:28 am, gary b wrote:
> On Jul 21, 10:40 am, Zach Tellman wrote:
>
> > I don't think anything in the Rin
Also, I've just created a mailing list for Aleph at
http://groups.google.com/group/aleph-lib, since it seems like that
might reduce the clutter here.
On Jul 21, 10:40 am, Zach Tellman wrote:
> I don't really understand what's being debated here. Aleph is fully
> Ring-compl
I don't really understand what's being debated here. Aleph is fully
Ring-compliant in every way but its threading model. I don't think
anything in the Ring utilities are thread-aware, so they're all okay
to use. I'm not very familiar with Compojure, but as long as you're
willing to make an expli
Hi Victor,
I've written Penumbra (http://github.com/ztellman/penumbra), which is
a wrapper for OpenGL that allows for some limited general purpose
computation. I've also written Calx (http://github.com/ztellman/calx)
which is a wrapper for OpenCL, and it's designed for general purpose
computation
On Jul 7, 11:17 am, David Nolen wrote:
> On Wed, Jul 7, 2010 at 2:10 PM, James Reeves wrote:
>
>
>
>
>
> > On 7 July 2010 19:04, David Nolen wrote:
> > > So something like this:
> > > (defn hello-world [request]
> > > (future
> > > (Thread/sleep 1)
> > > (respond! request
> > >
On Jul 7, 8:28 am, ngocdaothanh wrote:
> > For some reason I couldn't get 3.2.1.Final to come in via maven.
>
> I think you need to add this to project.clj:
> :repositories [["jboss" "http://repository.jboss.org/nexus/content/
> groups/public/"]]
>
Thanks, I'll give that a try.
> > What qualitie
On Jul 7, 9:12 am, David Nolen wrote:
> On Wed, Jul 7, 2010 at 5:15 AM, Zach Tellman wrote:
> > With this in mind, I decided to make the thinnest possible wrapper
> > around Netty such that a person could play around with alternate ways
> > to use Clojure effectively. The r
On Jul 7, 2:57 am, ngocdaothanh wrote:
> > [org.jboss.netty/netty "3.2.0.BETA1"]
>
> Netty 3.2.1.Final has been released.
>
> I think the ! mark in "respond!" is kind of misleading. Why not change
> it to "arespond"?
For some reason I couldn't get 3.2.1.Final to come in via maven. I
didn't want
At the Bay Area user group meeting in June, there was a very
interesting discussion about how to best use Clojure's concurrency
primitives to field large numbers of concurrent requests, especially
in a long-poll/push type application. We didn't arrive at any solid
conclusion, but it was clear to e
atforms? Esp on OSX
> and Linux.
>
> Thanks,
>
>
>
>
>
> On Mon, Jun 21, 2010 at 2:04 AM, Zach Tellman wrote:
> > Wrappers for OpenCL have been discussed a few times on this list, so
> > hopefully a few of you will be interested to hear that one is
> > available at
Wrappers for OpenCL have been discussed a few times on this list, so
hopefully a few of you will be interested to hear that one is
available at http://github.com/ztellman/calx.
In my opinion, the C-variant language used by OpenCL doesn't have too
much incidental complexity, so I don't think I'll s
You're right, that does explain it. I assumed that variadic arguments
were supported, but maybe I was wrong. Can anyone confirm whether or
not this was ever intended to work?
On Apr 6, 2:32 am, Jarkko Oranen wrote:
> On Apr 6, 8:16 am, Zach Tellman wrote:
>
> > Possibly t
Possibly this fall out from the latest commit requiring an explicit
'this' reference (ba6cc3b), I haven't checked any versions but the
most recent.
user> (defprotocol Protocol (f [a b & c]))
Protocol
user> (def p (reify Protocol (f [a b & c] [a b c])))
#'user/p
user> (f p :a)
No single method: f o
how about 'patois' or 'creole'
On Mar 17, 12:08 am, mac wrote:
> After just a little more test and polish I plan on calling clj-native
> 1.0. But clj-native is a *really* boring name so I want to change it
> before 1.0 and I don't have very good imagination when it comes to
> these things.
> So I
In the past, I haven't had a lot of luck putting the JOGL libraries on
the classpath. A much better approach, I've found, is to create a
custom script to load up clojure, and put the class and library paths
as parameters to the java executable. My library used to target JOGL
(it now uses LWJGL),
A few months back I created very basic bindings for CL4Java (the code
for it still exists in Penumbra, under src/opencl). It then
subsequently was renamed to JOCL, which was already in use by another
OpenCL library, and they started to work on combining their efforts,
and I decided to wait until e
I've double-checked I have the latest from github, cleaned and
recompiled, and I'm still getting the same results.
user=> [*clojure-version* (meta (second '(a #^b c)))]
[{:interim true, :major 1, :minor 2, :incremental 0, :qualifier
"master"} nil]
Does anyone have an idea what's going on here?
O
At the REPL, in 1.2.0-master
> (meta (second '(a #^b c)))
nil
In 1.1.0-new (and I believe all previous versions)
> (meta (second '(a #^b c)))
{:tag b}
Is this intentional, or a bug? Is the new type hint syntax being
introduced in 1.2?
--
You received this message because you are subscribed t
All of these seem to distract from the activity we're trying to fund:
the development of Clojure. If the current approach can bring in
enough money, it strikes me as fairly ideal. We'll just have to wait
and see if it does.
--
You received this message because you are subscribed to the Google
G
At first glance I don't see a clean to make this completely higher-
order, but here's a shorter (albeit a little messy) version:
(loop [a a0]
(let [[a b c d e] (reduce #(conj %1 (%2 (last %1))) [a] [f1 f2 f3
f4])
g (f5 c)
h (-> e f2 f5)]
(if (or (f6? b) (<= g h))
On Dec 2, 12:38 pm, David Nolen wrote:
> Yeah it sounds like you'll need to package up JOGL 2 and push it to Clojars
> right?
>
>
>
> On Wed, Dec 2, 2009 at 3:20 PM, Zach Tellman wrote:
> > On Dec 1, 3:31 pm, David Nolen wrote:
> > > So just to
On Dec 1, 3:31 pm, David Nolen wrote:
> So just to keep the conversation going:
>
> http://download.java.net/maven/2/net/java/dev/gluegen/http://download.java.net/maven/2/net/java/dev/jogl/
>
> I note that these two maven repos specify the platform with the following:
>
> lib-{platform}-{arch}
>
>
On Dec 1, 8:15 am, David Nolen wrote:
> On Tue, Dec 1, 2009 at 1:10 AM, Phil Hagelberg wrote:
> > David Nolen writes:
>
> > > The problem is that JOGL needs JNIs and JNIs need to be on
> > > java.library.path or java.ext.dirs, not the classpath. In order to
> > > make life easier for people lear
I've thrown together a very simple Tetris clone, which can be found at
http://github.com/ztellman/penumbra/blob/master/src/examples/tetris.clj
. Excluding the parts hidden away by the framework, it's a purely
functional implementation. I figured a few people here might find it
interesting.
--~--
101 - 173 of 173 matches
Mail list logo