Why AirPlay just wrecked your responsive media strategy - <AUTHOR> http://cvil.ly/2012/02/20/why-airplay-just-wrecked-your-responsive-media-strategy/#comment-996

<comment><USER2> This probably matters more when more people use Airplay and devices like it to bounce from mobile to bigscreen. As of now, solving for that edge case seems like a waste of time vs. the far more general case of folks watching video requested by a mobile device on said device.

To be fair, one survey in Dec '11 estimates that Apple will have 32% of the tv-box market ([http://www.mediapost.com/publications/article/164141/apple-t...](http://www.mediapost.com/publications/article/164141/apple- tv-to-capture-32-share-of-connected-tv-play.html)) so it may be more common than I suspect...

As a compromise, I wish Netflix and others would just let me as a user choose whether I want a high stream or a low stream and not worry about all that "detection" stuff. This allows me to control my bandwidth usage to better reflect the conditions I'm in (paying per byte vs. my home network, etc.). Then work on making all this auto-adjustment stuff while always giving the user the option to ratchet it up (and suffer drops) or ratchet it down (and lose resolution), as they see fit.

(Related, a bit, to WSJ article ([http://online.wsj.com/article/SB1000142405270230381290457729...](http://online.wsj.com/article/SB10001424052702303812904577293882009811556.html)) about new iPad users blowing through their bandwidth due to excessive use of higher def video)

<comment><USER3> Just on that point of Netflix, they do let you set the streaming quality on your account settings. This affects the streaming to all devices though and is a master setting.

But I agree with you, we can be the best judge of the quality we want, rather than the auto-detection. The adaptive streaming (even Apple's http live streaming supports this) is a possible solution for auto detecting the best bandwidth to use, though it is a lot of work for content creators.

</comment></comment><comment><USER4> This is a tiny microcosm of an emerging reality - an increasing independence between input/output devices (and accompanying UI) and the physical computing hardware that powers it all - i.e. once your smartphone is powerful enough to run all your apps, it will

Software will need to get better about detecting what sort of interaction and output formats a user wants, because it won't be able to be assumed (even basic stuff like touch vs. k&m) by the platform

</comment><comment><USER5> Apple better not provide a way to detect AirPlay, because the first thing media companies will want to do is block it. They're still laboring under the outdated idea that TVs are separate from every other kind of display.

<comment><USER6> I believe it's already blockable, noticed Netflix won't let you play via AirPlay.

<comment><USER7> They "block" it by reimplementing the entire videoplayer UI. This is unfortunate because it's inferior to the system provided videoplayer UI, and not just due to lack of AirPlay support.

Notice how touching the screen causes the UI to appear immediately, instead of the delay you'd normally expect. Also, the seek bar is much more sensitive and difficult to use.

I've been wondering why they went through the trouble of trying to make a nearly identical video player UI, but I suppose blocking AirPlay seems like a good explanation.

<comment><USER8> That might be the way they block it, but it must not be the only reason for customizing their UI.

For movie playback there is a simple allowsAirplay property, and for mirroring they could draw an empty view (or whatever) across the 2nd screen.

</comment></comment></comment></comment><comment><USER9> Seems to link to a comment ID fragment on the page which jumps it to the bottom. Better edit the link!

Good read too.

<comment><AUTHOR> Oops, well-noticed. I didn't notice that was there when I copy/pasted the link. Unfortunately, HN does not allow me to edit my URL. Can someone with superpowers please fix this?

</comment></comment><comment><USER10> Yeah, the issue seems to be that, when an iPhone loads the page containing the video, PBS does some user agent checking to determine what video source to provide.

When iPhone goes to AirPlay, it provides the AppleTV with the only stream source it received.

Ideally, either the HTML5 video tag could define multiple streams based on size (similar to how it can provide different streams based on video format), but since that's not in the spec, I suppose we have to conjure up a "standardized" convention.

<comment><USER11> This shouldn't be done at the HTML5 level, but at the codec level.

HTTP Live Streaming already provides a perfectly serviceable way to do exactly this: provide multiple streams at different bitrates and let the media library choose which is best for the network and output resolution.

This is probably one reason why Apple has been using its muscle to force _all_ iOS apps to use HTTP Live Streaming. They knew about exactly this problem: iPhone app developers assuming you would never play the video on a large screen, but with AirPlay you will do exactly that.

<comment><USER12> _HTTP Live Streaming already provides a perfectly serviceable way to do exactly this: provide multiple streams at different bitrates and let the media library choose which is best for the network and output resolution._

HLS doesn't solve this problem. HLS adjust bitrates, the problem here is resolution switching (which sometimes is involved in bitrate switching). On an iPhone the largest HD resolution you can fit on the screen is 960x540. On an iPad or OTT device (Roku, AppleTV) its 1920x1080.

Slight niggle, this shouldn't be addressed at the codec level but at the container/wrapper level.

</comment></comment></comment><comment><USER13> This also illustrates one of my bigger gripes with how AirPlay works, in general. Why should the mobile device, that has limited battery (and maybe connection speeds) be the device that does the heavy lifting in this situation?

The Apple TV is constantly plugged in to a power source and (presumably) has a more reliable data connection, and will always be within range of the display. Make it do all the work. Seems very fragile the way it is now.

<comment><USER14> Because the problem solved by the Apple TV involves a branch in the process.

1) User is using their mobile device (happily) to locate content that may come from a wide variety of sources

2) User locates content that they'd like to share on a larger screen

3) User "hands off" (this is the branch) the playback of the content to the Apple TV

Many complex interactions might have occurred in steps 1 and 2. These interactions, typically, don't translate well to television screens. Based on adoption rates, no one wants to use a keyboard in their living room, and the content users want is already accessible on their mobile device. App developers welcome the opportunity to _not_ develop for yet another device/platform.

So, you have two choices:

A) Let the mobile device do the heavy lifting and stream only "dumb" video to the Apple TV...

or

B) Devise some schema for handing off the entire session necessary for the Apple TV to connect (and authenticate, authorize, etc) to the media source.

Option B is full of pitfalls and difficult problems. Many are already solved, but they're just not there yet, IMO. I think we'll get there eventually though. As more and more services use the "Sign in using X" (where X is Facebook, Twitter, Github, etc) model, more and more users will become accustomed to federated login solutions. That is, ultimately, what would be required to hand off the direct connection to the media source.

<comment><USER13> Good points. I guess I just fall into the category of people who want my phone/tablet to act as a fancy remote control, more than I want to be able to transition from watching a specific thing between multiple places.

</comment></comment></comment><comment><USER15> As shown with responsive web design, it is increasingly becoming an antiquated idea that a small screen means small/underpowered device.

<comment><USER12> _antiquated idea that a small screen means small/underpowered device._

That's not what is happening here. They're not assuming a small screen is under powered, they're assuming _a small screen is a small screen_. Why would they deliver 1920x1080 or 1280x720 resolution video to a device that only has a screen resolution of 960x540?

<comment><USER15> Why would they deliver 1920x1080 or 1280x720 resolution video to a device that only has a screen resolution of 960x540

because it is no longer always true. that was the point of the article.

</comment></comment></comment><comment><USER16> A channel-specific app on a phone beaming it to a set top box, which sends it to the display? No thanks, says a huge majority of consumers.

An all-in-on smart TV with content provider agnostic search and play on demand takes this convoluted media pathway to school.

<comment><USER17> The difference is one of those exists, and the other doesn't.

