Germany's nationwide emergency warning day sees bumpy rollout - <AUTHOR> https://www.dw.com/en/germanys-nationwide-emergency-warning-day-sees-bumpy-rollout/a-54877137 <comment><USER2> > In the future, the government plans on making the tests an annual event, > designating September 10 as emergency alarm test day.

That's factually incorrect. The nationwide alarm test day is designated to be the 2nd Thursday of September - the actual date will naturally differ from year to to year.

This is just sloppy journalism.

<comment><USER3> Please don't use the code tags for quoting. It makes it very hard to read on mobile and in case it's a longer sentence the overflow is non-obvious on a bigger screen too.

<comment><USER4> They used the standard syntax used to quote? It doesn't appear to be edited.

<comment><USER3> It got edited and is now fixed. You don't see if something got edited if you don't manually add "Edit" to the post.

</comment></comment></comment></comment><comment><USER5> Nothing, absolutely nothing surprises me about that. Public Infrastructure in the disaster management system is a - disaster.

Example: Yes, my home village and the surrounding 20-30 Villages all have their old air-raid sirens to notify the members of the fire brigade. A system which is quite old and was rock solid reliable. During the transistion from analog radio to digital radio, the receivers were upgraded to be triggered by digital radio (TETRA to be precise). This, we found out, now means that during a power outage, there is no way to alert the fire brigade because the sirens dont have power. We now have people sitting in the fire station again whenever our Village has a power out to use the on-vehicle radio to communicate with the dispatch.

TETRA itself is also a disaster. And even worse: Its not even universally accepted. This means that local muncipalities can decide to stay with the old analog system while others have the new digital one. In theory, the digital one has a bazillion advantages. However, all of those advantages in the end create more problems than they solve.

For example, better voice quality - just leads to people being completely not understandable when using breathing masks to enter a building (Something to do with filtering).

Also, analog fails gracefully. Digital stops working. And it stops working a lot earlier. This means, you now have to use a repeater at the entrance of a building to talk to people in the building, because the digital radio often does not work. This happens mostly in direct (Walkie Talkie Mode)

When in cellular mode, good luck finding a signal in 50% of the rural areas - This mode is vital to talk to the dispatcher to call for support/additional units.

The whole system is supposed to be used by everyone. Military, Federal and Local Police, Fire Brigade, EMT... which means there has to be a rights management system to access certain channels. This is hardcoded into every device. This often means that a device does not have the permission to cooperate or that only the one device of the commander can access certain channels.

There is a 2 Second delay between pressing the talk button and a connection being established due to the encoding and permission management leading to people often having to resend because the first words were cut off.

Its just a complete and abject failure everywhere. And you can look wherever you want, and its the same. Working things get rationalized, or "modernized", resulting in a less capable, more expensive, more complex system.

Or, in our case, to carry two devices, one digital and one analog.

<comment><USER6> It really hurts reading this.

I'm not involved in this, but like any other citizen, I rely on this system.

This shows that some people who carry certain responsibilities haven't lived up to their task, and without this test, we wouldn't have gotten to know this, while they would still have collected their paycheck as if everything is ok.

The lesson to be learned from this should be to implement a monthly test run, like other countries are doing.

</comment></comment><comment><USER7> I still don't know why Cell Broadcast isn't employed, even through it would solve a lot of the problems of using an app. Someone on reddit wrote the BBK and their answer effectively stated that it isn't used because it isn't used.

