JavaScript Promises Discussion: Make Them Monadic? (2013) - <AUTHOR> https://github.com/promises-aplus/promises-spec/issues/94 <comment><USER2> This is an old discussion (which I had followed for years). The proposal, afaik, was never accepted into Ecmascript.

So we ended up with half baked Promises.

In a particular nodejs project I worked on, I overrode the native Promise implementation with the one provided by Pacta, but was not ideal (promises returned by other modules where native, ...)

Not doing nodejs work anymore, but I'm still rather disappointed about how Ecmascript promises were ultimately delivered.

<comment><USER3> Yeah. Native promises are _usable_ , and they're okay...

...but with only a few small changes they could have been much better, and it's frustrating to see proposal to make them better back when that was an option denied out of hand with such arrogance and (to my mind) lack of understanding of what was even being discussed. The linked thread of comments has _not_ aged well over the years.

(And it's doubly frustrating now that the (excellent!) async/await syntax has now been built on top of it. What a wasted opportunity.)

</comment></comment><comment><USER4> Fun fact: the JS library Fantasy Land [1] got its name from that discussion [2].

[1] [https://github.com/fantasyland/fantasy- land](https://github.com/fantasyland/fantasy-land)

[2] [https://github.com/promises-aplus/promises- spec/issues/94#is...](https://github.com/promises-aplus/promises- spec/issues/94#issuecomment-16176966)

<comment><USER5> Another fun fact: the guy who mocked devs asking for monadic Promises later "championed" and subsequently withdrew the TC39 proposal for Promise cancelation, presumably after realizing that it's impossible to shoehorn into the current spec cleanly.

<comment><USER6> Having followed the promise cancellation proposal pretty closely, especially when it came to a close, it sounded more like he got sick of the pushback (specifically mentioning push back internally at Google) if my memory serves. I won't pretend to speak for him, but I don't recall him withdrawing the proposal because he didn't think his solution was correct. He just didn't want to deal with the detractors anymore.

Of course, it was a solution to a problem he created, so... (to be fair, the JavaScript world was very different then than it is now, in the same way ES6 classes would probably work very differently if they were designed today)

</comment></comment></comment><comment><USER7> I am surprised to see so much venom against Promises expressed here. I am young, but I began coding (as a profession) just when Angular 1 was popular and I remember callback hell was a real thing.

A few years later, I use Promises a lot, and they work really well. The way errors bubble is logical and easily controlled, it's almost impossible to throw an unhandled promise exception, doing 'parallel' tasks is easy with ```Promise.all([])```, and there's pretty limited complexity with the way a Promise always returns a Promise.

I find the simplest way to use them is to define a class that has a few data properties you'd like to track.

      class Handler {
        constructor() {
          // shared variables can be set / reset here
          this.defineInitialState();
        }

        executeAction() {
          return (
            this.promiseFn()
            .then(() => this.anotherPromise())
            .then((passedArgument) => this.promiseExpectingArgument())
            .then(
              // success case
              () => this.successHandler(),
              (err) => this.errorHandler()
            )
          );
        }
      }

It's modular and you know what to expect (it's always a promise!). Sure, it's imperfect, but I think its weakly opinionated simplicity is a good tradeoff. After all, it makes no distinction of whether any of the functions in that chain were synchronous or not, and that's a nice thing to know. It also makes testing with dummy sync functions in place of actually asynchronous ones a 0-effort integration.

I don't know about this async / await keyword stuff, and if you have to wrap it in a try/catch block, that's unfortunate but also seems like it's not the end of the world. After all, isn't the Go language constantly requiring you to say "if err != nil <your code>"? Explicit error handling isn't even a bad thing.

Anyways, this is just my opinion, it's fair to have your own, and maybe other languages handle asynchronicity more gracefully, but from what I've seen this is a clean way to wrap async OR sync code in a context that makes it always behave predictably and readably.

<comment><USER6> As already mentioned, they're a lot better than callbacks (well, for certain cases. There are still places where callbacks are better).

The problem is that this is a field that has been heavily studied, and there are great solutions to this problem that also solve countless other problems, and interop well with each other. The way promises work, they solve that ONE problem but throw away the rest.

If you have the choice between 2 mostly equivalent solutions to solve a problem, but one of the solutions also solve 10 other problems with essentially no drawback, why would you choose the former?

This is probably already linked in this thread somewhere and is also probably was prompted someone to post this old issue to Hacker news, but this is a good explanation of the problem:

[https://staltz.com/promises-are-not-neutral- enough.html](https://staltz.com/promises-are-not-neutral-enough.html)

<comment><USER8> > There are still places where callbacks are better)

Like? I am genuinely interested in knowing the drawbacks of promises and places where a callback like structure is more favourable. By the way, I am not contradicting you, just trying to learn.

<comment><USER9> A promise can only be activated once. You still have to use callbacks for buttons and other things that can be activated more than once.

</comment></comment></comment></comment><comment><USER10> For those looking for monadic Promises, I'd suggest taking a look at Fluture ([https://github.com/fluture-js/Fluture](https://github.com/fluture- js/Fluture)). It's a wonderful library and with do-notation, ability to work with callbacks, nodebacks, and Promises, I haven't looked back. It also has adheres to Fantasy Land, Static Land, and has defintions for santuary-def.

<comment><USER11> > It also has adheres to Fantasy Land, Static Land, and has defintions for > santuary-def.

I think I understood a couple words in that sentence, like "it" and "has". :P

Looking up fantasy-land, I found [https://github.com/fantasyland/fantasy- land](https://github.com/fantasyland/fantasy-land). I would like to better understand these monads everyone is talking about.

But, just to be super honest -- and possibly completely wrong -- the terminology is _really_ off-putting. At a glance it just feels super complex, academic and completely divorced from practical coding. I get vibes of enterprise java class hierarchies looking at this stuff.

I hope I'm wrong, and I really am interested to learn more about it, but I can see from the OP's linked thread that I'm not alone feeling this way. It's not at all clear why I should be thinking about my JavaScript algebraically at all times, or what the practical advantages are. After decades of coding, I'm just getting more alergic to complexity, and this feels like complexity.

What are some good online resources that might help me change my mind and see the light?

<comment><USER12> "Once you understand monads, you immediately become incapable of explaining them to anyone else" Lady Monadgreen's curse ~ Gilad Bracha"

If you'd like to go down a rabbit hole of category theory look up the phrase "A monad is just a monoid in the category of endofunctors, what's the problem?" \- a fun quote that a lot of monad explanatory tutorials will quip. Not that it will help - because anyone writing a monad explanation already suffers from the first quote: they're incapable of explaining them.

I had read 30 or 35 different monads-for-Javascript tutorials/guides/explanations before I finally _thought_ I grokked it. None of them have helped and I'm still not sure my understanding of them is correct.

<comment><USER13> Because the point is mostly lost on the unrelated analogies most tutorial writers use. A monad is a mathematical construct. Trying to explain them in terms of what makes sense to you, because your analogy results from your understanding, isn't likely to be more helpful than outright accepting what they represent, mathematically speaking, then putting that to use in your code.

<comment><USER5> A monad is most simply described as the quantum superposition of the state of being (or not being) a burrito.

</comment></comment></comment></comment></comment><comment><USER14> Such a dumb discussion. One guy saying "Here's a proven design", someone else calling it "Typed Language Fantasyland".

<comment><USER15> It's not a dumb discussion at all. Callback hells and managing threads synchronously/asynchronously as desired are a big deal.

</comment></comment><comment><USER16> I'm confused, and am not very knowledgeable about FP (though I am very interested in it).

Can anyone explain how the 3 bullet points in the issue aren't already in Promises?

> Promise.of(a) will turn anything into promise.

This just looks like `Promise.resolve(a)`

> Promise#then(f) should take one function, not two.

That's applicable, but you could try limiting yourself to only using one argument.

> Promise#onRejected(f): move onRejected to prototype instead of second arg.

`Promise#catch(f)`?

<comment><USER17> The issue with `of` is that it special cases when `a` is already a Promise. Promises try hard to not be nested (a promise of a promise) but that nesting is critical for algebraic properties.

The then issue is multifarious. On one side, splitting the two uses makes the algebraic justification for then more clear, but it's not a big deal. The _real_ issue is that `then(f)` does different things when `f` returns a Promise. This breaks in the same way that `of` did—you need to be able to discuss nested promises.

<comment><USER18> That just raises more questions. Can anyone here give a concrete example of a real world problem that is more cleanly solved with these changes to the Promise spec?

There's a lot of talk about FP and type theory here, and none about actual work. To me, all this stuff is still in the "cool to play around with at home" category. But until it affects day to day dev work, there's a whole set of people that aren't going to give the slightest fuck.

<comment><USER19> > But until it affects day to day dev work, there's a whole set of people that > aren't going to give the slightest fuck.

That's a seriously toxic attitude to have.

People are using monads and other FP concepts daily to simplify "day to day dev work" (here's an example [0].) The fact that it's more or less mainstream to write off a concept because it sounds "academic" is worryingly anti- intellectual in a profession that is allegedly based in analytical thinking.

> Can anyone here give a concrete example of a real world problem that is more > cleanly solved with these changes to the Promise spec?

There are some in the linked github thread (which had to be reposted repeatedly until people actually stopped and read them, btw.) It's about being able to write DRY code that abstracts over not only promises, but anything else that forms a monad, like arrays, optional values, and so on.

[0] [https://github.com/facebook/Haxl](https://github.com/facebook/Haxl)

</comment></comment></comment></comment><comment><USER20> I wonder why we have to resort to terms like monadic, immutable, orthagonal, etc, in our field so often. I feel weird and elitist using these terms when more common ones suffice and are understood by my customers.

<comment><USER5> Would you call a car mechanic elitist for talking about carburetors and alternators?

<comment><USER20> I don't feel like that's a great analogy. "Fuel cell" vs "gas tank" is closer. There's not a simple one or two word commonly used equivalent for carburetor. I'm not opposed to specific terms when there aren't simpler alternatives. "Exponential", for example, doesn't bother me. Orthagonal, though is irritating. Why not just say "unrelated" or "not correlated", etc.

</comment></comment></comment><comment><USER21> WebAssembly can't come fast enough.

Really:

> @pufuwozu can you show with a concrete example why you can't write the > example code you posted with promises?

Why couldn't him just give a concrete example of what he was claiming that was impossible?

</comment><comment><USER22> I feel like I'm being promised a burrito.

<comment><USER23> A burrito is just a strong monad in the symmetric monoidal category of food, what's the promise?

<comment><USER22> That maybe I'll get a burrito.

</comment></comment></comment><comment><USER24> Seeing Jeremy resurfacing old threads brings me memories.

Anyway this was a nice thread to follow while it happened.

</comment><comment><USER25> Honestly, I think Promises with async/await and try/catch are good enough for a lot of use cases. Certainly lightyears ahead of callback hell.

IMO the next big thing will be Observables.

</comment><comment><USER26> Um, the problem here is Javascript. Don't use a cesspool of a language and you don't have such banal conversations.

</comment><comment><USER27> What about it?

</comment><comment><USER28> (2013)

<comment><USER29> Thanks, added.

</comment></comment><comment><USER30> I was never on the promise bandwagon because they never did anything useful other than create hype with developers around using a more functional approach - which is good, but promises themselves add no benefit.

For instance, people previously would do:

```

start(x => doA(y => doB(z => doC(end))))

```

When they could have just used named functions, with promises or not, it is just that promises was hype that taught them good programming skills:

```

doA = x => doB(x)

doB = y => doC(y)

doC = z => end

start(doA);

```

As with promises:

```

start.then(x => x)

      .then(y => y)

      .then(z => z)

      .then(end)

```

The only real value of a promise now is being able to use `await`, which is the real first-class language magic.

However, the future isn't even with promises, so there is no need to change or modify them. The future is chain reaction programming, also goes by the name of observables/FRP/stack-based-cocatenative-programming/railway-programming.

Programming Chain Reactions is great, because they can also downconvert easily to `await`, so you get the best goodies of all the world.

We've implemented observable/FRP/chain-reaction programming as the default API in [https://github.com/amark/gun](https://github.com/amark/gun) , it is really quite pleasant language abstraction. However, FRP/etc. hasn't quite hit "mainstream" hype yet, so developers do not know what they are missing out on. Once you try it and it "clicks", you realize the future is truly bright. :)

</comment><comment><USER31> > JavaScript Promises Discussion: Make Them Monadic?

No, just totally ditch them!

I can't help to hate Promises. Sometimes I have to work on a code base that is completely baked with them, it's just a nightmare. With the stupid async await implementation things haven't got any better.. Now they expect me to write async calls in a try-catch block!?!

With JS I prefer to use simple callbacks until they come up with a proper async await without try-catch and Promises bullshit. Callback hell happens not because of the callback principle itself. It exists because it's too easy to keep nesting functions. Most devs simply don't know how, or are too lazy, to apply good patterns for using callbacks.

<comment><USER32> > Now they expect me to write async calls in a try-catch block!?!

What do you mean? In my experience, the use of async/await leads to much cleaner code for I/O driven tasks like querying APIs and databases. Yes, I do have a try/catch at the top of the callstack to catch and log unexpected errors.

<comment><USER33> async/await worries me, not for abstract language reasons but because it hides complexity in a way not friendly for junior engineers.

I imagine a lot of code that should be thought out and made parallel being forced into a synchronous flow.

Note that promises aren't a ton better in this regard, and come with a ton of confusion themselves. In short, async is hard.

<comment><USER32> Promise.all() does a pretty good job of parallelizing tasks while maintaining readability.</comment></comment></comment></comment>


Researchers reveal true scale of megalodon shark for first time - <AUTHOR> https://www.theguardian.com/environment/2020/sep/03/researchers-reveal-true-scale-of-megalodon-shark-for-first-time <comment><AUTHOR> >Body dimensions of the extinct giant shark Otodus megalodon: a 2D reconstruction

[https://www.nature.com/articles/s41598-020-71387-y](https://www.nature.com/articles/s41598-020-71387-y)</comment>


Everyone Has a Blog - Even Mass Murderers - <AUTHOR> http://www.metafilter.com/83891/Everyone-Has-a-Blog-Even-Mass-Murderers <comment><USER2> To make it relevant to Hacker News: he was a Windows programmer.[1] Out of respect for the families, I think it's best that we try and minimize our discussion of this. [1][http://web.archive.org/web/20010504020942/users.telerama.com...](http://web.archive.org/web/20010504020942/users.telerama.com/~sodini/resume.htm)

One new phenomenon is that reddit seems to be the epicenter of the information gathering network, including access with guessed passwords to the murderer's Google account. It is disturbing and I would not recommend that you personally follow up on the information contained within. [http://www.reddit.com/r/reddit.com/comments/97wnt/reddit_exc...](http://www.reddit.com/r/reddit.com/comments/97wnt/reddit_exclusive_george_sodini_documents_la/)

<comment><USER3> its interesting/scary? that reddit and 4chan have become the de facto sites for information gathering/organization/action

<comment><USER2> I don't think it's scary that they gather the information. The information they found is what is disturbing.</comment></comment></comment>


Git-annex assistant: Like DropBox, but with your own cloud - <AUTHOR> http://www.kickstarter.com/projects/joeyh/git-annex-assistant-like-dropbox-but-with-your-own <comment><USER2> Joey blogs his progress on git-annex assistant in detail at <http://git- annex.branchable.com/design/assistant/blog/>

Here's a post from his personal blog that hints at how he can afford to work on this project for a year on only $20,000- <http://joeyh.name/blog/entry/notes_for_a_caretaker/>

<comment><USER3> I love it. Back in 1999-2001 I used to live in a shack on top of a mountain in Boone, NC which is less than an hour from Bristol.

Our network was driven by dual US Robotics courier modems bridged until the local phone company gave us DSL (we were located close to the switching facility).

There were 3-4 of us devs living there. We cut our own wood, got our water from a natural spring, drank lots of coffee and local beer, and coded 24/7.

Its there where I started to really grow as a dev because there was little distraction and the enviro was very inspiring.

My goal is to get back to the mountain (move my family) and focus on writing good code.

<comment><USER4> That sounds wild, you should blog about this if you haven't, I'm sure many here would love reading more :)

<comment><USER3> Thanks guys - I think I will blog about it - that'd be cool.

</comment></comment></comment></comment><comment><USER5> Very cool, but I suspect that making it user-friendly and slick will end up being much more difficult than implementing the actual functionality was.

Edit: I have another question/concern, does the implementation in Haskell mean that the end product will have a runtime dependency on GHC or the Haskell Platform?

<comment><USER6> No, ghc produces statically linked binaries by default (-dynamic if you don't like that).

<comment><USER7> This is true, but then those static binaries tend to be very big (50+ mb).

<comment><USER8> 50M!? 5 would be more likely, assuming stripping. As opposed to 5k with dyn libs.

<comment><USER9> I'm up to 15 mb :/

</comment></comment></comment></comment></comment><comment><USER10> This seems quite similar to SparkleShare: <http://sparkleshare.org/>

Edit: Oops, SparkleShare is mentioned on the page. Looks like this will work better with larger files. He does mention that SparkleShare is a GUI and not 'just a folder', although in my experience it is 'just a folder', like Dropbox.

</comment><comment><USER11> This sounds similar in practice (not implementation) to AeroFS [1] which is a peer to peer syncing service. Just make one of your peers something cloud- based and reliable.

Very interesting space!

[1] <https://www.aerofs.com/>

</comment><comment><USER12> I'd love to hear Joey's answer on this question: why Haskell?

<comment><USER8> He had said previously:

Joeyh: "One (git-annex) is a large-ish, serious work, and I have been very pleased with how haskell has made it better, even though there was a learning curve (took me two weeks to write the first prototype, which I could have probably dashed off in perl in two days), and even though I have occasionally been blocked by the type system or something and had to do more work.

One concrete thing I've noticed is that this is the only program where I have listed every single bug I fixed in the changelog -- because there have been so few, it's really a notable change to fix one!"

</comment></comment><comment><USER13> rsync.net will fully support Git-annex (it was brought to our attention a month or so ago by our friend Jason Scott).

We're excited about this project.

</comment><comment><USER14> At first glance, OwnCloud seems to be similar:

<http://www.owncloud.org/dev/sync-clients/>

(That said, git-annex assistant looks very cool.)

<comment><AUTHOR> Yes they both looks good. git-annex has all the advantages of git, but is lacking windows support, whereas ownCloud is has better multi-OS support, because thanks to Qt it runs on Win/Mac/Linux, but uses csync as synch algorithm..

<comment><USER15> git-annex doesnt currently support windows, but changing that is on the roadmap provided on kickstarter

</comment></comment></comment><comment><USER16> This is similar to the features Opera launched in 2009

<http://www.opera.com/press/releases/2009/06/16/>

</comment><comment><USER17> I didn't look closely at the kickstarter page but I use gitdocs[1] which is basically works like dropbox but syncs to a git repository. It works ok for my (light) usage.

[1] <https://github.com/bazaarlabs/gitdocs>

[edit] It looks like git-annex solves the large binary blob problem with git (which I don't think gitdocs does) so maybe they could be integrated?

</comment><comment><USER18> Not a new idea <https://github.com/jcheype/GitBox> <https://github.com/jblemee/GitBox-Desktop>

<comment><USER19> Nothing is ever a new idea, it's all about implementation and marketing. It will be interesting to see how git-annex assistant compares to the other products linked here when it's finished.

</comment></comment><comment><USER20> This seems to do what Sparkleshare does, except Sparkleshare uses Github - <http://sparkleshare.org/>

</comment><comment><USER21> i'm not sure if git is the right thing to choose to version big binary files.

<comment><USER5> The project is based on git-annex, which is an extension that treats big binary files differently. Namely, it doesn't check in the file contents, so you don't get full-file versioning. You can find out more at <http://git- annex.branchable.com/>.

<comment><USER22> Technically you can use the SHA backend to git-annex, so the actual file contents can be tracked by git, giving you "full file versioning". It's just not checked into git.

</comment></comment></comment><comment><USER23> Maybe this is _really_ juvenile, but does the logo look like a bladder to anyone else?</comment>


The KeyKOS Nanokernel Architecture (1992) - <AUTHOR> http://www.cis.upenn.edu/~KeyKOS/NanoKernel/NanoKernel.html <comment><USER2> Predecessor of CoyoteOS and its famous BitC language [https://en.wikipedia.org/wiki/Coyotos](https://en.wikipedia.org/wiki/Coyotos)

<comment><USER3> Famous? I was on all the mailing lists... there weren't many participants.

The way ahead, at least in the short term, seems to be containerized apps on top of Linux, as with Sandstorm:

[https://sandstorm.io/](https://sandstorm.io/)

I don't know if we'll ever get back to the original vision of very fine- grained apps, with object-cap security baked into the language itself. It would be nice... that would provide another level of security beyond what any OS can provide.

<comment><USER2> Ha, well I wan't on the ML, and ok not mainstream famous but [https://www.google.com/search?q=ltu+bitc](https://www.google.com/search?q=ltu+bitc) yields a lot of discussion about it.

</comment></comment></comment><comment><USER4> Here are some parts of the KeyKOS source code: [http://css.csail.mit.edu/6.858/2011/readings/keykos/](http://css.csail.mit.edu/6.858/2011/readings/keykos/)

</comment><comment><USER5> This is an important paper and should be read by anyone contemplating the design of secure operating systems.

<comment><USER6> I agree. It's still more secure by design than any server OS in production today.

</comment></comment><comment><USER6> Excellent system that exemplified effective use of the capability model. Anyone aiming to learn or develop secure OS's should read on this plus look up the successor for x86, EROS by Shapiro. EROS had a secure kernel, persistance, robust network stack, and more secure GUI. Worth building on.

Note: Look up Coyotos kernel as they mention a few EROS attributes you might improve or change.

</comment><comment><USER7> I wrote many of the Keykos papers and can answer most questions you might have. For instance, can sandstorm do confinement as described at [http://cap- lore.com/CapTheory/Confine/](http://cap-lore.com/CapTheory/Confine/) ?

</comment><comment> vezzy-fnord Cached version if you're having trouble: [https://webcache.googleusercontent.com/search?q=cache:MXidqS...](https://webcache.googleusercontent.com/search?q=cache:MXidqSW64G0J:www.cis.upenn.edu/~KeyKOS/NanoKernel/NanoKernel.html)

<comment><USER8> Proper archive version: [https://archive.is/nlKS](https://archive.is/nlKS)</comment></comment>


Show HN: Take photos of your poop for better gut health - <AUTHOR> I'm a sophomore at Bronx Science, and over my last summer vacation, I created Crappsy.com (and it's android and ios apps). Crappsy allows you to take a photo of your poop. Our AI then scans the photo and rates its healthiness. Based on that healthiness, we give you personalized health recommendations and products to fix your issues. You also get a "Crappsy score" as a fun way to track your gut health. Digestive issues affect many Americans, and I hope Crappsy can help!
https://www.crappsy.com
https://apps.apple.com/us/app/crappsy-ai-digestive-health/id1481175720?ign-mpt=uo%3D2
https://play.google.com/store/apps/details?id=com.crappsy.app&hl=en_US <comment><USER2> Interesting, Crappsy looks remarkably similar to an [1] Adult Swim parody of startup companies from 2014.

[1] [https://www.youtube.com/watch?v=DJklHwoYgBQ](https://www.youtube.com/watch?v=DJklHwoYgBQ)

</comment><comment><USER3> Have you published any papers or benchmark of your model? I have reservations about taking this pitch at face value.

<comment><AUTHOR> Our proprietary algorithms use IBM Watson and are based on the Bristol Stool Scale. The Bristol Stool Scale is a medically and scientifically accepted scale.

</comment></comment><comment><USER4> This is highly suspicious.

Your Android app requires __Location __and Contacts privileges. Why?!

</comment><comment><USER5> Is this better that just applying the Bristol stool scale by eye?

Do you have a privacy policy? Are the photos processed in the phone or they are send to the central server?

<comment><AUTHOR> The algorithm is based on the Bristol Stool Scale, however Crappsy gives you the ability to track your Crappsy Score over time, so that you can improve your health by living a healthier lifestyle. We also give you health recommendations to improve your health in the "health" tab.

We take privacy seriously, and work to make you feel safe. The photos are stored on our https and ssl encrypted servers, so that you can access the photos later on in your feed.

Also the photos are processed by the algorithm via IBM Watson. If you would like to learn more, you can read our privacy policy here:

[https://www.crappsy.com/privacy](https://www.crappsy.com/privacy)

<comment><USER6> >The photos are stored on our https and ssl encrypted servers

oh boy.</comment></comment></comment>


The Engine built by MIT - <AUTHOR> http://www.engine.xyz/ <comment><USER2> A) What is the application process expected to be like for The Engine?

B) It appears that the resources are spread out across Cambridge, Boston, and South Boston. Which of these locations if any is planned to be the central location for the accepted startups?

C) What existing companies and organizations are planning to be part of The Engine and what will their roles be?</comment>


Dissenter Browser Released - <AUTHOR> https://dissenter.com/ <comment><USER2> "Dissenter creates a comment section on every URL online. Leave a comment on news sites, videos, and more. Easily view comments left by other people and chat with others visiting the same link in real time."

"Dissenter was built by Gab.com"

Can't wait to see how that comment section turns out.</comment>


DDSP: Differentiable Digital Signal Processing - <AUTHOR> https://github.com/magenta/ddsp <comment><USER2> Wow what a coincidence! I got excited because I thought someone had posted my project which is also called Ddsp! Mine stands for D Digital Signal Processing since it is written in D.

Just going to shamelessly post it here. [https://github.com/ctrecordings/ddsp](https://github.com/ctrecordings/ddsp)

It's always great to see more DSP projects though!

<comment><USER3> Sorry about that :), definitely an interesting coincidence. Funny enough we actually were thinking of naming dDSP (as in derivative of DSP) but had already submitted the ICLR paper so just stuck with all caps (also because python is all lowercase).

</comment></comment><comment><USER4> arXiv link for more context: [https://arxiv.org/abs/2001.04643](https://arxiv.org/abs/2001.04643)

and blog posting with audio examples: [https://magenta.tensorflow.org/ddsp](https://magenta.tensorflow.org/ddsp)

</comment><comment><USER5> Are you folks planning on extending this to speech? I'm always been disappointed by how speech vocoder networks aren't built with any great inductive biases for waveform generation (besides very long receptive fields), and have desperately wanted something like this tuned for speech. It'd be great if a DSP-based architecture could be shown to outperform WaveNet / Parallel WaveNet / WaveRNN / WaveFlow / etc, and I'd love to use that in our own work. (There's been some attempts based on source-filter models like the "neural source filter (NSF) network", but nothing's caught on as best as I can tell.)

</comment><comment><USER6> I have a few of questions for the authors:

\- (w.r.t time varying FIRs) How did your results compare to traditional NLMS/adaptive approaches? Were you able to achieve similar results with fewer CPU cycles/lower filter order?

\- (also w.r.t FIRs) Have you looked at your approach as more general/nonlinear model of adaptive filtering?

\- How do you deal with highly correlated parameters in your models?

\- (w.r.t dereverberation) How does your approach compare in fidelity and performance to homomorphic filtering approaches for deconvolution?

<comment><USER3> Hi I'm Jesse, one of the authors, thanks for the interesting questions!

\- In terms fo the FIRs, I think you can think of this as a form of more general/nonlinear filter modeling. The difference being I think that you can have a filter as one of several components, and adapt them all jointly to achieve some task (which itself can be more flexibly defined (different losses, adversarial etc.). The filter itself is still just LTV-FIR, but it's being controlled nonlinearly. We only have examined synthesis so far, but other signal processing problems like denoising are definitely good directions. The "effects" processors are designed for this.

\- It's true neural networks often learned correlated parameters but it usually is of less significance because they operate in an overparameterized "interpolative" regime, which has a lot of interesting ongoing research trying to understand it.

\- We didn't do a quantitative comparison, but in general the tradeoffs will be different. Dereverberation by a modular generative model will only sound as good as the generative model itself, so artifacts will be from not modeling the source properly. However, if you learn a good model, the dereverberation should be essentially perfect (you can losslessly apply different reverb), although that's a big if.

<comment><USER6> Thanks for the reply! This work is fascinating and while I'm not a python guy I'm going to play with your library a bunch.

I do think you should investigate comparisons to adaptive FIRs much more. This field is critical to the design of low power medical devices like hearing aids, which need feedback reduction, echo cancellation, and the like with minimal filter orders.

My question on correlated parameters was a bit more abstract. Often in the design of classical audio signal processors for creative applications you find that the user space parameters can be correlated, which map to more design space parameters that are even more correlated, and down to implementation level parameters which are even more correlated. For example in a filter designed by frequency sampling, the adjacent bins of an FFT are highly correlated in their I/O and I was curious if you optimized a bit by taking a DCT or similar approach for reparameterization like you'd find in calculating MFCCs and the like. It's really tough to design ML approaches for creative signal processing that are better than traditional methods due to this nature, humans learn and adapt to correlations very quickly, machines not so much when dealing with oscillation and ripple. Many local extrema in the parameter space and all that.

<comment><USER7> Adaptive IIR would be more interesting, as automatically controlling and designing those filters in a stable way is rather hard. And they're both differentiable and power efficient. Especially anything that is not a biquad series, and because they have recursion related computational noise, which the ANN should be able to optimize out.

</comment></comment></comment></comment><comment><USER8> Fantastic project!

For someone looking to learn more about signals and audio processing DFTs FFTs etc any good material people can recommend? I've completely forgotten my Uni CompEng Signals and want to revisit it.

<comment><USER9> I don't have links, but I have some advice that may be contrary to what a CS major might say. I recommend against a CS-first approach. Focus on theoretical fundamentals. Take "DFT" and "FFT" out of your lexicon -- those are not important right now. Forget about the the D and the P in DSP. Focus on the S: signals. Signals are just waves. Understand the mathematical basics of waves -- bonus points if you study differential equations whose solutions are waves.

Once you're pretty confident with your understanding of wave math, next focus on linear algebra. Linear algebra sounds like a strange requirement for understanding signals, but it actually is fundamental. Fourier series should then just "click" for you -- a Fourier transform is basically a change of basis in a vector space.

Bonus points if you learn about infinite-dimensional vector spaces, what Dirac delta functions are and what they mean. For example, why is it that a delta function has infinite spectral energy? Either you have no idea, or you find the answer obvious. There is no in between. Good DSP folks can answer theoretical questions like this without thinking. Once you understand how to think about waves in the time basis and the frequency basis, you will be well equipped to understand pretty much everything in DSP.

<comment><USER10> What's wave math?

<comment><USER11> Fourier transforms and more generally convolutions.

<comment><USER7> So remove DFT but use Fourier still?

No, real wave maths is continuous wavelets and those are not as useful in processing. (DFT is a kind of wavelet transform, just limited.)

And then you have the advanced tensor wave math which is used in physics but rarely in sound processing. I bet you didn't have evaluating Schrodinger's and symmetric solutions was what you had in mind.

You'll get much more mileage out of statistics and discrete mathematics, plus control theory and optimization theory.

<comment><USER11> There are many different types of Fourier transforms (i.e. generalisations and specifications(?)) useful for signal analysis, not just the (classical full spectrum) FT. E.g. the fractional FT (useful for signal separation), laplace transform (used all over the place in control for linear(ised) systems and analysis).

> Schrödinger

Well momentum is the FT of position so...

Also note the OP's question is "Whats wave math?" not "why don't use the (D|F)FT?" which I'm still surprised was suggested: Its a tool, use it when appropriate, use something else when its not.

<comment><USER10> What would be a good practical project to learn about DSP? Preferably in Python, and preferably relevant to music somehow.

<comment><USER11> Well I did most of my signals analysis with an oscilloscope circuitry and a function (read: waveform) generator. You could very easily get computer versions of those and substitute the function generator for some music. But I'd consult the elders of the internet for better ideas.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Do you think DDSP could be used for feature engineering/discovery? My setting is a time series that I want to do regression on. But it's not clear a priory what features of the series have good predictive power. I imagine making the DDSP the first layer of a FNN and the gradients helping me identify the right filters to use to extract important features from my data.

<comment><USER3> DDSP modules are helpful in situations where you want to impose some level of interpretability and modularity. Most also don't have parameters themselves, but must have them provided by another network or variable. So you could imagine for instance feeding your data through a NN that then predicts filter coefficients, then running the same data through a filter with those coefficients (if you wanted to enforce time-varying linearity for interpretability let's say).

<comment><USER13> I don't know much about DSP, neural nets, and audio, but I am really intrigued by this project. If you have a second, could you give a simple example of how this approach could be applied to problems outside of audio?

</comment></comment></comment><comment><USER14> I don't really understand why I'd use gin. From the example ipynbs it looks like pretty much the same amount of code but in a gin file and then it spookily fills in parameters for you in python. Why is this useful?</comment>


Foreign regimes use spyware against journalists, even in U.S. - <AUTHOR> http://www.washingtonpost.com/business/technology/foreign-regimes-use-spyware-against-journalists-even-in-us/2014/02/12/9501a20e-9043-11e3-84e1-27626c5ef5fb_story.html

<comment><USER2> " _The trade in spyware itself is almost entirely unregulated, to the great frustration of critics._ "

Not for long!

 _" Cyber war technology to be controlled in same way as arms"_

[http://www.ft.com/intl/cms/s/2903d504-5c18-11e3-931e-00144fe...](http://www.ft.com/intl/cms/s/2903d504-5c18-11e3-931e-00144feabdc0.html)

[http://www.exportlawblog.com/archives/5599](http://www.exportlawblog.com/archives/5599)

It's so thoughtful of the WaPo to stir up moral panic to push this all forward. Because major powers want to rewrite software law, in a military arms-control framework, in undemocratic and secretive treaty institutions: and _yes_ , the purpose of this is to "protect journalists"; why do you ask?

<comment><USER3> I kind of figured where this story was going when I saw the word "regimes" in the headline.

</comment></comment><comment><USER4> "To invade the privacy of American citizens and legal residents, violating the sovereignty of the United States and European countries, is mind-boggling,"

Do what i say, not what i do, said the elephant in the room.

<comment><USER5> To be fair, the NSA mass surveillance probably did not violate various european countries' sovereignties since they all appeared to be in on it. It probably being illegal in those countries is a different story (and certainly being illegal when applied domestically).

</comment></comment><comment><USER6> Man, if only there were a national agency in the US that had infiltrated absolutely every aspect of every networked computer system anywhere and worked to provide security and investigate netcrimes against its citizens and others rather than commit its own crimes.

Wishful thinking, I guess...

</comment><comment><USER7> I wonder what the NSA could do to protect the US public and companies from hacking. Public safety is a role the government is supposed to participate in after all. Instead of obsessing over secrets people might have, what sort of counter-measure could they deploy to help in that effort ?

<comment><USER8> [http://en.wikipedia.org/wiki/Security- Enhanced_Linux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) [http://en.wikipedia.org/wiki/Advanced_Encryption_Standard](http://en.wikipedia.org/wiki/Advanced_Encryption_Standard)

You forget, part of the NSA's mission is defense of the nation. They have actually contributed major portions of defense to the cyberworld, including SELinux and verification of AES.

NSA expertise was called in on the recent Nasdaq and Google hacks as well. [http://www.wired.com/threatlevel/2011/03/nsa-investigates- na...](http://www.wired.com/threatlevel/2011/03/nsa-investigates-nasdaq-hack/)

<comment><USER7> True but that's a rather passive approach (no to dismiss their efforts!). I was thinking what kind of active role they could play for example to help fend of DDoS attacks or intercept ongoing hacking attempt. After all they seem to have the infrastructure in place :p

<comment><USER9> This is related to something I'm researching. To be blunt the intersection of government and civilian infrastructure is all muddled up.

The theory is that DHS helps defend the civilian Internet (where "helps" seems to be as directive as it gets, since so much of the affected infrastructure is in private hands).

In the meantime NSA and DoD are looking at cyber security very seriously, but through the military-tinted lens.

It is a lot easier to differentiate a law enforcement problem from a military problem domestically when in the meatspace, especially without the attribution and jurisdictional issues that pop up with cybersecurity.

It doesn't help when laws intended to clarify the process by which private and government entities cooperate for the security of the Internet get muddled with RIAA IP protection laws and subsequently get angrily tossed out of Congress. As it stands it all seems to be still quite foggy.

<comment><USER7> Are you operating in an official capacity ? If you have any links or materials I would be interested.

<comment><USER9> Semi-official. I'm in a student status so it's a personal research project but under the aegis of a government institute.

Presidential Policy Directive 21 is where the White House tries to set policy and agency "swim lanes" for critical civilian infrastructure (including cyber). Reading it is amazing just seeing the number of agencies that are involved in some fashion with IT/cyber/etc.

DHS themselves handle this function under the term "Critical Infrastructure and Key Resource" (CIKR) support.

There's also various national strategy documents relating to cyberspace.

As for the military side DoD has a bunch of strategies as well. Anything operational or tactical is probably classified but you can certainly Google for "DoD Instruction" \+ cyber (and likewise for "DoD Directive") and find their public governing policies.

The problem of ensuring there is a formal way for government to work together with private entities to secure cyberspace was intended to be fixed by the CISPA law that had been proposed in Congress but as I mentioned that had issues (some real, some a "taint" from SOPA/PIPA). AFAIK there is still no clarity here, and the White House can't simply give out a dictat via Executive Order for all of this.

</comment></comment></comment></comment></comment></comment><comment><USER10> In the U.S. at least they threaten and spy on journalists more directly.

Curse those foreign regimes and their easily-avoidable spyware.

</comment><comment><USER11> "All regimes" ... "do whatever they can do" ... "against whoever they find significant" ... "anywhere they can"

News at eleven

<comment><USER9> Apparently it actually is news though. "NSA spies overseas on whatever they can grab. Develops advanced capabilities to complete its assigned SIGINT mission. Also tries to semantically understand data." has taken over 2013 after all.</comment></comment>


Ivelope using waiting list for Patreon solicitation - <AUTHOR> Original thread: https://news.ycombinator.com/item?id=16975096
I am not pleased that "free signup" is now being used to sell access. Is this common now? Email text below:
Logo
Hi phnofive!
I'm thrilled that you signed up for the Ivelope beta waiting list!
You can get early access to the Ivelope Beta
If you want to download and try the Ivelope beta today, there is a way to get early access, get weekly development updates and influence the development of Ivelope. Click the link below to find out more.
<Patreon link, $2/mo for beta access>
— [name redacted], founder Ivelope
PS. If you don't want to get early access, you'll still be in the waiting list. <comment> muszc-master Creator of said program here, I sent this to a very tiny segment of the waiting list. People in the waiting list will still get access to the beta - as stated in the email.

With this email, I wanted to see if there were people who were really interested in the beta (which there were, at a healthy %) and to let them get early access as well as the ability to influence development and get weekly updates by joining the Patreon community. I'm sorry if you were offended by this in any way, and once again, you will still get access to the beta when it's your turn without having to become a patron.

</comment><comment><USER2> (I redacted the person's name in the text above. We needn't publish it here and your point is the same without it.)

<comment><AUTHOR> Apologies, fair point.

</comment></comment><comment><USER3> Paying for early access is not a new thing. It's no different from a pre- order. It helps fund development.</comment>


I will document your code for you - <AUTHOR> Hello HN,
Having almost 20 years of sw development experience I got sick of bad or missing documentation. I quit my job and building software that will create diagrams and documentation from source code.
Always clear and always up-to-date.
If you are working on a project, tell me what diagrams you would like to have. Point me at your code and I will create diagrams for you. I'll do it for free - no catch, no strings. My only benefit is learning documentation problems and gaining experience solving them.
Documentation is not dead, we just not doing it right. <comment><USER2> How is your tool different from doxygen?

my web server code if you need a sample [https://github.com/shi- yan/Swiftly](https://github.com/shi-yan/Swiftly)

I also really want to see a doc for wireguard

I think having a good doc is also on their todo list

[https://www.wireguard.com/todo/](https://www.wireguard.com/todo/)

<comment><USER2> I want to understand the big picture. So how many modules, the life cycles of them, the data flow between them.

I checked out your site: [https://sourcespy.com/keyu-0003nt](https://sourcespy.com/keyu-0003nt)

Is this the same as UML?

To be honest, I think UML doesn't help much understanding code. In my opinion, code should be understood by looking at its runtime structure, not the static structure.

For example, you have a main thread that spawns worker threads and they work together. This structure only forms during runtime. in the code, there is only one worker thread class and one main thread class. Software is different from hardware. Hardware is more self-explanatory - when you have multiple hardware components, you have to physically put them on the board. Software is very flexible. The real architecture is created only when the software starts to run.

</comment></comment><comment><USER3> [https://GitHub.com/TreeNotation/jtree](https://GitHub.com/TreeNotation/jtree)</comment>


Home Solar Resiliency - <AUTHOR> https://www.jefftk.com/p/home-solar-resiliency <comment><USER2> This is something I've been thinking about recently due to a potential new policy from PG&E (Northern California electric utility) in which they would preemptively shut down electricity to high fire risk areas when red flag conditions are present. I live in the Oakland hills which would be affected by that plan. PG&E says they expect such an outage would occur 2-3 times per year in October/November, and that because they have to do a lot of safety checks before restoring power, that we should expect those outages to last 3-5 days.

So 3-5 day outages 2-3 times a year sounds like a right pain the ass, and certainly has me looking at adding a powerwall to our PV system. I had wanted one anyway for backup in the event of an earthquake or other event that might disrupt power for an extended time, but now we're almost guaranteed those outage events, rather than it being a hypothetical.

<comment><USER3> Having tried and failed to work with Tesla for solar, I strongly suggest you skip the powerwall. Use LG Chem's RESU instead. It's slightly cheaper, and they are willing to let third parties install it. It pairs with SolarEdge's StorEdge.

If you want serious off-grid functionality, you need a beefier inverter. Outback sells such things, but the resulting system is a good deal more complicated.

<comment><USER2> SolarCity installed the PV system, so I figured it'd be easier for them to continue with the upgrade. But it sounds like things are kind of a mess over in Tesla/SC land these days, so who knows...

<comment><USER3> Another factor is that the Powerwall 2 DC coupled model got canceled. And I don't see how an AC coupled battery will give as reliable of a backup system without complicated integration with the inverter and without extra automatic switches that can isolate the battery from the loads.

In particular, how does an AC coupled system handle the case where the battery was fully discharged before sunrise? The inverter needs to turn on when the array starts producing, but the battery can't charge without the backed up loads being powered, and the backed up loads can't be powered until there's enough battery charge to supply the inrush current.

A DC coupled system like the Powerwall 1, RESU, or pretty much any lead-acid system doesn't have this problem at all.

</comment></comment></comment></comment><comment><USER4> I've been looking into a bit of DIY solar lately. Not for powering the house but for lights and other low-voltage (9 to 24V) tools, probably even charging my laptop if I find a good adapter and a voltage regulator that can handle a few amps.

Handling DC is much easier than AC here since you don't need to keep the grid in sync with the inverter and you win efficiency due to not needing the inverter either.

I'll probably switch out all my lamps for LED strips, RGBW and controlled by arduino, so I could light up the house purely from solar without having to think about the grid, store energy into a battery and get light overnight too. The efficiency of the LEDs would help reduce power usage too.

I think about 200W should be peak usage if I do everything and charge my laptops and use some tools like my soldering iron plus the wifi router. Should be manageable at 24V (10A cables aren't too expensive). If all else fails, go to 48V.

<comment><USER5> I looked into this some and found some of the most useful advice was for people going to Burning Man. For example: [https://www.theplayalabs.com/shopping-list- solar](https://www.theplayalabs.com/shopping-list-solar)

My understanding is that for anything big like a fridge (even a minifridge) the efficiency and reliability of standard well-optimized 120V AC appliances means it's worth it inverting to AC instead of sticking to DC. Lots of RVs use/used 12V DC systems so things are available, they're just not very good. Inverters are very efficient these days. Plus it's really helpful to have a way to run AC things you already have if you need to.

Though if you _only_ want lights, I do see how DC could make more sense if you can either find or DIY the right electronics to handle the voltage issues.

<comment><USER4> I'll probably not hookup fridges or anything large like that. My laptop would be fine, it uses a switching power supply to 19V (though it charges of 12 to 24V just fine).

Most of what I want to power basically uses a power supply to go to DC already including router and wifi, so it's not a problem, I just need to either find the right DCDC converter or solder one myself (I'm confident I can solder something together that should be able to hold 4 or 5 amps, above might need thicker copper plating on the PCB).

</comment></comment></comment><comment><USER6> I just built my house, and it has a lot of solar panels. We planned to generate enough to offset heating with electric heat pumps and charging two cars.

What I did was set up a sub-panel with a generator interlock. For now, we're going to use a portable generator in extended outages. Once batteries are a bit cheaper, the batteries will run the sub-panel.

What about heat in a power outage? That's why we have a wood stove. You never know when an ordinary fossil fuel furnace will fail!

<comment><USER5> _> What about heat in a power outage?_

Right now we'd have no heat. I'm thinking of putting together a small general purpose battery backup that we can normally charge via the wall but can also charge via the SPS on the solar system we're installing. I'd use it for whatever was highest priority; depending on time of year that could be boiler, sump pump, fans, or unexpected things.

</comment></comment><comment><USER7> Curious about SPS + A/C. Due to a medical condition in my household, having A/C even during an extended power outage would make life a lot easier.

<comment><USER8> Air conditioning is incredibly power-hungry when powered from an inverter. My solar experience is with an RV, but even with that lower-powered AC unit, you can realistically expect only 30-60 minutes with the batteries an RV can carry.

A house won't have the same space or weight restrictions, but that doesn't make them any cheaper. FLA batteries are the least expensive currently available, and I'd ballpark it at around $4000 in batteries alone to get a few hours of air conditioner.

<comment><USER9> An alternative to this is to have a generator that works with either propane or car-gas.

</comment></comment></comment><comment><USER10> I'd also like to understand the reason for this restriction on whole house power when the grid is down but the sun is shining. Does anyone know why that might be the case?

<comment><USER11> Most solar systems are grid-tie, in that they synchronize their output to your local electric grid, and feed any excess power into that grid. They do this by increasing their voltage output until all power generated by the panels is consumed, either by your house or by the attached grid.

Because of the way these systems are designed, they do not work well when the grid is not present. If grid power is down, and your solar system feeds power into your home electrical system, you will also be 'backfeeding' power into the grid. Since you likely cannot possibly generate enough power to satisfy your entire neighborhood's power usage, this will in effect overload your system. There is a second safety issue of feeding voltage into a grid system that the power workers are expecting to be dead. Electrical code requires these grid-tie systems to cease feeding power into the grid if the grid power is removed.

Most of these systems do this by just shutting down -- unlike backup generators with auto-transfer switches -- they usually do not have an automated method to disconnect the grid power while still powering your house.

If you were to provide some sort of disconnect, due to the nature of these systems, they would try to 'push' all available power into your house, because they're designed to force all available solar power into the electrical system. The grid can absorb this, but generally your home cannot.

They do have models that can function off-grid, and even models with attached batteries to handle surge loads and night-time operation, but these models are not as widely installed. Likely due to cost and/or owner education.

<comment><USER12> Would a generator be able to supplant the grid? In effect have an auto- transfer but to the diesel/natural gas/propane generator? The generator would be idling except when power needs exceeded solar panels' capacity.

Might feel like a step backwards in terms of environmental impact, but presumable the fuel used would be minimal while the sun was shining or batteries not empty.

<comment><USER13> > Would a generator be able to supplant the grid?

Yes.

Our neighbor across the street depends on a respirator. We live in a rural Bay area location that has grid dropouts several times a year. Some last a few seconds, some more than a day.

His setup: A transfer switch operates ~ 3 seconds after grid failure, followed ~ 2 seconds later by autostart of a propane generator. His house stays on generator power until the grid comes back up for at least 5 continuous minutes. Then the transfer switch flips back to the grid and the generator shuts off.

Why propane? Because gasoline slowly degrades (polymerization) and needs to be drained, disposed of, and replaced with new (typically every year or so). Propane doesn't degrade over time.

<comment><USER5> _> Why propane? Because gasoline slowly degrades (polymerization) and needs to be drained, disposed of, and replaced with new (typically every year or so). Propane doesn't degrade over time._

If you have natural gas piped to your home then a natural gas generator is a solid option. Expensive, though.

<comment><USER14> A good bit cheaper than propane, though. The only people I know who use propane do so because they don't have NG pipes to their house.

</comment></comment></comment></comment></comment></comment><comment><USER15> _a blackout lasting more than a week..._

At 12 volts, a one-amp lamp draws 12 watts. A 24kwH battery ($5500 last year) will power this lamp (neglecting losses) for 2000 hours. Say, 80 days.

So, used all day, 48 watts will last last 20 days, 96 watts 10 days. Used half-time, you'd get about a week at 200 watts. Two hundred-watt light bulbs for 10 hours a day.

Point being: solar power is great, but for -survival- purposes, our 2000kWh/month habits can't be sustained.

<comment><USER16> I agree that high energy consumption is a problem, but this analysis is overly pessimistic because you're not factoring in the fact that the system is recharging during the day. As long as the average load is lower than your average power draw you can sustain it indefinitely. The battery capacity only needs to be there to compensate for your worst case scenario of bad weather/reduced light exposure. So maybe not surviving a nuclear apocalypse kind of scenario, but otherwise workable.

Also, a 100 watt LED "bulb" is ridiculously bright. That's far more light than you'd get out of a tungsten bulb, 200 W of LEDs is [more than] enough to light an entire house. Electric heating and cooling is the real problem when it comes to energy consumption.

<comment><USER17> In a lot of places blackouts or grid failures tend to coincide with bad weather that doesn't supply much solar charging. The bad weather is quite often windy though so a small wind turbine to diversify the generation sources is helpful.

Living off of solar and batteries means foregoing things like the toaster and the blender.

<comment><USER16> True, which is why your battery needs to be large enough to supply power during your worst-case scenario for bad weather (or have back up systems like wind/thermal like you mention). You also definitely want a plan for cutting consumption to only essentials during such a blackout. A toaster / blender really doesn't take _that_ much energy; sure they're 500 W or so, but you don't typically operate them for long periods of time. The majority of energy usage in most homes is devoted to heating and cooling, which are high power _and_ run for long periods of time.

My point was that it's important to distinguish that long blackouts with severe inclement weather are extreme events, and on average a solar power system should be fairly stable as long as your usage is kept to essentials. I completely agree with OP that you really do have to cut back on power-hungry luxuries for solar-only to be really viable, but you should be able to at least keep the lights on for quite a while. In terms of holding out during more extreme events, yes... relying on any single energy source leaves you vulnerable in that respect.

<comment><USER17> Here's a video of a family that lives off grid you might find interesting [https://www.youtube.com/watch?v=v8Pe_u_4q5M](https://www.youtube.com/watch?v=v8Pe_u_4q5M)

</comment></comment></comment></comment></comment><comment><USER18> Most other commentators here have hit the nail on the head, in summary:

\- Backfeeding into the grid is unsafe

\- Backup generators will throttle to not produce too much electricity for your home, so you can safely use a transfer switch

\- Solar can't be throttled, excess power needs to be used, stored somewhere, or sent to the grid

<comment><USER19> Newer inverters _can_ throttle solar, as there are some markets where no export is permitted to the grid (the inverter optimizes the MPPT to effectively shut certain solar modules down).

[https://www.solaredge.com/us/solutions/feed-in-limitation- an...](https://www.solaredge.com/us/solutions/feed-in-limitation-and-metering- solution#/)

<comment><USER11> I have such an inverter(SolarEdge HD Wave)[1], but you have to specify a specific power level to throttle to -- and it requires some additional supporting hardware to measure what it is feeding the grid with, and still requires at least a sync signal from the grid.

I have not found an off-grid mode in its settings yet.

[1] [https://www.solaredge.com/us/products/pv-inverter/single- pha...](https://www.solaredge.com/us/products/pv-inverter/single-phase#/)

<comment><USER19> It's not user friendly (export limit setup), as it should be set by your solar installer at system provisioning. There's only a few markets in the world it applies to (Arizona, Hawaii, parts of Australia).

In short, newer inverters can't be overloaded if there isn't enough load and too much sun.

<comment><USER11> I kicked the solar installer out after he did the physical work, I did the rest of the provisioning and configuration after the inspections cleared and the meter was swapped.

He was insisting on installing a cellular modem on my inverter and maintaining remote access and control over it. I did not want this, so I did not allow them to.

<comment><USER20> Here they required installing a data logger which is really a Raspberry Pi running a web server + a USB to RS-485 adaptor. It was required for warranty beyond the legal minimum because they want to monitor the environment temperature in the room where the inverter is installed. However it is not on the public network and does not call home.

</comment></comment></comment></comment></comment></comment><comment><USER21> Does anyone have a good tutorial or a site that sells a off-grid small kit (600Wish with 1-2kWh battery) with battery backup? I want to get one for my house if its affordable enough as an insurance on top of a generator.</comment>


Is the Internet Finally Robbing the Greedy Financier's Gravy Train? - <AUTHOR> http://www.techcrunch.com/2010/01/14/is-the-internet-finally-robbing-the-greedy-financier%e2%80%99s-gravy-train/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&utm_content=My+Yahoo

<comment><USER2> If you want to start a company that can make the world a significantly better place, finance seems a good route to go right now. It is pretty much the poster-child industry for corruption, inefficiency, insularity, and treating customers with contempt.

</comment><comment><USER3> The typos in this article really kill it for me.</complaint>

Valid points about lowering prices in industries with middle-men, but this is hardly a Robin Hood argument (steal from the reach with force who stole from the poor with force) as no force is involved beyond simple market forces of supply and demand.

Actually, we'd see even lower prices across all of these categories if there were less regulation protecting the incumbents and less overall dollars in circulation causing inflation.

<comment><USER4> Regulation has a role to play, but you're right; people forget that making it really hard to start a bank means we get stuck with the big ones no one likes.

</comment></comment><comment><USER5> If someone forced me to do a startup in the finance industry it would be a loan company requiring the person to update their financials semi-annually. With the loan risk being continually updated the loans could be packaged and syndicated without the need for the heavy insurance and rating companies manipulation that goes on now. All done on the net.

</comment><comment><USER6> Using my web bank today, I thought how nice it would be if, say, Google offered a banking service. It feels ridiculously far behind. I can name my accounts, but only up to 8 characters or so, statements are hard to read (where did the money come from/go to?) and there are no analysis capabilities whatsoever.</comment>


The Western world's dysfunctional approach to treating misunderstood diseases - <AUTHOR> https://www.sapiens.org/body/chronic-lyme-disease-treatment/ <comment><USER2> The experience of Aaron with medicin is the same as my wife and my mother have. I started to read about functional medicine, where the focus is on finding the root cause of a disease, and my wife went to a doctor that practises functional medicine. Since functional medicine looks at the whole body as a whole and understand all processes that happen in the body, they come to very different insights and treatments than the common allopatic medicine. If you are interested in understanding how your body works (you do not have to be a doctor to understand!), I suggest to go to the websites of Dr Mark Hyman and Dr Chris Kresser: [https://www.drhyman.com](https://www.drhyman.com) and [https://chriskresser.com](https://chriskresser.com) to get started.

Note that many people may have a thyroid system failure after having a disease and "more or less be cured" from it. This is called the Wilson Temperature Syndrome which you can verify yourself by measuring your temperature at wakeup+3 hours, wakeup+6 hours, wakeup+9 hours. For proper accuracy, measurement must be done with a alcohol or mercury thermometer and holding it 6 minutes under the tongue. The average must be 98.6 F (37.0 C). If it is 0.2 lower, one probably has the syndrome. Fortunately, the treatment for a real cure is simple and cheap.</comment>


In-text advertising that doesn't make you vomit - <AUTHOR> http://seatgeek.com/blog/?p=136

<comment><USER2> It doesn't make me vomit, but I can still taste bile in my mouth. This is still a _very_ intrusive form of advertising that destroys the usefulness of linking within content (everything is assumed to be an ad), and also ruins the trust between content producer and consumer.

I don't like it - it's an improvement on the status quo, sure, but merely having an eye poked out instead of being decapitated is small comfort indeed.

<comment><USER3> Hi, I'm the guy who developed the in-text plug in for Seat Geek...

I honestly see this type of reaction as more of an opportunity than a problem. This really shows how horrible an impressions in-text ads have made on us, and I think that reaction is totally appropriate.

I'm trying to go into this endeavor with an open mind and create something that can respect user content and yet give people the option to monetize. We're okay with Google scanning our personal emails to serve relevant ads on Gmail... I think with enough experimentation there is a solution here that will work out and convert some extremists.

Chris

<comment><USER4> Can you please explain what makes this different from all other in-text advertising? The article did not make it clear if there's any difference at all.

<comment><USER3> We're trying to focus it on specific data sets that users have more control over. We're not using the "keyword" approach like a Kontera or Vibrant allows you to link a lot, but creates a lot of crap. In Seat Geek's case we started with a simple database of the remaining NFL games; there's a limit on what can get linked so it doesn't get out of hand. We have another data set of product names that link product names to retailers and create affiliate links for people who do reviews or have users that talk about a certain product category. The goal is to focus on uniform data sets that can keep the links specific and relevant.

<comment><USER4> Hmmm...so help me understand something. As a publisher, if I'm using in-text advertising, I'm going to want to: a) increase my revenue, while b) keeping the links relevant. In the case of a), I'm assuming that more links on more keywords is better (at least up to a point), whereas for b) I'm guessing that advertisers on Kontera probably want to link relevant keywords. Apple doesn't want links for a sports team, even if it gets them traffic, because it's not relevant and won't convert. So I'm assuming that Kontera's relevancy issue would be self-correcting to some extent, in which case I'd actually prefer a broader array of options, rather than focusing on one data set. I guess I don't understand how this is better for anyone, unless Kontera really gives you zero control over what can / can't be linked, how many links there will be on the page, etc.

Regardless, this all sidesteps the primary issue IMO, which is that in-text advertising sucks.

<comment><USER3> Thanks for the feedback Ryan. Good luck on your startup.

Chris

</comment></comment></comment></comment></comment></comment><comment><USER4> _The guys at Atma are building an innovative app that should shake up the in- text advertising market—a market that has earned a bad rep due to companies like Kontera, which often deliver spammy ads. Atma's app eliminates the spamminess and delivers ads that are actually useful.

The Atma guys hacked up a way to integrate their in-text links with SeatGeek. Thanks to Atma, select words in this blog will now link to SeatGeek event pages. Let's say, for example, I'm talking about the Cleveland Browns. Whenever you roll over the Brown's name, you'll see a small popup that links to the SeatGeek page for the Brown's upcoming game._

Translation: all those _other_ in-text links are spammy, but the ones that point to _our_ service are tremendously useful!

Come on. How is this different from any other in-text advertising scheme?

<comment><USER5> Perhaps the difference is the fact that in this case, the site owner gets to choose the exact words that are linked. With traditional in-text advertisers the site owner doesn't have that control.

<comment><USER4> Actually, from this description, it sounds like any sports team names are linked. So I guess you have control in the sense that you know that if you type the name of a sports team, it'll get linked. I still think it's essentially the same thing.

 _So from a blogger's perspective, adding a few lines Atma JavaScript gives their site a new feature and an additional revenue stream._

</comment></comment></comment><comment><USER6> Based on a quick glance, SeatGeek is far less of an affront to my eyes than Kontera, but Kontera would look just like this if they used the same CSS styles. (Not literally, but you get my gist.)

I don't think in-text advertising is leaving us anytime soon. So, I think the best thing you can do is to make the difference between normal links and ad links very noticeable. The little pop-up should not be very large, slow to load, or look like it might be some type of legitimate information source. It should totally say in big letters at the top: "Advertising by SeatGeek." Black background, white bold text.

I've thought about this a couple times, trying to see if I could come up with something that the established companies haven't. I really can't wait for some clever person to figure out the perfect way to put in-text ads in content.

Maybe there should be no ad links at all, but a little icon to the right of the phrase, that upon mouseover will highlight the phrase and display the pop- up.

Ultimately though this method of advertising gives site owners the opportunity to deceive their visitors into clicking ad links. Less so than Adsense, I would think.

\--- Edits for proof reading</comment>


Ask HN: Do you want to access to docs, videos, photos in your PC, Mac anywhere? - <AUTHOR> So you can watch videos in your PC or Mac on your Android or iPhone. Browse your files on browsers. Share your hard drives with friends and family.
I'm thinking to build a tool like that, and I want to ask you first.
Thanks in advance! Cheers <comment><USER2> It sounds a lot like Dropbox. What are the differences?

<comment><AUTHOR> You can share or access your hard drives online. Access your files stored inside your PC or Mac on your phones or browsers.

Dropbox stores files on the cloud. In contrast, with this tool, your files are still in your computers.

<comment><USER2> So, when the computer is off or disconnected they can't access the files. (Now I don't have a desktop computer.I have only a notebook, that is turn on only, I don't know, 8-10 hour a day.)

<comment><AUTHOR> Yes, you are right. The files can only be accessible when your computers (desktop or laptop) are on.

Do you see any usecase for this tool?

<comment><USER2> For me the problem is not 24hs availability.

Some ideas anyway:

You can offer "infinite" space in the shared folder (get a lawyer before writing infinity in the official site).

Share a file while you chat (to ensure both computers are online).

<comment><AUTHOR> Thanks for the ideas! Appreciate your reply. Just some follow-up questions for me to understand your points.

Why 24hs availability is not the problem for you?

Why infinite space is important for you? What will you use "this feature" for?

Share file when chat, why don't you just use the chat app (skype, Facebook messengers, etc) to send files?</comment></comment></comment></comment></comment></comment>


Ask HN: have you had a bad experience trying to learn or use Haskell? - <AUTHOR>

Independent language researcher seeks sincere and thoughtful responses!  No trolls or haters pls. <comment><USER2> One thing I noticed as a Haskell noob is that the terse syntax makes it impossible to Google for solutions. Say I'm trying to understand a code snippet. I have to know what the (insert random string of punctuation) operator is called before I can proceed.

<comment><USER3> That's what Hoogle (<http://www.haskell.org/hoogle/>) and Hayoo! (<http://holumbus.fh-wedel.de/hayoo/hayoo.html>) are for.

</comment></comment><comment><USER4> I wouldn't say a bad experience necessarily, but I ended up working from the O'Reilly book and Learn You a Haskell alternatively, working from the front and back of each book alternatively. That was because neither of them managed to explain things to me in the order I wanted to hear about them, and as my interest was in actually making something useful with Haskell I kept needing to look at the useful (later) parts of the books to get any of that.

</comment><comment><USER5> Very open ended question. The trickiest thing for me is the GHC "instance" extensions: TypeSynonymInstances, -XUndecidableInstances, Flexible, Overlapping, etc

\</comment><comment></comment><comment>--

I think there's general agreement that cabal has limitations:

<http://www.yesodweb.com/blog/2012/04/replacing-cabal>

<http://www.yesodweb.com/blog/2012/04/cabal-meta>

[http://www.reddit.com/r/haskell/comments/qdjha/which_command...](http://www.reddit.com/r/haskell/comments/qdjha/which_commands_succeed_in_installing_a_haskell/)

[http://www.reddit.com/r/haskell/comments/r5h81/google_summer...](http://www.reddit.com/r/haskell/comments/r5h81/google_summer_of_code_2012_haskellorg_is/)

[http://www.reddit.com/r/haskell/comments/rurn4/cabalmeta_tra...](http://www.reddit.com/r/haskell/comments/rurn4/cabalmeta_transcending_to_dependency_heaven/)

\</comment><comment></comment><comment>-----

Not clear if you're interested in pure language design or looking at the state of standard library, editor/testing/deployment toolchains etc but as far as language design debates go vs. the SML line, you could read Harper's

[http://existentialtype.wordpress.com/2011/04/24/the-real- poi...](http://existentialtype.wordpress.com/2011/04/24/the-real-point-of- laziness/)

[http://existentialtype.wordpress.com/2011/05/01/of-course- ml...](http://existentialtype.wordpress.com/2011/05/01/of-course-ml-has- monads/)

</comment><comment><USER6> To read code (or math) I find life easier when I can "read" it inside my head. The terse and heavy symbolic syntax make understanding code less comfortable for me.

The other thing is that currying + lack of parens around function arguments makes it not visually clear where each argument goes or what expressions are part of what. Only someone familiar with each function and it's arity (in some Haskell-relevant sense) could read the stuff at a glance.

</comment><comment><USER7> There are lots of good resources at <http://www.haskell.org/haskellwiki/Learning_Haskell>

<comment><USER5> There's _lots of wiki pages_. Among the links i liked the Wash Univ of St. Louis breadcrumbs and these cheats. Also the Hutton, Thompson, "school of expression" and "road to logic" books:

<http://blog.codeslower.com/static/CheatSheet.pdf>

<http://sites.google.com/site/haskell/notes>

<http://acm.wustl.edu/functional/hs-breads.php>

<http://www.cl.cam.ac.uk/~ns441/files/thips.pdf>

\</comment></comment><comment></comment><comment>---

<http://www.haskell.org/tutorial/>

<http://haskell.org/haskellwiki/Blow_your_mind>

<http://www.haskell.org/haskellwiki/Meta-tutorial>

<http://haskell.org/haskellwiki/Category:Tutorials>

<http://www.haskell.org/haskellwiki/Tutorials>

</comment><comment><USER8> I found the Haskell operators to be particularly unenjoyable, and that's coming from someone who started to program in Perl. I don't see any logical purpose in such a large deviation from most languages even in basic things like comment operators. It felt like I was writing code in a different (spoken) language.

In short, Haskell's modernity didn't offer enough for me to consider it over Clojure.

</comment><comment><USER9> Haskell was dead simple to learn, really easy to use, and a lot of fun.</comment>


Implicit assumptions are bad - <AUTHOR> https://jjankowskidev.wordpress.com/2017/04/16/implicit-assumptions-are-bad/ <comment><USER2> Isn't that a rather implicit assumption in and of itself?</comment>


Natural Magick (1584) - <AUTHOR> http://www.faculty.umb.edu/gary_zabel/Courses/Phil%20281b/Philosophy%20of%20Magic/Natural_Magic/jportat2.html <comment><USER2> A modern version of this should be written in this exact style:

"On the generation of diverse animals and plants through descent with modification..."

"Of the refinement of the silicate ores and the arrangement of circuits thereon..."

"Of the splitting of the atomes to obtaineth warmth, light, and terrible destructive forces whose mere possession shall discourage all enemies from waging war upon thee..."

<comment><USER3> You may enjoy Uncleftish Beholding[1] by Poul Anderson. It's a short essay describing atomic physics explained with pure Anglish words instead of Greek or Latin loan words.

> At first it was thought that the uncleft was a hard thing that could be > split no further; hence the name. Now we know it is made up of lesser motes.

> Some of the higher samesteads are _splitly_. That is, when a neitherbit > strikes the kernel of one, as for a showdeal ymirstuff-235, it bursts into > lesser kernels and free neitherbits; the latter can then split more > ymirstuff-235. When this happens, weight shifts into work. It is not much of > the whole, but nevertheless it is awesome.

> For although light oftenest behaves as a wave, it can be looked on as a > mote, the _lightbit_.

[1]: [https://warwick.ac.uk/fac/cross_fac/complexity/people/studen...](https://warwick.ac.uk/fac/cross_fac/complexity/people/students/dtc/students2011/maitland/fun/)

<comment><USER4> Uncleftish Beholding is amazing!!! It would be so cool if more people tried to write like this, even just as an experiment. It's kind of sad how the english language seems to be almost shameful of its heritage with all of the pseudo- greek/latin scientific words people make up.

</comment></comment></comment><comment><USER5> The parts of fruit preservation were interesting, though I couldn't get the link to work for the section detailing preservation using salt water. I never heard of encasing unripe fruit still on the vine with mud. Burying grapes in sand with a jug overtop reminds me of "Dr. Beals Seed Viability Experiment". This ongoing experiment is over a hundred years old. Never imagined it could be used to preserve food as well.

</comment><comment><USER6> >"The Unicorn is allured by scent."

>Tretres writes, that the Unicorn so hunts after young Virgins, that he will grow tame with them. And sometimes he will fall asleep by them, and be taken and bound. The hunters cloth some young lusty fellow in maids cloths, and strewing sweet odors on him, they set him right against the place where the Unicorn is, that the wind may carry away the smell to the wild beast. The hunters lie hid in the meantime. The beast, enticed with the sweet smell, comes to the young man. He wraps the beast's head in long and large sleeves. The hunters come running, and cut off his horn.

[http://www.faculty.umb.edu/gary_zabel/Courses/Phil%20281b/Ph...](http://www.faculty.umb.edu/gary_zabel/Courses/Phil%20281b/Philosophy%20of%20Magic/Natural_Magic/jportac15.html)

<comment><USER7> Wow, I'm genuinely curious what the inspiration for such writing was. Are there hidden metaphors or analogies like other mythical beasts?

Some things don't change. The only big separation historically is what was allowed to be written on paper, scolls, and tablets when doing so was rare and expensive. But we still get some perspective on the human mind in the popular mystical characters and stories people invented.

</comment></comment><comment><USER8> It's slightly shocking to read this and realize how many outright falsehoods these people were being told. It's almost wonderful that knowledge advanced when people were being taught stuff like this by authorities ancient and modern:

> Diodorus says, that near to the city Thebais in Egypt, when Nilus > overflowing is past, the Sun heating the wet ground, the chaps of the earth > send forth great store of Mice in many places, which astonishes men to see, > that the fore-part of the mice should live and be moved, whereas their > hinder parts are not yet shaped. Pliny says, that after the swaging of > Nilus, there are found little Mice begun to be made of earth and water, > their fore-parts living, and their hinder parts being nothing but earth.

<comment><USER9> I ended up reading the lodestone section and realizing that it was a description of magnets.

<comment><USER10> Which section is that?

<comment><USER9> [http://www.faculty.umb.edu/gary_zabel/Courses/Phil%20281b/Ph...](http://www.faculty.umb.edu/gary_zabel/Courses/Phil%20281b/Philosophy%20of%20Magic/Natural_Magic/jportac7.html#bk7I)

</comment></comment></comment></comment><comment><USER11> Also very interesting: "A true & faithful relation of what passed for many yeers between Dr. John Dee..." [https://ia802605.us.archive.org/32/items/truefaithfulrela00d...](https://ia802605.us.archive.org/32/items/truefaithfulrela00deej/truefaithfulrela00deej_bw.pdf)

</comment><comment><USER12> This stuff is absolutely fascinating as it gives an insight into a worldview that we (well, many in the west) have lost, and not so long ago either. I wish I had time to read this lot.

<comment><USER13> It helps with the worldview, but it doesn't give us context as to how it's contemporaries interpreted it - was this a popular book that was accepted and acknowledged, or was it a fringe effort that remains?

<comment><USER12> At a guess? That this was the way they interpreted the world so they'd read it much as we'd read a science book (those that were literate) - why do you assume it was fringe?

It's easy to forget how different things were. Mathematics was considered a branch of magic, possibly even by newton, and there's evidence that the romans equated magic with mathematics (I have looked before but can't find my original ref, sorry).

Astronomy grew out of astrology. Chemistry grew out of alchemy. It was thought mice were produced abiogenically from the decay of grain - literally rotting grain produced mice (found a ref, gives quite a bit of detail: [https://www2.nau.edu/gaud/bio301/content/spngen.htm](https://www2.nau.edu/gaud/bio301/content/spngen.htm))

IIRC a cart ran out of control and killed someone. The cart was put on trial, found guilty and hung (edit: for murder). I think that was some medieval times. It's easy to assume one's own worldview is, was, and always will be. That's why I find some history so fascinating.

</comment></comment></comment><comment><USER14> What is a good definition of magic? Does magic necessarily NOT exist by definition, or do many/most/all forms of it not exist due to empirical results? Does magic that works become science?

<comment><USER15> I'd define it as the nonphysical controlling the physical. Math is one obvious example of such magic.

Hence why Bacon, who originated modern science by rejecting teleology and promoting math, was an occultist.

<comment><USER16> Math is an invented tool. It controls nothing.

<comment><USER15> If math is invented, then why are some answers right and some answers wrong?

<comment><USER17> Same reason that while DnD is an invented game, some actions are allowed while others are not. To be coherent, a system (invented or not) must remain consistent within itself.

In math, a wrong answer isn't so much "wrong" as it is _inconsistent_ with established mathematical properties/rules.

<comment><USER15> So it sounds like some aspects are not invented.

<comment><USER17> As a knowledge structure (axioms and theorems), math is absolutely invented.

The fact that it often corresponds to our experience of reality is a consequence of thousands of years of refinement with the goal of making it describe reality as closely as possible while remaining internally consistent.

But that doesn't make it any less invented... just a very helpful tool for modeling reality.

<comment><USER15> It seems you are confusing the mathematical language with the concepts themselves.

<comment><USER17> You're stretching my thinking — thanks for that. It can be hard to delineate the difference between the properties of reality itself and a knowledge structure, built by people, that undeniably corresponds very closely to reality and is internally consistent — the two tests for truth.

I think we can both agree that reality (the physical universe) is well- ordered, self-consistent, and eminently logical in its operation. (Side note: my own belief is that it exhibits these qualities because it reflects the character of its Creator.)

And yes, it obeys certain concepts with absolute constancy - which we have worked to discover and which our mathematical language describes.

But I still maintain that the math and physics knowledge we have is at best limited and at worst an incomplete set of poor approximations. Because they cannot (and I maintain they won't ever) account for everything we observe, or answer every question we have about the universe, and because its axioms have led to all sorts of abstract structures that have no relation at all to anything ever observed, I still think it's fair to call math "invented".

That being said, the real concepts we attempt to grasp in what we observe of the universe are clearly vastly superior to our comparatively small efforts to understand and model them.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> ...and here I was, thinking that this would be a treatise on Haskell...</comment>


Industrial Training for B. Tech Students - <AUTHOR> Apply for industrial training in Jaipur, Br Brains provides best training for various languages. <comment><AUTHOR> [http://www.brbrains.in/industrial-training-in- jaipur/](http://www.brbrains.in/industrial-training-in-jaipur/)</comment>


The Psychomachia: An Early Medieval "Comic Book" - <AUTHOR> http://blogs.bl.uk/digitisedmanuscripts/2017/01/the-psychomachia-an-anglo-saxon-comic-book.html <comment><USER2> People who are interested in reading a modern take on the sort of society in which Psychomachia could have been read could do worse than read 'Hild' [0] by Nicola Griffith. Hild is a fictionalized account of the early life of the woman who became Hilda of Whitby, the founding abbess of the monastery at Whitby. It is a historical drama, but written by a science fiction author who uses her world-building skills to create a story of first-contact between the court of a pagan king and the alien priests of Rome, told from the perspective of a kick-ass ninja seer (Hild) who just happens to be the King's niece. Hild could easily have been a character in Psychomachia

[0] [https://en.wikipedia.org/wiki/Hild_(novel)](https://en.wikipedia.org/wiki/Hild_\(novel\)) [1] [https://en.wikipedia.org/wiki/Hilda_of_Whitby](https://en.wikipedia.org/wiki/Hilda_of_Whitby)

</comment><comment><USER3> Saints were also often essentially an analog to modern superheroes. They didn't need to eat, sleep, go to the bathroom. They didn't need to bathe yet always smelled like roses. They performed miracles and other superhuman feats. They were also abstinent, which is something people at the time viewed as no more possible for a normal person than going without food and water entirely was.

And, of course, they were much closer to actually being people than abstract concepts like the Vices and Virtues, which I think puts them a bit closer to 'superhero' than the characters in this medieval comic book. Still, a very neat historic work!

</comment><comment><USER4> This link is returning a 404 right now, unfortunately.

</comment><comment><USER5> It's... kind of a badass mediaeval Inside Out.</comment>


White House Weighs Sanctions After Second Breach of a Computer System - <AUTHOR> http://www.nytimes.com/2015/06/13/us/white-house-weighs-sanctions-after-second-breach-of-a-computer-system.html

<comment><USER2> quite shocking the lack of 2FA for data containing the most sensitive information about private, also non-government persons as well as chinese people with us-ties. This sounds like the kind of compromise which costs people their life.

Maybe the US stops investing in its offensive powers and funnel their ressources into devensive measures.</comment>


The Most Valuable Lesson I Learned Pursuing a Finance Major - <AUTHOR> http://www.seomoz.org/blog/the-most-valuable-lesson-i-learned-when-pursuing-a-finance-major

<comment><USER2> Template:

The Most Valuable Lesson I Learned From X

Recall a really great mentor (professor, boss)

Confess your failings (dropped out of school, fired) b/c I was going to (start a business, go back to school, become a ninja)

Proceed to rationalize your life to show that it was all worth while

<comment><USER3> Reminds me of the template for newspaper articles:

Introduction. Anecdote. Quote. Anecdote. Quote. [Good articles use solid stats instead]. Something is changing faster and faster! [some journalists seem to unknowingly love the idea of positive second derivatives]

"This is what's going to happen," says expert #1, author of some book you've never heard of. "This because of this reason."

Summary of other side of the story (only one alternative view presented). Summary of topic. Mention of scientific debate with oversimplified theories, poorly presented.

"I think what's actually going to happen is this," says Mr. expert #2. Expert #2 is the author of this other book, and chair of something or other at the University of America. "Etcetera."

Hanging question? After all, this irrelevant little topic is crucial to something intangible that is deep and meaningful. If we don't all do something quick -- something really bad is going to happen. [a comma would have been just as good as an m-dash, but an m-dash is more dramatic.]

</comment></comment><comment><USER4> The most valuable lesson:

"By recognizing the changes in the world around us, we can reason our way into industries that will be appealing in the long run."

</comment><comment><USER5> Is the guy aware that disney stock went down after his so called insight?

</comment><comment><USER6> I really liked this passage:

"The best part of all this is that as web entrepreneurs, we don't need to invest in a stock portfolio, we can put our shoulder to the grindstone and actually build it."

</comment><comment><USER7> It doesn't matter so much which industry will be hot in the next years, it's what a specific company will do that matters (compare the fate of amazon and pets.com. for example)

</comment><comment><USER8> Here's what I learned:

       stock_market = legalize(gambling);

Class dismissed.</comment>


Audi Hacked YouTube Advertising with free 5 Second Ad - <AUTHOR> https://www.youtube.com/watch?v=ABJYQhNW2f8

<comment><USER2> I'm afraid this is just as "free" as an adwords ad that is never clicked. It sounds like it's free, but behind the scenes Google runs a CPM auction based on click (or view in case of video) rate and the conversion of CPC to CPM. That means if you get a very small number of clicks or views, your price per click or view goes up accordingly.</comment>


Covid-19 symptom checker REST API - <AUTHOR> https://developer.infermedica.com/docs/covid-19 <comment><AUTHOR> Infermedica [1] is a company that uses Bayesian networks [2] to map symptoms to potential causes (they are used to triage patients in call centers, etc.). They have just published a REST API that targets COVID-19 specifically, and made it free to use to everyone free of charge. If you are thinking working on a SARS-CoV-2 pandemic related app, this may come handy.

Feel free to ask any questions, if there's interest I'll try to get someone from the company to this thread.

[1] [https://infermedica.com/](https://infermedica.com/)

[2] [https://en.wikipedia.org/wiki/Bayesian_network](https://en.wikipedia.org/wiki/Bayesian_network)</comment>


Peter Thiel is now on stage at the RNC [live] [video] - <AUTHOR> https://www.youtube.com/watch?v=r_lpyG-ddec <comment><USER2> Being on a bus and not having seen the video, I wondered how Theil would reconcile libertarianism with support for Trump. But i wasn't sure Theil considered himself a libertarian so I went to Google and started typing, "is Theil a".

Why am I not surprised that the first autocomplete offered by Google was, "is Theil a Jewish name" given the venue at which he just spoke?

<comment><USER3> >I wondered how Theil would reconcile libertarianism with support for Trump

There's no need for reconciliation. His libertarian views align with most of Trump's policies and views.

<comment><USER2> That's a joke. Expansion of the military. Favoring eminent domain. Iranian sanctions. Federal trade deals. Border walls. Gay marriage left to the states. I don't know what brand of libertarianism you are familiar with.

<comment><USER3> >Expansion of the military.

Trump is for a reduction in military spending. Reduce spending by buying only the best weapons and equipment while shutting down useless projects. Also, he will stop letting lobbyists force the military to buy useless expensive equipment that they don't need. Under Trump, the military will finally be free to buy only the equipment it need.

>Favoring eminent domain.

He's not going to pass any new laws. Hillary is not going to pass any new laws concerning this either.

>Iranian

Iran should not have access to nuclear weapons. Your liberties will be meaningless if your country is destroyed by nukes that ISIS stole from Iran.

>Federal trade

Trump will renegotiate trade deals and make the country rich and wealthy again. Why would any libertarians want a poor broken country? Your liberties are meaningless if you're dying on the street of hunger.

>Border walls

Barbarians are ransacking your cities. Trump just wants to stop it.

>Gay marriage left to the states

As it should. In this way, you will have the liberty and freedom to move to a state that agrees with your view. It should NOT be one single national rule that everyone MUST conform to. People should have the freedom of choice to follow it or not. And the only way you can have that is to have some states legalize it, while some don't.

>I don't know what brand of libertarianism you are familiar with.

The kind that says the government should provide a safe place for people to live lives the way they want while NOT meddling in their personal affairs, like which bathroom they can and can not use. People have always been able to use the bathroom responsibly. You don't suddenly need the government to help you use the bathroom now.</comment></comment></comment></comment>


A Handful of Emacs Utilities - <AUTHOR> http://jmdavisblog.blogspot.com/2013/08/a-handful-of-emacs-utilities.html

<comment><USER2> Now this you won't see Vim users doing. Emacs users operate on a whole new level (they will do it with fewer keystrokes somehow though)</comment>