HNHacker News
TopNewBestAskShowJobs

erlehmann_

534 karma · joined June 1, 2016

http://news.dieweltistgarnichtso.net/about/cv.html
submissionscomments
erlehmann_··on Why I Live in IRC (2015)
I use IRC over XMPP almost daily, with a transport that connects me to a channel and represents it as multi-user chat, like #maemo%irc.freenode.net@irc.netlab.cz.

The primary reason is that XMPP behaves really nice if the connection is spotty: When I am using IRC in a moving train, I almost never timeout even if the network is not reachable for minutes – and as soon as the client reconnects, I get all the messages from the chatroom.

erlehmann_··on The first version of Voxel Quest (with source) has been released
Thanks. I thought your web site was permanently offline!
erlehmann_··on 90-year-old Cryptanalytic Efforts Must Stay Secret, says NSA
Could you be more specific? If so, please be.
erlehmann_··on Hello from Orkut
In networked software, to be federated means users are able to send messages from one independent deployment to the other. In WordPress, this is achieved using linkbacks and feeds. So how would you define federation?
erlehmann_··on Hello from Orkut
The real federated social platform is WordPress, which has millions of deployments and serves a quarter of the most popular websites: https://w3techs.com/technologies/overview/content_management...

I still remember the time around ten years ago when a lot of people had independent blogs mostly free of clickbait and advertising. Nowadays, many post on social media only.

erlehmann_··on The first version of Voxel Quest (with source) has been released
Cmake is probably overkill. DJB redo can handle multiple dependencies easily. My implementation only depends on Unix standard utilities like stat and md5sum: http://news.dieweltistgarnichtso.net/bin/redo-sh.html
erlehmann_··on The first version of Voxel Quest (with source) has been released
As you seem to use shell scripts to build the game, I suggest to use redo, which provides dependency management for shell scripts: http://news.dieweltistgarnichtso.net/bin/redo-sh.html

Where can I find your code?

erlehmann_··on The first version of Voxel Quest (with source) has been released
Please do not use Bash, but Bourne Shell (sh). Bash-specific shell scrips are more complex and slower than sh and not portable. Bourne Shell scripts run unmodified in Bash.
erlehmann_··on The first version of Voxel Quest (with source) has been released
I doubt it speeds up compile time on subsequent builds, as any change in one part of the project means that everything has to be recompiled.
erlehmann_··on “Turkey coup plotters' use of 'amateur' app helped unveil their network”
Where did you find that screenshot? Please provide evidence.
erlehmann_··on Hacker compromises Fosshub to distribute MBR-hijacking malware
The audacity team has a blog post regarding the incident: http://www.audacityteam.org/compromised-download-partner/
erlehmann_··on Hacker compromises Fosshub to distribute MBR-hijacking malware
I think many website operators do not see a problem with lying when it helps them getting more pageviews, signups or money.

In September 2015, Imgur distributed malicious JavaScript that targeted users of 8chan. Imgur fixed the vulnerability, but still displayed the following message when JavaScript was turned off:

> JavaScript is disabled in your browser, which doesn't make for a very good experience on Imgur. We encourage you to either enable JavaScript or whitelist Imgur.com. We would never do anything bad or malicious with our JavaScript, and if you ever run into any problems then feel free to contact us.

erlehmann_··on Germany offers up to €30k for 6 months of working on OSS
https://prototypefund.de/?lang=en does not work for me.

https://prototypefund.de/ does work for me.

erlehmann_··on Judge wipes out patent troll’s $625M verdict against Apple
Whenever someone mentions FaceTime, I immediately think of this blog post “Steve Jobs sometimes lies to you”: https://zachholman.com/posts/steve-jobs-sometimes-lies/
erlehmann_··on Why aren’t we using SSH for everything?
Besides the obvious hype and hipster “this time its different” appeal, is there any technical reason one would would prefer Slack over, say, XMPP? I looked into it only until I realized one has to pay to access chat history.
erlehmann_··on Why aren’t we using SSH for everything?
Regarding the question, I use SSHFS to mount directories on remote machines: https://en.wikipedia.org/wiki/SSHFS
erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
“I don't like” seems to be an æsthetic argument, not a technical one.
erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
Ignoring other attributes in data formats without namespaces is not as easy. What if one language is embedded in another and each one has a title element?

I do not know why you “feel” that way about the middle you want to exclude. It has been proven to be very useful in practice for me. Also without it, XML would not have the “extensible” property.

The way you describe working with “XHTML-with-embedded-SVG” reads to me like there is something about namespaces or your toolchain that you have difficulties with. I found that with XML-based systems, especially XSLT, it is easy to make a task needlessly complicated if one does not understand the details.

erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
> The document is a tree where each element has well-defined context; there should never be confusion about whether a particular <title> is part of the feed or part of the content in the feed, because if it's in content it will be inside the content tag.

In this specific case, maybe – but generally, it is not true that you can infer the namespace of an element from context. Also, elements can have multiple attributes with different namespaces (and often do).

> I mean what if the XHTML had another Atom feed embedded in it? Or the content of one of the entries in the feed was another Atom feed? That's legitimate, but you wouldn't want to show titles from the "inner" feed as titles in the feed

That actually appears to be a bug in my stylesheet. Thank you for bringing it to my attention!

