HNHacker News
TopNewBestAskShowJobs

koehr

143 karma · joined March 16, 2016

Source code as art, freelancing, based in Berlin, Germany.

meet.hn/city/de-Berlin

Socials: - koehr.at.hn - github.com/nkoehring - instagram.com/coffee_n_code - reddit.com/user/koehr

Interests: Freelancing, Hacking, Mentorship, Networking, Open Source, Philosophy, Programming, Remote Work, Privacy, Social Impact, Technology, Web Development, Writing

---

[ my public key: https://keybase.io/koehr; my proof: https://keybase.io/koehr/sigs/Og6pOR4F2t5w_kycA8yZqc-71k_IatrPww32whM8Dio ]

submissionscomments
koehr··on Dear Devs, please stop using Medium for your contents
I think the best way is in the middle. It is called POSSE: Publish Own Site, Syndicate Elsewhere. You own your stuff by first posting it on your own page and then syndicate it to other places for visibility.
koehr··on Ask HN: Best Linux Laptop Replacing a Macbook Pro?
Check out the System76 Galago Pro. You get a monster of a machine performance wise (easily surpassing a MacBook) in a case that's not at all chunkier than a MacBook and for half the price. Only downside is the pretty bad battery life.
koehr··on Ask HN: Who is hiring? (March 2019)
betterHR | Frontend | Berlin, Germany | Full-time, On-Site

betterHR is creating a new kind of HR consulting platform.

We're looking for a lead developer. Our platform is built with Gridsome (Vuejs) using Netlify, NetlifyCMS and MongoDB Stitch.

The ideal candidate is able to take over the development of smaller features and decide when it is necessary to hire and lead external teams for bigger projects.

Email me at norman.koehring@betterhr.de

koehr··on OpenBSD: New console font Spleen made default
If somebody struggles with porting those fonts to their Linux, I just got it running and wrote about it here: https://koehr.tech/use-openbsds-spleen-bitmap-font-in-linux
koehr··on Ask HN: Best robust laptop for everyday software development
I currently have three battle tested favorites: The Dell XPS 15, the System76 Galago Pro and the ThinkPad T470s. They are all robust, have great hardware, good keyboards (ThinkPad's still my favorite though) and excellent Linux support.
koehr··on Better not use array destructuring in JavaScript (yet)
Frozen Arrays are another Problem, which is why I added that to the tests.
koehr··on Ask HN: Are there any reasonable alternatives to MacBook Pro for developer?
System76 is definitely on my watch list. After using a Dell XPS with, what they call an infinity edge display (means, very thin bezels, hence a 15 inch display in a <14 inch case) and 4K resolution, I'm afraid I couldn't go "back" though :o
koehr··on Ask HN: Are there any reasonable alternatives to MacBook Pro for developer?
I don't have any issues with Suspend To Ram, if that is what you mean. I'm using a Dell XPS 15 9550 with Void Linux.
koehr··on Ask HN: What are your favorite browser extensions/add-ons for Firefox or chrome?
I recently started using the WebMemex extensions. They are written by a friend from the Indieweb Community. Best way to save a snapshot (to "freeze dry") a website and have them in the browser cache for offline use. Lots of development still needed but it is pretty usable already.

https://github.com/WebMemex

koehr··on GoboLinux: A distro that redefines the entire filesystem hierarchy
So they take the MacOS file structure to Linux? Sounds horrible to me. I always loved the structure of the Unix file system. It's simple and rather efficient. You wonder if a specific binary is installed? Look in /bin. You wonder if where to configure something? Look in /etc. You want to write a program that gives you a list of all binaries installed (like a shell)? Use the path variable that contains a few paths and check their contents. In gobolinux this variable is either huge or they use yet another mechanism. It clearly will not get better though.

The file structure should be efficient for the computer and can be abstract for the user as they want a icon on their desktop and not much more.

koehr··on Pell – A simple and small rich-text editor for the web
I actually started a simple WYSIWYG editor that doesn't use contentEditable but instead a tiny subset of HTML and some virtual DOM like technology. Thanks for this post. It makes me want to work more on it!
koehr··on Ask HN: What's the most secure communications method today?
This really depends on who you are and from what you are hiding:

1) Communication between non-targeted (unimportant) individuals hiding information from:

1.1) other individuals or non-governmental institutions

1.2) governments or GOs

2) Communication with targeted (important) individuals hiding information from:

2.1) other individuals or non-governmental institutions that target you

2.2) governments or GOs

The first one is the easier one as expected:

1.1) Individuals want to secretly share information without someone else notice. "Someone else" can be another person, family, friends, a teacher, collegues or their boss.

