HNHacker News
TopNewBestAskShowJobs

whoisjohnkid

121 karma · joined July 12, 2016

submissionscomments
whoisjohnkid··on The Crucial Layers of Bitcoin Security: A Tale of Hardware Wallets and Risks
The hardware wallet a.k.a cold storage, is predominantly protecting you from key exposure.

The thought process is if your private key is on an internet connected device there’s always a possibility that it can get compromised.

A hardware wallet will generate a private key for you offline and you can sign transactions in an air gapped fashion. e.g.

You might have a ‘watch only’ wallet on your phone that only has the public keys. When you want to move your funds the watch only wallet will create a transaction that is not signed. It will then display the transaction as a QR code that your hardware wallet can read.

From there the hardware wallet gets the transaction and is able to sign it. Then your ‘watch only’ wallet can read the signed transaction via an QR code from the hardware wallet; all without ever exposing the private keys to an internet connected device.

whoisjohnkid··on Ask HN: Which books have made you a better thinker and problem solver?
Thinking in Systems by Donella Meadows

This introduced me to systems thinking which gives an interesting perspective on how to solve complex systemic problems.

Concepts can be applied to engineering or any other field

whoisjohnkid··on Ask HN: How do you deploy your weekend project in 2022?
terraform and AWS’s free tier. Only costs are route53 costs which depending on your setup you can also eliminate.

I’m usually utilizing a static site generator for main site; usually S3 behind a CDN.

Then I’ll typically have my services written in go running serverless behind apigateway. Then locally I just have my services running on a generic http framework.

whoisjohnkid··on LastPass: Notice of Security Incident
Hmm, even though LastPass doesn’t have access to your pass, couldn’t a malicious software update cause attacker to view your passwords when it runs since the software ultimately has access?

This doesn’t seem to be the case in this incident though.

whoisjohnkid··on Ask HN: How do you use Bitcoin in a trustless way?
Air gapped wallets can utilize QR codes to sign transactions. Look into PSBTs (partially signed bitcoin transactions).

Gist is you can create a transaction from any device that doesn’t have your private key … send that transaction via a QR code to your cold wallet, then your cold wallet can sign transaction and create a new QR code for the other device to use.

whoisjohnkid··on Ask HN: I’m 41 and still unmarried – what should I do?
Woah thanks for sharing your situation. Talking about it to others sounds like a step in the right direction.

One thing to consider is what you are teaching your kids by staying. Kids have a habit of picking up on these things at an early age and can internalize the unhealthy relationship you have as ‘normal’.

whoisjohnkid··on Apple Passkey
Woah this is awesome. Does anyone know if this is using web authn under the hood? Or is this a new spec? Would love to see Pub/Priv replace passwords
whoisjohnkid··on Ask HN: How to invest savings?
1. 6-12 month emergency fund

2. Learn to Budget if you don’t already

3. Max out retirement accounts

4. Place remainder in index funds; S&P is a great one to start with

5. Invest some time into learning more about finance

  - I highly recommend the 2008 MIT open course by Andrew Lo [0] to learn some fundamentals; options, futures, portfolio theory
6. Learn some tax basics such as:

  - Cost basis

  - Capital gains/loss

  - Capital Loss write off

  - Capital loss carry forward

  - Tax Loss harvesting
7. Consider looking into bitcoin

  - Read The bitcoin standard and the Fiat Standard
8. Use your learnings to further optimize your investments

[0] - https://youtube.com/playlist?list=PLUl4u3cNGP63B2lDhyKOsImI7...

whoisjohnkid··on 101 AWS Lambda tutorial for Go developers
This is great. I’ve been looking for documentation of using the new al2 runtime with go and this fits the bill. Thanks for the excellent article.
whoisjohnkid··on DynamoDB 10 years later
I absolutely love DynamoDB. Would definitely recommend the DynamoDB Book by Alex Debrie and Advanced DynamoDB Patterns by Rick H on YouTube.

