Hacker News new | past | comments | ask | show | jobs | submit | lost-theory's comments login

I've looked into this a bit and the closest thing I could find is in VimWiki, where certain plaintext patterns are dynamically replaced with other text without actually changing the buffer.

See how line 11 dynamically changes in this video based on whether his cursor is on the line:

https://youtu.be/C0OwhiCp2Hk?t=223

I believe this is done using "conceal" as JNRowe says, e.g. here:

https://github.com/vimwiki/vimwiki/blob/619f04f89861c58e5a64...

I also second what JNRowe says about trying the new popup feature. I recently used this to run a script that calculates something based on where my cursor is currently at in the file, then show the result at the cursor using a popup:

    fun! CalculateFoodCalories()
      let day = GetSectionName()
      let day = substitute(day, "\[", "", "g")
      let day = substitute(day, "\]", "", "g")
      let out = split(trim(system("food --date=" . day)), "\n")
      call popup_atcursor(out, #{ title: "Today's calories", highlight: 'Statement', border: [],  padding: [1,2,1,2]})
    endfun
    nnoremap <silent> <leader>m :call CalculateFoodCalories()<CR>


After looking into how conceal works, it doesn't look like you can use it to "annotate" a line or dynamically change the text on the screen without actually changing the contents of the buffer. It can only be used to hide some pattern of text that's already in the buffer.

I would look into using popups, a separate pane, or something like vim-notebook.


It's interesting to watch Google's moves to control every part of the stack. Browser: Chrome. Frontend: Closure compiler -> obfuscated SPAs. Transport: gRPC. Backend: Proprietary Google software written in Golang. Orchestration: Kubernetes. Hosting: Google Cloud. Etc. You can imagine a future where Google services are no longer just web apps on the same footing as anything else in the web ecosystem, but where every step of the development, deployment, and end-use is managed by Google. Can't blame them for doing that, I'm sure it's more efficient, but it's definitely moving the web in a different direction, one where Google has more control at the expense of everyone else (end users, competitors).


They're not controlling anything by releasing open-source libraries/languages such as gRPC, Kubernetes and Go. Releasing these things don't give them control over anything that can negatively impact users; this is not Microsoft's embrace-and-extend.

Chrome, on the other hand, is worth worrying about. Unlike the other technologies you mention, it's a consumer application that legitimately lets Google apply Microsoft-style embrace-and-extend tactics, monopolizing the web and steering it in a direction that benefits Google more than anything (e.g. ads and tracking).

Kubernetes may have come out of Google, but it isn't even in their control anymore. If anything, Kubernetes is a strategic play to democratize cloud orchestration, undermining competitors such as AWS.


Good points. I don't see anything wrong with these individual open source releases. See my other comments about the larger trend this represents.

"Releasing these things don't give them control over anything that negatively impacts users" and "undermining competitors such as AWS" contradict with each other if you believe competition is good for users. The decision to release something as open source doesn't happen in a vacuum. Open source doesn't automatically make corporate activity morally good or neutral.


gRPC, Chrome and Closure are all open-source, Closure comes with source maps, and the "Proprietary Google software written in Golang" backend is pure speculation.They might turn out to be the Borg, but this release isn't part of of the assimilation process.


"It's open source" isn't the full story. Something can be open source and also used in a harmful way. You're right that gRPC-Web alone isn't a huge issue, but it's part of a larger trend of Google wanting to Google-fy the web, technology, or even society as a whole (see the leaked Selfish Ledger and Good Censor presentations).

Specifically in the case of gRPC-Web, even though "it's open source", does every gRPC service exposed on the web provide a .proto file for you to build your own client? If not, that's a big step down in terms of power given to end-users compared to REST.


Google is externalizing a lot of tools used internally for years. Use them or don't, it's your choice, but lots of time and effort has gone into making them work well so there's value there being made available for free.

To your point about .proto files for public endpoints: does every JSON HTTP endpoint exposed to the web provide documentation for you to build your own client? (of course not)


Again, I don't think this specific example is hugely significant, I'm looking at the larger trend.

Re: public endpoints. Say you're poking around a public web service, and it doesn't provide an API. Maybe you're writing a browser extension. Would you rather reverse engineer a JSON HTTP API with no documentation, or a gRPC-Web API with no .proto file?


$ grpc_cli ls <addr>

You’re welcome.


That looks useful. Do you know if that works with gRPC-Web where the underlying gRPC port is behind a service proxy?


It shouldn’t be a surprise that the company all-in on the Web has a solution for every part of the stack. It might be a surprise that they open source so many things but that’s a pleasant surprise. Every thing you mentioned has a replacement from someone else so I don’t see how you concluded “control”. And finally the great majority of Google’s backends are written in C++ not Go.


Many companies are "all-in on the web" but aren't in the same position as Google. Look at the recent Chrome profile / Google account auto-login issue. Isn't that an example of Google exercising "control" over how its users interact with the web?

If Google is effectively a monopoly, does it matter if you could theoretically replace all of its offerings? Think about other monopolies in history, I'm sure they had "replacements" too.


That is not accurate. If you went head-to-head with the Standard Oil Company they would send a guy over to blow up your house. The East India Company was based chiefly on genocide and high seas piracy. All this yip-yap about Google being a ruthless monopoly on a historic scale is completely ridiculous.

As for the Chrome login thing, being logged in on Chrome does not in any way shape or form alter the way in which Chrome interacts with non-Google sites or services. So I don't see how it is an example of how Google exercises control over the web. Certainly not in a world where I need only drag Chrome into the trash can to switch browsers (and, indeed, on a computer where Apple constantly exhorts me, in a way I cannot disable, to switch to Safari instead).


don't forget office suite:gdoc, and conferencing: hangouts/meet/whatever they force down your throat tomorrow. this is specially pernicious as they are actively using it to undermine Firefox in the workplaces. their proprietary plugin took 2 months to be available in Firefox after they rebranded hangouts as meet. and now it only supports SD video and crashes frequently.


Http/2, spdy


It looks like an anti-adblock measure:

https://github.com/reek/anti-adblock-killer/pull/2502

> after the page finished loading. It removed the real page content and replaced it with a box asking me to whitelist the site.

The reason why they're using so many domains is to circumvent blacklisting, and then the DMCA takedowns are another layer of circumvention on top of that.




Thanks guys/girls!


Watching tech talks on 2x speed makes this much more bearable for me. It's a lot easier to fit a talk into 15 minutes of free time vs. 30 minutes.

You can change the playback speed on YouTube videos by clicking the gear icon.

You can also use VLC to adjust the playback speed on MP3s and downloaded videos.


Agreed. That's why it might make sense to fight NIH on the general problem of sending emails, but to give into NIH when deciding to use an "external service to handle email drip campaigns" vs. building it in-house. That type of problem is much more specific to your needs and attempting to outsource it could cost you more time and complexity than it saves.

Using an ESP for delivering email is a no brainer in most cases.


Here's one I found a while back:

https://github.com/usablica/intro.js


Cygwin comes with mintty [1] now, which is a decent terminal, though it doesn't match iTerm, Gnome terminal, etc. in terms of features (like tabs).

[1]: https://code.google.com/p/mintty/


Looks nice! The design of the example PDF is a bit noisy for my taste (the geometric shapes at the bottom of every page). And the demo PDF you generate by uploading a markdown file has a lot of whitespace. But I assume that's all tweak-able with a real account.

I got an "Oh no! We hit a snag processing your report. Markdown help." error without telling me what was wrong with the file. Seems like images break it.

For making these kinds of PDF I currently do this: 1. Write version controlled rst/markdown/creole. 2. Convert to HTML with a small script / command line tool (which also lets me do pre- and post-processing, like adding CSS). 3. Use chrome's print dialog to save the page as a PDF. This works pretty well for me.


Ah, yeah, I need a better message about images. They work fine if they're at a fully qualified URL.

The final output is indeed tweakable and there are 4 totally different templates to choose from.

I always encourage people to go with whatever system works best for them. I'm glad you have something that you like. :)


It's not on the list. The least expensive metros range from $0.50/sqft to $0.65/sqft and Detroit-Warren-Livonia, MI is $0.94/sqft. That metro area is larger than just the city of Detroit itself though, which is probably what you're curious about?


Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: