HNHacker News
TopNewBestAskShowJobs

Gehinnn

1,104 karma · joined June 2, 2017

twitter: hediet_dev Working at Microsoft on VS Code in Zurich
submissionscomments
Gehinnn··on I followed my dreams to get demoted to software developer
Do you mean this joke? [1] Don't disrespect the violists!

[1] (https://www.reddit.com/r/Jokes/comments/ab5oht/a_violists_3_...)

Gehinnn··on Architecture.md
Text based diagrams definitively have their advantages over wysiwyg editors. However, sometimes the layout of a diagram also tells a story and I find it hard to express that with available text based diagram solutions.

That's what I use draw.io aka diagrams.net for. I made an extension that helps to create markdown-embeddable/versionable draw.io diagrams in vscode: https://github.com/hediet/vscode-drawio (there is also an IntelliJ extension)

I have to admit that I sometimes struggle with pixel perfect layouts though and rearranging nodes is time intensive.

However, most text based systems don't have a nice github integration and rely on manual export, which you can avoid when you diagram is not a plain text file but a rich diagram editor.

Gehinnn··on Why can't I write code inside my browser?
I don't know whether the path is the problem that makes modern web dev so hard to learn.

I'm currently trying to setup the js testing library "jest" to use babel to transpile typescript and I get the most obscure error messages. This is painfully hard and I have years of experience with javascript/typescript [1].

I doubt there ever has been a more complex programming ecosystem than JavaScript's. No other system has more bundlers (webpack, rollup, metro, ..), transpilers (babel, typescript, flow, ...), testing libraries (jest, mocha, jasmine, ...), package managers (yarn, npm, pnpm, ...). It is just insane what we created.

[1] if you are curious, that is the error message. Good luck making sense of it. It probably is caused by non-compatible dependencies but yarn does not tell me.

Validation Error:

  Preset @babel/preset-typescript is invalid:

  The "id" argument must be of type string. Received type object
  TypeError [ERR_INVALID_ARG_TYPE]: The "id" argument must be of type string. Received type object
Gehinnn··on Why can't I write code inside my browser?
Yes! Being able to hide state is a blessing but sometimes also a curse. However Monads kind of allow you to hide/abstract over state too. I find it way more difficult though.
Gehinnn··on Ask HN: Predictions for 2021?
* SpaceX's starship will reach orbit.

* The theorem prover Lean 4 will be released.

Gehinnn··on Show HN: This website is valid JSON
Maybe browsers should artifically delay the rendering of pages in the quirks-mode to create incentive for website creators to use proper formats/techniques.

I can imagine the author had their fun, I also had fun reading the article, but I don't think this is leading to an accessible internet.

Gehinnn··on Philip Glass: My problem is people don’t believe I write symphonies (2017)
What is the first minute of his symphony no. 11 if not minimal music? https://www.youtube.com/watch?v=xU_uBDujLAE

The theme that starts at 2:18 is just so typical for him (https://www.youtube.com/watch?v=xU_uBDujLAE&feature=youtu.be...). I do believe that he composes symphonies, they are just not so different from his other works.

Gehinnn··on Advent of Code 2020
I'm curious if my debug visualizer extension for VS Code could be helpful for solving this kind of puzzles (https://github.com/hediet/vscode-debug-visualizer/blob/maste...). Might be one of the few use cases where it can really shine.
Gehinnn··on Datasette-ripgrep: a regular expression search engine for your source code
Worth to mention ripgrep-all here (https://github.com/phiresky/ripgrep-all).

It's a regular expression search engine built on ripgrep that can search in virtually anything (pdf files, zip archives, movie subtitles, sqlite databases, png+ocr, ...).

Gehinnn··on Quiver: A modern commutative diagram editor
A vs code extension could be nice, if you use vscode already to write latex.
Gehinnn··on What Gödel Discovered
CSS is not turing-complete - it is as turing-complete as a simple TXT file. Deciding whether some sequence of bytes resembles a CSS file is very possible. Deciding whether a stylesheet can be successfully applied to a website is also decidable. Of course, it is undecidable whether a certain pattern emerges if a stylesheet is applied to an infinitely large HTML file. But then, it is also undecidable whether some TXT file appears in an infinitely large HTML file.
Gehinnn··on What Gödel Discovered
It is very hard to detect self-referential statements and restricting yourself to "non-self-referential statements" might be quite severe.

Given a set of "domino" tiles - each having a top and a bottom. Each top and bottom has some word on it - these words can only use the letters "a" and "b". You can duplicate domino tiles and also align tiles so that all tops and all bottoms are aligned.

Now, given a finite set of such tiles, can you say whether there is an alignment so that all tops concatenated, read from right to left, equal all bottoms concatenated?

In fact, given such a set of tiles S, you can easily create a formula P(S) that is true iff such a valid alignment does not exist. Obviously this formula is true for some sets of tiles and false for others.

Now the funny thing: Given a (correct) fixed theory T in which you can state P(S) for every S and in which proofs can be computationally checked, there must be infinitely many S so that P(S) is true, but cannot be proved in T. Thus such theory T is incomplete.

Where is the self-reference?

This problem is also known as the Post correspondence problem (PCP). The halting problem can be reduced to it, which is not decidable. If T was complete, you could enumerating all proofs and see whether they correctly proof P(S) or its negation. Due to its completeness you would eventually find a proof for either of them and thus you could decide the halting problem.

Gehinnn··on Is this Mahler? This sounds like Mahler
I guess they have the metadata - if you click on the work [1], you get only the tracks that are part of it [2]. Idagio seems to be a company located in Berlin! [3]

[1] https://i.imgur.com/hAe8ZSk.png [2] https://i.imgur.com/EGkTwSD.png [3] https://about.idagio.com/jobs

Gehinnn··on Is this Mahler? This sounds like Mahler
That is very cool. Now I'm missing the feature to compare recordings at a given bar! And to see the score from imslp :D

edit: Just applied there for a job. I'm curious what they will say.

Gehinnn··on Is this Mahler? This sounds like Mahler
Wow open opus is what I have been looking for for a long time! Thanks!

This is what I once tried to build, but stopped as I encountered too many unknowns: https://www.reddit.com/r/classicalmusic/comments/fxsg8s/disc...

If open opus could be extended with such kind of metadata, that would be incredibly valuable.

Gehinnn··on Is this Mahler? This sounds like Mahler
It's great to see modern software engineers dealing with classical music!

It would be amazing if spotify could put some more love into their gigantic collection of classical recordings. Their autoplay feature often changes the piece in between movements, which is a torture. Some database for navigating through all the works of a composer, sorted by significance would also be very helpful to discover new pieces.

I would also love to see more innovation in score management/recognition etc. Like seeing the score while you listen to a recording or being able to compare different recordings at a given bar. You could even teach music lessons if you can use it to easily compare home made recordings with professional ones.

Gehinnn··on The Turing-Completeness Problem
The thing is that if infinite cores each perform 1 distinct step, the entire computer does infinitely many steps in one step. You cannot simulate this with a turing machine in finitely many steps.

The problem is though, that even if each core has a distinct id, infinite cores can only perform distinct steps if the memory model uses unbounded cells. Otherwise almost all cores would do the same step.

Gehinnn··on The Turing-Completeness Problem
Infinity can solve many problems. An infinite state machine can solve the halting problem!

But I see the problem in my thoughts. If there are infinitely many cores with each core having a different id, after a finite amount of time only finitely many cores can distinguish itself, as the id gets arbitrarily long. If each core could process its id in O(1) time, you could decide the halting problem: each core would check whether the tm halts after id steps. Cores with higher ids would need to tick faster so that each core can process its id in O(1).

Also, the halting problem does not exactly resemble "this sentence is false" (which is an obvious contradiction). It resembles more "the answer to this problem differs from the output of every turing machine". Such problems could be solved without contradiction by machines that cannot be simulated by turing machines! You don't even need infinity to create such machines. Turing machines with access to the halting oracle do the deed.

Gehinnn··on The Turing-Completeness Problem
With infinitely many cores that are all connected to the same bus while each core has a unique id, you actually can solve the halting problem. You can basically brute force infinitely many inputs at once.
Gehinnn··on The Turing-Completeness Problem
> So how do we make this barely not Turing complete? We make a list/array type a first class citizen in the VM itself and then we only add operations that know the bounds that they are to operate on based on that list or some other condition that cannot be directly mutated by the user's own code.

I don't understand this paragraph. If they do have do-while loops, how do they prevent turing completeness?

Gehinnn··on Easy Proof That Computers Can't Do Everything – The Halting Problem (2013)
This video is one of my most favourite visualizations of a hard problem. The technical proof of the halting problem is somewhat difficult to understand, even for students in their second semester.

This video resembles the same proof, but presented in a way that you can understand all the arguments in less than 10 minutes. It can be understood without any prior computer-science/math education.

It deserves more upvotes!

Gehinnn··on Stator: A full-stack boilerplate – releases, deployments, enforced conventions
I cannot recommend it. It has a bug on sqlite that swaps the arguments randomly. This is super bad.

For my next project, I will check out Mikro-Orm.

Gehinnn··on AWS forked my project and launched it as its own service
I think it worked with Microsoft. They have a much better image now with regards to open source.
Gehinnn··on AWS forked my project and launched it as its own service
We are still humans with values. I, and I guess you too, don't want to live in a world where everyone just does their bare minimum to fulfill the law.

The fair usage principle can create much more value than complex and often unnecessary strict regulations.

I guess the author would not have complained if a small company had done what aws did just to stay afloat.

Gehinnn··on AWS forked my project and launched it as its own service
AWS did wrong by being so wealthy. They could have done better easily.

It is like fair use: They guy that uses google drive to backup youtube in its entirety is not doing anything illegal. He just demonstrates that he cannot deal with freedom.

Gehinnn··on Show HN: I wrote a book on writing good developer resumes
Shouldn't the process of hiring be more like an interactive proof system?

Prover (the applicant) and verifier (the hiring manager) are both interested in proving the applicant to be a suited candidate. It should be in the hiring manager's interest that suited candidates can act as valid prover that can convince the verifier!

With this thought, this book should be financed by both the hiring manager and the applicant. The hiring manager should help applicants to write good resumes. And the applicant should help the hiring manager to accept their proof of suitability.

Also, do you think this book will get more people a job (which would effectively create jobs and reduce unemployment) or just improve the candidate selection?

If it just improves the candidate selection, the rejection rate and thus the average happiness of applicants would stay the same (or even drop, as they paid money for this book) and the only beneficent would be the employer, as better candidates are hired.

Gehinnn··on Show HN: I wrote a book on writing good developer resumes
I skimmed through your sample chapters and you do make good points!

But wouldn't it be a better approach for an applicant to focus on an open source project for showing off rather than reading a 200 page book?

Gehinnn··on DOMPurify bypass: XSS via HTML namespace confusion
With this amount of exceptions in the specification, it is no wonder that people find unexpected combinations of different features to exploit stuff.

I know why I don't like automatically closing elements. Xhtml for the win!

Gehinnn··on Show HN: Collaboratively Edit Diagrams in VS Code with Draw.io
I don't know miro, but with this extension for vscode you get both a solution for collaborative editing and for github markdown embedding. You can create drawio diagrams that are valid svg files!
Gehinnn··on Show HN: Collaboratively Edit Diagrams in VS Code with Draw.io
With the release of version 1.0 today, the Draw.io integration extension for VS Code got many new features. One of those features is the advanced support for liveshare. Besides content synchronization, cursors and selections of participants are synchronized - this is crucial for collaboration.

A detailed list of all changes can be found in the changelog (https://github.com/hediet/vscode-drawio/blob/14209ad462028cb...).

← PreviousPage 6 of 11Next →