Please welcome Jesse Gumm to CB

471 views
Skip to first unread message

Evan Miller

unread,
Mar 6, 2014, 6:35:38 PM3/6/14
to ChicagoBoss
Hi all,

There were vague intimations before, but I wanted to write and let everyone know that there's officially a new sheriff in town. Jesse Gumm (@choptastic on GitHub) has agreed to take over Zach's duties as Project Point Man. You might already know Jesse from his work as the maintainer of Nitrogen and SimpleBridge, the latter of which is used extensively in Chicago Boss. I got to know Jesse through SimpleBridge, and I think CB is lucky to have an experienced Erlang programmer and conscientious release manager like Jesse on board.

Like Zach when he started, Jesse is relatively new to the CB code base, so try to cut him a little slack as he learns the ropes. In the coming days Jesse will be reviewing open pull requests and picking up where Zach left off in the push towards 1.0 -- but I'll let him tell you more in his own words. In the meantime, if you play league volleyball, you should definitely check out Jesse's business, BracketPal:


So -- welcome, Jesse! I'm definitely looking forward to watching the next chapter of CB unfold.

Evan

--
Evan Miller
http://www.evanmiller.org/

Kai Janson

unread,
Mar 6, 2014, 8:18:25 PM3/6/14
to chica...@googlegroups.com, ChicagoBoss
Welcome Jesse!  I am glad you're onboard. Let's make CB version 1.0 and many more versions afterwards a reality!

--Kai

Sent from my tricorder
--
You received this message because you are subscribed to the Google Groups "ChicagoBoss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chicagoboss...@googlegroups.com.
Visit this group at http://groups.google.com/group/chicagoboss.
To view this discussion on the web visit https://groups.google.com/d/msgid/chicagoboss/CAP2VJ785TgDYLj47x31fyVBYC3uZ769US8ySF%3D_Urm6Yn%3DX2zA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Jesse Gumm

unread,
Mar 6, 2014, 9:19:41 PM3/6/14
to chica...@googlegroups.com
Thanks for the kind intro, Evan! (and the BracketPal plug!)

I'm happy to be here!

While my knowledge with ChicagoBoss is still very basic, I do have a
few things I'd like to do from the get-go: goals that I have set for the
future of ChicagoBoss:

1) SimpleBridge 2.0, which is still in alpha, supports a websocket
abstraction layer over Yaws, Cowboy, and all other Erlang web servers,
even if those servers don't natively support Websockets (Inets,
Mochiweb prior to a few months ago, Webmachine). Further, it
simplifies the configuration and API thus allowing us to do away any
server-specific code currently in CB (such as initializing
cowboy/mochiweb). This is something that I had been planning on adding
to SimpleBridge, and with Evan regularly prodding me to finally do it,
it's mostly done. My goal will be to replace the cowboy-specific
websocket support in CB with SimpleBridge websocket bridge, allowing CB
to run websockets on any webserver.

SimpleBridge 2.0 Alpha Branch: https://github.com/nitrogen/simple_bridge/tree/ws

2) Rework ChicagoBoss.org to actually run on ChicagoBoss, including
live examples with the full code samples for each demo. Personally, I
tend to learn much faster from demos with code - and seeing the
underlying code for each component in the MVC for a page would be, I
think, highly illuminating, and provide excellent context for new and
veteran users alike.

Providing byte-sized examples (see what I did there?) makes for easy
digestion of new material, so long as the code is short enough and
commented well enough to be reasoned through. CB's powerful backend
functionality can definitely provide some interesting examples, such
as (oh, I don't know) viewing emails sent to the a demo email like
"exa...@chicagoboss.org" in realtime with comet/websockets,
demonstrating BossMQ. Miscellaneous examples like that would help
illuminate just how much can be done with so little code when using
CB/Erlang. They then serve as both a learning tool and as effective
propaganda.

Being able to say "The homepage for our framework actually runs our
framework, and here are some cool things you can see it do" helps lend
it more credibility, in my opinion.

N) I do have a freak long-term idea of trying to get ChicagoBoss
optionally supporting the Nitrogen rendering, wiring, and postback
engine. Maybe this is a Frankenstein monster of an idea that should be
shot on sight, but I want to do it anyway "because science" (and
because writing HTML and Javascript with Erlang strings sucks).

