Hacker News new | past | comments | ask | show | jobs | submit | Slackwise's comments login

> Your life isn’t tied to a company

Health insurance isn't tied to a company? Your ability to survive and feed your family isn't tied to your company? Lack of opportunities in the job market? Lack of equal salary/benefits at alternative companies? Non-competes, H1-B visas....

> so if you don’t like how they chose the leader or what they’re doing, you can leave.

Just one small thing Ben: leave to work for who? Who isn't hiring CEOs and running businesses the same way as everyone else?


Please don’t quote half a sentence and then argue with it when the second half is an important qualifier.


Many of these are uniquely American problems, and the many of the people and especially the highest in power in the United States have chosen and continue to choose to bind all of that to the company you work for (or don't).


Yes, it's ironic that a democracy has exactly created the situation they lament about, the lack of universal healthcare. Unfortunately there is no political will to do it, while ironically an autocrat could cut through the red tape and get it done, as it had been enacted in several Asian countries in the last half century.


> Glad to see more exploration in this space.

I mean.... ParEdit [1] and ParInfer [2] have been around for a long time now. Structural editing is basically ancient. Lispers have been doing this for a long while, `slurp`ing and `barf`ing their parens.

[1]: https://paredit.org/

[2]: https://shaunlebron.github.io/parinfer/


I have no problem with anyone jousting with the windmills; I have a problem when they don't realize they are windmills. Hundreds and probably thousands of programmers have taken a crack at this problem. That doesn't prove it's a bad idea but it is effective proof until shown otherwise that if it is a good idea it is not such a good idea that it can instantly catch up to the decades of work in text editing. And the way some people talk about it, it's clear that a lot of programmers think that it should be that good.

This is up there with "everything would be solved with visual programming" and "hey, what if we could put down different syntax on top of the ASTs?". If your mental model is that it must just be because nobody has put any effort into the question, update your model, because in fact tons of effort has been expended and I'd suggest anyone interested in adding to the pile and actually solving the problems (as opposed to playing about, anyone can play with anything they like) is best served by examining the large pile of previous efforts and figuring out what they will do better than before.

Creating a language designed for being manipulated this way is at least a bit more rare than just declaring structural editing is the way forward in a general sense. Still, I'm skeptical. The existence of a textual serialization of programming language concepts is not the problem, nor is the usage of said serialization. Every serious tool already immediately deserializes the text into an AST, and when you really get down to the nitty-gritty of how one represents these things in memory, it is not at all clear that there is necessary a "better" way to serialize these structures, or one that is really very different in the ways that matter. There's a number of well-known (by those who look) pitfalls built into the idea of structural editing and it is not clear at all that the fundamental disadvantages can be overcome. Maybe they can. But the evidence at this point is effectively proof it's going to take more than waving "structural editing!" and some excitement at the problem.


> Creating a language designed for being manipulated this way

AFAIK, Lisp wasn't created for structural editing, it was just a "happy accident" that it lends itself so well to the technique. Even without the paredit and parinfer plugins, emacs already has good support for structural editing built-in. It reminds me of VIM text objects, but geared directly for Lisp syntax, ie. symbolic expressions.


The actual statement in the video is:

> ...because this is a frontend like LLVM or GCC that compiles instead of bytecode, uh, to Python AST, um, so this Lisp compiles entirely to Python

@ https://youtu.be/1vui-LupKJI?t=1020


> because it is fast and keyboard-driven

How is it faster to press `*` than `Ctrl-I` in any other rich text editor?

> The idea that it is meant to be seen is no more than a personal preference.

Actually, the entire philosophy of Markdown is that, even if you didn't process it into HTML or some form of rich text, it uses common conventions that have been used across Usenet, IRC, and plaintext files for years, and is thus readable without ever being processed. In fact, you can likely take various plaintext files and process them and they'll gain many incidental markups and highlights.

Meaning, Markdown is Markdown without needing to be turned into HTML or rich text. It is, in itself, a great way to universally markup text as people have been doing online for years.


i haven't pushed it to github yet, but i have a keybinding for alt-* similar to the alt-` binding at https://github.com/kragen/kragen-.emacs.d/blob/master/init.e... which italicizes the previous word. that way, to italicize a single word, which is the most common case, i only have to press alt-* once. successive presses expand the italicized region leftwards over more words (this happens whenever the cursor is directly to the right of a *; it isn't activated by an invisible bit that remembers whether the previous command was also an alt-*)

