Threads for chris-evelyn

  1. 5

    I’m not sure I really grasp the added value of the IndieWeb compared to the usual self-hosting of blog without IndieWeb. Is it about the notification part when someone posts one of your articles? Is the idea to simulate a social networking environment so that people feel it’s no different when self-hosting blogs? Anyone cares to enlighten me on this.

    1. 12

      As I understand it, it’s a grassroots effort to enable tooling etc. to get the benefits of social networks and the like without the centralisation.

      It is pretty much in the “toys for geeks” stage at the moment, if it will ever leave it depends on adoption and wether said tooling emerges. It’s a chicken-and-egg problem right now.

      1. 3

        Yeah, cschorn, that’s a pretty good summary of what the IndieWeb is to be honest.

        The TL;DR is that if I link to one of your pages/posts in one of my pages/posts, you get a notification (AKA webmention). If reply, I get one back. You can also create shorter posts that are formatted in such a way to provide a “like” or a “repost” where the post literally says “I liked the post XYZ on Jane Smith’s blog” which includes a link to her Jane’s post. Jane will then get a notification.

        Where the h-card (profile) comes into play is that the IndieWeb uses this to markup comments, posts and webmentions with this data, so that when Jane gets a notification on her blog, she can see it comes from me, it has my name and my avatar etc.

        Hopefully that helps somewhat?

      2. 3

        It feels like the modern equivalent of webrings plus the federated, OSS equivalent of Disqus.

      1. 7

        I really would like to have a use case for ipfs, but I seem to never have one.

        What are you using it for?

        1. 3

          Personally, I am compiling an archive of old gold questions from askscience subreddit ( and other nice sources)

          When I’m done, I’m going to host those in IPFS, once I have some presentable content of course ;-)

          1. 2

            So basically as a static site?

          2. 2

            I’m in the same boat, I’d love to find a reason to use it since it seems so neato conceptually.

            1. 2

              I don’t use it personally, but I think a good use case is to host packages for language/distro package managers. Clearly, if you use a language at your job, there’s incentive for its ecosystem’s packages to be well duplicated and not be hostages to github’s outages. And the content addressing means packages can’t get maliciously corrupted.

              1. 1

                I‘m mostly keeping an eye on it, because it seems to be one of the contenders for a content addressable web.

                1. 1

                  I think a good use would be hosting mirrors of open source software code archives.

                  1. 2

                    If I have to keep the node running, I can also just set up an nginx mirror. I do not see how ipfs helps here.

                    1. 1

                      It is about the trustworthiness of mirrors. The current mirror system is pretty broken when many people don’t check shasums.

                  2. 1

                    It’s great any time you want to host a static website, basically. I use it all the time, for example for my podcast website

                    1. 3

                      Okay, but why on ipfs and not on a good old vps box or even a cloud storage bucket? If you have to have your node running anyway, what’s the point of using ipfs here besides it being a cool technical concept?

                      1. 1

                        You should run your IPFS server on a “good old vps box” just like you do with your web server currently. The point is that everyone who visits your site now caches parts of your site locally, and can share that cache with others. This reduces your bandwidth usage (since other visitors will get some or all of their data from not-you) and also increases your resiliency (since some or all of your site can still be loaded even when your server is temporarily down).

                  1. 6

                    To stay on the safe side I’d probably pick PHP + Laravel as that’s the stack that I know the most confidently.

                    Depending on the project, I may use Elixir for realtime, Swift for mobile/desktop, or Nuxt.js for static sites.

                    1. 3

                      For me it’s PHP + Symfony for web stuff, for static sites Sculpin.

                      Anything else PHP (CLI)/Python/Node, depending on what I want to do.

                      1. 1

                        Nice, I’ve always wanted to give Symfony a try but it seems unnecessary for me to learn two PHP frameworks.

                    1. 3

                      So while the language definitely has its drawbacks and 20 years of legacy to carry with it; I can say in confidence that I enjoy working with it.

                      25 ;)

                      Good overview though and I agree with most of the points, except that I find the intro a little disheartening because except for the speed (huge difference) and the types (I’m not sure PHP needed them, really) the developer experience has been just as fine since 5.3.

                      My main gripe is that development in PHP had become less fun the more Symfony 2 gained traction. I suppose it’s objectively not a bad framework, but to me it seems they copied the “convention over configuration” from Rails, but badly. Bugs weren’t usually in your code, but hidden deeply hidden in some XML or YAML file. I’d rather solve a problem with code or using a library than learning every single config option by heart or managing to find it in the docs. But I haven’t written a lot of PHP the last years, maybe I should look at Laravel again, my last hobby project in Slim also had some hiccups, none of which were PHP’s fault.

                      1. 2

                        Symfony took its inspiration from Java’s Spring Framework and only got more railsish (or laravelesque) in later versions, so there were some rough edges during the transition. With version 5 Symfony got to a place I personally am quite happy with.

                        1. 1

                          My hands-on experience stopped in 2014-15, but I didn’t see that they reverted the horrible mess of XML/YML for important behavioral criteria of the framework. From what people told me 5.0 was pretty much a smooth transition from 2.x, no hard break like 1->2.

                          Also I don’t really know what you mean, both Symfony 2 and Laravel were released in 2011, and Symfony 1 was quite different and I didn’t see the above mentioned problem there. And what I described was absolutely a problem in 2.x already. I would really love to know which phase you as the transition phase, maybe our timeline is really so different.

                          And yes, this sounds bad, but I don’t see it as an objectively bad framework, it just puzzles me why they went this direction.

                          1. 1

                            For example auto resolving and configuring of services/classes was added to the DI container, the AppBundle got removed. There’s still a lot of configuration going on, but the boilerplate was significantly reduced.

                            (For the record: I worked with Symfony 1 only on one project then got back into the framework at 2.8 or something.)

                      1. 6

                        PHP gets a lot of crap from the people I currently work with, but I really never had a problem with it. I’m more of a sysadmin type, not a strong coder. I don’t pick up languages easily but I always found PHP to be pretty straightforward to work with. There was an MVC framework for PHP called CodeIgniter that was excellent… even someone with my limited ability was able to set up a functional CRUD app within about 30 minutes of sitting down with it.

                        I’m convinced that 99% of PHPs poor rep comes from the sheer amount of bad code written with it, simply because it lowered the barrier to web programming so dramatically. Believe me, I’ve had my share of seeing (and supporting) crappy PHP. But I’ve also seen some very elegant frameworks and libraries written with it.

                        1. 3

                          Personally, I dislike the weird syntactical things and inconsistencies more than anything. Concat with a .? Instance calls with instance->method()? Static methods with Class::method()? camelCase() or snake_case() in the standard library. explode() and implode() instead of split() and join()? And what is up with the use Something\SomethingElse syntax? I just don’t get it.

                          1. 3

                            The . operator for concatenation and the -> method calls are Perl legacy and Perl got that from C/C++.

                            1. 1

                              I know where they come from, but it doesn’t make it any better

                              1. 1

                                It doesn’t matter, it honestly doesn’t. I always see a ton of bike shedding among holier-than-thou developers against PHP and it always gives me a bad impression of them. It’s like watching people making fun of fat people at a gym.

                                1. 2

                                  For one, that analogy makes no sense at all. Having an opinion on the syntax (saying I don’t like them) doesn’t mean you have to agree with me. It also has nothing to do with making fun of anyone or anything. It’s a personal preference.

                                  1. 1

                                    Looks like I replied to the wrong thread. We all have our preferences and that’s fine. What I was referring to in my comment is the disgusting way the developer community dog-piles on a language largely out of personal preference; I have personally witnessed it alienate good people and I have had enough.

                            2. 3

                              I don’t mind the things when PHP is inconsistent with other languages. I hate when it’s inconsistent with itself. Why array_map, count, and strlen? Why is stdClass spelled like that, when DateTime is spelled like that?

                              1. 1

                                That’s more of what I was getting at in the camelCase vs snake_case thing. It really makes no sense, there’s no rhyme or reason about why things are the way they are. I would think at some point, they’d look at their standard library and say “let’s actually put the standard in this.” It would be backwards incompatible, sure, but they could alias and deprecate for a few versions to make it easier on slow pokes. It’s just disappointing that it’s still a cluster.

                                I built my NHL94 stat tracking site with PHP because I had buddies who said they’d help and it’s all they knew (spoiler: they didn’t help), but that was the last major thing I did with it (2013). I pretty much refuse to use it for anything if I have a choice in the matter. There are langs that do everything it does and more that are put together better.

                          1. 13

                            Nice to read some positive stuff about a maligned language.

                            1. 2

                              Is Facebook still using its own version of PHP?

                              1. 3

                                Yes, they are still using Hack.

                              2. 1

                                As I understand it, “maligned” is usually intended as “spreading bullshit/FUD” (Merriam-Webster: “spoken about in an injurious way : harshly or unfairly criticized”). Is this what you intended? Or did you merely intend “criticized”?

                                1. 4

                                  If there’s one programming language since Basic that’s literally been maligned, it’s PHP. So yes, I meant it in the M-W sense. We see an example of it in this very thread!

                                  Edit note that I am not doing the maligning. I’m neutral on PHP

                                  1. 9

                                    While I’m sure a lot of the criticism pointed towards PHP is indeed unfair, a lot of it is totally valid. PHP has a lot of extremely strange warts that just don’t really make sense. My favourite example is that the ternary operator (i.e. cond ? true_expr : false_expr) associates left to right instead of right to left (see example four https://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary).
                                    This is purely a mistake in the grammar and has been left in for YEARS due to lots of code already being written and relying on this.

                                    This is just one issue out of a whole lot. There are a lot of benefits to using PHP I’m sure, but it wasn’t a masterclass in programming language design by any stretch.

                                    1. 3

                                      This is purely a mistake in the grammar and has been left in for YEARS due to lots of code already being written and relying on this.

                                      Indeed; this has been an explicit design goal of PHP (maintain backwards compatibility, even if it means leaving warts in place). This is part of what has contributed to PHP’s runaway success: you can run PHP4 code on PHP7 with minimal-if-any changes. I know, because I do.

                                      Adam Harvey’s talk What PHP learned from Python made this explicit for me, but honestly it makes sense. It turns out most of these warts are minimally invasive; in general I find reliance on operator associativity or priority makes for hard-to-read code anyway. Focus has instead been on making the language fast and powerful, with optional additions to improve large codebases (like types).

                                      I may be biased, because the first language I learned was PHP (more or less), but I keep coming back to it fifteen years later. It’s a fast-to-develop, batteries-included, does-what-you want language. It’s very similar to python in many ways.

                                      1. 6

                                        There is a loooot of programming languages taking back ward compatibility as a must (out of my head java, python 2, python 3, C, C++, javascript). None of them has wart as PHP. PHP was simply not designed at all.

                                      2. 3

                                        This will actually be addressed in the next versions of PHP: https://wiki.php.net/rfc/ternary_associativity

                                        1. 1

                                          In 15+ years of php I’ve never nested ternary calls … Thats just ugly :D

                                          I do typically use 1 ternary call to return nicely from a function or method …

                                          return (count($f)) ? $f : $bar;
                                          
                                          1. 1

                                            In PHP an empty array returns FALSE, so you can shorten that to:

                                            return $f ? $f : $bar;
                                            

                                            Furthermore, that can be shortened to:

                                            return $f ?: $bar;
                                            
                                    2. -1

                                      dude, seriously?

                                  1. 2

                                    Laravel Valet is great for providing this kind of local dev environment.

                                    1. 12

                                      […] can you write a static-typing library for Scheme that then automatically checks your code for type errors? And the current answer, for now and for the foreseeable future, is no.

                                      That’s wrong, there is Typed Racket. (Granted, it’s called “Racket”, not “Scheme” but the same thing should be possible in any Scheme implementation.)

                                      1. 3

                                        I use bash, because it was the default. I have not tried any other shells yet.

                                        1. 1

                                          Same here, but the comments in this thread provide a lot of inspiration.

                                        1. 1

                                          Hi all, I’m bringing my Perl 5 knowledge up to date with the goal of updating an ancient CGI script to modern Perl next week. Still have to decide whether to use Mojolicious or Dancer.