by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Steven Rosenberg
    @passthejoe
    Rob, while I was looking for .htaccess hacks, I found some things on caching. Would this work for Ode due to its dynamic nature? https://www.askapache.com/htaccess/speed-up-sites-with-htaccess-caching/
    Rob Reed
    @robreed_twitter
    I'll have to read that thing carefully. It's pretty confusing the way it's written. Also, I think I'll have to play around with it. Most if not all of them may work for Ode depending on how clients handle expiry dates. Ode is dynamic but doesn't use query strings mostly, so if it reads an address as a page then I don't see why it wouldn't work. But one of the suggestions is to generate static pages and that's what I want to do anyway. That will work with all caching methods AND even when the cache expires visitors will hit the static pages not the script anyway. The performance for a busy site should be just about on par with a purely static site with none of the drawbacks.
    Steven Rosenberg
    @passthejoe
    Sounds great.
    Rob Reed
    @robreed_twitter

    Hey Steven, I'm thinking of renaming Ode, "Ebeling". Any thoughts about that? It's because of this guy Robert Ebling. https://www.npr.org/sections/thetwo-way/2016/01/28/464744781/30-years-after-disaster-challenger-engineer-still-blames-himself

    He kind of epitomizes how I feel about technology – Going along with what everyone is doing because everyone else seems to be OK with it is in no way OK.

    I also like that the name is easier to pronounce and kind of sounds like an open source project.

    I'm just looking for a little feedback.

    jgbrwn
    @jgbrwn
    Hello, I remember looking at Ode many years ago, and stumbled back upon ode.io, but looks like it's not available to download currently?
    Rob Reed
    @robreed_twitter

    @jgbrwn Hi. Thanks the message. Out of curiosity, what are you thinking about using Ode for?

    Yes it's not generally available at the moment. I'm working on a significant update. I'll be honest that's it's long overdue but I am committed to the project and making it more of a priority so that it gets done sooner rather than later.

    The next version will still be a Perl CGI. After that I may rewrite it for JavaScript . Not much will change about the existing functionality because honestly it works really well, and I like it. But there can be some refinements for sure and there is some much needed functionality. The goal is a platform that is (or continues to be):

    • Approachable for people new to programming
    • Bullet proof for server and local installations
    • Syncs seamlessly
    • Generates and caches pages in response to requests on the fly
    • Works with git for version control, backup, migration, and collaboration
    • Does all of the things Ode does as well or better than everything including themes for example

    Would something like that work for you?

    Thanks again! Rob

    Steven Rosenberg
    @passthejoe

    Hey Steven, I'm thinking of renaming Ode, "Ebeling". Any thoughts about that? It's because of this guy Robert Ebling. https://www.npr.org/sections/thetwo-way/2016/01/28/464744781/30-years-after-disaster-challenger-engineer-still-blames-himself

    Sounds good to me.

    Rob Reed
    @robreed_twitter
    @passthejoe OK thanks.
    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.