1. 1

      wow, weird. yeah looks like it. the link was working yesterday.

    1. 1

      Go with what you know. I had played with Flask, Django and Rails in the beginning of my programming journey, but didn’t grok them. Probably because I didn’t have any foundational programming knowledge. Then I mostly wrote scripts in Python for 5 years.

      Now I’m learning and deploying an enterprise app in Django and it’s (close to) a breeze. Django is highly battle tested, has DRF for building (albeit somewhat constrained) APIs. And in general let’s you worry about data shape and data access patterns rather than the nitty gritty.

      So. Go with what you know.

      1. 1

        2019 - Present: Pop_OS! Terrible name, awesome experience. Was able to run it on a Thinkpad p52S with wifi, bluetooth and nvidia drivers right off the bat.

        2017-2019: Lubuntu - Clunky and stuff didn’t work right out of the box. Lot’s of little configuration details that got annoying. Was running this on a 2012 macbook pro, so perhaps that had something to do with it.

        2011-2017: macOS

        1. 1

          Awesome, I did this as well (my code is pretty messy). This could be extended to place the order when a delivery window is available.

          Sidenote: is there an API for placing delivery orders at restaurants (a la Doordash)?

          1. 2

            Thanks @dhruv. This weekend I’m hoping to implement:

            • Find out if there is any way we can get cookie information directly from Browser (rather than using Postman as it complicates things)
            • Get list of stores for user based on zip code.
            • Submit order if there is delivery window available.

            Not yet sure how much is possible, but that’s the aim!

            I haven’t yet played with Doordash, so don’t have much idea on the same.

            1. 1

              Hi @raju, here’s my super hacky script to login without Postman: https://github.com/dhruvkar/instacart/blob/master/instacart.py

              Basically, it mimics the calls from the browser to set the correct headers & cookies and scrapes to get the correct token before trying a login.

              At the moment, I’m hardcoding in the stores. Perhaps later they could be set as “available” by checking via zip code. Submitting the order would be great too.

          1. 24

            I have run both static and Wordpress sites in the past and Wordpress definitely has a better publishing experience for most writers than a static site. Whenever the experience of publishing static sites is criticized, I usually only hear scoffing from developers glancing up from their wall of terminals. “How could this be hard for anyone else?” But the fact of the matter is that for most people, it is. If static is superior, then it would be awesome to see developers making tools that make it easier for the average writer to publish a static site instead of being confused about someone “not getting Jekyll”. Make it easy to do it the right, secure way. My position right now makes me the interface between a lot of “average” users and complicated tools and especially now that we are working remotely, I am intensely interested in making processes easier (and still safe) for my users, even if I have to sacrifice technical purity. But when I can help them complete the task in the best way, easily, then that’s a big win.

            1. 25

              The tools exist. You can add a content manager on top of a static generated site, like Netlify CMS or Forestry, just to cite two of them. They’re called headlessCMS and there’re a lot of them.

              There’re others advantages on going static that @kev doesn’t talk on this post. For example, I think the most important for me is that you can pass the trouble and cost of maintaining a server with php, a database and a webserver running 24/7.

              But at the end of the day I don’t think there’s only one right way to do things. I agree with @kev:

              WordPress is far from perfect, but it works for me. If using a static site works for you, that’s great. It would be a very boring world if we all liked the same thing.

              1. 2

                I’ve tried Netlify, and I wasn’t impressed. Compared to just unzipping a version of WordPress on an Apache server and setting up a MySQL database, it felt very counter-intuitive and complicated to use and setup and I didn’t even get it to work in the end. All these headless CMSs seem very ad-hoc.

                I think the most important for me is that you can pass the trouble and cost of maintaining a server with php, a database and a webserver running 24/7.

                As @kev mentioned elsewhere in this thread, you still need a web server running to serve static content, which almost certainly has PHP enabled anyway. The only difference is that you don’t need a database. And I admit that databases are somewhat opaque compared to how static site generators structure the content, but there’s a reason that most CMSs store their data in a SQL database rather than in plain text files.

                (As a sidenote, I’m not a huge fan of CMSs either. I myself have a static site, I just don’t use a static site generator.)

                1. 1

                  You generally don’t host a static site on an actual web server; Netlify or GitHub/GitLab Pages or S3 or whatever is a layer of abstraction on top of that. I use Google Cloud Storage for https://snazz.xyz, so I build my site locally and have a script that copies the files to my GCS bucket.

                  For my site’s traffic usage, replicated hosting on multiple continents is free (and then I pay by the GB of bandwidth after the first 5GB). Plus, I don’t have to do any maintenance whatsoever.

                  1. 5

                    I just can’t see how this is simpler than just having a web server running. And I feel much more in control running my own web server on a VPS than hosting my site in Amazon’s or Google’s cloud.

                    1. 1

                      I understand the need for control but I think that one of the main benefits of running a static website is that there is almost no vendor lock-in. That’s why I feel confident about hosting my personal blog on Netlify. If the company goes out of business tomorrow, migrating to something else will take 10 minutes at most.

                      1. 3

                        There’s still much more vendor lock-in than with a simple web server. A WordPress installation looks identical, no matter what VPS it is hosted on. Same goes for Apache. But Netlify’s “in-browser edit” interface is different than GitHub’s, which is different than GitLab’s, and so on. If you want to be truly free, you can never really allow yourself to get used to Netlify/GitHub/etc, because if you get used to any specific service, the barrier for leaving it will be higher.

                        It’s not a huge deal, but it’s a big enough deal for me to feel uncomfortable with it.

                        1. 1

                          From my observations, people treat the web editor as last resort (among github users, its use for anything is strongly discouraged—in collaborative development context, for valid reasons).

                          The advantage people love those things for is pushbutton deploy: you push generated pages to git, and the rest happens without you. With Github Pages’ built-in Jekyll, you push source files/configs/templates to git and generation also happens without you.

                          Myself I’m not fond of autogenerated files in git, and rsync+ssh to my own web server is all deployment automation I want (I made it a make target), but for some it’s a real selling point.

                          1. 2

                            From my observations, people treat the web editor as last resort (among github users, its use for anything is strongly discouraged—in collaborative development context, for valid reasons).

                            The reason I focus on the web editor is that lots of people in this thread are presenting it as a perfectly viable alternative to WordPress’ web editor, which I don’t really think it is.

                            The advantage people love those things for is pushbutton deploy: you push generated pages to git, and the rest happens without you. With Github Pages’ built-in Jekyll, you push source files/configs/templates to git and generation also happens without you.

                            I don’t know… I can’t see how this isn’t just another step in the process of updating the site that just makes it more complicated. Wouldn’t the most effortless solution just be a traditional shared web host with FTP access?

                            (Also, with GitHub + Jekyll, you still need to generate it on your own system to preview it, so I don’t see the benefit of any generation happening on GitHub, and don’t get me started on issues of version mismatch between GitHub’s Jekyll and my local installation…)

                            1. 1

                              version mismatch between GitHub’s Jekyll and my local i on Netlify you can specify the version of SSG you’re using. I use Hugo and I can it to the same version as my local one.

                      2. 1

                        I think it’s just a tradeoff. Instead of managing SSH keys, apt unattended-upgrades, and Certbot, I just run this script on my computer every time I want to upgrade my site:

                        #!/bin/sh
                        
                        cd ~/everything/site
                        rm -rf public
                        zola build && cd public
                        gsutil -m rsync -d -r . gs://www.snazz.xyz
                        gsutil -m rsync -d -r . gs://snazz.xyz
                        

                        Maybe this is more complex overall, but the amount of stuff I have to keep in my head is much reduced this way. I can see why you might prefer to maintain control over the web host, but I’m perfectly happy not having to do any sysadmin tasks.

                        1. 2

                          Instead of managing SSH keys, apt unattended-upgrades, and Certbot

                          None of these are strictly necessary. I have no need for a non-self-signed SSL certificate, so I don’t need to worry about renewing it.

                          Maybe this is more complex overall, but the amount of stuff I have to keep in my head is much reduced this way. I can see why you might prefer to maintain control over the web host, but I’m perfectly happy not having to do any sysadmin tasks.

                          I understand, I didn’t mean that managing a web server is zero-effort in any way.

                2. 10

                  10 years back, my friends over at TheConversation.com.au created a “live” static site generator.

                  The public site was nginx serving html files off disk, but there’s a full CMS with a database, versioning, etc generating those files when an article is updated.

                  This architecture had the significant advantage that it was really, really hard to cause a public facing outage.

                  Also, truly huge amounts of traffic could be handled by a single, quite small server, even before adding a CDN to the picture.

                  1. 4

                    Yes, the ability for even a small server to handle enormous numbers of page views is a definite technical advantage of a static site. I just think the number of moving parts in an SSG end up nullifying the advantages in the eyes of the prospective publisher. Tools that couple the publishing interface (especially on mobile) of WordPress with the speed and small attack surface of a static site are definitely in order. @kev mentioned Grav as one such tool in some of his comments, although I haven’t had the chance to try it. But my experience with SSGs eventually drove me back to just writing straight HTML in a decent IDE.

                    1. 3

                      It’s been a loooong time, but isn’t that basically how MovableType worked?

                      1. 2

                        MovableType definitely has a mode which does that. Charlie Stross’ blog is static and built with MovableType (or used to be)

                        1. 2

                          One of the big features of WP over MT back in the day was “instant publishing”, you didn’t have to wait for the time-consuming “rendering” step.

                      2. 1

                        I used to do something very similar with a home baked thing in ruby. Once I hit on it I was surprised it wasn’t a more common pattern.

                      3. 4

                        Couldn’t agree more.

                        By the way, if you’re looking for a happy medium, check out Grav (https://getgrav.org). I used it for a while, but did run into some issues with it.

                        1. 3

                          I started blogging with UserLand Radio and later Movable Type. While primitive by today’s standards, this software attempted to bridge these worlds. The blogging experience was through a dynamic application and the publishing output was static HTML.

                          As time progressed, I would often output “SHTML” (server-side includes) or PHP with these tools. That way you include more complicated dynamic pages for contact forms, surveys, etc. without using CGI scripts.

                          I’m curious as to whether the authors of tools like Grav, etc. have any experience with these older tools? Once Wordpress appeared on the scene, everyone ran in that direction of the easy of publishing, but we’ve had a lot of pain with maintenance and security vulnerabilities. I’m considering building something dynamic for my personal site which combines link blogging and photography because I know I’m more likely to publish to it when I have time, which also happens to be when I’m on my phone.

                          1. 3

                            Radio and Frontier were quite advanced. They still have many features that are not present elsewhere. I miss Radio…

                          2. 3

                            I think the thing missing from this discussion is that a lot of writers have their preferred text editor. I hate environments where I’m expected to write a large amount of text in anything other than my favourite text editor. Most writers I have met have an editor that they like (and often have customised a lot, with off-the-shelf plugins and custom key bindings / macros, even if they’re not programmers). If they’re using WordPress, they’ll write in something else, then copy and paste. If their favourite editor has native Markdown support, then they’ll use that and then copy it, otherwise they’ll paste text and then faff getting the formatting right.

                            The thing that they usually want is a mechanism to push directly from their editor to a live preview and then to deployment. That’s generally easy to hook up with a static site generator driven from git and a scriptable editor (these days, that means anything that’s not Notepad), but for a lot of commercial sites it often ends up having a manual step involving someone emailing a word document.

                          1. 6

                            I want this but as a calendar: it syncs family calendars, and cycles through family photos and/or other image galleries

                            1. 3

                              ah yes, much more functional.

                            1. 10

                              This is super cool from a hardware perspective, but I would find it wildly stressful to have the day’s news plastered on my wall all day.

                              1. 7

                                yeah, I can see that.

                                but our phones do that anyway, and a static frontpage, with a few stories, wouldn’t be as bad (I think).

                                Also that display is ~$1500 :/

                                1. 3

                                  Yeah, I think e-ink is super cool, being able to use it in full sunlight is fun and the battery life is pretty cool too… but the cost is just yikes.

                                  I did get myself a used amazon kindle (the older model with physical buttons to turn the page. why anyone would actually want to chafe their fingers swiping is beyond me) and it is actually pretty decent. But I wouldn’t mind being able to use one as like a unix terminal too… just the price is yikes.

                                  1. 1

                                    You don’t swipe on the newer models. You just touch the screen on the left or right side to turn the page. It’s honestly a very nice experience.

                                  2. 2

                                    the display is $1500, and they won’t sell it to you unless you’ve got a certain amount of clout. I’m eagerly awaiting for someone to steal their manufacturing process and eat their lunch.

                                    1. 1

                                      And you need the v5 board to use it (mandatory) that is another $500.

                                    2. 3

                                      so the front page of a newspaper is designed to sell you the paper. The idea is you see a story you actually want to read when it is sitting on the stand and then buy it to read more on page A-5 or whatever.

                                      I guess it might be an amusing art display but saying “the best user interface is none” strikes me as silly. If you actually see anything you care about, you are gonna want to read the whole article but there’s no way to actually do that without a UI of some sort!

                                      1. 2

                                        It would be cool to have a remote control that runs on your computer or phone (or even better, a dedicated actual handheld remote control with only two buttons: forward and backward). That way, the display can stay completely void of any buttons, which would ruin the aesthetic effect. It already has wifi, so it’s connected.

                                        Also, does anyone find this really depressing?

                                        E-Ink’s NDA prevents me from sharing the source code, but you get the idea.

                                      2. 2

                                        Cool idea: do this, but instead of displaying today’s news, display the front page from this day 50 years ago.

                                        1. 2

                                          I would too, but I would love it if I could have a thing like this displaying all the slow-to-refresh things that we rely on screens for: the weather, bus schedules, et cetera. This really needs to be scaled up so it doesn’t cost $2K a unit.

                                        1. 5

                                          I’m going to continue working on my last weekend project. It seems there a lot of people who are trying to order from Instacart, but not getting delivery windows available. This week I helped a couple of my friends to use this program in order to get alerts for their favorite store on Instacart.

                                          This weekend I’m hoping to see if I can run it as a web app or so that folks can just put their email or phone number so that they can get a notification for their store. I also need to figure out how to get a list of stores for a particular zip code. More hacking!

                                          Here is source code reference: Notify Me for Instacart Availability

                                          1. 1

                                            awesome! I just did this too, your code is much nicer. :)

                                            a tip - you can send text message notifications using email-to-text [0] gateways. While it may not be as nice for a scalable web app, it works well for an individual use case. I was able to use with mutt/sendmail as part of a python script (tested with Google FI).

                                            I was going to try and extend my script to automatically place the order from a saved cart, when it finds a delivery window.

                                            Hope you get your delivery!

                                            1. https://20somethingfinance.com/how-to-send-text-messages-sms-via-email-for-free/
                                            1. 3

                                              Thank you, Dhruv. In fact, I started with an email to text gateway. But during testing, I didn’t get any texts (sent via emails). So I decided to switch to Twilio. It was a fun experience.

                                              After I publish this on my blog, many friends express similar disappointment with not able to order on Instacart and were happy to use bot I wrote :-)

                                              cheers, Raju

                                          1. 7

                                            We’ve had a full cart ready to go on Instacart for a week now, trying to find an open delivery time from Costco.

                                            My wife was checking when she could to find an open spot, but no luck. Finally decided to write a script to check for open spots.

                                            It logs into Instacart a couple times an hour to check availability of delivery times for a few stores. Sends a text and email using mutt/sendmail if it finds available delivery times.

                                            edit: not sure I understand the downvote. if they’d care to explain I’d love to understand what in this was downvote worthy.

                                            1. 1

                                              We had a submission about this which you might find interesting.

                                            1. 1

                                              How do you handle traffic spikes e.g. like getting to the top of Lobste.rs or HN or Reddit with a WordPress installation on a VPS?