Hello everyone,
in the first 2 days of the Pd Convention I will be giving a workshop about
data structures -
http://www.uni-weimar.de/medien/wiki/PDCON:Workshops/Data_Structures.
My plan is to talk about the theory in the first session, and practical
implementations + patch analysis in the second session. I have already a
group of example patches ligned up, but I wanted to see if anyone has
their own desires.
So, if you are interested in coming to the data structures workshop, and
already have a goal in mind on where/how to use them, you can send me your
requests. If time is available, I might be able to do some work for you,
which you can afterwards develop further.
If you want to send me a patch, try to follow the following steps:
inside near some important parts
And for everyone else: I would also like to know who will come to my
workshop. In case you have time, just send me a small message privately
with:
Hope to see many of you next week,
João Pais
Hi João
I'm mainly interested in using Pd for scientific and engineering research. I have a mixed level of experience--I'm deep into the DSP routines, but I have no clue how data structures work.
About the only application I can think of right now is a "data logger"--recording info about a particular trial/experiment and its results.
I'd like to learn easy or more compact ways to accomplish things with data structures.
I will look forward to your workshop! Thanks much!
Chuck
On Mon, Aug 1, 2011 at 5:57 AM, João Pais jmmmpais@googlemail.com wrote:
Hello everyone,
in the first 2 days of the Pd Convention I will be giving a workshop about data structures - http://www.uni-weimar.de/medien/wiki/PDCON:Workshops/Data_Structures.
My plan is to talk about the theory in the first session, and practical implementations + patch analysis in the second session. I have already a group of example patches ligned up, but I wanted to see if anyone has their own desires.
So, if you are interested in coming to the data structures workshop, and already have a goal in mind on where/how to use them, you can send me your requests. If time is available, I might be able to do some work for you, which you can afterwards develop further. If you want to send me a patch, try to follow the following steps:
- describe to me what the patch does, possibly leaving some comments inside
near some important parts
- describe what you wish to do
And for everyone else: I would also like to know who will come to my workshop. In case you have time, just send me a small message privately with:
- your name
- your interests
- your experience level
Hope to see many of you next week,
João Pais
-- Friedenstr. 58 10249 Berlin (Deutschland) Tel +49 30 42020091 | Mob +49 162 6843570 Studio +49 30 69509190 jmmmpais@googlemail.com | skype: jmmmpjmmmp
Pd-announce mailing list Pd-announce@iem.at http://lists.puredata.info/listinfo/pd-announce
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Mon, Aug 01, 2011 at 08:59:49AM -0500, Charles Henry wrote:
I'm mainly interested in using Pd for scientific and engineering research. I have a mixed level of experience--I'm deep into the DSP routines, but I have no clue how data structures work.
About the only application I can think of right now is a "data logger"--recording info about a particular trial/experiment and its results.
I'd like to learn easy or more compact ways to accomplish things with data structures.
I will look forward to your workshop! Thanks much!
Data structures can be nice problem solvers in unexpected areas as well, not only in visualizing/graphically editing data. For example, they are used hidden away to implement a fast vanilla list sorting in the newest [list-sort], or in the [m_symbolarray] object of the rj library to mimick a [table] object that stores indexed symbols instead of floats. A users of these objects never sees the data structures inside, they don't even have a graphical representation but instead are just used as what their name says: as data structures.
Frank
On Aug 2, 2011, at 4:14 AM, Frank Barknecht wrote:
On Mon, Aug 01, 2011 at 08:59:49AM -0500, Charles Henry wrote:
I'm mainly interested in using Pd for scientific and engineering research. I have a mixed level of experience--I'm deep into the DSP routines, but I have no clue how data structures work.
About the only application I can think of right now is a "data logger"--recording info about a particular trial/experiment and its results.
I'd like to learn easy or more compact ways to accomplish things with data structures.
I will look forward to your workshop! Thanks much!
Data structures can be nice problem solvers in unexpected areas as
well, not only in visualizing/graphically editing data. For example, they
are used hidden away to implement a fast vanilla list sorting in the
newest [list-sort], or in the [m_symbolarray] object of the rj library to mimick a [table] object that stores indexed symbols instead of floats. A users of these objects never sees the data structures inside, they don't even have a graphical representation but instead are just used as what their name says: as data structures.
Wow, I didn't know all that was possible. It would be really nice to
have a 'data structures' library that implemented all sorts of
standard data structures like hashs, dictionaries, etc. An array of
symbols is a good start. I wonder how many others are possible.
.hc
¡El pueblo unido jamás será vencido!
How well do these things scale without having a low level way to delete/copy scalars or insert/remove arbitrary array elements?
-Jonathan
From: Hans-Christoph Steiner hans@at.or.at To: Frank Barknecht fbar@footils.org Cc: pd-list@iem.at Sent: Tuesday, August 2, 2011 4:23 PM Subject: Re: [PD] [PD-announce] Pd Convention - Data structures workshop: Taking your requests
On Aug 2, 2011, at 4:14 AM, Frank Barknecht wrote:
On Mon, Aug 01, 2011 at 08:59:49AM -0500, Charles Henry wrote:
I'm mainly interested in using Pd for scientific and engineering research. I have a mixed level of experience--I'm deep into the DSP routines, but I have no clue how data structures work.
About the only application I can think of right now is a "data logger"--recording info about a particular trial/experiment and its results.
I'd like to learn easy or more compact ways to accomplish things with data structures.
I will look forward to your workshop! Thanks much!
Data structures can be nice problem solvers in unexpected areas as well, not only in visualizing/graphically editing data. For example, they are used hidden away to implement a fast vanilla list sorting in the newest [list-sort], or in the [m_symbolarray] object of the rj library to mimick a [table] object that stores indexed symbols instead of floats. A users of these objects never sees the data structures inside, they don't even have a graphical representation but instead are just used as what their name says: as data structures.
Wow, I didn't know all that was possible. It would be really nice to have a 'data structures' library that implemented all sorts of standard data structures like hashs, dictionaries, etc. An array of symbols is a good start. I wonder how many others are possible.
.hc
¡El pueblo unido jamás será vencido!
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi,
On Tue, Aug 02, 2011 at 01:57:32PM -0700, Jonathan Wilkes wrote:
How well do these things scale without having a low level way to delete/copy scalars or insert/remove arbitrary array elements?
It's "okayish". To store the symbol, I use a data-structure array of number/symbol pairs, where the number is used as a flag if a symbol is active or "deleted". So your symbolarray can have "holes", but OTOH if you create an array with only one symbol stored at position 20,000 it will use up the memory of 20,000 symbol/number pairs. But so does a [table] ...
Frank Barknecht Do You RjDj.me? _ ______footils.org__
There's also the (currently) underutilized "send-window" method of [pointer], which forwards a message to the canvas of the scalar that [pointer] is currently pointing at. Additionally, you can use the "traverse" method to point to the head of a glist (which doesn't even need to contain a scalar) and forward messages that way.
If you look at the canvas "get" method I added to the tracker, you'll see I have a "get parent RECEIVE-SYMBOL" message that returns a pointer to the parent canvas (or a zero if there isn't one). This allows you to:
[bng] | [f $0]
|
[get parent $1-rcv] | [s pd-$0-mysubpatch]
[r $0-rcv] | [route parent] | [route 0] |
[pointer]
Now [pointer] is pointing at the parent of [pd $0-mysubpatch], so if I immediately follow this by sending the message "send-window obj 20 20 clip" to [pointer], I get a [clip] object on it's parent. That's just a silly example, but notice it's different than sending to pd-PATCH-FILENAME.pd, which would draw a [clip] on every instance of that patch that is open.
Put this in an abstraction and it obsoletes [namecanvas]. Or create an abstraction to climb to the root, or the toplevel, etc.
-Jonathan
From: Frank Barknecht fbar@footils.org To: pd-list@iem.at Sent: Tuesday, August 2, 2011 4:14 AM Subject: Re: [PD] [PD-announce] Pd Convention - Data structures workshop: Taking your requests
On Mon, Aug 01, 2011 at 08:59:49AM -0500, Charles Henry wrote:
I'm mainly interested in using Pd for scientific and engineering research. I have a mixed level of experience--I'm deep into the DSP routines, but I have no clue how data structures work.
About the only application I can think of right now is a "data logger"--recording info about a particular trial/experiment and its results.
I'd like to learn easy or more compact ways to accomplish things with data structures.
I will look forward to your workshop! Thanks much!
Data structures can be nice problem solvers in unexpected areas as well, not only in visualizing/graphically editing data. For example, they are used hidden away to implement a fast vanilla list sorting in the newest [list-sort], or in the [m_symbolarray] object of the rj library to mimick a [table] object that stores indexed symbols instead of floats. A users of these objects never sees the data structures inside, they don't even have a graphical representation but instead are just used as what their name says: as data structures.
Ciao
Frank
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Tue, Aug 02, 2011 at 03:02:47PM -0700, Jonathan Wilkes wrote:
If you look at the canvas "get" method I added to the tracker, you'll see I have a "get parent RECEIVE-SYMBOL" message that returns a pointer to the parent canvas (or a zero if there isn't one). This allows you to:
[bng] | [f $0]
|
[get parent $1-rcv] | [s pd-$0-mysubpatch]
[r $0-rcv] | [route parent] | [route 0] Â Â Â Â Â Â Â |
[pointer]
Now [pointer] is pointing at the parent of [pd $0-mysubpatch], so if I immediately follow this by sending the message "send-window obj 20 20 clip" to [pointer], I get a [clip] object on it's parent. That's just a silly example, but notice it's different than sending to pd-PATCH-FILENAME.pd, which would draw a [clip] on every instance of that patch that is open.
Put this in an abstraction and it obsoletes [namecanvas]. Or create an abstraction to climb to the root, or the toplevel, etc.
Amazing!
Chris.