[codecraft] Welcome, everyone!

Zakariyya Mughal zaki.mughal at gmail.com
Wed Jul 15 20:50:08 EDT 2015

On 2015-07-15 at 20:00:43 -0400, Philip Durbin wrote:
> This is not to say that we don't like cool tricks, of course. :)
> In practice, I've been emailing Michael interesting stuff but I'm a big
> believer in maximizing the value of my keystrokes* so now other people can
> jump in with comments or new topics.
> In recent years IRC has been an outlet for me for chatting about
> programming but Michael caught me at a moment of weakness. I had just read
> the paper at http://people.csail.mit.edu/axz/mailinglists.html and I think
> a mailing list could work. It was interesting to read how much people hold
> back on mailing lists but that they want more discussion. I probably won't
> hold back here and I encourage others to do the same.

Michael and Philip,

Thanks for making this list!

I love the place mailing lists play in the continuum of communication
mediums — for me, it is a place where writing long paragraphs is welcome
and is more ephemeral than a blog post, but not as ephemeral as IRC,
Twitter, etc. I like that I can go back and read older content easily.
Just last week, I was just reading some threads from 1998 on a Smalltalk
mailing list.

As for projects, I guess I'll start with one thing that I've been
looking at lately. I'm part of the dev team of PDL, a numerical
computing library for Perl. We're thinking of how to move the design
forward to handle more modern computational tools such as GPU computing.

Since much of underlying code is written in C, I wanted to look into
ways of structuring the code using traits[^traits] since I've had lots
of success with them when writing other OO-based code.

I came across a project called "C Object System"[^cos] which has some
amazing features for something only uses the pre-processor, notably:
metaclasses, method advice, multimethods, exceptions, contracts and

C code often has the problem where it becomes harder to write something
that is both dynamic and well-structured as a project grows. I'm hoping
that using this might help me, say, write code that handles both GPU and
sparse arrays without having too much duplicated code, but still be able
to go back and optimise after profiling.

I still need to prototype some of this and hopefully I'll be able to
share that here later. :-)

- Zaki Mughal

[^traits]: <https://en.wikipedia.org/wiki/Trait_(computer_programming)>
           and the paper "Traits: Composable Units of Behaviour"

[^cos]: <http://ldeniau.web.cern.ch/ldeniau/cos.html>, <https://github.com/CObjectSystem/COS>

> What are you working on? What's been interesting lately? What do you want
> to work on some day? Are you still having fun? :)
> Phil
> http://greptilian.com
> * http://blog.codinghorror.com/maximizing-the-value-of-your-keystrokes/
> On Wed, Jul 15, 2015 at 4:46 AM, Michael Bar-Sinai <mich.barsinai at icloud.com
> > wrote:
> > Hello world! (\n)
> > Civil Engineering has been around since before Stonehenge. Mechanical
> > engineering has been around since when they've invented the wheel (if not
> > before). Software engineering goes all the way back to 1950*. All this to
> > say that it's okay for us software engineers to still be asking what is it
> > that we are doing and what is the proper way of doing it. At this point,
> > software engineering is more of a craft than a classic engineering
> > discipline.
> >
> > We (Phil and me) intend this list to be a place for discussion about the
> > craft of code and the process of building software. This may not be the
> > best place to discuss "a cool trick in Javascript", but it is the place to
> > discuss "a cool trick in Javascript that allows for new ways of building
> > ${whatever}".
> >
> > We are in the trenches of software engineering, looking up, asking
> > ourselves "why?", "what?", "how?", and, most importantly," are we having
> > fun yet?".
> >
> > -- Michael
> >
> > *The actual term coined by Margaret Hamilton in 1968 for the first
> > "software engineering" conference, sponsored by NATO.
> > _______________________________________________
> > codecraft mailing list
> > codecraft at or8.net
> > http://or8.net/mailman/listinfo/codecraft
> >

> _______________________________________________
> codecraft mailing list
> codecraft at or8.net
> http://or8.net/mailman/listinfo/codecraft

More information about the codecraft mailing list