Ultimately, my main goal here is to help accelerate us toward a
stable 1.0 release and to make CB as approachable as possible.
Erlang is incredibly well suited for web development (preaching to the
choir here, I'm sure), and I want to do everything I can to make it more
appealing to new developers and businesses alike.

For now, though, I'm learning the ropes, and taking in as much as I
can as quickly as I can, so bear with me as I learn and possibly ask
noob questions.

I'm idling in #chicagoboss, my username is "chops". Feel free to ping
me. I use IRCCloud, so I'm always connected, and (usually) get mobile
notifications if you ping me directly.

So anyways, it's nice to meet you all, and I look forward to working
with you to make CB the best it can be. And take solace in knowing
that if do something stupid, I'm in Chicago frequently enough that Evan
can easily find me and punch me in the face.

Happy Hacking!

-Jesse
> https://groups.google.com/d/msgid/chicagoboss/812E1B15-3FAE-4E16-82D2-F1C3A7B392FA%40gmail.com.
>
> For more options, visit https://groups.google.com/d/optout.



--
Jesse Gumm
Owner, Sigma Star Systems
414.940.4866 || sigma-star.com || @jessegumm

Peter Yuen

unread,
Mar 6, 2014, 10:50:46 PM3/6/14
to chica...@googlegroups.com
Welcome Jesse!!! We are glad to know that an experienced Erlang engineer has landed the world of ChicagoBoss ! Lets make CB to 1.0 and maybe 2.0 , 3.0, 8.0 and many more !

One question though, does that mean Zach has retired from CB ?

David Welton

unread,
Mar 7, 2014, 4:05:25 AM3/7/14
to chica...@googlegroups.com
Hello, and welcome aboard!

Thanks for making this happen, guys. I'm very glad to see such an
experienced Erlang/web guy stepping in.

Some comments on the future direction of CB, below:

First of all, I think taking something of a "marketing" approach to
development is not a bad idea. Not in the sense of selling, but of
thinking about where Chicago Boss shines and why people are interested
and will be attracted to it. Focus on that. For instance, CB and
Erlang kick ass for web socket type things, and also make good
backends for REST-style Javascript heavy web apps, where they're going
to suffer less from not having a zillion libraries like, say, Rails or
PHP. For just putting some dynamic content up... well.... Erlang is
not going to easily compete with, say, PHP.

In terms of development, I think something that is critical is nailing
the code down with a test suite that makes it easy to make changes and
see if they break things. This makes it possible for more people to
do more work with ChicagoBoss, without fear.

Another specific thing that I hope you have time for soon is to
reintegrate my forks of ChicagoBoss, boss_db, and mochicow. There
aren't too many outstanding changes and I'd be happy to work with you
to get them integrated.

More comments below:

On Fri, Mar 7, 2014 at 3:19 AM, Jesse Gumm <gu...@sigma-star.com> wrote:
> Thanks for the kind intro, Evan! (and the BracketPal plug!)
>
> I'm happy to be here!
>
> While my knowledge with ChicagoBoss is still very basic, I do have a
> few things I'd like to do from the get-go: goals that I have set for the
> future of ChicagoBoss:

> 1) SimpleBridge 2.0, which is still in alpha, supports a websocket
> abstraction layer over Yaws, Cowboy, and all other Erlang web servers,
> even if those servers don't natively support Websockets (Inets,
> Mochiweb prior to a few months ago, Webmachine). Further, it
> simplifies the configuration and API thus allowing us to do away any
> server-specific code currently in CB (such as initializing
> cowboy/mochiweb). This is something that I had been planning on adding
> to SimpleBridge, and with Evan regularly prodding me to finally do it,
> it's mostly done. My goal will be to replace the cowboy-specific
> websocket support in CB with SimpleBridge websocket bridge, allowing CB
> to run websockets on any webserver.

To me this looks "nice to have", but, using the project I'm involved
with as an example, we've already picked Cowboy, are happy with it,
and don't foresee changing. It's actively developed, the developer is
friendly and available, and the code is good. My guess would be that
most CB users or potential CB users are in a similar situation. I
suppose something like this might pick up a few Yaws users, but to me
one of the big promises of CB is that it's capable of picking up
non-Erlang users, and there are tons more of those than people using
Yaws.

> SimpleBridge 2.0 Alpha Branch: https://github.com/nitrogen/simple_bridge/tree/ws
>
> 2) Rework ChicagoBoss.org to actually run on ChicagoBoss, including
> live examples with the full code samples for each demo. Personally, I
> tend to learn much faster from demos with code - and seeing the
> underlying code for each component in the MVC for a page would be, I
> think, highly illuminating, and provide excellent context for new and
> veteran users alike.

