Re: [sleep-developers] wake sleep up (or let sleeping languages lie?)

29 views
Skip to first unread message

Raphael Mudge

unread,
Feb 9, 2011, 11:00:49 AM2/9/11
to sleep-de...@googlegroups.com
Hi Ben,
What a great subject line. I'm glad to see Andreas has chimed in too.
If anyone has something to add here, please do so.

1) Why do you think Sleep should be revived?
2) What brought you back to it?

Sleep has been the backbone of my programming efforts for the past 5
years. It's also the least successful (mind share / community impact)
of all the projects I've worked on. I don't take this as a ding
against this project. There are a lot of languages being developed by
smart people and learning a new language requires a large investment
from potential users. Languages are the hardest projects to have
success with.

I'm happy to work on a revival if there's a need Sleep fills that
other Java-based languages are not meeting. What that need is, I leave
as a discussion topic for this thread. I'd love to hear your thoughts
on it.

The rest of this email are my thoughts on what that revival plan might
look like.

-----

I'm reviving jIRCii right now. jIRCii is an IRC client that uses Sleep
as its scripting engine. At one time it had a healthy community and
the homepage sports over 70 scripts contributed by members of the
jIRCii community. I believe the poor search engine presence and the
poor website are two things holding jIRCii back.

Recently, phos (Dan F) approached me on IRC and asked how he could
help continue jIRCii's development. Motivated by Dan's interest, I'm
taking these steps to revive jIRCii:

- I've hired a designer to give the site a facelift (
http://www.hick.org/~raffi/jirciihome.jpg )
- I've registered oldschoolirc.com
- I've hired a designer to redo the icons in the app
- I'm planning to change from Java's Metal L&F to Nimbus
- I'm planning to move the project over to Google code (including
using their issue tracker)
- I'm planning "How to get involved" documentation and screencasts
showing how to compile and package the code

I also believe the timing is right for a client like jIRCii to be
successful. Modern IRC clients have moved far away from what IRC used
to be about. They look more like AOL Instant Messenger than IRC
clients. I plan to position jIRCii as the "old school IRC client". It
won't dominate the IRC world, but there are people who will welcome
the mid-90s nostalgia offered by jIRCii. Armitage (another Sleep-based
project) is positioned as "fast and easy hacking". If you want to use
Metasploit--Armitage is the fastest and easiest way to do it.

----

I'm willing to take these steps for Sleep too, but we need to define
what makes Sleep different first and define a position for it.

The original goal of the Sleep project was to create an extensible
scripting language for embedding into Java applications. Something
like Lua for Java.
This goal created two constraints: no third party dependencies (except
Java) and stay as small as possible.

I wouldn't position Sleep in this way today. But, these constraints
could be Sleep's differentiator. I use Sleep because I can download
one file and have a complete programming environment no matter how
locked down my workstation is. I can also download third-party jars
and just start using them.

One potential position:

* No installation process
* No mucking with dependencies
* Download one file and code.

[name here] is scripting when you need it.

or:

In case of emergency: download this jar file.

-----

The name Sleep sucks for search and branding. I agree. I wouldn't
change the package names in the code though (backwards compatibility
is important). I'd like to see the position of the project vetted
before working towards a new name though.

-----

How would you position Sleep?

-- Raphael

On Wed, Feb 9, 2011 at 7:49 AM, Andreas Ravnestad
<andreas....@gmail.com> wrote:
> A proper domain and an account on github, bitbucket or even google code
> would be very nice. As for the name, I leave that entirely up to Raffi. But
> I kinda like Sleep though :)
> -Andreas
>
> On Wed, Feb 9, 2011 at 1:30 PM, ben <ben...@gmail.com> wrote:
>>
>> hi
>> I've just returned to Sleep after a couple of years. Maybe I'm wrong
>> but Sleep seems a little dormant. Some reanimation tips:
>>
>> 1. Rename Sleep
>>    I find Sleep a cool name, but not practical IMO. Reasons:
>>    - collides with SLEEP(1) (this is not nice ...)
>>    - is (and will ever be) a nightmare to google in the context of
>> programming
>>
>>    Suggestions for Sleep alternatives:
>>    - lesp :P / parl / pil  / p / pees / speel
>>    ( just to show that I've tried  )
>>
>> 2. Make it more visible
>>    I think Sleep should be more familiar to (Perl) programmers.
>> Means:
>>    -its own domain name
>>    -nice public repo (github)
>>    -more doc material
>>
>>
>> The thing with the name is solely in the responsability of the
>> language creator. But with the other stuff I would be glad to help.
>>
>> thanks
>> ben
>>
>>
>>
>>
>> --
>> -----
>> To post to this group, send email to sleep-de...@googlegroups.com
>> To unsubscribe from this group, send email to
>> sleep-develope...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/sleep-developers?hl=en
>>
>> The Sleep Scripting Project: http://sleep.dashnine.org/
>
> --
> -----
> To post to this group, send email to sleep-de...@googlegroups.com
> To unsubscribe from this group, send email to
> sleep-develope...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sleep-developers?hl=en
>
> The Sleep Scripting Project: http://sleep.dashnine.org/

ben

unread,
Feb 9, 2011, 5:28:51 PM2/9/11
to Sleep Developers
hi raphael
thanks for the quick response. I try to add something useful,
although I think you answered the important questions about Sleep
better then I can.

> 1) Why do you think Sleep should be revived?