(it also ought to italicize the selection when there's an active selection, but i haven't implemented that yet)

i think this is a superior interaction paradigm to the paradigm where ctrl-i sets an italics mode that doesn't visibly change anything near the cursor, but affects the future text you type. that design not only usually requires more keystrokes but causes mode errors. this is how ctrl-i and ctrl-b should always have worked, and if larry tesler had thought of the idea by 01983, that's how they always would have worked

however, the keystroke ctrl-i is easier to type than the keystroke alt-*


Stolen, thanks! I just played around with something like that in vim¹, and it works great.

I have a tooling issue with your method, perhaps in the same manner as you feel about C-i. To me "italicize $count previous words" makes far more sense than expanding the region on repeated calls. Although to be fair I can wrap over visual mode for that functionality which would feel more comfortable to me; "ge" end of previous word, "v", $navigation, ...

My point - to the extent I have one - is that there is probably a degree of personal comfort that colors our reactions to people using C-i.

¹ Basically "imap <C-S-8> <Esc>bcw*<C-r>-*<C-o>w". I'll give it some more thought, along with adding v:count and non-* support, before it hits my vimrc.


awesome! i look forward to hearing how you end up doing it


You need to highlight first and only then to press ctrl-I. So yes, typing is faster if you do it a lot.


You may not be aware that Ctrl-I toggles the mode of new text, not just selected text. I think that poster was saying this:

If you're writing a new sentence in MSWord, you type "Emphasize words <Ctrl-I>like this<Ctrl-I>."

If you write a new sentence in Markdown, you type "Emphasize words *like this*."

The keys are neighbors even, at least in a US keyboard layout, so there is not a reason most US users would say it's "faster" to type * than Ctrl-I. (And if other layout users disagree, okay, but I don't think that was in the scope of the original point.)


I think in practice, people write "Emphasize words like this.", then <left> *, then <C-left><C-left> *. At least I myself usually add markup immediately after writing the words to be marked up.

The problem with Word-like editor styling is exactly that the boundaries are invisible, and the style is applied destructively to everything within highlighted range, instead of non-destructively by the range itself. What I mean is, if in the example above, I want to change the emphasis to only italicize "this", I can kill the first * and place it a word later. In Word-style editing, I'll have to highlight the whole "like " sequence and un-italicize it, hoping I didn't miss a space or a dot that invisibly retains the italics and then screw up editing for you down the line.


> I think in practice, people write "Emphasize words like this.", then <left> , then <C-left><C-left> . At least I myself usually add markup immediately after writing the words to be marked up.

Is this very different from "<left> <Ctrl+Shift+left> <Ctrl+Shift+Left> <Ctrl+I>"?


I do not know what exact keystrokes people use. When I am writing a lot of text, I eventually converge into writing like I described. Because it is faster and I know what I want.

What I also know is that when out company switched to visual editor only, people stopped using these. They stopped writing long texts - and those were those the most valuable.


you will probably appreciate the keystroke command design in https://news.ycombinator.com/item?id=41258170


Not sure whether most people do that? I nearly always press * or Ctrl-I before the italicized text I’ll type, and see that often among other people in the office.


I'm guessing it depends whether you type at approximately the speed of thought or not; in my case, I'm often halw-way through a passage before I decide I want it italicized.


> How is it faster to press `*` than `Ctrl-I` in any other rich text editor?

