HN user

lost-theory

184 karma

[ my public key: https://keybase.io/stevek; my proof: https://keybase.io/stevek/sigs/EafZ9kO216WqFwfNG-SFEGL4S4HpeSumOnVYp3Louyk ]

Posts1
Comments105
View on HN

Pretty fun. But I saw this issue come up on multiple days: Letters were AIERNGT for the final word of day #2. I tried INGRATE. Didn't work. Then I tried TEARING. That worked. But then on the win screen, it said GRANITE. Huh...

I think it's pretty neat. It'd be cool to have recurring commenters with different personas who focus on different things. I wrote a test post and almost all of the comments focused on one detail to the exclusion of others. With different personas/focuses you'd get more variety in responses. I also think responding to comments would be a natural next step. Or if those commenter personas are persistent, you could @-mention them in a follow up.

Show HN: NoteCalc 6 years ago

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.

Show HN: NoteCalc 6 years ago

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>

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

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.

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?

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.

"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.

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).

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.

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.

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?

After registering, it gives you this message which says they'll help match you up with a mentee:

"Thanks for pledging to mentor! You’ll receive an email with more information about how to fulfill your pledge in early 2015, once we’re ready to match mentors with mentees!"

Here's a python one-liner that will do it:

import os; import random; os.system("vim %s +%s" % (lambda f: (f, random.randint(1,len(open(f).readlines())+1)))(random.choice([f for f in sum([[os.path.join(p, f) for f in fs] for (p, ds, fs) in os.walk(".")], []) if not ".git" in f])))

Lumosity - http://www.lumosity.com/ - San Francisco, CA

We are looking for software engineers on the rails team and operations team (the team I'm on)!

Lumosity provides brain training games to improve the minds and lives of our 60 million users worldwide. Lumosity.com is one of the largest consumer rails apps and has a team of really smart engineers and product people building it.

If you're interested, please read the job descriptions and apply here:

Sr. Software Engineer (Rails): https://jobs.lever.co/lumosity/56dba397-a23d-43e6-b8cb-817be...

Sr. Ops Engineer (DevOps): https://jobs.lever.co/lumosity/a9f51eeb-d3fd-479c-9ecf-e9023...

Performance Engineer: https://jobs.lever.co/lumosity/771d2086-f508-42e8-8f8e-3938b...

We also have a bunch of positions open at https://jobs.lever.co/lumosity for engineers (iOS, Android, Flash) and others (UX, marketing, internationalization, PM). If you have any questions at all please email slieberman@lumoslabs.com and put "Hacker News" in the subject!

This wraps up my feelings about CM tools very well. They all seem to follow this "language agnostic" / "it's not really programming!" model, whether it's chef's ruby DSL or ansible's YAML. I don't understand what's so special about this field that it requires a totally different paradigm.

In chef's case, I would rather write simple classes & functions in plain ruby than use the DSL and write "Lightweight Resource Providers".

In ansible's case, I even did a little experiment to show what it would look like to use & call ansible modules as normal python code:

https://github.com/lost-theory/ansible/blob/module_experimen...

https://groups.google.com/d/topic/ansible-project/Zv3Veo77gP...

I would love to see a CM tool that embraced plain python or plain ruby and not try to go the pseudo-"declarative" route, which ends up being IMO too constraining for not much benefit and needlessly reinventing a bunch of wheels (e.g. looping & conditionals, as the article mentions).

Lumosity - http://www.lumosity.com/ - San Francisco, CA

We are looking for software engineers on the rails team and operations team (the team I'm on)!

Lumosity provides brain training games to improve the minds and lives of our 60 million users worldwide. Lumosity.com is one of the largest consumer rails apps and has a team of really smart engineers and product people building it.

If you're interested, please read the job descriptions and apply here:

Sr. Software Engineer (Rails): https://jobs.lever.co/lumosity/56dba397-a23d-43e6-b8cb-817be...

Sr. Ops Engineer (DevOps): https://jobs.lever.co/lumosity/a9f51eeb-d3fd-479c-9ecf-e9023...

Performance Engineer: https://jobs.lever.co/lumosity/771d2086-f508-42e8-8f8e-3938b...

We also have a bunch of positions open at https://jobs.lever.co/lumosity for engineers (iOS, Android, Flash) and others (UX, marketing, internationalization, PM). If you have any questions at all please email slieberman@lumoslabs.com and put "Hacker News" in the subject!

Lumosity - http://www.lumosity.com/ - San Francisco, CA

We are looking for software engineers on the rails team and operations team (the team I'm on)!

Lumosity provides brain training games to improve the minds and lives of our 50 million users worldwide. Lumosity.com is one of the largest consumer rails apps and has a team of really smart engineers and product people building it.

If you're interested, please read the job descriptions and apply through jobvite here:

Senior Software Engineer (Rails): http://hire.jobvite.com/j/?cj=oW7PVfwx&s=SWE_HN

Senior Ops Engineer (DevOps): http://hire.jobvite.com/j/?cj=oX7PVfwy&s=DevOps_HN

Rails Performance Engineer: http://hire.jobvite.com/j/?cj=oUPGYfw7&s=PerfEng_HN

We also have a bunch of positions open at http://www.lumosity.com/jobs for engineers (iOS, Android, Flash) and others (UX, marketing, internationalization, product management). If you have any questions at all please email slieberman@lumoslabs.com and put "Hacker News" in the subject!