Important here is, that the person to hide the information from doesn't target you. This makes it VERY easy because the person doesn't necessarily expect any secrets to be exchanged.

Simple chat apps do here. Telegram and others support self destroying messages.

1.2) Individuals want to secretly share information without being (potentially) tracked by the government. They are part of the grey mass of "normal citizens".

As long as you or your partner are not actively watched by a government, things can still be relatively easy. Standard apps (eg WhatsApp, Telegram) might be even enough. Mass surveillance might be a problem though (in China, Iran or the US for example) so to be on the save side, better use non-standard software that is decentralised and uses hard encryption and something like Off-The-Record messaging. Good and mature candidates would be of course XMPP (aka Jabber) with OMEMO or the newer Matrix protocol.

2.2) Individuals want to hide information from someone who knows or suspects that they do it:

As soon as you or your communication partner is targeted, things get a lot harder. Now not only the information itself needs to be encrypted (good old rubber hose decryption works against the best encryption methods). Other individuals usually don't have sophisticated surveillance methods, so it should still be relatively easy. Important is, that meta-information (who communcated with whom at what time, etc) needs to be secret, too. As soon as the one who suspects you to secretly share information knows that you did, they will ask questions. Better they don't have anything at hand to do so.

Plausable denyability is the keyword. Off-the-record messaging provides this but is of no use if you keep the chat logs or be seen. Even the contact in your phone could be suspicious enough. Better use a dedicated system or memorise the contact information and only use it without saving it. Never ever communicate while the watching person could see it.

2.2) Governments or governmental organisations watch you:

Now this is the hard part. Hiding from a government that watches you and/or your communication is REALLY HARD. Don't be fooled by advertised end-to-end encryption and public law-suits of companies trying to defend their users privacy.

You have no idea what GOs are capable of which is why you need to implement measurements even against unknown attack vectors.

The best you can do is to hide your communication traces by following at least the following rules:

* Never use something that leaves a trace of personal information. Use pre-registered sim-cards or internet cafes in different cities. Always use public proxies, TOR, everything.

* Use asynchronous communication: Leave an encrypted blob somewhere in the void of the internet without any receiver. The receiver needs to be potentially everyone but of course nobody except the receiver can be able to read the message.

* Use disposable keys. Hide signatures but never forget to use them! A cryptographic secure signature is the only way for the receiver to be sure that it is really your message and nothing intercepted or faked. But the signature needs to be hidden inside the unreadable crypto-blob.

Phew… that was a long one. But I hope it gives you and the interested reader some insights.

Some links to kick-off the research:

https://en.wikipedia.org/wiki/Off-the-Record_Messaging

https://en.wikipedia.org/wiki/OMEMO

https://staltz.com/an-off-grid-social-network.html

https://en.wikipedia.org/wiki/Matrix_(communication_protocol...

https://en.wikipedia.org/wiki/Public-key_cryptography

koehr··on Show HN: Get colour palettes from pictures
convert path/to/img -colors 16 -unique-colors txt:-

That is really simple.

koehr··on The Magic 0xC2
That must have been fun times!
koehr··on The Magic 0xC2
So what most probably happened is that FileReader.readAsBinaryString()° defaults to FileReader.readAsText()°° since it's deprecated. At least that is what I saw in Chromium. As soon as I used readAsArrayBuffer the problem went away.

°) https://developer.mozilla.org/en-US/docs/Web/API/FileReader/...

°°) https://developer.mozilla.org/en-US/docs/Web/API/FileReader/...

koehr··on The Magic 0xC2
Unfortunately it's not. I made a mistake here (guess I mixed things in my head). I meant the character 'z' but 0x79 actually a 'y'. I will fix the issues later today.
koehr··on The Magic 0xC2
Not the server but the browser. It looks like FileReader.readAsBinaryString is falling back to readAsText since it's deprecated. Just an assumption though. I couldn't find any better evidence.
koehr··on Ask HN: What are the OSS alternatives to iOS/Android?
The problem is that most of the hardware is not open. It is hard to get fully open software running in proprietary environments like mobile phones and networks. The fairphone might be worth a look though: https://www.fairphone.com/en/
koehr··on Ask HN: Disappointed by the new Macbook, what alternatives do we have?
I'm not a Mac User but I know that the Dell XPS 15 is a decent notebook with a very good keyboard and all the connectors you need.
koehr··on English Syntax Highlighting
Why is that spamming? Only because you don't share the writers opinion doesn't meant it doesn't fit here, right?
← PreviousPage 2 of 2