Once you understand how to properly use dynamo and what it’s good at it you get so much power; at a fraction of the cost depending on your workload.

Was a breeze to setup multi region applications that utilize the single table design strategy.

If you ever need complex queries just use dynamo streams to power whatever search solution you are comfortable with.

whoisjohnkid··on Ask HN: Have you been in a team that did “daily standups” asynchronously?
We currently do this. Team is compromised of folks across multiple time zones so it comes in handy.

However, I do feel like synchronous stand-ups are more productive

whoisjohnkid··on Failed for the past 12 years as an tech entrepreneur
Are you doing this solo? I’ve found it’s good to have partner(s).

Ideally with diverse backgrounds; e.g.

  - marketing

  - engineering

  - sales

  - finance
This way the burden doesn’t fall on you for everything and you can lean on others to do their part.

IMO a lot of tech entrepreneurs take the marketing/sales side for granted.

whoisjohnkid··on Worker pay isn’t keeping up with inflation
I wish we had more systems thinking around these problems.

From my perspective it seems some are quick to want to change to another system on any signs of problems in the initial system; where the new system fails to have any good feedback loops built in.

I also see a lot of one off solutions that don’t fully understand the systems problem that only introduces more complexity to the system usually without solving the initial problem.

whoisjohnkid··on Worker pay isn’t keeping up with inflation
There’s a lot of pitfalls measuring inflation in general especially when you add tech to the mix.

Technology is known to be deflationary; getting faster and cheaper over time.

This is how some fast food prices have been mostly staying the same; though even here you sometimes see shrinkflation.

It’s unfortunate that there’s so much politics around the inflation numbers, things that are deflationary are deliberately used to reduce the inflation numbers.

If something is too inflationary it either stops being measured or new ways of measuring are introduced that reduces the numbers.

whoisjohnkid··on Chess.com vs. Lichess
started off with chess.com and moved over to lichess years ago. Haven’t looked back since. Yeah sometimes it takes a while to join a game if you are trying to just play casual, but all in all I like it better. Can’t believe it’s mostly ran by one guy. Thought they had a team of devs, makes me appreciate the product even more now.
whoisjohnkid··on Chess.com vs. Lichess
Yes zen mode is amazing. You’d be surprised at how much better you do when you just focus on the game vs paying attention to your opponents rating.
whoisjohnkid··on Notes on the Go translation of Reposurgeon (2020)
All depends on what’s important to you in that startup context. If you need a good mix of high productivity and low costs on the server side I think go is a good fit.

If you don’t care so much about costs and scale on the server side then something like Ruby on Rails might give you that extra productivity boost you need to verify the concept.

whoisjohnkid··on Notes on the Go translation of Reposurgeon (2020)
Hmm, can you provide some examples of how a context based iterator is slow?

If you need raw performance and you are just doing some minimal operations on a slice then yeah you’d want to use a simple for loop instead.

I typically use this pattern in situations where you have a ton of data coming back where you want to avoid storing all of that data in memory.

whoisjohnkid··on Notes on the Go translation of Reposurgeon (2020)
Regarding your point on iterators, I typically use a channel with context; this lets you exit that range loop early and will automatically stop the related go routine. (assuming it’s context aware)

e.g.

func myFunc(cx context.Context) {

  ctx, cancel = context.WithCancel(cx)

  defer cancel()

  for item := range iterator(ctx) {
      
  }
}
whoisjohnkid··on Notes on the Go translation of Reposurgeon (2020)
Raphael Poss did a really insightful talk on how to gracefully panic[0]; this gives try catch like functionality, though should be used sparingly IMO.

- [0] https://m.youtube.com/watch?v=c78U0MZ4b_c

whoisjohnkid··on Crypto Wash Trading
title is misleading. 70% of unregulated exchanges.
whoisjohnkid··on Web3 architecture and how it compares to traditional web apps
The hype around crypto started with the revelation that bitcoin brought forward: digital scarcity.

