HNHacker News
TopNewBestAskShowJobs

stevepotter

496 karma · joined November 16, 2010

submissionscomments
stevepotter··on Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
Tons of great stuff and I'll add what I can from 15 years as a full-timer preceded by 10 years as an amateur. I've in settings ranging from a startup I founded to a large insurance corporation. I'll just keep it to bullet points:

- Relationships are key to your career. Align with good people and maintain those relationships.

- The product is more important than the code.

- Keep up with the latest tech, but don't necessarily use it.

- When starting a new job, learn the business first. Understanding what the product does and why is crucial and doesn't take long to learn.

- Avoid an adversarial relationship with other departments like marketing and accounting. Work together with them (back to point 1).

- Share your wisdom, don't hoard it.

- When you are no longer curious, something is wrong.

- Writing code is simply that. Enjoy it, don't glamorize it, and try not to obsess over it.

stevepotter··on Introducing Create React Native App
It sucks. Their default upgrade tool does more harm than good. Currently I start a new RN project then do a diff to see what I have to update on our actual app. Fun, right?
stevepotter··on Introducing Create React Native App
Not only that, the team is resistant to enhancing the build system. Example of one of my struggles: https://github.com/facebook/react-native/pull/11711

On a side note, their build scripts are all js and node is probably my last choice for build scripts. As a result, you have callbacks and promises everywhere. I understand they don't want people installing more dependencies but using something common like Ruby would make it much easier to build great build tools.

stevepotter··on Introducing Create React Native App
I've been doing iOS and Android for about 6 years. My latest project uses React Native. We just finished an app for both iOS and Android that has over 100 screens and did it in only 3 months with a small team. So I'm a good authority on this subject.

I found React Native to be a mix of joy and frustration. I was amazed at how quickly our devs, who came from the web, could build polished screens that performed beautifully. Then I would become baffled at how, for example, you couldn't do a background upload in React Native. Here - it does is upload a file in the background: https://github.com/Vydia/react-native-background-upload

In RN, you have to connect JavaScript to native code with "bridges". If a bridge exists for, say, getting GPS data, you are fine. But if it doesn't, welcome to the club. I finally became relatively adept at writing these bridges, but I would have much rather have spent that time writing code for my app.

Their build system is weak. For example, the build scripts hardcode 'dev mode' unless you have a build scheme in iOS and Android called 'release'. It felt like nobody else had built RN apps that have beta and staging environments. Crash reporting sucks and we finally got it working with sentry.io and some custom build scripts to upload source maps so we could get decent JS error reports.

But that stuff will go away in time. I was blown away at the progress we made. It was painless for web devs to jump right in an be productive. So for us it's a net positive.

If you're starting something new, try it out. Make your platform choice carefully. RN isn't the only game in town. See what works for you. And don't get fooled into thinking that you don't need any native knowledge to make an app. Maybe hello world, but nothing industrial grade.

stevepotter··on Welcoming Fabric to Google
I'm an active user of Fabric and have found it rather convoluted and limited. For example, there is no way to easily get device UUIDs from Beta testers. Given they also sponsor Fastlane, I'm blown away they haven't provided a way to automatically register UUIDs. This is possible with HockeyApp through their API and some Fastlane scripts.

Crashlytics is their killer feature. The rest is mediocre. Hopefully Google will improve it. I'm not holding my breath.