The shift key is right under my pinkie, a bit easier than the CMD key on my Mac (much less the Ctrl) for me.


> Is Tableau dead?

Yes, Salesforce consumes companies whole. Just like they did with Heroku and others.


Slack seems to be surviving thus far at least


They don't have any credible competition.


> An old employer used this instead of Docker for managing build distribution. Can the Guix stuff be used the same way?

Yes, and, Guix is actually a "meta" package manager that understands other packages like Python PIPs and Node NPM packages, so you can define all of that in one build config file.


Wait, this is a big deal. Will it work with any package manager or only things that it explicitly supports?

One thing that has become a persistent headache for me with Nix is trying to get reproducible builds with Julia, due to the fact that the package manager doesn't have direct integration with Nix, and `nix build` purposefully restricts network access. I'd happily move to Guix if they have an elegant way to deal with this.


Since it's all just Guile Scheme, a full programming language, you can extend it in any way you want, and use the Scheme libraries you want, doing whatever network access you please.


The builder is sandboxed, the whole model goes out the window otherwise.

Also, I really doubt Guix moves the needle much here. It can't make Julia magically more reproducible without effectively doing the same techniques you'd have to use in Nix.


Looks like Google is pushing or at least trialing full-screen, non-media-content, loud advertisements on their "Google TV" branded products. While this is for Chromecasts, it is possible it's coming to regular Google TV next...


> it is possible it's coming to regular Google TV next

We've all seen this show before and we all know how it plays out:

1) "We have an ad free service!"

2) "We're going to start showing promotions for our own products - they don't count as ads"

3) "We're going to start showing ads for our partners but they'll only be a few seconds long and you can skip them"

4) "We're introducing unskippable ads"

5) "We're now injecting ads directly into the content"

6) "That sure is a nice TV/media service you got there. It would be a shame if we injected so many ads that it becomes unwatchable. LUCKY FOR YOU we have a Premium ad-free tier"

Then go back to step one.


7) Oh and we use A.I. to render product placements into your streaming content.


Now we're introducing ads into the paid tier. so sorry.


I have a tv that shipped with Google TV and I've seen this chicken tender advert on it this week.


its now defective. return it.


I use PWAs extensively and Firefox decided they won't bother to implement them, so that's going to be a no from me.

Rather than wanting the web platform to be first class, they really want it to languish as a second-class citizen. Really sad, seeing as they also fired devs, and invested in "AI" instead.


What's the real use case of PWAs?

They just seem like another way to attempt to shift users from the 'proper web' into a place where blocking ads is more difficult.

Personally, I wish we could purge the vast majority of 'apps' from the world, they shouldn't be apps in the first place, most have no need to run native code, they should be links to websites, sites that can work on more-or-less any device in any browser.


I used to be the maintainer for Nativefier (which made web apps into native apps via Electron). It was very popular because many people don’t want certain sites to be one of X tabs in one app, especially when those sites act like they’re own apps. So we gave users the ability to treat these web “apps” like any other apps.

We actually shut down the project because a good PWA implementation does this better than we ever could. PWAs can have extensions like ad blockers (very difficult to impossible in Electron). PWAs get automatic browser updates (very difficult with Electron).

PWAs are great, and FF’s implementation of them is not.


I love having relaxingjazz.com open as a "webapp" in an independent non-browser small window on my linux desktop. Mint makes it very easy.


> They just seem like another way to attempt to shift users from the 'proper web' into a place where blocking ads is more difficult.

Extensions still run in PWAs on Chromium-based browsers, so I'm not sure that's the intent behind implementing them.

> Personally, I wish we could purge the vast majority of 'apps' from the world

Out of curiosity, where do you draw the distinction between an app and a website? PWAs are largely just websites with an OS shortcut, and in some cases more integration via platform APIs. I'm sure you're familiar with the term "web app", which perfectly highlights how muddied the line is with modern tooling.