Programs often use namespaces to provide metadata. Here is an SVG I created with Inkscape that uses six different namespaces for metadata: http://daten.dieweltistgarnichtso.net/pics/icons/minetest/mi... Thanks to namespacing, web browsers can display the picture while ignoring Inkscape-specific data.

> Only if you need the ability to embed an arbitrary other language. And if you do need that you can't possibly be validating or transforming based on what's embedded, so what value is the namespacing of it giving you?

It is very useful to embed any arbitrary language, as XML processors can preserve the content they do not understand without processing it. My XSLT stylesheet would have no issue with SVG embedded in XHTML, just as your web browser most likely ignores everything about the SVG linked above it can not understand.

erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
You probably have not looked too closely at real-world XML.

• Many XHTML and SVG elements can occur without dedicated wrapper elements.

• In Atom feeds, <author>, <category>, <contributor>, <link> elements can occur multiple times without a dedicated wrapper element.

• In XSPF playlists, <link>, <meta>, <extension>, <location>, <identifier> elements can occur multiple times without a dedicated wrapper element.

erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
Did the elements often have immediate child elements that had immediate child elements (and so on) of the same type? Like:

  <contract><contract><contract><contract> […]
erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
XML without namespaces does not exist. If it existed, how would you differentiate between title and link elements in Atom and title and link elements in XHTML? They have the same element names, but do not have the same meaning and therefore must be processed differently. Namespaces ensure that any XML processor can know the language of each part of the input.

Namespaces actually are the general mechanism with which you can specify that content is in another language: If you look at the feed source code, you can see that XHTML content is started with <div xmlns="http://www.w3.org/1999/xhtml"> and ends where that div element is closed.

Having an element with the semantics that “this content is in another language” is done out of necessity in HTML, as it has no namespacing: <style> elements contain CSS, <script> elements contain JavaScript, <svg> elements contain SVG … having an element in each language to embed each other language would become complicated very fast.

erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
Example: The XSLT stylesheet for this Atom feed generates a web page for each entry: http://news.dieweltistgarnichtso.net/notes/index.xml In this setup, the Atom XML for each entry is generated from XHTML with XSLT, which makes it possible to automatically include an Atom enclosure element for every XHTML media element. To publish a podcast episode, it is enough to add a post with an <audio> or <video> element, as an XSLT stylesheet can “reach into” the XHTML content.

Namespaces are also widely used in SVG, which uses the XLink specification for hyperlinks and can embed XHTML and MathML content. Since SVG can be embedded in (X)HTML, this means you can have an ATOM feed containing XHTML containing MathML and SVG that contains XHTML and all have it displayed correctly.

erlehmann_··on Germany offers up to €30k for 6 months of working on OSS
The FAQ is in the Wayback Machine: http://web.archive.org/web/20160801094432/http://prototypefu...

I had to disable CSS to see the answers, though.

erlehmann_··on Germany offers up to €30k for 6 months of working on OSS
Blog post with rationale (German): http://codefor.de/blog/prototype-fund
erlehmann_··on Curl and http/2 on Mac
Note that all GNU tools on Mac OS are the last GPLv2 versions. Their version of bash, for example, was ten years old the last time I checked. In contrast, most GNU/Linux distributions do provide up-to-date tools out of the box.

In addition, Apple makes it difficult to modify or upgrade installed software, even when is it vulnerable. The default installation of git in OS X once had a remote code execution vulnerability that could not be patched by users: http://rachelbythebay.com/w/2016/04/17/unprotected/

erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
> How often do transforms need to reach all the way in like that?

In my experience, almost every time XSLT is used on real-world documents, those are documents with multiple namespaces. XSLT stylesheets themselves are also documents that have multiple namespaces. Example: Atom feeds often contain XHTML content. It is a common problem with RSS that it does not specify if the content of an element is HTML or plain text.

I have found that arguments that doubt a feature is necassary from people who can not imagine use cases are almost invariably wrong, while arguments that doubt a feature is necessary from people who list use cases and why they think those are better solved otherwise or even left unsolved are often right. Your post seems like an example of the former; would you say that complex real-world content with namespaces could sway you in favor of them?

erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
It is rare in real-world XML that elements have children with the same type. Do you have a (non-divitis) example where the tags are all the same?
erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
The HTML for my blog is generated by applying an XSLT stylesheet to its feed.

You can see the stylesheet here: http://news.dieweltistgarnichtso.net/posts/atom2html.xsl

You can see the resulting web page here: http://news.dieweltistgarnichtso.net/posts/

erlehmann_··on How to Avoid Being Called a Bozo When Producing XML (2005)
Discussions about XML and JSON often remind me of this comment on HN: https://news.ycombinator.com/item?id=5702868

Partial quote:

> XML can certainly be shorter than JSON and often is, and repeated tags are the best showcase for it:

     <user id="abc">
        <phoneNo type="home">123456789</phoneNo>
        <phoneNo type="work">321654987</phoneNo>
    </user>
> This turns into this beautiful JSON:

     [
      "users": [
	{
	  "id": "abc",
	  "phoneNos": [
	    { "type": "home", "value": "123456789" }, 
	    { "type": "work", "value": "321654987" }
	  ]
	}
      ]
    ]
← PreviousPage 5 of 8Next →