stevepotter··on Welcoming Fabric to Google
HockeyApp is great. Owned by Microsoft, who has doubled down on mobile tools with Xamarin. For beta distriubtion, HockeyApp is a superior product. And it has an API (so you can, say, auto register iOS devices). Fabric is just more known and considered cooler (they do have nice CSS transitions :).
stevepotter··on Moment().endOf(‘term’)
Mr Wood, thanks for the great library that I use almost daily. I believe that leaving was the right thing to do. Take care of yourself, live your best life, and everything will be fine (including Moment.js).
stevepotter··on State of React and CSS
Good point. How about .supermenu-button?
stevepotter··on State of React and CSS
For me, using css classes in a css file has worked fine for reusable components. For isolation, the root element of the component has a class name like class="supermenu". What are the disadvantages of this as opposed to the intricate toolchains being popularized along with React?
stevepotter··on Lumosity fined $2M for deceptive ads of “Brain Training” app
I just browsed your site and don't understand exactly what the product is. In the first part of the video I see someone browsing the web with some kind of mood widget. Then I see an e-reader. Are those your product? How does it work? Thanks
stevepotter··on Show HN: Spot the Drowning Child
We use those too and they are totally safe. The difference between those and the classic floaties is these can't come off, which I remember happening all the time with the old style.
stevepotter··on Two years after LASIK eye surgery
I developed an allergy to contacts during college. After wearing them for more than 15 minutes, my eyes would swell up. I was on a sports team and didn't want to negatively affect my performance with eye wear. So I got the lasik. I had a hell of a problem with dry eyes for years, obviously not helped by spending 10 hours a day in front of a CRT monitor. Finally I got diagnosed with Blepharitis, which is an inflammation of the eyelids caused by tear duct blockage. I treat it with a warm compress every morning and get by all right. I often wonder if the lasik caused the Blepharitis, the contacts caused it, or I had it and the contacts irritated it.
stevepotter··on Testosterone is the drug of the future
I went through a major testosterone-related health scare when I was 31 (4 years ago). I was in the midst of launching a startup. Stressed out, financially strained, hardly sleeping, hardly exercising, drinking too much. I thought I was eating right but turns out I wasn't. I began feeling like an empty shell of my former self. And yes, it totally affected my sex drive. Went to doc and had blood work done. My test levels were about 200, which would be acceptable had I been 70 years old. I was terrified.

After ruling things out, the doc prescribed me Androgel, a gel-based test delivery system. You rub it on your shoulders and it absorbs in. But you have to be careful to not let it get on other people. I had a baby girl on the way and sat there thinking that I never want to worry about touching my wife or daughter. Plus this wasn't a temporary treatment. You are a slave to it, and pay about $10/day for it. Oh, and it turns out people, especially younger men, have a higher chance of stroke on that stuff. That's no life, so I decided to try and cure it naturally.

And I did. My testosterone is normal now (forget the exact number). And I feel great. It was simple. First, I started strength training. Weights, especially compound moves like squats, will build test levels. And helps with sleep. Check out stronglifts.com if you want a good starting point.

Second I fixed my diet. Check out the book The Perfect Health Diet. I learned I was not eating enough good fat. I started using more olive oil, coconut, ghee (butter), and quality rumen meat. It made a huge difference.

Finally I cut out the stress. The startup ended up not succeeding but that had nothing to do with me deciding to ease up. I'm happy I did and learned a valuable lesson that health comes first.

So there's my story. If you are going to supplement, be prepared for a long bumpy ride. And remember you can boost it naturally.

stevepotter··on Walking Desk
I built something similar a few years back. Walking at a snail's pace for a few hours a day was nice for bloodflow and focus. Then I started getting major headaches. I went to the doctor and couldn't figure out what was wrong.

Then I realized that my head bobbing up and down while staring at my screen was causing it. Stopped using the desk and it went away. I raised my screen to eye level and that helped. But the headaches still occurred so I reluctantly quit. Maybe I walk funny or I'm sensitive to it, but I'd like to warn anyone doing this to make sure you don't make yourself sick. Beyond that, have fun and good luck explaining it to others :)