I use Elk Mastodon client - being able to install it as a PWA is great - I get a nice icon on my mobile screen same as any other app, and it runs full screen without an address bar. I can switch between it and other apps, I don't see the downside really


> What's the real use case of PWAs?

Letting companies save money while still claiming they have "desktop apps".


On Windows the Twitter, Instagram, TikTok apps are PWAs. I like to use them because I can pin them to the start menu, have them start on a separate window by default and remember the window position.


> What's the real use case of PWAs?

Having apps that works as well as native ones, while using the same codebase and open technologies, and that is naturally as decentralized, safe and accessible as the web.

Also not needing to be politically correct, approved by Google and Apple or share large percent of revenue and marketing data with them.

It could be happening if Firefox took it more seriously and Apple didn't prevent it from happening.


Cmd/Alt+Tab

On macOS this is even more important because switching windows within an app does not use most recently used order.


Getting a full screen view without having to go through the insane hassle of Ionic and the Play store every time you make a one line change? Really useful for various offline control web apps, though I admit it's a rounding error use case that most browsers are more hostile to every year with arbitrary restrictions around HTTP connections (did you know Safari's ATS policy now blocks fetch over unsecure connections, lmao). Web games come to mind as well I guess?

I'm still baffled that mobile browsers don't have the desktop equivalent of F11. Or a console for that matter, the ADB is good and all but it's not always an option.


Indeed:

> Firefox and Safari do not support installing PWAs on any desktop operating systems... Chrome and Edge support installing PWAs on Linux, Windows, macOS, and Chromebooks. [1]

Any idea what Mozilla's motivation is here? (Apple's at least is easy to understand, even if you disagree.)

[1] https://developer.mozilla.org/en-US/docs/Web/Progressive_web...


> Firefox and Safari do not support installing PWAs on any desktop operating systems... Chrome and Edge support installing PWAs on Linux, Windows, macOS, and Chromebooks.

That's not actually true, MDN needs updating. PWAs are installable as standalone apps since macOS Sonoma and Safari 17 - https://webkit.org/blog/14445/webkit-features-in-safari-17-0....


There are workarounds for using Firefox web apps: https://forums.puri.sm/t/firefox-web-apps/21499/


Curious, can you give some examples of PWAs you use, and why? I've rarely seen any benefit of actually installing a PWA vs just bookmarking the site.

On mobile, I could see privacy reasons for wanting to use a PWA vs a native app, but every time I've seen a site that supports a PWA, they also support a native app and the PWA is usually a sad substitute in comparison.


Photopea, it's a web based photo editor that is really really great. If you install it as a PWA, it works offline. Similarly, excalidraw, monkeytype, google calendar all work offline if you install it as a PWA.

Apart from that, I have youtube music, slack, discord, whatsapp web just for convenience of having it in alt+tab rather than cycle through a thousand tabs (admittedly, this usecase is nullified by tab search)


>(admittedly, this usecase is nullified by tab search)

Cmd+Tab is far quicker than tab search for me.


Any online IDE is a much nicer experience as an installed PWA compared to as a browser tab. VS code server for instance, since you don't get a the address bar at top like https://code.visualstudio.com/assets/docs/remote/vscode-serv... (without having to go Full screen on browser), and you get a standalone icon in task bar, and standalone window so you can Alt-Tab between it and other apps like web browser of choice quickly.


I use PWAs for YouTube Music, Slack, and Readwise Reader.

Sometimes there is a standalone app available, like with Slack, but often the PWA has the same features and doesn't duplicate the entire Web Platform stack (Electron), which saves some battery.


Thanks, the Slack example is a good one, I just use the electron app now but there is no reason I shouldn't use the PWA.


Along those lines, does macOS 14's Safari's support for "Add to Dock" count as installing a PWA? I have a couple frequently used websites in my dock, acting more or less like regular Mac apps (or at least like Electron apps). What would a "proper" PWA add to that?

(Not a leading question. I'm genuinely asking people who like and use PWAs: is there something cool I'm missing out on?)


