Ask HN: Would you pay to keep all your data on one cloud? - <AUTHOR> Recently, Flickr limited the storage for free accounts to 1000 photographs. Quite a few users are not willing to pay for more photos as they think they are already paying for services like iCloud, Office365, Dropbox, and so on.
A lot of us already pay for storing our data on somebody else cloud. Some of these services are free today (as Flickr was too, once upon a time) can change to paid anytime, and will do sooner or later given the data to be stored is increasing manifold.<p>So rather than storing data on someone's cloud, and having multiple such accounts, why not have one which you pay for, yourself. (Of course, provided it addresses your security concerns, keeps data encrypted, and take measures to ensure enough backups and everything) would you pay for your data to be moved to your own cloud rather than being distributed like it is today? <comment><USER2> I assume that this my own cloud is actually managed by someone else, who does all the hard work.

Maybe I would pay for that (I'm paying for my backups now), but the owner of the servers (the cloud) should be able to demonstrate that it won't spy on my data and metadata, not sell it, be able to protect it, etc. and stay in business at the same conditions. Furthermore I don't trust any of the current companies, why should I trust this new one?

<comment><AUTHOR> Yeah, the cloud is managed by someone else who does all the hard work.

Of course, security, safety, protection are the biggest challenges against this kind of service. Trust can be built gradually. What I imagine is, it will still use the existing cloud companies like AWS, GCP, with added layers of encryption, and security protocols. Down the line, the biggest challenge will be to establish trust. One way to do it is to partner with existing clouds, and interoperability (in the future). Problem isnt that data isnt safe but more like if its on someone else's cloud, policies could change anyday.

This is more of an individual problem rather than a corporate problem. Right now, I am just putting it out there to see the response. Just an idea, have not written a single line of code for it.

</comment></comment><comment><USER3> What I'd pay for is robust, bullet proof, guaranteed, storage for small amounts of data that holds immense sentimental value.

This would be about 100 photographs or short video clips, mostly of my child.

I have thousands of photos and they're mostly ephemeral nonsense that I don't care about. But I also have a few that it would be devastating to lose.</comment>


Stellarbrink Video Game - Minecraft in Space.  - <AUTHOR> http://www.indiegogo.com/projects/stellarbrink-video-game New Video game combines tile based crafting/exploration with space based combat. <comment><AUTHOR> I posted this because it is one of the first games to get me excited since FTL. I really love what indie game devs are doing now days. You would never see this from a big design shop, but I would play this as is.</comment>


Vintage 1980s DOS inspired Twitter Bootstrap theme - <AUTHOR> https://github.com/kristopolous/BOOTSTRA.386 <comment><USER2> This is a really great theme! I love it how even the button clicks are authentic.

Some suggestions:

1\. To get a real DOS feeling, the number of characters per line should be limited to (exactly) 80, and the font size should be increased accordingly.

2\. Links to headers [1] within the document make the browser scroll to the header text itself, rather than the top of the surrounding colored box.

3\. This is mostly a "QBasic" style. There are other styles, such as:

3.1. The "Turbo Vision" style (used by the Turbo Pascal IDE itself, and many other Turbo Pascal applications using the Turbo Vision framework.)

3.2. The "Norton Commander / Nortin Utilities" style

3.3. The "DOS command line" style (command.com)

etc.

[1] [https://kristopolous.github.io/BOOTSTRA.386/components.html#...](https://kristopolous.github.io/BOOTSTRA.386/components.html#typography)

<comment><USER3> Strangely I vividly remember setting (S)VGA text modes to higher counts than 80 per line for such UIs. Maybe my memory fails me and I'm mixing things up with Debian text mode installs?

<comment><USER2> Yes, some of the tools did, but the ones mentioned here didn't (QBasic, Norton Commander/Utilities, Turbo Pascal/Vision).

Norton Utilities did play some interesting games with modifying the VGA character set in real time, implementing a mouse cursor over the text mode. But it was still 80x25.

However, some if the programs adapted to 80x50 if you enabled that mode before (or while?) starting them.

</comment></comment></comment><comment><USER4> Needs a Code page 437 font. I think that's just the character set, not the font. I don't know if the font I'm thinking of even has a name, but it was whatever was built into the VGA BIOSes of the time. It has a distinctive look.

<comment><USER5> [https://int10h.org/oldschool-pc-fonts/readme/](https://int10h.org/oldschool- pc-fonts/readme/)

(it does seem to use one of these for me, seemingly via "font-family: DOS")

</comment></comment><comment><USER6> Makes me want to dial into something and play Trade Wars.

</comment><comment><USER7> I thought I was being original when I redid my website[0] in a similar style this past summer (right down to the text appearing to come in at 9600 baud). But it appears this repo is at least 2 years old..

[0] [http://saul.pw](http://saul.pw)

<comment><USER8> Gah ... I automatically started looking for doors when I went to your site! :D

</comment></comment><comment><USER9> Instant love :)

I wish somebody extended it, covering more classic themes: Turbo Pascal 5 (the blue theme like this), Turbo Pascal 3 (the black / gray / yellow theme), SuperCalc, Word for DOS, etc.

A special challenge would be fitting a theme into the 4-color CGA modes (red/green and purple/blue), complete with low-res proportional fonts and pixelation grids over pictures.

<comment><USER10> And in case people haven't seen it - here's a few things that TP3 is smaller than:

[http://prog21.dadgum.com/116.html](http://prog21.dadgum.com/116.html)

</comment></comment><comment><USER11> perfect

better than this [http://code.divshot.com/geo- bootstrap/](http://code.divshot.com/geo-bootstrap/)

<comment><USER12> That's superb as well, but a completely different time period. More than a decade of GUI and web development happened between those two.

</comment></comment><comment><USER13> This seems like a way to modernize a curses-based application without the users of the application noticing much of a difference.

</comment><comment><USER14> I can see a use case for this -> For software users who are so used to the DOS / Terminal interfaces in some old COBOL, Foxpro, dBase, Clipper, Turbo Pascal and other programming languages back then. You can switch between the shiny newer interface to using the old DOS gui-based look.

Nice work!

</comment><comment> slipstream- Previous discussions:

[https://news.ycombinator.com/item?id=7983008](https://news.ycombinator.com/item?id=7983008)

[https://news.ycombinator.com/item?id=7959068](https://news.ycombinator.com/item?id=7959068)

</comment><comment><USER15> Hey! An Amdek color monitor! I worked for Amdek in 1983. We sold a LOT of those color monitors.

<comment><USER16> The fake ad is just a photoshopped version of a real ad. I may have scanned it myself. I don't remember.

</comment></comment><comment><USER17> It's funny -- I spent many, many years looking at interfaces like that, designing them, developing them. I thought I'd feel some nostalgia.

But no, I'm glad those days are long gone. I never want to see any of my old dBASE, Clipper, Pascal code again...

</comment><comment><USER18> It is really well done, I want to use it for something but I have no idea what.

</comment><comment><USER19> Wow, this beautiful!

Maybe it's just the nostalgia talking, but I really like this look.

</comment><comment><USER20> I love this so much. All it needs to be perfect is a bunch of keyboard shortcuts built-in---I really want to be able to use arrow keys to navigate like I'm really in DOS. :-)

<comment><USER16> that's been a big request in the last wave of popularity (as in 36 hours) ... I'll think about how to do it in a non-awful way.

</comment></comment><comment><USER21> The blue/yellow/gray was so easy on the eyes.

<comment><USER16> yes, the fact that I also run [http://unreadable.website](http://unreadable.website) along with having written this is not-so-much-a-coincidence.

note: A number of the authors seemed to have found out they were listed on that site and increased their contrast. Mission accomplished.

</comment></comment><comment><USER16> Hi, author here. I missed this. Sorry I'm in late. Questions, critiques, and everything else accepted. Thanks

</comment><comment><USER22> My favorite part is the progressive screen display and the random flashing cursor.

</comment><comment><USER23> Progress bars look horrible.

<comment><USER16> 3.x is better ... I haven't updated the demo page ... this thing becomes randomly popular every couple of years or so ... I should probably make that demo better.

</comment></comment><comment><USER24> That is pretty funny. Excellent work.</comment>


Show HN: ImagePoke (Snapchat for postcards) - <AUTHOR> http://www.imagepoke.com <comment><AUTHOR> My buddy and I created ImagePoke over the course of a week as a side project. We're pretty new to web development, so we're learning a lot as we go.

The idea for ImagePoke is pretty simple:

1) Upload/Provide a URL for an image 2) Crop said image 3) Doodle on said image 4) Provide recipient address details 5) Provide payment ($3.00) via stripe 6) Doodled image arrives at recipient's address as a postcard in ~ 7 days

A Picture of the first two ImagePokes ever:

[http://www.imgur.com/XRltBxH](http://www.imgur.com/XRltBxH)

We've got full "account" support (at the end of the process you can create an account that stores recipient addresses and payment methods), but this is optional.

Any suggestions/criticisms would be massively appreciated, as I said, we're both quite new at this..

Thanks!

\- Tim

<comment><USER2> This is a great idea! One suggestion I have is to limit the file size for uploada. I tried to upload an image greater than 3mb and I have been waiting for iit to finish(still waiting)

<comment><AUTHOR> Thanks atulord!

I'll get that fixed sometime today.

ImagePoke definitely needs a layer (or two) of serious polish. I'm sure there are still a few more bugs lurking :P

Tim

</comment></comment></comment><comment><USER3> You have a great conversion process. I eased right into creating the card and thought 3 bucks is cheap enough to try once so I did it. I guess improvements could be: Filters on the picture, different types of stencils/stamps, and a smaller drawing tool for when I really want to get my art on. Only competition in this space that my google search found was services that send an unedited postcard. Anyone else doing this?

<comment><AUTHOR> Thanks Garrett!

Your suggestions are totally spot on. The doodling is pretty minimal and needs to have more widgets/features (akin to snapchat).

As you said, I think there are lots of services which let you send uploaded images as postcards. However they are marketed as "serious" services and don't come across as "fun" to use.

Tim</comment></comment>


Making a RISC-V Operating System Using Rust - <AUTHOR> http://web.eecs.utk.edu/~smarz1/osblog/ <comment><USER2> I've been pushing the author to write this up for a year now (we both work at University of Tennessee). He teaches a lot of OS-oriented courses and makes them for fun so he is perfect to write this.

Next I'm trying to convince him to make an OS in Zig for Raspberry Pi with a focus on graphics. If you have any suggestions for him, shoot him an email!

<comment><USER3> What would a "focus on graphics" mean? A GUI and windowing system, or just graphics processing?

<comment><USER2> I want it to be a video game console :) I think our students would have a lot of fun with that.

<comment><USER4> If you do, definitely ping flohofwoe, who a) maintains a Zig port of his lightweight Sokol graphics API and b) has a penchant for retro consoles.