</comment></comment><comment><USER18> First of all, here is Downton Abbey Season 2 on Amazon [ [http://www.amazon.com/Downton-Abbey-A-House- History/dp/B006M...](http://www.amazon.com/Downton-Abbey-A-House- History/dp/B006MW3VGA/ref=sr_1_1?ie=UTF8&qid=1332348783&sr=8-1) ]

I'd like to know the actual stream bitrate he experienced. It's pretty hard for me to empathize without that number.</comment>


Tough Copyright Laws Chill Innovation, Tech Companies Warn Lawmakers - <AUTHOR> http://torrentfreak.com/tough-copyright-laws-chill-innovation-tech-companies-warn-lawmakers-130727/ <comment><USER2> The dynamic in the industry is obvious: its content creators versus content distributors. Tech companies are the latter. Of course they think that copyright hurts "innovation." What they really want is weak copyright laws that let them keep the maximum amount of money in the chain. But when you think about it, people don't go to Youtube, Netflix, iTunes Store because some engineer at a tech company implemented a really great video player or ad distribution platform. The part of that transaction that is the biggest value- add to the consumer is not the part the tech companies do. The big value-add is content. That's the important part. So why should the tech companies make all the money in that chain?

If the media companies weren't such dicks suing grandmas, people probably would have more sympathy for them. Here is a vastly bigger industry (all US music + movie sales are less than Apple's revenue alone) pushing for weaker property rights so they can keep more of the profits in a transaction where someone else does the real valuable work the customers are paying for.

</comment><comment><USER3> TL;DR: lobbyist group for special-interest industry A wants to change laws favored by lobbyist group for special-interest industry B. Both industry A and B are motivated by nothing other than self-interest; specifically, tech. companies that allow users to post content online are annoyed with requirements to police that content, and the more copyrighted content contributed online by users, the better their own business models become.

<comment><USER4> _Every year that a work is covered by a copyright is a year that subsequent users cannot build on that work. While incremental protection may provide additional reward to the author, society pays for this reward by being deprived of follow-on use, while the author and his or her heirs accumulate profits._

I think that is a good point no matter the motives for making it. At _some_ point protecting intellectual property "just because" becomes a problem, and not protecting it at all is obviously a problem, too; so where is the sweet spot? Immortal companies like Disney would probably say "50.000 years", but what would be best for humans?

What _is_ fair to creators and their families? On the one hand I'm thinking, if you create something so great that people hundreds of years later still cherish it, why _shouldn 't_ your grand grand grand kids have a slice of that pie? On the other I think it's rubbish that one can't legally sample a few chords from songs that are 50 years old, just because some corporation happens to be fussy about it. Maybe the full work should be protected longer, but restrictions on derivative works could gradually soften much sooner?

And should it be the same for all types of copyrighted content? Think documentary footage etc. - while I would argue "fantastic" art isn't something society necessarily is entitled to enjoy as soon, when it comes to other things, the sooner it's up on archive.org the better!

<comment><USER5> > if you create something so great that people hundreds of years later still > cherish it, why shouldn't your grand grand grand kids have a slice of that > pie?

Because you could no longer be incentivised to create more, since you'd be dead. Kids should be satisfied with wealth accumulated while you could still create.

<comment><USER4> I agree personally, but there is still a difference between that and outright enforcing it as society. Also I'd argue a lot of things were created for the sake of creation anyway (or to be "consumed" on the spot, see classical music, much of it created as a one-off for a specific mass etc... people _expected_ composers to constantly write new stuff, no touring with greatest hits) ... but then it's still up to the authors to license it accordingly, right?

<comment><USER5> I think we've seen enough of both worlds (no copyright and 100 year copyright) to know that both extremes are problematic. What about 5-10 year copyright? I'd like to give that a try.

<comment><USER6> Since when have we ever had no copyright? I don't believe that a system whose primary purpose is to give certain people the "right" to attack others with litigation will ever succeed in fueling innovation. The only thing copyright does is pit people against each other.

It seems to me that the entire system needs to be removed and replaced with another system with the primary goal of giving authors more control over how they get credit for their works.

<comment><USER7> Well, I would say round about 303 years ago:

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


Usability Testing in Code Review - <AUTHOR> http://kilon.org/blog/2012/10/usability-testing-in-code-review/
 It means that as far as is humanly possible, when I look at code it should be self-evident. Obvious. Self-explanatory. I should be able to "get it"—what it is and how to use it—without expending any effort thinking about it <comment><USER2> This is a great idea. Too often code review is a hierarchical process in which a single high-up checks that coding standards are being met and nothing more — this, on the other hand, is genuinely useful.

How do you mitigate the fact that it will take an awful lot of time, though? Just by appealing to the idea that it will save time in the future?

<comment><AUTHOR> That would be the case. I didn't sell this one yet, but I am trying to make a point that the time it will save down the road is way more than the time we invest today..</comment></comment>


Designing for the Mobile Web - <AUTHOR> http://www.sitepoint.com/print/designing-for-mobile-web

<comment><USER2> nice article --- i was always wondering how to manage 2 different kind of users (mobile and desktop) ... this article give some basic fundamentals to take care.</comment>


Illuminato Labs computing fabric - <AUTHOR> http://www.illuminatolabs.com/IlluminatoHome.htm <comment><AUTHOR> Has anyone on HN bought one of these ?

What was your experience with them ? Links to projects ?</comment>


Ask HN: Is there a Hispanic/Latin girls that code site/organization? - <AUTHOR>

My girlfriend is of Mexican descent and is searching for a Hispanic/Latin girls that code site or organization. Are there any sites like blackgirlscode.com encouraging girls of color to code and a girlswhocode.com encouraging girls to get into it. She is thinking that this is a demographic that is grossly underrepresented in the field. <comment><USER2> I hope these '* can code' type organizations don't become an industry in and of themselves. I visited a website for one such group and saw they're actually competing with each other for funding and prizes.

I'm afraid it might end up creating an atmosphere where girls feel like they can't learn programming by their own initiative and have to pay to attend a workshop targeting their very specific demographic. I don't think Asian American girls need to be taught programming any different from Black girls.

</comment><comment><USER3> I think there is a group composed of Hispanic Pyladies. Not sure if its active. Go to their site (pyladies site) and check.

</comment><comment><USER4> Email this person: [http://rckbt.me/contact/](http://rckbt.me/contact/)</comment>


How to reclaim disk space used by Docker volumes, but keep a few important on - <AUTHOR> https://domm.plix.at/perl/2020_06_docker_prune_volumes_by_label.html <comment><USER2> Docker (on a Mac) doesn't just hog used space, it hogs space _from the very moment you install it_ [1] and the Docker team doesn't care.

Between that and Electron apps taking up any smidgen of available RAM I'm surprised my machine is able to run anything else at all.

[1] [https://github.com/docker/for- mac/issues/2297](https://github.com/docker/for-mac/issues/2297)

<comment><USER3> FWIW I skimmed that issue thread and unless it massively changes much later on, Docker is not in fact using that disk space as it is a sparse file.

<comment><USER4> Well, if the rest of the system treats the spare file as regular file[1], then it doesn't matter it is sparse, the space still can't be used.

[1] for example someone there mentioned that Apple Software Update app refuses to update system, claiming there's not enough space.

<comment><USER5> I took a brief look at the issue and it's very strange. People reporting the issue and piling on clearly don't understand sparse files (which is fine in and of itself), and their claims that "the rest of the system treats the spare file as regular file" are just not very credible to me.

The thing is, if you want to look at the physical size of a file/directory, you don't use ls, you use du. Similarly, if you want to look at disk usage and free space on a volume, you use df, not summing up ls reported size of all files. Using df for free space is especially important on APFS since you have APFS volumes sharing the space in a container. And of course, du and df correctly report actual disk usage. If you check Docker.raw in Finder, it says something like "63,999,836,160 bytes (10.25 GB on disk)", too. Btw, even `ls -l` reports correct total disk usage:

      $ ls -lh ~/Library/Containers/com.docker.docker/Data/vms/0/data
      total 9.6G
      -rw-r--r-- 1 <omitted> staff 60G Jun 17 02:01 Docker.raw

There's just no way "the rest of the system treats the spare file as regular file". I suspect people actually have disk space tied up in APFS snapshots (Time Machine takes a lot of those and I have to clear them constantly with tmutil on machines with meager SSDs), but they're not aware of that, instead they ran some crappy script or something found online, located this "huge file", then just blamed it for the disk usage. Any proper tool, e.g. Disk Utility (builtin), DaisyDisk won't make this obvious mistake. I thought maybe people were using Finder search to find large files and that's the problem, but I just tried and Finder search also makes a distinction between logical size and physical size, so it's not even that.

Edit: In case it's not clear, sparse files don't "reserve" their space. Try this:

      for i in {000..999}; do dd if=/dev/zero of=/tmp/sparse-$i bs=1024 count=0 seek=104857600; done

You just created a thousand 100GiB files totaling zero bytes in disk usage (not counting metadata).

<comment><USER2> I understand what a sparse file is and so do many of the people in that thread. The important point is, do all the _apps_ on the Mac understand that sparse files don't take up all that space? Some clearly don't, which means their developers either don't or didn't account for them. It's not the fault of the users in that thread.

<comment><USER5> They don't need to. If an application needs to know how much free disk space there is, they use an API like statvfs(3) that queries the filesystem, which clearly knows how to compute the disk usage of itself. No application is gonna ask for the logical size of every single file on the disk; why the hell would they even care about this particular Docker.raw file?

As I said, reports like "macOS installer says there's not enough disk space because of a sparsefile somewhere" and "macOS tells me disk space is low every two minutes because of a sparsefile somewhere" just aren't credible if you understand how it works. Otherwise, how would they behave if you create a thousand "100GB files" like I demonstrated? Going all crazy? Your free disk space is negative?

<comment><USER2> > just aren't credible if you understand how it works.

Yes, your theoretical knowledge, which several of the people in that thread obviously have, beats actual experience.

Not only is _that_ not credible, it's about as useful and insightful as "it works for me" \- and who on Earth is using statvfs on a Mac? Is the installer using statvfs? You've looked, right? And you believe every developer uses the correct APIs and never introduces a bug…

Try reading and not skimming, it's especially important when dealing with bug reports.

<comment><USER3> The alternative theory is that the installer is spending a very very long amount of time (on my computer i bet that would take at least ten minutes) scanning every file on my disk to look up the declared size and totaling it to check whether the size of the disk minus that number is enough disk space, which is so absolutely ridiculous of a premise that I don't even know how it is being taken seriously.

<comment><USER2> That's _an_ alternative theory, among many other possible ones that wouldn't lead to the dismissal of an entire thread of developers' comments based on a quick skim and the strange idea that not one of them knows what a sparse file is.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> For docker-compose: When running and killing don't use ctrl+c It leaves anonymous volumes behind

Start as deamon with: docker-compose up -d

Stop with -v to remove anonymous volumes:

docker-compose down -v

This will slow down swelling

<comment><USER7> How do I view server logs in real time while developing if daemonized (while preserving all the colorization and stuff). Do I just do some kind of tail log stream or something?

<comment> purple-dragon I think it would just be:

      docker logs -f CONTAINER

If you want to watch logs from a specific file within the container then I would just use 'docker exec' and whatever shell commands you prefer.

<comment> X-Istence docker-compose logs -f <service>

So you don't have to manually hunt down the container you want the logs for.

</comment></comment></comment></comment><comment><USER8> For local dev, I run all my docker stuff via minikube (`minikube docker-env` sets things up so your shell uses the docker daemon running in minikube, allowing you to run docker containers outside of k8s) and then from time to time I just run `minikube delete`, which deletes the entire VM - docker images and cruft included.

It's a bit of a scorched earth approach, and it won't help if you want to preserve volumes, but it's a good way to ensure no docker cruft is left behind on your local machine.

</comment><comment><USER9> on one system, I had two images, and just did docker build once, and thereafter docker run

and then one day my disk was full.

[https://lebkowski.name/docker-volumes/](https://lebkowski.name/docker- volumes/)

and I always added: docker run --rm ...

But clearly I didn't internalize all the stuff that's saved.

<comment><USER10> I have had good experience with this that is posted at the end of the page

[https://gist.githubusercontent.com/mlebkowski/471d2731176fb1...](https://gist.githubusercontent.com/mlebkowski/471d2731176fb11e81aa/raw/4a6a18a19ac5a9f1b8c6533a07f93e01da8ddba0/cleanup- docker.sh)

</comment></comment><comment><USER11> This is only necessary because docker is steaming pile of hot garbage. It's the leakiest of leaky abstractions, and a hoarder to boot.

<comment><USER12> Could you explain why is it so leaky?

<comment><USER13> Client/server model is one of the leakiest things of Docker. Try mounting a relative path, or run docker inside docker, or try to inherit the current user's security privileges.

To this day I don't understand what problems the client/server model solved, and why it was worth all the problems it created.

<comment><USER14> I guess - and I might be very wrong here - that the reason for client / server architecture was to be able to schedule docker containers on several hosts without the need to ssh into them. And I guess something like docker-in-docker or docker containers accessing the Unix socket would be more complicated.

<comment><USER13> But why the need for Unix sockets or anything like that? Creating a container is a fancy fork(), and executing that through a foreign process (especially when on the same server) makes no sense to me.

Remember, containers are just Linux cgroups, there is nothing "special" about a container that requires a client/server.

</comment></comment></comment></comment></comment><comment><USER10> Off topic: I was surprised about how amused I was by this. It looks like normal humor doesn't cut it for me anymore.

> Because I cannot be bother to remember this, and don't want to google how > it's done only to end up at my own blog, I did a quick realias to add a new > bash alias

</comment><comment><USER14> On Mac, pruning images, containers and volumes also helps with battery life, because the default sync process for the VM draws a lot of power.

</comment><comment><USER15> Is it really necessary though? I think it doesn't prune recently used volumes.</comment>


Ask HN: What are you working on this week? - <AUTHOR> Little late since its the middle of the week but discuss what you have done recently and are working on this week.<p>Please be descriptive and don't hesitate to champion your accomplishments or ask for help, advice or other guidance. <comment><AUTHOR> At work: Mostly support inbox type stuff, and building reports.

Outside of work: I'm working on a project that involves Elixir for the backend and Vue.js/Vuex for the frontend. It's like/is a dispatching web application. So far I have login/logout working properly, user roles are up and running. Next: Event CRUD, Call CRUD, then Socket.io for communication with Mobile and SMS for others.

[https://alpha.highwayapp.co](https://alpha.highwayapp.co) \- Couldn't find a good name for it so I called it Highway.

Also I'm trying to figure out the best way to go about multi-tenanting the application.</comment>


Hardware Accelerated Emulation for Android Development Toolkit 17 - <AUTHOR> http://www.infoq.com/news/2012/03/ADT-17 <comment><USER2> They promised this since the last Google I/O. I'm hoping the emulator is now a lot faster than before.</comment>


This South Korean tech startup hires only seniors over 55, to prove a point - happy-go-lucky http://www.channelnewsasia.com/news/cnainsider/this-south-korean-tech-start-up-hires-only-seniors-over-55-to-8940876 <comment><AUTHOR> Interesting story. Kind of reminds me of how some U.S. companies locate their customer call centers to places like Portland, Oregon and Tennessee because the people there have a reputation for being friendly on the phone and more able to remotely resolve problems.

But could an American company limit its hiring to people over the age of 55? Wouldn't doing so run up against anti-discrimination laws?</comment>


PG writes about Arc ( firstname.lastname@example.com ) - <AUTHOR> http://www.paulgraham.com/arc.html

<comment><USER2> Thanks for the update. I briefly considered sending a mail.

But I guess sending something there to get notified will be a use of time if you already hang out on news.yc.

<comment><USER2> Oops, I should have written "sub-optimal use of time" or something like that.

</comment></comment><comment><USER3> Release early and often eh ;)</comment>


Chrome 33 Beta Introduces Custom Elements And Support For Speech Synthesis API - <AUTHOR> http://techcrunch.com/2014/01/16/chrome-33-beta-introduces-custom-elements-and-support-for-speech-synthesis-api/

<comment><USER2> The W3C is uniquely capable making a mess of anything and everything. I love this quote from the Web Components specification: "Decorators, unlike other parts of Web Components, do not have a specification yet." But hey, we'll throw them in there anyway!

The basic problem with the W3C --and the problem they've always seemed to have, is that the people responsible for the specs are _too smart_ for their own good. KISS is simply beyond them.</comment>


Substantial decrease in students competencies and literacy in writing and Math - <AUTHOR> https://www.bipartisanalliance.com/2020/01/flynn-nine-pisa-countries-study.html <comment><USER2> The authors ask "Do we need to prepare for the end of our civilization as we know it due to the erosion of basic human competencies? Are we indeed drowning ourselves in technology and information that we can use less and less effectively? Will saving the human race from itself be the next task at hand for educators? Only the future can tell."</comment>


Ask HN: top five start up cities? - <AUTHOR>

The world knows SV is #1. What about #2-#5? <comment><AUTHOR> Does anyone put San Diego in there? I'm having a little debate with friends from SD. Just curious?

</comment><comment><USER2> NY, Boston, Austin, Seattle. Not necessarily in that order.

<comment><AUTHOR> I hear Austin, Boulder, London, Portland, when we talk "startups"

NY, Wash DC, Seattle, Boston when talking about more established.

If you live in any of the above confirm or deny?

</comment></comment><comment><USER3> New York seems to be up there.</comment>


Ask HN: Which is the liberal opensource license with the least legal overhead? - <AUTHOR>

Based on my own research I've generally opted for the MIT License, but I'm wondering if others with more experience with the legal side of OpenSource can offer some clarification regarding this MIT vs other licenses. <comment><USER2> In terms of word count, I'm sure the MIT License is one of the lowest. But if you're looking in terms of total legal overheard, you may want to consider that a more modern license crafted by a legal team could possibly be better tuned for the laws than a license with a smaller word count. IANAL.

</comment><comment><USER3> The Unlicense - <http://unlicense.org>. Put your software into the public domain, forget about all legal complexity. And this way people can reuse your code in the most hassle-free way possible.

Also, keep in mind - no matter which software license you choose, your code will go into the public domain eventually.

<comment><USER4> Public domain, unlicensing, the wtf license, etc. _create_ legal hassles instead of avoiding them, because many people have a short list of preapproved licenses that they understand and these aren't on the list. And companies with legal departments generally don't want to touch these licenses.

<comment><USER3> I do know where you're coming from, but SQLite, which is in the public domain, is by far the most deployed SQL implementation, and most of those deployments are by companies - big companies, even.

Also, by your logic, nobody should ever have used the GPL when it was new- fangled.</comment></comment></comment>


Nanobox: Local development done right - <AUTHOR> https://desktop.nanobox.io/ <comment><USER2> The aggregate HN community seems to be reacting pretty negatively, but I see a lot of value in high-level "magic" tools (like this and Otto) that abstract away configuration for developers. While everyone else commenting is likely more experienced and thus feels more comfortable setting up the required config files, I am still a relatively novice web developer. Tools such as Nanobox and Otto provide a way for people like me to start using the right dev environment management processes without being overwhelmed.

<comment><USER3> You hit it right on the head. We realize that this tool isn't going to be for everyone, but it will definitely help others. We're trying to make it so that developers don't have to worry about configuring an environment and just focus on coding.

Even an experienced developer could benefit from this if they don't want to take the time to configure environments.

<comment><USER4> I think it's great what you're doing to reduce friction for developers.

I don't think people want to take time to configure environments. It's just that we've all been bitten by environment configuration and sometimes configuring it in a specific way matters.

</comment></comment></comment><comment><USER5> It's a bit disingenuous to list a bunch of languages (along with custom logo icons) that are _presumably_ supported by nanobox, only to force visitors to drill-down one-by-one to discover that only one out of three have any support at all, and the others are just placeholders saying "please contribute".

On the positive side, I guess it is better odds than a state lottery.

<comment><USER6> We (I work for Nanobox) listed all the languages we hope to support mainly as an invitation to collaborate. We admittedly do not specialize in all programming languages. Engines are open-source and those who do specialize are invited to create engines for each language. We'll even create the engine for you. We just need to know what the engine should look for and how the environment needs to be configured.

<comment><USER7> The php part has almost no content. Im also concerned that the custom builds are not documented, its easy to build a dev env with half a dozen rpm files thrown in, but when it comes to getting all your custom extensions etc added thats a bit harder and we cannot judge that as of right now.

<comment><USER6> There's currently only one php engine, other than the generic php engine, listed on [https://engines.nanobox.io/languages/php](https://engines.nanobox.io/languages/php). However if you look at the generic php engine docs, there's a lot of content: [https://engines.nanobox.io/releases/3b30f069-bb16-4f1a-9c36-...](https://engines.nanobox.io/releases/3b30f069-bb16-4f1a-9c36-10ac20580799). And even more in the Advance config options included in the nanobox-engine-php repo: [https://github.com/nanobox-io/nanobox-engine- php/blob/master...](https://github.com/nanobox-io/nanobox-engine- php/blob/master/doc/advanced-php-config.md)

</comment></comment></comment></comment><comment><USER8> I am skeptical about this tool because I feel like the learning surface underneath will actually be massive, but massive in the wrong direction toward someone's idiosyncratic product.

In order to give me confidence that I won't have to look underneath the surface too much, I'd want to know that the abstraction is very airtight, but all appearances say otherwise. Like another commentator said, I'd rather have an app with well-defined boundaries.

<comment><USER9> Yep, I don't get this whole trend. Want to start a virtual machine? Use docker-machine. Want to start a bunch of services? Use docker-compose. Want to define the service stack? Use a Dockerfile with the predefined language stacks.

Previously we used to write hundreds of lines of puppet/chef/whatever scripts just to set things up. Its all already boiled down to just a few lines of configuration files. With tools like this or otto, its getting further hidden into nothing, seeming to look almost like magic. I'd rather stick with the few lines that I can control.

<comment><USER10> Yes, nanobox will try to auto-configure your environment for you. If you would rather define your environment or if nanobox can't auto-configure your environment, you can either:

1- Explicitly define your app's environment with the Boxfile ([https://docs.nanobox.io/getting- started/boxfile/](https://docs.nanobox.io/getting-started/boxfile/))

2- Write your own engine that will actually setup the environment ([https://desktop.nanobox.io/engine-dev/](https://desktop.nanobox.io/engine- dev/)).

</comment></comment></comment><comment><USER11> Interesting, but this is too much of a framework for my taste. I prefer to work with independent tools with a well-defined boundary, so that I can change them at will.

<comment><USER12> Agreed. This sentence especially makes me think this is too much magic:

>Nanobox detects your app type and automatically configures the environment and installs everything your app needs to run

and

>Each Engine sniffs the code looking for a positive match to determine which language / framework your app is written in

and lastly:

>The matched Engine generates a Boxfile defining the services your app needs to run and how each should be configured

This sound quite fragile imo. No specs or configuration, it just guesses what all my deps are, and how to configure redis,mysql, and "other data-specific services" etc.

So an enourmous abstraction over everything except my source code with no configuration and a promise to "take care of everything" and forcing me to use their pipeline. Hm...

<comment><USER13> >> Nanobox detects your app type and automatically configures the environment and installs everything your app needs to run

Yeah, that's gonna be a bit hard for it to do with our Clojure web app. Well, maybe. If it knows to install openjdk-7 and nginx because it sees a project.clj, then perhaps it really is as smart as it thinks it is.

<comment><USER14> .. or immutant or jetty or .... Buildinng a simulated production environment on the dev machine is hard because in production, there are (in most cases) special settings, special servers, special configurations, special files on special places, ... It is rarely out of the box configured service stacks.

</comment></comment></comment></comment><comment><USER15> While I don't think your tool is for everyone your site design is. Love the colors and clean design, goes a long way towards making me want to understand Nanobox.

<comment><USER16> Also a big dan of the design but I do find it to be _much_ too dark, I'm in a well lit office, with a calibrated Dell UltraSharp display and the site's color scheme is really quite hard on the eyes, even if the design itself is beautiful.

<comment><USER17> _Ars Technica_ and Heroku, two sites that catered to the tech ninja videogamer-brogrammer demographic, both spent a lot of effort work walking back their light-on-dark visual identities when it was time to join the grown- ups.

_Ars_ addressed this issue in the FAQ for their 2004 redesign:

[http://arstechnica.com/uncategorized/2004/10/redesign/](http://arstechnica.com/uncategorized/2004/10/redesign/)

> Q. Why the white? Oh my eyes!

> A. Believe it or not, many people cannot read the "black" version of the > site. This has been the #1 complaint Ars has received since day one. We > thought it unwise to continue to use a default color scheme that was driving > so many users away. Once it was clear that we could support both, we did, > but white will be the default. The black design was also unfavorable to > readers in corporate environments, and other places where the scheme sent > the wrong signals to bosses and cubicle neighbors.

</comment></comment></comment><comment><USER18> What makes it different from [https://ottoproject.io](https://ottoproject.io) ?

<comment><USER6> We, like otto, see the need for tools like these in today's development climate. While both tools are very similar and accomplish nearly the same thing, the main difference is under the hood:

1\. Nanobox embraces Docker and the philosophy of containers. Every component and process of your app is housed inside of an isolated container. The VM only runs the Docker deamon and the Nanobox deamon. In contrast, otto leverages Docker, but is built more to conform to Hashicorp's existing toolset.

2\. Extensibility in Nanobox is accomplished through engines, which are inspired by and very similar to Heroku buildpacks. As noted above, engines run inside of isolated containers inside the VM. Otto's extensibility is accomplished through Go plugins that run on the host machine.

3\. Nanobox caters to the dev workflow. We'll automatically suspend and save the VM state when it's not in use. Nanobox doesn't require the VM to always be running.

</comment></comment><comment><USER19> And again dependency on Vagrant and Virtualbox. What can you do.

On every modern Ubuntu (even previous/old LTS) Docker works out of the box, without any issue.

Why add another virtualization layer on top?

<comment><USER20> To work with other operating systems?

<comment><USER19> Then why not have it optional?

</comment></comment></comment><comment><USER21> I have a Dockerfile that I use to run my production. This is already built.

Is there anything I can use to build a local dev environment quickly _using the Dockerfile_. Obviously I can use docker, but quite often new developers have trouble with docker.

<comment><USER22> Why not docker-compose[1]? One thing it does well is abstract docker commands to `docker-compose build && docker-compose up`.

[1]: [https://www.docker.com/docker-compose](https://www.docker.com/docker- compose)

<comment><USER23> Docker Compose depends on a bundled copy of OpenSSL that has been insecure since June: [https://github.com/docker/compose/issues/1601](https://github.com/docker/compose/issues/1601)

</comment></comment></comment><comment><USER24> Can't see the letters, sorry. Not everyone is sitting in a dark room.

<comment><USER25> I am sitting in a dark room, with a high-contrast IPS screen, and still can barely read anything.

<comment><USER13> That said, the colors really _are_ beautiful. At least, what I can see of them. Excellent color palette! I'm a sucker for softened tones like these.

<comment><USER25> Seems to be the solarized colour palette (or was inspired by it, at least): [http://ethanschoonover.com/solarized](http://ethanschoonover.com/solarized)

Looks fancy, but boy is it bad on the eyes. I've since switched away from it to harlequin ( [https://github.com/nielsmadan/harlequin](https://github.com/nielsmadan/harlequin) ).

<comment><USER13> I used to use Solarized but switched to Zenburn since then in my editor. That said, whatever color scheme they're using on that website looks really nice on the website, even if I wouldn't use it in my editor (I might though!)

</comment></comment></comment></comment></comment><comment><USER26> Assuming this works perfectly well, all the time — this is awesome. A possible pain-point this is addressing is that apps behave differently locally and then when you move them to the cloud (aka deploy them) they behave differently.

<comment><USER6> Full disclosure: I work for Nanobox. We're prepping Nanobox Cloud for release likely in 2016 [https://nanobox.io/cloud/](https://nanobox.io/cloud/). With Nanobox Cloud, you'll be able to take the exact same environment configuration you have locally and deploy it to a cloud provider (starting with Digital Ocean but others will soon follow). The same engine used to run your app locally will be used in the production app. The whole workflow has been designed to provide parity between development and production environments.

<comment><USER26> How can I pay you for this?

Note — I know many might disagree, because of very valid points, but for me personally, deployment is a nightmare. I really have no clue how that works. I didn't know SQLite3 (being file-based) needed special permissions on the .db file to be able to avoid an OSError, and the folder containing the file needed other permissions. The whole absolute-path-in-server-but-relative-will-work- locally, blah blah — This is really a irritating business for me.

Deployment ideally should be like —

$ sometool deploy myAwesomeApp

$ Enter <some-sort-of-username-for-server> — myServer

$ Enter <some-sort-of-password-or pem key location> — ••••••••••

$ Deploying...done!

$ Your app is live on YOUR-SERVER-IP

Too far off for many. Many might hate it, but trust me I personally know atleast 50 other developers who would benefit from a setup like this. Mostly people learning how to code, who just want to put their simple apps out there.

<comment><USER6> Thanks for the support. Nanobox Cloud is still a work and progress, but we are hoping to open up the private beta soon. You can sign up for a beta invite on [https://nanobox.io/cloud/](https://nanobox.io/cloud/) (Just click "Sign up for the Private Beta" and submit your email).

</comment></comment></comment></comment><comment><USER27> What's your take on Nix/Guix vs containers/virtual machines for setting up development environments? (note that the former also support containers, but they provide a very systematic way to manage dependencies)

<comment><USER23> It's an odd comparision, because Nix and Guix both include tools for making virtual machines and containers. I think the better comparison would be virtualizing/containerizing traditional distributions like Debian vs. using Nix/Guix.

With a traditional distro, you need to use a handful of additional tools like Vagrant, Docker, Ansible, etc. as well as several additional package managers to get everything setup. With Nix and Guix, you use a single package manager and single suite of tools to provision local environments, with or without virtualization. Those environments are declarative, reproducible, can be rolled back, etc. It's a _much_ cleaner way to work.

<comment><USER28> I have read about half of Eelco Dolstra's Ph.D. thesis [1]. I wish all distros worked like this. I had never heard of Guix before and was about to ask how it relates to / differs from Nix, so if anyone else is wondering:

Guix:

        Specializes in providing exclusively free software.
        Based on Nix [2].
        Implementation differences, quoted from section 2.3 in [3]:

"Our main contribution with GNU Guix is the use of Scheme for both the composition and description of build processes, and the implementation of build scripts. In other words, Guix builds upon the build and deployment primitives of Nix, but replaces the Nix language by Scheme with embedded domain-specific languages (EDSLs), and promotes Scheme as a replacement for Bash in build scripts. Guix is implemented using GNU Guile 2.0 2 , a rich implementation of Scheme based on a compiler and bytecode interpreter that supports the R5RS and R6RS standards. It reuses the build primitives of Nix by making remote procedure calls (RPCs) to the Nix build daemon. We claim that using an embedded DSL has numerous practical benefits over an independent DSL: tooling (use of Guile's compiler, debugger, and REPL, Unicode support, etc.), libraries (SRFIs, internationalization support, etc.), and seamless integration in larger programs. To illustrate this last point, consider an application that traverses the list of available packages and processes it—for instance to filter packages whose name matches a pattern, or to render it as HTML. A Scheme program can readily and efficiently do it with Guix, where packages are first-class Scheme objects; conversely, writing such an implementation with an external DSL such as Nix requires either extending the language implementa- tion with the necessary functionality, or interfacing with it via an external representation such as XML, which is often inefficient and lossy. We show that use of Scheme in build scripts is natural, andcan achieve conciseness comparable to that of shell scripts, but with improved expressivity and clearer semantics."

From my limited view, Nix has a very strong theoretical base. Do you expect any developments at that level, and do you think these hypothetical developments will be integrated by the developers of Guix, or might it at some point start ignoring improvements in the theory?

[1] [http://nixos.org/~eelco/pubs/phd- thesis.pdf](http://nixos.org/~eelco/pubs/phd-thesis.pdf)

[2] [https://en.wikipedia.org/wiki/Nix_package_manager](https://en.wikipedia.org/wiki/Nix_package_manager)

[3] [http://arxiv.org/abs/1305.4584](http://arxiv.org/abs/1305.4584)

<comment><USER23> >From my limited view, Nix has a very strong theoretical base. Do you expect any developments at that level, and do you think these hypothetical developments will be integrated by the developers of Guix, or might it at some point start ignoring improvements in the theory?

I don't anticipate any major changes in the theory, but if there were improvements made, Guix would surely want to implement them. In general, we take things like build reproducibility further than Nix does. There are many packages in nixpkgs that use pre-built binaries rather than building from source. Guix also has tools to allow users to publish their own binaries for others, and also provides a tool to compare locally built binaries to remote binaries to detect non-determinism or security compromise.

</comment></comment></comment></comment><comment><USER29> Does anyone know what the endgame for this software is? Does Nanobox plan to offer a more premium service in addition to the basic functionalities? Hashicorp makes some revenue from premium services and I cannot imagine a tool this polished being sustainable without some sort of revenue source. Just asking, not a criticism.

<comment><USER3> We hope to keep the nanobox desktop tool free and open source. We plan on offering a "cloud" version of the tool ([https://nanobox.io/cloud/](https://nanobox.io/cloud/)) that will use nanobox desktop to help streamline deploying production code to a provider of your choice.

<comment><USER29> Thanks Steve. After looking into your company a bit it's clear that you all have been building your infrastructure to support PagodaBox for some time. Thanks for open sourcing so many tools [https://nanobox.io/open- source/](https://nanobox.io/open-source/) . I had never heard of anything you all made until today.

</comment></comment></comment><comment><USER30> To save everybody some time, here is a list of the runtimes and frameworks actually supported by nanobox:

      - ruby 1.9, 2.0, 2.1, 2.2 / jruby 1.6, 1.7, 9.0
      - node 0.8, 0.10, 0.12 / iojs 2.3
      - python 2.7, 3.4
      - php 5.3, 5.4, 5.5, 5.6
          - wordpress (version unknown)
      - java openjdk 7, 8 / sunjdk 6, 7, 8 (no minor version information available)

The actual content on the "Engines" page is aspirational, to say the least. One of the first question I ask of a tech product is "is it usable today for any current projects?" \- why make this question challenging for site visitors?

If they're targeting novice web developers who should follow best practices, no rails support and out-of-date node support seems like a bad place to start.

<comment><USER6> Posted this answer to a similar question/comment:

\---

We (I work for Nanobox) listed all the languages we hope to support mainly as an invitation to collaborate. We admittedly do not specialize in all programming languages. Engines are open-source and those who do specialize are invited to create engines for each language. We'll even create the engine for you. We just need to know what the engine should look for and how the environment needs to be configured.

\---

The library of engines is in its infancy and we're working to expand it. You're absolutely right in saying that the list of engines is "aspirational". Anybody can build and publish new engines. Any help you can provide would be greatly appreciated.

<comment><USER30> Aspirational is great, but I would suggest you update that page to clearly identify what is currently supported versus what is aspirational. There is probably limited overlap between your target user audience and your target collaborator audience.

<comment><USER10> I think you're right. Thanks for the advice!

</comment></comment></comment></comment><comment><USER31> seems interesting but I started clicking around, specifically in the Python section and this website seems to have been released too early, the text I am not sure is right(it says I need to use a ruby engine settings for python?) and some links don't work or give 404.

<comment><USER32> Later it says you can specify which JS runtime to use with python:

      build:
        runtime: python27
        js_runtime: nodejs-0.12
        app_module: ''

<comment><USER33> That one's not unreasonable.

<comment><USER32> It seems I can't also specify a ruby runtime, though. What makes one reasonable and another not?

<comment><USER6> The mention of ruby in the description is a typo. There isn't a ruby runtime available in the generic python engine, but you're free to fork the engine and add the ruby runtime. All engines are open-source.

</comment></comment></comment></comment></comment><comment><USER34> I develop in OSX, Vagrant is entirely too much overhead and hurts more than it helps. It's less work to make the app work cross-platform than to have to deal with the slowdown and the added tool complexity.

<comment><USER35> The only overhead I notice is the fact that VirtualBox Shared Folders are really slow. If that's the case, using the paid VMWare plugin can help.

<comment><USER36> Or use NFS. Way better performance.

<comment><USER10> NFS will be the default adapter for nanobox, but can be disabled.

</comment></comment></comment></comment><comment><USER37> I just see a blue wall with a logo at the bottom on Edge or IE 11.

<comment><USER10> This is an issue we just became aware of. Working on a fix as we speak.

</comment></comment><comment><USER38> Beautiful website. Really. The colors are exquisite.

</comment><comment><USER39> Magic engine detected Rails 4.2.5 app as nodejs...

<comment><USER6> There currently isn't a Rails engine so rails won't get auto-detected yet. The nodejs detection is listed in the New column on their trello board: [https://trello.com/b/4nVFzmNZ/nanobox- desktop](https://trello.com/b/4nVFzmNZ/nanobox-desktop)

Looks like it never got added as an issue on the nanobox project. I'll do that now.</comment></comment>


Show HN: My product lets you catalog your book collection online - <AUTHOR> http://www.libramatic.com My story:
I founded this a couple of years ago because my school (I was 11/12 at the time) had recently purchased a library system which was horrible and ugly. I thought it could be made much better, so I coded for months on end to get this product working.
I submitted this to a TV competition on national TV and got the opportunity to pitch this product in front of 500,000 viewers. I received a bursary of €2,000 from the show and used that money to grow the business.
Currently the business is thriving and is growing rapidly.
I'd really appreciate any feedback you might have.
Thanks,
Shane <comment><USER2> I tried doing this to my book collection a few years ago. Things that I found:

* Scanning ISBNs had a failure rate of at least fifteen percent, including finding the wrong title, or no match at all.

* Many of my books did not have ISBNs. For these, using the Library of Congress number often worked, but you have to open the book, find the number, and keyboard it.

* About one in twenty of the books had to be completely entered by hand.

* Using multiple lookup services helped, but only to a degree.

I got sick of it after a couple thousand books, and never even got to the paperbacks.

I should add: Thirty clams a month is insane (I just saw the pricing). I'd never, ever pay that in rental -- I might pay up to twice that /once/ for a well-written app which stored its index in a place that I controlled.

A good FAQ to add: What's your security story? I'm putting an inventory of potentially valuable stuff into your site, how do you ensure it's not going to leak?

<comment><USER3> Your local Cataloging Librarian, brought to you by the above bullet points.

</comment></comment><comment><USER4> A few Qs.

> WHAT IF A BOOK DOESN'T HAVE AN ISBN? > > If you have a book that doesn't > have an ISBN, just make one up. It's that easy.

You don't validate ISBNs? Or you need us to invent a valid one that may one day be assigned and is currently unused?

> Unlimited Books Unlimited Users €29.99 per month

I am interested in this as my girlfriend's book collection is in the order of several thousand titles.

This price point just makes this a default no go. It would take her a lot of time and effort, serious investment, to catalogue all of her books.

The primary use-case is for insurance, and a secondary use-case would be to generate bibliographical entries for her papers and work.

Both scenarios are seldom-access scenarios, and 30 EUR per month seems very excessive.

You probably realise that your main competitor is the spreadsheet. Which has virtually no ongoing cost and can be backed up and shared easily, and Google Docs spreadsheet even means it can be managed online easily.

The only bit of value is to reduce the time to catalogue, the process of scanning the ISBN and resolving the book details from that.

Have you considered one-off pricing based on # of ISBN lookups and then a very low storage price... 30 EUR per 1,000 ISBN lookups, 10 EUR per year storage per 1,000 books.

And finally... is the ISBN database you're using a national one, or a global one? Of course ISBN is global, but some catalogues of data are country specific.

<comment><USER5> _you probably realise that your main competitor is the spreadsheet_

I've written a version of this app for my own purposes three times. Then goodreads came along. I think they are the main competitor to this sort of software right now.

<comment><USER4> goodreads is great for discovery, but my girlfriend struggled and loathed it for cataloguing.

I guess the real question is: Who is this aimed at?

My girlfriend and her vast library is very likely not to be the most common use-case.

<comment><USER5> Did you use the mobile app?

I used it to catalog about 600 books and was not amazed but it was probably the best free solution I have tried.

The issue for the hobbyist developer is that the libraries to do the barcode scan on the iPhone cost money. Rolling your own is a pretty big undertaking for a niche app like this. Thus all the apps are about the same level of suck.

</comment></comment></comment></comment><comment><USER6> My story:

I founded this a couple of years ago because my school (I was 11/12 at the time) had recently purchased a library system which was horrible and ugly. I thought it could be made much better, so I coded for months on end to get this product working.

I submitted this to a TV competition on national TV and got the opportunity to pitch this product in front of 500,000 viewers. I received a bursary of €2,000 from the show and used that money to grow the business.

Currently the business is thriving and is growing rapidly.

I'd really appreciate any feedback you might have.

Thanks, Shane

</comment><comment><USER7> Unfortunately, a lot of people who want a service like this have already picked up LibraryThing - [http://www.librarything.com/](http://www.librarything.com/) People like me who already have a significant amount of time invested in LibraryThing won't want to make the switch. Plus LibraryThing is $25 for life (USD).

</comment><comment><USER8> A couple of typos:

> Libramatic retrieves book information such as it's cover art, title, author, > publisher and an even abstract automatically based just on it's ISBN code.

Both its here should be its, not it's. This is something that will make large portions of your target audience twitch.

Is my data exportable? If I sign up for a month, and scan all my books in, can I then take my data and not pay anymore?

How did you arrive at the price points? I'd be interested[1] except I have more than 1,000 books, but I'm not going to pay €30 per month.

Good luck though!

<comment><USER9> _This is something that will make large portions of your target audience twitch._

Exactly, this is for literrate people!

</comment></comment><comment><USER10> Great job! Not many people at your age can create their own products.

Many people here post un-productive comments and are very harsh but there's usually some truth being them. My advice to you is to take all the advice you "want" and build upon that. It takes a long time in order for you to get it "right" so keep changing things until it sticks.

Have you tried using Amazon as your search engine for ISBNs? From experience it is very accurate and complete. You can scrape using a URL like this: [http://www.amazon.com/s/ref=nb_sb_noss?field- keywords=034551...](http://www.amazon.com/s/ref=nb_sb_noss?field- keywords=0345511425)

<comment><USER11> I don't think the Amazon TOS let you use their API on mobile devices. That's why we don't have Delicious Library on our mobile devices.

<comment><USER9> Does that mean that you're not allowed to view the page on your mobile device either? Is that supposed to be some sort of a silly artificial restriction?

</comment></comment></comment><comment><USER12> I don't know how many other people track their book collection this way, but the ability to import a Goodreads shelf would be useful to me. I have an "own" shelf on Goodreads to track what I have in my home/Kindle. A one-click import would save me a lot of redundant bar code scanning. Documentation for the relevant Goodreads API call: [http://www.goodreads.com/api#reviews.list](http://www.goodreads.com/api#reviews.list)

</comment><comment><USER13> Why would I use this over Goodreads, where I also get meaningful discussions, reviews, and rating, as well as a half-decent recommendation engine?

</comment><comment><USER14> I thought about doing this at one point but ran into many API fees to look up ISBN related details. Can you discuss what API you are using, fees you pay to the API owner, and how that is incorporated into your fee? Also, did you write your own ISBN phone scanner app? Or are you leveraging some other, possibly open source, application? Any details would be great to hear. Nice Job!

</comment><comment><USER15> Back when facebook apps first started I wanted to write an app that allowed a user enter in all their books and allow a library like checkout system where your pool of possible books to checkout were the collection of all your friends books (where they allow "friends to checkout" on certain books).

If you continue with this, I would love to see a similar feature.

<comment><USER16> Did you have any success with that app?

</comment></comment><comment><USER17> This sure is a lot more Bootstrap-slick than LibraryThing.

And a lot pricier. LibraryThing is US$10/year, or $25 for a lifetime membership. Libramatic is US$6.50/mo for 1000 books, or $40/mo for unlimited books/users. I presume your target market is libraries, rather than individual users, with prices like that.

</comment><comment><USER18> I did not see it in a quick look through the site but the most obvious missing feature would be the ability to share book lists with friends. Expanding the loan out feature to support requests would allow you to run your own little library service quite easily.

</comment><comment><USER19> Interview with the creator. Very well done Shane, nice job. You kept it simple yet powerful!

[http://www.youtube.com/watch?v=WPy3T_vJEVY#at=42](http://www.youtube.com/watch?v=WPy3T_vJEVY#at=42)

</comment><comment><USER20> I use excel and SkyDrive for the same thing. Works across my phone, desktop and the web.

Sometimes worse is better. Specialised applications can't beat generalised ones or tools to build what you want.

</comment><comment><USER21> For $70 a year, I can afford to lose a couple of books, all without the trouble of scanning them. What is the value of the personal edition?

</comment><comment><USER22> Looks very well done!

However, how does this integrate with existing user's ebook libraries?

<comment><USER6> Thanks :-)

At the moment it is targeted towards physical book collections, but we're currently working hard on eBook integration.

</comment></comment><comment><USER23> Your 'Cloud Scalable' icon looks a little lower resolution than the others.

</comment><comment><USER24> Hasn't LibraryThing been doing this with CueCats for about ten years?

</comment><comment><USER25> Ah, one of the "not compatible with your device" apps...

</comment><comment> house9-2 unless I am missing something your login and signup pages do not appear to be using SSL

</comment><comment><USER26> how is this different from goodreads.com?

</comment><comment><USER27> There's cheaper alternatives. I don't like anything billed monthly.

</comment><comment><USER28> 1\. Great product. Fantastic product.

2\. Love the design. B+/A- from an unreasonable grader who hates every website he sees. The blue-green-blue content flow is especially smart. There are a few small things I really think you should change, but they're perception-small, not code-small; and since you're early on, we'll pass on them.

* Nice font choice - readability could be better though. Backburner. But good job on the sizing and justification.

* Perfectly done job of setting the "class picture" of apps on devices _just so_ , so that the eye expects more content underneath and wants to scroll down.

* Green is the best section. Hits on all cylinders content-wise and really sells your product well and sells it quick. The value-add is made very obvious.

* Great understanding of "content funnel" on a single page - blue1: BAM, this product is real and here and ready; green: non-technical value-adds decision-makers will appreciate; blue2: decision-makers see as extra nonsense, they "already know everything they need to know"; whereas techies see that and say, "Yes, yes, yes, this will be an improvement, Mr. Manager who asked my opinion via email, on our existing, Centralia-esque catalog system. You were right to observe the opportunity, sir. You are a philosopher-king of management."

3\. Fixes.

a) Top bar:

* "Find out how easy it integrates"

* Logo: Black clashes with playfulness of leaf colors. I'd pick a light, light gray.

* Less-than-quick fix: rethink your white bar content. "How to" AND "FAQ" tells me users have a lot of questions. "Order" should be "pricing" or "plans" or "service tiers", etc. Lose the "login" button - implies (right or wrong, you tell me) that the librarians/whoever will need to run their _system infrastructure_ from a web app -- this sounds great to me but does not scream reliability to decision-makers, and reliability is the one thing other than the obvious value-add you need to persuade them on. Lose "Free Trial" and replace it with a button/something elsewhere on main page. See patio11/Patrick McKenzie's vid on free-trial funneling (or maybe A/B testing).

* CHANGE YOUR "ABOUT" TO SOMETHING ELSE. Yours was the first "about" page I've clicked on in like 5 years. They usually have shit for content. Yours has great content! Nobody's ever going to see it!

b) Blue 1:

* Quick fixes: The publications. a) Either make the names clickable links to their corresp. reviews of your product, or (my preference), put an "as seen in" somewhere on the right-ish. b) Do something about the logo non-coherence. IMO, make all of them white. Actually, IMO, throw out Irish Times and RTE alltogether. If 2 of your 4 exes were runway model 10s and 2 were unphotogenic 5s, you would not, if you wanted to convince me you were a 10, show me pictures of all four. Why would you? Because four gf's is better than two gf's? I could've thought you were a 10; now I think you're a 7 who got lucky. c) Definitely, definitely move the App Store button _beneath_ the publications. d) Replace the Android phone with an iPhone, and replace that screen with something that looks more fun/interesting to use. If you want to emphasize cross-platform availability, the place to do it, given your market, is with the choice of laptop. "Oh, all our computers are old PC's." \-- decision maker who thinks you don't want his business. It will happen. Maybe already has.

c) Green: Make Coverswish photo bigger - I had to squint to tell what was going on. Change "fancy music album art" to iTunes. The attempt at distance made me think you were hiding from the association rather than embracing it, perhaps because you would prefer I think that you came up with it yourself. I don't care if you came up with it yourself. I care if it works just like iTunes. I know iTunes. I trust iTunes. Any friend/copycat of iTunes is a friend of mine.

* Get rid of "using a smartphone's camera". "So, do I use the camera app, or...what." This confusion is the reason QR codes never blew up.

* Less conceptual-style language, more concrete-object language. "Libramatic then retrieves the book's catalog information for automatic viewing - title, author, and even content abstracts."

* MUCH better than the current graphic would be just a zoom of a screenshot of Libramatic displaying a really impressive abstract. Define as you will. But be sure to partial-zoom, focusing on the abstract and cutting off the other info, because you're not trying to sell them on that, because Libramatic is too awesome to think of mere book titles and author names as an impressive feature, and because your customers expect better. Whether or not any of that is true, I have no idea, but that's the impression you should give.

d) Blue2: You already know what, you lazy person. All the icons and paras are offset and different sizes and different styles even. Stop dat. Also, I disagree with some icon choices, especially the globe and the paintbrush (kidding). But I gotta go now, late for lunch. Shit. Anyway, good luck out there, Shane.

</comment><comment><USER29> A heads up, your account is hellbanned. Don't know why, but in case you can't get it fixed while this is still on the front page, you might want to get use an alt to answer questions here.

</comment><comment><USER30> Why the hell would you limit this to only Apple machines, when literally every smartphone, and most laptops have an integrated camera?

Also, because you've already not managed to impress me with competence: What exactly is your user password storage algorithm?

<comment><USER9> The page says _" Libramatic runs on multiple platforms including Android devices and any internet-enabled computer"_.</comment></comment>


An ongoing conversation between two chatbots - <AUTHOR> http://126.96.36.199/recommend/firesidechat/chatbots.html <comment><USER2> Are you talking about the stars above your head again?</comment>


RocketDB – Build your app's backend in minutes - <AUTHOR> http://rocketdb.io/

<comment><USER2> This page has essentially no concrete content and a sign-up form. :/

</comment><comment><USER3> This doesn't seem like a database in the traditional sense - more like a blackbox PaaS for building apps. Unfortunately there's precious little actual info on the page.</comment>


When the Genius Men of Silicon Valley Suddenly Don't Seem So Smart - <AUTHOR> https://theintercept.com/2016/10/19/when-the-genius-men-of-silicon-valley-suddenly-dont-seem-so-smart/ <comment><USER2> I rarely comment on the internet, but HN is one of the few sites that I frequent during micro-breaks at work, and this sort of content is making me feel like HN is becoming a NSFW site to visit. My concern has nothing to do with your stated opinion in the article, but rather that the article doesn't provide enough technical value to warrant being safe for me to read while on the job. Articles that, for instance, inform me about a root key update, or a critical vulnerability in the Linux kernel, provide immediate value to me and my employer. Opinion pieces like these though, not only lack technical value, but are a time (money) drain on my company. Please keep HN safe for work for those of us who care about things like that.

<comment><USER3> If you actually value technical content, there are better sites. HN has been catering primarily to entrepreneurs for the last several years. The community normalized political discussion and content marketing a while back, and from those depths it is difficult to return.

I have theories on how sites like this evolve, but will refrain from brain- dumping unless folks are interested.

<comment><USER4> I'd like to hear your theories. Also, a few suggestions for the sites that you mention.

<comment><USER3> Sure.

When I joined this site 5 years ago, I justified my viewing it at work as a one-order-removed from my job. I learned a _lot_ , I was exposed to web development and other things for the first time, and I eventually caught the entrepreneur itch and pursued it because HN had given me both the knowledge and the inspiration. I thank pg and YC for that.

That said, over the last few years I've noticed some things:

 _Content quality is getting drastically less technical_. In the submission guidelines, the rule is nominally "Anything that good hackers would find interesting.". The problem is that people are focusing on "interesting" not on "good hackers". Often stories that seem like good reads but are utterly unrelated to computing get posted here, just because somebody wanted to read about politics or history or nifty product demos or popsci clickbait. Things that should never make it here are put up just because they are interesting, not because they are interesting-to-good-hackers. This is an anti-pattern.

 _Content marketing clutters up the submissions_. A lot of stories here are basically junk "Hey check out our API (and buy our service!)" or "Let me write some platitudes about vaguely software-related stuff so that you'll click my company links at the end of the post". This sort of growth-hacking is exactly the playbook espoused by YC-style startups, which is fine, but in this case they're making HN less valuable for all of us by treating it like a cheap clearinghouse for advertising to devs. At times the frontpage feels like a less green, easier-to-read feed of TechCrunch (and that sucks!).

 _The users don 't respect each other when submitting stories_. A lot of users clearly see the site as a way of throwing up links to self-promote or to ask dumb questions or to navel-gaze on Valley drama that doesn't affect everyone else. They don't really contribute outside of their own submission threads, they post clickbait, they do drive-by advertising, and generally waste bandwidth.

 _The users don 't respect each other when writing comments_. It's very difficult to have a civil discussion in most threads these days when you have a significant difference of opinion, because you get downvoted remorselessly. It also seems to me that the default attitude of assuming good-faith posting and engaging with the same courtesy has gone away, being replaced with lazy baiting and _ad hominem_ attacks and namecalling--things which people get away with as long as they are following the HN crowd orthodoxies, which makes it even more harmful.

 _There is active suppression of user opinions from other orthodoxies_. Flag- killing and heavy moderation serve to create an echo chamber, but here more importantly to radicalize and make even more obnoxious and disrespectful rude posters. If somebody has had multiple threads detached because they rubbed the mods the wrong way (hi dang!), they're less likely to actually try and write good replies. Instead, you end up with a bunch of garbage sockpuppet accounts or just outright spam as people get frustrated at being ignored and no longer feel like they need to craft words and be polite. The site doesn't respect the users, so the users don't respect the site. It's rubbish.

Anyways, as for other sites, I could probably give you some via the email in my profile. For obvious reasons--e.g., I don't want to make it easy for the same bad posters and culture that has pervaded this site to spread--I won't mention them here for the lazy.

</comment></comment></comment></comment><comment><USER3> So, up front, I think there is more than a little schadenfreude to be enjoyed here. I'll skip that, though.

The main thing here is that we chose this future. We built platforms for 140 sniping, and we built censorship tools that helped enable filter bubbles. We built ad tools to monetize rage and not journalism.

We bent over prostrate at the ideas of "equality", diversity, and freedom--all with the best of intentions! We ousted Brendan Eich, we gave Thiel a pass because he was outed by Gawker, and now?

Now they're going against the guys that sign our checks and cheerlead our endeavors.

If _this_ is finally a step too far, if _this_ is a gross misrepresentation of reality or a hit piece, we're late to the party. The time to have avoided this was years ago.

Bunch of hypocrites.

</comment><comment><USER5> Voting for the lesser of two evils is a tactical voting maneuver and you don't necessarily believe anything at all about what a candidate affirmatively supports. This is as applicable to one side as the other. Almost all of my friends are supporting the same candidate, and none of them are doing so because of her positions.

</comment><comment><USER6> In this election, the only people who don't seem so smart(besides the candidates) are people who insist on being oblivious to their own candidates severe faults. There is plenty wrong with either candidate and the only people who look foolish are those who insist on trying to shine a shit and sell it as gold.

</comment><comment><USER7> >Trump is an ideological figure with very few actual political views. His popularity is due almost entirely to his cultivation of American hate.

I think this is spot on. If someone says something hateful, and I retweet it, am I not also saying something hateful? Say I don't retweet the actual comment, but instead respond w/ "Have some money." Is that not still an endorsement of the hateful speech?

Ultimately, I think we can view hatred as a kind of ignorance and fearfulness of the unknown, and therefore as a kind of stupidity.

It logically follows that endorsing a stupid candidate is itself a form of stupidity.

<comment><USER8> I'm not sure your conception of "hatred" would cover all the bases to your satisfaction.

For example, most people (perhaps including you) feel hatred to many of Hitler's actions during WWII. But I doubt people feel that way due to ignorance or fear of the unknown.

<comment><USER7> Anger is an emotion I try to avoid entirely. If I could only choose one word to describe my feelings toward Hitler, it would be "pity".

I'm not saying anger is never warranted, but holding onto those feelings and acting on them usually just brings more pain into the world. I'd like to think that The Allies won the second World War not for their hatred of Hitler, but rather for their love of humanity. But maybe I'm being naive.

"Anger is an acid that can do more harm to the vessel in which it is stored than to anything on which it is poured." -- Mark Twain

</comment></comment></comment><comment><USER9> > Ellen Pao, the former CEO of Reddit who was effectively ousted by the site's > users because she's an Asian American woman

Sorry what?

<comment><USER10> That was her side of the story. Reddit had a different side. This line shows what an awful article this is. Utterly un-objective. Here's some reference on Ellen Pao: * [http://www.vanityfair.com/style/scandal/2013/03/buddy- fletch...](http://www.vanityfair.com/style/scandal/2013/03/buddy-fletcher- ellen-pao) * [https://www.bloomberg.com/view/articles/2015-07-13/reddit-s-...](https://www.bloomberg.com/view/articles/2015-07-13/reddit- s-ellen-pao-can-only-blame-herself)

<comment><USER11> As someone who read the entire Pao shitshow on reddit, I literally never once saw anyone mention or make racist/sexist remarks about her being Asian or a woman. This is frankly remarkable considering how shitty the internet can be. This isn't to say those remarks didn't happen, I am 100% sure they did, but it was less than 0.0001% of the sentiment.

</comment></comment></comment><comment><USER12> I'm getting sick of seeing SV expose how many stupid people are among its ranks (on both sides). The whole world used to think we were smart people.

Yay, election year ¯\\_(ツ)_/¯

</comment><comment><USER9> For the author, "smart" means "do as I say, now".

</comment><comment><USER13> I am usually far more civil, but this article is idiotic. The idea of having political litmus tests as a condition of employment, is the kind of idiotic lunacy I would expect from Trump, not his detractors.

<comment><USER11> Really? Because overwhelmingly the sentiment I have heard is Hillary supporters saying they would fire or de-friend anyone who's a Trump supporter. Trump supporters seem to dislike Hillary, not Hillary supporters.

<comment><USER13> Well, it's a lot easier to discriminate when you're in the majority/winning side.

But yeah, my previous comment was referencing Trump directly, not his supporters. I have far more respect for the average Trump voter than I do for Trump himself.

</comment></comment></comment><comment><USER14> I would be upset if any company fired a developer or even manager for having the wrong political opinions. But if a company broke ties with a part time partner, who was a public representative of the company, because the partner publicly, actively, and materially support a presidential candidate who the company publicly believe "represents a real threat to the safety of women, minorities, and immigrants ... the Constitution, the Republic, ... human decency ... [and] national security" then I don't think that's a problem.

</comment><comment><USER15> Isn't SiliconnValley just the wall Street of techbro snowflakes and startup culture? Who cares what they say.

These billionaires don't matter. They don't fund the core advancements that matter, they're just data traders. Even if they pooled all their money it would be dwarfed by real technologists. Not political hucksters and new wall Street aka SV.

Surely, SV is just a cliquey jock and yacht club. Bunch of grandfathered aristocratic rich kids. What a joke.

</comment><comment><USER16> Is there a reason this post got removed from the HN index?

</comment><comment><USER17> Advocating firing and industry shunning over political opinion seems way more dangerous to me than offensive speech. What are we becoming?

<comment><USER14> Does advocating firing and industry shunning seem more dangerous than advocating torture, or advocating imprisonment of political opponents?

<comment><USER17> With so many legitimate attacks to launch against Trump, generalizing his threats of holding Hillary accountable for the emails and equating this with imprisonment of political opponents seems so awkward to me.

</comment></comment></comment><comment><USER10> I've never seen so much question begging in my life. Maybe, just maybe, Thiel doesn't believe the charges against Trump. Additionally, the hypocrisy is appalling. People gladly write checks to Hillary Clinton who over the past 30+ years has defended, provided cover and attacked the accusers of her husband who is in the exact same league as Donald Trump.

<comment><USER11> >charges

"Allegations" is maybe the better word here. I hate HRC and I think it's very likely Trump has sexually assaulted at least one woman before, but I also think it's shitty to start a political narrative based on hearsay and the type of empty gloating that lots of men do in private.

</comment></comment><comment><USER18> it isn't about smartness in the sense of IQ. It is just completely different view on where society/economy and the whole civilization should go. Thiel vs. Musk. Conservative collapse vs. progressive expansion. Ant/termite colony (like those that have been at the same place for 1000+ years) vs. interplanetary civilization. Conformal uniformity vs. diversity in the widest sense of the word. Succumbing to the fear of change vs. embracing and riding that fear like a wave, converting the fear into the source of energy.

<comment><USER19> This.</comment></comment>


Business: I don't like to talk about agile - <AUTHOR> https://www.dangerfarms.com/blog/i-dont-like-to-talk-about-agile/ <comment><AUTHOR> Identifying possible first steps from waterfall to agile.</comment>


24/192 Music Downloads are Very Silly - <AUTHOR> http://xiph.org/~xiphmont/demo/neil-young.html

<comment><USER3> I'd take it from a different angle - those worried about "fidelity" that don't play instruments and have never worked on a studio recording simply have no idea what they're talking about. They latch on to numbers because numbers are easy to understand, and bigger == better, right?

After engineering/producing a bunch of albums, one thing I can say for sure is that a good-sounding album is totally fake relative to the actual, natural sounds of the instruments involved. That's fine, because it _sounds good_. An accurate recording doesn't sound good. It's too loud or too quiet (often in the same passage), lacks a sense of space, and lacks impact.

<comment><AUTHOR> Absolutely. Music is purely a subjective experience, and it is absolutely ok to prefer a special sound over "fidelity".

This also justifies the "vinyl record" craze, as long as the "fidelity" argument is not used.

If it sounds good it is good :-)

<comment><USER3> Yeah, but that line of reasoning opens up the "You think it's good because it's just warm distortion" line from the head over heart crowd, and it's often not at all true. You can spot these people because they'll use THD (total harmonic distortion) like a meaningful number. THD specs are generated by 1khz sine waves. It deliberately ignores both dynamics and harmonic content - <USER2> fundamental building blocks of music. It's like measuring how well a car drives 50mph.

</comment></comment></comment><comment><USER4> RN = Rupert Neve GS = Greg Simmons

Exert from: Audio Technology Magazine's Issue 1, March/ April 1998

GS : Geoff Emerick, the famous British Producer ?

RN : Yes, he started me off on this trail. A 48 input console had been delivered to George Martin's Air Studios, and Geoff Emerick was very unhappy about it. It was a new console, made not long after I had sold the Neve company in 1977. George Martin called me and said, "please come and make Geoff happy, while he's unhappy we can't do any work".

They'd had engineers from the company there, and so on. The danger is that if you are not sensitive to people like Geoff Emerick, and you don't respect them for what they have done, then you are not going to listen to them. Unfortunately, there was a breed of young engineers in the company ( I hasten to say this was after I sold it !) who couldn't understand what he was bitching about. So they went back to the company and just made a report saying the customer was mad and there wasn't really a problem. Leave it alone, forget it, the problem will go away. They were acting like used car salesmen. I was very angry with it. So I went and spent time there, at George Martin's request, and Geoff finally managed to show me what it was that he could hear, and then I began to hear it, too.

Now Geoff was The Golden Ears - and he still is - and he was perceiving something that I wasn't looking for. And it wasn't until I had spent some time with him, as it were, being lead by him through the sounds, that I began to pick up what he was listening to. And once I'd heard it, oh yes, then I knew what he was talking about. We measured it and found that in three out of the full 48 channels, the output transformers had not been correctly terminated and were producing a 3dB rise at 54kHz. And so people said, "oh no, he can't possible hear that". But when we corrected that problem, and it was only one capacitor that had to be added to each of those three channels, I mean, Geoff's face just lit up ! Here you have the happiness/ unhappiness mood thing the Japanese were talking about.

GS : So they had left the same capacitor off each of the three offending channels, leaving their output transformers unterminated ?

RN : Oh yes. All of the principal parts in my designs are transformer outputs. There is a huge advantage in the total isolation, which we'll talk about later. But a transformer has leakage inductance. In a good transformer it's a very small leakage inductance, but it is there. You have to make sure that it is damped out, so that when you are adding long lines or any other load to it, it isn't going to obtrude. So we put an RC network across the transformer output, which neutralizes the leakage inductance. The RC network, which is only a resistor and capacitor, was incomplete on three of these transformers for some reason. We fixed the network, and then there were no problems.

GS : So someone could hear the effect of a 3dB boost at 50kHz. I would imagine that gave you some food for thought.

RN : That was what Geoff was not happy about, it was upsetting him. So I went back, sort of scratching my head and thinking, "well, I'm not going to try at this stage and find out why that's happening, but I know it does happen. So let's make sure it will never happen again". If Geoff and others could hear things going on as high as 50kHz, how high could they actually hear ? I did a bit of development work, and found that I could do new circuitry, with a much wider bandwidth, relatively easily. So I redesigned all my transformers and output circuitry, and the general electronics.

GS : Sounds like an important lesson for technicians and equipment designers !

RN : The danger here is that the more qualified you are, the more you 'know' that something can't be true, so you don't believe it. Or you 'know' a design can't be done, so you don't try it. Ignorant idiots like me don't know it can't be done, so we have a go and it works. {Laughs}</comment>


The aerodynamic drag – type inference analogy - <AUTHOR> http://mergeconflict.com/archives/23

<comment><USER2> _One would figure that the Agda compiler could figure out the type of not based on its simple definition, but nope. An algorithm that could figure it out would absolutely fall flat on a dependent type._

Not totally correct – it's totally possible to infer (some) types in a dependently typed system. For example, in Coq:

        Coq < Definition not x := match x with true => false | false => true end.
        Coq < Check not.
        not
             : bool -> bool

The trick is simply knowing when to stop – that's what turns an undecidable algorithm into a decidable, sound, but incomplete algorithm.</comment>


Ask HN: Do you care about downtime of the 3rd party JavaScripts on your website? - <AUTHOR>

Many of us are being asked to embed 3rd party javascripts such as web analytics, ads, widgets etc. Some of us are using tag management solutions to simplify the deployment and organization of all those tags.  Average webpage has over 100 objects to load (like js, images etc) and many of those are external resources that are out of our control. Yet tag management does not usually help with script downtime or webpage performance degradation because of synchronous scripts usage.
What do you do to minimize the possible issues of those 3rd party scripts ? (e.g. downtime, performance degradation or malicious behavior)
P.S we have built MVP that tracks performance/downtime of external scripts. We have been monitoring most popular scripts used by many sites and I can say that downtime does occur on popular scripts almost on daily basis (we are monitoring so far top 500 javascripts used by Alexa 1 million websites). If you are interested to monitor your javascripts - check us out here - http://www.scriptmonitoring.com <comment><USER2> You know what does slow down websites? 5MB background images like this one - [http://scriptmonitoring.com/images/headerbg.jpg](http://scriptmonitoring.com/images/headerbg.jpg)

</comment><comment><USER3> Yes, I've been personally facing issues because the CDN server of a particular JS app that we integrate is slow.

We can't host it ourselves because that way we miss out on updates. However, its non-critical to our app, so I'm thinking of marking it as async so it doesn't hamper the page load times.

<comment><USER4> _" We can't host it ourselves because that way we miss out on updates."_

Couldn't you just have a cron job that grabs the latest copy from the CDN every night and caches it on your own server?

<comment><USER3> That sounds like an interesting idea. Maybe I'll try this.</comment></comment></comment>


Show HN: Awesome Mechanical Engineering Resources - <AUTHOR> https://github.com/m2n037/awesome-mecheng <comment><AUTHOR> So many free resources are available for computer science students and I am jealous. Therefore, I started making this list for mechanical engineering students. Feel free to send pull requests or send me your favorite resources by email.

<comment><USER2> PR Send. If you want link to work, you should not put a ' ' between `[title]` and `(link)` in markdown.

<comment><AUTHOR> I accepted, please suggest more links and improvements</comment></comment></comment>


Washington state lawmakers bring bill to ban most cannabis concentrates - <AUTHOR> https://www.leafly.com/news/politics/washington-state-lawmakers-bring-bill-to-eliminate-cannabis-concentrates <comment><USER2> >Illegal concentrates led to 57 deaths

Which those numbers are from black market cartridges, and not legal ones CDC recently confirmed.

While, Number of alcoholic liver disease deaths: 22,246 and Number of alcohol- induced deaths, excluding accidents and homicides: 35,823 ([https://www.cdc.gov/nchs/fastats/alcohol.htm](https://www.cdc.gov/nchs/fastats/alcohol.htm))

But there is a problem with Cannabis? Hell no, how about look at the deaths related to just alcohol. Too much money behind it, so no one wants to touch it. Typical politicians not looking at all the facts.

>Washington state lawmakers wants to slash the allowed potency of all non- medical cannabis concentrates, limiting THC levels to no more than 10%.

That would mean that every grower would have to get new clones/seeds. That's not going to happen.

</comment><comment><USER3> its the re-war on drugs from a losers point of view

right away the cannabis is being revilified when the death and damage was caused by an adulterant not suitable in the least for smoking or vaping

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

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

those deaths had to do with exposure to hazardous compounds synthesyzed ad hoc by a vaping pen filled with precursor chemicals for a pyrrolysis reaction. the IDLH is a concentration of 5ppm airbourne...

the other big problem is that people will start making thier own concentrates in thier backyard again, and those others of a riskier predisposition will do so in a building without proper chemical protocols or expertise so butane hash oil explosions would make a comeback</comment>