> Providing byte-sized examples (see what I did there?) makes for easy
> digestion of new material, so long as the code is short enough and
> commented well enough to be reasoned through. CB's powerful backend
> functionality can definitely provide some interesting examples, such
> as (oh, I don't know) viewing emails sent to the a demo email like
> "exa...@chicagoboss.org" in realtime with comet/websockets,
> demonstrating BossMQ. Miscellaneous examples like that would help
> illuminate just how much can be done with so little code when using
> CB/Erlang. They then serve as both a learning tool and as effective
> propaganda.

> Being able to say "The homepage for our framework actually runs our
> framework, and here are some cool things you can see it do" helps lend
> it more credibility, in my opinion.

Excellent! This is a great idea.

> N) I do have a freak long-term idea of trying to get ChicagoBoss
> optionally supporting the Nitrogen rendering, wiring, and postback
> engine. Maybe this is a Frankenstein monster of an idea that should be
> shot on sight, but I want to do it anyway "because science" (and
> because writing HTML and Javascript with Erlang strings sucks).

I don't know this well enough to comment. I'd value "opinionated"
over "trying to support a lot of choices" though. Ruby on Rails got a
lot of mileage out of that.

> Ultimately, my main goal here is to help accelerate us toward a
> stable 1.0 release and to make CB as approachable as possible.
> Erlang is incredibly well suited for web development (preaching to the
> choir here, I'm sure), and I want to do everything I can to make it more
> appealing to new developers and businesses alike.

Part of what I meant with the 'marketing' commentary above is that CB
can get out and preach to the non-choir by showing that Erlang is good
at web stuff.

> For now, though, I'm learning the ropes, and taking in as much as I
> can as quickly as I can, so bear with me as I learn and possibly ask
> noob questions.
>
> I'm idling in #chicagoboss, my username is "chops". Feel free to ping
> me. I use IRCCloud, so I'm always connected, and (usually) get mobile
> notifications if you ping me directly.

Cool, thanks!

> So anyways, it's nice to meet you all, and I look forward to working
> with you to make CB the best it can be. And take solace in knowing
> that if do something stupid, I'm in Chicago frequently enough that Evan
> can easily find me and punch me in the face.

I wonder if, once you see some of the compiler magic, the animosity
won't run in the other direction? :-)

Once again, very glad to have you on board!
--
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/

Fredrik de Vibe

unread,
Mar 7, 2014, 5:33:40 AM3/7/14
to chica...@googlegroups.com
I'll certainly join in the choir to welcome Jesse, it will be great to
see a direction going forward, and though I'm not really too familiar
with the Erlang community, I understand that we've been fortunate! :-)

Thanks to Evan as well, of course, for all the effort put down into CB
and for pushing the project forward, even after going on to different
pastures. That's something to respect indeed!

I also have some comments below.

David Welton <davidn...@gmail.com>
writes:

> Hello, and welcome aboard!
>
> Thanks for making this happen, guys. I'm very glad to see such an
> experienced Erlang/web guy stepping in.
>
> Some comments on the future direction of CB, below:
>
> First of all, I think taking something of a "marketing" approach to
> development is not a bad idea. Not in the sense of selling, but of
> thinking about where Chicago Boss shines and why people are interested
> and will be attracted to it. Focus on that. For instance, CB and
> Erlang kick ass for web socket type things, and also make good
> backends for REST-style Javascript heavy web apps, where they're going
> to suffer less from not having a zillion libraries like, say, Rails or
> PHP. For just putting some dynamic content up... well.... Erlang is
> not going to easily compete with, say, PHP.

Well, there's little doubt that many things have a shorter learning
curve in PHP, and probably Rails, Django, node.js etc., but given the
rise of front-end frameworks like angular.js, backbone.js and the like,
and their increased adoption, given CB's and Erlang's great advantages,
I don't think it needs to be too hard to get something quick up and
running also using CB. I think the tides are moving in the right
direction. What lacks here, IMO, is documentation and examples,
something Jesse intends to focus on if I understand him correctly. If
it's comparatively easy to get something quick running using CB, then
its advantages come into play.

> In terms of development, I think something that is critical is nailing
> the code down with a test suite that makes it easy to make changes and
> see if they break things. This makes it possible for more people to
> do more work with ChicagoBoss, without fear.

This is what I believe is vital for the community (at least parts of it,
me included) in terms of contributing to the project. I've always found
it difficult to get a good enough understanding of the consequences of
my changes without tests and sufficient knowledge about the architecture
and code base of CB.

When it comes to developer docs, a roadmap has been mentioned. We also
have the mailing list, and the IRC channel, so technically we should
have the required means of communication. I'm not entirely sure how to
improve this, but I feel there's something missing in terms of process.
Maybe a floating roadmap where if one wants to change or add something,
it could be put up for a vote (e.g. here on the mailing list) and
approved (or rejected, possibly with ideas for improvement or
modifications) by Jesse before being added to the roadmap. I think it's
important that changes or modifications are considered holistically, and
I don't think plain pull requests serve this purpose well enough.

My 2 cents, at least. :-)


