Anyone interested in building a Ruby alternative to RoundCubeMail ?

People,

As an exercise I started converting the CLI version to a CGI version - it lists the INBOX from the browser alright at least.

I have added pwm_cgi and .htaccess to the repo:

   https://gitlab.com/philip_rhoades/pwm

P.

···

On 2018-06-14 20:03, Philip Rhoades wrote:

People,

On 2018-06-14 03:11, Philip Rhoades wrote:

People,

I have been using RCM for many years and although it is the best
current option for my needs, there are still some changes /
enhancements I would make if I could - but it is written in PHP and
there is no way I am going to put any effort into learning that. I
have often wondered about getting a Ruby project started that could
eventually compete with RCM - I have written a few trivial Ruby
scripts to do odd things talking with my Maildir dir on my server -
but starting something with the intention of building a MVP and
building that into something serious is probably beyond me in terms of
time required. However, if other people thought this was a good
project to get started - even just as a POC, I would be happy to do
add as much code as I could and of course do a lot of testing . .

I have created GitLab repo for my quick and dirty script that I wrote
a while ago when I was frustrated with Android mail clients because I
just wanted to READ new, unread mails while I was travelling - in case
there was anything urgent and I needed to phone someone. This is a
long way from a general purpose email client but it is what I have at
the moment:

  https://gitlab.com/philip_rhoades/pwm

If other people start contributing stuff, I will get motivated again too!

Regards,

Phil.

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

So do you still want to create a full RCM alternative? I assume it is installable as a package under Linux distros?
I'm more into your CLI idea, myself, which could then be adapted later, as you said.

I didn't look at your code yet but I definitely will in the near future.

If you do want to take the RCM alternative route: did you ever install RCM on a server yourself?
I haven't, so I don't know how easy or fiddly it is, but it would be important to match that level or difficulty, or easier.

···

On Fri, Jun 15, 2018 at 04:56:49AM +1000, Philip Rhoades wrote:

People,

As an exercise I started converting the CLI version to a CGI version - it
lists the INBOX from the browser alright at least.

I have added pwm_cgi and .htaccess to the repo:

  Philip Rhoades / pwm · GitLab

P.

On 2018-06-14 20:03, Philip Rhoades wrote:
> People,
>
>
> On 2018-06-14 03:11, Philip Rhoades wrote:
> > People,
> >
> > I have been using RCM for many years and although it is the best
> > current option for my needs, there are still some changes /
> > enhancements I would make if I could - but it is written in PHP and
> > there is no way I am going to put any effort into learning that. I
> > have often wondered about getting a Ruby project started that could
> > eventually compete with RCM - I have written a few trivial Ruby
> > scripts to do odd things talking with my Maildir dir on my server -
> > but starting something with the intention of building a MVP and
> > building that into something serious is probably beyond me in terms of
> > time required. However, if other people thought this was a good
> > project to get started - even just as a POC, I would be happy to do
> > add as much code as I could and of course do a lot of testing . .
>
>
> I have created GitLab repo for my quick and dirty script that I wrote
> a while ago when I was frustrated with Android mail clients because I
> just wanted to READ new, unread mails while I was travelling - in case
> there was anything urgent and I needed to phone someone. This is a
> long way from a general purpose email client but it is what I have at
> the moment:
>
> Philip Rhoades / pwm · GitLab
>
> If other people start contributing stuff, I will get motivated again
> too!
>
> Regards,
>
> Phil.

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

How exactly do you install a ruby package using apt or yum? Is there a
packager that allows you to create Linux compatible Linux distributions?

Regards,

Aleeious

···

On Thu, Jun 14, 2018 at 4:06 PM, <who.are.you@posteo.no> wrote:

So do you still want to create a full RCM alternative? I assume it is
installable as a package under Linux distros?
I'm more into your CLI idea, myself, which could then be adapted later, as
you said.

I didn't look at your code yet but I definitely will in the near future.

If you do want to take the RCM alternative route: did you ever install RCM
on a server yourself?
I haven't, so I don't know how easy or fiddly it is, but it would be
important to match that level or difficulty, or easier.