[https://github.com/floooh/sokol-zig](https://github.com/floooh/sokol-zig)

<comment><USER5> The zig wrapper is only a minimal experiment and work in progress now, also I've hit a little bug :)

[https://github.com/ziglang/zig/issues/3211](https://github.com/ziglang/zig/issues/3211)

 _BUT_ the sokol_app.h and sokol_gfx.h headers require an underlying platform 3D-API (e.g. GL, D3D11 or Metal) and window system to setup the swap chain. On a bare metal machine with only a 2D framebuffer they're not all that useful unfortunately.

<comment><USER4> Ah yes, I didn't really think that one through. I know Redox OS (Rust) has OpenGL working, but I think they're just using the Mesa software renderer.

</comment></comment></comment></comment></comment></comment><comment><USER6> On a related note, MIT seems to have ported xv6 to riscv.

[https://github.com/mit-pdos/xv6-riscv](https://github.com/mit-pdos/xv6-riscv)

</comment><comment><USER7> Wow! What an awesome tutorial/book. I look forward to reading more chapters. This is already an extremely useful resource since it covers cross compilation from an x86 system. I love to play around with this kind of stuff in my free time but connecting to dev boards and constantly shifting paradigms was annoying enough to limit my enthusiasm. It took a lot of research to find out how to do what the author fits in a single chapter. Thank you for this awesome post!

</comment><comment><USER8> Looks similar to my effort to interface RISC-V emulators and bare metal C: [https://github.com/Lichtso/riscv-llvm- templates](https://github.com/Lichtso/riscv-llvm-templates)

</comment><comment><USER9> I took Programing Languages from him, as well as TA'd for his Operating Systems class. He is an amazing lecturer, and I am glad he is releasing something like this to the public! Definitely something worthwhile to read. Looking forward to more content being released.

</comment><comment><USER10> Rust is build around the expectation that allocations happen automatically and can never fail. I'm curious to see how they deal with this in a kernel...

<comment><USER11> The Rust standard library is. The Rust Core library (the far more minimal library that gets used when you mark a crate as #![no_std]) does not. That's how the other "OS in Rust" and "allocator in Rust" projects work.

<comment><USER12> Well, _this_ OS in Rust project simply commits the same sins as the standard library by using a custom allocation routine that panics on allocation failure: [https://os.phil-opp.com/heap-allocation/#allocations-in- rust](https://os.phil-opp.com/heap-allocation/#allocations-in-rust)

Saying that Rust the language doesn't _require_ a non-failing allocator misses the point--the ergonomics of the language make dealing with allocation failure difficult; sufficiently difficult that none of the projects I've seen actually bother attempting it.

See [https://cs.brown.edu/research/pubs/theses/ugrad/2015/light.a...](https://cs.brown.edu/research/pubs/theses/ugrad/2015/light.alex.pdf), which explains idiomatic Rust instructs developers to return by value, relying on caller assignment to types like Box (which uses exchange_malloc under the hood), to handle heap allocation. Basically, the _strategy_ for dynamic object management in Rust is predicated on hidden heap allocations.

So of course it's not _necessary_. But good luck writing an entire operating system otherwise. Even Redox OS doesn't bother trying to fight the language in this regard: [https://gitlab.redox-os.org/redox- os/slab_allocator/blob/mas...](https://gitlab.redox-os.org/redox- os/slab_allocator/blob/master/src/lib.rs)

<comment><USER13> > the ergonomics of the language make dealing with allocation failure > difficult; sufficiently difficult that none of the projects I've seen > actually bother attempting it.

Honest question: what languages make this ergonomic and can you share any projects that handle this gracefully?

<comment><USER12> Off-hand I don't know of any that make this ergonomic, at least none that don't make use of exceptions. Rust isn't unique in this regard.

What makes it a _potential_ impediment in Rust is that the constraints and burdens of the borrow checker are offset by mechanisms like Box. The fact that _all_ the extant examples choose the convenience of Box over handling OOM, even in situations where not handling OOM is obviously a deal breaker for production systems, speaks volumes about the significance of the problem and how the language shapes people's choices. Async/await is in the same boat-- _technically_ doesn't require a non-failing heap allocation, but who's going to bother making it work? You _technically_ don't need async/await to do asynchronous programming, either, but the whole point was that this is the type of thing that needs to be addressed by the core language with some primitive (i.e. generators) that does the heavy lifting and which can be built upon.

I don't know enough Rust to know how easy it would be to create a Box-like implementation that rewrites the AST to automatically propagate allocation failure via the idiomatic Result<T, E> protocol. But that seems roughly what the proper solution might look like in Rust; either that or finally getting over the anxiety and aversion about exceptions.

Lua handles OOM quite well. Lua doesn't have try/catch, just "protected calls" which are not as light-weight as regular function calls. (A pcall initializes a recovery point with _setjmp.) In Lua you tend to use protected calls at, effectively, transactional boundaries--the points in your call graph where you're willing and able to rollback application state for non-specific, otherwise unrecoverable errors. AFAIU you could technically do the same in Rust, except Rust makes unwinding optional at compile-time[1], so it's not the kind of thing people will make a habit of deliberately designing for in their libraries. Which makes me think the likely solution for Rust, if any, is to permit libraries to opt-in to OOM recovery with an allocator pragma that does something like the Result<T, E> propagation mentioned above.

[1] Lua is GC'd. The cost of running destructors outside the normal call/return protocol is fixed and independent of whether an application uses protected calls.

<comment><USER6> Writing a KBox that calls a kmalloc and where new() returns a Result<KBox<T>, KAllocFailure> should be pretty trivial.

</comment></comment></comment></comment></comment></comment><comment><USER14> I see the author and I share a naming convention for our miscellaneous scripts, and `do.sh` appears prominently in both our work.

I subsequently branched out to e.g. `do-backups.sh`, where despite the `do-` being superfluous, I quite like the aesthetic.

Slightly more on topic: I really enjoy blog series like these, with plenty of detail on esoteric topics I really have no idea about, or on the face of it much interest in. They're a fun way to increase the breadth of topics I have a superficial knowledge of.

</comment><comment><USER15> For someone with a standard CS undergraduate education, how much effort (in hrs/week) would such an endeavour require?

<comment><USER16> Old wives tail from ancient times, before CompuServe:

The first 20% of the effort gets you about 80% of the results. So everything seems exciting. But to that that last 20% of the results requires 80% of the total work.

There is a ton of un-fun, un-glamorous work getting a gazillion device drivers written, for example.

<comment><USER17> You can always use a hypervisor, a driver OS that re-uses Windows/Linux drivers, and the new OS in a VM using virtual drivers. That's what some L4-based setups, including commercial OKL4, did. They also let you write native drivers directly on the microkernel or in OS VM's for situations where effort was justified. I'm surprised more haven't done this.

Rump kernels are the closest trend.

<comment><USER18> > I'm surprised more haven't done this.

Because this is generally not secure. The driver OS will have access to hardware that can bypass the memory restrictions set upon it by the microkernel.

There is sometimes special hardware to address this but they are too complex to manage from the kernel.

<comment><USER17> "Because this is generally not secure."

Most OS's aren't designed to be that secure, though. That's why I wonder why it hasn't been tried more for usability. A security-focused setup certainly has more to be concerned about. Like I advocated with Xen, a good start would be making the host OpenBSD. They should be able to get hardware that would be compatible.

</comment></comment></comment></comment></comment><comment><USER19> Since there are missing parts: Do you have a sheduling plan for the remaining posts?

<comment><USER2> One per week.

</comment></comment><comment><USER20> Amazing tutorial, and really exciting for RISC-V. I hope he creates a patreon or some other donation platform, as it must take some time to write this up. I'm sure some people would be willing to send a bit his way.

<comment><USER2> Done! Thanks for the suggestion. The Patreon link is at the top of the blog.

<comment><USER21> One suggestion: Your patreon page only mentions the Aarch64 project, not the Rust on RISC-V project. That might alienate people coming from the Rust blog; they might think they landed in the wrong spot (I sure did)

</comment></comment></comment><comment><USER22> Making X.....but using Rust!!!

</comment><comment><USER19> I really really like the first sentence

> RISC-V ("risk five") and the Rust programming language both start with an R, > so naturally they fit together

<comment><USER16> When RISC-V inevitably renames itself CISC-V, then what language would naturally fit together?

And don't say cobol.

<comment><USER23> Ceylon?[1]

Crystal?[2]

Church?[3]

Coq?[4]

[1]: [https://ceylon-lang.org/](https://ceylon-lang.org/)

[2]: [https://crystal-lang.org/](https://crystal-lang.org/)

[3]: [https://en.wikipedia.org/wiki/Church_(programming_language)](https://en.wikipedia.org/wiki/Church_\(programming_language\))

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


Learning the StarCraftII Build Order Meta - <AUTHOR> http://cole-maclean.github.io/blog/Evolving%20the%20StarCraftII%20Build%20Order%20Meta/ <comment><AUTHOR> Hi HN,

This project was my first go at using the pySC2 API recently released by DeepMind and Blizzard. It takes data scraped from 25,000 human played SC2 replays to build a RNN sequence model that can predict the sequence of unique StarCraftII units/buildings in a 1v1 match. The model is a single layered RNN and I tuned some hyperparameters using a GA implemented using the DEAP python library. There's also a super simple webapp you can use to play with and test your own custom build orders for the game.

Was a really fun project and hopefully some of the work helps others build their own!

-pH+

webapp: [http://ponderinghydrogen.pythonanywhere.com/sc2](http://ponderinghydrogen.pythonanywhere.com/sc2)</comment>


The Earn IT Bill Is the Government's Plan to Scan Every Message Online - <AUTHOR> https://www.eff.org/deeplinks/2020/03/earn-it-bill-governments-not-so-secret-plan-scan-every-message-online <comment><USER2> Remember any government/law enforcement in the USA has the right now to read any email that is over six months old in your account, without a warrant or oversight thanks to the 1986 Wiretap act which has been abused (this is why the clintons had their own email server in the basement, everyone should, I don't understand why that is never pointed out)

</comment><comment><USER3> [https://news.ycombinator.com/item?id=22202110](https://news.ycombinator.com/item?id=22202110)

[https://news.ycombinator.com/item?id=22505302](https://news.ycombinator.com/item?id=22505302)</comment>


"Royalty-Free" Music Supplied by YouTube Results in Mass Video Demonetization - <AUTHOR> https://torrentfreak.com/royalty-free-music-supplied-by-youtube-results-in-mass-video-demonetization-191118/ <comment><USER2> The update to the article seems pretty relevant. YouTube says the music is not from the official Youtube Audio Library, but could be from a channel titled "YouTube Audio Library".

<comment><AUTHOR> It'll be interesting, if this update turns out to be correct.

<comment><USER3> There's plenty of people on Twitter specifically denying this, e.g. [https://twitter.com/Matt_Lowne/status/1196928532510851073](https://twitter.com/Matt_Lowne/status/1196928532510851073)

<comment><USER4> and yet its right there uploaded under "Dreams - Joakim Karud [Vlog No Copyright Music]" to a channel with an enticing "Audio Library — Music for content creators (Verified)" name with "This channel is not an official YouTube channel." in the description. You can tell its in Content ID database because whole video clip is "protected" (web server will 403/wont play without Google generated crypto signature token).

</comment></comment></comment></comment><comment><USER5> A few days ago, I wrote about a very similar problem that I'm going through at this very moment.

Basically, I recorded myself playing a song that was written 133 years ago, whose composer died 118 years ago.

The copyright claim is that I used a melody owned by ASCAP, ICE_CS. But the melody is long in public domain. It is _impossible_ for this melody to be copyrighted. (Also, just to cover the bases of "what if...", I want to clarify that the melody has been correctly identified as the melody written (and published) 133 years ago.)

And yet, they have claimed copyright on my music and monitized it. I, on the other hand, can't monitize it at all because my channel is very small.

This is theft.

<comment><USER6> Same happened to me years ago, when I uploaded my son playing a piano piece written in the 1800's. Immediately locked. What a complete joke.

It's theft and someone should be criminally prosecuted.

<comment><USER7> You and the GP should have both stopped before saying "It's theft." It's not theft, not even close.

You gave them the video and they said they do not want the video -- for _whatever_ reason. You don't have a _right_ to upload content to YouTube. You do have a right to your property, your video and music you've created. They didn't take it from you. They aren't making money on it and not paying you. You don't have a right to force YouTube to display and distribute that content on their website.

Imagine if Columbia records was _forced_ to distribute any and _all_ music sent to it on a demo tape. Columbia saying, "No, we won't distribute this" is not theft.

Columbia would be within their rights to say, "Your music sounds too much like Taylor Swift to us. Sorry. It's too big of a risk for us to distribute it."

That's exactly what YouTube is doing. They are saying, your music is too much of a risk for us to distribute based on our algorithms.

You can still go to Vimeo or soundcloud or build your own website to distribute your music, just like the aforementioned artist that sounds too much like Taylor Swift could go to Arista or upload it to youtube or or soundcloud.

<comment><USER8> Seems a bit more like you sending your tape to Colombia and them deciding to distribute it but give all proceeds to some other guy with no relation to your music.

ed: You've edited your comment but I was referring more to the GP case where they say

> And yet, they have claimed copyright on my music and monitized it.

That is exactly Youtube making money on the video and not paying the owner

<comment><USER7> That's not what I understood when I read it the GP saying:

>And yet, they have claimed copyright on my music and monitized it.

By "they," I think he meant: ASCAP, ICE_CS, not YouTube. The problem is that ASCAP, ICE_CS has claimed copyright to something, which they are right to do and that is their _performance_ of the public domain work. Since it sounds like the same work that the GP uploaded, the GP's music was locked.

I am _no_ fan of YouTube's profiting off copyrighted material, I think it's unethical, and in this instance I do not believe that is what they are doing. I believe they have written algorithms to _prevent_ copyright infringement and it is over-fitting on the GP's works.

The GP said they are "claiming copyright on my music" but I don't see any evidence for that. I do see evidence that ASCAP, ICE_CS claim copyright on their performance of the _same_ music as the GP.

Yes, the solution is to have a person in there to be smarter than the AI, but YouTube has said it's not worth it to them to do that and so I believe that is their right.

In this case, the GP's claim is that ASCAP, ICE_CS is doing something wrong, but I don't think that is the case. I think everyone here is doing something right and a bad thing has come from that.

Theft is _wrong_. There is no wrongdoing here.

<comment><USER8> My understanding is that Youtube will allow the supposed content owner to monetise _your_ video. They can choose to let you keep it up as long as they get the advertising revenue from it.

<comment><USER7> I did edit to elaborate where I thought there was ambiguity.

Yes, I agree, if ASCAP, ICE_CS laid claim to the GP's work, then that needs to be fixed. I would suggest any money paid to ASCAP, ICE_CS for that video be returned to the GP, with interest paid by ASCAP, ICE_CS and perhaps some punitive damages so they don't make the same "mistake" again.

To be fair, or give the benefit of the doubt, this could be a Hanlon's Razor scenario where ASCAP, ICE_CS just doesn't understand how to do it right. Or they could be too heavy handed in which case the punitive damages should soften their hand.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> If you rely on YouTube for income, the time to diversify was a couple of years ago. It seems like they have a whole team of people whose sole job is to mess with the creators. Squeezing out the "little guy" so they can be the sole provider of content. They don't need you anymore.

<comment><USER10> It's the teams Google doesn't create that tell the real story. Nobody is paid to care about these users, it's just one big accounting scam contributing to their $100+ billion in savings. Wherever there are _consequences_ for not providing support... Android users get phone and email. Domains users get phone and email. Everyone else collectively enriching Google gets nothing.

[https://support.google.com/googleplay/answer/7299936](https://support.google.com/googleplay/answer/7299936)

[https://support.google.com/googleplay/answer/7100415?hl=en](https://support.google.com/googleplay/answer/7100415?hl=en)

Their support is so bad they literally stole $75m from their own customers while support repeatedly said checks were coming and it was nobody's job to fix it until they were being sued.

[https://marketingland.com/class-action-lawsuit-accuses- googl...](https://marketingland.com/class-action-lawsuit-accuses-google-of- improperly-withholding-refunds-for-ad-fraud-261219)

</comment></comment><comment><USER11> > "SonyATV & Warner Chappell have claimed 24 of my videos because the royalty > free song Dreams by Joakim Karud (from the OFFICIAL YOUTUBE AUDIO LIBRARY > BTW) uses a sample from Kenny Burrell Quartet's 'Weaver of Dream`"

Isn't that protected use anyway?

<comment><USER12> That's a case by case distinction anyway. But as far as I can hear, "Dreams" does not use one short quote, but basically the entire melody of "Dreams" consists of snippets of "Weaver of Dream" looped over and over again.

If you believe in music copyrights at all, this looks like an open and shut case of infringement to me. Plus "Dreams" is a godawful piece of music.

That said, YouTube represented this as safe to use, so it seems to me that the onus should be on them to work out a license and pay the associated costs. I'm sure Google can find enough change in their couch pillows to pay off the rightsholders.

<comment><USER13> > If you believe in music copyrights at all, this looks like an open and shut > case of infringement to me.

There are some that truly _don 't_ believe that sampling copyrights should be a thing. They think it's just a way to stifle creativity. One could also argue that Dreams is so completely derivative that is bears little to no resemblance to the original recording it samples, and as such does not infringe on any intellectual property.

> Plus "Dreams" is a godawful piece of music

You opinions on a piece have no legal bearing on what does or does not constitute copyright infringement. The comment was completely unnecessary and uncalled for.

<comment><USER12> > There are some that truly don't believe that sampling copyrights should be a > thing

That's why I said "if".

> One could also argue that Dreams is so completely derivative that is bears > little to no resemblance to the original recording

That's not what "derivative" means.

> You opinions on a piece have no legal bearing on what does or does not > constitute copyright infringement.

Maybe not, but in light of your general point about "stifling creativity", it might be worth pointing out that this is hardly a good piece to highlight said creativity.

</comment></comment></comment></comment><comment><USER14> I have never really been a fan of the YouTube Audio library, a bunch of channels use the same music and I think it subtracts from the video when another video you seen earlier has the same music. I know there's paid libraries of royalty free music, but even then they still get claimed so got to dispute it but it seems some of those libraries have their own form or canned message to paste in to help. I know I've even heard Apple Loops from Garageband get claimed too even those you are licensed to use them. Even public domain NASA clips got someone flagged, because some news company used them in their broadcasts.

Then fair use isn't always considered too, like if you were walking and a little bit of music was picked up in the background of your vlog, say maybe from a car driving by blasting loud music.

I know with the DMCA there's legal penalties for filing false ones, but Content ID isn't considered a DMCA, so why it doesn't count as a strike unless you disputed it and then the company can then create a DMCA actually reviewing. Really feel like automated technology for policing isn't really ready yet, even flaws in red light cameras.

<comment><USER15> There are no legal penalties just for filing false claims, only if it's false _and_ made in bad faith. This is an important distinction because "I hold the copyright and disagree that the usage qualifies for fair-use protections" probably doesn't fall into the category of "bad faith"

<comment><USER16> What makes it bad faith is:

> I own the copyright and will use an automated system to spam massive amounts > of complaints to anything that even remotely looks like my content _without > even thinking_ about whether it's fair use

> sending these complaints costs nothing for me and require lengthy appeals > and manual review for the affected party who will likely face reductions in > revenue in the mean time

> if someone successfully appeals the complaint I'll just send it again until > they tire of it because I suffer no consequences

</comment></comment></comment><comment><USER17> Something is going to have to be planned. YouTube is very quickly becoming something we won't like.

<comment><USER18> This something that is going to have to be planned will also need a way of dealing with copyright issues. It sounds like an extremely difficult problem, which is why YouTube is having trouble in the first place. I doubt they enjoy these (very public) mistakes.

For example, how exactly do you catch videos using copyrighted material and deal with disputes when thousands of hours of video are uploaded every hour? Doing this manually is likely infeasible. But algorithms are error-prone, as YouTube exemplifies very well. Or how exactly do you stand up to these massive billion-dollar media companies without going bankrupt during your first court case? Which (I think) is why YouTube currently simply goes along with whatever these companies demand.

Criticizing YouTube is easy. What is hard is coming up with better solutions that could actually be implemented in whatever YouTube could potentially be replaced with.

<comment><USER19> > What is hard is coming up with better solutions that could actually be > implemented in whatever YouTube could potentially be replaced with.

Anonymous, encrypted, censorship-resistant peer-to-peer networks.

<comment><USER20> Lbry.io

Think torrenting + youtube + blockchain had a baby.

[https://lbry.com/faq](https://lbry.com/faq)

</comment></comment></comment></comment><comment><USER21> It should be possible to source-separate the music from any voiceover and surgically remove it. Google should implement this feature.

</comment><comment><USER22> So Google is encouraging illegal copyright usage to make other companies more profit. Do they at least get a kickback? And why doesn't the government go after them like they do after pirate sites then?

</comment><comment><USER23> The music in question is Joakim Karud's "Dream" song, which was made famous when Casey Neistat used it for his vlog. It's also popular with Youtuber since Joakim's music are all free to use on Youtube. Apparently the song sampled from short guitar riff from a musician from the 1955. However, the samples are usually sped up or its pitch made high as to not be recognizable from the original source. It's unfortunate, because some of my videos use his songs.

</comment><comment><USER24> Is it possible for a youtuber to switch their videos to silence/mute/delete the audio, while leaving up the video?

<comment><USER25> Yes, you can edit out the audio from the file on youtube, but it's my understanding that it removes ALL the audio from the segment you delete so any voiceovers will be lost.

<comment><USER24> Far from ideal, it would at least prevent royalties on future viewings of existing videos from going to the music companies.

</comment></comment></comment><comment><USER26> why people don't use music from sites like Jamendo ? Is jamendo still a thing btw ?

also: friendly reminder that peertube exists.

<comment><USER27> Because it would be copyright claimed in mass, even more so than the tracks from youtubes own media library.

</comment></comment><comment><USER19> If the media groups apply violence (by using the law enforcement agencies as goon squads) even though you did nothing wrong, give the media groups back violence - that's self-defense.

</comment><comment><USER28> YouTube is in dire need of competition.</comment>


References and Borrowing - <AUTHOR> https://doc.rust-lang.org/book/references-and-borrowing.html <comment><USER3> I'm always up for talking about Rust, but I'm not sure what you're intending to show by submitting a link to a specific page of the Rust book. :) Is there something about references/borrowing in particular that you'd like to discuss or present here?

<comment><USER4> Here's something I find confusing about Rust references/borrowing. Please correct me:

The '&' character does not seem to mean 'pass by reference' ala C++ - <USER2> simply means borrow. Put another way, using '&' is not forcing the compiler to pass a 64-bit pointer reference - Rust will ALWAYS memcpy() the params.

Rationale: existing Rust documentation states that both copy semantics and move semantics are implemented with memcpy(): [http://doc.rust- lang.org/std/marker/trait.Copy.html](http://doc.rust- lang.org/std/marker/trait.Copy.html)

The only way to pass a reference (like C++) to a function seems to be by using Box. This way Rust can memcpy() the Box struct - which is essentially a unique pointer to some memory on the heap.

It works(?) this way because the called function may spawn a thread that depends on one of the params. If such param was a reference/pointer to something on the caller's stack and the caller's stack was unwound the reference would be invalid.

I realize the borrow checker should be able to determine all of the lifetimes and it should be able to pass pointers to data on the caller's stack in some cases. Does Rust do this?

<comment><USER5> No, Rust invokes the equivalent of a memcpy() when moving ownership for types with the Copy trait. A borrow is just like a pointer (and indeed you have to dereference it with a * to get access to the contents).

<comment><USER4> Ok, just to summarize:

foo(some_struct) == memcpy() for both copy and move.

foo(&some_struct) == copy usize ref/pointer value onto stack

So, mostly the same as C++. The exception is that Rust can use a ref under the hood for foo(some_struct) if it wants.</comment></comment></comment></comment>


Making it up in volume: How profit and volumes traded-off in the fourth quarter - <AUTHOR> http://www.asymco.com/2011/02/02/making-it-up-in-volume-how-profit-and-volumes-traded-off-in-the-fourth-quarter/ <comment><USER2> Key datapoint: Apple dominate profitability per handset at around $260; third most profitable manufacturer is Android-centric HTC, at around $65 per unit (RIM is in 2nd place, ~$75).</comment>


Armed Robots - <AUTHOR> http://www.strategypage.com/htmw/htinf/articles/20071008.aspx

<comment><USER2> So far this is the most advanced armed bot I've seen <http://www.youtube.com/watch?v=pMkV8E2re9U>

<comment><AUTHOR> You're right as far as perception, but it is immobile. Mobile robots are to immobile robots as animals are to plants.

Any wagers on where the first shot fired from an armed unmanned ground vehicle? N.Korea DMZ, Iraq, ... Iran?

<comment><USER2> Oh, Iraq I'd imagine, since those bots are actually seeing action. I'm not sure the South Korean bot is deployed yet.

The reason that South Korean bot is so impressive (and scary as hell) is that the damn thing is autonomous, not tele-operated. There's something about the idea of a machine making the call to kill a human that's kind of horrifying.

I guess looking at it from the perspective that the code in the machine is just the automated thoughts of a human makes it seem more like deferred human intention than machine-uprising. Still.

Has the Predator drone dropped any bombs autonomously yet? I guess that might count as the first shot, although I'm pretty sure there is a manual confirmation there before it does anything.

<comment><AUTHOR> All UAV kills have had a human in the loop.

Land mines have been killing people autonomously for years :).

You're right about the SK bot. Certain sites are just that sensitive: kill anything coming here.

Breaching the first two fences with warning signs outside a nuclear facility is probably another place to shoot first.

I suppose Tasers are a good alternative. iRobot is working with Taser to get their systems on our robots.

<comment><USER2> iRobot is one of the top 3 companies I would love to work for - I'm sure you guys will stay as one of the major players in the coming years when autonomous robotics comes around. Have you ever considered starting your own company though, or do you plan to make youre career at iRobot?</comment></comment></comment></comment></comment>


Build Cross-Platform Apps in C# using Parse and Xamarin - <AUTHOR> http://blog.parse.com/2013/04/13/build-cross-platform-apps-in-c-using-parse-and-xamarin/

<comment><USER2> Does anyone have experience using Xamarin, as opposed to standard Android development in Eclipse?

I'm looking at the website and as a daily C# developer, this looks enticing. But I'm wondering what the limitations are as it seems somewhat too-good-to- be-true.

<comment><USER3> I have for a couple of projects. Overall, I loved it. It allowed us to share code on iOS, Android and Windows Phone (though we wrote native UIs separately, in C#). Plus C# is a great language, and Visual Studio is a great IDE.

It's not perfect though:

\- On Android, there's a limit to how many Java Native Interface objects you can have (40000 I believe). This sets a hard limit to how many object you can have that wrap Java objects, so for instance you can't have 40000 UI objects at the same time. It's possible to run into this problem, but you can work around it by working in Java for those parts.

\- On iOS there are ways in which the Mono GC can free objects that are referenced by the native objects, but not by the C# code. For instance, you could pass a lambda to be called when a button gets clicked. This lambda (or something it references) gets freed, and when the button is clicked it tries to call C# code that's gone. This causes some really nasty bugs, and should IMO be considered a bug as it really breaks the expectations one has when coding in a managed language.

<comment><USER4> I've been bitten buy similar bugs in Mono, it's really frustrating. I do like the availability of Linq though.

Also coming from native iOS, debugging seems really clunky to me. It's very easy to reach a state where the IDE just goes "welp, I have no idea what's in scope right now".

</comment></comment></comment><comment><USER5> I have an Android app that lets developers discover Android libraries and run their demos. I have been thinking about adding some Xamarin samples but am unsure if it would be worth my time. I don't have a good feel for how many C# developers there are who want to write mobile apps.

<comment><USER6> Are you the guy behind DevAppsDirect ?

<comment><USER5> Yes I am

<comment><USER6> Amazing little app. Great job!

<comment><USER5> Thanks! It all started with the thought, what would happen if native apps were as easy to try as website? DevAppsDirect is my MVP and I am just getting started.</comment></comment></comment></comment></comment>


Trump's Tariffs? Coronavirus? China's Exports Are Surging Anyway - <AUTHOR> https://www.nytimes.com/2020/08/31/business/trumps-tariffs-coronavirus-china-exports.html <comment><AUTHOR> I think this is an interesting development. It seems that our strategy to counter China has been seriously damaged by the fact that we haven't been able to get the virus under control. It seems increasingly clear that we can't separate foreign policy and domestic policy as we used to do.

If you can't get past the pay wall, archive links such as this one seem to work reliably : [http://archive.vn/2eRqH](http://archive.vn/2eRqH)</comment>


Americans spend ten times more not winning the lottery than they do on music - <AUTHOR> https://pando.com/2016/06/08/americans-spent-ten-times-more-not-winning-lottery-they-do-music/5b46a490a4ac90db1555cdc5942752853555ced3/ <comment><USER2> apparently not enough...generally if I go to win the lotto I like to spend 2x the jackpot. sometimes it takes more.

</comment><comment><USER3> How do you even "buy" music anymore?</comment>


Pakistan bans one Chinese app, gives TikTok a final warning to clean up its act - <AUTHOR> https://www.theregister.com/2020/07/22/pakistan_bans_bigo_warns_tiktok/ <comment><USER2> Seems strange to insist so much on the fact that these are Chinese apps, or to link that to India's actiosn, when the official message is only complaining about lack of censorship of "obscene and immoral" contents.

Pakistan is a close ally of China and I doubt they would act against China. But as a conservative Muslim country they enforce specific restrictions.

Clickbait title if there ever was one.</comment>


2x Dynos enter General Availability - <AUTHOR> https://blog.heroku.com/archives/2013/5/31/2x_dynos_enter_general_availability <comment><USER2> We switched over to these shortly after they were available. The primary solution to the technical problem facing Rails apps on Heroku (made broadly known by the excellent Rap Genius blog posts) was to switch from the stock 'thin' web server to 'unicorn' or similar web server. 2X dynos make this solution even more effective, by providing two times the RAM which allows you to run more unicorn workers per process (e.g. from 2 to 4 for us) and have allowed us to reduce our Heroku bill by a couple hundred dollars a month. On top of that, the double CPU share means that workers will generally return the same results faster. It's sort of a no-brainer for Rails apps.

The other big win for us on Heroku recently was that Adept Scale came out of beta, which is a Heroku add-on which will monitor your traffic levels, response times, and related error rates and automatically scale up your dynos as needed. I'm not really sure why this isn't a core feature of the Heroku platform. We pay $36/mo. for Adept Scale, but they save us probably $200/mo, at least.

<comment><USER3> a worker is a process in this case?

<comment><USER2> Yeah, I was a little confused by this at first because Heroku also has "workers" which are dynos provisioned to churn through queued background jobs, but unicorn "workers" are totally different: They're processes forked within the web dyno so a single server can process requests concurrently. Each forked process has the entire memory footprint of the Rails app (about 200-250 MB for us), so the more memory you have the more forked processes you can run on a single dyno.

This reduces H12 errors because the more concurrency you have in a single process the less likely it is that Heroku's random routing layer is going to send a request to a dyno that is unable to handle the request because it's busy handling another long running request. As long as long running requests are the exception and not the rule, this should solve the problem.

<comment><USER4> There's also HireFire, which has support for scaling all your Heroku process types, not just your web processes: <http://hirefire.io/> .

I've used them for a few projects which honestly have never actually needed auto-scaling, but they're very easy to use overall and at $10/month are way underpriced. They do have a slower polling frequency (1 minute instead of 15 seconds) though.

<comment><USER5> HireFire is fantastic (can't recommend it enough for people using Heroku). We use it at backstitch (<http://backstit.ch>) and it has saved us a ton of cash early-on.

</comment></comment></comment></comment></comment><comment><USER6> These cost $0.10 per instance hour. AWS Small instances, which have 1.7GB of memory, cost $0.06 per instance hour.

Edit: corrected.

<comment><USER7> Heroku has always cost more than raw EC2 because it does more.

<comment><USER8> How about Elastic Beanstalk? It seems like that's still cheaper than Heroku, especially when you start to scale up the dynos.

<comment><USER9> AWS sells convenience at a huge markup. Heroku also sells convenience, and (for what it does) a lot more of it than Amazon.

When and where that convenience is worth it depends entirely on you, personally I cannot imagine building directly on servers again without a very good reason.

</comment></comment></comment></comment><comment><USER10> And it's still horrendously expensive...

<comment><USER11> Thanks to Heroku, my startup pays $0/year for a sysadmin/devops team.

<comment><USER12> I can't agree enough (with the sentiment about savings, though I guess I also agree that you pay $0/year for sysadmins).

I think we must have a collective blind spot here - we're so excited to save money by renting virtual servers by the hour with AWS, but not so excited to save money by not having to hire sysadmins.

</comment></comment></comment><comment><USER13> We've been taking advantage of these from the day they went beta. It's a shame they're finally switching on the full price, we had quite a savings in the interim (they had been priced at the same level as "1X" dynos during the beta period, the last few months).

Our apps (Rails) tend not to be incredibly hogging, so we've been running 8-9 Unicorn workers per dyno, depending on the app, up from 4, and it's worked fantastically. With one app, we were able to scale down from 12 to 6 dynos, which helps with the routing mesh "issue" that begins to really present itself with that many dynos.

Per aculver's post, I'll have to take a look at Adept Scale - it sounds killer.

</comment><comment><USER14> Can we have a price drop of the "Small" dyno then? I can pay for both a Cloud66 account and a Digital Ocean 1GB box for less than a single Heroku dyno. Im on the edge of switching, but I do really like Heroku and would prefer not to.

</comment><comment><USER15> I'm a bit surprised that Heroku doesn't give you the option to do bigger instances on EC2. It seems incredibly obvious that in many cases, going vertical makes a lot of sense and can be cheaper than going horizontal.

<comment><USER13> This is exactly what 2X dynos do. They've also mentioned - somewhere, having trouble finding it - that they're exploring further scaling (ie. "3X", "4X", etc.).

EDIT: Here's the mention of "4X" dynos - in the "FAQ". <https://blog.heroku.com/archives/2013/4/5/2x-dynos-beta>

</comment></comment><comment><USER16> Its frustrating that they do this while also stealthily changing the price structure for new users (and who knows when for legacy)</comment>


Apple Takes Over ESPN.com's Frontdoor - Again - <AUTHOR> http://ryanspoon.com/blog/2009/04/29/apple-takes-over-espncoms-frontdoor-again/ <comment><USER2> Apple is heavily embracing the site takeover ads, but I don't think it merits any attention, it's advertising and not really innovation even, these sort of ads have existed for years.

</comment><comment><USER3> I saw that same ad on The New York Times site yesterday as well. I'm not a big fan of the "I'm a Mac" ads but this one was pretty funny. "Easy as 1-2-3", "No easy as 1-23" ...</comment>


Show HN: A telemedicine resource for our healthcare providers - <AUTHOR> We're a group of physicians that wanted to make a resource that would be useful to our healthcare colleagues during the COVID-19 pandemic.
Although it may seem counter-intuitive, many of our healthcare colleagues are struggling as clinics and elective procedures are shuttered around the nation. Hospitals are furloughing or firing record numbers of nurses, doctors, therapists, physician assistants, and nurse practitioners as their profits plummet.
Although in-person visits are slowing, telemedicine is exploding. It seems like every day our inboxes are inundated by new telemedicine companies we had previously never heard of that are advertising new positions. We started organizing the offers by specialty amongst ourselves and figured we might as well start publishing the offers we had found into a easily searchable jobs board for all of our healthcare colleagues around the nation. We also started interviewing telemedicine leaders and posting articles dedicated to telemedicine that we thought might be useful to our colleagues.
None of us have any experience in the start-up or tech world so we appreciate any and all feedback. Our product is 100% free for all healthcare providers. Forever.
Please leave any comments and questions and I'll be sure to reply to all of them. Thanks!
Review our website at: www.teledocjobs.com <comment><USER2> You should have a link to your privacy policy in the footer of your website. The privacy policy found at [https://www.teledocjobs.com/privacy- policy/](https://www.teledocjobs.com/privacy-policy/) does not appear to be linked to from anywhere else on your site.

<comment><AUTHOR> That is a very good point, thank you!</comment></comment>


Scraping every IPv4 WHOIS record - <AUTHOR> http://tech.marksblogg.com/all-ipv4-whois-records.html

<comment><USER2> I think you can download the assigned IPs from at least RIPE. Otherwise you could download a BGP-dump and then get the AS-number from every announced IP- span and then map AS->Country.</comment>


CSS 3D Solar System  - <AUTHOR> http://codepen.io/juliangarnier/pen/idhuG

<comment><USER2> Is there something like this where the proportions of size and distance are correct? I always wondered, how the solar system shrinken down to the size of a football would look like. Would the sun and all plantes be sub-pixel-size? So a correct image of the solar system would just be an empty image? Or would we be able to see the sun? Or the sun and some or all planets? I have no clue.

<comment><USER3> The reason you don't see realistic models very often is because objects we use as for reference (planets) are too tiny compared to the space between them. Earth would be nothing more than a speck of dust in a football sized model.

That said, here's a model with proper proportions of distance: [http://www.solarsystemscope.com/](http://www.solarsystemscope.com/) \- Flash required, click anywhere, click on the gear icon to the left to select realistic size and model. Zoom slider is to the right. Note, the sizes and colors are wrong, most planets would be pretty much invisible in a realistic model.

Here's a neat non-interactive one from NASA: [http://space.jpl.nasa.gov/](http://space.jpl.nasa.gov/)

<comment><USER2> I dont understand the flash one.

The nasa one gives me this: [http://i.imgur.com/E6JW3Ks.jpg](http://i.imgur.com/E6JW3Ks.jpg)

Too bad they show all those stars in the background. So its a bit hard to say what is what. But it looks like the sun and the planets are quite visible. But are the proportions really correct? It looks like the sun is not much bigger then the plantes.

<comment><USER4> Well, there are two issues here.

(1) Correct proportions of the distances between objects (namely the planets, planetoids, and the Sun), and (2) the correct proportions of the objects themselves.

The links (A) [http://www.solarsystemscope.com/](http://www.solarsystemscope.com/) and (B) [http://space.jpl.nasa.gov/](http://space.jpl.nasa.gov/) show correct proportionality in DISTANCES BETWEEN OBJECTS but NOT the objects themselves.

For correct proportionality for both the distances and the objects themselves, see [http://joshworth.com/dev/pixelspace/pixelspace_solarsystem.h...](http://joshworth.com/dev/pixelspace/pixelspace_solarsystem.html)

The problem with [http://codepen.io/juliangarnier/pen/idhuG](http://codepen.io/juliangarnier/pen/idhuG) is that both the distances between objects and the objects themselves are not proportionally correct.

</comment></comment></comment></comment><comment><USER5> Related: [http://mgvez.github.io/jsorrery/](http://mgvez.github.io/jsorrery/)

It's not just css, but uses NASA data and does super accurate simulation, like predict-the-solar-eclipse-date kind of accurate...

<comment><USER6> Lovely. Would love to be able to see the constellations more clearly. I can make them out I zoom in, the sun's rays enhance them. Although someone above doesn't like the constellations - so maybe a switch.

</comment></comment><comment><USER7> Great work. You even had some breakpoints for smaller widths, which was unexpected for this type of visualization.

</comment><comment><USER8> Awesome! How long have you worked on it?</comment>


Arrow Functions Coming to Chrome 45 - <AUTHOR> https://wingolog.org/archives/2015/06/18/arrow-functions-coming-to-chrome-45 <comment><USER2> Why is it that all new chrome features are usually announced on random blogs all over the place, while the official "chromereleasenotes" blogspot blog has almost never any useful information? There they all seem to talk about various minor security fixes in the stable channel posts, but almost never are new features highlighted. Is it really necessary to track the beta and canary release notes and svn logs to stay on top of things?

<comment><USER3> We try and make sure that the Chromium blog ([http://blog.chromium.org/](http://blog.chromium.org/)) always covers new features as they make it into the new Beta. Imho you should be able to read the beta blog posts on that blog and not miss any new developer shiny things. Also fwiw we're going to try and do a better job of making the release notes link to the appropriate beta blog post on the Chromium blog, I agree we've done a poor job on that in the past.

<comment><USER2> Awesome, thanks!

</comment></comment></comment><comment><USER4> Regarding the example at the end of the post, how does it even make sense to allow an anonymous arrow function be a "paramater name" (yes!) of another anonymous function? I guess the empty object becomes a destructuring parameter that doesn't do anything but the function is confusing:

        (
          (
            {},
            {},
            ({},{})=>({},{})
          )=>
          (({},{})=>({},{}),{},{})
        )({},{})

I can rewrite that to be more clear:

        //(({},{})=>({},{}),{},{}) evaluates to {}
        //({},{}) evaluates to {}
        let fn = ({}, {}, ({},{})=>{}) => {};
        fn({},{});

This is just a syntax error, I guess (hope)?

<comment><USER5> It is. You can try to translate the snippet using babel, it doesn't work unless you remove that parameter.

</comment></comment><comment><USER6> > Relative to the other kind of function that is written like function (x) { > return x * 2 }, arrow functions don't define this or arguments in their > bodies, instead capturing these values from the environment.

In the case of `this`, I can see why they did that: it is the right semantics and all of JavaScript should be this way. But I really think creating two different behaviors for what should all just be syntactic sugar around the same, ol' function values is long-term going to reveal itself as a mistake.

But that's just `this`. I can't for the life of me imagine why they also did this for `arguments`.

<comment><USER7> I think that was largely to make it easier to deal with arrow functions in higher-order functions, though the only case I can see for "arguments" anymore is for varargs, and those are covered with the rest operator, so I'm not sure why the distinction is made.

<comment><USER6> ok, that makes sense. Yes, `arguments` is a shitty replacement for real varargs.

</comment></comment></comment><comment><USER8> The author says using arrow functions won't hurt performance, but I wonder if that means v8 knows how to optimize them?

Last I checked, using any ES6 syntax causes v8 to permanently deopt the containing function - even using let/const to declare an unused variable that would get removed as dead code. It'll be great once that starts changing..

<comment><USER9> As of today, Babel turns arrow down to normal anonymous function, and wires up the `this` inside if there's any. So if you compile through Babel (and we'll probably keep compiling for another while) there's no overhead.

<comment><USER8> Sure, but that's all true regardless of the Chrome update discussed in the article. That's what I was wondering about.

</comment></comment></comment><comment><USER10> I take it this means we'll also get arrow functions enabled by default in IO.js shortly?

</comment><comment><USER11> No Offense, but arrow functions and the 'let' keyword in particular just seem like really bad ideas for javascript.

<comment><USER12> No offence taken, but what about _let_ do you think is wrong for JavaScript? It will help make common scope errors less common, and is clean to read.

<comment><USER11> basically i feel like it greatly complicates the scoping rules in order to make javascript scoping similar to other languages scoping rules. If there was no 'var' I would be fine with 'let' and in theory perhaps 'let' is better than 'var', however if i had a choice between having both or having just one, i would rather just have either, even if the either is 'var'.

<comment><USER13> If you think of `var` as a syntactic sugar for a `let` declaration that gets hoisted to the top of its containing function, `let` actually _simplifies_ scoping.</comment></comment></comment></comment>


FanLib - How not to launch a startup - <AUTHOR> http://icarusancalion.livejournal.com/626928.html?#cutid1 <comment><AUTHOR> A few other articles on the subject have also appeared lately:

<http://community.livejournal.com/fandom_lawyers/34651.html?mode=reply>

<http://community.livejournal.com/metafandom/></comment>


Basic Augmented Reality using Glass - <AUTHOR> http://9to5google.com/2013/07/16/cool-demo-of-how-augmented-reality-could-look-on-google-glass/

<comment><AUTHOR> Here are a few other writeups on this

[http://selfscreens.com/archives/4257/more-basic-augmented- re...](http://selfscreens.com/archives/4257/more-basic-augmented-reality- demoed-on-google-glass-as-part-of-openglass-project/)

[http://www.slashgear.com/google-glass-augmented-reality- demo...](http://www.slashgear.com/google-glass-augmented-reality-demo-birthed- in-open-source-library-openglass-16290550/)

Code is at [http://github.com/bwhite/openglass](http://github.com/bwhite/openglass)

Project is at [http://openglass.us](http://openglass.us)

More to come, join our community if you want to collaborate.

</comment><comment><USER2> This is awesome! Looking forward to using it!

</comment><comment><USER3> Very nice, just keep Glass in the privacy of your home away from the non- consenting public. Thanks.

<comment><AUTHOR> I totally agree, as a cypherpunk and an EFF/FSF donor (notice the GNU in the end of the video, I bought that from RMS at an auction for a few hundred bucks) I'm bothered by the possible privacy intrusions from glass. At the same time we are trying to highlight the good that can come from glass (see our VizWiz project which is an iPhone/MTurk/CV mashup to help blind users find objects [https://www.cs.umd.edu/~bwhite/extra/papers/UIST10-jbigham.p...](https://www.cs.umd.edu/~bwhite/extra/papers/UIST10-jbigham.pdf)). One area we are researching is how to protect bystander's privacy without requiring them to "opt-in" so that they can "opt-out" (like Germany does with street view).

We're already working on the next demo, but the one after that (let's say 2 weeks) I'll try to show what we can do in terms of protecting the public's privacy (incidental bystanders). Thanks for mentioning this.

<comment><USER3> A tricky wicket indeed. I feel the more devices are always-on, the more the devices uploading data on their own accord the more privacy by default should be given to others. It is really no longer an issue of wondering if someone is going to post an image to Facebook from a device, but if the device is going to publishing "metadata" on it's own.

Devices like Glass seem to be the threshold where this always on activity becomes most apparent as a potential problem. No doubt we'll be seeing more in the future, Motorola's recent always-on-ness hardware for example.</comment></comment></comment>


Show HN: DatoCMS, a Client-Friendly CMS for Hugo, Jekyll, Middleman, Etc. - <AUTHOR> https://www.datocms.com/how-it-works/ <comment><USER2> The thing you offer is a fancy editor for statically generated websites, but for the prices you're asking, I would expect you to _host_ the site as well. Also, looking at the videos/gifs on your website, it seems to me that the editor isn't even truly WYSIWYG. Sure, the text-areas are WYSIWYG, but you're not editing the content in the templates themselves, which would be way more useful.

I also want to second the suggestion to make this FOSS. I know you fear for the economic repercussions, but unless your product is unique and super game- changing (which IMHO it isn't), people will mostly pay for the _service_ they get on top of the product. This can still be a differentiator, even when the software itself is also available as FOSS.

<comment><AUTHOR> There are tons of totally free hosting solutions for static websites (Netlify, Surge.sh)... each has it's pros and cons.. why forcing our clients to host their sites on our service? Also, it's not our core business, so we prefer to focus on giving the best modelling/editing CMS experience, at least for now :)

</comment></comment><comment><USER3> I wish SaaS companies (not just DatoCMS) would learn that developers will not adopt their products if they don't have source access.

This product could have easily been FOSS with it's pricing model based exclusively on support/hosting.

If you want early-adopters - be hacker-friendly, not money/data-hungry.

<comment><AUTHOR> It's a very interesting topic.. we're seriously considering open-sourcing it. Honestly, the fear of having negative economic returns from this operation is very high :( Is this your main reason for your lack of interest in the product btw?

<comment><USER3> Yes - and while I'm no Richard Stallman - I try to only use FOSS software but have made concessions for requirements at work (G Suite, Slack, etc).

Would have been an instant install otherwise.

</comment></comment></comment><comment><USER4> I do somewhat agree with the opinion of making it open source. Imagine how much better the platform could be with constant developer input. But I understand that might not be an easy decision to make.

I've used DatoCMS and I actually really liked it. However the pricing model is quite steep for the service it provides. I feel that if open sourcing isn't in the horizon, at least consider expanding what the Free and Basic models provide.

<comment><AUTHOR> It's quite interesting to hear that, as ie. Contentful charges 249$/month for similar set of features :) In which way you'd like our Free and Basic plans to expand?</comment></comment>


Trends in Show HN posts - <AUTHOR> https://toddwschneider.com/dashboards/hacker-news-trends/?q=Show+HN&f=title&s=text&m=frac_items&t=month <comment><USER2> I'm glad to see Show HNs ticking up a bit. We've been putting more effort into finding good ones that fall through the cracks. Anyone who wants to help with that should browse [https://news.ycombinator.com/shownew](https://news.ycombinator.com/shownew).

If you see a Show HN (or any submission!) that's particularly good and isn't getting attention, let us know at firstname.lastname@example.com. We'll take a look and maybe put it in the second-chance pool ([https://news.ycombinator.com/item?id=11662380](https://news.ycombinator.com/item?id=11662380)), so it will get a random placement on HN's front page.

The best such suggestions come from people who aren't personally connected to the article or project, but just ran across it.

<comment><USER3> > Anyone who wants to help with that should browse > [https://news.ycombinator.com/shownew](https://news.ycombinator.com/shownew).

And as you browse, it's worth keeping the Show HN guidelines in mind, particularly those around commenting [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html) (which I actually had never seen before clicking on that spike in 2014...)

</comment></comment><comment> dan-robertson I wish there were some more analysis of the trends but lots of interesting analysis would be hard to do. I had a quick search and found some trends. eg, lisp decreased in popularity, overtaken by clojure then Haskell, then peak JS, but my memory of HN was that lisp articles were reasonably common until 2015 at least, Haskell had a peak around 2012-2016 and in the early 2010s there were loads of articles about all the different web frameworks. I see a lot less of all of those things today. Probably the biggest increase has been in current affairs. There was also a period around 2016 when articles from literary magazines (<city> review [of books]) were popular, typically articles about politics more than books. I don't see them so much either, I barely even see articles from the new Yorker anymore.

The problem with using this site to look for some of those things is that those things were usually not mentioned in the title. I'm glad that HN still has a lot of "mystery" titles where you don't know what you're going to get when you click a link.

</comment><comment><USER4> Ever wondered if Hacker News has vote inflation? [https://toddwschneider.com/dashboards/hacker-news- trends/?q=...](https://toddwschneider.com/dashboards/hacker-news- trends/?q=.*&f=title&s=exact_case_insensitive&m=items_score&t=month)

<comment><USER2> I don't know about vote inflation but I'm pretty sure we need some karma inflation. New users need easier ways to get in the game.

(Of course karma is silly and no one cares very much about it, but it's not nothing, and as long as we have it we should have a system with better circulation.)

<comment><USER5> I don't really think it's that hard as a new user. I've been here 25 days and I just got downvote powers, which is cool. I imagine I'll get vouch powers at this rate next month but I haven't found anyone I want to vouch anyway so it doesn't seem that bad.

<comment><USER6> Vouch mostly comes in handy for stories.

<comment><USER4> They're great for bringing in good comments from new accounts as well.

<comment><USER6> Yeah, certainly.

</comment></comment></comment></comment></comment></comment><comment><USER7> Looks similar to something I built: [https://hnprofile.com/compare?search=ruby,python](https://hnprofile.com/compare?search=ruby,python)

Note the rules for "Show HN" state:

> Show HN is a way to share something that you've made on Hacker News.

and/or

> Show HN is for something you've made that other people can play with. HN > users can try it out, give you feedback, and ask questions in the thread.

[https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

The person who submitted does not appear to be the original author (who is Todd W. Schneider). Interesting content though.

<comment><USER8> Are you suggesting this post goes against the rules because the submitter didn't create it? This post is not a Show HN.

<comment><USER9> No, but its original title started with "Show HN" which misled me at the time (and perhaps the poster to whom you're replying).

<comment><AUTHOR> Well, I was trying to be a bit clever. I thought that by removing the colon after "Show HN" part, I could use it as a subject. The original title was "Show HN Trends on Hacker News."

But that caused a lot of confusions indeed. Glad that dang has changed the title to be a more appropriate one.

<comment><USER7> Ah I see - that makes sense in retrospect! Not at the time though haha

</comment></comment></comment></comment></comment><comment><USER10> The recent uptick in Show HN posts since the coronavirus pandemic started is interesting. I have some guesses why this is occurring (WFH, layoffs, new problems to solve) but it would be interesting to know exactly what's driving it.

</comment><comment><USER11> > Show HN: This up votes itself

Ironic that that is still number one. A shady way to submit a bug, but props to HN for not burying it or punishing the submitter.

<comment><USER6> Shady? It's great. Little increases site culture in a more positive way than a community taking advantage of a flaw in the software it's running on, especially on a site wanting to encourage curiosity like HN. I'm surprised you disagree; reddit had some of the coolest examples of this:

[https://old.reddit.com/r/reddit.com/comments/2pnpu/_/](https://old.reddit.com/r/reddit.com/comments/2pnpu/_/)

<comment><USER11> I disagree specifically because I've been on the receiving end enough times to know that as fun as it is, it's a huge pain in the ass for the devs who have to scramble to fix it before someone exploits it for evil.

<comment><USER6> If reddit wouldn't have moved away from Lisp, maybe you wouldn't have had to scramble to fix it. HN (as an example of a site that didn't move away from Lisp) fixes are always fairly quick, and the site has rarely had downtime.

</comment></comment></comment></comment><comment><USER12> It's a cool tool but my main reason for commenting is to say how quick and fast the graph updates! Good work.

</comment><comment><USER13> What caused the huge spike in 2014? Seems only one of the top voted items was around that time.</comment>


Mozilla plans to remove RSS feed reader and Live Bookmarks support from Firefox - <AUTHOR> https://www.ghacks.net/2018/07/25/mozilla-plans-to-remove-rss-feed-reader-and-live-bookmarks-support-from-firefox/ <comment><USER2> > Mozilla discovered that the vast majority of Firefox users, 99.9% according > to the organization, don't use the functionality at all.

Can someone put these guys in charge of something like an office suite? That'd be hilarious.

</comment><comment><USER3> I never used live bookmarks, but I did find the subscribe button handy on RSS/Atom feeds - I wonder why that part of the codebase is hard to keep.

These days I am using FeedBro[1] but I don't like that it isn't open source and has poor/non-existent keyboard navigation support.

I used to get on well with NewsFox[2] before Mozilla killed legacy extensions.

[1]: [https://nodetics.com/feedbro/](https://nodetics.com/feedbro/)

[2]: [http://newsfox.mozdev.org/](http://newsfox.mozdev.org/)

<comment><USER4> If you click the ?-icon in the Feedbro toolbar you can see all the keyboard shortcuts. What shortcuts are you missing?

<comment><USER3> thanks for the tip, I didn't know about that. I was expecting the up and down arrow keys to move between articles in view mode 3, but looks like j and k works, thanks!

</comment></comment></comment><comment><USER5> Issue in Mozilla's bug tracker: [https://bugzilla.mozilla.org/show_bug.cgi?id=1477667](https://bugzilla.mozilla.org/show_bug.cgi?id=1477667)

Draft of an explanatory blog post (linked from the above issue): [https://docs.google.com/document/d/1aIMPZVy33mn34pXBUETk4lt_...](https://docs.google.com/document/d/1aIMPZVy33mn34pXBUETk4lt_NrJXupcMilTPFFVpmnI/edit)

</comment><comment><USER6> Can't we just add support via an addon?

<comment><USER7> My guess would be yes since there's this for Chrome: [https://github.com/davidhampgonsalves/foxish](https://github.com/davidhampgonsalves/foxish)

Since Firefox's WebExtension API is a close superset to Chrome's API, I would wager this could be easily ported now.

</comment></comment><comment><USER8> Guess they don't want usable features preventing adoption of Pocket :/

Sad times for web browsers on all fronts.</comment>


District 9 is not an apartheid allegory - <AUTHOR> http://www.takimag.com/blogs/article/alien_nation/

<comment><USER2> That was the takeaway for me too: the movie was only tangentially about apartheid but it was also about slavery in the South, the Trail of Tears, the brutality that man can show to fellow sapient creatures but also the nobility and magnificence. The hostility shown by the humans -- white _and_ black -- to the aliens hammers home the point that the general dynamic is the same throughout history, what changes is the line of demarcation which dictates who is "one of us" and who is an outsider.</comment>