by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    john henry
    @john_henry_twitter
    hi Rob, I just saw a link to ode.io on your twitter and had somehow totally missed it until now. I just started working on a django blog engine for myself after not being excited about hugo, jekyll, wordpress or any of the hosted solutions. I strongly agree with your thoughts on the open web vs. platforms and while I'm not sure there are easy answers, I'm very interested to see where you're going with it.
    rob-for-gitter
    @rob-for-gitter

    (I cleaned this up some and I'm reposting it).

    Glad you found the gitter community. It's nice to know gitter is sitting here serving this purpose and doing a decent job of it.

    Anyway, Ode, I mean ebeling… (I am committed to the name change but it's going to take a while for it to stick. It already sounds less strange to me than it used to.)

    I am planning on a next release. I've been saying that for a while. I need to figure out how to work on it consistently. The goal for ebeling is for it to be essentially what it is - a self-hosted, super simple, yet very functional, bulletproof platform with a minimum of dependencies.

    It's not intended to be the app the cool kids are using for 6 months. That does create some problems. For one, I think there is a minimum viable community. I'm a little torn about that because I do think ebeling is something uniquely good and deserves to exist.

    As for specific plans, I have lots, all of them very doable.

    There are small things… I need to put together a basic authentication mechanism. Currently you can create posts by connecting to the server and savings posts directly with a text editor, which I highly recommend because it's the best possible experience. (Web forms suck for writing.) There is also an addin that allows posts to be created through a browser, but it has only a basic password mechanism and depends on TLS for security (which is technically fine in terms of security but not ideal). There are quite a few little things like that. Oh, I need to write a search addin for one thing.

    Beyond those things I'd like to focus on making sure it can run absolutely everywhere and although I see a lot of value in an (improved) manual install, it would be nice if it were as simple to get an ebeling site up and running as creating an instance of a container or something.

    I'd love to have an Ebeling site on a flash drive that you could plug in and work on locally and then sync to a remote server to publish (utilizing git ideally). I'd feel good about that.

    I see it as a publishing platform, and also a local writing / note-taking / presentation app too. I want someone with unreliable internet access to be able to maintain an ebeling site and sync it when possible. That's the potential I see, a few of the billions of people who can't or don't want to use a centralized service with a monthly fee. How is someone supposed to pay for a WordPress site if they live in a part of the world where $30 USD a month is a significant portion of avg income?

    I can also see rewriting it as a JavaScript app. I know JS well enough to do that. I also think JS is stable enough now to justify the effort. Having said that there's no real reason to do it. Perl is perfectly fine and in a lot of ways I think the perfect platform. I'll take Perl's regular expression support over JavaScript's for one thing, and you can get far with regular expressions for what ebeling needs to do.

    Beyond all of that, I'd also like to teach people how to use it, or use it as a platform to teach web development. I've started doing a little teaching, and I've put together hundreds of pages of notes covering the fundamentals of web design and development.

    I see it all as the same effort. It's my futile attempt to push back against the current state of the internet, in a constructive way.

    There also needs to be some work done on the default theme. I can do that too. It's just a matter of time (and daily motivation).

    Steven Rosenberg
    @passthejoe
    Rob, this is interesting, including the JS part. One thing that Perl CGI has going for it is that it's easy to deploy on "standard" shared hosting. One thing that I think would be interesting is deploying Ode/Ebeling in a Docker/Kubernetes/whatever-you-call-it container. That would make for easy deployment on cloud services.
    One thing that JS would do for the project would be to attract more developer interest. However good or bad it is, Perl = !sexy. But I still think the project can thrive with Perl. Go (aka golang) is another language to look at. Ease of deployment is a big part of that language.
    Steven Rosenberg
    @passthejoe
    The problem, though, remains that dynamic apps are difficult to deploy (and difficult to deploy cheaply). That's a sweet spot for CGI and even PHP apps.
    rob-for-gitter
    @rob-for-gitter
    All good points @passthejoe. Thanks for the thoughts!
    rob-for-gitter
    @rob-for-gitter
    I think you pretty much nailed most of the pros and cons. I was thinking JS would reduce the surface area of what people need to know to work with the project. If someone has to know HTML, CSS, and JS anyway for the client-side development, maybe it's a shorter leap to JS on the backend. But as I type that and think about what you've written, server-side JS really does come with a lot of overhead. I don't think anything will attract attention to the project, and that's fine. I just want to do the right thing by the project.
    Steven Rosenberg
    @passthejoe
    So I decided to play around with Gatsby.JS, which is a static site generator that uses React to build its pages. I started the Hello World demo, and I kid you not, I had a directory with more than 28,000 files in it.
    Re: attracting attention to the project. If it was done in JavaScript, whether that was a sound choice or not, it would attract attention.
    rob-for-gitter
    @rob-for-gitter
    @passthejoe About Gatsby… It's like every web project is a fancy upscale restaurant. It's very very opinionated and I'm not sure "JAMstack" is a stack at all. Sorry I think there's supposed to be a line over the T in JAMSTACK and that the JAM is supposed to be bold and the T slightly shorter than all of the other characters. That kind of fussiness over simplicity seems to be at the heart of a lot of this kind of stuff. 🙂
    Steven Rosenberg
    @passthejoe
    At this point, I'm still getting over the 28K file shock. That's only on the "build" client. I'll have to get to making a site and seeing what it generates for the server. I can tell you that most of the static-site generators that I've tried (Go-based Hugo, Racket-based Frog, Java-based JBake, Clojure-based Cryogen) are pretty good in terms of what they have you ship over to the server.
    rob-for-gitter
    @rob-for-gitter
    I just don't think the juice is worth the squeeze. I appreciate the info though, thanks!
    Steven Rosenberg
    @passthejoe
    The JavaScript ecosystem is very byzantine, for sure.
    Steven Rosenberg
    @passthejoe
    My comparison of huge clouds (AWS, GCP, Azure), Digital Ocean and shared hosting (HostGator, NearlyFreeSpeech.net) for bloggers and other "small" users http://stevenrosenberg.net/blog/web_hosting/2019_0506_hosting_with_google_nfsn_digital_ocean_or_hostgator
    Steven Rosenberg
    @passthejoe
    This illustrates why I could probably host my microblog (which gets very little traffic) on Google cloud, but my main site uses too much bandwidth, and a traffic spike could lead to a nasty bill. Shared hosting is a much better fit for bloggers at all traffic levels.
    Steven Rosenberg
    @passthejoe

    It's not a big deal to show all 2000+ posts in an Ode site at once: http://updates.stevenrosenberg.net/?first_post=1&num_posts=all

    Took about 11 seconds on my end for the 4.7MB of HTML, about 250K of images and 1.6MB of JavaScript

    john henry
    @john_henry_twitter
    Very cool Steven. I clicked it and now I feel like I have to read everything to justify the server load.
    Rob Reed
    @robreed_twitter
    I love to see all of the experimentation. Thanks for reporting back. I appreciate it. What's clear to me from reading all of this is that you have to be pretty motivated and knowledgable to get an Ode site up and running today, as-is.
    Steven Rosenberg
    @passthejoe
    Figuring out Hugo, Jekyll, Gatsby and 11ty (last two are the new hotness) are equally difficult but different.
    Now that I did Ode on a (Google) VM with Apache, that is pretty set as far as instructions go. Amazon now has $3/month VMs to compete with Google Cloud and Digital Ocean. I need to try that. Hopefully the steps will be mostly similar.
    Steven Rosenberg
    @passthejoe
    I'm also considering a move to NearlyFreeSpeech.net. I had an Ode site there years ago. The key is that for about $4 a month, it's pretty much unlimited bandwidth, and they CAN handle a spike without your site falling over. Plus, they manage the servers. With a VM, I can handle configuration and security, but I'd rather somebody do it for me. Plus NFS offers a lot of software that they install and maintain. If I can get Unison to work (I'll probably have to compile it on my laptop), that's the key.
    The main problem with a free Google VM is that bandwidth is very tight. 1 GB/month. I could probably get away with paying for bandwidth, but a spike would prompt an unwelcome bill.
    Steven Rosenberg
    @passthejoe
    NFS has a policy where they will pretty much never charge for excess bandwidth. If your site is super popular, you might have to pay $5 per month, but they are extremely accommodating when it comes to bandwidth. I think I'm paying $16/month with Hostgator for my Ode sites and a WP site. I could definitely cut that bill in half.
    Rob Reed
    @robreed_twitter
    As you know, one of the big benefits I see with a platform like Ode, any self-hosted platform, is that you can host it anywhere. So they can work for anyone as long as there is a minimal local infrastructure to support hosting. The vision has always been a platform that you can run from an internal drive or even a plugin in external drive, run locally, or over a local network, or host widely (whether public limited by permissions). I really want some platform that seems like an extension of a static website. Correct me if I'm wrong, but I still think Ode has the inside track on that.
    Steven Rosenberg
    @passthejoe
    There are always going to be technical challenges in setting up these systems. Smoothing the way through documentation is the way to counteract this. And maybe containers are an answer ...
    There are MANY people advocating for retaining ownership and control of your own content, and Ode is my way of doing that. We just have to keep pushing for own- and roll-your-own.
    Rob Reed
    @robreed_twitter

    There are always going to be technical challenges

    I'd like to think there there are always going to be steps more than technical challenges.

    I deactivated my Twitter account by the way. But you can find me here or by email if you need to.
    Rob Reed
    @robreed_twitter

    I'm really trying to simplify the default theme. I don't care if it's fancy. I want it to work as a baseline without modification and then I want to make it as simple as possible to modify. Take primary navigation for a moment. It was more complicated but also more fragile. Now it's incredibly basic and a few additional rulesets and a little JS from now it will be better off for it. Want to include dozens of links? Go ahead.

    There's a version running at ode.io now. I could be handling this testing much more elegantly of course. For example (as you may know) rather than having the new theme be the default, I could just rename it and then explicitly request the working theme as part of the URL. But I figure this is my prerogative for having an exceedingly unpopular project. :)

    Ummm… The responsive styles are essentially broken at the moment because I've been renaming things. Currently only the "marquee" is intact. (That's the bit at the top that reads "A platform about you*"). If you'd like to see some of the additional styles I'm including for content (again, very basic) you I have a playground post here: https://ode.io/playground/testing-2_shy.html#testing-2_shy. (Shy posts are only visible when explicitly requested.)

    What else… Oh it currently includes a very simple 12 column floated "grid". I want the floats, flexbox, and grid to all be options, without a lot of fuss. To do that I'm really trying to think in very basic terms.
    Rob Reed
    @robreed_twitter
    Feel free to tell me what you'd like to see changed.
    Steven Rosenberg
    @passthejoe
    One thing that might make it look better in terms of responsiveness is having a maximum width when it is showing on a regular PC so it's not so hard to read from left to right with too many words on one line.
    This message was deleted
    john henry
    @john_henry_twitter
    Rob, that looks pretty incredible. I’m on holiday for a few weeks, but if you need another set of eyes or hands for any features let me know.
    Steven Rosenberg
    @passthejoe

    image.png

    Hard to read on a "big" screen because your eyes have a long way to travel from left to right.

    Steven Rosenberg
    @passthejoe
    image.png
    I think the whole thing might have to float in the center because it looks a little funny with just a max-width: 800px on it.
    You can get it in the middle with margin-left and margin-right set as auto
    Steven Rosenberg
    @passthejoe

    This is with:
    body { margin-left: auto; margin-right: auto; max-width: 900px; }

    This is a crazy hacky solution. My CSS is trial/mostly error, so I'm sure there's a better way to do this). The original looks great on mobile and tablet; I'm just worried that the text is too wide for desktop and laptop reading.

    image.png
    Steven Rosenberg
    @passthejoe
    I can't find the right color, but changing background-color controls the color on the sides.
    All of these suggestions are like "reverse" progressive enhancement -- so what looks good on mobile doesn't make it look worse on desktop.
    Steven Rosenberg
    @passthejoe
    I've been looking into things like Docker images, but it looks like it's more expensive to deploy with things like Docker and Kubernetes than it is to use a VPS or shared hosting. And with that in mind, even though it's no longer the late 2000s, shared hosting is a very compelling choice because with the right provider it can be cheap and robust, plus somebody else is handling OS security.
    I'm not giving up on Docker just yet, but the learning curve is high.
    And even though my current shared host is expensive (it's up to $16 a month), I can do an unlimited number of individual sites using either separate domains or subdomains. But if I "limit" myself to, say, five sites, NearlyFreeSpeech.net is a pretty good deal. I did a test this week with Unison (my file synchronization solution of choice), and NFSN does provide that, and I got it to work. On Hostgator, I had to find a package for CentOS 6 and install my own on the server side.
    Rob Reed
    @robreed_twitter
    @passthejoe There is a max width. It's currently 1900px. There's a wrapper div around the whole thing. You can set the max-width to anything you like by just changing one CSS rule. One of the things I was going for is to make it so that every single rule, without exception, does what you'd think it does. The rulesets don't step on each other's toes. Space is controlled pretty deliberately. So for example vertical spacing is handled through bottom margins and top margins are typically zeroed, with the exception of headings. There shouldn't be any dangling extra space vertically or horizontally and the beginning and ends of things.
    Screen Shot 2019-06-27 at 12.01.19 AM.png
    @passthejoe Yep, I have it centered. If you're not seeing that it's probably related to one of the broken or 1/2 broken media queries. Whatever it is, it will get fixed. This is what I'm seeing (no changes).
    Just about everything can be directly changed with a single rule. If you want to change the background behind the wrapper, that's just the the background color on the body element
    body {
        background-color: #b3c2d0; /* #b3c2d0; – Light bluish grey */
        color: #464545; /* #464545; – Med dark gray */
        margin: 0; 
    }
    Rob Reed
    @robreed_twitter
    You can individually set the background for the #wrapper, the #marquee, the #top-bar, the #page-header, the content-area-container, and on and on.