* Sleep is a uniquely minimal and small language for the jvm.

* I like Unix piping and also Perl and the JVM is the only business
compatible language runtime on Linux. No other language brings that
together.

Things I think I like about Sleep:
- jPerl/jBash FTW
- Minimalist language feature set
- Decent mixture of imperative and functional style,
- Keeps Java/oop out of the room
- Similarity with Perl syntax and Perls type system
- Pass by reference

Things I'm not sure:
- Sleeps regex implementation
- Writing extensions seems a little complicated

But maybe I'm completely wrong.

> 2) What brought you back to it?

I rediscovered the merits of shell scripting, and I'm now old enough
to stay confident if someone says that Perl is not a programming
language, and dead, and not parsable and is soon replaced by Python,
and looks like line noise, and sucks anyway.

The pompous attitude that comes with most of the modern programming
languages tired me. I was looking for something modest, something
quiet.


> Sleep has been the backbone of my programming efforts for the past 5
> years.
Maybe you could elaborate on this at one time

> It's also the least successful (mind share / community impact)
> of all the projects I've worked on. I don't take this as a ding
> against this project.
Maybe thats a pro.

> There are a lot of languages being developed by
> smart people and learning a new language requires a large investment
> from potential users. Languages are the hardest projects to have
> success with.
My definition of language success:
- stability ( not only runtime, but also feature wise)
- comprehensive environment (3rd party stuff, contributors, extension,
books)

In my experience, this is the minimum of what it takes:
1.) Minimal 1-3 People that constantly foster the language
environment. (Daily care/feedback about most serious bugs, daily
answer the mailing list) (check?)
2.) At least one unique niche/feature. (check! {jPerl} )
3.) A book or updated docs on the language itself but also about
'getting started', 'practical', etc (half-check!)

> I'm happy to work on a revival if there's a need Sleep fills that
> other Java-based languages are not meeting. What that need is, I leave
> as a discussion topic for this thread. I'd love to hear your thoughts
> on it.
- Jython: I don't need Python, I don't know about Jython.
- jRuby: Great language, great people (jRuby team), but also complex
and slow
- Scala: I'm probably too stupid for this language, and in this case I
don't blame myself
- Clojure: Cool, although lisp is very different, and I really don't
like the syntax
- Yeti: also I really don't like the syntax, plus it's a little dead

> I'm reviving jIRCii right now.
> [ ... ]
> I'm willing to take these steps for Sleep too

Please, please, please, take Sleep first!

> but we need to define
> what makes Sleep different first and define a position for it.

Here I disagree. For one Sleep is already different.
And second, take the Perl all the yaph people as model. I you are a
proficiant Unix hacker in the 90' you don't need PERL, you have AWK,
and SED. Perl didn't solve a particular problem, that couldn't be
solved before. Perl brought stuff and people together. Perl
constantly worked on solving real Practical Extraction and Reporting
problems. Perl got usefull and better over time.
Sleeps position is fragile, but if we work on solving practical
problems (because that is the strength of Perl) Sleep will has its
use. I see nothing that is fundamentally wrong and could not be fixed
in a normal development process.

> The original goal of the Sleep project was to create an extensible
> scripting language for embedding into Java applications. Something
> like Lua for Java.
> This goal created two constraints: no third party dependencies (except
> Java) and stay as small as possible.

ABSOLUTELY +1
>
> I wouldn't position Sleep in this way today.
SUPER HUGE BUMMER :-(

> But, these constraints could be Sleep's differentiator. I use Sleep because I can download one file and have a complete programming environment no matter how
> locked down my workstation is. I can also download third-party jars
> and just start using them.
> One potential position:
> * No installation process
> * No mucking with dependencies
> * Download one file and code.

I don't care much about the installation aspect. I do care a lot about
Sleep being and staying a small language.

> The name Sleep sucks for search and branding. I agree. I wouldn't
> change the package names in the code though (backwards compatibility
> is important). I'd like to see the position of the project vetted
> before working towards a new name though.

Sleep cannot be the name of the executable, or it won't happen on
linux. What about Nap?


> How would you position Sleep?

You have bedded Sleep perfectly well. Lets put him some fresh clothes
on without waking him up. And lets give him some daily care. Maybe he
will sleepwalk a few steps.

:-)

Ben




>
> -- Raphael
>
> On Wed, Feb 9, 2011 at 7:49 AM, Andreas Ravnestad
>
> <andreas.ravnes...@gmail.com> wrote:
> > A proper domain and an account on github, bitbucket or even google code
> > would be very nice. As for the name, I leave that entirely up to Raffi. But
> > I kinda like Sleep though :)
> > -Andreas
>

Martin Sheppard

unread,
Feb 16, 2011, 7:43:57 PM2/16/11
to sleep-de...@googlegroups.com
Hi Ben,

I use regex in sleep extensively. It works GREAT and is fast. I have a number
of UGLY regex patterns and can read and parse around 5K lines per second. This
is using some sleep code that I wrote that parses lines using a library of regex
patterns and finds the pattern that fits. My only wish is that like lua/perl,
sleep was a single executable to get rid of the java requirement. That being
said, I will back-pedal and say that it is extremely useful to mount a jar that
has functionality that I need and just use it. So ... I guess I don't want to
get rid of Java :^) So if I find the need to work without Java, I guess I will
try Lua.

poarman

Reply all
Reply to author
Forward
0 new messages