stevepotter··on Stack Exchange's monitoring system is now open source
The anti .net kneejerk reactions on HN really disturbs me. You spend all day on stackoverflow then blindly bash their tech stack. Developing, deploying, and hosting .net apps is just fine. Many brilliant people choose .net and are plenty happy with it. Maybe rather than jumping to conclusions, you could give it a shot.
stevepotter··on $99 ARM-based PC runs either Ubuntu or Android
Wow thanks. I can't believe this slipped by me. You are awesome.
stevepotter··on $99 ARM-based PC runs either Ubuntu or Android
Actually one is on the way and I'm hopeful. I found the odroid to be incredibly fast and the 2gb ram it provides is great since the machine runs a gui, web server, and other various things.
stevepotter··on $99 ARM-based PC runs either Ubuntu or Android
I do R&D for laboratory machines. We're trying to break away from the clunky old components (which also almost always use Windows). I started with the Pi but it was too underpowered. Now I'm using hardkernel's odroid u2, which has been a decent experience. But Hardkernel's support is spotty, site is shady, and shipping takes forever. Plus the dual ethernet and SSD are exactly what I was looking for (using usb replacements now which aren't as good). I used an Atom but had trouble with video drivers in Debian. Crossing my fingers on this one. Will pre-order if they offer. I'd love it if someone could offer touchscreens that would easily plug into it, as this has been tough for me.
stevepotter··on Avoid Null Checks by Replacing Finders with Tellers
Sounds great except often something needs to be done when a value is null, like giving user feedback. If the answer then is to provide another block, just go back to the if statement.
stevepotter··on Music to Let you Concentrate
Big fan of SomaFM for work. They have some great xmas stations that come out in December, if you like. SomaFM did stress me out a bit with their constant requests for donations. They made it sound like they were being shut down any day, yet they're still here. I donated, by the way. Didn't stop the cries for help though.
stevepotter··on NSA leaker is a patriot, not a traitor
The actual Franklin quote is "They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety." Your version is paraphrased. The "essential" and "a little temporary" I believe are part of this debate. I'm deeply opposed to this blanket surveillance by the way.
stevepotter··on What Happens When You Swear At Your Users
I learned that a "cute" message can be the best thing. I am a dev on a top iPhone app and while testing our push notifications, I sent a notification out to millions of people. Luckily I wrote "Have a nice day!". It cost thousands of dollars but our vendor was nice enough to refund. In my case, people thought we were just trying to cheer them up. Had I wrote "this is a test", people would have been annoyed and lost confidence in us.
stevepotter··on Amazon Web Services are down
Yes, that was by far my favorite comment. Well played.
stevepotter··on What is the single most influential book every programmer should read?
Code Complete is a great read. I recommend rereading it annually to make sure you don't stray the course. I do not recommend reading it anally. Bad lighting.
stevepotter··on REST question
I realize you get update actions. But what if you have different types of updates? Perhaps editing basic info like a project's Title. Or locking it? Or archiving? Are they lumped into the same action?
stevepotter··on One customer at a time
Well written. When someone signs up for my app, I check out each customer personally and write them a custom email. So immediately the customer feels part of a human-driven product.
stevepotter··on Is AWS Startup Challenge Unfair to Bootstrappers?
I'm not bitter. I never expected to win. I am surprised Amazon even puts on a contest with such lavish prizes.

AWS is a low cost way to start an app. They make bootstrapping possible. Therefore, I feel they are doing themselves a disservice by not representing these companies.

I merely wanted suggest a way to include small-timers like myself in this contest. And I did it by being honest about how I felt at the time. Would anyone have preferred otherwise?

BTW, since then I've been in touch with a great guy from AWS who thought my points were valid. Very cool and unnecessary of him. Maybe next year we'll see a "frugal" category. And maybe by then I'll have received funding and not be eligible :)

Anyway thanks everyone who weighed in. I urge all of you to check us out at www.takeoffvideo.com. You can reach me directly at stephenp@.

stevepotter··on Why Zencoder is ideal for a video web app
Here's a decent example: ffmpeg -i "C:\input.mov" -fpre "presets\libx264-normal.ffpreset" -y -threads 0 -f mp4 -vcodec libx264 -b 1600k "C:\output.mp4"

By the way, this will give crappy audio quality due to ffmpeg's garbage aac encoder. What I did was shut off audio in ffmpeg (-an) then I used Nero AAC encoder to encode the audio. Then mp4box stitched them together.

stevepotter··on Why Zencoder is ideal for a video web app
Exactly. I had a pretty solid encoder running. But it was slow and wouldn't scale well. Zencoder's pricing is right and I would rather build it into my pricing model than deal with the hassle of managing an encoding system. This frees us up to focus more on the other aspects of the app.
stevepotter··on Why Zencoder is ideal for a video web app
Kevin, thanks for the kind words. You're kinda right. A video site like YouTube has two stages to get your video up and running. First is the file upload. Second is the encoding, where the uploaded video is converted into the necessary formats for web and mobile playback. Zencoder covers the latter. They don't take part in the upload. So our upload remains the same...it's the step after upload that has been massively improved. I hope that makes sense.

Unless you are heavily involved in video, Zencoder won't apply to you. But they are still worth knowing about and a great example of a cutting edge cloud platform.

← PreviousPage 4 of 4