A lot of folks hopping on the hype train mentioning they are doing X with blockchain are missing the revelation. blockchain is just a piece of the innovation, imagine if when the car was invented and suddenly inflatable tires got all the hype … that’s pretty much the times we are in. The whole is greater than the sum of its parts.

All the pieces that made bitcoin were already there. Satoshi was just the first to arrange them in the right order

whoisjohnkid··on Injecting environment variables into static websites using Nginx
Interesting. I usually just do a two liner with envsubst

envsubst < template > parsed

executable $@

whoisjohnkid··on China declares cryptocurrency deals ‘illegal’
A lot of the energy consumption argument against bitcoin stems from this study [1]. Some have pointed out flaws in the study that over inflate the consumption numbers. This has sparked various indexes that have tried to measure the consumption in an unbiased way [2].

Additional studies [3] have shown that 39% of bitcoin miners are using renewables.

The energy consumption argument has led some to investigate the energy consumption of other assets such as gold with some estimating the energy requirements for gold to be 50x that of mining bitcoin [4].

Whenever energy consumption of other assets are pointed out to be higher than bitcoin the debate then shifts to utility; e.g it’s ok if Y consumes X energy because Y provides Z to society.

Some bitcoin miners are finding interesting way to utilize the heat produced by their mining equipment [5]. And some say that bitcoin mining can help reduce the cost of producing new green energy infrastructure since excess power that would’ve been wasted could be used for bitcoin mining to offset costs.

I agree with you that it is tough to find unbiased info on the subject.

- [1] https://www.researchgate.net/publication/328581842_Bitcoin_e...

- [2] https://cbeci.org/

- [3] https://www.jbs.cam.ac.uk/wp-content/uploads/2021/01/2021-cc...

- [4] https://simon.medium.com/bitcoin-and-pollution-the-definitiv...

- [5] https://braiins.com/blog/green-innovation-in-bitcoin-mining-...

whoisjohnkid··on Show HN: Go playground powered by WASM that runs in the browser
great points. I’ve used tinygo, it is pretty awesome unfortunately the features I was using weren’t supported; I was utilizing some public key cryptography.

I will have to check out emgo; first time I’m hearing about it.

whoisjohnkid··on Show HN: Go playground powered by WASM that runs in the browser
I would love if wasm got some more TLC from the go team. Output sizes are massive compared to rust or C. I think it’s just a matter of adding some tree shaking … but probably easier said than done.

I’ve been falling more and more in love with wasm … so many possibilities :)

whoisjohnkid··on FFmpeg to WebRTC
Nice stuff; I did something similar with ffmpeg and pion.

It was for audio and it was webrtc to ffmpeg. I was streaming a group chat directly to s3.

It mostly worked, but the only problem I ran into was syncing issues if a user had a spotty connection. The solution seemed to involve using rtmp to synchronize but I didn’t have a chance to go down that rabbit hole.

whoisjohnkid··on Ask HN: What's your approach to personal data archiving and backups?
I encrypt stuff and just keep it in various cloud storage solutions. I wrote my own encryption program in Golang using a combination of scrypt, aes and gcm
whoisjohnkid··on Apple announces first states to adopt driver’s licenses and IDs in Apple Wallet
woah thanks for sharing this. Just tried this out and it lets you draw areas you don’t want to be accessible as well; which is pretty neat.
whoisjohnkid··on Ask HN: What problem are you close to solving and how can we help?
> Are there other ways we can make technical recruiters better?

- list salary range for positions

- emphasize tech stack

- emphasize number of rounds

I’ve wasted my time in the past going through the interview process only to find out the company’s budget for the position was only up to X after getting the offer; a valuable lesson I’ve learned to avoid since then of course.

I also see some recruiters only talking about what the business does … leaving out the tech stack.

If these points are clear and easily visible to recruiting leads they might get higher quality candidates.

Just my two cents. ¯\_(ツ)_/¯

Page 1 of 3Next →