You're correct. I'm actually not sure what installing a PWA does that visiting the website in your browser doesn't, but it's essentially opening the website in a headless browser. So very much like electron except instead of having to bundle the browser in the executable it uses your machine's browser.


> headless browser

I think you mean chromeless (an amusingly confusing term when it's chrome hosting the PWA). If it were headless, you wouldn't see anything at all.


Ah indeed I mixed up the two.


I personally hate PWAs even the ones I use on mobile (with firefox). Not being able to open a link in a second tab for example. I much rather just open the web app in a normal browser. PWAs just seem to reduce functionality over a normal web page.


Poorly built ones, sure.

But in all fairness, it’s easier to build one poorly, and there isn’t much incentive not to.


I like to see Firefox the browser as something that will have a life independent of Mozilla the (crappily managed) corporation. When they finally go down in flames, the open source community will continue to work on it in some fashion. It started as a skunkworks project, and I expect it will continue to have a life after Mozilla.

That, or something else will fill the void (maybe something built off Servo, I dunno), but that seems less likely.


I have tried to switch out of curiosity, but the lack of PWA support in addition to missing features like WebUSB really limits how useful the browser is to me.


When I need webusb or webserial, I use edge or chrome. So far, that's been twice, ever.

I don't know anything in detail about those protocols though, and don't know why Firefox doesn't have them.


It's decidedly non-ideal that it requires an extension and a native helper, but https://addons.mozilla.org/en-GB/firefox/addon/pwas-for-fire... works.


we really need a wealthy tech founder type (especially one who made their millions or billions on the web) to start a new foundation that will actually care about Firefox rather than see it as a liability. Mozilla has completely lost my trust and support


I didn't follow this PWA stuff very closely, but from what I understand, Mozilla didn't want to implement the PWA protocol proposed by Google because it contained things that weren't compatible with the open web view focused on the benefit of the users which Firefox has. I'm happy there is a browser that takes this stance.


No mention of Foam? https://foambubble.github.io/foam/

Fine, I uhh, I'll speak for it.

Foam is to VSCode, what Org (and Org-Roam) are to Emacs.

As a former org-roam user, I ended up preferring it because my end goal was to convert my notes to HTML and blog posts, and org is poor at that as HTML is not valid org code whereas it is in Markdown. There's just a whole host of markdown-it plugins [1] out there to add footnotes and all sorts of things to Markdown, and Foam also understands Jekyll frontmatter YAML, which is perfect for blog post tags/categories.

[1]: https://www.npmjs.com/search?q=keywords:markdown-it-plugin

And because it's just an extension to VSCode, it works with every other extension: https://foambubble.github.io/foam/user/getting-started/recom...

This gives it similar power and flexibility to Org-Roam, as you can extend the model to improve the editing experience.

So why don't I use Obsidian, Logseq, and others? Because they're dedicated apps, and now I have to bring various half-baked plugins into them to give me the power my editor already affords me. With notes, half your time is spent editing, so why wouldn't you want your editing to be as close as possible?

Secondarily, nothing stops me from using everything altogether, since it's all Markdown, I can load up my note repo in Obsidian or Logseq and others, and continue editing in VSCode and Emacs!


Yeah but how do you access your notes on mobile?


They're in a GitHub repo, so I just use that since GH renders Markdown.

I could probably use Obsidian/Logseq mobile if I wanted to. (Again, because it's Markdown... which is about universal now.)

And like, it's Markdown. It's meant to be readable as-is, so I can probably figure out any alternative method. I'd obviously miss out on tag searching and graphing, but I don't have heavy mobile use right now.

Edit: Yeah, the GitHub mobile app ain't the worst. I can probably find a way to get local git on my phone, and then just use Obsidian Mobile if I want to get fancy.


I prefer this turtabalist trip-hop version that samples it:

https://youtu.be/LOypHvuSDIo

It's just chill and sets the mood.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: