logs archiveIRC Archive / Freenode / #emacs / 2009 / November / 19 / 1
yonkeltron
well then
i got a wrong answer
right, ok so then real threads. gotcha
tromey
you can see in action ... some VC operations are async, M-x man is, etc
yonkeltron
neat
tromey: g
tromey: so the threads would be coop at first
and then is the idea to make them truer at the end
tromey
yeah
yonkeltron
are there concerns over things like buffers are global?
tromey
yeah
yonkeltron
are they being addressed?
tromey
there are a lot of tricky problems with being fully multi-threaded
not yet, we're still working on some basic stuff
there are a few more binding problems to be sorted out
then I think we'll be ready with the first real patch
I mean, ready for upstreaming, at least IMO
yonkeltron
right, figured at much. that's why i began by asking about lexbind.
         

tromey
giuseppe is already running gnus in a second threads fwiw :-)
yonkeltron
tromey: wow.
tromey
elisp has 9 different ways to bind a name :-)
yonkeltron
now that particular bit, i didn't know
i had an idea for the buffer problem but i think it's too radical a departure
tromey
what is that?
yonkeltron
i had a notion of implementing something inspired by carl hewitt's actor model by having an actor assigned to each buffer with a FIFO mailbox queue so that if you wanted to be multi-threaded you could use that
doesn't solve everything
but it was the beginning of an idea
of course, you could still be stupid and not use the mailbox
as well as have two conflicting operations performed in sequence
such as a write to a buffer followed by a line clearing of what was just written, etc.
technomancy
I wonder if you'd need a way of grouping operations atomically on a buffer.
yonkeltron
well if you provide the right 'micro-api' sort of thing, then you can just pass a lambda
tromey
yeah, we'll eventually need some kind of locking
yonkeltron
and the actor on a buffer just execs down the line of lambdas waiting
technomancy
yonkeltron: right, I guess the actor idea would get you that for free; that's cool.
yonkeltron
the part i like about my idea is that you could implement it on top of what's there and just strongly encourage it's use
if it works, then port stuff to use it
technomancy
it's a bit harrowing to imagine getting all the existing code out there to use it.
yonkeltron
right
my idea also has plenty of weaknesses
tromey
I worried more about locking in the past
yonkeltron
tromey: elaborate?
tromey
but in practice I don't expect big problems
technomancy
maybe a compatibility layer that pretends to work the old way but actually pipes operations through the actor system?
tromey
most code doesn't do stuff all over, that is pretty rare
yonkeltron
that's good to hear.
         

tromey
and you can already have badly behaved process filters that stomp things asych -- but that isn't a problem in practice
yonkeltron
interesting
so my idea might be worth examining afterall?
tromey
yeah. it seems like it could work on top of the base threading primitives
yonkeltron
if it could be said that "here is this great use of threads and here is this toolkit to keep your app from sh*tting all over the place" that'd be great
actors are much safer than threads because of shared nothing
message passing and the like is a good way to go
technomancy
I'm a fan
yonkeltron
if either of you are interested, there's an interview with carl hewitt where he rags on STM quite heavily (as well as other things) but the bits about actors are cool
technomancy
stm makes no sense for heavily-mutable things like buffers
yonkeltron
http://itc.conversationsnetwork.org/shows/detail3917.html
stm doesn't make much sense to me at all, actually.
technomancy
it needs persistent data structures
erikc
i quite like stm, but it would require a lot of specialized tooling for monitoring/profiling/debugging
yonkeltron
hewitt has been thinking about this so long that he sort of sees parallels everywhere in life so his explanations are pretty interesting, even if i don't buy them 100%
i know the erlang kids are big on actors and scala has a good implementation on top of threads
not in the language, but as a library good enough that it's the default mechanism of concurrency
anyway, so the idea is to wrap the buffer api in a concurrency-safe mechanism of some type (actors are good) and then go from there
wouldn't need to be a pure actor but something with a mailbox which could exec things in order in a controlled way
erikc
you'd probably want to only send pure values through that mailbox too
clone all data at the interface boundary
yonkeltron
meaning not lambdas?
ah
yeah
erikc
to avoid mutation insanities
yonkeltron
right so we could have a message object
erikc
does dynamic scoping lookup stop at thread entry points?
yonkeltron
dear friends, i must get on the road but i'd like to continue this discussion at some other point
rullie
hi guys, is there some quick way to convert all comment-box to comment-region in a buffer?
tvl
does ido-mode cache information about directories somewhere? at some point i had a huge homedir, and got a [Too big] when search for files in it. now i've shrunk it, but still get that error, and don't get it when looking for files in directories with many more files
technomancy
,t8 es en le hace parecer complicado.
fsbot
ERROR: Wrong type argument: characterp, "1 -
(/usr/bin/translate-bin:10931): libtranslate-WARNING **: unable to translate chunk using Google: unable to parse server data ..[Type ,more]
technomancy
eep
sockmonk
tvl, I have an ~/.ido.last file that keeps track of some things
you might want to try moving or renaming that and then restart emacs, to see if that helps
tvl
same result; however, there are a lot of hidden directories. is there some option to ignore those?
boscop
after installing emms my vlc player freezes everytime I open a pls playlist! why?? I already reinstalled it
skorpan
that's odd O_o
boscop
yes
I only played some pls playlists in emms
inside emms it still works but not in vlc
2. inside emacs "term", whenever i use C-left or C-right or mouse to position the cursor, it does not take this position. it seems like that because it draws it there. but as soon as I type something it switches back to its previous position. why??
fsbot
mu!
boscop
why?
with M-f and M-b it works, though, but not with C-left and C-right
although those are both bound to the same functions!!!!!
forward-word/backward-word
drdo
hello
neosoothsayer
pretty quiet huh?
bpalmer
,yow
fsbot
Why was I BORN?
bpalmer
to give us information, fsbot
neosoothsayer
.yow
birny
Yow! Legally-imposed CULTURE-reduction is CABBAGE-BRAINED!
skorpan
remind me again, what the hell is yow?
i vaguely recall it having something to do with nerds
bpalmer
,g zippy the pinhead
fsbot
[google] http://www.zippythepinhead.com/Merchant2/merchant.mv%3FScreen%3DCTGY%26Store_Code%3DZTP%26Category_Code%3Dds
http://en.wikipedia.org/wiki/Zippy_the_Pinhead
neosoothsayer
,rudybot
fsbot
neosoothsayer, From memory, rudybot is [0] a heap of junk offby1 made by pushing bits of junk towards one another until a heap formed
[1] a digital golem,
[2] at http://www.emacswiki.org/cgi-bin/wiki.pl?rudybot
jlf
rudybot_: quote
rudybot_
jlf: Let's develop apps for the iPhone in elisp.
jlf
let's not
neosoothsayer
.quote
birny
/bin/bash: /home/franl/bin/quote: No such file or directory
neosoothsayer
.quote
birny
/bin/bash: /home/franl/bin/quote: No such file or directory
neosoothsayer
.seen johnw
birny
johnw was last seen joining #emacs at 2009-11-18 21:00:39 GMT (2 hours, 44 minutes, 22 seconds ago).
funkenblatt
i think i'd rather do them in elisp than in objc
bpalmer
objective C doesn't seem horrible
technomancy
yay, no more CVS after 23.2 pretest
froog
technomancy: that's almost sureal :)
technomancy
I won't go so far as to say "yay bzr", just "yay no more CVS". =)
skorpan
i'll believe it when i see it
hober
yeah, but the way the bzr decision was made was so asinine
legumbre_
I tried the scheme -> gambit -> iphone thing a couple of weeks ago; it worked ok with the iphone simulator, even got a REPL.
cluck
technomancy: was it you that was working on rudel?
technomancy
cluck: yeah, not as much recently though
working with sourceforge was so frustrating.
cluck
technomancy: how hard would you say it would be to add support for another protocol?
technomancy
cluck: the difficulty would lie more in implementing the protocol support than fitting it into rudel
it's designed from the ground-up to support multiple protocols
that said, inclusion transformation is hard... you should read up on the theory behind it so you know what you're possibly getting into
cluck
technomancy: is there a list/doc on required features other than the src?
technomancy
cluck: not that I know of. unfortunately cedet makes the source somewhat less than readable at times.
Guest23192
does anyone know if Rudel installs easier latest Emacs 23 Cocoa build? I recall @dysinger compiling like crazy with a variety of flag combinations to get Rudel working correctly; though that was a few weeks ago
cluck
yeah, i was afraid of that
technomancy
the author is quite responsive though
Guest23192: it's much simpler if you just comment out the zeroconf stuff
you don't need to recompile
mwilliams_
technomancy: Ahhh nice
technomancy
(Action) would fix it if he felt like fighting with sourceforge's bzr setup. =(
mwilliams_
Sourceforge? What's that? :) My last visit was terribly frustrating, jumping through multiple pages for almost full screen adds to pull down a tar file; blah
err ads
cluck
technomancy: i'm just sniffing around, there's something i'd like to do but i'm hardcore lazy and i'm not diving into new code unless i'm sure i can complete what i want relatively easy, i have plenty hobby code stuck half way through already :)
technomancy
cluck: what's the backend you had in mind?
cluck
mwilliams_: adblock and noscript are your friends too
technomancy
cluck: that may be, but that doesn't mean sourceforge is not your foe.
cluck
technomancy: waves, from what i've read so far an interface would be doable (if somewhat limited) if masked as a robot
technomancy
cluck: you know someone's already started on that?
cluck
technomancy: but i'm in no hurry (heck, with jabber.el around i wouldn't be surprised if someone far better a coder than me wrote a wave server for emacsen)
technomancy: no, whom?
technomancy
cluck: client-side wave doesn't use XMPP
cluck
technomancy: i know
technomancy
coldhead
oooh
cluck
technomancy: as much as i hate to admit it, that's likely a feature, xmpp can be hell when non-standardly used, an easy to scrape format may actually help
technomancy
(Action) hasn't read up on the protocol much
cluck
technomancy: for some reason i had an uncontrollable laugh spasm as soon as i read "java backend", maybe i developed some kind of pavlovian response after being exposed to so many bad java programs all these years :)
technomancy: but i'll look, thanks for the pointer
technomancy
it's a JVM backend, not Java The Language"
code's still in Lisp from what I understand
rgr
whats quickest way to change the current working dir for a certain buffer?
hober
M-x cd
rgr
doh
cluck
technomancy: yeah, i noticed, the guy stuffed closure in the repo
rgr
hmm doesnt seem to work for haskell interpreter. guess it has its own load path.
hober
rgr: I don't follow.
you expected a change in `default-directory' to propagate to a subprocess?
rgr
I need to fulyl qualify a file name. ":l tut.hs" doesn't find it.
bpalmer
rgr: once a subprocess is created, you can't change its wd from outside
rgr
ok
cluck
technomancy: tbh that kind of confuses me, i don't see why he'd do that, it's not like he's avoiding the possible lock that will exist when talking to elisp/emacsen
(Action) keeps poking the src tree
bpalmer
lock?
cluck
bpalmer: think gnus with bad setup
that's what i mean
bpalmer
That's gnus communicating with a remote server. Very few people complain about gnus on local mbox
(gnus on a local mbox may still have problems, depending on the backend, but is quite a bit better than IMAP)
my_haz
is there a function that lets you jump to where the string you are sitting on exists in other files? Kinda like what dabbrev-expand, but instead of expanding, hoping you around to buffers. Or like kinda like search, but more ordered (like ido with buffers).
bpalmer
remote IMAP, I should say; offlineimapproxy helps a lot.
cluck
bpalmer: i wasn't complaining, i was just using the bad setup as a parallel of what i meant with "lock"
bpalmer
my_haz: tags
my_haz
s/files/buffers/
bpalmer: are they automagic like the expansion?
bpalmer
cluck: it seems likely to me they just don't want to parse xmpp in elisp.
my_haz: nope.
cluck
bpalmer: no xmpp support is needed from clients
bpalmer: xmpp is only used between servers
(Action) prays that is extended to transports soon
technomancy
cluck: you're wondering why the server wasn't implemented in elisp?
cluck
technomancy: yes, among other things, somehow this code doesn't strike me as good
even the path to the java interpreter is hard coded
technomancy
sounds like a project that only one person has been working on.
bpalmer
cluck: hmm? you mean (defcustom wave-client-java-location "/usr/bin/java"
?
cluck
bpalmer: yup
bpalmer
it's not hard-coded; that's just a default
« prev 1 2 3 4 5 6 7 8 9 10 next »