FSCQ: A formally verified crash-proof filesystem [pdf] - <AUTHOR> http://adam.chlipala.net/papers/FscqSOSP15/FscqSOSP15.pdf <comment><AUTHOR> FSCQ is a certified filesystem written and proven correct in Coq. It's the first filesystem with a machine-checkable proof that it's implementation meets its specification and whose specification includes crashes.

The full source code of FSCQ is available online: [https://github.com/mit- pdos/fscq-impl](https://github.com/mit-pdos/fscq-impl)

<comment><USER2> That's pretty awesome that you could get this verified down to the implementation. We had a related project [1], where we verified a persistent storage system under restarts. Our case study was much simpler than a full fledged file system, and we didn't verify an implementation, but we did also consider hardware failures (partial writes, bitrot, etc). Our proof rules are different though, and I think pretty interesting. But some other choices that we made were in hindsight suboptimal, and some points in your paper resonated with me in a "yup, would do it this way now" way. Really nice work!

[1]: [http://mynosefroze.com/pubs/fm2014.pdf](http://mynosefroze.com/pubs/fm2014.pdf)

</comment></comment><comment><USER3> I can't help but think of a couple things:

"Beware of bugs in the above code; I have only proved it correct, not tried it." -Donald Knuth

And this bug: [http://googleresearch.blogspot.com/2006/06/extra-extra- read-...](http://googleresearch.blogspot.com/2006/06/extra-extra-read-all- about-it-nearly.html)

EDIT: I should have elaborated further. I did not intend to sound like I'm dismissing this work, because it's a cool step forward. It's just that this reminded me of those things that happened before.

<comment><USER4> Pretty middlebrow dismissal. How about educating us about something pertinent to the paper _in particular_ , instead of seemingly just scoffing at the idea of formal verification of software _in general_?

<comment><USER5> It's pretty cool, but it's a little disappointing that they handwave away the possibility that block writes might not happen atomically. Formal verification is only as good as the assumptions you start from.

<comment><AUTHOR> I think it's more work to reason about partial block writes.

The paper does have a paragraph on this:

> The `disk_write` specification states that blocks are written atomically; > that is, after a crash, a block must contain either the last-written value > or one of the previous values, and partial block writes are not allowed. > This is a common assumption made by file systems, as long as each block is > exactly one sector, and we believe it matches the behavior of many disks in > practice (modern disks often have 4 KB sectors). Using CHL, we could capture > the notion of partial sector writes by specifying a more complicated crash > condition, but the specification shown here matches the common assumption > about atomic sector writes. We leave to future work the question of how to > build a certified file system without that assumption.

</comment></comment></comment></comment><comment><USER6> That sounds nice to have, but isn't it not as useful without a formally verified crash-proof firmware running on the disk?

<comment><USER7> True, but the same argument could've been made about the value of verifying the firmware. Eventually there will be enough formally verified pieces to put them together into a full software stack.

<comment><USER6> Yeah.. but all the correctness in the world wont protect you from bitrot.

I think it's interesting, and would be great if something like this were applied to ZFS.

<comment><USER8> If under 'bitrot' you assume random bit flip here is the quote from that paper: << Project Zap [53,60] and Rely [8] explore using type sys- tems to mitigate transient faults (e.g., due to charged particles randomly flipping bits in a CPU) in cases when the system keeps executing after a fault occurs. These models consider possible faults at each step of a computation. The type system enables the programmer to reason about the results of running the program in the presence of faults, or to ensure that a program will correctly repeat its computation enough times to detect or mask faults. >>

<comment><USER6> That's a start, but not quite what I had in mind. I was more thinking of the case that you write 10001000, and then later, you read 10011000 back from the disk and the fs panics.

The words "checksum", "digest", or "integrity" don't appear in the paper at all.

It's probably a case of "in theory the bits you write to the disk are the bits you later read back, in practice they are not"</comment></comment></comment></comment></comment>


Deep Learning – Past, Present, and Future - <AUTHOR> http://www.kdnuggets.com/2017/05/deep-learning-big-deal.html <comment><USER2> One day someone will properly credit the anonymous Canadian public service workers who recommended the CIFAR bet and their political masters for backing it. Then maybe CIFAR can join it's rightful place alongside NASA and DARPA as exemplors for how public research should be done.

</comment><comment><USER3> The title is misleading, nothing is said about future.</comment>


Plug – Native OS X client for Hype Machine - <AUTHOR> http://plugformac.com
<comment><USER2> This looks lovely — great job with the UI.

I can see from the Hype Machine blog [1] that Plug was developed with the approval and assistance of Hype Machine. Nevertheless, it's unfortunate that the client requires the end user's username and password credentials rather than using an authorization framework like OAuth 2.

[1] [http://blog.hypem.com/2014/04/we- are-9/](http://blog.hypem.com/2014/04/we-are-9/)

<comment><USER3> I'm _happy_ about that. I'd rather have a separate login (with unique password) for each service than log into everything using the same account.

EDIT: I misunderstood the complaint! I thought that they wanted to login using a Google account or something similar rather than having a place in Hype Machine to allow Plug to connect and use a token to pass the permission to the program. Oops! I completely agree with the poster's comment in this case.

<comment><USER4> You misunderstand. This app requires you type in your password inside it, as opposed to using some form of token from the website (which is how OAuth2 works).

<comment><USER3> Ah, I thought that they were complaining about not being able to login _using_ a Google account! I will edit my original comment to clarify and hopefully avoid more downvotes.

</comment></comment></comment></comment><comment><AUTHOR> Side note: I recently ported all of Plug to Swift (dev build, not yet released of course). Swift is a great leap forward!

<comment><USER5> Any observations?

<comment><AUTHOR> Optionals are really interesting. In theory it's a really smart concept. In practice it seems to add a bit of complexity. Will be interesting to see if the concept pays off in the long term.

<comment><USER6> I'm intrigued by optionals, but I feel like returning nil for objects in ObjC - a pattern I've always used - is kind of the same thing in a different like. Do you have experience with returning nil instead of objects? How does that compare to optionals?

<comment><AUTHOR> Yes, i did use that same pattern. And if you want to, you can kind of force Swift to do this (String! is an "unwrapped optional" and can be nil or have a value) but it feels unnatural. You definitely have to design a bit differently than ObjC. Luckily Swift's enums are amazing and you can return multiple values (through tuples), so there are great ways to return different types of values.

</comment></comment></comment></comment></comment><comment><USER7> So much <3! Hype Machine is great and this definitely feels like something that would have come from them with the amount of polish and detail.

Keep up the good work!

</comment><comment><USER8> This is great: as a hypem addict, I'm excited to play with a desktop app. A few points:

\- When is playlist support planned? (I'm pretty sure it's only been out for like two weeks so the delay is understandable.)

\- Where can I report bugs?

\- Consider allowing horizontal resizing or a marquee effect on table cell hover: track names getting cut off is sort of frustrating.

<comment><AUTHOR> > When is playlist support planned?

Playlists are awesome. Hard to say, Plug is a hobby project so we add features as we can. But we usually prioritize features by how many requests we get.

> Where can I report bugs?

Hit us up at @plugformac

> Consider allowing horizontal resizing or a marquee effect on table cell > hover

Totally, this is very high on the to-do list

<comment><USER9> Been using Plug for a month or so now and want to say thanks. Another bug report for you:

It sometimes has trouble playing more after it is playing down to the last song that has already been loaded in the list. I think it needs to query for more songs when it gets down to the last few.

<comment><AUTHOR> Roger roger. Thanks for reporting!

</comment></comment></comment></comment><comment><USER10> If for some reason I wasn't up-vote banned, I'd give this +1. I cannot stress how nice this UI looks. Had not really looked into hype-machine prior to this, but I really like it so far.

<comment><AUTHOR> Shoot, well, appreciate the intention. Glad you like it, keep in touch with us at @plugformac if you can.

<comment><USER10> Huzzah! A HN admin saw this thread and re-enabled voting (Thanks Daniel!). Up- voted...

</comment></comment></comment><comment><USER11> This is awesome. I hadn't even heard of Hype Machine but your app made me curious (looks great btw). Two nice little surprises, I'll have to start checking them out.

</comment><comment><USER12> Hands down this has been my favorite mac application since the first version came out. I hope the rest of the cocoa community takes notice.

Keep up the good work Alex & Glenn!

</comment><comment><USER13> Nice work, nice ui. I had to go lookup my hypem login info cause i hadn't visited in a while. at first glance this is something i will be using.

</comment><comment><USER14> I really like this. I'd love to see scrobbeling to last.fm integrated. Is this something you'd consider for a future release?

<comment><AUTHOR> That actually already works. Just need to connect your last.fm account at [http://hypem.com/find_friends](http://hypem.com/find_friends).

<comment><USER14> Saw the tweets about the scrobbling feature in the meantime. Thanks, it's working now. It looks like it's not using the "Now playing" feature [0] though, any specific reason for that?

Another question: Is there a reason why it's not possible to resize the window? Some tracks are cut off and it'd be more comfortable to have a little bit wider window because the long track names are not scrolling by so you never see them.

Apart from that, enjoying the app so far! Thanks.

[0] [http://www.last.fm/api/scrobbling](http://www.last.fm/api/scrobbling)

<comment><USER15> Anthony, founder of Hype Machine here.

We used to have the Now Playing Last.fm support, but took it out as Last.fm faded from the spotlight a few years ago.

It's still one of my favorite services (scrobbling is life-changing) though, but we aren't even sure if it's worth the overhead to keep the Now Playing support active (requires more resources).

</comment></comment></comment></comment><comment><USER16> Looks simply beautiful. Excellent design.

One thing that grabs my eyes always are side bars. For some reason i feel left side bar for right handed person it not convenient and vice versa.

But, i see all apps designed with left side bars. Wondering why left side only while many users to my experience are right handed ?

</comment><comment><USER17> And while we're at it:

[https://github.com/salomvary/soundcleod](https://github.com/salomvary/soundcleod)

and

[https://kbhomes.github.io/radiant-player- mac/](https://kbhomes.github.io/radiant-player-mac/)

</comment><comment><USER18> Very nice (I'd heart the software if I could!)

Hype machine is fantastic for music discovery. The big hits always surface there months before they hit the radio/mainstream.

Any chance for a Windows version (I'm stuck on a PC at work!)

<comment><AUTHOR> Sorry, don't think this will happen :( Maybe a nice virtual box setup running OSX with Plug installed! (haha, jkjkjk, hypem.com is great and has so many features)

</comment></comment><comment><USER19> Just one (small) design thought, the sidebar has the appearance that it could be hidden. Or maybe i've just been on mobile for far too long. Looks great, nonetheless!

</comment><comment><USER20> I've barely touched The Hype Machine before, but this UI is _so_ nice that I think I'm going to become a great fan! Well done!

<comment><USER21> I've been using Plug for about a year, and I have to say it's my favorite player. The past month I've also started using SoundMate and Radiant, but I still feel that Plug is the smoothest and least in the way.

</comment></comment><comment><USER22> Would be nice if there were some way to thumbs down/always ignore particular artists. Chris Brown, for example.

</comment><comment><USER23> Been using plug for quite a while, and as an hype machine addict, I am absolutely in love with the app.

</comment><comment><USER24> Great piece of software. congrats! Feature request: Would love to be able to apply a filter by genre

</comment><comment><USER25> Awesome job, lovely UI. Are you planning to add "Scrobble to Last.fm" feature?

<comment><AUTHOR> Please see [https://news.ycombinator.com/item?id=7968066](https://news.ycombinator.com/item?id=7968066) :)

</comment></comment><comment><USER26> Really nice work, I use their website every day and I might just switch over to this.

</comment><comment><USER27> I love it! Are there any plans for including the hypem time machine feature?

<comment><AUTHOR> We do what we can in our spare time. We usually prioritize features by demand. So tweet us and get your friends to if you want something built.

</comment></comment><comment><USER28> Once you find a blog you like, you can use Peel [1] to rip the MP3s to iTunes. Unfortunately it does not work with Hypem top lists, only the direct RSS that it aggregates.

[1] [http://www.getpeel.com/](http://www.getpeel.com/)

</comment><comment><USER29> i'm getting a lot of repeats when using shuffle. perhaps a more itunes-like method would be better

<comment><AUTHOR> Makes sense, it's just a random algorithm which is far from ideal. Just need the time to implement something heftier (Spotify knows what's up [http://labs.spotify.com/2014/02/28/how-to-shuffle- songs/?_ga...](http://labs.spotify.com/2014/02/28/how-to-shuffle- songs/?_ga=1.262392844.1627219277.1403645861)).

</comment></comment><comment><USER30> Amazing, thank you for making this!

</comment><comment><USER31> Way to go! Hypem is awesome.

</comment><comment><USER32> It's beautiful.</comment>


Dropbox acquires white-hot mobile email client Mailbox - <AUTHOR> http://thenextweb.com/insider/2013/03/15/dropbox-acquires-white-hot-mobile-email-client-mailbox/?fromcat=all

<comment><USER2> I'm already migrating away from Dropbox, after using a pro account for years. They lost my business.

Why? The competitors are better and have more features. SkyDrive integrates tightly with my OneNote, XBox music, Office suite, email and everything else I need. It has features Dropbox doesn't. And it's a better deal.

I don't regret using Dropbox. Not for a second. God knows I've talked them up to all my friends. But performance with them got a bit sketchy and better options are now available.</comment>


Goodbye, Green Recorder - <AUTHOR> https://github.com/foss-project/green-recorder/commit/5fc594b44f76b7a1469a893d8502ca3f1fb89312 <comment><USER2> I'd encourage anyone thinking of archiving/retiring their project to add it to the Code Shelter: [https://www.codeshelter.co/](https://www.codeshelter.co/)

It's a community that aims to help take care of OSS projects when the maintainer no longer can.

<comment><USER3> How is that feasible? Adopting a more or less complex codebase of random projects that you probably have little interest in, have they got any success story that goes beyond the good intentions?

<comment><USER2> I've personally picked up a few abandoned projects, and a few more people have picked up others. It's a good introduction to OSS development, it takes five seconds to do and it beats just archiving the repo even if nobody takes it up.

</comment></comment></comment><comment><USER4> Sad to see, but OBS is a very capable and easy to use application if you need.

<comment><USER5> Besides the fact that OBS is not open source, why is this comment being down voted?

It's also free, isn't it? And therefore a very viable alternative to the vat majority of users

<comment><USER6> Free and Open Source GPLv2 (the O is for Open even):

[https://github.com/obsproject/obs-studio](https://github.com/obsproject/obs- studio)

</comment></comment></comment><comment><USER7> Does anyone know the true backstory to this one?

<comment><USER8> Why, do you doubt the "it took up too much of my time and energy" story?

<comment><USER7> He could have just moved the maintainership to someone else. I was wondering if there was something that triggered the decision is all. I wasn't trying to be snarky or mean, I just wanted to know what had cause the burnout.

Sorry this got taken the wrong way.</comment></comment></comment>


Prepare to be Creeped Out - <AUTHOR> https://blog.mozilla.org/blog/2018/03/15/prepare-to-be-creeped-out <comment><USER2> I would install it, but I already know stuff about myself.</comment>


This Just in: Mercury More Exciting Than Mars - <AUTHOR> http://www.wired.com/wiredscience/2009/04/messengermercury/

<comment><USER2> Nice article, but:

> Mercury was once seen as a cold, dead little world, ....

"Cold"???</comment>


Ask HN: Share Stats from Launching Your App Store App? - <AUTHOR> I'm trying to understand the number of downloads I would get from launching an app on iOS, Android, and specifically the desktop app stores for Windows and MacOS... but people don't share the stats.
I'm building a document and knowledge management platform and I have limited time to focus on a distribution channel.  Trying to figure out what I should prioritize. <comment><USER2> How much downloads do you have now for each platform? A lot of people search for apps in the app stores. So it's definitely a plus to have it in them. People like that they can update all the apps in one place.

For the Mac app. You should also add it to macupdate.com if you haven't done it yet.

</comment><comment><AUTHOR> And here's a link to my app btw:

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

It's a reading management platform for annotating and tagging your documents.</comment>


Ask HN: What's the best privacy friendly Android email app? - <AUTHOR> I'm moving everything off Google as best as I can at the moment, switching to Fastmail, etc.
My biggest issue at the moment is finding a trustworthy app to use for my email (personal and work).
I've used Gmail forever and have come to love the interface and such on my phone.
I've tried K-9 and while it gets the job done it is extremely clunky and it really makes sorting through emails a chore in my opinion.
There are a few other options that are paid via the Google Play Store like Nine and CloudMail and such, but I don't know how legit these are and I don't want to be handing my emails + logins to some random third party.
Is there a better option than K9?
I'd love to use the Fastmail app as it is great, but I NEED offline support as I travel a lot and am out of service quite often.
Thanks! <comment><USER2> If you are moving everything from Google you should really not be using Android. There is absolutely no point in your case.

That is unless you will be using Google-Less android. Tutanota and FairMail are OK.

<comment><AUTHOR> I agree, but I'm currently stuck with a phone that is unrootable (Zenfone 3 Max ZC520TL) so I'm sort of stuck.

I figure at the very least, moving my email off Google is a good first step.

Tutanota is cool but I like having IMAP option which is not available with them. FairMail is a great idea and I'm following development closely for it, but right now it just doesn't accomplish what I need.</comment></comment>


Index soon to be portable "database-file program" for OS X - <AUTHOR> https://github.com/McUsr/Index-2.0#readme

<comment><AUTHOR> I am very tired a the moment, it is passed bed time here. But you are so right.

Here is the short version.

You are a person that uses the commandline. You are doing some activity, either reading a text book, or gathering some information, debugging, or are having some ideas you'd like to structure, basically you are having a need for a structured information collection. At the time it pops into your head; hey it would be nice to have a "database" to register this stuff into, so that I later can retrieve it.

Then you fire up index, and enter a filename that you haven't used before. Index then fires up your editor, and you write the fieldnames you need, (up to 16). You close the editor, and you are sent to the "main menu" from where you can start entering records. It uses ncurses, and is really fast; you move between the fields with ctrl-n and ctrl-p, and are asked if you want to save the record when you press Esc.

Later on you can just enter the name from the main menu, and search and edit/delete/add new records.

You can make make index sort and print the records in a variety of ways through command line options. You can also have small filter files, based on awk or perl, to filter by a field if you like. I have modified it slightly from the original, so it is possible for a lot of files to share a single label file, so that you can have one "database" file per subdirectory, sharing the same "field-layout" if that suits your purpose (for modules for instance).

It should also work well with UTF-8, and collation ordering according to locale settings. (This includes reg-exp patterns thanks to IBM and their ICU library.)

Thanks for your feedback!

</comment><comment><USER2> Maybe give some usage examples in the README? This sounds interesting but I'm still pretty confused about what exactly the program does.

</comment><comment><AUTHOR> Hello.

Maybe I should, but I have just linked in the html version of the man file, which has an example.

But I will really consider adding more examples.

</comment><comment><USER3> Has this been tested on other operating systems? Or is it OS X only for the moment?

<comment><AUTHOR> It is Os X only at the moment, I have to adjust the buffer calculations, as widechars, utf-16 and ordinary bytes are involved. I have used 64-bit wchar_t. So I have to go over the calculations. But other than that, I think it should compile on other *nix'es, provided you have access to the Ncurses library, and ICU, both downloadable and open source.

</comment></comment><comment><USER4> I don't understand why I would use this over SQLite.

</comment><comment><USER5> it is Mac OS X, or better yet, OS X since 10.8

<comment><AUTHOR> I am slorry for the lowercased "x", a typo.

This software should however work on Mac Os X from 10.5 onwards as it will then use the ICU libraries that shipped with Mac Os X from that version. Ncurses 5.9 you'll have to get from <http://macports.org>, or directly from the source.</comment></comment>


Covid vaccine: 8k jumbo jets needed to deliver doses globally, says IATA - <AUTHOR> https://www.bbc.co.uk/news/business-54067499 <comment><USER2> Orrrrr... they could just provide the list of the vaccine's ingredients and instructions on how to make it ...?</comment>


Ask HN: What language should a technically literate person learn first? - <AUTHOR>

I am a structural engineer by day and am looking to broaden my horizons with respect to creating web applications. All my programming experience is with VBA (!), some LISP, and the native Matlab language at work.
I'm sorry if the above question is incredibly broad, I know so little that I don't really even know how to frame my question. Maybe a more appropriate question would be, what language(s) should I learn in order to throw together a personal blog or similarly simple webpage?
I consider myself an intelligent and technically oriented individual. For the sake of argument, let's assume that I won't have any problems learning the language. <comment><USER2> Python.

I've been recommending Zed Shaw's "Learn Python The Hard Way"[1] a lot lately. The way it's structured makes it suitable for a pretty wide range of skill levels, as someone with a bit of prior programming experience can just go through the exercises they understand more quickly, learning the Python syntax along the way.

So even if as you say you won't have any problems learning the language, it's still a good way to do that, and once done, you can learn a lot more from the docs, reading code, and other books.

[1]: <http://learnpythonthehardway.org/>

<comment><AUTHOR> Thanks, I think this its going to be my weekend. Between this book and fmw's mention of the intuitive syntax, I think Python might be the way to go.

</comment></comment><comment><USER3> <http://paulgraham.com/pfaq.html>

If you don't have a programmer friend you can lean on Seven Languages in Seven Weeks[1] by Bruce Tate will give you a nice overview of some good languages, so you can pick one that fits your way of thinking (or learn multiple languages and pick the right tool for the job for each project). You could complement that book with a nice Python primer, because this language (which is a personal favorite due to the nicely readable syntax)) isn't covered.

If you already know a bit of Lisp Clojure would be a nice match. Also, Python and Ruby are pretty much the default suggestions when people ask this kind of question. Personally, I wouldn't worry about the language choice, as long as you go with something that doesn't encourage bad habits (e.g. don't start with PHP).

[1]: [http://www.pragprog.com/titles/btlang/seven-languages-in- sev...](http://www.pragprog.com/titles/btlang/seven-languages-in-seven-weeks)

<comment><AUTHOR> Wow, thanks for the link. Lot's of good stuff in there.

</comment></comment><comment><USER4> I'd personally suggest looking at Python as a first language. Others here will suggest Ruby (esp with the mention of LISP) or Perl. Of course there are many others to suggest but that trio has a good enough balance of power, complexity and understandability to get you up and running without throwing up too many barriers.

You can't go wrong with really any language to get your feet wet. It's really a matter of finding documentation, books and a community you resonate with to keep your attention and get you excited about all of the possibilities.

</comment><comment><USER5> If you're looking to roll your own webapps, I would recommend python (with django) or ruby (on rails). Both of these have large active communities and many tutorials to help get you started.

If you're looking for a blog, I would advise you to look into wordpress or similar and avoid re-inventing the wheel. Save your creative energy for making something fun/interesting.

</comment><comment><USER6> Python and Javascript are excellent choices. Which to choose depends what you want to be more tech literate in? Front-end and consumer facing or back-end and developer facing.</comment>


Supreme Court rules illegally obtained evidence may be used against defendants - <AUTHOR> http://bigstory.ap.org/1ef09db1314f4d749a574b3dcb3e5871 <comment><AUTHOR> I hate how it is always the worst cases that set precedent.

Now police don't even need to try to do things legally, why bother?

<comment><USER2> The precedent was set a few years ago when they decided 8-1 that police can claim reasonable ignorance of the law when making a stop.

[http://www.npr.org/2014/12/15/370995815/supreme-court- rules-...](http://www.npr.org/2014/12/15/370995815/supreme-court-rules- traffic-stop-ok-despite-misunderstanding-of-law)

</comment></comment><comment><USER3> This is a pretty useless article. Here is the ruling:

[http://www.supremecourt.gov/opinions/15pdf/14-1373_83i7.pdf](http://www.supremecourt.gov/opinions/15pdf/14-1373_83i7.pdf)</comment>


Ask HN: What can a CS undergrad from abroad do when visiting NYC for two days? - why-el

Hey friends!<p>I will be visiting NYC tomorrow through Tuesday. I am not from the United States, and I was wondering what cool things can a fellow hacker do around NYC. Any possible meetups that I could attend, or companies that offer visits will be really cool. <comment><AUTHOR> Read your post and did a search could be a good starting point. Worked for me. Give this link a try. //lmgtfy.com/?q=hackerspaces+nyc

</comment><comment><AUTHOR> <http://hacking.meetup.com/cities/us/ny/new_york/></comment>


Fat article about sales from a founder of convertkit.com - <AUTHOR> http://nathanbarry.com/sales/ <comment><USER2> The title is "Direct Sales for Bootstrapped SaaS Startups". The "Fat article about..." can be omitted.

It's a good article, I've read it a couple of days ago, but please don't change the title when submitting to HN. From the HN guidelines "It's implicit in submitting something that you think it's important."

<comment><AUTHOR> Thanks for the tip. I'll go through guidelines again.</comment></comment>


Ask HN: How did you escape from middle management trap? - <AUTHOR> I've been working as a team manager (dev + QA) in huge IT corporation for almost 3 years now and I am feeling that I got stuck at this position. There is a senior management level but it's extremely difficult to get there. Have you ever been in such situation? How did you escape from this trap? <comment><USER2> By doing just the opposite - refuse any job that doesn't have me doing hands on coding at least 50% of the time. I get serious unsolicited offers for middle management while I'm networking. I turn down everyone. If my manager left, I would more than likely be next in line, but I would refuse.

The way I see it, there is a much larger market for highly skilled devs/architects than middle management.

<comment><USER3> Seconded. It's easier to not get in than it is to get out once you're in.

My last two jobs, I've told them during interviewing that my explicit career goal is to never become a manager. They hired me anyway.

</comment></comment><comment><USER4> You don't get promoted by staying at a company. You get promoted by leaving for companies who value you more.

<comment><USER2> I agree completely. Only twice in my career have I gotten a significant (> $10K) raise staying at a company and that was really early on in my career. I started job hopping every 2 - 2.5 years since 2008 and I've seen increases of $7K,10K, 21K, and 18K.

Btw, I'm not bragging. I'm still just barely on the right side of the bell curve as far as salary for my local market. It's just that salary compression is real. Companies would rather lose employees and pay their replacements T market rate than pay to keep good employees.

<comment><USER5> This happens because the difference in revenue/profit for tech is huge. One company might make $1000000 per employee, another might lose $2000 per employee. All bosses want to pay their staff well, but few can afford it as well as the next guy.

<comment><USER2> It doesn't matter what the state of the company's margins are. If they need a certain skill set, they are going to have to pay market value.

True, if they only need junior developers and you've worked your way up to be a senior dev as far as skill set, you may be more than the company needs.</comment></comment></comment></comment>


Uber developed secret system to lock down staff computers in a police raid - <AUTHOR> https://amp.theguardian.com/technology/2018/jan/11/uber-developed-secret-system-to-lock-down-staff-computers-in-a-police-raid? <comment><USER2> I can't even fault Uber for doing this.

Governments are not friendly.

They have seized billion dollar factories for their own use.

I only imagine a trivial tax problem would give a corrupt government the opportunity to seize assets.

<comment><USER3> How can you not fault Uber for this? There is a rule of law in this country that has to be observed. Furthermore, it clearly shows intent to cover up illegal activities.

<comment><USER4> Uber doesn't only operate in that country. When you operate at the scale and international scope that uber does, economic warfare, espionage, and corrupt governments are a real thing.

I hate Uber but I don't think this is something to really fault them on.

</comment></comment></comment><comment><USER5> It's common for Corporations operating across borders to have such systems in place. When countries disagree, they often take it out on companies domiciled in the perceived offending territory.

</comment><comment><USER6> Also discussed here [https://news.ycombinator.com/item?id=16124165](https://news.ycombinator.com/item?id=16124165)</comment>


Google Open Sources Leak Finder, a JavaScript Tool for Detecting Memory Leaks - <AUTHOR> http://www.infoq.com/news/2012/08/JavaScript-Leak-Finder

<comment><USER2> Here's a direct link: <https://code.google.com/p/leak-finder-for-javascript/>

</comment><comment><USER3> Would it be possible to run this against an ASP .Net app with lots of JS? It refers to Python in the documentation, so I'm not sure.

<comment><USER4> Only if you wrote your JavaScript in a very particular way while using Google's libraries.

</comment></comment><comment><USER5> I'm curious, has anyone actually used Closure as a javascript project for any major site outside of Google (not hobby project)? I've heard people talk about using the compiler, but never the full package.

<comment><USER6> I don't know of any, to be honest. However, Closure Library is really just part of the equation. It becomes much more powerful when used with all of the Closure Tools.

I have tried the closure tools for my own internal uses and while I don't particularly expect myself using it for all my projects, it definitely shines on bigger projects. It is a pretty good set of tools.</comment></comment>


Quora To Oddly-Named Users: Papers Please - <AUTHOR> http://techcrunch.com/2011/02/14/quora-to-oddly-named-users-papers-please/ <comment><USER2> I registered with Quora using my legal name as documented on credit cards, my library card, my utilities bills and my drivers license. My account was blocked, and I was asked to register with my "proper" name. So far my replies have been ignored.

So I've left.

<comment><USER3> Related idea I got: one "easy" (nonmanual, not super-invasive) way for them verify names would be to do a credit card verification, which would verify that they had a credit card in that name.

But people probably wouldn't be too keen to give their credit card info to a free site just for "name verification".

<comment><USER4> Three words: Gift credit cards.

<comment><USER5> Given that my name is "Valued Customer," that influx of gift card users would probably fuck my chances of ever getting a validated Quora account.

</comment></comment></comment></comment><comment><USER6> Real names on a forever-archived internet that follows you around for life is possibly the stupidest policy I've ever heard of.

What prevents someone from signing up in your name and posting something that would certainly prevent you from getting hired in the future?

Also, what if someone "internet famous" or even worse "real life famous" wants to contribute something?

There has to be a better way to control trolls.

If Quora is going to demand ID, they need to ask ID from EVERYONE before their account is active to prevent fake Steve Jobs, etc. not selectively.

Otherwise I recommend you sign up using your dog's first name or your elderly neighbor's name.

<comment><USER7> Great point - the implied equivalance between posting on the internet with a real name and having a real-world conversation is wrong. Posting on an archived system available to everyone is more like writing an editorial or giving a speech, something which many are uncomfortable with.

<comment><USER8> ...Those sound just like the kind of person that they should want using their service. If you're unhappy with something being attributed to you years later then you're probably writing crap.

(I do think that people might just pick 'real sounding' names though. They should try to make this the exception though...)

</comment></comment></comment><comment><USER9> Looks like Quora could do with reading patio11's myths about names: [http://www.kalzumeus.com/2010/06/17/falsehoods- programmers-b...](http://www.kalzumeus.com/2010/06/17/falsehoods-programmers- believe-about-names/)

<comment><USER10> This puts me in mind of my credit card, whose database believes I am "Patrick McKenzie" and whose web tier enjoys throwing a "That input wasn't written in kana, please try again" on the "sign up for online access" page. When I called the credit card company to complain, they told me that they would need a government issued ID certifying to my name in kana prior to changing their DB record. The government will happily issue me an ID, and indeed legally mandate that I carry it everywhere, but only for my name exactly as it appears on my passport. US passports don't include kana? "Not our problem."

Strangely enough, the small town bank that I do business with has been absurdly solicitous about this, and when a similar string comparison caused a bill payment to fail, the manager added a note to the file saying that dishonoring any bill directed to a foreign client at our branch office would henceforth require his written approval. It's just the gigantic megacorp bank in Tokyo which hasn't figured out that foreigners exist yet.

<comment><USER11> Somewhat understandable. Most passports that use different alphabets also tend to have romanized names on them to prevent this type of thing at immigration points.... do you think US Banks and tellers accept names in kana or kanji, cyrillic, greek, arabic, etc?

<comment><USER12> When you're processing online payments, you're rather incompetent if you can't handle UTF-8.

</comment></comment></comment></comment><comment><USER13> I know from experience the difficulties an unusual name can bring, but Quora hasn't called me out just yet. I value their desire to build an authentic community, but other sites have grown without resorting to this sort of tactic. Fakes eventually are known based on their posts.

Speaking of fakes, Flickr cofounder Caterina Fake has had all kinds of problems due to her (real) last name: <http://caterina.net/archive/001011.html> At worst, I've been asked if I was "one of them foreigners" by a landlord years back.

<comment><USER14> I'm not sure what you mean by an "authentic community". I have many friends on social networks whom I've never met in real life and whose names I have no knowledge of, but they are real people, and the relationship is authentic, based on our interactions.

They are not fake, they are simply anonymous.

Further, by having some anonymity, I can say things that I otherwise would not be comfortable saying. This is important on a site where the purpose is to answer questions.

Is it better to get a vague question or to have an answer that fails to reveal critical information because this information might make a business associate look bad? Or would it be better to be able to say X attempted to do Y because they believed Z, and I thought Z true, but Z turned out to be W and so Y caused a Q. X is a good entity, they just made a mistake here, so beware of this kind of error if you do business with X.

<comment><USER15> Quora already has an anonymous mode for that. Just click "Make Anon" when you need it.

<comment><USER16> That's probably not _really_ anonymous - Quora almost certainly knows you posted it still even if they don't _display_ that you did.

<comment><USER17> Correct, Quora does know that you posted it, however other users won't be able to know:

[http://www.quora.com/How-anonymous-are-anonymous- questions-i...](http://www.quora.com/How-anonymous-are-anonymous-questions-in- Quora)

<comment><USER18> For now. It would be a mistake to assume their system is so secure now (and forever into the future) that the data can't be found, or simply leaked inadvertently by Quora.

<comment><USER16> Or forced to be handed over with a court order.

It's a very false-anonymity, even by internet standards.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Why is Quora given so much attention?

<comment><USER20> +1

To me, Quora is almost the ultimate non-story. There's nothing technically noteworthy about the idea or the platform.

The only thing Quora has done well (and they have done really well at this) is to get Valley insiders to use it.

Another way to put this is that it's a bubble story: journalists and Valleywags think it's much bigger than it is because all the other people in the same bubble talk about it. Outside of SV/SF, nobody really knows nor cares.

It's a bit like the AT&T-iPhone story. Sure it sucks in SF/NY (it really does) but journalists and bloggers seem incapable or uninterested in considering that these two cities are representative of the whole country.

Last year Quora got funding at a staggering $86M [1] (this sounds like post- money). It's Yahoo Answers meets Facebook, which just so happens to have an insider audience that won't necessarily translate more broadly. Frankly, I'd sell before people catch on.

[1]: [http://techcrunch.com/2010/03/28/quora-has-the-magic- benchma...](http://techcrunch.com/2010/03/28/quora-has-the-magic-benchmark- invests-at-86-million-valuation/)

<comment><USER21> _To me, Quora is almost the ultimate non-story. There's nothing technically noteworthy about the idea or the platform.

The only thing Quora has done well (and they have done really well at this) is to get Valley insiders to use it._

Replace "Quora" with "Hacker News" and you'll see how valuable getting Valley insiders to use it can be. It's the community.

<comment><USER22> Upvote, but there is a large difference in degree. Nobody's paying $86M for Hacker News.

<comment><USER21> Hacker News doesn't have a monetization strategy. Can you imagine it with ads? I can't. Quora I can, though.

</comment></comment></comment></comment></comment><comment><USER23> _After all, unless you're Cher or Sirhan Sirhan, nobody has the same first and last name._

One of our top managers' name is Herman Herman. 10 years ago or so, he was working next to a guy, whose name was Martin Martin. Of course, Martin Herman was lurking nearby as well.

<comment><USER24> One of my teachers in high school was named Rafael Rafael.

Grew up somewhere in Indonesia (I think) and never got a last name. So they just duplicated his first name.

<comment><USER25> The uni department I worked at once had a student called "Daniel". He was on a engineering scholarship from somewhere in remote Africa and had never needed another name. He was rather rueful that nobody had told him to make one up when he applied for his passport, because it caused him all kinds of difficulty. He was all kinds of things on different bits of paper: "Daniel Daniel", "Daniel -" and, memorably, "Daniel Dash".

</comment></comment></comment><comment><USER26> On the website I run, I ask for an email address during signup.

All I do to check whether someone appears to be real is to use Rapportive in Gmail and see whether they appear on Facebook, Twitter, LinkedIn, etc.

<http://rapportive.com/>

I don't force users to use real names, I think there's a real benefit in allowing people to use aliases. Rapportive allows me to really quickly grok whether the alias has an underlying real ID in terms of fighting spam and trolls.

It's hardly a fool proof technique, but it answers the questions 9 times out of 10 which removes any need for me to create obstacles for my users to jump through.

PS: Interesting aside: I really loathe Facebook due to a personal incident in my life that occurred on there. Rapportive were kind enough to understand this and then to write an exception into their codebase such that it never prompts me to connect with Facebook. Talk about customer service.

<comment><USER27> What do you do for people who don't have an account on those?

Or people like me who use a different email address for every site?

<comment><USER26> Look at other things like your IP, user agent, etc.

Spammers, things done by scripts... They give themselves away really easily. All I want is an obstacle enough that I know people aren't spamming and that if they troll they understand that it will reflect on their reputation.

Do I _need_ a real id? Nope. And clearly Quora don't either as they don't require over 99% of users verify their real id. It's just a spam prevention policy and helps cut down on trolls as it will (or has risk that it will) reflect on you.

It's really not a good thing to start applying onerous terms and your users.

</comment></comment></comment><comment><USER28> This is amusing. Quora might think that my real name is fake, but that's not a problem because I registered with a very ordinary sounding fake name.

</comment><comment><USER29> One need only look at the quality of comments on a site like Hacker News to see that "real names" is not a requirement for quality and valuable discussion.

No doubt, real names would be an effective aspect to quality content, but if the system of verification is flawed, it's meaningless.

</comment><comment><USER30> Targeting "fake-looking" names is useless if anyone can register with a realistic fake name with no scrutiny.

</comment><comment><USER31> I knew a guy in college that had the name "Harrison". He was from south-east asia. In fact, he told me that from where he comes from, they don't have such thing as first and last name, his name was really just "Harrison". But since no one in the "western world" could handle that, he used Harrison both as first and last name.

Lessons for me: things might be very different on the other side of the globe. Don't try to arrogantly believe you can judge wether things can be true or not from your limited experience and imagination.

<comment><USER32> >me that from where he comes from, they don't have such thing as first and last name, his name was really just "Harrison"

People that don't have family names often use patronyms and the "[W]estern world" seems to cope just fine.

Harrison ben Harry, Harrison Harrinpoika, Harrison Fitzharry¹ or what have you.

\---

1 - all mean "Harrison son of Harry"

</comment></comment><comment><USER33> So ... Quora doesn't want legitimate users?

It's a pretty sad troll that can't figure out they need to make "real- sounding" names. Basically you're filtering out the twelve year olds that will try to write 'fuck' and 'shitcock' everywhere. That can be accomplished more effectively with some simple analysis on post content.

Instead, you're really only making life hard on legitimate users that don't match your dramatically underinformed notion of a "proper" name.

</comment><comment><USER34> Ugh. I can respect their desire to force people to use real names in order to keep discourse civil and intelligent.

But that's an awfully big rathole to crawl into.

See also: [http://www.kalzumeus.com/2010/06/17/falsehoods- programmers-b...](http://www.kalzumeus.com/2010/06/17/falsehoods-programmers- believe-about-names/)

</comment><comment><USER35> Last June I signed up for Quora, but it rejected my full name. I use "III" in my full name, and their form validation rejected it. Apparently I had committed the pre-crime of trying to enter my name in ALL CAPS. That put me in a foul mood, and I sent a testy email to Quora about a site that was so super focused on real names couldn't validate a common suffix. I received a very quick, professional reply from some programmer that he was sorry and they had already fixed that. So I am a Quora member, but I don't pay much attention to the site.

</comment><comment><USER36> I have no problem with displaying my full name (and address etc) but something irks me about _forcing_ my full name to be displayed, it should be optional, if I want to use a username (which more people will recognise me by) why shouldn't I?

<comment><USER37> No-one's forcing you to use Quora, Quora's goal is to maintain high-quality and one of the strategies that they're using to do that is require people use their real name. It's a perfectly legitimate strategy.

<comment><USER38> Asserting that something is true doesn't make it so. I can say that you look like a ham sandwich but that doesn't mean you look like a ham sandwich. There are a number of reasons that it isn't a legitimate strategy. This story illustrates a few of them, namely that false positives and false negatives are hard to detect, and that alone is reason enough to reject the idea.

Perhaps it is useful to examine the reason for identifying people. If it is, as you say, to maintain high quality, I would ask upon what causal basis that that conclusion rests; I submit StackOverflow and HN as examples of entities that show real names not to be a requirement for high quality discourse.

</comment></comment></comment><comment><USER39> If their approach lets fake but English sounding names go through, then they shouldn't discriminate against other names, period.

If Quora wants people to use their real names, they should require them to link their facebook account -- and these days, even that is a poor guarantee of real names. Let's face it, people are striking back at the "real names" thing by altering their names on facebook, because you never know what they're going to make public by default next.

</comment><comment><USER40> The assumption that those not wishing to disclose a real name have dishonest intentions (and that is what it comes down to), irks me. Personally, I prefer pseudonomity online. But apart from me, let's pick a more famous example or someone who was pseudonomynous online.

Would Quora have allowed _why?

<comment><USER37> That's a straw man argument.

The assumption is that some people will contribute lower quality content if using a pseudonym than if using their real name. Yes there are people who will contribute high quality content only under pseudonym, and losing them is the price Quora will have to pay.

You can of course contribute anonymously to Quora.

</comment></comment><comment><USER41> Godwined in the title. Wanting to be able to conclusively identify someone you are doing business with (as Quora is) is not being a Nazi, it's a _foundation of civil society_. It may be a bad choice by Quora for other reasons, they may be handling it poorly, you may _disagree_ with them even if it is otherwise perfect, but it is certainly their right to decide with whom they are doing business and with what level of reliability in the identification. They aren't _Nazis_ for that. Unless they're actually collecting accurate identities for the purposes of more efficiently murdering entire ethnicities at some point in the future? (And I mean, _killing_ them, not merely "killing their account on Quora". I think the Nazis would be a smidge less reviled if they had merely cut the Jews out of participation in public fora.)

And this article takes other political potshots for no good reason... "birtherist"? I think birtherism is silly too, but what's that potshot doing in the middle of this article?

<comment><USER42> I either read an entirely different article than you or my Search feature is broken in Google Chrome.

I found 0 instances of "Nazi" or "bitherist" in the TC article linked.

Have I missed something?

<comment><USER2> With regards the Nazi reference, I suspect he's picking up on the "Ihre Papiere, Bitte" and the reference to jack-boots. The language, the phrase and the attire are all associated with the Nazi regime, although he never mentioned it by name.

With regards the "birther-ist" comment, the article does say:

        "I think Quora's ridiculous, birther-ist requirements
         for a "government-issued ID" are a little bit rough,
         ... "

(edited for clarity)

<comment><USER43> I thought it was a reference to East Germany rather than Nazi Germany...?

<comment><USER44> Hard to say, but a good point. As someone from Germany this phrase is not really connected to either of these two special regimes. It's more a general phrase, rarely still in use (for example for completely different scenarios, since the literal translation is harmless). I think of police and an annoyance if I read that.

Hey, for me this is probably closer to Orwell than to historical reference. I do have to admit that the picture is provocative and stupid though.

</comment></comment></comment></comment></comment><comment><USER45> The whole thing is ridiculous, but I want to point out something else the editor said that bugged me and seemed unnecessary: "...in order to use a site approximately as useful to the world as Yahoo! Answers."

Do people really think it's that bad? I really like Quora for the most part and think it's way more useful than Yahoo! Answers.

<comment><USER46> as it stands, Yahoo! Answers is currently far more useful to _the world_ than Quora. This may change as Quora grows and builds a broader audience, but in terms of value delivered to # of people, it isn't even close...

</comment></comment><comment><USER47> So what if you were lady gaga or something? Would she not be allowed to use quora without her real name? Or are fake names okay if you have celebrity status?

<comment><USER48> My first thought was it would prevent Madonna, Moon Unit Zappa, Pope John Paul II from registering as well.

</comment></comment><comment><USER49> Facebook identifies my friend's first name as fake and forces her to spell it wrong. The name is Sushi.

Her name is currently set as Sushii to compensate.

</comment><comment><USER50> I registered real first name, real last initial and they demanded I change in a couple of emails. Sorry, not gonna do it for a site I'm still on the fence about. I promptly deactivated my account and don't plan to return.

<comment><USER51> They asked me if my last name was really "Gs". I told them yes and didn't hear from them after that.

</comment></comment><comment><USER52> I also loved the fact that I get a message from a Anon admin telling me the rules state everyone has to use their real name. Coming from an Anon admin..if it's automated at least tell me the host name.....

</comment><comment><USER53> I love that I can use different pseudo-anonymous handles on different websites.

It gives me a chance to experiment and explore different facets of my life and personality that I wouldn't feel comfortable doing if that exploration were tied to my real name.

Maybe Quora isn't the place for experimenting with identity.

The Internet used to be a place where we were able to freely express ourselves. Increasingly it seems that we can only express ourselves if it's congruent with our IRL selves.

</comment><comment><USER54> I live in the United States, and these double-names do sometimes occur. For example, I met someone named Daniel Daniel, who is a very successful analyst at an investment bank in New York. (I'm not him, but the name stuck with me when I met him in business school.)

You can find him on LinkedIn (along with other similarly named folks): <http://www.linkedin.com/in/danieldaniel>

</comment><comment><USER55> I don't understand why Quora is given attention at all. I asked a question about the efficacy of various ad providers on facebook and got no replies. The surprising part was the question got about 4 views. I got better replies on reddit. Its just one question but given that its popular amond the tech and valley insiders I expected to get more views at least.

</comment><comment><USER56> I just tried to login to Quora and discovered that I, Blue Cobalt (true legal name), have indeed been blocked as well. Quelle surprise!

I understand their tired reasoning, but don't agree with arbitrarily forcing your users to do anything.

I've messaged them and am awaiting a reply.

<comment><USER57> With respect, that's an awesome name.

</comment></comment><comment><USER58> personally I find this is very retarded...faking your name is easy.

All you have to do is make a new Facebook account with a real sounding name, and noone would be the wiser.

So whats the point of wasting valuable resources enforcing something this stupid?

</comment><comment><USER59> As the admin of the forum of my own website, I understand the Quora admin's wariness for "oddly-named" users (definition of which is highly subjective, BTW). However, in my opinion, one is innocent until proven guilty ... so unless they provide proof that they are spammers, as admin I don't think I should do anything. But of course I'm sure Quora would have this covered in their Terms of Service details. As we can see, the result is bad PR and the site gives a very unfriendly image.

</comment><comment><USER60> Maybe it's part of their long term strategy. For now just require validation of fake sounding names. But as soon as you have critical mass, roll out the requirement for everybody to validate their names with valid IDs in order to continue using the system. That would make sense for the current state or requiring IDs for fake names.

Then they can go to advertisers or just blatantly sell the data if it doesn't work out.

Regardless if their intentions are good or bad, this data in the wrong hands can cause nuisance.

</comment><comment><USER61> You know, they could just explicitly _ask_ people to use their real names ("We recommend you use your real name" or something similar). If all the first few users do this it might catch on. Works on MathOverflow, though admittedly that probably has as much to do with the content of the site itself as the recommendation. But prohibiting pseudonymy on the internet is just stupid.

</comment><comment><USER15> Personally, I use my real name almost everywhere, but if I was running a website, I would not go so far to require it.

</comment><comment><USER62> Why not require them to be on LinkedIn and verify through that? Or verify through Facebook? Granted there are trolls on both but it's better than requiring ppl to send a scan of their gov't ID.

<comment><USER16> Facebook requires government ids too. My fake account is locked till I submit one.

<comment><USER63> Facebook has Hasan Hasans, and even a Hasan Hasan Hasan. My guess is their flags for fake accounts are a little better.

</comment></comment></comment><comment><USER37> Facebook have exactly the same policy. They have an automate filter which they run names through and if it doesn't pass they require some form of id.

</comment><comment><USER64> I signed up on Quora the other day and spent some time poking around. It appears to be a synergy of Yahoo Answers and the Lake Wobegone Effect.

</comment><comment><USER65> I don't mind if people use fake names to protect identity. I don't like astroturfing and sock puppet accounts. The conflict between trying to allow the former and prevent the latter is at the heart of Quora's dilemma on this issue.

</comment><comment><USER66> What exactly are they trying to accomplish with this policy? The stackexchange network of sites has "fake" names all over and yet they do business just fine.

</comment><comment><USER67> Quora is an idiot. Internet should have its own revolution to get rid of such idiots from the wire.

</comment><comment><USER68> To be fair to Quora, it is their service and not some tax -payer funded government program, so they can accept whomever they choose on their site.

These are their accounts to loose and I don't see why this is even news, or a blog post. So what if you can't come up with a name that sounds real.

For a q&a site these guys certainly get a lot of HN attention.

</comment><comment><USER69> This is really lame, but parents, do heed: if at all possible, try to name your kids something normal. This is going to get much worse WAY before it gets better.

Obviously you can't predict all cultural phenomenons (for instance, if you named your child "Ken Ryu" before Street Fighter hit the shelves) and you shouldn't do it just to please ignorant folks or know where your child will be living in the future ("Kumar??? What is that, like 5 O's and 2 U's?"), but don't intentionally make life difficult on your children just to make yourself laugh or to fulfill some nerd agenda.

<comment><USER70> _try to name your kids something normal_

Normal to whom?

Aside from cultural issues, and aside from the notion that people should name the children to make up for the lack of a proper personal identification system on the Internet, that ship has long sailed. Have a look at your local paper's birth announcements - there aren't many Dicks and Janes anymore. Even older names have "creative" spellings that render them practically unrecognisable.

<comment><USER69> Normality can be statistically proven. If using an abnormal name is not something that will benefit a child, what is the purpose of it, other than satisfying a sick urge to imprint the parents personality on the child?

Would you only buy your boy pink clothes or name him "Elizabeth"? You are choosing for your child, and they deserve a name which is as neutral of a canvas as you can provide for them.

</comment></comment></comment><comment><USER71> Real names are part of Quora's premise. They can afford to reject people who make that hard to pull off. If they'd been founded in another country, they'd presumably have the same problem with some standard American names, but since they _weren't_ , Hasan Hasan's argument falls a little flat.

If he needs to use it, he can go by a middle name. _I_ go by my middle name, because I share my first name with my father. No TechCrunch drama required.

<comment><AUTHOR> Respectful discussion is also a part of Quora's premise. It's hard to foster that discussion, though, when you've started giving users the runaround because their name doesn't look right to you.</comment></comment>


Ask HN: Any startups hiring in the UK - <AUTHOR>

I got my Tier 1 UK work visa (3 years work permit) just this week. I plan to look for work anywhere in the UK. Are there any startups in UK doing interesting work and hiring? Perhaps a site where startup jobs are listed? My previous experience is in Java, Erlang, Ruby, C++ and C#. <comment><USER2> For what it's worth (which I freely admit might be nothing):

I'm not currently hiring, but I'm always on the lookout for someone coming from any of the fora I read regularly. I figure anyone that participates on one of them will be worth looking at, and possibly making an exception for.

However, your id was created specifially to make this posting, you have no history, no comments, no submissions, and no contact details in your profile. That's turned me off.

You may regard that as unfair and unreasonable, and perhaps its an indication that you wouldn't want to work for me anyway, but it's been my instant reaction, and I thought I'd tell you, rather than closing the tab and moving on. Others might feel the same, and you might profit from knowing that.

</comment><comment><USER3> <http://twitter.com/RailsJobs> is specialized on UK Ruby and Rails jobs, pretty actibve every day.</comment>


Moving from Google Appengine to NodeJS on Amazon EC2 - <AUTHOR> http://vpj.svbtle.com/moving-from-google-appengine-to-nodejs-on-amazon-ec2 <comment><USER2> Without knowing more details, this reads like "our square peg didn't fit into App Engine's round hole". Pre-computing massive amounts of data on instance startup sounds like they don't have the correct mindset. Since every new instance starts from the same state, it must be true that whatever is being computed is, in fact, the same for each instance. This is a bunch of work which should be offloaded to a task once (or on a schedule) and saved somewhere like blob storage. Then each new instance can just load that precomputed data without having to duplicate the work that has already been done. I'm guessing that this lengthy computation is the search index which they reference elsewhere. They also complain that datastore reads are quite slow. Presumably if new instances are building a search index, they will be churning through lots of datastore queries which degrades performance and raises costs.

Bubblesort is slow on App Engine too, and you'd do much better switching to a different sort algorithm on EC2 as well. Every platform has a way to shoot yourself in the foot. Perhaps the solution isn't to move off, but to just _not do that_. Or, this blog post could be titled "How we didn't do our due diligence and chose a platform which was unsuitable for our problem space".

<comment><USER3> People make choices and when the choice turns out wrong you could always claim they did not do their research well. Maybe so, maybe these guys can be blamed for that too.

That is of not much consequence. The important part is that they evaluate their choice and are ready to move onto a better platform. Without destroying the business.

If you check out the blog, you can see they did it for jQuery as well. Good for them. You could also argue they should have made other decisions from the start. But hey, they learned and it works for them.

What is more, they tell the world about it and try to prevent others from making the wrong choices. Even providing pointers to resources that were useful for them.

What I trying to say, they deserve a bit more credit than an off hand remark like: "our square peg didn't fit into App Engine's round hole".

<comment><USER2> I don't think my remarks were particularly offhand given that their post indicates a lack of understanding of how App Engine works. Based on that misunderstanding and poor architectural / implementation choices, they then go on to say that the data store is slow, App Engine creates too many instances, requests were timing out, and memcache is too limited. These criticisms of App Engine might be valid for certain uses, if it were not for the fact that the way they built the application is likely the very cause of their problems.

For instance, I'm 95% confident that the work they did upon instance startup was build the search index based on reading:

      "We HAD to use the search API for the last few months
       because we couldn't keep our indexes in memory, because
       of the start up time (discussed earlier)."

I'll make some assumptions here because I don't have access to more information, but their search index is likely being built off of what is stored in the datastore. First off, calculating this all at instance startup is inappropriate. What if App Engine switches to a ZeroVM implementation where every request is effectively a new instance? They would be building an index just to throw it away right after. Or if instance lifetimes were limited to five minutes, it's the same problem. What if the amount of data in their datastore scales up by three orders of magnitude? Were they planning to burn through hours of instance startup time to build this index?

Not to mention that this index is most likely a deterministic function. In other words, given input data X, the result is always going to be output data X'. The fact that they recalculate the results of a deterministic function upon each instance startup is 100% wasteful. This is the direct cause of their request timeouts. Additionally, it's also the likely cause of the datastore slowness. As they state:

      "Pre-computations at start up kept the new instances
       busy, and app engine was creating more and more instances
       to handle this."

So startup was taking such a long time because it had to (1) pull data from the datastore and (2) perform lengthy calculations on that data. App Engine saw the instance as being exremely busy therefore it spawned a new instance. Rinse and repeat. The datastore is going to get hammered with overlapping requests. No wonder it's slow. They may have also used a sub-optimal schema. It's been about three or four years since I've worked with App Engine, but I recall that their default datastore performed much better based on your choice of entity groups, etc. They should have used a background task for index building (if absolutely required), which is able to run for hours if needed. Store the results of the index build into the blob store. Retrieve that as needed without any recalculation.

Another thing they criticize is search API performance as being too slow. The current live application appears to do realtime search as you type. If they were implementing realtime search on top of App Engine's search API, I can see how that would be unsuitable as well. The search API is designed to take the results of a single query and fetch the results. If a search operation takes 500ms, that's not very fast but overall isn't a big deal. If that's 500ms per keystroke, then that will be massively slow. Searching upon hitting ENTER or clicking a button would have solved that. Or they could have re-thought their implementation if realtime is required.

App Engine is definitely not suitable for all problems, but it too deserves more credit than their blog entry gives it.

<comment><AUTHOR> We started using app engine because it was easy to start with. We did some basic math on how much it'll scale with our architecture (which I too agree wasn't that good), and thought it would work reasonably until we grow quite big (at least half a million locations). I was/am new to app engine and was learning along the way.

The problem was when it started giving trouble even before 10K records, and not even more than 60 requests per second, which even a very low resource PC would handle without a problem since it won't even take a few milliseconds to compute (probably even without an index, just a sequential search). And we had to make changes to fix this.

It went on and on; every few weeks, users and content would grow and our app would fail. We didn't want to move away; just like you said, we thought the solution wasn't to avoid it, but to solve it.

Finally, after changing/improving the design a number of times, we considered using app engine backends to do central stuff such as maintaining the main index. At the same time, looking back at what we've been doing so far, it was quite clear that we were spending our time, which for sure we should have spent on building something that adds value to users, on learning some platform and trying to alter our architecture to fit into it. And we were going deeper and deeper in the hole, and we knew it would be hard to move.

Our vision is simple, and it has nothing to do with picking up some technology and figuring out how to make use of it. Instead, we try to start from the customer and work backwards. While on app engine, we once stopped taking new low paying customers (listings), until we fixed issues - I think this was a terrible.

Decision of moving away from app engine wasn't easy. We had to literally rewrite everything, and the fear of similar problems coming up was there.

Also, I never recommended anyone not to use it, I was just telling our story. In fact, I still use app engine for some work, and we would switch back to app engine if we are convinced that it's the way to give a better user experience.

About data store being slow, they charge us per data store read. It slowing down as the number of reads increase, for me, sounds like saying it's your fault if your calls drop because you are making a lot of calls.

About search API, we didn't use it for auto completion; we maintain a small dictionary for that.

Just to clarify we were building the index at the start up.

About scaling, we have given some thought to it. But not so much since it's not something we will require in the near future. We can create multiple instances and balance the load as long as the index is small enough to fit in memory.

I'm sure there is a way to get this working on app engine. But we are glad that we moved, and it runs smoothly. And more importantly, we have been able to give the users a lot more benefits during the past couple of months than during an year on app engine, because we had more time to focus on users. And if we had moved earlier, we would have been able to do more.

<comment><USER2> It would be interesting to see how you could have resolved the issues. I think eliminating the search index generation on instance startup would have solved almost all the issues you were experiencing. For comparison, Khan Academy serves up 6 million active users a month:

[http://highscalability.com/blog/2013/4/1/khan-academy- checkb...](http://highscalability.com/blog/2013/4/1/khan-academy-checkbook- scaling-to-6-million-users-a-month-on.html)

That's likely many orders of magnitude more than the traffic levels you're experiencing. Clearly the platform works, but you need to architect your application to work with it rather than trying to shoehorn App Engine to work with your architecture.

If you don't have the ability to do that (due to time pressures or other factors), then you made the right call to move to a platform you are familiar with.

</comment></comment></comment></comment></comment><comment><USER4> I'd think that using back-end instance(s) to off-load the computational intensive work on GAE is pretty much the same thing as switching to EC2.

I'm guessing that Google Compute Engine wasn't generally available at the time of the decision, but you'd be able to solve most of the issues described with a well thought out front/back-end GAE/GCE architecture since GCE is formally launched now.

</comment><comment><USER5> I'm glad the title of the article isn't some sensationalist junk like, 'App Engine should be shot in the face,' or 'Why I left the barren wasteland of useless App Engine and moved onto the greener pastures of my homerolled Accumulo/Scalatra stack on Rackspace'.

I think enough people who're reading this have had a good to fair experience with GAE and, like me, are wondering what hiccups other people are finding with apps on app engine. Subsequently, I also think that we like feeling smart because we've read enough docs and articles to be able to identify ways that their app's design may not mesh with the App Engine way of doing things.

The thing I need to keep reminding myself is that there are many right ways to do it. If vpj and his cohorts are spending less time trying to figure out App Engine and more time on their app, then more power to them. At some point you have to just figure out when the effort expended outweighs the potential benefits and cut your losses, and I think this post is written in a clear and fair way.

The thing that makes me upset though is that there isn't a central place that can clearly explains the pitfalls that he fell in, what the best way to do it on App Engine, and why. Those docs are kind of a mess, amirite?

</comment><comment><USER6> Sounds like they had no problem moving, which proves _yet again_ that GAE doesn't lock you in.

<comment><USER7> Actually it proves nothing of the sort, since in the process of moving they also re-implemented their app in Node.js.

</comment></comment><comment><USER8> This article confuses me . . . a better title would have been, "Why we changed languages, went from PaaS to IaaS, and changed our datastore - or why we changed everything". I find it interesting that the author didn't go from AppEngine to Heroku, which has robust NodeJS support, Memcache and Mongo support as well.

I applaud the author for making changes to support their business more effectively, I'm just not sure what I'm supposed to take away from this other than someone successfully changed some stuff.

</comment><comment><USER9> imo it does not look that you needed to change infrastructure but that you needed to build a better application and tackle problems with better approach.</comment>


Newest YouTube user to fight a takedown is copyright guru Lawrence Lessig - <AUTHOR> http://arstechnica.com/tech-policy/2013/08/newest-youtube-user-to-fight-a-takedown-is-copyright-guru-lawrence-lessig <comment><USER2> So where's a link to the video? I'm digging and will update if I find it.

Edit: The following link seems to match many of the attributes mentioned in the complaint filed (date of talk, sponsor of talk, his keynote speaker status, location of talk, video length).

[http://vimeo.com/13816922](http://vimeo.com/13816922)

[http://youtu.be/KBTWoCaNKn4?t=37m41s](http://youtu.be/KBTWoCaNKn4?t=37m41s)

Edit2: Confirmed. This is the talk. The Ars article says the title of the talk was "Open," same as the title in the video. The "infringement" starts around 37:40. Funnily enough, the "infringed work" is apparently a remix itself. Go figure. You couldn't make this stuff up.

Edit3: I can't tell whether the song itself is a remix, or if Lessig meant there were several remixes of the original clip that had the music dubbed over clips from The Breakfast Club. It appears to be the latter.

Suffice it to say, this is fucking ridiculous. Raise your hand if you're going to watch a 49 minute long video in order to try and "home tape" the 47 second clip 37 minutes and 40 seconds in, especially if you can just download the official video from here:

[https://www.youtube.com/watch?v=4BJDNw7o6so](https://www.youtube.com/watch?v=4BJDNw7o6so)

Whether this is "official" as in this is the actual video shot for the song, or "official" as in "welovephoenix" is their official youtube channel (or both), I don't know. But that link has nearly 10 million views.

Edit4:

And this is the original video remixing the song with The Breakfast Club and another 80s movie I'm too twentysomething to recognize, sitting pretty at 458k views:

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

<comment><USER3> Lessig retracted his counter-notice in response to their lawsuit threat, so the video is still down.

<comment><USER2> I know, but I'm guessing that the recently-posted video of his that got the takedown notice is a cleaned up version of the video I linked. I'm currently trying to dig through the talk at the moment to get to the supposedly infringing bits.

</comment></comment></comment><comment><USER4> While I hate the heavy-handedness that the DMCA operates with and I think it's ridiculous that LL's video was banned it's worth remembering back to pre- YouTube to recall how we got here.

Before YouTube there wasn't any consumer-accessible dissemination of AV media online. You had to have serious equipment, there was no social distribution and copyrighted material couldn't get used anywhere.

YouTube came along and simply overpowered the copyright holders with both sheer volume and variety of copyright infringements and followed through with the financial and legal muscle of Google behind it. There was a long time when it wasn't clear whether YouTube would actually survive its legal battle and I assume that the instant-take-downs were a compromise that was reached to allow them to continue.

I'm glad that Lawrence Lessig is fighting this case and it's a good time for it to happen. However it's also worth keeping in mind why these instant take- downs were instituted in the first place - it was (I presume) because it was the only way to placate copyright holders into allowing the whole thing to continue.

<comment><USER5> That's not quite 100% true - there were various sites that disseminated video to and from consumers. I ran one of them, Machinima.com, which was founded in 2000.

However, they were few, far between, and didn't work nearly as well as YouTube. I'll admit to making a massive mistake disregarding Flash video back in those days in favour of downloadable content!

YouTube really has been a remarkable thing - one of the few .coms that can genuninely claim to have significantly changed the world.

</comment></comment><comment><USER3> You'd think these DMCA blasters would have some lists of people they shouldn't tangle with because it will be more trouble than it's worth. Fortunately for us, apparently not.

<comment><USER6> Yeah, like when the NFL DMCA'd Wendy Seltzer's YT video of the NFL's copyright notice plus a short clip of a Super Bowl® ^W^W Sports Championship kickoff. [http://wendy.seltzer.org/blog/dmca-nfl](http://wendy.seltzer.org/blog/dmca- nfl)

</comment></comment><comment><USER7> Only 2 lawsuits have ever challenged a DMCA takedown? Then the DMCA is seriously broken. There needs to be a better path for appeal against excessive or unfair takedowns.

<comment><USER8> No, the article says that only a few lawsuits have resulted in damages per section 512(f) of the DMCA [1] (which places a penalty on knowingly misrepresenting a work when filing a DMCA notice against it, if I am reading correctly). It sounds like they're able to sue under 512(f) in this case because Liberation Music pressed the issue even after they had been notified that the use was fair use. I am not a lawyer, though.

[1] [http://www.copyright.gov/title17/92chap5.html#512](http://www.copyright.gov/title17/92chap5.html#512)

<comment><USER9> So does that mean that in order to keep our work up we need to challenge every take down and invest thousands of dollars fighting it?

That is what is broken in the DMCA. Guilty until proven innocent and you the content creator (that uses some copyrighted material) have to pay for every bullshit take down notice you get.

This is what big companies are counting on, that you are not willing to invest the time and effort needed to challenge them.

And given that they have vastly more resources they will be better prepared to fight you that you are to fight them.

This is not justice this is survival of the richest.

<comment><USER10> In order to keep your work up, all you have to do is tell your provider that the takedown notice is incorrect, and they'll restore your content. I believe there's a mandated delay (10 days?) before they can do it, so it's still pretty bad, but you don't have to sue. You _can_ sue for damages if you think they sent the takedown maliciously, but it's not required just to restore the content.

<comment><USER11> Which means unlimited free 10-day takedowns. They can throw them out on a whim at anything that even matches keywords, because there's no penalty for negligence, only direct maliciousness.

It's not hugely expensive to fight plain takedowns, but it's still a burden that shouldn't exist, and having your content down is a cost you'll never recover.

</comment></comment></comment></comment></comment><comment><USER12> DMCA needs be amended, badly. The automated DMCA takedown notices and with no repercussions for false infringements are making the copyright situation worse. These companies need to be punished for sending abusive DMCA notices.

</comment><comment><USER9> Yay! This is fun. Finally a company foolish enough to pick a fight with an expert in copyright that's been waiting for one for years. Let's just hope the courts show a bit of common sense.

</comment><comment><USER13> I wonder if they did any research before filing a DMCA against who they were poking with a pointy stick? Or whether it was just an auto-match and auto-DMCA filed?

Hopefully when this goes to the courts it'll set some precedents, I can't imagine Lessig backing down from a fight over a spurious DMCA claim.

</comment><comment><USER14> I lost my faith in Youtube when I started getting claims in my videos with Vivaldi's Music...

</comment><comment><USER15> Some time ago I became engaged in the Syrian conflict, before it was a conflict.

There was a time when a multitude of cities rose up in peaceful demonstration. Civilian organizations took root to make clear cases for ways and means of reforms, both on the local and national scale. These local coordination committees were most publicly visible by foreigners on the net, being prolific in uploading of media, mainly during Friday protests after prayer. These local orgs, mainly teens, found sites like bambuser.com and youtube.com highly effective for disseminating and spreading word of solidarity for towns spread miles apart, those miles just may as well be worlds apart much like how it is in the US and other nations.

Well I helped disseminate these events, my favorite were those broadcast live on bambuser as it gave viewers a much more personal feeling for those demonstrating on the other end. Much respect to Hans Eriksson[1] who used his position at bambuser in a positive way, embracing these broadcasts and himself helping disseminate the broadcasts to the world.

These weekly mass demonstrations took a bloody turn, and while many stopped looking the coordination committees kept witness, services like bambuser kept showing live feeds even though they were turning increasing violent as Assad's forces began publicly gunning down crowds.

Ever see the GPS trail of someone fleeing with a crowd of his neighbors during a live broadcast, while they were being shot at? I have. Here is a profile of a martyr who fought with his camera to show the world his life[2].

What does this have to do with copyright? Well those early days of mass demonstrations are valuable evidence of the true origins of the Syrian civil war, peaceful defiance met with violence.

During my monitoring and dissemination of other people's hard fought media, I began processing some into panorama as the narrow field of view provided by handheld cams reduced much of the true impact of what the recorder meant to show to others. I made stitched images from video showing tanks awaiting a push into so-called 'infected' cities[3]. I made images of the days during the fraudulent elections, of BMPs chasing unarmed civilians through the streets[4]. Later, I've stitched together images of war crimes that I can never remove from my thoughts. After doing this for many images I had video of which I also processed and began uploading those of potential interest, video of Assad's troops hurling IEDs onto residential neighborhoods from helicopters for instance[5].

But the video that involves this discussion of copyright, is one held dear to many of the early activists. Held dear to many of those now deceased. It was a song sung by someone who himself, was killed in those early days of mass demonstrations.

Ibrahim Qashoush, a fireman and a poet from Hama Syria[6].

Ibrahim coined a song that became popular during these mass demonstrations in Hama, singing them in a multitude of breathtaking shows filled the entire town square (remember when towns had those?) with the families that lived there. Time passed, and after becoming depressed at the daily slaughter I decided to go back and make a stitched image[7] of that night in Hama, when Ibrahim sung before his throat was slit[8] for daring to sing.

After uploading the video to Youtube, marking the video as not copyrighted, then the image to imgur as usual I received a copyright complaint from CDBaby[9]. Apparently they thought that due to an artist of theirs including a sample of the protest audio, they retroactively owned the original protest song themselves.

I lodged a rebuttal saying that the video was clearly not theirs, and Youtube agreed. Attempts to contact CDBaby were futile. Having the copyright claim removed I was somewhat happy with the vindication that this dead man's song was indeed not CDBaby's, but infuriated that this company made ABSOLUTELY NO DUE DILIGENCE AS TO THEIR CLAIMS. Most of the time people, if they notice, can contact them saying a company like CDBaby was in the wrong. But in this case the man they wronged had his throat slit for the media CDBaby was now claiming as their own. Cue the rage.

Youtube removed the claim from my copy of the video[10] but when linking the original copy that I processed I noticed that CDBaby's claim was still on their video. Looking further I found _ALL_ copies of this dead man's voice claimed by CDBaby.

This is around the time I started making a stink on Twitter making sure to include CDBaby's handle while pummeling them for stealing a murdered man's voice.

Of course after this I finally had CDBaby contact me.

The response from their support 'manager' said simply that my upload has had the claim removed, she was completely unaware or ignorant of what I was referencing since I never said my video was the problem. The fact they were blanket claiming without due diligence or occasional follow-ups to check the accuracy of their claims was the problem.

Only after displaying their absolute pathetic avoiding of the topic of legal ramifications for false claims online did I receive a simple follow-up from CDBaby support 'management':

"All claims have been removed," and indeed they were, for now.

My position on copyright shifted in those months of shouting into the copyright void that is the Youtube/CDBaby scheme.

I will break every copyright possible without care.

Not just for those who died bravely singing songs for others to be motivated by, but because for-profit entities display far less due diligence in their corporate position than a marijuana smoker does in his hobby.

Now I sometimes listen to Ibrahims song, thinking of how many of those people in Hama in the crowd no longer are alive. I think of CDBaby profiting off it and who knows how many others, think of Google's complicity in the mess, think of the lawyers who profit off it keeping the situation rolling. I think of the militant US government who is coming closer and closer to making copyrights worse than violent crime, and I get really depressed.

That is one of my fights with copyrights.

[1] [https://twitter.com/HansEriksson](https://twitter.com/HansEriksson)

[2] [http://bambuser.com/channel/syriapioneer](http://bambuser.com/channel/syriapioneer)

[3] [http://i.imgur.com/pyegah.jpg](http://i.imgur.com/pyegah.jpg)

[4] [http://i.imgur.com/prkBmh.jpg](http://i.imgur.com/prkBmh.jpg)

[5] [http://www.youtube.com/watch?v=5ZNy7V4Dz60](http://www.youtube.com/watch?v=5ZNy7V4Dz60)

[6] [http://en.wikipedia.org/wiki/Ibrahim_Qashoush](http://en.wikipedia.org/wiki/Ibrahim_Qashoush)

[7] [http://imgur.com/gallery/R0hnb](http://imgur.com/gallery/R0hnb)

[8] [http://www.nytimes.com/2011/07/22/world/middleeast/22poet.ht...](http://www.nytimes.com/2011/07/22/world/middleeast/22poet.html)

[9] [http://www.cdbaby.com/](http://www.cdbaby.com/)

[10] [http://www.youtube.com/watch?v=Uu_adzfW8tc](http://www.youtube.com/watch?v=Uu_adzfW8tc)

<comment><USER15> There is a lot of pain within me from the last few years, so many people I no longer have contact with, for most likely bad reasons. It felt good writing this out, thank you for reading.

<comment><USER16> Right now your comment seems to be at the bottom of the page.

Don't take that to mean nobody is reading.

I personally feel the same way about youtube writ large. Google has made youtube one of the greatest video libraries ever compiled. Downloading videos is not allowed by the software (No, various add ons and browser extensions are not acceptable.), and on top of that it's disallowed by their TOS.

I can only imagine the tragedy set to occur when youtube inevitably shuts down.

One of the most egregious examples I've seen thus far is on the older Tay Zonday videos where it says the license is creative commons but there is no way to download the video.

EDIT:

" This MP3 is subject to a Creative Commons License. Creative Commons License Details:"

Interesting. Guess I didn't read close enough the first time.

<comment><USER15> It is at the bottom because it is a new account, it is a new account because HN ghosts accounts at the drop of a hat. Oh well.

My problem with the CDBaby/Youtube relationship is that CDBaby was essentially created to take advantage of blanket claims. Youtube's algos create a set of hashes or something of track audio. This is fine. The first to make a copyrighted claim, even if non-copyrighted uploads already exist, get precedence. This is not fine.

So the hundreds of copies of the man singing his heart out matter nothing once CDBaby uploads one copyrighted track that includes a part that matches. Copyrighted claims override the others for some horrific reason.

Leaving me to defend a dead man. Thanks to @ioerror, Telecomix and others for keeping it real respecting the dead's rights.

<comment><USER17> CDBaby predates Youtube by many years, so it was fairly obviously not created to abuse anything related to Youtube.

<comment><USER15> That's nice. It's fairly obvious CDBaby's mode of operation is what I have described. Looking into them after they obtained my attention resulted in finding many similar stories from others.

I have NEVER seen anything from CDBaby's presence with actual CD sales, be it in retail shops or online, on the other hand their mode of operation since starting to use Youtube indicates this is their main line of income.

"Represent" artists by claiming copyright on any under-protected samples that they may have used.

Including voice samples of men who have had their throats slit.

Force users dispute it on Youtube, disputed videos get resolved but every other copy of the media that was uploaded does not. Leaving each of the other users who uploaded to fight it one by one on their own. Blanket claims on swaths of video are made by CDBaby forcing individual defense from users for each of their uploaded copies. Not all users notice the copyright claims, not all care, even less have the motivation to try to set things right.

CDBaby over time gets claim to a larger and larger portfolio of media that doesn't belong to them.

It's all fairly obvious, regardless of how the original company started and operated.</comment></comment></comment></comment></comment></comment>


How to Perform Calendar Calculations in Your Head - <AUTHOR> https://medium.com/cantors-paradise/how-to-perform-calendar-calculations-5617f35d3070 <comment><USER2> Given that you'll rarely need more than this year, and maybe next year, you can preemptively do some math to make it easier.

        yearcode = (centurycode + [last two digits of year] + ([last two digits of year] div 4)) mod 7

So this year (2019) = 1, and next year (2020) = 3 (and also a leap year). These numbers are infinitely easier to keep track of, especially when doing modulo operations in your head.

This link [0] explains the process from this perspective

      [0]: https://litemind.com/how-to-become-a-human-calendar/

</comment><comment><USER3> This can be made much more friendly to in your head calculation. In the following, I shall use Python 3 operators. In particular X//Y means the integer part of X/Y. I will use 'x' for multiplication instead of the usual splat, so I don't have to deal with HN trying to interpret it as a formatting code.

The article computes the year code like this, where Y is the last two digits of the year:

      Y + Y//4

For the example in the article, 1989, that gives 89 + 89//4 = 111. It then adds in numbers to deal with the month and the day of the month, and finally at the end reduces the whole thing mod 7 to get a day of the week.

It's a lot easier mentally if you can keep the intermediate numbers smaller. One way to do that is to reduce mod 7 along the way. Another way is to use procedures that are a little more complicated than

      Y + Y//4

but that have smaller intermediate values. One of these is called the "odd + 11" method, and goes like this:

      if odd(Y):
        Y += 11
      Y = Y//2
      if odd(Y):
        Y += 11
      Y = -Y
      return Y

For Y=89, we'd see that it is odd, add 11 giving 100, divide by 2 giving 50. Any time after the Y//2, it is OK to toss in a mod 7 reduction. Doing that to 50 gives 1. Negate that, and do another mod 7, and we get 6.

Another method, that keeps the intermediate numbers even smaller, is this. This method operates on the individual digits of the two digit year. Let's call these T and U, with Y = 10 T + U.

      C = 2 x T
      if odd(T):
        C += 3
      C += U
      if odd(T):
        if U >= 2:
          C += 1
        if U >= 6:
         C += 1
      else:
        if U >= 4:
          C += 1
        if U >= 8:
         C += 1
      return C

You can do mod 7 reductions anywhere through that. For 89, we have T=8, U=9. 2 x T = 2 mod 7. T is not odd, so skip adding 3, leaving us still at 2. Adding in U mod 7 brings us to 4. Finally that scary looking 'if' morass adds 2 more, bringing us to 6.

The mass of 'if' statements are simpler than they look. They are dealing with leap years, and the rule is simply that if T is even, there are leap years at U=4 and U=8, each adding 1 to the running total. If T is odd, the leap years come at U=2 and U=6. That's how you should probably actually remember it and use it. The if's are just there for writing it in pseudo-code.

The month numbers and the century corrections balance each other, in the sense that you can add or subtract a constant to all the month numbers, and subtract or add the same constant to the century correction, without changing the final day.

The month corrections and century corrections given in the article are old. I first saw them in Martin Gardner's "Mathematical Games" column in "Scientific American" around 50ish years ago. These are NOT the corrections most people use now. Instead of ADDING the numbers given:

      1 4 4 0 2 5 0 3 6 1 4 6

with these century corrections (for 16xx, 17xx, 18xx, 19xx):

      6 4 2 0

what most people do now is SUBTRACT these:

      3 0 0 4 2 6 4 1 5 3 0 2

with these century corrections:

      2 0 5 3

(Oh, and most people use Sunday = 0 nowadays, not Saturday = 0 as given in the article. That's also taken into account by the month/century corrections).

A way to remember those month correction for the even months starting at April is that the month correction equals the month number, so that gets us April (4), June (6), August (8 mod 7 = 1), October (10 mod 7 = 3), and December (12 mod 7 = 2).

For May, July, September, and November, the correction for each is the month number of the one two away from it in that list. So May's correction is September's month number (9, or 2 after reducing mod 7), and September's is May's month number (5). Similar for July and November, each using the other's month number as its correction.

That only leaves January and February, which you just have to memorize as 3 and 0. For leap years, those become 4 and 1.

If C is the first two digits of the 4 digit year (e.g., 19 for year 1989), the century correction is:

      5 x (C % 4) + 2

For 19, that's 5 x 3 + 2 = 3 after a mod 7 reduction.

For the date given in the article, Jan 13, 1989, that gives us 3 (century) + 6 (year) - 3 (month) + 13 (day) = 5 mod 7, which is Friday, same as the article got (remember, the century/month corrections I'm using are set for Sunday = 0).

With a little practice, you can get pretty fast with the tens/units year correction calculation, and with recalling the month correction via the mnemonic aids given above. Almost all dates you will have to deal with will be in just two centuries, so you'll probably quickly end up automatically memorizing the century corrections.</comment>