<comment><USER3> In the Spiegel article they cited privacy issues (apparently the app doesn't have that...) which was later changed to "the big telecoms in Germany don't offer that service".

<comment><USER8> Fefe has a post (in German) about that, and the first excuse was uttered by someone in a high position who despite his job title apparently knew nothing about what he was talking about, and that the paragraph with the excuse got changed, after "the censor returned from peeing":

[http://blog.fefe.de/?ts=a1a72533](http://blog.fefe.de/?ts=a1a72533)

<comment><USER9> Or rather, after some public outrage on Twitter about said incompetency.

</comment></comment></comment></comment><comment><USER10> Approximately 10 minutes after the Test i learned that i was supposed to have an app installed - i didn't even have my smartphone with me at that moment.

For some reason, the SMS broadcast was not used.

For some reason, the air raid sirens didn't go off in many cities.

I'm somewhat disappointed - organization in emergency cases is what Germany usually get right.

<comment><USER11> Berlin for example no longer has any sirens at all.

<comment><USER12> Neither has Bremen, or a lot of other cities. Justifications seem to be that sirens are not suitable to alert only certain districts, and that a siren going off is not enough to communicate what exactly is happening. Pretty flimsy I think, because a siren as a trigger for people to get informed via radio or TV is the most resilient way to get information to everyone if something really bad happens.

<comment><USER4> I read on bz-berlin.de that in an actual emergency they will have vans driving around with sirens. So my question is, why didn't they have vans driving around yesterday if it was a test?

<comment><USER12> Very good question. I also read about another city (can't remember which) that could have used the sirens, but didn't, because the test happens already on other dates.

I really expected much more from this test. Feels like we are living in an underdeveloped country.

<comment><USER4> > Feels like we are living in an underdeveloped country.

To be fair, this is pretty much the definition of 1st world problems.

</comment></comment></comment></comment></comment></comment><comment><USER13> The incompetence starts with the thought that an "app" would reach any meaninful fraction of the population.

<comment><USER14> I personally do not feel eager to install an app that very likely was written by the lowest bidder. Especially when the underlying requirements were written by our politicians, best case we have complete incompetence, worst case someone saw a way to make the bundestrojaner look harmless.

<comment><USER15> I have three of those apps installed, none of them did anything that day. They've mostly worked in the past, except when larger areas were notified and you clicked on the notification to get more details the app would show nothing because whatever its service is running on was overwhelmed by the amount of people checking..

Meantime vacationing in Japan I can get a Japanese wall of text on my phone informing me and everyone around me who pulled out their phone of an imminent earthquake, all without data active.

</comment></comment></comment><comment><USER16> That's not actually bad, right? The whole point was to find out if it works. Now they can fix it before there is an actual emergency

<comment><USER17> The _degree_ to which it didn't work is a bit embarassing, and it seems like many of the issues could have been easily identified in advance so that this big test run could help identify more subtle problems.

</comment></comment><comment><USER18> In The Netherlands for ages we have an emergency alarm test each first Monday of the month at noon.

<comment><USER19> Here in Sweden we have them the first Monday every quarter, at 15.00.

</comment></comment><comment><USER20> The same article was discussed yesterday with 101 comments: [https://news.ycombinator.com/item?id=24430145](https://news.ycombinator.com/item?id=24430145)

<comment><USER21> It was actually a different article -- about how a test is going to be carried out. Today's article is about the results.

<comment><USER20> Both links end up at the same place. It seems DW basically replaced a whole article with another one.

</comment></comment></comment><comment><USER22> I didn't hear a siren or get a push notification, I haven't spoken to anyone that did either, quite the failure...

</comment><comment><USER23> Statism gymnastics everywhere, all the time. I wonder where this will lead to

</comment><comment><USER24> Cool, let's distract ourselves from an emergency like COVID-19 with an emergency warning system.

<comment><USER25> I'm not sure I understand. Surely as a society we need to be able to (and are capable to) address more than one thing at a time?</comment></comment>


Github became the web's largest font piracy site (2017) - <AUTHOR> https://pixelambacht.nl/2017/github-font-piracy/ <comment><USER2> If I use a commercial font as part of my website design, I am in fact publishing that font on my site and anyone can obtain a copy of it -- in fact, they automatically do merely by visiting my site! Does this mean all my visitors are "pirating"? Of course not. Github may make the font more accessible/searchable, but that doesn't change anything about the copyright status of the font.

Me publishing something on Github does not grant everyone free rights to it -- in fact, copyright law says no one has rights to it unless I _specifically_ grant those rights. This is most commonly done with a LICENSE file. The copyright rules apply to everything in the repository, including my code, and any fonts, icons or stock images. The fact something is on Github (or the internet, in general) doesn't make it public domain, you still have to abide by the license terms.

While I think the suggestion that "on github" = "piracy" is stupid, I could see a couple things that could apply:

(1) If the license for the font explicitly states it's for "use" or "distribution" on a single domain. Unless the license is clear about it, it'd really be up to lawyers to argue over whether hosting the code in a public repository on Github can be considered "use" or "distribution" \-- and ultimately that argument is about one non-authenticating public URL being okay while another non-authenticating public URL is not.

(2) If I've put a commercial font in my repository along with a typical LICENSE file containing MIT/GPL/BSD/whatever without explicitly stating the fonts are not under that license, then I'm basically mis-representing the license for that font (which I should not be allowed to do).

Given that putting a font on Github is technically no different from publishing on my site in terms of someone being able to 'pirate' it, personally I think a Github repository with a proper license (not doing (2)) is fine, because the LICENSE file effectively says it's _not_ okay to just copy that font.

<comment><USER3> Font licenses are pretty clear about what you are and are not allowed to do with the font files you downloaded. For instance, you're not allowed to zip them up and post them on filesharing sites. It does not matter _at all_ whether you include a LICENSE file saying "this is a nonfree font."

The problem is _not_ that you're misrepresenting the font as copyleft when it isn't. The problem is that you simply don't have a license to redistribute the font at will: merely uploading the font to a public GitHub repo violates the license.

You have the right to serve the font from your webserver, and link it into your site via CSS. You absolutely have not been granted the right to redistribute the font in any other manner.

If you post a page on your site with "Like this webfont? Download here!" and link to the same URL that you are using to host the font for display purposes, you'd be violating the license. It's the same exact URL, but you can't post a clickable download link to it. It's not allowed, and if you do, they can at a minimum yank your license to use it at all.

[https://processtypefoundry.com/help/base/webfont-license- agr...](https://processtypefoundry.com/help/base/webfont-license-agreement/)

Editing to add: trying to solve the problem by adjusting your LICENSE file is roughly equivalent to the "I don't own this!!" disclaimers that people put on YouTube uploads. They get DMCA'd just the same.

<comment><USER4> The intent often matters, but there's clearly a huge difference between your example of a "download here!" link and usage on either a website or within a GH-hosted repo.

When you say 'the right to serve the font from your webserver' \-- in this case, 'your webserver' may simply be GitHub's web-server, a service they provide to you as part of your payment to them (either because it's part of the app you host on GH, or as a piece of the website hosted via GH Pages [0])...

Assuming that the font's usage for the repo'd app/site is OK per the license terms, then I'd be surprised if its availability in the repo would solely cause it to fall out of compliance with the license. I suppose that the licensor could, if they chose to do so, specifically include terms to preclude the usage of the font on any sites hosted with "repository or other open file listing indexes", or any other similarly restrictive arbitrary terms.

0 - [https://pages.github.com/](https://pages.github.com/)

<comment><USER3> The license I linked expressly forbids "distribution of the fonts through file sharing services and online version control repositories accessible by the public"

It would be the same if you publicly hosted a zip file containing your site's contents, including the fonts. Or offered an open read-only FTP account to your /web/ directory. Or any number of ways to make the font available publicly that isn't via a web browser making a request triggered by a CSS rule.

If it's a _private_ repository, I expect you'd be in the clear, since it's just acting as a very fancy webhost, and you can obviously upload your fonts to your webhost.

<comment><USER4> Indeed, it does. :)

In that case, it seems as though the rights-owner should simply take the standard route (even if suboptimal) to enforce their rights -- given the volume, they could likely work out a much better way to protect their IP (or automate it, in the worst case).

I'd be a little bit surprised if they cared a whole lot, given that finding the fonts is trivial for the reasons stated above. Almost comes across blog- spammy at that point, heh.

</comment></comment></comment></comment></comment><comment><USER5> What's the difference between putting webfonts on your public website vs putting them on your public github? This seems like a distinction that only lawyers would care about, but I'm not a web developer (and I don't know much about webfonts) so maybe there's something I'm missing.

<comment><USER6> IANAL but I believe you may have a license (paid money) to use the font on your site but you may not have a licence redistribute the font. You paid for the right to air the latest UFC fight at your bar but that doesn't grant you the ability to sale DVDs of it.

However a user of yours could just download the font from your web server or record the fight on their phone.

<comment><USER7> But it's not like a webpage renders an image for you and then you rend an image: you send the user a font so that they can render the page themselves with that font. It's being distributed either way.

<comment><USER8> Correct. Article OP is making the argument for a font to be treated as a secret when it is not a secret. Intent and context is important; users aren't putting them up on torrent sites in this case, but simply storing them alongside the rest of their assets in source control.

EDIT: TLDR Downloading a publicly available font you don't have a license to use violates copyright.

<comment><USER3> Accidentally exposing a folder of copyrighted font files over FTP would probably technically violate the license, even if it was by accident. You're serving the files outside of the licensed use (serving and rendering a webpage).

Same as if you accidentally exposed to the internet your home server of legally-created DVD backups. You'd still be violating the license under which you bought the DVDs.

<comment><USER8> Show me an attorney willing to pursue accidental violators for damages, especially when the asset in question is intended to be publicly served in the course of its use.

I would genuinely be interested in case law's stance on this. Also interested in what happens to the value of non-public domain fonts if you require the digital asset to be handled as a secret (and all of the hassle that goes along with that).

<comment><USER6> >Show me an attorney willing to pursue accidental violators for damages, especially when the asset in question is intended to be publicly served in the course of its use.

There are some pretty sleazy lawyers out there.

[https://www.huffpost.com/entry/grandmother-sued- downloading-...](https://www.huffpost.com/entry/grandmother-sued-downloading- porn_n_900484)

<comment><USER8> Usually the sleaziest are dealt with accordingly, but it is a fair point. Anyone can be sued for anything.

[https://arstechnica.com/tech-policy/2019/07/prenda-law- porn-...](https://arstechnica.com/tech-policy/2019/07/prenda-law-porn-troll- saga-ends-with-prison-for-founder/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Wait until they find out that when people visit the finished website in their browser, it will download the font! Oh the piracy!

Just like in the real world, someone handing you the keys to their car doesn't mean you own it.

<comment><USER10> The legal issue is with the repo owner putting it in the repo. The problem is that it's a violation of the copyright _license_ , that's the only reason it's an issue. Downloading the font file from the website is included in the license, so it's fine.

<comment><USER11> If the repo is the source for the website then the license is de facto forbidding people from open sourcing their websites if they pay for a font for it.

However the license does not explicitly limit the tools you can use to build the website, and the website is allowed by the license to have the font. The argument could be made by licensing the font for a website they have implicitly licensed it to be on github because it is a widely used tool for managing the source code of websites and if they (the font owners) wanted to restrict its usage they should have specified.

<comment><USER12> Either: You can open source the website without the font and say you open sourced your website, or if you consider the font part of your website, it means your website isn't open source... even if you put it on GitHub. Because it's a copyright violation for someone to use that font.

Your best bet is to just use open source fonts, of which there are numerous.

<comment><USER11> I think in the end as to whether or not you can put the font in your website and have it public on github (which is not necessarily the same as not encumbered by licensing issues) will need to be determined by the courts when and if someone wants to test the issue.

<comment><USER3> What if the license explicitly forbids you putting it on GitHub? [https://processtypefoundry.com/help/base/webfont-license- agr...](https://processtypefoundry.com/help/base/webfont-license-agreement/)

<comment><USER11> if the license explicitly forbids it you better not do it as I noted above. but if the license does not explicitly forbid then I think you have an argument that putting your website code on github is pretty common practice.

<comment><USER3> By default you don't have any distribution rights _at all_. None. You just have a bare font file that you can't share with anyone else.

That's not very useful, so the license says "you may distribute this font file as part of a website; you must be using this font to style a webpage. Any other kind of distribution at all is still prohibited." There's no "common practice" exception- just because they open up a little window that allows you to distribute the font in a particular manner doesn't mean they've accidentally given you the right to distribute it according to "common practice."

Sharing MP3s on P2P sites is also a common practice, but obviously you don't have a license to do that when you buy a CD.

<comment><USER11> well I'm not a lawyer, and my American business law classes I took are now more than 20 years ago, but as I recall there are common practice defenses if those practices are in relation to something the contract allows you to do.

So the argument would go as follows:

the contract says "you may distribute this font file as part of a website; you must be using this font to style a webpage. Any other kind of distribution at all is still prohibited."

We have used this font to style a webpage, as is industry practice we have placed the font in our site code, which is stored on github, which is also the most widely used tool for distributing website code. The website code must be distributed in order for the purpose of the license to be fulfilled - obviously the font cannot be distributed as part of a website if the website itself is not distributed.

At that point the court will have to determine what distribution of a website means, if the font to be distributed as part of the website means that the website will need to be distributed, and if github is so commonly used that the license giver neglecting to mention it have given tacit approval to its usage.

Aside from all this if one wanted to contest the issue the court would have to determine if the font being in your github repository is you distributing it just because someone else can fork it. For another silly analogy, just because you put your beer on the table, walked outside, and a kid came in and drank the beer, doesn't mean you sold liquor to a minor.

Perhaps I'm wrong but it doesn't seem as open and shut as everyone wants to argue, unless there is specific prohibition of github in the license in which case there is no longer a case to be made.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> Funny story, I was working with an enterprise-sized company, a major telcom, and we found out that we had used the "wrong" version of the font everywhere. The original font was like "My Font" and the font we had used was the "Pro My Font" that had a bunch of extra symbols and such in it and was higher-priced. But we used it everywhere, for years. And it would have been a huge hassle to change it all. So we emailed the designer and were like, "Look, we didn't intend to screw you, but we also didn't really budget the $450k in estimated licenses we'd need here... how about we pay you like $30k extra and call it good?"

Anyway, long story short, the small-time designer guy was thrilled to get $30k, and turns out he wasn't at all even monitoring for pirated versions of his font anywhere... he didn't have any idea who had bought his font, so to him it was just some random big company offering to give him free money. The places that sell fonts should do a better job of passing on payment (obviously) to designers, but also a list of who bought their fonts so they can take some pride in knowing where their designs are being used.

</comment><comment><USER14> Interestingly, typefaces are not copyrightable in the US, though fonts, being computer code, can be. Not sure how this influences the situation, though.

<comment><USER15> Wouldn't it then be legal to make your own font (so you own the copyright on the computer code) representing a commercial typeface?

<comment><USER16> Yes. That's why Windows bundled Arial instead of Helvetica. Although the design of Arial is slightly modified, it's fundamentally a straightforward Helvetica clone with metrics compatibility (you can plug it in a layout in place of Helvetica and not break anything).

<comment><USER7> You have it wrong. Arial was created to not have to bother with _international_ typeface laws as a legally distinct Helvetica. Apple just paid the licensing fees in those countries where they were required to.

<comment><USER17> You are both right:

[https://en.wikipedia.org/wiki/Helvetica#Arial_and_MS_Sans_Se...](https://en.wikipedia.org/wiki/Helvetica#Arial_and_MS_Sans_Serif)

</comment></comment></comment></comment></comment><comment><USER18> Been doing searches for "site:github.com <fontname>.ttf" for years.

This is a feature not a bug.

<comment><USER19> Yikes. You ever try making a font? Do you know how many hours it takes and what kind of profit margins you're eating into?

<comment><USER18> The profit margins we are eating into is exactly ZERO. Why? because if most of the time i need to actually pay for it, i'll just use the cheaper alternative: Google Fonts.

There will be times when I need to use this font and make something that will go live. That's the time to buy a font.

If font making is not profitable, then don't make fonts.

<comment><USER19> This attitude is absolutely bonkers.

Someone is making a product and telling you what you can and cannot do with it, and then you decide that none of that applies to you, because...I don't know, you're entitled to use it if you happen to see it?

"There will be times when I need to use this font and make something that will go live. That's the time to buy a font." \- that depends on the license that the font foundry grants you.

"If font making is not profitable [due to lost sales via piracy], then don't make fonts"...some kind of mental gymnastics there. "I will take freely from you and if you can't afford to let me do that, it's your fault for making it in the first place" is a tough ground to stand on.

<comment><USER18> Most of the people who are taking your fonts are also making a product. We understand the need to make a living and the difficulty of making a product. I hope you get paid for what you do but you don't get to decide the market size for your product when it is a digital good. The market does.

There is a market for paid specialty fonts used on a website. People should pay for that. However, there is not much of a market for paid fonts used in Sketch when developers and designers are testing out different concepts they MIGHT use in production. You complaining that you are failing to monetizing off that non-existent market is completely bonkers for me.

The ground I stand on is reality. You're living in a fantasy land where musicians still get paid big dollars for records and where journalism is a lucrative career.

<comment><USER19> > You don't get to decide the market size for your product when it is a > digital good. The market does.

"It's easy for me to acquire content against the content creator's wishes, therefore I should dictate the market."

> There is not much of a market for paid fonts used in Sketch when developers > and designers are testing out different concepts they MIGHT use in > production.

Never said there was. There's an easy solution: don't take a font that doesn't belong to you.

This all boils down to "I want something and don't want to pay what the creator thinks it's worth." It's disrespectful, and it's straight-up entitlement. Just don't use the font. Nobody owes you a particular typeface.

> The ground I stand on is reality.

The reality is that it's easy to do the wrong thing here, so you do it, then try to pretzel your way into thinking that it's not morally wrong. Think someone's overcharging? Then don't buy the product.

<comment><USER18> The reality is that most people like myself are continue to do this regardless of your morality rant. The problem is that your morality argument is based on licensing terms and the legal system. The internet has its own morality that is somewhat untethered to legality: use what you can get, pay for what you feel you should. You can claim that this violates copyright or morality but people vote with their clicks and git clones - there is nothing you can do to change that.

And you can scream and write these type of blog posts all you want but really it just ads to the Streisand effect. You think this blog post net increased or decreased the awareness and use of github as a source of fonts?

<comment><USER19> > The internet has its own morality that is somewhat untethered to legality: > use what you can get, pay for what you feel you should.

I see you chose more of a passive tone here, as though you're just a cog in the machine, totally helpless and unable to take action on your own.

The Internet is what people make of it, in part based on the sum of individual choices.

> And you can scream

Not screaming.

> it just ads to the Streisand effect

Possibly. Maybe it alerts GitHub devs to the problem and they try to come up with a solve. If font creators read it, they can work with repo owners to get things in order. For my part, it pointed out a problem that I can take steps to mitigate in the future with my own repos.

Anyways, obviously I can't stop you or anyone else from taking digital goods at will. But in part, I wish that people would be more transparent about their motives instead of talking themselves into thinking that they're not actually doing something wrong.

Just say "I take things that don't belong to me because I deserve to have them, it's easy to do so, and I won't get in trouble". At least it'd be an honest assessment.

</comment></comment></comment></comment></comment></comment></comment></comment><comment> open-source-ux What a depressing thread. The general consensus (at the time of submitting this comment) is that posters don't care if commercial fonts are hosted on GitHub in violation of their licence.

Many professional fonts are the work of a single type designer who may have spent thousands of hours creating the typeface. Modern typefaces can have a dozen or more weights and hundreds of glyphs.

It's hard work and time-consuming to create a professional type family. It's depressing to come here and see how little people care for the work of other professions.

<comment><USER20> Nobody is entitled to a flawed business model. Not developers of proprietary software, and not designers of proprietary typefaces.

</comment></comment><comment><USER21> I've been doing this for years -- Its a PIA dealing with each font foundry's DRM system and getting it to work on my local dev environment. When I go live, I deal with it but its also such a hassle to get clients to pay for a font, give me the required info to use the foundry's DRM, etc. I bet if a foundry used an honor system (give fonts away for free, charge a per-site license for commercial use) they'd still make a profit and not have to deal with complex DRM systems (and make it more likely for designers and developers to use their fonts).

<comment><USER22> Wait, this is a thing?

If I were ever asked to install some DRM to render a font I'd nuke that thing from my system in a heartbeat.

<comment><USER21> I use the term DRM loosely (possibly incorrectly!). What I mean is that most font foundries make you include a CSS or JS file that only loads the requested fonts for a domain or domains you specify in their backend.

</comment></comment></comment><comment><USER23> I'm guilty of having searched GitHub's repositories for fonts I like. Using them for personal projects and wouldn't mind paying for a license if I end up loving it.

Though, it begs the question: who and how will find out that you simply borrowed the font?

<comment><USER24> They can and do find out.

I used to work for a company that got hit up by Monotype for a six figure fine to pay for using one of their fonts. The previous head of design hadn't bothered to sort tricky things like paying for fonts, mainly, I think, because he knew senior management wouldn't spring for it.

We switched them out for free alternatives and negotiated down the fee, but they still had to part with a good amount of cash.

<comment><USER25> Companies which depend on IP trolling for their primary revenue always end up being extortionists who drain society without producing further value.

<comment><USER24> As one of the world's largest type foundaries I wouldn't say that Monotype doesn't provide value.

They had us bang to rights for using one of their fonts on a site with over 1bn annual pageviews without a licence.

</comment></comment></comment></comment><comment><USER26> Let's all just take a moment to remember that the design of fonts (in the US) is NOT copyrightable. The only reason vector fonts are copyrightable at all is a raging dumpster-fire called Adobe v Southern. [1] [2]

The case itself says this: "defendants contend that the numerical reference points that define an outline of a glyph are unprotectable as a matter of law" but then "the court finds that the Adobe font software programs are protectable original works of authorship."

Note: when they say "font software programs" here, they simply mean a vector (say, ttf) font file rather than a bitmap (say, bdf or pcf) font file.

David 'Novalis' Turner probably put it best when he wrote this: "A font face -- that is, the look of a font, is not copyrightable... But font 'programs' (truetype fonts, for example) are. Another ruling has extended the definition of 'programs' to include certain outline data. Why this outline data is not equivalent to a font face, nobody knows." [3]

[1] [https://web.archive.org/web/20100522133154/http://lw.bna.com...](https://web.archive.org/web/20100522133154/http://lw.bna.com/lw/19980303/9520710.htm)

[2] [https://en.wikipedia.org/wiki/Adobe_Systems,_Inc._v._Souther...](https://en.wikipedia.org/wiki/Adobe_Systems,_Inc._v._Southern_Software,_Inc).

[3] [https://www.fsf.org/blogs/licensing/20050425novalis](https://www.fsf.org/blogs/licensing/20050425novalis)

</comment><comment><USER27> Github is home to a ton of pirated content. Including closed source binaries repackaged in violation of the publishers' licenses. But Github won't do anything unless the copyright-holder submits a DMCA takedown notice.

<comment><USER28> As it should be! That's the most beautiful part of the DMCA, allowing sites to operate without having to police every bit of user-uploaded content, only requiring that violations are removed after having been alerted to them.

Could you imagine an upload filter or moderation queue before you were allowed to push code to GitHub?

</comment></comment><comment><USER29> Yeah I'm a big fan of people's dotfile directories for trying out fonts. I remember some HN discussion about a proprietary font that was pretty good for programming. I was on the fence on whether or not I wanted it, just by looking at screenshots. So I used Github search to find someone that dumped it in their home directory, downloaded it, and tried it out. I hated it! So I saved money thanks to this piracy. (I use Iosevka now. Wow it's good.)

</comment><comment><USER30> Don't PDFs and Word documents embed fonts, too?

<comment><USER3> Yes, and if you embed a font that you licensed as a webfont, you've violated the license. [https://processtypefoundry.com/help/base/webfont-license- agr...](https://processtypefoundry.com/help/base/webfont-license-agreement/)

<comment><USER30> My point is, if you have a desktop license (which is fine to use in print) you'll be "redistributing" it in much the same way as a website which uses @font-face and serves you the font files.

<comment><USER3> Well the difference is that the license will actually say that you can embed the font in documents you produce. As far as the license is concerned, emailing a document with the font embedded is a different thing from zipping the bare font and sharing it on BitTorrent is a different thing from embedding it on a webpage. You can burn a CD with your documents on it and share it, you can't burn a CD with a bunch of bare font files and share that. Even if the same exact bits end up written to the CD in both cases.

The technicalities, as far as the license is concerned, are not really the point. It's not about whether you're physically sending the bits of the font over the wire, but the whole context in which you're doing it.

</comment></comment></comment></comment><comment><USER31> I've always found it interesting how the term "piracy" has been mostly unquestioningly accepted by the media as the appropriate term to use for copying, which arguably doesn't steal anything (unlike what has traditionally been known as piracy before the digital age).

<comment><USER32> Sharing is an even better term than copying; spreading information like this actively creates value by exposing more people to these ideas and designs.

Not that I don't think the foundries should get paid for their work - I don't have a fully formed opinion on this. But there is a definite upside to sharing information freely, and this is better than mere copying.

<comment><USER33> Just like all software, there's a lot of Free Software fonts and that's not incompatible with money.

For example, back in 2012, I supported three SIL OFL licensed fonts on Kickstarter:

[https://www.kickstarter.com/projects/typesenses/font- design-...](https://www.kickstarter.com/projects/typesenses/font-design- euphoria-script) [https://www.kickstarter.com/projects/impallari/fast-brush- sc...](https://www.kickstarter.com/projects/impallari/fast-brush-script) [https://www.kickstarter.com/projects/marcelommp/folk-is-a- gr...](https://www.kickstarter.com/projects/marcelommp/folk-is-a-great-font- lets-complete-it)

</comment></comment></comment><comment><USER34> There should be a (2017) in the title. Thought this was something new.

</comment><comment><USER35> I get why they're worried but really the problem started with web fonts.

The font file is published on the web page itself, just like the images, CSS, etc. So everybody could already grab it from the web page itself, and in fact this is what the browser does automatically, in order to render the font. It's the whole point.

It doesn't really matter if it's committed to public github.

</comment><comment><USER36> I wonder what would happen if the copyright holder of helvetica sent a DMCA notice to github.

<comment><USER37> Well, this repository mentioned in the article comments got DMCA'd: [https://github.com/r4in/typefaces](https://github.com/r4in/typefaces)

</comment></comment><comment><USER38> This is kind of an adjacent question, and likely a very basic one, but if I wanted to avoid linking out to a web font repository by properly licensing one and self-hosting it, what even _is_ the correct procedure?

</comment><comment><USER39> Why not fetch the fonts from the source they list as a part of the build process?

That way you aren't distributing but pointing the interested ones to the source website.

Or am I missing anything here?

</comment><comment> King-Aaron Wow, I never thought of stealing fonts via github.

Thanks, Barbra Streisand.

</comment><comment><USER40> Ironically I found the typeface of this post to be poorly rendered, distracting and less pleasant to read than the usual web fare.

</comment><comment><USER41> Ah the old archaic copyright system butting heads with reality.

</comment><comment><USER42> This article is: 1) pedantic 2) wrong 3) about fonts 4) written by a copyright narc

I simply do not understand its presence or popularity here.

</comment><comment><USER43> Is this "piracy" in the sense of Disney's "Pirates of the Caribbean?"

Like, Github is taking an niche subject matter, packaging it up for a more general audience, and then distributing it worldwide?

<comment><USER44> No? This is taking copyrighted material owned by somebody else and distributing it to people that haven't paid for it.

<comment><USER45> From a legal standpoint, based on the article most of these developers are keeping the fonts in their assets (debatable if this is good or not).For public repositories, not to be malicious and be offer free fonts... How much trouble would they be in?

I Assume this is probably possible for FontAwesome premium icons as well ?

Having the server host the assets is probably the best solution (same rep) but if it's not in Git then it needs to be managed in the build for other open source developers. What's the _Correct_ way of handling this situation?

<comment> yjftsjthsd-h > it needs to be managed in the build for other open source developers. What's > the Correct way of handling this situation?

I would rather expect an open source project to use open-source fonts in the first place, not least because it makes this precise problem a non-issue.</comment></comment></comment></comment>


PayPal Beacon - <AUTHOR> https://www.paypal-forward.com/mobile/paypal-beacon-finally-an-easier-way-to-pay-in-stores-than-swiping-a-credit-card/ <comment><USER2> One thing PayPal is good at is bringing things to the masses. I recently worked at a small (3 person) real estate office and it was amazing just how empowered they were because of PayPal. They were able to use receipts, handle payments internationally, and much more all thanks to PayPal.

I'm extremely excited for this. While Square and others have made progress, PayPal is a household name and it can make waves like many others can't.

</comment><comment><USER3> I'm afraid that this "verbal confirmation" will not happen and you will be prematurely charged.

<comment><USER4> Fair concern, but Paypal is quite excellent at clawing back money from vendors, and I think that the fact that this actually requires a physical location decreases the fraud potential somewhat.

</comment></comment><comment><USER5> https fail [http://i.imgur.com/dqvfdOH.png](http://i.imgur.com/dqvfdOH.png)

<comment><USER6> can you explain why this happens and how to fix it? I have seen this before somewhere but can't recollect.

<comment><USER7> Are you referring to the 2 errors on top? Aren't those same origin errors?</comment></comment></comment>


Bug: Office chair turns off monitors - <AUTHOR> https://support.displaylink.com/knowledgebase/articles/738618-display-intermittently-blanking-flickering-or-los <comment><USER3> Only related, but the Apple Lisa had a capacitance keyboard and we had one of the original demo units in our computer store ... but we soon discovered that with hands on the keyboard, random characters would be 'typed' sometimes. Trying to solve this mystery we checked connectors, outlets, building earth grounds. Finally we were picking up the table it was on and sliding it around the room. We found a position in the middle that seemed to minimize it but for certain people at certain times, the ghost typist would jump in and add things to what they were typing.

Next day I was experimenting on an empty document with my hands resting on the keyboard watching ghost characters appear. A radio was tuned to 1000kHz AM and someone was speaking. The rhythm of the words was a perfect match. Jingles and music generated a continuous stream of gobblegook. Not surprisingly, the station's transmit tower was ~1000ft from our building.

I ran a ground wire to the table and while holding it the ghost typing stopped. We replaced the chair with an all-metal folding chair with ground wire attached, so as we demo'd the machine customers would not experience the problem while they were sitting on it.

<comment><USER4> There's one lesson here about debugging problems with unintuitive solutions.

There's a second lesson here about not trusting sales people.

<comment><USER3> It turned out to be un-sellable, not even one unit sold. It was smooth and pretty but everyone was already used to the choppy but crisp and fast CRT block fonts and static character arrays of the era for text apps. AutoCAD people were already used to the characteristic 'redraw and blink' stuttering behavior of other computer brands' graphic cards and high resolution displays, which typically displayed on their own additional monitor.

With its extremely high price point and crude software available Lisa was unable to win anyone over.

</comment></comment></comment><comment><USER5> I've actually seen this before where a board would run all night with no problems but as soon as someone was sitting next to it in a pneumatic office chair, it crashed.

Drove everyone mad until someone figured out it was the chair itself.

</comment><comment><AUTHOR> tweet w/ video: [https://twitter.com/royvanrijn/status/1214162400666103808?s=...](https://twitter.com/royvanrijn/status/1214162400666103808?s=21)

</comment><comment><USER6> How does sitting on a gas lift chair generate an EMI spike (per the article)? The metal piston sliding an inch or two inside the cylinder collar is enough? Or is the hydraulic fluid itself metallic?

<comment><USER7> The article cites/links-to a whitepaper from 1993 on the topic of EMI producing furniture. I haven't actually _read_ the whitepaper myself, but there might be more information in there....

<comment><USER8> The paper is mostly about measuring the magnitude of the EMI. They observe that dry air and metal legs are required, but not much more than that - <USER2> don't think they mention gas lifts at all. The last few paragraphs have some guesses but they basically said that finding the cause is for future work.

<comment><USER9> It said a cushion, so maybe it's a static charge in combination with the legs as an antenna?

I remember during cold winter weather, with single digit humidity, sliding off a fabric car seat would cause you to get shocked when you touched something.

</comment></comment></comment></comment><comment><USER10> I actually see this on my home Dell 4K connected to a MBP13 via Thunderbolt to DP. It happens when I'm not using a chair (adjustable desk) but now I'm going to be very observant when sitting down. I'd lean towards my cable being the issue however.

</comment><comment><USER11> I saw this as an intern working on internal dev boards for some wireless gear. A coworker had set up some debugging tool to trigger a pin on some condition and it was being set off whenever he sat down in his chair.

I don't think we ever found a work around.

</comment><comment><USER12> Huh. I've heard of PEBCAK errors, but this is the first PEIC I've seen.</comment>


Show HN: Kim – A Python serialization and marshaling framework - <AUTHOR> http://kim.readthedocs.io/en/latest/ <comment><USER2> We are really looking for serialization libraries that will work with pandas and scikit.

This stuff is really all over the place - PMML, Arrow, Dill, pickle.

Some stuff won't work with one or the other. I will actually _pay_ for consistency versus performance.

There are way too many primitive serialization libraries. Surprisingly none for the higher order ML, etc stuff.

Give the kind of people behind Arrow, I would love wrapper that will use Arrow to do all of this...But doesn't matter at the end of the day.

<comment><USER3> Python's data infrastructure has a huge problem: serialization and thus saving data results.

A good serialization library should serialize:

      - classes/objects (best practice: objects for holding data)
      - pandas/numpy objects (must have: minimizing space)
      - namedtuples (currently: a mess, factory implementation)
      - dicts and lists of dicts (must have: space efficiency)

Compare to Matlab: save(f, 'anyobject'); anyobject=load(f)

Python is terrible at this and it limits use in real data analysis environments and limits competition with matlab.

<comment><USER4> > Compare to Matlab: save(f, 'anyobject'); anyobject=load(f)

If you want matlab files in Python you can use `scipy.io.loadmat('file.mat')`. PyTables (built on hdf5) is a better solution since the hdf5 format is a lot more flexible than matlab's (ime). But Parquet is looking to be the best solution moving forward as it's gaining a lot of mindshare as the go-to flexible format for data and will be / is used in Arrow.

But really, Matlab is on par with pickles when it comes to serialisation. It's a trap solution.

<comment><USER5> Actually, since Matlab v7.3, .mat files are actually hdf5 files.

</comment></comment></comment></comment><comment><USER6> I'd like to congratulate the authors regarding the clever naming. I totally get the Eminem's reference.

Disclaimer: Posting this comment because my colleague pointed out that I could get some points.

<comment><USER7> Kim: A JSON Serialization and Marshaling framework that Mathers

</comment></comment><comment><USER8> Cool project!

In the case of serialization libraries,unless you are validating as part of your (de)serialization, I'd recommend avoiding schema-driven serialization libraries. These Kim-like libraries, such as Marshmallow, introduce quite a bit of overhead. If validation isn't required and performance matters, I recommend choosing a lighter-weight serialization/marshalling alternative, such as that provided by asphalt-serialization: [https://github.com/asphalt- framework/asphalt-serialization](https://github.com/asphalt-framework/asphalt- serialization)

Asphalt-serialization supports cbor, msgpack, json, ... and is easy to wire up

This recommendation is based on my own experience using Marshmallow for Yosai, analyzing its performance and then refactoring to a ported version of asphalt- serialization.

<comment><AUTHOR> Hey Dowwie!

That's a great point and an important distinction to make. As I mentioned in some of the other comments, we have certainly been focussed on features over performance so far but we are actively working on dramatically improving the performance of Kim.

I guess it's almost important to pick the right tool for the job. Thanks for sharing the link to asphalt too. I'd not see that before.

<comment><USER8> Keep up the good work, Mikey. :) See you at PyCon, maybe?

<comment><AUTHOR> One of the engineers from our team is going to be there for sure. Im certainly keen to go so fingers crossed.

</comment></comment></comment></comment><comment><USER9> I added Kim to my ongoing set of python serialization framework benchmarks here is how it ranks.

      Library                  Many Objects    One Object
      </comment><comment></comment><comment></comment><comment>---  </comment><comment></comment><comment>--  </comment><comment></comment><comment>
      Custom                      0.0187769    0.00682402
      Strainer                    0.0603201    0.0337129
      serpy                       0.073787     0.038656
      Lollipop                    0.47821      0.231566
      Marshmallow                 1.14844      0.598486
      Django REST Framework       1.94096      1.3277
      kim                         2.28477      1.15237

Comments on how to improve the benchmark are appreciated.

source: [https://voidfiles.github.io/python-serialization- benchmark/](https://voidfiles.github.io/python-serialization-benchmark/)

<comment><USER10> This is brilliant, exactly what I was looking for. I did a profile recently on some API calls and found that 40-50% was being spent on serialization with marshmallow, which I'm looking to drop.

I'll be doing this stuff for myself, but would you be curious in having:

a) Support for lima: [https://lima.readthedocs.io/en/latest/](https://lima.readthedocs.io/en/latest/)

b) more benchmark cases (serializing a larger list of objects)

</comment></comment><comment><USER11> Nice, but I recommend closing issues [https://github.com/mikeywaites/kim/issues](https://github.com/mikeywaites/kim/issues) which have fixes (some of them show 'merge'). It's one thing I as a user look at choosing whether to adopt a project or not.

<comment><AUTHOR> absolutely. Im a bit annoyed at myself that I hadn't got round to that yet but thanks for raising it.

<comment><USER11> I will submit a PR for some doc fixes :-) on the way look out next 24 hours! This is an awesome project for a couple years, great run!

</comment></comment></comment><comment><USER12> It does look like marshmalllow[1]. How does relate Kim with it?

[1]: [https://github.com/marshmallow- code/marshmallow/](https://github.com/marshmallow-code/marshmallow/)

<comment><USER13> Obviously no OS developer owes anybody an explanation, but man would I appreciate if more projects had a "why you should use this over related projects" (like e.g. pendulum does [https://github.com/sdispater/pendulum/blob/master/README.rst...](https://github.com/sdispater/pendulum/blob/master/README.rst#why- not-arrow))

<comment><USER14> I know the pain of searching for software to meet your requirements. But unless you have a friend you can really trust to provide informed recommendations, nobody can take this pain away for you.

If all require projects to say negative things about other people's projects while talking up their own, a lot of projects are going to distort the facts. In the end, if we don't have the ability to evaluate the software ourselves, then all we are measuring is who can shout the loudest and who is the most aggressive against other projects. Quiet projects will still be good, but now those would be overlooked even more because they aren't shouting. With this requirement you are making your life easier but you are making life harder on open source developers by forcing them to deal with unnecessary inter-project drama and to divert lots of effort into marketing that could have been put into code. That might make sense in proprietary products, but in open source this kind of demand just hurts the ecosystem.

If the pain of choosing is too much then choose something that is standardized, or the most popular thing, or what your trusted friend recommends. People will seek out the very specific projects they need. If you don't even know why you are using something, it isn't the responsibility of someone else to tell you why you are using it!

<comment><USER13> I think you're right, when actually using it for production software it's probably wise to not be a trailblazer :)

For me this wish for a comparison (that I'd love to be objective and in god spirit of course - naive?) is probably coming more from "shopping around" between projects. Or just when seeing a new thing on HN and wondering if I should investigate adding this particular thing to my toolbox.

</comment></comment></comment></comment><comment><USER15> Cool! Are there any speed comparisons available between this and marshmallow (or other alternatives)?

<comment><AUTHOR> Hi Siddhant,

We've not really dug into performance yet, though if you look at the last patch (1.0.2) we yielded a 10% speed up by removing an erroneous try/except block.

We've really focussed on features initially and performance is something we're actively researching now. Perhaps we can get some initial benchmarks together and share them with you this week. They will be useful no doubt as we start to plan a release focussed on speed ups.

Thanks for reaching out!

</comment></comment><comment><USER16> Can it serialize cycles?

<comment><AUTHOR> Hey Amelius,

thanks for the message. Gonna be honest, I'm not sure what you mean by cycles. Can you elaborate a bit?

<comment><USER16> Roughly speaking, by cycles I mean a structure that refers to itself somehow. For example:

        A = {}
        B = {}
        A["ref"] = B
        B["ref"] = A

So would it be possible to serialize A and B, and of course to deserialize them?

Note that

        print A

gives

        {'ref': {'ref': {...}}}

which is of course not a suitable serialization, since you can't recover the original structure from it.

<comment><USER17> Yes, this is possible as long as the second level nested object has a role to stop infinite recursion from occurring. Cycles are not automatically detected.

        class BaseMapper(Mapper):

            __type__ = TestType

            score = Integer()
            nest = Nested('NestedMapper')

            __roles__ = {'nested': blacklist('nest')}

        class NestedMapper(Mapper):

            __type__ = TestType

            back = Nested('BaseMapper', role='nested')
            name = String()

        obj2 = TestType(name='test')
        obj = TestType(score=5, nest=obj2)
        obj2.back = obj

        >> BaseMapper(obj=obj).serialize()
        {'nest': {'back': {'score': 5}, 'name': 'test'}, 'score': 5}

<comment><USER18> That's not a solution as it will not restore the same object graph, it will just repeat values.

One way is to to store a table of objects (as identified by id()) encountered during serialization, indexed by the order you encounter them. If you encounter an object you have already serialized, serialize an index into that table. On deserialization, construct the same kind of table, and deserialize an index with a reference to the same object.

See e.g. AMF for an example format that does this: [https://en.wikipedia.org/wiki/Action_Message_Format](https://en.wikipedia.org/wiki/Action_Message_Format)

</comment></comment></comment></comment></comment><comment><USER19> So this takes JSON and maps it to namedtuples?

Silly question, what happens with Unicode?

</comment><comment><USER20> I was just looking for something like this or marshmallow.

</comment><comment><USER21> why not pickle :) :)

</comment><comment><USER22> Sorry, I must be harsh. No.

This fundamentally doesn't offer much advantage over a .toJSON() instance method and a .fromJSON() class method.

Don't say "security-focused" if you can't handle cyclic object graphs.

<comment><USER23> Please elaborate on the reasons for your opinion :)</comment></comment>


How I built a Hacker News mobile web app - <AUTHOR> http://cheeaun.com/blog/2012/03/how-i-built-hacker-news-mobile-web-app <comment><USER2> Thank you for taking the time to share this so carefully. I think many people getting started in developing UI heavy applications fail to understand that it is all about solving many orthogonal problems, and to do each one carefully is what the job is all about.

People that lack this expectation replace it with the naive thought that there is a single library out there that can do it all for them, and they spend countless time finding it as opposed to breaking up a problem into smaller pieces and attacking each one.

You've consolidated many interesting techniques here, and it's a valuable resource not only in philosophy, but in general hackery.

Are you planning to flesh out the app more, say to allow users to login, comment, upvote?

<comment><USER3> Yeap, those will take some time since I'll have to store the username and password in the app. Still not sure how I should implement it.

</comment></comment><comment><USER4> This is impressive but it must be less work to just use Cocoa. Isn't the point of mobile web apps that they're cross platform?

<comment><USER5> Yes, it would definitely have been lesser work to just use Cocoa. And yes one of the main reasons for choosing mobile web apps is that they are cross platform.

Having said that, I still applaud the guy taking the time and ploughing in so much effort into something that he wanted to do. I appreciate the true hacker spirit in striving to create a webapp that looks and feels totally native. Kudos to the OP.

</comment></comment><comment><USER6> Great work and a fantastic writeup. One crucial interaction missing for the native scrollview feel is tapping the time in the status bar to quickly scroll back to the top. Does mobile safari expose that event?

Edit: it scrolls to top if you tap the navbar. The anim is a bit wonky, but it works.

</comment><comment><USER7> On a shameless plug note,check out HackerNode.A free iPhone/iPad/iPod app for all iOS(4.0+) devices.

<http://itunes.apple.com/us/app/hackernode/id473882597>

I pushed an update today which grey out visited links and fixes some bugs for the iPad interface.It should be approved in a day or two.

<comment><USER8> Just downloaded it. A couple of suggestions:

\- The design could use some tweaks. (Poor icons in the home screen, not vertically aligned title bar text, ugly "comments" title bar that scrolls with you, inconsistent orange color (click a link and you see the bottom bar is a different color to the top bar), puke color in the "pull to refresh", has a very non-native feel with the custom list view, awkward arrow that is low res in pull to refresh)

\- No comment indentation so everything is difficult to follow in the comments

\- No ability to login and comment?

\- Awkward click regions on the list view. It should only allow you to press on one or two buttons, but instead I can press on the timestamp, the comments, the title or the background. It should be clearer

It's really quick, though, and that's lovely. Keep at it!

<comment><USER7> Well..You do have an eye for detail.The title bar text is not vertically aligned indeed and I have missed it.

Login and comment will take some time, but I will try and see what I can do about the colors (especially the puke color on the drag refresh header!).

Thanks for the feedback!.Also please do check it out on the iPad.Thats where I have spent a lot of time.

<comment> slash-dot That's a good start and i like the UI. I had some issues on the iPad 2 where transitions weren't really smooth but kind of laggy. The comments could be better arranged (some kind of tree were not only the top-level comments are different). Ashamedlion does have a point about the weird colours and the few refinements. Still the best hacker news app i have tried and will be looking forward for updates. Keep up the good work!

<comment><USER7> Thanks!.For the comments I am going to draw the table separator in a way such that it shows the depth of the comment below it.I dont want to waste space on such a small screen.

</comment></comment></comment></comment></comment><comment><USER9> Impressing, but I can't see why people strive for native look and feel. Take a look at the Readability web app, it really doesn't feel like a website at all (somehow they remove the Safari-chrome on the iPad, anyone know how?). When you go for native theming, you will have to do it for each platform. It just feels weird to get and iOS menu on your Android.

<comment><USER9> The same is true for the Kindle web app: <http://read.amazon.com>

</comment></comment><comment><AUTHOR> Direct link to the web app: <http://cheeaun.github.com/hnmobile/#/>

</comment><comment><USER10> Hey, I build an Mac OSX menu tab app "wrapper" with @cheeaun code, check it out! [http://guidefreitas.wordpress.com/2012/03/04/hacker-news- men...](http://guidefreitas.wordpress.com/2012/03/04/hacker-news-menu-tab/)

<comment><USER11> Haha, that is great!

</comment></comment><comment><USER12> Looks awesome. That being said, it doesn't load at all under Android Gingerbread.

<comment><USER13> It doesn't load either on my Nook Color. Bizarrely, it seems to work fine on my Mac under Firefox...

</comment></comment><comment><USER11> Awesome! This is so far the most beautiful and readable HN App I have seen on the iPhone and iPad.

Except: There does not seem to be a way to post comments or to vote. Is there something I am overlooking?

</comment><comment><USER14> Doesn't scroll on my BlackBerry Bold 9900. The OS6/7 devices use a Webkit- based browser, so I'm a little surprised that Webkit-specific CSS didn't work, though that may have been only for Safari.

You've done an interesting thing, pushing CSS3 to replicate the iOS interface. But, why replicate the iOS UI in a web app? Web apps are supposed to be platform-neutral; a native interface shouldn't be part of that, in my opinion. Wouldn't a mobile-friendly stylesheet make more sense?

</comment><comment><USER15> Mobile web apps should work in more places than safari on the iPhone. Otherwise call it a "mobile safari app".

I tried the app in mobile Firefox, no luck. I tried it mobile Opera, no go. Also, I don't understand why anyone would use Apple's native interface graphics on purpose for a web app. I get why native dev it makes things easier to build than custom icons etc, but on the web, you are not on Apple's leash no more, be free!

</comment><comment><USER16> I think he might have saved himself a lot of work if he just read the official Apple guides on developing web apps for Mobile Safari: [https://developer.apple.com/library/safari/#referencelibrary...](https://developer.apple.com/library/safari/#referencelibrary/GettingStarted/GS_iPhoneWebApp/_index.html#//apple_ref/doc/uid/TP40008134)

</comment><comment><USER17> This is fantastic! Very well-designed and it is the best "fake" iPhone app I've used in terms of responsiveness.

</comment><comment><USER9> You should set the apple-mobile-web-app-capable meta tag:

[https://developer.apple.com/library/safari/#documentation/ap...](https://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/MetaTags.html)

<comment><USER18> You didn't read the article:

      > Tapping on links will launch Mobile Safari, which jumps
      > out of your standalone app. There's a way to prevent that
      > and make it load inside the standalone app, but since the
      > toolbar is gone, there's no Back button and you can't go back.

Unrelated note: what's best practice for quoting on HN?

</comment></comment><comment><USER19> Nice work. On my iPhone 4 it doesn't seem to stop loading..

</comment><comment><USER20> I understand wanting to use CSS b/c I've had to do similar things for mobile web sites.

However, if he's just developing for iOS, why not create a new web app in Dashcode?

</comment><comment><USER21> Tried it on a webOS phone. No dice =( Bummer.

</comment><comment><USER22> I learned some new stuff about CSS! Motivated to create my own mobile web app now. Thanks for the in-depth explanations.

</comment><comment><USER23> the -> a

</comment><comment><USER24> This reminds me of the Spartan project and all the money FB is burning to get around APPL policies. I think in the medium and long term this overly restrictive appstore strategy and the limitations of mobile webapps are going to backfire, similarly to how Nintendo's 3rd party policies of the '80s backfired soon after the NES. Initially it made a ton of money, but then it lost the market to the likes of Sega, Sony and MSFT.

</comment><comment><USER25> I've just finished using the tappable library the article references and found that it does work very well.

</comment><comment><USER26> If you add commenting this would be a complete replacement for desktop viewing of HN for me!

</comment><comment><USER27> This is a bit unrelated but anyone know which font is used in the website logo?

<comment><USER3> Graublau Sans.

<comment><USER27> Thank You.

</comment></comment></comment><comment><USER28> Great stuff! Thank you for the detailed writeup as well!

</comment><comment><USER29> The details are fantastic. Great work!

</comment><comment><USER30> Congrats! :D

</comment><comment><USER31> since we are on the subject -- what are the features you missing on HN the most?

<comment> why-el It might be just me, since I am a newbie, but how do people keep track of replies to their comments? The only thing that notifies me is a change in karma and then I hit my profile and browse my own comments. Is there another way?

<comment><USER32> Not that I know of. If you're anticipating a reply, you generally just have to remember to check.

Conversations between individuals are de-emphasized in exchange for content and a variety of ideas. I think the effect is good.

<comment> why-el I agree. What you said actually just happened. I remembered that need to check for possible answers to this to reloaded the page and came back here. I guess it's working for everybody.

</comment></comment></comment></comment><comment><USER33> Thanks for sharing this.

</comment><comment><USER34> so complicated

</comment><comment><USER35> Does anyone have a reasonable explanation as to why HN does not have a mobile stylesheet?

<comment><USER23> It's on our todo-list. It's just about #50.

HN is a side project. And what matters most about HN is content, not formatting. So this sort of thing is two steps removed from top priority.

<comment><USER36> I would be happy to provide one to you. Where do I submit a pull request?

By the way, one of the main reasons I bought an iPad stems from the fact that HN comments were so hard to read on my iPod Touch. And I'm a student who doesn't have a lot of money to buy every latest Apple gadget. So it is pretty important to me. ;-)

</comment></comment></comment><comment><USER37> Am I reading it wrong, or he's admitting that he's ripped off the images for his application right from Apple ? That's not exactly legal, in my book...</comment>


The Confessions of Marcus Hutchins, the Hacker Who Saved the Internet - <AUTHOR> https://www.wired.com/story/confessions-marcus-hutchins-hacker-who-saved-the-internet/#intcid=recommendations_wired-homepage-right-rail-popular_18126bb5-bb10-488c-bb96-0aed6351ef1d_popular4-1 <comment><USER2> [https://news.ycombinator.com/item?id=23152891](https://news.ycombinator.com/item?id=23152891)</comment>


Why basic security practices matter for everyone - <AUTHOR> https://about.gitlab.com/blog/2020/09/14/why-basic-security-practices-matter-for-everyone/ <comment><USER2> Clickbait title. This is a biographic interview, and at no point is the title question addressed. There is a single personal anecdote about a time they were hacked, and a single piece of extremely general advice to those writing software (to wit, "think about untrusted input").

<comment><USER3> Thanks, saved me some time.</comment></comment>


Bill Gates beats Obama to become the most admired person in the world - <AUTHOR> http://www.mirror.co.uk/news/technology-science/technology/yougov-most-admired-bill-gates-3011044

<comment><USER2> Whether or not it can buy happiness, money can buy adulation.

</comment><comment><USER3> A very short-term memory problem.</comment>


How to Crowdfund Your Startup - <AUTHOR> https://medium.com/@jproco/how-to-crowdfund-your-startup-d6e384aac318 <comment><USER2> The topic is highly interesting but the article lacks structure and the content isn't aligned with the heading.

I'd headline this "Some of my experiences with and thoughts on crowdfunding", instead of a "How-to."

Another option would be "What not to do when you seek to crowdfund your startup," as most of the subheads are "Don't do X."

I hope Joe writes more on the topic.

<comment><AUTHOR> Thank you. You bring up a great point and I really debated over the title. I think the mechanics for D&R are pretty well known and most people are aware that it's a marketing effort that needs the extra work. I also think that once we connect the mechanics of Investment Crowdfunding to traditional fundraising, those steps become clearer too. So I didn't want to rehash a lot of what was already out there. The questions I get all the time come down to "How do I get started on this?" So I tried to couch it as that. Hopefully, an entrepreneur who is interested will then choose their Kickstarter or whatever or find the right IC platform like the one I linked to. I will write more on the subject. Thanks again!</comment></comment>


The exponential function is a miracle - <AUTHOR> https://blog.plover.com/math/exponential.html <comment><USER2> This is such a weird thread. There are a bunch of people arguing about why their favorite math thing is more a miracle than someone else's favorite math thing.

Nothing is surprising if you've seen it before. Let's just let each other be excited about our favorite math, okay?

Euler's identity is the one that gets me:

        e^(i * pi) + 1 = 0

How can this be? The five fundamental constants are related!

<comment><USER3> > exp( _iπ_ ) = –1 ... _How can this be?_

The "plain English" expression of this formula is: a half turn rotation in a plane is equivalent to a reflection across the axis of rotation.

YMMV, but I have found that small children can understand this statement.

<comment><USER4> Talking about rotation as if that is obviously relevant completely skips the surprising and interesting part of this identity.

edit: Said another way, what you said is an explanation for what (cos(pi), sin(pi)) is. That exp(i*pi) has anything to do with sine or cosine is what makes the identity interesting, and your explanation says nothing about that.

<comment><USER5> Complex numbers are about rotation. That's the only odd insight in Euler's equation. Once you get that, it all falls into place (and in fact starts to explain all the use of complex numbers in engineering).

<comment><USER6> what does electric engineering have to do with rotation? Generators perhaps run in circles, an inductor is a coil often enough, but a capacitor?

<comment><USER7> Electromagnetism concerns movement of what appear to be moving circles. If you roll a circle with a pen marker it draws a sine or cosine curve. If you try to draw the spiral of a light wave you get perpendicular sine and cosine curves. Light is electromagnetic radiation and in turn both electricity and magnetism are fundamentally connected forces.

<comment><USER6> there is no "spiral of a light wave" lol. If anything, I'd think of transversal movement. Ironically I cannot say that nobody has ever seen a photon. But nobody has ever seen an electron. There could be a model in which electrons move transversal (at mm/s), mediated by photons, but I have not looked that closely into it. It's not part of the usual theories.

if you attach a pen to a hoop and move the hoop along a wall, you do not get a wave, you get (edit: what looks like but isn't) sharp discontinuity where the pen touches the ground ([https://google.com/search?q=cos%28x-sin%28x%29%29](https://google.com/search?q=cos%28x-sin%28x%29%29))

<comment><USER5> Circular polarized light is a spiral, at least in terms of how we normally draw the vector annotation.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> It is't the exponential function that's a miracle, it's the Maclaurin series. Think about it. The Maclaurin series says that in a very real sense, the value of a function at zero, and the value of all of its derivatives at zero, contains all of the information there is to know about it. Intuitively, this should be completely unexpected. Why in the world would the derivatives of a function evaluated at a single point tell you anything whatsoever about the value of the function arbitrarily far away from that point?

EDIT: as mentioned below, this is not true of _all_ functions, even all functions that are infinitely differentiable at zero. But it is true for very large classes of functions.

<comment><USER9> > Intuitively, this should be completely unexpected.

It actually makes intuitive sense to me. I like to think of it this way:

1) If we have the value of a function at a given point and we want to extrapolate the function's values before and after that point, we need to know how the value is changing at that point: the derivative.

2) But if that derivative isn't constant, that won't get us very far. We also need to know how the derivative is changing at the given point: the 2nd derivative.

3) But if that 2nd derivative isn't constant, that won't get us very far. We also need to know how the 2nd derivative is changing at the given point: the 3rd derivative.

And so on, potentially up to infinity. But once we take into account all of the derivatives, we know how the value of the function is changing _and_ how that change is itself changing, and as there is no additional change that comes "out of nowhere", so to speak, we have enough information to calculate the value at any other point.

<comment><USER10> But the problem is that the definitions of those derivatives are for infonitesimal change. What about far away points?

<comment><USER11> Far away points have properties resembling infinitesimally close points, as long as the function is continuous.

Now when there's a lack of continuity, then we run into a problem.

</comment></comment></comment></comment><comment><USER12> This is behavior that could be expected when you evaluate _any_ infinite Taylor series far enough away from where the series is centered. Denominators of a typical Taylor series are fixed and the numerators depend polynomially on x.

The post is definitely an interesting observation. I would chalk the miracle up to Taylor series and analytic functions in general, however.

<comment><USER13> I guess the miracle is that the series converges everywhere. For example, the Taylor series for log(1 + x) only converges for |x| < 1.

</comment></comment><comment><USER14> The exponential captures the idea of slowly perturbing an object by a small amount. Suppose you start with some object, perform some action on it, then add the result back to your original object. On a manifold you can't add objects together, but you can push your object a little bit along a tangent vector (think of the tangent vector just as the slope of a function at the point). If you just recursively do this operation, as long as the amount you push by grows smaller you end up at a well defined point. Effectively you have pushed a point 1 unit along a geodesic (locally shortest path). So you can define the exponential map in much more generality as a Taylor series for more interesting things than just functions on R. For example given a (matrix) Lie group G and its Lie algebra (actually the tangent space at the identity), the exponential map

      exp : g -> G

is defined by its Taylor series

      exp(X) = 1 + X + (1/2) X^2 + ...

(X is some n x n matrix).

<comment><USER15> Everything you said seems to be valid if you replace 'exponential' by 'f' where 'f' is any real analytic function.

<comment><USER14> First of all I was capturing the defn

exp(f) = lim_{n \rightarrow \infty} (id + f/n)^n,

but yes there are lots of other functions you can define more generally. The exponential just comes up particularly naturally.

<comment><USER15> Ah, I didn't realize that's what you were trying to say with the explanation at the beginning. Now your post makes more sense.

</comment></comment></comment></comment><comment><USER16> I'm late to the party. But let me offer first the finite-differences linear equation

        A[n]=A[n-1]*k

For A[0] = 1, the solution is the sequence

        1, k, k^2, k^3, k^4, k^5, k^6....

If we let k be the complex number i, this becomes

        1, i, -1, -i, 1, i, -1, -i, 1...

As you can see, the introduction of imaginary parts extends the original idea of powers-of-k (which if real go exponentially to infinity if k>1 and to 0 if k<1) to an alternating oscillatory pattern both in the real parts

        1, 0, -1, 0, 1, 0, -1, 0, 1

and the imaginary parts. What you're seeing there is almost the celebrated relationship between imaginary exponentials and sine functions.

Now: that was the _finite-differences_ linear equation. If instead we take the _differential_ linear equation

        f'(x) = kf(x)

we get the exponential function. Again, if k=i, you get oscillatory behavior.

</comment><comment><USER17> This is a special case of a more general phenomenon: quite a lot of probability density functions (of which the exponential function is an example) can be expressed as alternating sums containing huge combinatorial terms. As if by magic, the result is always between zero and one. It's actually a large headache for computations.

<comment><USER18> Huh? Probability density functions aren't bounded between 0 and 1. Their integrals are exactly 1, but that's considerably less interesting.

<comment><USER17> Sorry, you are right, meant to say cumulative density function. (Or survival function, as in the case of exp(-x).)

<comment><USER18> True, but this has never felt like math magic to me. Usually you come up with a magical function for the PDF or similar, and then normalize it so that the CDF has the right integral. That last bit is just drudgery, not magic.

If you're lucky, you can work with unnormalized distributions.

</comment></comment></comment></comment><comment><USER19> But this is the case for the polynomial approximation to just about anything. The individual terms yield wildly different numbers that cancel each other out, and individually they approximate the desired function poorly.

As a joke, a few years ago I created a polynomial approximation for Fibonacci.

fib(9) suddenly goes beserk and calculates the answer to life, the universe and everything!

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

<comment><USER20> You should approximate it with an exponential function. Actually, the nth Fibonacci can be obtained exactly by rounding an exponential function:

[https://en.wikipedia.org/wiki/Fibonacci_number#Computation_b...](https://en.wikipedia.org/wiki/Fibonacci_number#Computation_by_rounding)

<comment><USER19> I'm well aware of the closed form for Fibonacci since my undergrad days. This was produced as a kind of joke. I simply took the first several, plus 42 thrown in, and fit them to an N-th degree polynomial.

</comment></comment></comment><comment><USER21> This is a very poor description of this formula for e^x - it isn't a miracle at all that it converges!

It's pretty simple. The numerators are x^n. The denominators are n!. For any x, the denominators grow faster than the numerators, so it's no surprise that it converges. The ratio only starts shrinking when n > x but you can see that with high school math.

 _Somehow all these largish random numbers manage to cancel out almost completely._

No, they aren't "largish random numbers", it's just the ratio between two series, one of which grows asymptotically faster than the other.

<comment><USER22> Converging isn't a surprise. This giant mishmash somehow converging near zero is a surprise, and getting something with e is even more of a surprise.

Nowhere in the post does it express surprise about the fact that each series converges on _something_.

Separately, "largish random numbers" is a perfectly fine way to describe the start of the series, which is the most important part for influencing what it eventually converges on. Somehow despite each series getting increasingly enormous before dropping back toward zero, the convergence point ends up less and less perturbed by those enormous terms.

</comment></comment><comment><USER23> From my non mathematician view, it's not one function per se, but how they all fit together in an ideal framework.

</comment><comment> a-dub meanwhile, i just thought it was cool that you could draw a line where it's slope was equal to it's value.

</comment><comment><USER24> It's beautiful math, yes. But a miracle? I don't know.

</comment><comment><USER25> This seems intuitively obvious, not a miracle.

Take every other element in a series that has any regularish omnidirectional trend, alternate addition and subtraction, and you are quite likely to end up with a zero convergence.

<comment><USER15> I'm not sure exactly what you mean here but there I can't think of an interpretation that makes your statement close to being true.

e.g. 1+4-9+16-25+36-49=-26

</comment></comment><comment><USER26> That doesn't really show that it's amazing. You could say the same about x-x=0, even for large x. Or about any converging series. Unless all of that is amazing too - I wouldn't know, not being a mathematician.

<comment><USER27> You gave two scenarios which are worth addressing:

"x-x=0". Here we have two terms (x and -x). Their magnitude grows at the same rate, so it is not surprising that their difference is fixed and the two-term "series" "converges" to zero.

"Any converging series." Consider the exponential _growth_ function: e^x = 1 + x + x^2/2 + x^3/6 ... + x^n/n!. This grows fast, but we know that the factorial is super-exponential so the terms must approach zero for any fixed x. If the series converges (true though not obvious) then the value must increase very quickly.

Now consider the exponential _decay_ function. Unlike x-x, the terms are raised to different powers, so they grow at different rates. And unlike the exponential growth function, the series converges to zero in the limit.

The "miracle" is not the convergence but how it happens: terms growing in opposite directions at wildly different rates. It's as if a lopsided spaceship chaotically fired rockets at full power in all directions, and happened to stay exactly still.

<comment><USER26> I see, it's more amazing than my simple examples. But why is it more amazing as this presumably uninteresting series I just made up

sum(n=1...infinity, 1/2^n - 1/(2^n+1))

That also has alternating terms that grow differently in opposite directions and have huge numbers, yet they cancel out so that it converges to something. Is that uninteresting because each term in a pair has the same exponent, or because it doesn't converge to something that's closer to zero as something in the terms increases?

Maybe you can't easily just make up a converging series that has all the features they listed and that uniqueness makes it interesting?

<comment><USER15> I would say it's not as interesting because a high-schooler (or Pythagoras) could easily verify the fact AND they would easily be able to explain how you came up with that sum.

One of my metrics for determining if a fact F is interesting is if P(F) is much larger than V(F).

Here P(F) is, vaguely speaking, the amount of effort required to "explain" or "generalize" the fact, and V(F) is the amount of effort required to verify the fact. In the case of e^{-x}, each individual example can be verified by an elementary schooler so V(F) is very small. On the other hand, I don't see how you could explain the phenomena of convergence to 0 without teaching the elementary schooler a large part of calculus, so P(F)/V(F) is large.</comment></comment></comment></comment>


Can AI fix fake news? - <AUTHOR> https://unbabel.com/blog/artificial-intelligence-fake-news/ <comment><USER2> Ai, ai, ai! Color me cynical, but I think the malefactors will overtake the good samaritans of the AI-journalistic complex...

</comment><comment><USER3> I believe it will be helpful we keep developing fact-checking tools with AI. But the video side... It's scary. The implications there can be once AI keeps generating more and more fake videos from famous/important people are tremendous...

<comment><USER4> The videos are scary but still easy to distinguish from the real thing. Hopefully, as machines get better at creating them, they will also get better at identifying the fakes.

</comment></comment><comment><USER5> I have not yet seen AI doing fact checking, so AI cannot "fix" fake news.

</comment><comment><USER6> AI is fake news</comment>


Object of Intrigue: The Possibly Viking Runestone of Massachusetts (2015) - <AUTHOR> http://www.atlasobscura.com/articles/the-vikings-of-noman-s-land-island <comment><USER2> Coincidentally, there is a PBS program that premiers online tomorrow, April 4th, called "Vikings Unearthed" which discusses the likely discover of a new viking settlement much further inland. It will be broadcast on TV on PBS, Wednesday the 6th, at 9PM EST.

[http://www.pbs.org/wgbh/nova/ancient/vikings- unearthed.html](http://www.pbs.org/wgbh/nova/ancient/vikings-unearthed.html)</comment>


Is This The End Of SoundCloud For DJs? - <AUTHOR> http://www.digitaldjtips.com/2014/06/end-soundcloud-djs/ SoundCloud gives Universal the ability to remove music with no means of appeal or review. <comment><USER2> The full page pop up add is just amazing. I also love that if I browse with a smaller browser window then the add I can't close it.

Secondly it gets around adblock plus, AND my hosts file which is impressive.

Also escape doesn't close it.</comment>