HN user

lunch

85 karma
Posts6
Comments27
View on HN

BitTorrent is wonderful for sharing information, but it's not really a platform to build on. Something like Ethereum on the other hand is literally a decentralized computer that no single entity controls. The blockchain part enables this.

Blockchains are good when there's a lack of trust and decentralization is absolutely necessary. There are very few problems that actually need a blockchain.

How about the current status quo of the Internet? Do you think being mined, sold, and endlessly tracked is OK?

Art school graduate here, and my only advice is to broaden your sights and keep trying (if you want to). I've interviewed with FAANG too many times to count and every time it's crashed and burned on the comp-sci quizzes. Fuck em, keep looking. You'll eventually find a team that doesn't demand solving riddles that aren't applicable to your day-to-day CRUD. Take these jobs and you'll quite possibly learn the skillsets, or meet enough people, to get into the Big Co's without the riddles. It worked for me.

I feel like I have PTSD from Google and Amazon interviews early in my career.

Welp, tried atleast 7 times to watch this without a Facebook account. Made it about 2 minutes each time before being redirected to a login page.

I would like to see NASs allow me to basically allocate a percentage of my capacity to various peers to store encrypted-at-rest duplicates of their data

This is something I've been thinking about, too. We have so many Internet-connected devices with increasingly cheap storage-- Some universal protocol for distributing data across this network would be really cool. (I understand this could sound like blockchain. I have no horse in that race.)

This got me thinking about personal data storage. I think step 1 in owning our data is having a place to store it. That storage should be abstracted from the actual provider(s) so we can migrate and/or replicate our data. It should also be available from multiple devices. A personal data warehouse like this should be easy to create, a la 'deploy to heroku'.

It's shocking to me how few people I've met take their personal data storage seriously. Most folks I know treat Dropbox/Drive like a landfill.

I'd recommend learning a few, here's my 2 cents:

- Start with Python, it's a very common dynamic language in the wild.

- From Python it's easy to learn Go and you'll want some Go experience if you want to work on distributed systems in today's culture.

- Javascript is another extremely useful one to know that you'll find everywhere, start with the book "Javascript the good parts".

Adding these in addition to your Java base would make you very well rounded, IMO.

In my 5-6 years of professional experience (startups and enterprise, full stack to infrastructure) I've never encountered Kotlin/Elixir/Haskell/Swift.

I'll offer a slightly different take--

I've worked from home full-time for about 1.5 years, coming from the standard open floor-plan tech company office. I live in a 1 bedroom apartment in the city so I don't have a dedicated office. Instead I work from my desk in the living room, the couch in the living room, a makeshift standing desk in the living room, or the coffee shop around the corner.

My quality of work and productivity is as good or better and I work less hours than before. You don't need an elaborate home office or expensive furniture, just a good work ethic.

Context: I've been programming in Go full-time for the last 2 years and come from a Python and C# background.

  > No Generics
The lack of generics was something I was hung up on, too, but TBH I haven't found myself reaching for them for a while now.
  > Error handling
This is not a problem for me, either. I can easily handle different `error` types and if I want to provide more context I pull in github.com/pkg/errors
  > gofmt
gofmt is great
  > go test
go test has been totally sufficient for me and I was quickly writing and running tests. The testing package itself is builtin and writing tests is dead simple.
  > dep / dependency stability
Dependency management has been a huge PITA with Go and is my largest complaint. Personally, I've used everything go GB vendor, godeps, glide, and now dep. dep has been Just Working for me and is decent enough working on a team. As for dumping the dependency code in your source tree-- it lives in a folder called ./vendor so it's easy enough to not look at it.

App-wide support for 100% native navigation with an easy cross-platform interface. For iOS, this package is a wrapper around react-native-controllers, but provides a simplified more abstract API over it. This abstract API will be unified with the Android solution which is currently work in progress. It also fully supports redux if you use it.

It sounds to me, after reading the above and googling "React Native" for <10 minutes, that this library handles the UI navigation for mobile phone apps written in React Native, and it does so in a way that allows your code to work across multiple operating systems (presumably iOS and Android). This library is also compatible with redux, a very popular state manager.