HNHacker News
TopNewBestAskShowJobs

haney

898 karma · joined March 25, 2013

Serial Entrepreneur and Angel Investor based in NYC.
submissionscomments
haney··on Student hacked into Apple servers and downloaded 90GB of ‘secure files’
Yeah this article is kind of light on technical details. I’d love to see an in depth postmortem and see what Apple’s mitigation plan is.
haney··on AWS error exposed GoDaddy business secrets

   That feels like about three layers too low.
Pretty much my entire feeling on AWS's UX every time I want to do something simple
haney··on AWS error exposed GoDaddy business secrets
Except an AWS employee configured it, granted that employee was human, but was a member of the blamed organization.
haney··on AWS error exposed GoDaddy business secrets

  "The bucket in question was created by an AWS salesperson 
   to store prospective AWS pricing scenarios while working 
   with a customer," an AWS spokesperson told Engadget.
It's bad when even AWS employees misconfigure security on buckets...
haney··on Ask HN: Cities underserved by tech jobs?
Also, I was curious, and by the Wikipedia definition[1] TN doesn't qualify as "deep south". We definitely still have our share of problems and there are "southern" things that drive me crazy but it's not quite as back woods as many people believe.

1. https://en.wikipedia.org/wiki/Deep_South

haney··on Ask HN: Cities underserved by tech jobs?
Chattanooga is a similar refuge, Democratic mayor and pretty liberal local government, 4th most democratic voting county in '16 (although admittedly still red by a small margin, mostly due to the outer reaches of town)
haney··on Ask HN: Cities underserved by tech jobs?
Chattanooga, city government and non profits are itching to be supportive, small but enthusiastic engineers community, super high quality of life.
haney··on iOS 12 uses Lua code downloaded from Apple's servers
https://developer.apple.com/app-store/review/guidelines/

  > 2.5.2 Apps should be self-contained in their bundles, 
  > and may not read or write data outside the designated 
  > container area, nor may they download, install, or 
  > execute code which introduces or changes features or 
  > functionality of the app, including other apps. 
The wiggle room is in the "introduces or changes features or functionality of the app" line, they've given themselves vague discretion to reject things that download too much code, but there are tons of apps that do OTA updates that haven't been rejected because they aren't changing fundamental features/functionality.
haney··on Ask HN: What are your go-to blogs and books on building business applications?
It might help if you could provide a bit more context. Is there an example project you're working on? Is there a particular sector / type of business you're interested in learning more about? Are you interested in the "process" of business (finance/strategy/etc.)?
haney··on Composing Programs – An introduction to programming in the tradition of SICP
I agree that javascript is a bit odd for a beginner in terms of scoping, callbacks, truthiness, etc. However, it's really broadly applicable, JS would be a horrible choice for a university introductory course but might not be a bad choice for a hobbyist who's trying to quickly start doing things that keep them interested in learning.

I would however, strong suggest that javascript shouldn't be someone's only language.

haney··on Why Discord Is Sticking with React Native
I've used code push before and didn't really love the lack of visibility into what was running on the other side, it also feels really risky to make it a core part of my app considering that microsoft has already changed direction on backend hosting for code push at least once.

Any chance you could share any info about the architecture design of your homegrown system? I've seen a few snippets where devs build their bundles and host them in s3, how complicated was it for you to roll your own OTA solution? Would you guys do it again or would you use Code Push?

haney··on Why Discord Is Sticking with React Native
What tool/service/library are you using for OTA updates? Could you share any best practices around managing the roll out (do you push to everyone, a subset, etc.)?
haney··on MongoDB and Python
> Is your data heterogeneous at a record-level?

I usually just use JSONB columns for this.

haney··on MongoDB and Python
I'm interested to see this on the front page given the number of people trashing Mongo lately.

Currently when deciding on a backing store for my python based applications I usually jump straight to PostgreSQL what are the things that Mongo excels at these days that are missing from pg?

haney··on Python Operators
After you're mastered all the available operators the real fun begins when you start writing your own operator methods on classes http://thepythonguru.com/python-operator-overloading/

The ability to override operators is one of the things I miss most from Python when I'm forced to write javascript.

haney··on Ask HN: Were you happy moving your API from REST to GraphQL?
Nice, I tried to hand roll something like this using link-state and my own renders but it didn't work well for me. I'll definitely check this out.
haney··on Ask HN: Were you happy moving your API from REST to GraphQL?
So I understand that I can use the cache, not use the cache, or use the cache and always go over network for the entire request but that's all client side. GraphQL in general lacks a good answer for object level caching (so in my case I just filter things out before they make it to the component). It also lacks a solution for the server to indicate to the client how long something should be cached (like you would with cache headers or Etags)

It's just really annoying that I have a ton of queries that return lists of objects, where each object has an easily known expiration time, and there's no way to say, "cache this result but remove the elements that have expired". I can't even say, "cache this list until X time", which would be very easy in a RESTful environment. I know there are extensions to support caching but none of them are universal yet. I'm hopeful that the community will land on an answer for object level cache expiration.

haney··on Ask HN: Were you happy moving your API from REST to GraphQL?
I’ve played with it a little, and I may resort to creating a proxy node app that reads through to the python app exclusively so I can get better monitoring.
haney··on Ask HN: Were you happy moving your API from REST to GraphQL?
Mostly, NOTE: I'm using python/django/graphene server side and apollo client side.

