HNHacker News
TopNewBestAskShowJobs

Slackwise

1,050 karma · joined July 18, 2010

[ my public key: https://keybase.io/slackwise; my proof: https://keybase.io/slackwise/sigs/3k-jplnwfNlBvyK12ne8DIqZ5OPt9KSd6AP515PY9SM ]
submissionscomments
Slackwise··on The Creative Squiggle
I think of it more like lightning, where the lightning branches out chaotically trying different paths to the ground until a critical path is found, and then the "leader" strikes the ground, and everything follows with it.
Slackwise··on Trigonometric Functions in CSS
This is what people mean about DSLs needing to be small in scope.

If you go past that scope, you need to completely redesign, or create two separate DSLs. Surely not taking a super small, specific, DSL like "what if we made redundant styles automatic by cascading them down the DOM tree?" and try to extend that for every conceivable styling, layout, rendering, and animation need.

Slackwise··on Trigonometric Functions in CSS
Couldn't upvote this hard enough.

I fundamentally blame Sun and Java for this. I guess I blame James Gosling for Java, and Sun's aggressive marketing of Java in the 90s, along with the naming/marketing deal with Netscape that resulted in JavaScript being created instead of Scheme being adopted.

One of the greatest tragedies in tech history.

Slackwise··on Over the past 21 months I’ve written a code editor from the ground up
Using JS/Node and React/Native, you can target absolutely every platform with a unified codebase.

There's essentially no technical debt in choosing these technologies because if you start with a web app and then want to make a "desktop app", there's Electron. Want to make a mobile app? React Native. There's even React Native for Windows and macOS for a more true desktop app with a native UI. You can also run your JS on the backend with Node, and even inside the database (PL-V8 runs V8 for stored procedures inside PostgreSQL, aside from obviously CouchDB or MongoDB and others). Heck, you can even write an app for the Xbox or build out on several IOT platforms using JavaScript!

Is there any reason to create the same thing in 4+ different languages? Are you going to rewrite your frontend in C#, Kotlin, and Swift? Are you going to deal with different language models and incompatibilities? Rewriting the same exact functions over and over, and unit tests for every single one, keeping in mind the subtle semantic/scope differences between each language--and then realize you still have to serialize/deserialize to JSON to talk to your backend and other services and just juggle JS data models between all these languages and ecosystems.

Choosing JavaScript and React today are the sensible default where you won't code yourself into a corner, is what I'm getting at. And you can also now choose TypeScript or ClojureScript in all such cases as well.

Slackwise··on Ideas for a JavaScript Stricter Mode
The most important thing I'd like to see is ASI ("Automatic Semicolon Insertion") removed/disabled in a stricter mode. Too many weird edges cases in the language exist, and it's now getting in the way of extending ECMAScript[1]. The only people who seem to disagree focus on the aesthetics of code over the clarity of explicitly telling the reader your intentions to terminate a statement.

Without ASI, the following would work as you'd assume, instead of returning `undefined`:

    return
    {
      answer: 42
    };
Just one of many ridiculous edge cases that would go away if ASI didn't insert a secret "helpful" semicolon at the end of the return line.

Rather than making me remember all the edge cases and rules [2] that keep growing with each new syntactical feature added to the language, we should just be making your code more explicit. The rules of reading the code are simply much more complicated than they should be with ASI, and many proponents don't even understand these issues, or suggest preposterous solutions to some of these edge cases such as inserting leading semicolons[3]!

Maybe put simply: Semicolons are sometimes required. Let's just make them always required.

[1]: https://www.theregister.com/2018/01/12/javascript_technical_...

[2]: https://tc39.es/ecma262/multipage/ecmascript-language-lexica...

[3]: https://standardjs.com/rules.html#semicolons

Slackwise··on Vim Foot Pedal
This is completely useless. Who even uses `i` to enter insert mode?

I am almost always using one of the following instead:

- o: open new line below current line

- O: open new line above current line

- I: insert at beginning of current line

- A: append to end of current line

- cc: change current line

- C: change to end of line

- ci(: change in current parenthesis

- ci": change in double quotes

- ctX: change to character X

- cfX: change to found character X

Each of these will perform an action and leave you in insert mode after the action. Then using `.` you can repeat both the changing action and the insert, all in one keystroke. Obviously impossible to do if you only use `i` and `a`.

Vim is not about toggling modes. Vim is an entire language to express text transformation, that you can then repeat with `.`, or undo with "micro commits" to your file, traversing the history back and forward in sensible chunks instead of the usual chaos of Ctrl-Z in other editors. (You can even branch your undo history!)

Slackwise··on Ask HN: Is there a site that is just a text scratchpad?
I use HackMD, which supports Markdown and various other plain-text formats, including LaTeX, Mermaid, GraphViz, etc:

https://hackmd.io/c/tutorials/%2Fs%2Ffeatures

For your use case, it saves files immediately as you type them. It's also collaborative and can sync to GitHub.

As an extra bonus, optional Vim and Emacs keybindings are built right in.

Slackwise··on Why I Two-Space (2012)
Two-spacing is from the era of typewriters. Typerwriters had monospaced typefaces because of how they operated. One space didn't work well enough if the period is rendered center of the type block. To work visually for prose, you'd have had to shift it leftwards so it hugs up against the end of a sentence, leaving a wider gap afterwards. But then you'd end up with awkward decimal points for numbers.... so instead we decided to just use two spaces instead.

So, it's obviously fine to two-space if you're using a typewriter.

It's therefor also fine if you're writing in a monospace/fixed-width font.

But don't do it with proportional width fonts! They are designed with various hints in place to render appropriately as one should typeset them, adjusting spacing between various letters, and of course rendering periods and decimal points correctly, contextually!

HTML will also ignore extra spaces, accordingly. Word processors will either highlight consecutive spaces as a typo or even auto-correct as you type. So I guess not much worry here if it's a habit.

Slackwise··on Named element IDs can be referenced as JavaScript globals
If you read the article and the spec, you'll see that any explicitly created variables will always take precedence over automatic IDs, so any globals will always override these IDs.
Slackwise··on Android 13
Finally, the feature I've been most looking forward to is finally here:

- A shortcut to turn on the flashlight

(The "Quick Tap" gesture can now turn on/off the flashlight)

And this concludes all the features I was looking forward to in Android 13.

Thankfully 3-button navigation is still here. The day they remove it is the day I stop using Android.

Slackwise··on ML is not that good at predicting consumers' choices
"Why am I sweating right now? Oh, the Nest set the temperature too high again!"

And then after a few instances, I just turn off all the automation and set up a schedule like normal.

Same with the "away from home" which seems to randomly think I'm away and I have no idea why.

Oh, and the app doesn't show me filter reminders, only the actual device, which I never touch all the way downstairs. There's not even any status to let me know if it's accepted a new dialed-in temperature, as I've had it fail to capture a request, and then I go back, and see it never updated/saved the new temp. Just zero feedback to confirm that the thermostat has responded to any input, and zero notification from the app if this happens.

Just thoroughly unimpressed.

Thankfully I didn't buy this junk, as it was pre-installed by the owner of my rental. Can't imagine actually paying for something that's only real feature is being able to remotely control my temperature once in a while.

Slackwise··on Why is zero not falsy in Clojure? (2015)
Clojure, like Ruby, does falseyness correctly in that there's only 2 cases of false: nil and false. Everything else is true. This is easy to reason about, and it allows for nils to "flow" through your logic (especially with nil-punning where in the context of collections, nil is also an empty sequence).
Slackwise··on PBS SpaceTime
If you like PBS Space Time, you'll likely also enjoy "Science Asylum":

https://www.youtube.com/c/Scienceasylum

This channel covers the same subjects of physics and space, but does so with some incredible insight that I've seen no other channels dig into, and thoughtful animated diagrams that really help in comprehending the subject.

Here are some great episodes:

"What is Quantum Spin?": https://www.youtube.com/watch?v=sB1EPGmpzyg

"Quantum Superposition, Explained Without Woo Woo": https://www.youtube.com/watch?v=ZUipVyVOm-Y

"Capacitors Are Gaps! How Does That Work?!": https://www.youtube.com/watch?v=zYRx6Zub3cA

Slackwise··on Americans are drowning in spam
The irony of having a gigantic banner plastered over the article saying "SUBSCRIBE TO OUR NEWSLETTER" before I can read a single word of the article.
Slackwise··on How side effects work in FP
> You're viewing my site on the centralized web. Check me out on the dweb ! (Warning: it's slow.)

It's really hard to take someone serious when they make big, untrue, statements saying the real web is "centralized" right on every page of their site, to peddle crypto scams.

https://chadnauseam.com/reasoning-quiz

> Neo-Nazis are holding a demonstration in a small town, waving swastikas around and shouting about Hitler. They seem to be pretty peaceful so far, so the First Amendment says you probably can’t get rid of them. However, their demonstration is near a main street and it could be a minor inconvenience to the traffic trying to go through.

>

> [ ] Allow the neo-Nazis to demonstrate.

>

> [ ] Break up the demonstration on the grounds of ‘blocking traffic’.

I am at a loss for words. Nazi sympathy under the guise of tolerance.

Slackwise··on Please rename aux.py
These are old CP/M filenames that DOS reserved for cross-compatibility. They "exist" in every single directory, as CP/M was a directory-less OS.
Slackwise··on Please rename aux.py
Worse: back in the day, you could type raw HTML into AOL Instant Messenger. Notably, being able to construct a link with whatever address you pleased, including `file://c:\con\con`.
Slackwise··on Piper: GTK application to configure gaming mice
I've been wanting to develop a similar app, but a PWA with WebUSB instead, so an installation is optional, and configuration is available on the go.
Slackwise··on Stage 3 Proposal: Array.prototype.at
I've been thinking this for ages.

We need more special contextual comments to change a file or scope to behave better so we can move forward and scrape away all the bad legacy of JS.

Slackwise··on Vue 3 drops IE11 support plan
> How about the hundreds of millions of third-world users with grossly outdated Android phones? How about disabled people in middle-income countries who can't afford to upgrade their screen reader?

None of these are Internet Explorer, the problem in question. Chrome and its Play Store dependencies are backwards compatible to much older phones. Android browsers even years ago had better web platform support than IE11.

I fully sympathize and believe that web sites should be as compatible as possible. It's the web apps that fall apart once you take away modern functionality.

> In the past, using a crappy browser was a matter of choice. Nowadays, the only people who use them are those who have no other choice.

This really depends on how much their actual lives depend on being able to use the web. If they live in poverty and/or third world countries, are their daily lives impacted by the web? What part of their life depends on what site exactly? Sure, communication is relevant, but we're already saying they have smart phones and thus data connections, email, and whatever native chat apps.

I'm not saying we should leave them behind technologically or that they don't matter or shouldn't have access to more information or knowledge, I'm just simply being practical with what is likely the real impact to their life.

In the end, I think web developers need to stop using ridiculous frontend tech for what ultimately constitutes static text content. The web already excels at that. Servers cache. Browsers cache. We don't need Vue to render a blog or article. Please leave such tech for SPAs and "apps" rather than sites or pages.

Slackwise··on The Lisperati1000 is a cyberdeck terminal dedicated to Lisp programming
If this were a 60% board instead that could fold the display over to cover the keys for transportation, this would be an instant sell for me.
Slackwise··on Vim Clutch – A hardware pedal for improved text editing (2012)
This is cool and all, but nearly useless for any experienced vimmer.

I almost never press `i` to enter insert mode, and I don't expect most vimmers to do so either. My most common ways to enter insert mode are, off the top of my head...

o -- Open new line below current line, enter insert mode.

O -- Open new line above current line, enter insert mode.

ci( -- Delete all text between the nearest parenthesis and enter insert mode within the parens.

A -- Jump to end of line and enter insert mode.

I -- Jump to start of line and enter insert mode.

C -- Delete to end of line, enter insert mode.

cc -- Delete entire current line and enter insert mode.

ctX -- Delete to the character X where X is whatever character I see ahead of my cursor that I want to delete up to, and leave me in insert mode.

cfX -- Same as ctX except include the found character in the deletion, then enter insert mode.

Slackwise··on ISO Standard for Preparing Tea
Tea and milk go together like coffee and lemon.
Slackwise··on People Keeping BlackBerry Alive
if today's BBs had HTC quality keyboards, I'd be using them. I'd readily throw away so much just to get a good keyboard, but BB keyboards are just not well designed for touch typing like HTC ones were.

My kingdom for a new HTC T-Mobile G1/G2 successor!

Slackwise··on Rollerball Pens of 2021
Neat, but I'm talking about experience as a left-handed writer. I don't see anything indicating it writes better for lefties.
Slackwise··on Rollerball Pens of 2021
As a lefty, I can recommend the "Pilot Precise V5 Rollerball Pen" on the list, in 1.0 BOLD tip.

Bold tips are a must so the left-handed angle-of-attack doesn't leave us scratching and gashing the paper. This one is particularly smooth.

Slackwise··on The values of Emacs, the Neovim revolution, and the VSCode gorilla
I use https://quire.io to do similar. It's also 100% Markdown, and you can copy the list itself as Markdown to elsewhere.
Slackwise··on Atlassian Cloud ToS section 3.3(I) prohibits discussing performance issues
This isn't the cloud offering, but on-prem. I assume they're the same.

The about page says "Confluence 6.15.2".

When I click "Edit" to edit a page, via `/pages/editpage.action?pageId=`, and hit Ctrl-S, it takes me back to the view mode rendered via `/display/SPACE/Page+Title`.

Absolutely infuriating and wastes an incredible amount of time. I can't get over my muscle memory. The "Save" button in the bottom-right does the same and appears to be what the hotkey activates. No mention of it being a "Save and Quit Editing". Hovering over the button says "Save your page (Ctrl-S)".

Slackwise··on Tim Berners-Lee wants to put people in control of their personal data
I adore this project, and wish for it to succeed, but how do we incentivize or force companies to accommodate pods? Legislature? About the only way I can think of.
Slackwise··on Tim Berners-Lee wants to put people in control of their personal data
Parent mentioned it was "esr" or Eric S. Raymond.
← PreviousPage 2 of 10Next →