- Fredrik

Nicholas Whittier

unread,
Mar 7, 2014, 2:27:18 PM3/7/14
to chica...@googlegroups.com
Awesome, I'm pumped for the traction. 


On Thursday, March 6, 2014 6:19:41 PM UTC-8, Jesse Gumm wrote:


2) Rework ChicagoBoss.org to actually run on ChicagoBoss, including
live examples with the full code samples for each demo. Personally, I
tend to learn much faster from demos with code - and seeing the
underlying code for each component in the MVC for a page would be, I
think, highly illuminating, and provide excellent context for new and
veteran users alike.

Providing byte-sized examples (see what I did there?) makes for easy
digestion of new material, so long as the code is short enough and
commented well enough to be reasoned through. CB's powerful backend
functionality can definitely provide some interesting examples, such
as (oh, I don't know) viewing emails sent to the a demo email like
"exa...@chicagoboss.org" in realtime with comet/websockets,
demonstrating BossMQ. Miscellaneous examples like that would help
illuminate just how much can be done with so little code when using
CB/Erlang.  They then serve as both a learning tool and as effective
propaganda.

Being able to say "The homepage for our framework actually runs our
framework, and here are some cool things you can see it do" helps lend
it more credibility, in my opinion.


+1 for both dog-fooding and providing 'byte'-sized examples. I also think around the 1.0.0 mark we need to get the ball rolling on official or semi-official operations and dev tools. Making pages that explicitly and accurately detail getting up and running on PAAS/IAAS/VM helps add consistency and ease the entry barrier to a lot of users who probably know little about the intricacies of Erlang releases and their common distro PM versions.
 

-- Nicholas (imperialwicket)

Samuel Rose

unread,
Mar 7, 2014, 2:28:06 PM3/7/14
to chica...@googlegroups.com

Jesse Gumm

unread,
Mar 7, 2014, 6:33:42 PM3/7/14
to chica...@googlegroups.com
Thanks everyone!

A few brief answers to some questions and comments.

*) Zach is not retiring from CB dev, he's just not able to dedicate
the kind of time necessary to be a a "Project Point Man" (as Evan so
eloquently put it). But I don't want to speak for him, this is just as
I understand it.

*) Thanks for mentioning the test suite, I knew I missed something.
Yeah, improving tests are definitely necessary. I gathered from one
of the recent PRs that the test suite isn't currently exactly reliable
or finished or *something* like that, so we need to stabilize that.
And I agree 100% that having a test suite helps tremendously with
users who want to contribute. Knowing if you've broken something with
a contribution really helps speed up everything about the
developmental process.

*) David, given my relative noobness in CB yet, I'm not *super*
comfortable saying anything one way or another about merging your
current forks other than "I'm sure this is something we can do." My
biggest concern with PRs (other than them actually compiling and
working) is that any API-level changes also have the appropriate
documentation changes to go along with them (when relevant, of course,
bugfixes/performance improvments obviously don't need docs).

*) I also understand your thoughts about the SimpleBridge stuff.
Having watched the Erlang web-server universe change drastically over
the last 5 years, it's become obvious to me that something like
SimpleBridge still helps to future-proof current apps and future apps.
In 5 years, will cowboy still be the popular workhorse server, or will
Elli gain marketshare and be the "new goto", or will something else
come and sweep the Erlang world by storm? It's hard to say, I wouldn't
have predicted Cowboy, nor would I have predicted the demise of
Misultin. That's why SimpleBridge ultimately exists. Since CB has a
configuration between mochiweb and cowboy to determine the backend,
with SimpleBridge 2.0, it will simply allow the choice to be between
all the others, and not have to worry if they'll support websockets.
And when a new kid on the block rolls along in the future, we can
trivially switch backends. That said, I think cowboy is great (the
performance is the obvious draw), but Yaws is tried and true for over
a decade, and that's sometimes the kind of reassurance companies need
when choosing platforms. That is ultimately why I put so much
importance on abstracting as much server-specific code away as
possible.

