News for hackers. Stuff that matters.

jordwalke

Re:Reason React 0.8 on Thursday May 14, 2020 @03:41AM (#23176611)
It is.
Re:Reason React 0.8 on Wednesday May 13, 2020 @09:13PM (#23174007)
- It's Just JavaScript With Types

- It's Usable

- It Has Full Type Safety

Pick two.

I think the TypeScript is aware of the tradeoffs, have chosen the first two, and the result is a great developer/IDE experience for JavaScript programs (props!). Reason chooses the last two and creates a great experience for writing very safe web apps.

Re:Reason React 0.8 on Wednesday May 13, 2020 @08:25PM (#23173592)
You forgot the most important part: "to the largest audience possible". I think that's the biggest disconnect here.
Re:Reason React 0.8 on Wednesday May 13, 2020 @08:01PM (#23173379)
I believe it does address part of your comments. At the very least:

"And then we have the ReasonML project that has seen even less activity recently"

You comment seemed to be based on the assumption that the Reason syntax is the sum total of the Reason project, and I provided examples that would adjust that frame of reference. See the high level goal I mentioned - bring fast development, fast running, fully type safe programming to the largest audience possible. Syntax is one important piece, but not everything, and it's not everything under the ReasonML project umbrella.

Re:Reason React 0.8 on Wednesday May 13, 2020 @07:34PM (#23173151)
ReasonML is an umbrella project/sponsor for many subprojects, all of which have the goal of bringing fully type safe, fast compiling, fast executing code to the widest number of developers and today that means JavaScript developers. Many ReasonML projects support or improve upstream OCaml ecosystem. For example, package management workflows (https://esy.sh), interactive repls that work with Reason syntax, and OCaml syntax (see https://sketch.sh), and many community members contribute to the developer tools (next generation language server created by OCamlLabs). Others are building CI infrastructure, and many other projects. Reason Syntax was the first entry into the ecosystem. It's not done evolving/improving, and it's just the tip of the iceberg for all the projects under the umbrella. BuckleScript has been developed with Reason users in mind. Syntax is one of the most important things when introducing a language, and one of the biggest tripping points for new people trying out OCaml so it makes sense that it would be the first entry. But it's not the last, it's not the only, and it's not finished evolving/improving.
Re:Restack: Full-Stack ReasonML on Sunday January 26, 2020 @04:14PM (#22154844)
I'm not sure how you missed it, but right from the main Reason web page(https://reasonml.github.io/) there is a link to the Github repo for one of the ReasonML syntax (https://github.com/facebook/reason) which has a link to the latest Release on npm which was four months ago. Where did you get the 18 months figure? (You might have stumbled upon some old docs). There is also an important PR in progress for async syntax extension, which will form the next release.

That Reason repo is just for the parser which is only one of the many pieces of infrastructure under the Reason umbrella (an important one though). Also follow BuckleScript, and esy for example.

Re:TextMate 2.0 on Monday September 16, 2019 @07:33AM (#20983027)
Under that definition of "native", it's pretty clear developers don't care very much about having "native" text editors/IDEs, wouldn't you agree? You can look at editor usage to see how they are voting.
Re:TextMate 2.0 on Monday September 16, 2019 @04:40AM (#20982152)
The other thing to consider is that developers spend up to ten hours a day in these editors. The biggest benefits of OS-coherent UI is that an application is quickly learnable for the first week. But when you use an editor for multiple years, all day long, many would trade that for increased customizability.
Re:TextMate 2.0 on Monday September 16, 2019 @04:37AM (#20982138)
I'll adopt whatever definition you want "native" to mean for the discussion - and under your definition of native, I would say it's pretty clear that users of text editors and developer tools don't care much at all about "native"(your definition of using the platform provided widgets). Just look at the market share of developer tools and IDEs/editors that don't use stock platform widgets. They are the ones that have become dominant. The problems that people have with the dominant players that have gained traction is the performance. You might be able to make the case that using stock widgets matters for non-developer tools (and I would only partially agree there), but for developer tools when people say they want "native" they are more likely to mean they want the performance that more often comes with natively compiled languages without a VM. It makes sense that developers would trade stock platform-widgets in exchange for an editor with greater cross platform reach because users of these tools benefit from network effects of these tools having wider reach. They want someone to have written the plugin/extension they're looking for.

Personally, I'm not looking to increase the ways that I'm locked into my current operating system, so all else equal, I'd favor an editor that runs everywhere.

Re:TextMate 2.0 on Monday September 16, 2019 @04:25AM (#20982084)
ReasonML does not imply JavaScript - it can compile natively using the OCaml native compilers - and that's exactly what Revery does. GLFW is also native/C.
Re:TextMate 2.0 on Sunday September 15, 2019 @08:26PM (#20980267)
You might like to follow OniVim2: https://onivim.io

It is native, cross platform, and not based on Electron. It also uses Vim as the core editing engine.

Re:Show HN: CLI tool for saving web pages as a single file on Friday August 23, 2019 @03:11AM (#20775166)
It appears that (at least) Safari cannot open mhtml files. The benefit of a tool such as what the OP shared is that it can produce plain html pages that are openable by anyone. (also, I tried mhtml in Chrome using the proper flag and it doesn't appear to store/inline/render static assets correctly).
Re:Show HN: CLI tool for saving web pages as a single file on Friday August 23, 2019 @03:01AM (#20775116)
You can first prerender the page with Chrome in headless mode (see my other comment), and then convert it into a single document using an inlining tool (such as the OP's). That way the JS will run and render the page (see my other comments here for an example).
Re:Show HN: CLI tool for saving web pages as a single file on Friday August 23, 2019 @03:00AM (#20775109)
I'm not aware of a way to save as MHTML from Chrome in headless mode (from the command line). Are you?
Re:Show HN: CLI tool for saving web pages as a single file on Friday August 23, 2019 @02:53AM (#20775071)
I really like this concept, and I've been using an npm package called inliner which does this too: https://www.npmjs.com/package/inliner

I'm glad there's more people taking a look at the use case, and I'd be interested to see a list of similar solutions.

If you combine this with Chrome's headless mode, you can prerender many pages that use JavaScript to perform the initial render, and then once you're done send it to one of these tools that inlines all the resources as data URLs.

  /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome ./site/index.md.html --headless --dump-dom --virtual-time-budget=400
The result is that you get pages that load very fast and are a single HTML file with all resources embedded. Allowing the page to prerender before inlining will also allow you to more easily strip all the JavaScript in many cases for pages that aren't highly interactive once rendered.
Re:Psychology vs. the Graphics Pipeline (2017) on Sunday August 18, 2019 @03:30AM (#20728775)
Just a reminder. If you are doing these experiments on an external display, make sure you are doing so with your laptop lid closed (its screen off). Mac OS (and maybe other operating systems) do not properly operate its vsync synchronization from a laptop when using an external display while the laptop’s screen is also active. I have run into this problem multiple times.
Re:Github restricts public Faceswap repo to logged-in users on Sunday February 17, 2019 @06:26PM (#19187571)
I like the latest title better than the one it was first changed to, thanks.
Re:Github restricts public Faceswap repo to logged-in users on Sunday February 17, 2019 @03:03AM (#19183262)
HN changed the title of this from the original question: “GitHub censors deepfake source code for non logged in users? (Try incognito)”

I have no opinion about whether or not that is a better title, but I thought it should be known that it was modified from its original.

Re:Github restricts public Faceswap repo to logged-in users on Sunday February 17, 2019 @01:48AM (#19183042)
Are your ssh keys being used? Or did you use the https:// endpoint?
Re:Apple is patenting Swift features on Wednesday January 30, 2019 @06:34AM (#19034283)
This is definitely not true of ReasonML. ReasonML is just one part of a larger ecosystem that is pushed forward by a combination of academia and industry, and ReasonML is is very community focused/driven.
I've never seen Electron apps lacking proper keyboard behavior for inputs. Do you have an example?
I'm curious what kind of features you're referring to.
Much of the work put into Revery will also be applicable to other variations of it that can use platform components for the most important parts. See the Brisk project for an example that adheres to much of the same API and can target MacOS native platform components.

But also, take a look at VSCode, and Atom and notice how much of those applications are actually rebuilt skins from the ground up. Even the exit buttons in the Windows version are rebuilt from scratch, not using the platform "components".

The number of times I've ever heard anyone complain that VSCode reimplements clickable regions that look exactly the same on all platforms instead of using some ugly stock Windows buttons: zero.

Several months ago that was probably correct. Recently, we've released new tools like esy that make it... easy, especially if you come from a JS background or are familiar with JS tooling. There's still a lot to solve, and native is just inherently harder than targeting JS, but a lot of progress has been made recently, and there's more to come.
Hi I'm Jordan and I work on Reason.

pesy is just a utility I made to help people create new native Reason projects (like fnm) quickly and easily. It's fun.

fnm is a native Reason app. We haven't advertised much of Reason's (OCaml's) native capabilities because we wanted to make sure we've built out a lot of the tooling that makes native development easy - for example https://esy.sh. Now that a lot of this native tooling is becoming polished, I hope you'll probably start seeing more projects like fnm.

Older »