Show HN: A basketball hoop to maximize shots that go in [video] - <AUTHOR> https://www.youtube.com/watch?v=vtN4tkvcBMA <comment><USER2> This was really well explained and interesting.

Funnily enough I'm pretty sure this is a really similar method to urinal design, so if this whole basketball thing doesn't work out for ya, you could always work for American Standard...

<comment><USER3> Similar methods exists for all kinds of engineering problems, like architecture (form follows function), roofs, bridges, city planning, or just the economy.

The optimal form is always an optimization problem. Just define the constraints. Maybe the most famous example is Gaudi calculating the form of the roofs of the Sagrada Familia, and then Frei Otto for the Munich Olympics. City planning is easier as their is no gravity, just more constraints. Think of SimCity run in a simulation with feedback loops.

The best planning approach is always prolog-like. Define the facts and rules, and the forms will fall out eventually by itself. Then optimize the solutions iteratively according to cost functions. It's called OR, operations research. I did a lot of that with free-forms, also even simply office layouts, when I worked as architect. We even sold CAD programs to special manifacturers to design a good roof or other free-form shapes. Like for Disney.

<comment><USER4> Speaking of Disney and architecture and parabolic shapes, apparently when the Disney concert hall was first built, the curved shapes of the building acted as parabolic reflectors which focused on nearby apartment buildings. They had to sand the panels to reduce the reflectivity because they were heating the apartments to as much as 140°F.

<comment><USER3> Good example. You need roughen it also for better sound quality on the inside. For Disney I had develop lot of linear algebra optimizations for smoothing which went over my head mostly, so I used symbolic solvers.

We don't have much sound optimization CAD programs, so we worked with light as replacement for sound, and looked at the reflections with raytracers. For the big, expensive concert halls and opera houses.

</comment></comment></comment></comment><comment><USER5> Really impressed with the use of Monte Carlo method. A while back I ran into some resistance trying to advocate simpler statistical methods to solve a problem domain similar to this, while the team in question repeatedly wanted to reach for a machine learning solution. I'd love to know if I was wrong here. In my mind, when an algorithmic or heuristic path to a solution is available, we should attempt it first before reaching for ML.

<comment><USER6> A common trap in tech is to reach for the fanciest tool instead of the simplest. The best engineering often comes from mastery of the simple tools, and the most beautiful engineering is the one that makes you say 'that's so obvious, why didn't anyone ever come up with that before?'

<comment><USER7> One of my favorite software solutions that I came up with was "human learning" powered. A few years ago I was working as the engineering manager at a small company. I had 8 other people who I was in charge of and we had moved to a new office in the middle of this. Our team took up two rooms in the office and I had to figure out who would be sitting where. I had some preconceived notions of who would be productive together, who would annoy each other, etc., but there were enough possible combinations to make this a large enough search space.

So I wrote a very simple python script that would randomly generate layouts of who would sit in each room and next to whom. Every time it gave me a result I scanned it for conditions that would make it not work and add a rule to skip such configurations. After about six such edits I got a layout I thought was acceptable. The team as far as I know was happy and nobody questioned it for the entire time we were there. This saved me time because I didn't have to pre-program all the conditions, only add ones I had already seen not work. Saved both CPU and brain cycles, so to speak.

<comment><USER8> Is this how sports schedules, NFL, NBA, etc are made?

<comment><USER9> They are heavily based on divisions and recent seasons.

(For example, in the NFL, the teams in each division play each other twice, and then get the rest of their games by rotating through teams from the rest of the league)

</comment></comment></comment></comment></comment><comment><USER10> Did other people also wonder what a French cleat might be? _It is a molding with a 30–45 degree slope used to hang cabinets or other objects._

