Live data from Hacker News

From Markdown to remote code execution in Atom

statuscode.ch

91–100 of 152 posts

Re: From Markdown to remote code execution in Atom

#91
post #10

This is why I don't run any Electron apps on my computers at all, ever. That means I'm stuck with the web browser version of Slack, Skype, Signal (going away), and so forth, which is a shame. But it's better than the security nightmare that is Electron. I wish developers wanting to make cross platform GUI applications would look instead at Qt. It's extremely easy to use, really fast, and generates great GUIs. It's be…

Look, I love Qt; I worked with it a ton, I contributed back to it, I even still work on LXQt sometimes. But the rise of web apps, and Electron along with it, have turned the Linux desktop from a "you need to dual boot or use wine" machine into one where all my tools and apps are Linux compatible and have feature parity with Windows and macOS. I also wish Qt would see more use, I also wish more people would write desk…

theres very litle reason today to make an electron app instead of a web app. especially if its just a client.

Re: From Markdown to remote code execution in Atom

#92
post #87

Earlier quoted context omitted.

> Well, I don't think your app looks better than an Electron app, in fact, you've styled it in a very web-like fashion Well, it wasn't about being "better", it was about not looking like shit. > The Blizzard app does not look good and its performance is vastly worse than most Electron apps I've tried, so the irony eludes me. Well, Visual Studio Code used to drain battery life for blinking the cursor in the background…

Your argument was that Qt and Swing apps looking like shit 'could not be further than the truth'. Your counter-examples are a pair of apps that do next to nothing and a really bad app.

My argument is that it takes a few hours to make a look and feel for swing that mimics the appearance of modern electron apps. Also that Qt has plenty of styling power. Blizzard's app is a "really bad app" just because you have a personal problem against it. It works pretty well on my PC (0.5% CPU and 130Mb ram) and I think it looks pretty nice.

Re: From Markdown to remote code execution in Atom

#93

Earlier quoted context omitted.

> a very known fact for all unix grey beards The co-inventor of Unix, Ken Thompson, and the Unix team engineer and author of The Unix Programming Environment, Rob Pike, are both big advocates of static linking. They designed Go and made a big point of emphasising static linking. Pike: "Shared libraries are obviously a good idea until you've actually used them. Whether it's obvious or not that they're a bad idea is mo…

It's a shame they didn't roll a proper package manager with the language toolkit. Having your executable depend on having some lib installed is quite a pain. But how do you share libraries properly then? Especially without a proper way of bundling deps in your code... Using cargo always makes me feel at ease when writing Rust. Haven't dabbled with linkers though.

And rust binaries all link the rust libs statically(you can change linking), maybe because it is easier to distribute static binaries that work everywhere than to distribute a bunch of libraries without official channel(your os distributions).

Re: From Markdown to remote code execution in Atom

#94
post #90
post #83

Earlier quoted context omitted.

There are many viable compile-to-js languages out there to pick from: * clojurescript * f# via fable * c# via different means(even an MSIL compiler) * Golang * etc I mean, clojurescript and F# are bomber if you want functional. Typescript may give the best interop with existing packages, but I've read good things about F#'s .d.ts file support for creating type providers. In any case, if the lang you pick creates a bi…

Adding Reason(which is Ocaml with bucklescript backend) and Purescript to the list.

Adding this[0] list of languages that compile to JavaScript to the list. There seem so many that no matter your taste in syntactical sugar there should be something for you.

[0] https://github.com/jashkenas/coffeescript/wiki/list-of-langu...

Re: From Markdown to remote code execution in Atom

#95
post #36
post #26

Earlier quoted context omitted.

So you're saying software OEMs need to pick one of Windows or MacOS and not support any other platforms?

No, you create a proper abstraction layer that maps to native plaform elements. For example, IFileDialog maps to a Cocoa dialog on macOS, file picker on UWP, open dialog on Win32, document selector on Android and so on. Yes, it takes some initial effort, but it only needs to be done once.

Web browsers like the one used by Electron do this as well. The styles of buttons, inputs, etc. vary from platform to platform. They can be overridden, of course, but that’s true of any native GUI framework as well.

Re: From Markdown to remote code execution in Atom

#96

As soon as I saw the title I suspected the exploit was probably markdown related, as I had fixed pretty much the exact same issues in VS Code. Two things to keep in mind when developing electron apps: - The potential impact of an XSS or other security exploits is much higher. You can limit the impact of most of these with additional layers of security, such as running untrusted html in isolated environments with node…

> As soon as I saw the title I suspected the exploit was probably markdown related

The title literally says "from Markdown to remote code execution" what else were you expecting?!

Re: From Markdown to remote code execution in Atom

#97
post #96

As soon as I saw the title I suspected the exploit was probably markdown related, as I had fixed pretty much the exact same issues in VS Code. Two things to keep in mind when developing electron apps: - The potential impact of an XSS or other security exploits is much higher. You can limit the impact of most of these with additional layers of security, such as running untrusted html in isolated environments with node…

> As soon as I saw the title I suspected the exploit was probably markdown related The title literally says "from Markdown to remote code execution" what else were you expecting?!

The title was changed after the original post.

Re: From Markdown to remote code execution in Atom

#98
post #15
post #7

Whilst it's very hard to write a secure C application because writing C is hard, it seems it's very hard to write a secure application in javascript because javascript is too easy. Maybe we should stop blaming language complexity and start blaming the complexity (or lack thereof) of the designs that fail us?

Neither of those is about "hard" versus "easy". C pre-dates a modern understanding of security boundaries and tries a little bit too hard to be "close to the machine" (so long as the machine looks a lot like a PDP-11). Javascript-the-language is not the problem, but having the whole browser infrastructure present in order to render a document is the problem here in Electron. The challenge in language design is to ere…

> having the whole browser infrastructure present in order to render a document

This is disingenuous; the whole browser infrastructure is present to run an application. This shouldn't be surprising because that is exactly what a browser is: an application execution environment.

Re: From Markdown to remote code execution in Atom

#99
post #90

Earlier quoted context omitted.

Adding Reason(which is Ocaml with bucklescript backend) and Purescript to the list.

Adding this[0] list of languages that compile to JavaScript to the list. There seem so many that no matter your taste in syntactical sugar there should be something for you. [0] https://github.com/jashkenas/coffeescript/wiki/list-of-langu...

Would like to clarify that it's not about "syntactical sugar" more like different semantics and/or safety(they treat js as machine code), hardly anyone would claim they are using these languages because of js syntax.

Re: From Markdown to remote code execution in Atom

#100

Earlier quoted context omitted.

Why? Qt/swing/gtk apps tend to look like shit and are horrible to try and code

> Qt/swing/gtk apps tend to look like shit You couldn't be further from the truth. Have you seen the Blizzard app (Qt) [0]? The JetBrains Toolbox app(Qt) [1]? Also, here's a small app I wrote in kotlin and swing for my GF who wanted to download music from youtube without installing crapware downloaders [2]. You'll notice it has a custom window frame, support for drag and drop, and fully customized table and buttons.…

> Yes, I agree, dowloading music from youtube is immoral and illegal, ...

It is neither! Enjoy your music :)

Post reply on HN