1.  

    Try getting an Electron app submitted for the Mac app store, OMG, issues with certificates, UX compliance, total PITA.

    1.  

      Electron should be solving that for you.

      If it isn’t, then that’s the price you pay for non-native dev.

    1. 3
      Python/Ruby
      • performance 0 / 5

      […]

      These languages are slow…

      The Cython project may give you some pause.

      Rust

      […]

      • fun 4 / 5

      Oh, just you wait… You’ll have a love/hate relationship with the borrow checker in no time. My impression is that Rust is very much still coming of age.

      Haskell

      […]

      • fun ? / 5

      …my impression is it may not be well suited to imperative operations like read buffers from a stream and write buffers to a stateful database. I could be totally wrong or ignorant and would like to one day address my ignorance.

      Same caveats as with Rust. But I think you’ll find Haskell’s state encapsulation isn’t all too bad once you get used to it. Plenty unfamiliar, for sure—but the modularity it provides is priceless. Especially for projects of the sort you’re embarking on.

      1. 5

        I played around with things like Cython, never found a way to make Python fast. The guys from Sentry did write some parts in Rust and then embedded it in python, that probably works. https://blog.sentry.io/2016/10/19/fixing-python-performance-with-rust.html

        1. 3

          What shortcomings did you find in Cython?

        2. 1

          Agreed, Haskell code is super easy to rewrite.

        1. 9

          In my experience Go has been pretty performant (of course not on C’s level), certainly more than 3.5/5. And I’d be curious to know why you gave it a 3/5 for simplicity. Taking all of C and not only it’s official standards into account it’s far easier to write Go than (safe, proper) C.

          One huge pet peeve of mine is a language with concurrency but no notion of immutability.

          AFAIK they are working on this for Go 2, but in the mean time, I’ve found that using channels instead of “classical” concurrency mechanisms has been a good workaround – and quite easy to use actually.

          1. 3

            Last I tested python was 100x slower than C, Go was about 2x and java was 1.5x . Not a detailed look really, and maybe things have changed since then.

            I marked go down on simplicity because sometimes things that should be simple are not. One example is forking (due to runtime threads), another is dropping user privileges (due to goroutines not mapping to OS threads.) . It depends what you are trying to do usually though.

            1. 3

              Keep in mind that there are at least two Go compilers: go and gccgo. They have different performance profiles. Gccgo is a GCC frontend. GCC has had built-in support for Go since version 4.6.

              1. 2

                The Java/Go performance disparities really seem to come down to the kind of task one is doing, as seen here – then again “real world” performance is another question…

                One example is forking (due to runtime threads), another is dropping user privileges (due to goroutines not mapping to OS threads.) . It depends what you are trying to do usually though.

                Ok, I understand your point – Go isn’t the best sysprog language that’s pretty uncontroversial. I was thinking of the number of concepts and (especially arbitrary) rules a language specified.

                1. 2

                  For many web /API use cases Go is faster than Java but somewhat slower than C++

              1. 2

                Working on it: https://getstream.io/blog/winds-2-0-its-time-to-revive-rss/ It’s not so easy though, it’s a vicious cycle. Less people use RSS, less publishers support RSS, RSS tools degrade in quality and so on.

                You wouldn’t believe the number of if statements in the Winds codebase just to make RSS work (ish). The standard isn’t really much of a standard with everyone having small variations. Here’s an example, not all feeds implement the guid properly, so you end up with code like this: https://github.com/GetStream/Winds/blob/master/api/src/parsers/feed.js#L82

                1. 1

                  Now, that looks like an interesting project. I have updated my SaveRSS page to include a link to Winds in the RSS clients section. You might also consider linking to the SaveRSS page for arguments on why to use RSS/Atom as a publisher.

                  Personally, the project isn’t for me, though. I’m a happy user of elfeed, but I can absolutely see how your project can benefit the RSS/Atom community.

                  1. 1

                    Dang, this bloatware is pushing 6k stars on github already. Nothing like an RSS reader that combines Electron, Mongo, Algolia, Redis, machine learning (!), and Sendgrid

                    1. 1

                      l

                      The goal is build an RSS powered experience that people will actually want to use. The tech stack is based around the idea of having a large group of people being able to contribute. (We use Go & RocksDB for most of our tech, so it was a very conscious move to use Node & Mongo for Winds to foster a wider community adoption)

                      1. 1

                        Makes sense. Thanks for the gracious reply, I feel bad about my grumpy comment.

                  1. 7

                    The nice thing about the activity stream spec is that it can capture many different types of interaction. Writing a blogpost, sending an email, listening to a song, sharing something etc. All of these are easy to model so its a very general spec.

                    I like the tech, it’s just that distributed protocols are struggling at the moment. I doubt it will succeed.

                    1. 2

                      The problem is that the spec doesn’t specify what you are supposed to do with these activities beyond some very basic things, so essentially the first implementation of a certain object type (e.g. ‘Video’ for peertube) becomes the ‘standard’ that isn’t documented anywhere.

                    1. 3

                      It seems like the EU is defending the rights of other smart phone manufacturers more so than the rights of consumers. I’d like less bloatware, not more.

                      1. 1

                        more packages, more attack surface, scary world

                        1. 3

                          Love the tech, going to donate. Web is moving the opposite direction though. Even email is having a rough time. Quite a bit of the communication moved to Slack, social networks, chat etc. IRC & RSS are having a rougher time.

                          1. 4

                            The Fediverse is a welcome pushback against this centralizing trend

                          1. 18

                            Would I like more Mastodon and ActivityPub propaganda without much real substance and cute elephant friend pictures, reiterating how great federation is? You bet your top dollar I would! Take my upvotes, Mastodon blog! And congrats on self-hosting your blog and moving the propaganda machine off Medium!

                            I’m @JordiGH@mathstodon.xyz in case anyone wants to say hi.

                            1. 6

                              “If Twitter shuts down, you’ll lose your followers. If Facebook shuts down, you’ll lose your friends. For some platforms, it’s not a question of “if”, but “when”. Such events are usually followed by a scrambling into a variety of different platforms, where you inevitably lose some people as you have to make a choice which one to stay on. This happened before. But it doesn’t have to happen again. Use the federated web. Join Mastodon.”

                              Adding to your comment, this is particularly such bullshit. More like you won’t have many friends, esp in real life, if you’re on Mastodon instead of those sites. The people on those major sites also use more than one. If one shuts down, they almost always have another way to contact them. The shutdowns also don’t usually happen overnight. There’s often time to see things are in decline. For instance, there’s plenty of posts about Twitter’s financial troubles where anyone with sense will have some other account on the side. It’s also amusing to see them saying “if X shuts down” after seeing a headline about Instagram alone being worth $100 billion, watching Facebook’s revenues grow over time despite all its threats, Slack doing what IRC isn’t in growth/profits, and knowing that previous shutdowns sent users to sites like Facebook instead of P2P software or Mastodon.

                              1. 5

                                It’s not Twitter’s finances that are making people leave; kinda the opposite.

                                1. 2

                                  The article talked of companies disappearing. That can happen due to users leaving or financial reasons. Twitter’s money problems & mismanagement are a warning sign that should signal users to have another option. That’s all I was saying.

                                  1. 2

                                    Sorry, my reply was more opaque than I meant it to be. I think the toxic things Twitter is doing to chase a profit are why so many people are leaving. I don’t think most users cared about their financial situation other than to wonder why the service was free.

                                    1. 2

                                      Oh OK. Yeah, that makes a lot of sense. It’s even more ridiculous when a company gets a nearly impossible amount of users, has tons of money to make off them, and just… lets them float away…

                                      You’d think rational self-interest wouldve made them take action sooner. Not how it often works in practice, though.

                                    2. 1

                                      I thought Twitter was doing well lately

                                      1. 1

                                        It might be. I read it a while back. Just using it as an example warning sign.

                              1. 4

                                Make the weekly! We do standups every Monday and have a slack channel where you post what you’re working on that day.

                                1. 1

                                  Well yes there are limitations… I think you can work around most of them though. So maybe there was too much hype. But AI is here to stay. It will change everything because it allows more automation. It’s just really far away from a general AI, or sentient AI. Pattern recognition on steroids would be a better name, though not so sexy as AI.

                                  1. 1

                                    This looks like a nice upgrade from autopep8

                                    1. 1

                                      Featuring lobste.rs in the onboarding flow: https://github.com/GetStream/Winds/blob/master/api/src/workers/featured.json#L474

                                      Interesting to learn more about how you stay up to date on news/tech. Are you still using RSS, relying on Twitter, mailing lists, Reddit etc…

                                      1. 1

                                        What does your backend setup look like for something like this? Would it be possible for you to allow self hosting in the future?

                                        1. 2

                                          The backend API and frontend are both open source: https://github.com/getstream/winds We rely on Algolia, Stream and Mercury though which are closed source. Now that doesn’t stop you from running your own backend or changing the app’s functionality as you see fit.

                                        1. 3

                                          There are many companies offering to help with GDPR for 6 figure amounts. Cost of compliance is in the millions for many larger companies. (this author clearly doesn’t understand the true cost of things)

                                          So far there are no real privacy benefits for me as a user. I don’t care about people tracking my IPs personally, or running analytics, retargeting, or doing split testing. I care about people losing access to my passwords, social, credit cards, messages, pictures, location data etc. I haven’t seen much improvement in that area. End result so far seems to be more checkboxes and the ability to delete my user account. #awesome

                                          It’s too early to tell if anything good will come out of GDPR. Fingers crossed though, there are real privacy issues to solve and I hope it helps with that.

                                          1. 5

                                            Why ask for our work email to download it? It comes across as very creepy and also unfortunate for those of us who don’t have one…

                                            1. 4

                                              well… it used to be a beta registration page. which we copied from another landing page that required your work email. it doesn’t make sense at all and I’ll remove it on the next deploy.

                                              which platform are you on?

                                              1. 1

                                                Ah totally fair :) Mac at the moment

                                                1. 2

                                                  I’m still fine-tuning the build for Mac and the app store. You can try it out here (but it won’t automatically update) https://s3.amazonaws.com/winds-2.0-releases/releases/Winds-2.0.173.pkg

                                                  1. 1

                                                    Thanks and best of luck!

                                            1. 2

                                              I would say JS already won. I prefer Python & Go. Still think Django or Rails are miles ahead in terms of productivity. However the vast majority of new projects are choosing for Node. We actually use Node for all our example/marketing projects since it’s just so much more popular than other languages. One interesting development is that Node adopted most of Python’s features over the past years, it really improved as a language. I still don’t like the async callback approach to handling concurrency, but other than that its a pretty decent language.

                                              1. 4

                                                I don’t know, depending on your company, country and position you may feel this differently. In my few working experiences, people would run away from Javascript. Backend people moving to golang majoritarily and frontend people going from javascript and moving to Typescript, Elm or Reason. I think it totally depends of where, who and what you’re working on…

                                                1. 2

                                                  Do people use Go for enteprise-y CRUD apps? I see a lot of Go for services and things that require eating through a bunch of data but I don’t hear about its use in other domains

                                                  1. 2

                                                    We use golang in this capacity. Backend services that don’t need tons of front end tooling are really nice to write in golang.

                                                    1. 1

                                                      Have you been basically hand-rolling most of the functionality (thinking in particular about ORMs and outputting HTML for the client)

                                                      To be honest when reading Go code it tends to look very “nice C”-y, but that feels like it might lead to frustration when dealing with a bunch of strings to concatenate.

                                                      1. 1

                                                        haha, why yes we have: https://github.com/blend/go-sdk

                                                        the golang stdlib gets you most of the way there, that sdk is really just a web helper, a logging / eventing helper, and a lite orm with a bunch of other random stuff thrown in for services that needed it

                                                    2. 1

                                                      Yes we did. As API serving JSON but also serving templates HTML. It’s quite nice but to be honest we didn’t grow it too big so we didn’t have much trouble maintaining it.

                                                1. 1

                                                  Well yes a lot of their issues are caused by having APIs that are too open. To be fair, back in those days, the tech ecosystem was definitely pushing for this openness. It was considered a good thing. Now, not so much..

                                                  1. 1

                                                    In our buzzwords-driven field?

                                                    Probably people considered API access “a good thing” just because “Facebook/Google is doing this too!”

                                                    But the problem was not the technology back then, just like AI is not the solution right now.

                                                    It’s the business model.

                                                    I remember a younger Zuckerberg explaining the world how privacy had no value for modern people.

                                                    He meant it!

                                                    1. 1

                                                      back in those days, the tech ecosystem was definitely pushing for this openness.

                                                      I would hardly call 2015 “those days”.

                                                      1. 1

                                                        Back in my day…

                                                    1. 1

                                                      This is really cool :) Fun read, thanks for sharing.

                                                      1. 3

                                                        It’s impressive how much money they raised. Wonder how well their monetization is working for them.