Apologies if off topic, but the increase in interest in Mastodon got me interested in activitypub implementations. Does anyone know where the source is for this test suite? https://test.activitypub.rocks/
I’d love to use it as a baseline to try my hand at implementing some of it, but that website is a bit of a black box.
He’s at the same University as John Regehr. Also the place where Flux group did interesting stuff such as OSKit and the Flask scheme that led to SELinux. Their formal methods group seems to do a lot of stuff on verifying parallel computing:
Might himself has some interesting papers among the others I couldn’t follow due to the dense, technical details. Best in utility was maybe using Racket for C++ metaprogramming. Related to this thread, a skim of the Abstracting Abstract Machines paper shows an interesting technique for static analysis of CESK machines. They did a lot more with AAM’s from there.
Matt Might is no longer with the University of Utah: http://matt.might.net/ says “I’ve moved from the School of Computing at the University of Utah to UAB to become the inaugural Director of the Hugh Kaul Personalized Medicine Institute!”.
I don’t think we can ever trust busy academics to keep all their websites up-to-date. :-)
I worked at ESPN for a bit and candidates were dismissed for not being big enough sports fans. Some of the folks in the interviewing process would do things like give the candidate a sheet of logos and ask them to name which sport they belong to and which team it was. Didn’t matter if they were technically sound, they wanted them to be fans more than anything else. One of the reasons I left.
I don’t know the context neither the atmosphere @ESPN, but I’d advocate that this would be some kind of cultural requirement.
I totally agree that it’s not the most important requirement, but I understand why some company have a strong attachment to their activity domain.
I’m a pretty big sports fan, but when you’re actively ignoring candidates because they don’t know certain stat leaders, it goes beyond culture fit. I actually had that question asked of me. I knew the answer, but I saw great candidates fail on those types of questions.
Then they complain about not being able to find people..
A friend once worked for what was formerly Cricinfo, and he most definitely was not into any kind of sports prior to joining the company. He became an ardent follower of cricket (the game, not the insect!) during his tenure there.
I’m curious, what emacs features would be useful in this app? It’s possible to change the text editor in which the notes are opened, so it can be set to emacs too, but I guess it’s not what you mean?
Org-mode has todo functionality, outlines/hierarchical lists &c. — you could use what it offers rather than having to reimplement for yourself. It’s basically a Markdown alternative with intelligence added.
Writing Joplin as an application within emacs (leveraging org-mode) would also free you from a lot of the nitty-gritty details of dealing with terminals, redisplay, panes/windows, writing a command mode &c. It’s pretty cool (and the reason that I’m more than a bit of an emacs fanatic). Basically, you could stand on the shoulders of others, which is always awesome.
Certainly, what you’ve already built is pretty cool. One advantage of writing it in JavaScript — as you have — is that you can easily share the backend between your mobile app and your CLI program. There’s no good story for doing that with elisp right now (or, probably, ever).
On the other hand, you have to embrace Emacs; and for many, that’s a hard sell. Elisp hasn’t been very good performance wise for years, the UI can be problematic even if it’s completely reconfigurable, and Emacs is basically a silo, as you’ve implied. I myself have tried to make peace with Emacs, but it never clicks for me.
To get out of this hole, we need massive improvements in both tooling and regulation.
Tooling:
We need better type systems, and they need to work as an assistant to developers, rather than a hinderance. Not just scalar / record types (int / Person), but problem domain types and unit types (meters vs feet).
We need method/function contracts that do not go away in production. And we need the ability for the tools to generate checking code by default, and optionally remove it once some sort of formal proof system has been satisfied.
We need to stop pretending that memory and concurrency safety is something to be managed by people and offload it to compilers and runtimes. And stop turning off the runtimes for “performance”.
Where speed is truly a top priority, which is rare, we need unbreakable walls between “fast unmanaged code that has no capabilities” and “managed safe code that can access things”.
We need far better, and more transparent metaprogramming facilities. Not just something like macros or templates, but tools to model business logic, as well as to write new rules that check/enforce business logic on the “meta-program”, rather than reporting only on things that go wrong once it’s been “expanded”.
We need much better isolation when using third-party libraries or FFI to existing C/C++ code during the transition to better code.
I could go on…
Regulation:
Collecting and sharing dossiers on users without users being able to see what has been collected / inferred / shared (and with whom) about them needs to stop.
Users need to be able to correct or destroy such dossiers with due process.
Commercial (closed or open) software and services can not absolve themselves of their duties to users via contract, nor of the users’ ability to seek redress when they cock up.
Embedded software that destroys the users’ otherwise legal rights to resell or repair physical goods, or to remove users’ legal rights to fair-use of informational goods need to be illegal.
Aaaaaand, I know (almost) all of this is a pipe dream in our currenct political / economic climate.
Uncle Bob is wrong about many things, but he’s right about the rapidly approaching point where shitty software begins to regularly kill tens or hundreds of people at a time, rather than just “inconveniencing the masses”.
The tooling is there already, for those who want it. Everything you describe exists in modern strongly-typed functional languages - heck, almost all of it exists in ML.
We need far better, and more transparent metaprogramming facilities. Not just something like macros or templates, but tools to model business logic…
I’ve recently been wondering if these two are inversely correlated. Most of the most metaprogramming-friendly languages I know are also not statically-typed.
… as well as to write new rules that check/enforce business logic on the “meta-program”, rather than reporting only on things that go wrong once it’s been “expanded”.
I’ve tried to learn TLA several times over the years. All the documentation I can find is either in mathematics unreadable to me, completely trivial hello-world-level examples, or only 10% completed. I also picked up the book “Formal Development of a Network-Centric OS” which I’m about a third through and don’t feel like I’ve gleaned much extra knowledge. I suspect I may have reached the limits of my smarts dealing with this topic, without having a month off to learn enough to read the documents.
I took a graduate class that used TLA+ and I learned nothing. I could blame the material and the professor, but honestly it was mainly lack of effort from my part and state of my health at the time.
I am happy that hwayne is solving this very problem (that most TLA+ documentation is often not very helpful) for us!
Oh absolutely! I think Maciej should get all the credit in the world :)
Honestly, things like Pinboard are niche services mostly for us uber-geeks and others who care enough to want to wrangle huge bodies of articles and maintain essentially random access to all of it.
The sidebar patch has been merged. Please watch for airborne bovine. See the documentation for all the options, or simply enable it with ‘set sidebar_visible’.
Wow, who would’ve thought the sidebar would finally make it into core mutt? First PowerShell open sourced and now this - what other surprises await us today? :)
Flying cows? Slow down there, we still have to get Tesla to produce solar powered roofs first. And that Jenkins UI really needs some improvements, too…
It’s quite commonly available - pkgsrc, Homebrew and the OpenBSD ports tree also have it, amongst others (NeoMutt too). It’s annoying having it out-of-tree though as it’s something that’s quite frequently broken by a new Mutt release.
why, oh why can’t this be presented as plain old HTML rather than some animated, AJAXey mess. on mobile I can get all the way through the slow page transitions to the ToC of a book, but when I click on a section it freezes and goes back to the book overview after several seconds.
Yes, that surely is a turn-off. I just downloaded the PDF files for offline reading. For mobile, I guess that the Android app or iBook version might work better.
Yes, certainly a worthy cause, and this appears to be a well-executed project!
Is this the Connexions book? Huh, I certainly did not know that OpenStax CNX is a thing either… What is cnx.org? Some sort of predecessor to openstax.org?
Bingo. It was a previous project done at Rice and elsewhere before the MOOC craze took off.
I have a hardcover edition of that book. Rice is a small school with (many) problems, but in DSP and compiler theory they kick a decent amount of ass–or used to, anyways.
They have some other great faculty as well. Ron Goldman teaches an amazing graphics course (if you like math), Dan Wallach is a hilarious security researcher, and Keith Cooper has a pretty amazing compilers course that will learn you a thing or two.
I feel the not functioning is far worse than performing slowly.
All this said, I have a node app that re-serves the files from spotify to my browser for play back, it’s performance is quite acceptable (better than the official spotify mobile aoo) and it is using pure js to process the files / requests (protobufjs)
Heh, not sure if play.google.com/music is the same as music.google.com, but music.google.com works without flash :D (I used it on OpenBSD in Chromium)! You need to make sure you have HTML 5 playback enabled in labs.
Excellent! Congratulations, @hwayne!
I too have the same question that @msingle asked.
Apologies if off topic, but the increase in interest in Mastodon got me interested in activitypub implementations. Does anyone know where the source is for this test suite? https://test.activitypub.rocks/ I’d love to use it as a baseline to try my hand at implementing some of it, but that website is a bit of a black box.
It links to https://gitlab.com/dustyweb/pubstrate in the footer. Digging around I see several sub-sub-directories called
aptestsuite
…thanks yeah, don’t know how I missed it before :/
Link to sources is right there in the bottom of that website…
Huh! I can’t believe i missed that. Thanks!
Matthew Might’s U Combinator group has an interesting story behind their name:
http://www.ucombinator.org/
He’s at the same University as John Regehr. Also the place where Flux group did interesting stuff such as OSKit and the Flask scheme that led to SELinux. Their formal methods group seems to do a lot of stuff on verifying parallel computing:
http://formalverification.cs.utah.edu/classic/
Might himself has some interesting papers among the others I couldn’t follow due to the dense, technical details. Best in utility was maybe using Racket for C++ metaprogramming. Related to this thread, a skim of the Abstracting Abstract Machines paper shows an interesting technique for static analysis of CESK machines. They did a lot more with AAM’s from there.
http://matt.might.net/#papers
Matt Might is no longer with the University of Utah: http://matt.might.net/ says “I’ve moved from the School of Computing at the University of Utah to UAB to become the inaugural Director of the Hugh Kaul Personalized Medicine Institute!”.
I don’t think we can ever trust busy academics to keep all their websites up-to-date. :-)
Yeah a known issue with them. Thanks for the update.
I worked at ESPN for a bit and candidates were dismissed for not being big enough sports fans. Some of the folks in the interviewing process would do things like give the candidate a sheet of logos and ask them to name which sport they belong to and which team it was. Didn’t matter if they were technically sound, they wanted them to be fans more than anything else. One of the reasons I left.
I don’t know the context neither the atmosphere @ESPN, but I’d advocate that this would be some kind of cultural requirement. I totally agree that it’s not the most important requirement, but I understand why some company have a strong attachment to their activity domain.
I’m a pretty big sports fan, but when you’re actively ignoring candidates because they don’t know certain stat leaders, it goes beyond culture fit. I actually had that question asked of me. I knew the answer, but I saw great candidates fail on those types of questions.
Then they complain about not being able to find people..
A friend once worked for what was formerly Cricinfo, and he most definitely was not into any kind of sports prior to joining the company. He became an ardent follower of cricket (the game, not the insect!) during his tenure there.
He left after Cricinfo became ESPNcricinfo.
Pity this doesn’t come with an emacs mode. It could leverage a lot of org-mode to do the actual note-side magic …
Have you tried deft? It is one of my favorite Emacs packages, and I use every opportunity I find to shill it.
I have, but I’ve not gotten a chance to dive very deeply into it. You’ve inspired me to take another look.
I’m curious, what emacs features would be useful in this app? It’s possible to change the text editor in which the notes are opened, so it can be set to emacs too, but I guess it’s not what you mean?
Org-mode has todo functionality, outlines/hierarchical lists &c. — you could use what it offers rather than having to reimplement for yourself. It’s basically a Markdown alternative with intelligence added.
Writing Joplin as an application within emacs (leveraging org-mode) would also free you from a lot of the nitty-gritty details of dealing with terminals, redisplay, panes/windows, writing a command mode &c. It’s pretty cool (and the reason that I’m more than a bit of an emacs fanatic). Basically, you could stand on the shoulders of others, which is always awesome.
Certainly, what you’ve already built is pretty cool. One advantage of writing it in JavaScript — as you have — is that you can easily share the backend between your mobile app and your CLI program. There’s no good story for doing that with elisp right now (or, probably, ever).
On the other hand, you have to embrace Emacs; and for many, that’s a hard sell. Elisp hasn’t been very good performance wise for years, the UI can be problematic even if it’s completely reconfigurable, and Emacs is basically a silo, as you’ve implied. I myself have tried to make peace with Emacs, but it never clicks for me.
Technically you don’t have to write too much elisp. Emacs now supports shared module libraries. I’ve written emacs stuff in go.
As a follow-up, here’s an example of a something cool org-mode can do: https://blog.lizzie.io/linux-containers-in-500-loc.html & https://blog.lizzie.io/linux-containers-in-500-loc/contained.c are both generated from https://blog.lizzie.io/linux-containers-in-500-loc.org.
To get out of this hole, we need massive improvements in both tooling and regulation.
Tooling:
I could go on…
Regulation:
Aaaaaand, I know (almost) all of this is a pipe dream in our currenct political / economic climate.
Uncle Bob is wrong about many things, but he’s right about the rapidly approaching point where shitty software begins to regularly kill tens or hundreds of people at a time, rather than just “inconveniencing the masses”.
The tooling is there already, for those who want it. Everything you describe exists in modern strongly-typed functional languages - heck, almost all of it exists in ML.
I’ve recently been wondering if these two are inversely correlated. Most of the most metaprogramming-friendly languages I know are also not statically-typed.
Cough have you considered TLA+? ;)
I’ve tried to learn TLA several times over the years. All the documentation I can find is either in mathematics unreadable to me, completely trivial hello-world-level examples, or only 10% completed. I also picked up the book “Formal Development of a Network-Centric OS” which I’m about a third through and don’t feel like I’ve gleaned much extra knowledge. I suspect I may have reached the limits of my smarts dealing with this topic, without having a month off to learn enough to read the documents.
I took a graduate class that used TLA+ and I learned nothing. I could blame the material and the professor, but honestly it was mainly lack of effort from my part and state of my health at the time.
I am happy that hwayne is solving this very problem (that most TLA+ documentation is often not very helpful) for us!
Gotta give the man credit for a healthy ego :) Pinboard does rock though. Been a happy user for years.
(Though I’m still waiting for my ‘Fetch Title’ button on the web UI :) )
Maybe I’m giving Maciej too much credit, but my reading of that was that he wrote it with his tongue firmly in his cheek. :o)
Oh absolutely! I think Maciej should get all the credit in the world :)
Honestly, things like Pinboard are niche services mostly for us uber-geeks and others who care enough to want to wrangle huge bodies of articles and maintain essentially random access to all of it.
That date sure helped. For an entire minute, this blog post sounded like something you’d post on April 01.
I don’t know the guy, so I have to say, when I first read the post, this particular sentence caught my attention!
Uhhh, I meant to submit this story in medpagetoday.com, but I can’t edit the URL now.
(But the title was fetched correctly? I don’t really know what happened.)
Apologies for being such a klutz!
It has a
<link rel="canonical">
that Lobsters grabs. You’re not a klutz.But I did not notice the changed URL! I am still a klutz. :-)
Ask Lobste.rs: Any videos you particularly liked? If so, why?
I really liked “End-to-end encryption: Behind the scenes” – it was quite a well-coordinated performance. :-)
“Rusty Runtimes: Building Languages In Rust” by Aditya Siram.
Aditya implements a klambda-to-Rust compiler in Rust! Very cool. Also exciting because klambda is what powers the Shen lisp language.
Here’s one list of recommendations.
I talk about metrics and monitoring a bit after the extended pumpkin metaphor, in case you bailed before I got to that.
From UPDATING:
Wow, who would’ve thought the sidebar would finally make it into core mutt? First PowerShell open sourced and now this - what other surprises await us today? :)
PS: why will cows be flying?
Flying cows? Slow down there, we still have to get Tesla to produce solar powered roofs first. And that Jenkins UI really needs some improvements, too…
https://jenkins.io/blog/2016/05/26/introducing-blue-ocean/
Wow, thank you! This looks really great.
Turns out that Debian has been shipping mutt with the sidebar patch for over eight years now. I did not know that!
It’s quite commonly available - pkgsrc, Homebrew and the OpenBSD ports tree also have it, amongst others (NeoMutt too). It’s annoying having it out-of-tree though as it’s something that’s quite frequently broken by a new Mutt release.
why, oh why can’t this be presented as plain old HTML rather than some animated, AJAXey mess. on mobile I can get all the way through the slow page transitions to the ToC of a book, but when I click on a section it freezes and goes back to the book overview after several seconds.
Yes, that surely is a turn-off. I just downloaded the PDF files for offline reading. For mobile, I guess that the Android app or iBook version might work better.
Sadly, the android app is just a wrapper around the webpage. I think you can’t pre-download the books on it.
I’ve had the pleasure of knowing and working with some of the people involved in this project, though not in this context. It’s a worthy cause!
(Even though the distantly-related connexions book on electrical engineering by Don Johnson is awful and full of suffering).
Yes, certainly a worthy cause, and this appears to be a well-executed project!
Is this the Connexions book? Huh, I certainly did not know that OpenStax CNX is a thing either… What is cnx.org? Some sort of predecessor to openstax.org?
Bingo. It was a previous project done at Rice and elsewhere before the MOOC craze took off.
I have a hardcover edition of that book. Rice is a small school with (many) problems, but in DSP and compiler theory they kick a decent amount of ass–or used to, anyways.
I wonder if there is such a thing as a problem-free school. :-)
A professor (compiler specialist, of course!) I know was Ken Kennedy’s student at Rice. I remember reading this obituary.
They have some other great faculty as well. Ron Goldman teaches an amazing graphics course (if you like math), Dan Wallach is a hilarious security researcher, and Keith Cooper has a pretty amazing compilers course that will learn you a thing or two.
Good! Hopefully this will push other content providers (Pandora, Spotify) to create web players that work without flash!
sure, the next blob is waiting for you https://www.eff.org/deeplinks/2016/03/interoperability-and-w3c-defending-future-present
preloaded whitelist?
Not sure what you mean. Whitelist of sites?
Yeah. Or they’ll detect somehow that Spotify really needs the flash and auto play it. Just wondering.
Could work. I have always tried from chrome on OpenBSD. The really annoying part is the preview stuff works fine!
I feel the not functioning is far worse than performing slowly.
All this said, I have a node app that re-serves the files from spotify to my browser for play back, it’s performance is quite acceptable (better than the official spotify mobile aoo) and it is using pure js to process the files / requests (protobufjs)
Just checked play.google.com/music/ – it still doesn’t work without Flash.
That is sad, considering that Songza, a service they assimilated into Google Play Music, used to work perfectly well without Flash.
Heh, not sure if play.google.com/music is the same as music.google.com, but music.google.com works without flash :D (I used it on OpenBSD in Chromium)! You need to make sure you have HTML 5 playback enabled in labs.
Hmm, turns out that music.google.com redirects to play.google.com/music/listen.
And yes, it works without Flash in Chromium on Linux (I did not have to enable anything in labs), but not in Firefox. Wonder why.
I don’t think about it much. It’s basically pgp.mit.edu for 2016 – a place where I can look up public keys for people with an internet presence.
I wish they had an actual keyserver.