I love how flexible it is for client developers and because the great client side libraries it helps to eliminate a ton of boiler plate code on the client side.

My biggest complaint has been "lost" exceptions and caching.

Because it's possible for an exception to be thrown server side on one field while the other ones succeed I've been plagued with hard to monitor/find errors. I ended up writing a shim to parse the response in an attempt to get more insight into #errors / fields (this has also been really helpful for monitoring slow queries in new relic since all requests go to the same endpoint which breaks a ton of APM monitoring).

My other issue has been around caching, in apollo there are ways to say "don't use the cache for this request", but it's not to give an object a cache ttl. My app allows users to search for events that are happening near them right now, and I've run into several issues where apollo decided that an event from yesterday should be added to a result. It happened frequently enough even with queries that included times as an argument that I ended up basically implementing a "middleware" between what apollo gives back and the component, which felt really ugly.

haney··on React Native: A retrospective from the mobile-engineering team at Udacity
Sure, I’m not advocating for developer experience above all else, just pointing out that the fast/cheap/good “pick any two” balancing problem can be solved in multiple ways. I totally agree that we build products for our users not ourselves.
haney··on React Native: A retrospective from the mobile-engineering team at Udacity
All engineering requires trade offs, in this case you’re trading productivity in one area vs flexibility.
haney··on React Native: A retrospective from the mobile-engineering team at Udacity
So I'll state my bias up front. I'm a pretty happy non-native react-native developer.

After reading this write up and AirBnB's write up about RN I keep wondering if the source of the problem is more with integration points between native features.

Like I said, I'm not a traditional native mobile engineer, but as a single dev I've been able to build a rather large and complicated app almost entirely in react-native. That's not to say that I don't use mobile features, I'm using a dozen or so libraries for native features, but the common problem that seems to arise is "this doesn't integrate well with the rest of our native app". IMHO if you're writing business logic in swift/java instead of javascript you're going to have a bad time. If, however, you use/implement narrowly scoped native libraries that are glued together with javascript it's a pretty nice experience.

I wonder if the issues that they encounter are more a symptom of trying to "bolt on" react-native.

haney··on How to Structure Django Projects
This is a totally acceptable approach but not one I personally would prefer.

One of the advantages of django apps is having cleanly divided responsibility. For example, I worked on a large django project that had 70+ apps and several dozen developers. Engineers were encouraged to create new apps for new functionality. In some cases apps could be cleanly pulled out of the code base and converted into a library. The ability to pull libraries out of the "main" repo also meant that certain teams could more easily "own" parts of the codebase. At a different company we actually decided to split our monolith into 3 separately deployed services and it was pretty easy for us to copy the appropriate Django apps into new services.

In general I've found that early in a company's life it is much easier to manage the complexity of a monolith and I've found that Django's app abstraction allows developers to communicate which parts of the codebase shouldn't be overly intimate with one another, which at least gives you a hope of breaking pieces into separately deployable libraries or services as the company/project scales up.

haney··on Silicon Valley pastor decries hypocrisy of area's rich liberals
Reminds me of one of my favorite Biden quotes, “Don’t tell me what you value. Show me your budget, and I’ll tell you what you value.”
haney··on Ask HN: How much time do you spend “thinking” about a hard problem each day?
Does research count? For hard problems that I'm not sure how to answer I usually start by looking for any existing tool/framework/technique/blog post/paper that has solved a similar problem. I put copy what I find into Evernote, then, when applicable I sketch out a few different flow diagrams / schema diagrams / etc. to get a handle on how the pieces of my solution fit together.

If something is really complex / important / hard to change later, then I'll usually stop after the research phase and allow my unconscious mind to chew away on the solution, most commonly for me the 'Aha moment' comes during my morning workout. When I'm really stuck I re-read all my collected material, search for prior art again and repeat the process. Sometimes time forces me to just start building, although those are the times when I typically end up refactoring later.

I definitely agree that time away from the problem to reflect leads to a better solution, but IMHO you have to have a really great problem statement and good context for the subconscious to do its best work.

haney··on Google Maps Platform
Kind of hard to compare apples to apples, there was a pretty steep minimum on previous contracts, I'd imagine that high volume users could negotiate volume discounts beyond those listed.

At least this way there's not a huge cliff between the free product and a contract for larger volumes.

haney··on Ask HN: Where do you store bookmarks?
About a year ago I copied everything into Evernote. I had a bunch of disparate bookmarks across different desktop/mobile browsers and in places like medium/feedly. I created notebooks for different topics (in my case, "Data Science", "Frontend", "Design / Product", "Personal Efficiency", etc.). Then I use Evernote's chrome plugin to clip pages (I usually clip the whole thing so Evernote can do full text search over it). I then use tags for sub-sections of each topic. It's worked pretty well for me and I'm able to hold onto things even if the original source goes away.
haney··on Au Revoir
Site appears to be down but I'm guessing the post is related to this tweet? https://twitter.com/Docker/status/979027618866520064
haney··on Ask HN: Have Apple lost their way?
It definitely feels like they're making evolutionary improvements to existing product lines that have worked well. Nothing they presented felt _revolutionary_ in any way, but the bar for progress in changing consumer's lives is pretty high these days...
haney··on GraphCMS – A GraphQL-based Headless CMS
I really like the idea of separating content from application code like this, is there anything in the open source community that's similar to this?
← PreviousPage 4 of 8Next →