[0] [https://en.wikipedia.org/wiki/French_cleat](https://en.wikipedia.org/wiki/French_cleat)

<comment><USER11> I put up a giant wall of these in my home and they're incredibly useful. You can build any type of contraption and throw a cleat on the back of it and boom, just put it on the big wall. Reconfigure it every month, build new things to mount up there, it truly is simple and versatile. French cleats truly are terrific.

<comment><USER12> I like the idea. It's a bit invasive, but if you don't mind would you share a photo of what this wall looks like?

<comment><USER13> Someone else below has shared a video on the same kind of thing you might be interested in: [https://www.youtube.com/watch?v=65n9h3tFpVg](https://www.youtube.com/watch?v=65n9h3tFpVg)

</comment></comment></comment></comment><comment><USER14> I love this! I was expecting something more like Mark Rober's movign dartboard [0], which is super cool, but this is even more interesting, because of the way you used software to come up with a general solution in advance.

Kudos!

<comment><USER15> Mark Rober is an interesting character. It feels like he pitches himself as a crazy inventor guy but it seems like he's more akin to the head of a design laboratory that employs many other talented people.

It's not like he doesn't acknowledge the other crazy-inventor people he commissions though, and I certainly don't mean to paint him as a fraud.

When he says things like, 1m45s into a video on a steerable bowling ball "in the spirit of full disclosure this is all down to [named co-collaborator]'s work" it feels like that use of _full disclosure_ in the sense of _I would rather not reveal this but I am legally obliged to_.

No offense to Rober or that particular collaborator. For all I know, he just didn't want the publicity. Rober is very good and it's almost like I feel aggrieved that if only his style was ever so slightly different he'd win my complete instead of partial admiration.

<comment><USER16> I don't admire him precisely because his videos are not about him. His videos are always about someone else and that's why he isn't worth admiring.

</comment></comment></comment><comment><USER17> That was a pretty cool video! I loved how he used 3D Monte-Carlo and side- stepped all the complicated math. I wonder if he was using a Physics engine like Bullet or ODE to calculate the simulated trajectories. Also, a good intermediate step might've been to build the backboard in something like Unity and shoot some hoops to catch the radius error before actually machining it out.

<comment> 0-_-0 > complicated math

Is it though? Isn't the final shape just a paraboloid, like a parabolic antenna with the hoop in the focal point?

<comment><USER18> It's optimizing for an average of shots from more or less arbitrary locations, so it's not necessarily a perfect parabaloid.

<comment> 0-_-0 The average of paraboloids is more or less a paraboloid too

</comment></comment></comment></comment><comment><USER19> Very out of left field, but how does one start doing these kind of things?

My background is in CS and math, and I could have come up with and built everything up to exporting the mesh into triangles, but would have needed months of google searching and trial and error to do the actual "machining" part of things.

And then even if I went through the painful process of learning it on the job for this task, the learned skills would probably not transfer very well into the next adventure. Additionally, I imagine the machine used in the video is fairly expensive and not worth purchasing for one experiment.

I'm asking this because I find these kind of builds fascinating, but I'm always humbled about my skills when I think about the transition from digital to material.

<comment><USER20> YouTube videos are one of the best ways to learn mechanical/material skills. Just start. You'll suck at first. Keep at it and eventually you'll suck a little less. One day you'll be mediocre. And if you keep at it you'll be skilled.

<comment><USER21> Can confirm. For general knowledge I recommend two fantastic channels: (1) Click Spring (2) Matthias Wandel. They're always doing interesting things and usually some technique comes up in the videos that I didn't know of. There are probably countless others.

Youtube really shines in this because there is much to _see_ happening. Much of the information is visual and mechanical on how to do things well (or at all).

You generally need lots of tools to build stuff though (you can sometimes trade time for tool cost), but these days finding an equivalent to a maker space or hacker space shouldn't be too difficult.

* ClickSpring's clock series is one of my favorite video series ever.

Wandel is a little unconventional that he builds many of his own tools, but I find he's quite practical and insightful in doing things.

</comment></comment></comment><comment><USER22> This appears to be a massively underrated YouTube channel. I love it when I find one of these.

I've also never seen someone cut wood on their Tormach CNC. Seems to work well!

</comment><comment><USER23> A non-US perspective: it's quite weird hearing someone younger than about 50-60yo use inches as a measurement. Especially for something scientific.

<comment><USER15> Do you mean the reference to four-by-two timber. It's not really measurement when it's a standard size like that. More like a well known discrete unit like a pint of beer or a 54" pizza.

<comment><USER23> No. When he measures the ball to move the hoop

<comment><USER15> Oh right. With a precision caliper no less. Another video posted here the other day used the word _thou_ (as in thousandth of an inch) which is a word I haven't heard in a long time!

<comment><USER24> Its frustrating. I'm a Canadian born and raised engineer/scientist working at a US-based medical device startup and I'm constantly converting between thou and microns and mm. Often stuff will be "in spec" for both, ex. 0.002" = 50um (assuming some tolerances for the part. Hopefully, we don't destroy any satellites by mixing the units up.

</comment></comment></comment></comment></comment><comment><USER25> Aside from the Apollo 13 in Real Time website, this is the coolest thing I've seen on the internet in the last 3 months.

Sent this to my brother, which of course precipitated a huge sibling argument about which player would've benefited more from this assuming we're talking about players that tend to shoot jump shots. I'll let you guys know who wins.

Edit: We mostly disagree on the _type_ of shot that certain players make and which would be more advantageous here. And credit to the creator, he alludes to this early in the video where he talks about "line drive" vs "arc" shots.

<comment><USER26> OMG just found out about this - [https://apolloinrealtime.org/](https://apolloinrealtime.org/)

</comment></comment><comment><USER27> I want before/after shot %. Also someone should totally sell these. We already have short hero hoops, with this hoop we could all be Kobe every day, circus shots in the general direction, 55% fg%, legendary!

</comment><comment><USER28> I wonder if Greg Egan reads HN or whether he learnt about this in some other way, but this was his analysis of the same problem from five hours ago:

[https://twitter.com/gregeganSF/status/1251390966356795392](https://twitter.com/gregeganSF/status/1251390966356795392)

<comment><USER29> He credits the video as his inspiration in his 2/2 tweet.

<comment><USER28> Ok, I can't read. My excuse is it was late and I was going to bed :)

</comment></comment></comment><comment><USER30> I mean, is it really Monte Carlo? He's iteratively trying to optimize a function which makes this more like SGD, no?

<comment><USER31> It definitely felt that way to me.

When he was finding the optimal angle for a single sampled shot, that's the partial derivative of his probability of making the basket for that shot wrt the surface normal at the backboard hit position (or something like that).

If you average all of those you get a gradient descent update.

</comment></comment><comment><USER32> To say I'm impressed by the video and more specifically the algorithm would be the understatement of the century. This is amazing. Please let me buy one :)

</comment><comment><USER33> Next level: a camera and a couple of motors to see the speed/location of the ball and adjust the backboard accordingly.

<comment><USER34> Like this perhaps? [https://m.youtube.com/watch?v=MHTizZ_XcUM](https://m.youtube.com/watch?v=MHTizZ_XcUM)

</comment></comment><comment><USER35> Any physics experts know what the actual optimal shape is? I imagine it would be a pretty gnarly problem to work out.

<comment><USER36> If you fix the position of the 'thrower' and just throw them at ridiculous speeds so gravity doesn't matter you'd end up with a hyperbolic backboard.

So annoyingly for an 'optimal' solution you'd need to specify where people can throw from and how fast. Frankly you might as well just use a hyperbola with one foci on the hoop and the other on the middle of the court, or maybe a point slightly higher than the court itself as the balls will be coming in at a lower angle (or maybe even a downwards angle?).

<comment><USER37> Wouldn't you rather want an ellipsoid with the thrower at one focus and the hoop at the other?

<comment><USER36> I may have gotten things the wrong way around. You definitely want whatever conic has the foci in the right spots.

</comment></comment></comment></comment><comment><USER38> Red Auerbach knew something in real life. If you bend the whole rim downward, even a little bit, it becomes a "sewer," pro just-miss shots start going in. He would check the baskets, before each game, to make sure this wasn't being used against the Celtics.

</comment><comment><USER15> Absolutely brilliant. The plot twist requiring the additional metal bracket at the end was fantastic.

To err is human. To own it on YouTube, divine.

</comment><comment><USER39> Does it bug anyone else not to have the analytic solution?

<comment><USER40> Fun story. I was in college taking differential equations. And I was faithfully attempting to apply what I'd learned in class, and having a somewhat hard time at it (this was before I realized how useful matlab was). When I was doing some research on the side, and I learned that the vast majority of differential equations are unsolvable, you can only approximate an answer. After that, I was thouroughly annoyed at wasting time in a class doing all this math by hand, and having to assume the answer was of a form that was solvable (and, yes, many useful engineering diff eq are of a solvable form).

So, now to answer your question. I thought this backboard seemed like a problem that dish makers should be able to trivially solve, but getting to know the math, and modifying it enough to solve this particular problem can take more time than setting up a simple probabilistic simulation. And after my experience with diffeq, I'm happy with a quick and dirty approximate solution, and then moving on with your life. Then maybe you run into someone who knows the math and is motivated enough to apply it, and maybe you update your project then.

<comment><USER41> This should be solvable without differential equations, since it is basically a parabolic antenna with an off-axis feed.

<comment><USER40> Sorry, I didn't mean to imply it required diff eq to solve these parabolic equations. I merely meant to give an anecdote about one of the first times I felt truly betrayed by mathematics. A subject I'd previously held in the highest regard.

</comment></comment></comment></comment><comment><USER42> So I am guessing that the reason why this doesn't look like a sattelite dish is because 1) the focal point is not in the centre and 2) the ball doesn't rebound in straight lines.

Oh shoot, he does actually explain this exactly. He also mentions 3) speed of the ball. And then, 4) for lines that hit at the same point but with different trajectories and speeds, he takes the "average basketball shot".

The only other thing I am wondering about is what would happen if the ball were flat.

</comment><comment><USER43> This is very cool. If you can mass produce such boards (plastic molds maybe?), It could be a fun novelty gadget/gift

</comment><comment><USER44> The style of presentation, the manner of speaking, seems to be inspired by This Old Tony [0]. This is no bad thing. I wonder if Tony picked it up from somewhere else.

[0] [https://www.youtube.com/user/featony/videos](https://www.youtube.com/user/featony/videos)

<comment><USER45> He needs to do some more monte-carlo simulations on the jokes to get to the level of ToT. But it was a very nice presentation of the topic and a neat result.

</comment></comment><comment><USER46> Clearly the hoop that minimizes shots is what exists at funfairs all over the world.

Would making the backboard convex make it near-impossible to hit? What about making the curve imperceptible so it's hard to notice it's helping/hurting?

<comment><USER47> The carnival hoops I've examined all have ellipsis shaped rims. Impossible to distinguish from a circle when observed from the front, but clearly squished if you walk around and get underneath it.

<comment><USER48> ellipsis shaped rims... will leave you hanging.

</comment></comment></comment><comment><USER49> This is pretty cool! I wonder if he could also figure out, which attempted balls would naturally go in vs through the help from the backboard!

</comment><comment><USER50> This is very cool. As I watched the video, I began to think about a stupidly over-the-top version of the backstop that uses many real-time-deformable panels similar to the adaptive-optic mirrors used in advanced astronomical telescopes but informed to guide the ball by a machine vision view of the inbound ball in flight.

</comment><comment><USER51> Isn't it a backboard, not a hoop?

<comment><USER52> I'm with you. I went in thinking the rim itself would always ensure the ball goes in.

</comment></comment><comment><USER53> I'm not really impressed. This only applies to shots directly taken from the free throw line . Make a basketball hoop that moves based on ball flight Now that would be impressive. I have seen someone on YouTube do that with a dart board.

</comment><comment><USER54> Did anyone else imagine just a very large hoop?

<comment><USER55> I imagined a large funnel.

</comment></comment><comment><USER56> Really neat project! Loved watching the video. Do you have the code in a Github repo?

</comment><comment><USER57> I really enjoyed the length and depth of this video. Though I wonder if a good hybrid strategy for YT popularity is to have a viral-edited video on a main channel, and more depth linked on a second channel.

</comment><comment><USER58> I think the results would have been much better if he'd taken into account the rotational inertia of the ball... It turns out that affects the bounce angle quite significantly...

</comment><comment><USER59> Can anyone tell me what tablet and app he is using for the drawing?

<comment><USER60> Someone else asked in the comments: `I'm using an second gen iPad pro running the "concepts" app.`

<comment><USER59> Thanks!

</comment></comment></comment><comment><USER61> nice work! you could probably speed the computation quite a lot by using a small deformation basis (e.g. using modal analysis) and optimize in this smaller space instead.

</comment><comment><USER8> Do the inverse of this and open a stand at a fair :-)

<comment><USER62> He wouldn't have to, he could just use the original one where the ball hits the rim every time :-)

</comment></comment><comment><USER63> Now I want to make a backboard that always misses unless you know the right amount of spin to put on the ball.

</comment><comment><USER64> So do you use only one spot to shoot from for the data collection or do you shoot from all over the floor?

</comment><comment><USER65> Can someone briefly eli5 how the Monte Carlo simulations feed into learning the optimal surface?

<comment><USER22> You pick a random position and a random shot (angle, speed), see where it hits the backboard, and then change the angle of the backboard there to direct the ball through the rim after the bounce. Do this enough times, and you have a surface. (I don't know how the number work out, so there are probably points that have multiple values and surfaces with discontinuities. I guess you average the values at a given point and then smooth the surface, and call that "as good as possible".)

<comment><USER57> _I guess you average the values at a given point and then smooth the surface, and call that "as good as possible".)_

In the video he mentioned doing a least squares fit to get the final surface, so that sounds about right.

</comment></comment></comment><comment><USER66> Does this only work if you're exactly aligned in front of the hoop? (eg Free- Throw Line)

<comment><USER67> No it's optimized to work from anywhere in the court, although he didn't say what distribution he used.

</comment></comment><comment><USER68> This is so awesome! I love the way you went about solving this problem.

</comment><comment><USER69> I thought this was really cool, keep up the good work!

</comment><comment><USER70> That was really cool, thank you!

</comment><comment><USER71> Good work. thanks for sharing

</comment><comment><USER72> convexity!

</comment><comment><USER73> "Who is Monte Carlo?" Monte Carlo is for Europe what Las Vegas is for the US. The first name that comes to mind when you think gambling.

Monte Carlo method is repeated random sampling to obtain numerical results.

Monte Carlo algorithms are heuristic algorithms that solve problems with random process that can give wrong answers.

Las Vegas algorithms are algorithms that solve problems with randomness but get always correct result or knows that it failed. Runtime is finite.

Atlantic City algorithm is a probabilistic polynomial time algorithm that gives correct answer > 50% of the time (or 75% of the time by some definition).

<comment><USER74> Is Monte Carlo (I need to look up where that actually is) as gaudy (I might have said trashy) as the Las Vegas strip?

<comment><USER73> No. Monte Carlo is located in Monaco. It's very classy place.

It's the type of place where James Bond likes to play in the movies and books.

</comment></comment></comment><comment><USER75> Nope, expected something interesting, but this is based on a boring brute- force simulation.

He did hint at using a parabolic shape, like in satellite dishes. Why not use some actual calculus and differential equations to figure out the optimal parabolic-like shape here?

<comment><USER76> It's great that you know more, but can you share what you know without putting others or their work down? Doing the latter really poisons the well here.

A much better pattern than "Nope, expected something interesting" is to first affirm something that the author got right or did well, and then build on that with suggestions for refinement, further development, learning. There's plenty of opportunity to show how much you know that way, plus you won't also come across as an internet jerk.

Keep in mind that project creators and authors are often reading these threads, and one nasty comment makes more of an impression than the rest of a thread put together. A single bee sting is more memorable than a field of butterflies. It's too bad that it doesn't work the other way around, but the pattern is super clear. Even the thread the other day with the C Committee guys, which was one of the best technical threads HN has ever hosted, made this impression on them: "Wow, I had no idea people were so mad about locales" (not a direct quote). I hadn't noticed, and when I found the comments they didn't even seem that mad.

</comment></comment><comment><USER77> The first 10 seconds pretty much covers the subject.

It's not the hoop, it's the shape of the backboard, which is a reflector formed to focus the ball on the target.

Now, the really cool thing would to build a flat backboard with controlled bounce properties. Interesting 3D printing problem. That would look like an ordinary backboard but still focus bounces.

<comment><USER78> Another idea would be a hoop controlled by servos that always moves the hoop where the ball is going.

<comment><USER77> People would see. Something that just works, invisibly, though.

</comment></comment></comment><comment><USER79> Is this not something that just an optics equation in Physics would give you? Specially if not taking the radius of the ball into effect.

<comment><USER80> Maybe, but as he explains a normal parabola (like a satellite dish) wouldn't work, since the shots themselves are arced because of pesky gravity. I thought using a Monte Carlo analysis and finding a fixed point was actually a very clever way to solve it.

<comment><USER81> Yeah but the acceleration from gravity is constant so maybe there is just a (possibly non linear) change of coordinates that can be applied to the regular paraboloid.

Also a paraboloid would work only for rays that are parallel to one another.

<comment><USER82> Another difference from optics is that the vlocity is not fixed, and that affects the extent to which gravity modifies the trajectory.

</comment></comment></comment></comment><comment><USER83> Who uses the back board? This doesn't help at all with "nothin' but net"

<comment><USER84> No respect for Tim Duncan.

<comment><USER85> [https://www.coachup.com/nation/articles/bank-shots-in- basket...](https://www.coachup.com/nation/articles/bank-shots-in-basketball)</comment></comment></comment>


Support ends in 2014 for Windows XP and Office 2003 - <AUTHOR> http://www.microsoft.com/en-us/windows/endofsupport.aspx

<comment><AUTHOR> I hope this means the end of IE6, for all our sakes.</comment>


Hong Kong Protests Scare Away 90% of Mainland China Tour Groups - <AUTHOR> https://www.bloomberg.com/news/articles/2019-09-11/hong-kong-protests-scare-away-90-of-mainland-china-tour-groups <comment><USER2> The problem in Hong Kong is that only Hong Kong people unite and win the final victory. The problem in Hong Kong has now spread to the whole world. China, the United States and Hong Kong have become the focus of the world. In my opinion, it is as if Dad abused his son, then the neighbors come to convince.

<comment><USER3> No, it's not the focus of the world. The US with its upcoming elections and trade wars take up a fair bit of international news.

Brexit and the political crises in the UK is another leading contender for front page news.

In the media I read, Hong Kong is only a small section of the front page, bit not the dominant news item, largely because it has been going on for so long that its beginning to have media fatigue.</comment></comment>


Show HN: Plain text for the web - saola-app https://saola.in/about <comment><AUTHOR> This reminds me of UserLands "Frontier", a Mac product from the early 90s. It was a scripting language and object database. Current execution state and scripts themselves lived in the database.

In 91 or so it was taking advantage of the macs flat address space to do rpc between itself and apps (I wrote a module that let you receive events from the finder).

Around 94, Dave (Winer, the author) was using to handle cgi scripts in "usertalk" its native language, from WebStar, a Mac web server. People would set up web based workflow to (then Mac only) apps like FileMaker and debabelizer.

A few years after that, Dave realized he could be the server himself, and created an app that was basically a webserver living on localhost and let you edit locally and publish your weblogs to a static host.

So, not the same because it's not flat files, but with similar possibilities.

(And a call out to Macintosh Programmers Workshop, which was UNIX like, but allowed selections within arbitrary files be treated as first class files - you could execute a command to take select portion of window 1, pass it to the compiler a land redirect error messages to a section of which now 2. Many a build system came to life this way... Sorry nostalgia...)

</comment><comment><USER2> So first off, it's always cool to have built and released something, so congrats on that, but these are the questions I'm left with as a potential user:

1\. What's _different_ about this setup? What can I do that I either _can 't_ with a standard webserver setup or would be more cumbersome that way? 2\. Why "files within files", what's different about that compared to directories and index files?What can I do that I either _can 't_ with a standard directory structure or would be more cumbersome that way?

If I wanted plain text at the moment + scripts, any standard webserver + CGI would give me that right now and I could host it immediately on a large number of hosts (or on my own). So for people like me who would go "ooh, plain text and unix sounds nice" it'd be good to see a set of reasons why what we'd currently do would be improved using this.

<comment> saola-app I'll try my best to answer you. 1\. I believe you can do it with a standard webserver setup. But when you want to share scripts and files to other users I believe it would just become a bit more cumbersome. 2\. For me files within files is a lot more easier. It is not possible to add comments to directories. When you create a directory its just a string. It is not easy to add extra information to the directory itself. I may be wrong.

Again a webserver+CGI would definitely work no doubt. The app just simplifies it for you. Its the same thing with content management system. Its simpler to use them rather than build it manually. Also I plan to add the ability to share files.

<comment><USER3> Could you elaborate a bit on "files within files"? I don't think there's an example of that on the page.

You allow people to execute scripts on your server? How does the security aspect of that work?

</comment></comment></comment><comment><USER4> I like it. Very much in the spirit of nvALT [1], TaskPaper [2] and to some extent quiver [3].

I prefer human readable formats since it avoids lock in and allows me to edit my content on any platform. The downside of course is lack of media support. Quiver is doing some interesting stuff in that area, but at the cost of losing some human readability.

1: nvALT [http://brettterpstra.com/projects/nvalt/](http://brettterpstra.com/projects/nvalt/)

2: TaskPaper [http://www.hogbaysoftware.com/products/taskpaper](http://www.hogbaysoftware.com/products/taskpaper)

3: Quiver [http://happenapps.com/#quiver](http://happenapps.com/#quiver)

<comment> saola-app I did think about adding Markdown support but then decided against it. But I am not totally against it.

<comment><USER5> I'm curious about your reasons for deciding against it. Is it lack of supporting tools? Increased complexity? Or something else?

<comment> saola-app It would have taken more effort to make it fit well into the app. I am not completely against it. So I might add it in the future.

</comment></comment></comment></comment><comment><USER6> Sounds decent enough...but do you expect to eventually offer a self-hosted version? Not sure about others, but that would be my interest.

<comment> saola-app Thank you. I might in the future if there is enough requests.

<comment><USER7> Here's one more request, I would like self hosted as well

<comment><USER8> Another here as well...I was excited up until I saw it wasn't self hosted, I had wrongly assumed it was aimed at running a personal/internal web server/site.

</comment></comment></comment></comment><comment><USER9> I dont get it ... Is it a storage driver, web app, file manager? What makes this better then say notepad or vim? Or saving text files on your local system!?

<comment> saola-app The reason I created this is that I use plain text most of the time. It was great when using my laptop. With Emacs and shell scripts I could do a lot of things. Keep track of issues, my finances and all. But it was so difficult to keep it online. When I want to access it from my mobile it was not possible. Yes there are several platforms which allow you to store files. But none which allow you to script on them. Its like bringing the shell scripting and plain files of UNIX to the web. Its up to you how you use it. You could store book marks, list issues, take notes. What I think is interesting is the scripting part especially that you can execute a script by making a POST request. This allows you app to react on statuses from other apps.

<comment><USER10> How about storing plain text files on a cloud server with Syncthing? [https://syncthing.net/](https://syncthing.net/) (I'm not affiliated with them.) I think it works on mobile and looks like it exposes a rest api too.

So you can have local scripts that affect the files and the changes will be synced for your other devices to see.

</comment></comment></comment><comment><USER11> I might be your target market.

I use google keep for online plain text type things. I can definitely see the power of being able to run scripts over these kinds of notes.

For years I had been using a system which was built around yahoo pipes and cron tasks. Pipes would suck in rss sources from a huge number of places, do some munging and logic and output another rss feed which I would process with a cron task to do various things based on what was in the feed.

Then yahoo killed pipes.

Can a script create a static output file?

<comment><USER12> Have you tried lambda + s3 instead of yahoo pipes + cron? (both time and http activation is possible) I've done something on lambda recently I'd use pipes for (if it still existed) and been quite happy with the result.

<comment><USER13> I sort of wanted to find a use-case for Pipes and IFTTT, but I couldn't. I think I used it a few times to hunt for craigslist deals on vintage guitar amplifiers or something, but what specifically functionality do you (and OP) miss about it?

<comment><USER11> The most complex thing I used pipes for was to pull in content from basically every site around the web that I have an account on and aggregate them on a blog of sorts.

The whole idea was that sites I use for things come and go. I could jump from service to service, update my pipes setup. If a site died I'd just find a replacement and move on. I always had all my content harvested and stored in my own db.

Examples;

* any youtube video I added to my favorites would be auto embedded on my blog

* posts on blogger, wordpress, etc all pull into the one place

* images fav'd on deviantart

* pages book marked using diigo

* photos saved to whatever photo site I was currently using

Here's a screenshot from a long time ago when I originally set it up (2009):

[https://fuzzyslogicblog.files.wordpress.com/2009/03/a186d-pi...](https://fuzzyslogicblog.files.wordpress.com/2009/03/a186d-pipeseditingfuzzy27slogic.jpg)

</comment></comment></comment></comment><comment> saola-app Author here. If you would like to try out the app and provide feed back there is a test account. email firstname.lastname@example.com and password is Areyouserious1. Would love feedback.

<comment><USER14> The only feedback that jumps out at me is that while most people will have their own systems, it would be cool to have a simple method to export/import scripts or share them that is built into the site itself.

I imagine a few "standard scripts" like your calculator might be useful to show some of the things you could do and might increase a initial user's stickiness.

<comment> saola-app I have built partial support for sharing. It is definitely on the way.

</comment></comment></comment><comment><USER13> _The most important role of UNIX is to provide a file system. From the point of view of the user, there are three kinds of files: ordinary disk files, directories, and special files._ [DRAFT: The UNIX Time-Sharing System]

> "In the spirit of UNIX, every thing is a file." "Everything is a file" is a > Plan 9, not UNIX, adage. `Block devices aren't a file (though they are > represented by files). Network devices are not files (again, they have > representational forms, but you can't pipe to them, a la Plan 9). > "Though > unlike it, a file can contain other files. " By definition, a directory is a > file. It's the second item in that tuple of 3 outlined by Ritchie.

You essentially have re-invented Plan 9 and to some extent ACME[1]. Sadly, Plan 9 faded into obscurity due to licensing, but it was poised to fill the position Linux has now. Watch that video [the whole thing) and borrow the good ideas. LISPs are homoiconic in that whole text-is-data sense. ACME takes it a further, in that your terminal is a shell, which can invoke programs to manipulate data. The only other environment I've ever worked where everything was as unified consistently was Smalltalk.

Emacs is a close 3rd and that's hard for me to admit, as an emacs fanatic. Though I can (and have been) doing exactly what you're trying to solve for ages within emacs, but that leaves all the vimmers in the dark ;) Ledger for accounting, org-mode for generic notes, a highly customized e-mail client which I integrated to a calendar/contacts/todo, all of which have tags. I can fuzzy-match my notes to the point where if I'm trying to remember a resource (say, a library for redistribution of data amongst a network on soft- failures), I can search by tag, by time (i.e., I remember it was sometime this week; filter; I remember it was a link on medium.com; filter), and various other components.

I see what target demographic you're going for and it's a pretty good idea. Most people need 'information stores'. Evernote was the Web 1.5/2.0 solution, inevitably there'll be a Web 3.0 version, you might be it.

Side bit of trivia: Cox loved ACME so much he ported all of the essentials when he moved over to Google, from the Plan9 FS (FUSE'd, not native, obviously) to ACME itself.

[0] [http://www.tuhs.org/Archive/PDP-11/Distributions/research/Mc...](http://www.tuhs.org/Archive/PDP-11/Distributions/research/McIlroy_v0/UnixEditionZero.txt) [1] [https://www.youtube.com/watch?v=dP1xVpMPn8M](https://www.youtube.com/watch?v=dP1xVpMPn8M)

<comment> saola-app Thanks for bring up Acme and Plan9. Having used Acme as a primary editor for a while I definitely plan to bring some of its features along. I have ported part of plumbing to elisp though very rudimentary. Though I wonder how plumbing could be implemented in the web. It is an interesting thought.

</comment></comment><comment><USER12> Looks kind of like a cross between IPython Notebook ([https://ipython.org/notebook.html](https://ipython.org/notebook.html)) for JS and a pastebin.

</comment><comment><USER15> Yeah I know its unfair to pick on a simple demo/example but it would be interesting for the accounting demo to speak a variant of "standard ledger format" as seen at:

[http://www.ledger-cli.org/](http://www.ledger-cli.org/)

Speaking of standards and processing it would be cool to have a FUSE interface such that I could hand edit ledger files or org mode files on the thing, then via a FUSE mount, continue processing or accessing stuff on my desktop or a server.

</comment><comment><USER16> There's also Dontpad: [http://dontpad.com/](http://dontpad.com/)

<comment><USER17> There is also [http://pen.io/](http://pen.io/)

</comment></comment><comment><USER18> nitpick: it says to say "may be" instead of "maybe" on this page. If this is unintentional you might want to fix it.

Sorry if correcting a typo is not an appropriate comment.

<comment> saola-app Thanks for that. I do appreciate the comment.

<comment><USER19> It also says "Since its plain text" when it should say "Since it's plain text".

</comment></comment></comment><comment><USER20> A scriptable text-based web service? This seems like it could evolve into an online competitor for Emacs, something I could certainly find use for.

<comment> saola-app Thanks. I am big time Emacs user myself and my inspiration.

</comment></comment><comment><USER21> Such a bad idea to use ! for urls. If you type " or nothing around the URL, the command fails and it's not stored in `history' ;P

<comment> saola-app Thanks for that. I took it in the spirit of the hash bang.

</comment></comment><comment><USER22> Good stuff.

I have used Google Drive and Google Apps scripting for this kind of thing in the past, so I'd be interested to know how this compares.

</comment><comment><USER23> the password field says minimum 8 characters, I inputted 9, still not letting me signup. looks like you have a couple of bugs to fix in a critical phase of your app (user registration). will not sign up until this is fixed, but by then (in 10 mins) I will forget Soala, like I forget every other marginally useful app out there.

Cheers

<comment> saola-app I can register it without any problems. I don't know what browser you are using. I have tested it on Chrome and Firefox and it works fine. You could send an email to email@example.com and I could create a user for you.

</comment></comment><comment><USER24> Pretty interesting! I would love to see ClojureScript support soon

<comment> saola-app My first choice was Clojure, but eventually went down the JavaScript way. If there are more supporters for a lisp like language I will add support for it in the future.

<comment><USER25> \+ 1 for ClojureScript - which now has eval in the browser btw.

</comment></comment></comment><comment> saiko-chriskun surprisingly nifty!</comment>