On Fri, Jun 15, 2018 at 04:56:49AM +1000, Philip Rhoades wrote:
> People,
>
> As an exercise I started converting the CLI version to a CGI version -
it
> lists the INBOX from the browser alright at least.
>
> I have added pwm_cgi and .htaccess to the repo:
>
> Philip Rhoades / pwm · GitLab
>
> P.
>
>
> On 2018-06-14 20:03, Philip Rhoades wrote:
> > People,
> >
> >
> > On 2018-06-14 03:11, Philip Rhoades wrote:
> > > People,
> > >
> > > I have been using RCM for many years and although it is the best
> > > current option for my needs, there are still some changes /
> > > enhancements I would make if I could - but it is written in PHP and
> > > there is no way I am going to put any effort into learning that. I
> > > have often wondered about getting a Ruby project started that could
> > > eventually compete with RCM - I have written a few trivial Ruby
> > > scripts to do odd things talking with my Maildir dir on my server -
> > > but starting something with the intention of building a MVP and
> > > building that into something serious is probably beyond me in terms
of
> > > time required. However, if other people thought this was a good
> > > project to get started - even just as a POC, I would be happy to do
> > > add as much code as I could and of course do a lot of testing . .
> >
> >
> > I have created GitLab repo for my quick and dirty script that I wrote
> > a while ago when I was frustrated with Android mail clients because I
> > just wanted to READ new, unread mails while I was travelling - in case
> > there was anything urgent and I needed to phone someone. This is a
> > long way from a general purpose email client but it is what I have at
> > the moment:
> >
> > Philip Rhoades / pwm · GitLab
> >
> > If other people start contributing stuff, I will get motivated again
> > too!
> >
> > Regards,
> >
> > Phil.
>
> --
> Philip Rhoades
>
> PO Box 896
> Cowra NSW 2794
> Australia
> E-mail: phil@pricom.com.au
>
> Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=
>
> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;
>

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

What exactly do you mean by "ruby package"?

···

On Fri, Jun 15, 2018 at 7:05 PM, Aleeious Engine <aleeious@gmail.com> wrote:

How exactly do you install a ruby package using apt or yum? Is there a
packager that allows you to create Linux compatible Linux distributions?

--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

So do you still want to create a full RCM alternative? I assume it is

install-able as a package under Linux distros?

I was referring to that statement, i assumed it meant you can create a
distributable ruby app that can be installed like a normal app using apt or
yum or whatever software installer the OS is using.

Regards,

Aleeious

···

On Fri, Jun 15, 2018 at 10:19 PM, Hassan Schroeder < hassan.schroeder@gmail.com> wrote:

On Fri, Jun 15, 2018 at 7:05 PM, Aleeious Engine <aleeious@gmail.com> > wrote:
> How exactly do you install a ruby package using apt or yum? Is there a
> packager that allows you to create Linux compatible Linux distributions?

What exactly do you mean by "ruby package"?

--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

Ah, got it, thanks. Sounds reasonable, but not in my wheelhouse...

···

On Fri, Jun 15, 2018 at 7:42 PM, Aleeious Engine <aleeious@gmail.com> wrote:

So do you still want to create a full RCM alternative? I assume it is
install-able as a package under Linux distros?

I was referring to that statement, i assumed it meant you can create a
distributable ruby app that can be installed like a normal app using apt or
yum or whatever software installer the OS is using.

--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

Aleeious,

So do you still want to create a full RCM alternative? I assume it

is install-able as a package under Linux distros?

I was referring to that statement, i assumed it meant you can create a
distributable ruby app that can be installed like a normal app using
apt or yum or whatever software installer the OS is using.

This little project is nowhere near needing a package manager for any variety of Linux yet - it is still a toy at the moment, and, if we assume that the server side (Ruby CGI ATM) script needs a little knowledge of Apache or Nginx, then it is trivial for a person who knows about that to put the script in the right place. If people here who have expressed interest in doing some work on the project, don't know how to set up the web server, then I can probably help them out with that too.

Regards,

Phil.

···

On 2018-06-16 12:42, Aleeious Engine wrote:

Regards,

Aleeious

On Fri, Jun 15, 2018 at 10:19 PM, Hassan Schroeder > <hassan.schroeder@gmail.com> wrote:

On Fri, Jun 15, 2018 at 7:05 PM, Aleeious Engine >> <aleeious@gmail.com> wrote:

How exactly do you install a ruby package using apt or yum? Is

there a

packager that allows you to create Linux compatible Linux

distributions?

What exactly do you mean by "ruby package"?

--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

Unsubscribe:
<mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk [1]>

Links:
------
[1] http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au

Yes, you can install gems via apt or yum.
Linux package managers essentially just drop a few files (binaries or otherwise) here and there, and optionally run a few scripts too.
For example, the Puma gem (for running Rails) can be installed via apt.

But yes there are two newer (Linux-only) standards that aim to be more cross-platform than that - GNOME's Flatpak and Canonical's Snaps.
It may be easier to create something cross-platform (for Linux) with them. But they are in early days, I haven't tested them yet, or know how they work, and actually most people may be the same.

<tangent>
I saw a video of a Swedish OpenSUSE guy who said that perhaps programming languages' installers (e.g. Ruby's gem install) may become more important than Linux package managers, being very cross-platform by nature.
I think he said he builds an in-house Rails app that is distributed by OpenSUSE's package manager, ironically.
Note that using gem install and other equivalents for other languages is most likely less secure than yum/apt because it relies on HTTPS rather than GPG, whereas apt/yum can use both (assuming the person building the apt/yum package for the Ruby gem did their checks carefully).
Probably because it is harder to implement GPG when considering various OSs - MacOS and OpenBSD for example don't have GPG installed by default, they have their own things for asymmetric encryption/signatures, when checking downloaded software.
Apple _seemingly_ (closed-source) did a pretty good job in this respect - they nowadays force every app developer to sign binaries, even for apps downloaded via browser, otherwise it shows a warning.
</tangent>

