HNHacker News
TopNewBestAskShowJobs

jpillora

105 karma · joined June 20, 2013

submissionscomments
jpillora··on Ask HN: Does anyone else feel like nothing matters anymore?
This is the answer - software engineering and your job has changed - find the new mastery in it
jpillora··on Good Tools Are Invisible
This is also true from the inverse. Making every tool visible may feel good to some users. They sit in their F16 cockpit, and they like having all those buttons, and knowing what they do.

But this does not scale. You can fit 100 buttons in front of you. You can learn each one and the best situations to use each. But can you fit 1000 buttons in front of you? No. Different humans have different complexity thresholds. Some humans can deal with 10 buttons, and some 250 buttons! But no human can deal with 2000 buttons. There exists a hard limit on tool complexity.

If you want your tool to be useful, then as you increase the number of different humans that sit in your cockpit, you naturally must lower the number of buttons in front of them. The tools must tend towards invisibility.

jpillora··on OpenGitOps
The problem with git ops only manifests after it’s become a standard within an org:

With 1 git ops pipeline, it’s fine, it’s the human merge gate, it’s doing its job protecting downstream

With multiple git ops pipelines however, they start to get in the way of progress - especially when they need to be joined in series

The better approach is to build API-first then optionally, add an API client into your git pipeline

jpillora··on Go beyond Goroutines: introducing the Reactive paradigm
This is not the Go way. This abstraction appears to come for free, but it does not.
jpillora··on Simpler Backoff
Simple backoff ftw https://github.com/jpillora/backoff
jpillora··on WASM will replace containers
They're different things, solving different problems:

- Containers are wrappers for binaries. Any binary can be contained, and when run, it gets a constrained (fake) view of the kernel.

- WASM defines a portable binary format. WASM is intermediate-representation, in the same vein as Java byte-code.

You could reasonably put WASM binaries inside containers

jpillora··on Go should sometimes be a no-go
If you’re a Java dev, and you try to force Java-isms into Go, you’re gonna have a bad time.

The Go philosophy http://go-proverbs.github.io/ pays off less in the short term, within a single file, or a single stdlib function, or with syntactic sugar to code golf 3 lines into 1 - it pays off in the long term, across time and people - and this makes all the difference

jpillora··on Mdx – Execute Your Markdown Code Blocks, Now in Go
See also https://github.com/jpillora/md-tmpl
jpillora··on An Animated QR Code of Bad Apple
Please make a live demo version of this using only JavaScript and HTML :D
jpillora··on Why I hate your Single Page App (2016)
RIP Stefan
jpillora··on Chisel: A fast TCP/UDP tunnel over HTTP
You’re right, that’d be a better test - and I think the gap between chisel and crowbar would grow even more. Chisel is effectively doing ssh tunnelling, with extra layers. Performance is lost in packet wrapping/unwrapping, reduced MTU but it shouldn’t result in more round trips
jpillora··on Chisel: A fast TCP/UDP tunnel over HTTP
Correct, it’s equivalent to ssh tunneling except there’s some HTTP/websocket wrappers around it
jpillora··on Chisel: A fast TCP/UDP tunnel over HTTP
That’s exactly what it is, see releases
jpillora··on Chisel: A fast TCP/UDP tunnel over HTTP
Tailscale is a virtual network device (works on L3, tun not tap device) whereas chisel just listens on ports (works on L4)
jpillora··on Chisel: A fast TCP/UDP tunnel over HTTP
I was tempted to play the cat and mouse AV detection game though decided against it. It’s open source and with effort, one can make it avoid detection, but I’ll leave that up the reader
jpillora··on Chisel: A fast TCP/UDP tunnel over HTTP
Hey all, I’m the author of chisel. Feel free to send any questions my way
jpillora··on Show HN: Obsidian Canvas – An infinite space for your ideas
Relevant https://securitycryptographywhatever.buzzsprout.com/1822302/...
jpillora··on Run your ghost blog on Raspberry Pi for free
Port forwarding is fairly simple. All routers should support it. Forward port 443 to local-rpi-ip-address:443. Setup caddy/traefik. Create A record to public ip. Enable tls. Enable file hosting. Done: you now have TLS static website without any 3rd parties.

That said, cloudflare is super handy for dns, and for proxying specific domains, where you don't want to expose your public ip.

jpillora··on Ask HN: Is “GitHub, f*ck your name change” being suppressed?
Interesting, thanks for the reply
jpillora··on M1 MacBook Air hits 900 GFlops in the browser with Safari's experimental WebGPU
I use Docker (preview) on my M1 everyday for work and it's great. You can run `aarm64` containers natively, or you can emulate, for example, with `--platform linux/amd64`.

I'm guessing you're running into issues with C dependencies. You can go also go full Rosetta: create an alias to your terminal, right-click enable "Run in Rosetta", open it, then everything you run from this terminal will also be Rosetta (amd64), and you run Rosetta homebrew, node, etc. You can confirm what is running under Rosetta in Activity Monitor.

I've recently switched my default homebrew from Rosetta (/usr/local) to native (/opt), by switching my PATHs around since I was mostly waiting for go1.16 to arrive.

jpillora··on Ubuntu successfully virtualized on M1
This. And now begins the decline of x86 and Intel.
jpillora··on Plug’nPwn – Connect to Jailbreak
Demo shows root shell. So an attacker could simply install a RAT into /Library/LaunchDaemons and it's permanent.
jpillora··on Nova by Panic
Any know much about Nova, and how hard it would be to integrate the Go Language Server with it? seeing as it conforms to LSP
jpillora··on WireHole: Set up Pihole, WireGuard, and Unbound instantly
MikroTik have recent added support https://forum.mikrotik.com/viewtopic.php?f=1&t=165248
jpillora··on Fiber – Express inspired web framework written in Go
Do not use this. Full of Go anti-patterns.
jpillora··on Magic-Wormhole – Get things from one computer to another, safely
See also https://www.sharedrop.io/ (WebRTC-based AirDrop clone)
jpillora··on SQRL – Secure Quick Reliable Login
The lost master key problem is addressed here: https://www.grc.com/sqrl/idlock.htm
jpillora··on Setting Up HTTP(S) Load Balancing – WebSocket proxy support
Does this include AppEngine?
jpillora··on Chisel – A fast TCP tunnel over HTTP
I remember trying run SSH (the current TCP multiplexing protocol) over straight HTTP and found there were issues so I added WS to the mix. There probably is a way to do it though it does the job as is.
jpillora··on Chisel – A fast TCP tunnel over HTTP
No, TCP has not been reimplemented.
Page 1 of 2Next →