*) As to my long-term Nitrogen integration plans, it's less a case of
"everything and the kitchen sink" and more a case of "possibly filling
in a gap". My changes would very likely require much fewer changes to
CB than to Nitrogen. It would not be a standard dependency, but rather
a "plugin" in a sense. I definitely don't want to muddy up the waters
with every little thing, I definitely understand that (don't want "PHP
for Erlang, do we") but the main attraction of Nitrogen (afaic) is
highly interactive writing web apps with 100% erlang code, and without
resorting to writing strings with HTML or relying on javascript
front-ends - that's why I see this potential unholy union being
potentially awesome. I personally find Javascript to be a muddy morass
of mutable nastiness, and I try to avoid it as much as possible
(though I'm pragmatic enough to know you can't exactly *avoid* JS if
you want to do web dev). I realize that Nitrogen can be a hair
controversial, so it'll first be just an experiment to satisfy my
curiosity, and if it proves to be awesome, we'll talk more about real
integration, optional though it would be.

*) Glad to hear everyone approves of dogfooding :)

*) An update to the Roadmap to 1.0 would be fantastic, at least just
to help get me (and other noobs wanting to contribute) up to speed on
what needs to happen.

*) In my early experiments here, I've already been blasted by some
nearly cripplingly cryptic error messages (even by Erlang standards),
so this is definitely something we'll need to continue working on. I
can't imagine how hard it was to debug those kinds of errors prior to
R15 when line numbers were introduced. Holy moly.

*) And the compiler magic I've known about, though the details I've
not even looked at yet. The fear is there, for sure.

So anyway, I hope everyone has a great weekend, and those of you at
Erlang Factory right now, enjoy!
> To view this discussion on the web visit https://groups.google.com/d/msgid/chicagoboss/CA%2BH5g6rfr%2Bf-qikHNFEWwpiVN2X-g8H_oAUCMwa5c5iyYy-wyg%40mail.gmail.com.

OvermindDL1

unread,
Mar 8, 2014, 8:23:28 PM3/8/14
to chica...@googlegroups.com

For note, I love nitrogens style, though if you did n2o's style instead, which is basically a much more performant nitrogen, binaries and a few API changes for speed, would be even better.  I hate working in JavaScript so staying in erlang is much better for me.

David Welton

unread,
Mar 10, 2014, 12:05:23 PM3/10/14
to chica...@googlegroups.com
> *) David, given my relative noobness in CB yet, I'm not *super*
> comfortable saying anything one way or another about merging your
> current forks other than "I'm sure this is something we can do." My
> biggest concern with PRs (other than them actually compiling and
> working) is that any API-level changes also have the appropriate
> documentation changes to go along with them (when relevant, of course,
> bugfixes/performance improvments obviously don't need docs).

I don't think most of my changes that are still outstanding are that
big a deal, they're just little things that I hope you can get around
to looking at. No rush, and happy to answer any questions about them.

Karim Dahmani

unread,
Mar 11, 2014, 1:09:23 AM3/11/14
to chica...@googlegroups.com
Hi Jesse,

Good to have you on board! My team has started a fork of CB Admin that we should put back into the main release, we have developed some improvements that we will be announcing soon. We are also in the middle of building a blog/cms in CB that we will be open sourcing soon, if anyone is interested in seeing it, I can send you the link.

Thanks,
Karim

Kai Janson

unread,
Mar 11, 2014, 2:40:40 AM3/11/14
to chica...@googlegroups.com, chica...@googlegroups.com
Hi Karim,

I'd be interested in the CMS/blogging application.

--Kai

Sent from my non-google-device

Karim Dahmani

unread,
Mar 11, 2014, 1:40:12 PM3/11/14
to chica...@googlegroups.com
Hey Kai,

This is still very much a work in progress, please ignore the typos too

Karim

kotedo

unread,
Mar 11, 2014, 3:50:16 PM3/11/14
to chica...@googlegroups.com
Hi karim,

Thank you for sharing your links!
I like what I see and I would like to know how far are you going to take this?
Will this become an application that can be dropped into a CB app or even an OTP app?

—Kai


Message has been deleted

Karim Dahmani

unread,
Mar 11, 2014, 4:01:40 PM3/11/14
to chica...@googlegroups.com
Hi Kai,

I am really happy you like where it is going, we are planning to release this as erlangcms.com as a full CMS platform competing with ghost.org and maybe wordpress, and we are going to be adding more modules as this is part of a much bigger project we are working on, the modules we have in mind right now are forum and seo plugins, if anybody is interested in contributing to this please let me know.

Thanks,
Karim
Reply all
Reply to author
Forward
0 new messages