I'm sure you could build a one line install Ruby RCM alternative, which runs at least on port 80 (for demo purposes). For example it could piggyback on a Nginx/Apache default installation (via apt depencency) which instantly open port 80 up and serve some default files.
It is important to focus on portability though, when designing software like RCM, to ensure that it is low maintenance to actually build these kinds of easy installations.
If something is to become at all popular, anyway.

Does anyone know if it would be possible, or actually reasonable, to use Puma without Rails? Because it works with _both_ Nginx and Apache, for Rails.

···

On Fri, Jun 15, 2018 at 10:42:21PM -0400, Aleeious Engine wrote:

> So do you still want to create a full RCM alternative? I assume it is
install-able as a package under Linux distros?

I was referring to that statement, i assumed it meant you can create a
distributable ruby app that can be installed like a normal app using apt or
yum or whatever software installer the OS is using.

Regards,

Aleeious

Does anyone know if it would be possible, or actually reasonable, to use Puma without Rails?

Yes. To quote the README:

  "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1
   server for Ruby/Rack applications in development and production."

It is not Rails-specific in any way.

Because it works with _both_ Nginx and Apache, for Rails.

Puma works *without* either as well.

···

On Sat, Jun 16, 2018 at 3:58 AM, <who.are.you@posteo.no> wrote:

--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
twitter: @hassan
Consulting Availability : Silicon Valley or remote

who.are.you,

Yes, you can install gems via apt or yum.
Linux package managers essentially just drop a few files (binaries or
otherwise) here and there, and optionally run a few scripts too.
For example, the Puma gem (for running Rails) can be installed via apt.

But yes there are two newer (Linux-only) standards that aim to be more
cross-platform than that - GNOME's Flatpak and Canonical's Snaps.
It may be easier to create something cross-platform (for Linux) with
them. But they are in early days, I haven't tested them yet, or know
how they work, and actually most people may be the same.

I have looked at both Flatpak and Snaps and they work but recently I have also been looing at AppImage and Bitnami stacks - I just installed Discourse with Bitnami:

   https://forum.philiprhoades.org

and it was a much nicer experience than using the default Docker image. Since we are talking about running a web server as well, and some of the people who have suggested they might be interested in doing some work on this seem inexperienced in that area, my inclination would be to build an AppImage or Bitnami installer.

<tangent>
I saw a video of a Swedish OpenSUSE guy who said that perhaps
programming languages' installers (e.g. Ruby's gem install) may become
more important than Linux package managers, being very cross-platform
by nature.
I think he said he builds an in-house Rails app that is distributed by
OpenSUSE's package manager, ironically.
Note that using gem install and other equivalents for other languages
is most likely less secure than yum/apt because it relies on HTTPS
rather than GPG, whereas apt/yum can use both (assuming the person
building the apt/yum package for the Ruby gem did their checks
carefully).

Yes, agreed.

Probably because it is harder to implement GPG when considering
various OSs - MacOS and OpenBSD for example don't have GPG installed
by default, they have their own things for asymmetric
encryption/signatures, when checking downloaded software.
Apple _seemingly_ (closed-source) did a pretty good job in this
respect - they nowadays force every app developer to sign binaries,
even for apps downloaded via browser, otherwise it shows a warning.
</tangent>

I don't care about non-Linux stuff ATM - if anyone else besides me actually does put some effort into the project, the Mac fanboys etc can do their own thing in terms of packaging . .

I'm sure you could build a one line install Ruby RCM alternative,
which runs at least on port 80 (for demo purposes). For example it
could piggyback on a Nginx/Apache default installation (via apt
depencency) which instantly open port 80 up and serve some default
files.

Yes, good idea.

It is important to focus on portability though, when designing
software like RCM, to ensure that it is low maintenance to actually
build these kinds of easy installations.
If something is to become at all popular, anyway.

Not worth worrying about ATM - maybe a Docker or Rkt image later on?

Regards,

Phil.

···

On 2018-06-16 20:58, who.are.you@posteo.no wrote:

Does anyone know if it would be possible, or actually reasonable, to
use Puma without Rails? Because it works with _both_ Nginx and Apache,
for Rails.

On Fri, Jun 15, 2018 at 10:42:21PM -0400, Aleeious Engine wrote:

> So do you still want to create a full RCM alternative? I assume it is
install-able as a package under Linux distros?

I was referring to that statement, i assumed it meant you can create a
distributable ruby app that can be installed like a normal app using apt or
yum or whatever software installer the OS is using.

Regards,

Aleeious

Unsubscribe: <mailto:ruby-talk-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk&gt;

--
Philip Rhoades

PO Box 896
Cowra NSW 2794
Australia
E-mail: phil@pricom.com.au