HNHacker News
TopNewBestAskShowJobs

jbaudanza

2,059 karma · joined July 22, 2010

www.hiworker.com www.captionpop.com

jon@jonb.org

meet.hn/city/kr-Seoul

Socials:

- x.com/jbaudanza - github.com/jbaudanza

Interests:

AI/ML, Mobile Development, Open Source, Programming, Startups

---

submissionscomments
jbaudanza··on React Concurrent Mode
OK I've spent all morning reading about this. I think that when you say "work", you're talking about the work of doing DOM updates. Rendering a VDOM is still considered cheap.
jbaudanza··on React Concurrent Mode
This demo is helpful. One thing that stands out is that fetchProfileData is made in the global scope. I presume (I hope) that it will be possible to do this from include an useEffect hook instead.
jbaudanza··on React Concurrent Mode
As I understand it, the principal behind the VDOM is that renders are cheap and the cost is is negligible compared to real DOM updates. If this is the case, why do you need to keep concurrent VDOMs in memory at once? Why can't you just render the VDOM you need when you need it? I think this is where I'm getting lost on this new feature.
jbaudanza··on React Hook Pitfalls
I use `useCallback` all over the place. I don't do it because I'm worried about performance. I do it because I'm worried about invalidating some dependency array somewhere down the tree.

Am I falling into speakers pitfall? I definitely agree with him that this creates a lot of unnecessary complexity.

jbaudanza··on TypeScript 3.6
I love that static typing has come to the Javascript ecosystem and I hope that some of these concepts make their way upstream into future versions of ECMAScript.
jbaudanza··on Off-Facebook Activity
Lately I've been thinking that the phrase "your data" is a deceptive use of language. It encourages the fantasy that you have some kind of ownership over the data that your actions produce. And that you have some natural right to control how it is used.

The reality is that once data leaves your device, it's not yours anymore. It will almost certainly be used to track and manipulate you. If someone is talking about giving you control over "your data", it should be a signal that they intend to do the opposite. (like the OP).

Maybe we need to give up this fantasy of "your data" before we can embrace technologies such as ad-blocking, encryption, and frankly abstaining from using abusive software.

jbaudanza··on YAML: Probably not so great after all
These are all valid points. But I still find YAML to be the best format for storing my strings for localizations. I find it much easier on my eyes than JSON. I’m open to other suggestions though.
jbaudanza··on Unusual, evidence-based ways to get better at a new language
Yes, Subadub. https://chrome.google.com/webstore/detail/subadub/jamiekdimm...
jbaudanza··on Unusual, evidence-based ways to get better at a new language
My website, www.captionpop.com, does this with YouTube videos. It allows you to watch videos with multiple subtitles at once, look up individual words, and built interactive flash cards out of video snippets.

There are also Chrome extensions that do similar things for Netflix. For example, Subadub.

Next to interacting with native speakers, I think consuming a ton of media is the best way to learn a language.

jbaudanza··on A practical guide to CSS transitions and animations
Is there a good rule of thumb for how to transition new elements into the DOM? Right now, if I have an overlay, I mount it offscreen, and then do a `setTimeout(..., 0)` callback that transitions the overlay into view.

This works, but it seems a little glitchy in some environments. I'm wondering if it's too much to make DOM modification and then trigger a transition in the next tick.

jbaudanza··on Farmed salmon isn't naturally pink or red
I eat the farmed atlantic salmon from Whole Foods several times a week. It tastes way better than the wild salmon and is half the price.

Whole Foods claims it is responsibly and sustainably farmed. They are obviously biased, so I can't be certain. But the farmed salmon definitely wins on price and flavor.

https://www.wholefoodsmarket.com/blog/truth-about-farmed-sal...

jbaudanza··on Ask HN: How to performance test React webapps for rendering speed regressions?
Before you spend time profiling a performance issue, make sure you're using the production build of React. The development build is significantly slower. It sounds obvious, but I've made the mistake of trying to optimize performance issues that simply didn't exist in production.
jbaudanza··on Study Finds Ultra-Processed Foods Drive Weight Gain
Indeed. I like to think that pretty much any food with a marketing budget falls into the "clearly junk" category. Food is 100% vital to everyone's survival. It doesn't need marketing. If a lot of effort was put into selling it to you, it's probably not good for you.

Come to think of it, this probably applies to more than just food.

jbaudanza··on I'll Get Drunk and Vet Your Business Idea
Yep, works now!
jbaudanza··on I'll Get Drunk and Vet Your Business Idea
The "Pay With Card" button doesn't work if you're running uBlock or something else that is blocking google analytics. It seems there is some javascript that depends on `ga` being defined.

Also, "a lot" is two words.

Anyway, I got a chuckle and I hope you make a few bucks! Good luck!

jbaudanza··on Spaced Repetition
I've had very good results using memrise's spaced-repetition tool to learn Korean vocab. I find it's a good way to get words into this unindexed "staging area" in my brain. And then when I need them during a real life situation, they sort of pop into my consciousness out of nowhere.

I also built a tool to build spaced repetition flash cards from the captions in YouTube videos. This uses the SuperMemo-2 algorithm, the same algorithm as Anki. This has helped me a lot with my listening comprehension.

https://www.captionpop.com/flash-cards/splash

jbaudanza··on PTT Bulletin Board System
I was helping a Taiwanese friend with some malware on her laptop, and I noticed she had a Telnet client installed as a Chrome App. I was curious why she had this, and she explained that PTT is like a reddit for Taiwan, but is primarily accessed as a telnet based BBS. I used to use a lot of BBSes as kid, and I think it's really cool there's still this active BBS community.
jbaudanza··on Terry Davis has died
I always thought of Terry as somewhat of an anti-hero of the hacker community. Most of us know what it feels like to go down a rabbit hole building something technically impressive, yet ultimately useless, because the voices in our heads told us to. In this way, Terry seemed vaguely relatable. This is a tragic outcome and I hope his family can find some peace.
jbaudanza··on Coinbase releases professional trading platform for institutional clients
They have developed a reputation for having poor, unresponsive consumer support. Try doing a twitter search for @coinbasesupport. At any given time, it's a horror show.

I personally discovered this after a time sensitive transaction took about 48 hours to complete because of a buggy deploy on their end. The only reason it didn't take longer was because I was able to track down a coinbase support employee on the bitcoin reddit.

jbaudanza··on To solve problems caused by sitting, learn to squat (2017)
This is definitely true. And finding a good trainer is difficult. For my SF friends, I've worked with Linda Chungchootairong at www.opengymsf.com before. She's an accomplished competitive powerlifter and olympic lifter. She can make sure your squat is on point. She also has a sick deadlift.
jbaudanza··on To solve problems caused by sitting, learn to squat (2017)
I used to have terrible "programmer" posture. It's still not great, but it's way better. I credit a regular routine of loaded barbell squats with an experienced trainer. I think part of the progress is because I got stronger, but part of the progress is because the squat would point out quirks in my body that simply had to be fixed in order to continue progressing.

There's only so much of "try to sit up straight" before you just go back to sitting the way your body has adapted to sit. In general, your body doesn't want to change. You need to provide some sort of external stress that forces an adaptation. Squats are great for this.

jbaudanza··on Show HN: Submerger – A SRT subtitles merger useful to study new languages
Nice. I working on something that does exactly that for Korean videos on youtube. If you're interested in helping with feedback, I could repurpose it for Danish. If so, email me at jon@jonb.org.
jbaudanza··on Show HN: Submerger – A SRT subtitles merger useful to study new languages
Can you say more about what you’d want in such a service? What language are you learning? What kind of videos do you watch? Where do you get them? Youtube?
jbaudanza··on Simple React Patterns
The problem with resolving promises inside of `componentDidMount` is that there is no way to cancel those promises. If the component is unmounted, and then setState is called, it will generate an error (or a warning. I can't remember).

Facebook discusses this on its blog: https://reactjs.org/blog/2015/12/16/ismounted-antipattern.ht...

I've been using Observables which, in my experience, bind a little cleaner than Promises to React components.

jbaudanza··on Paradise Papers: Dear Tim Cook
If we want the rich to pay more taxes, it would be simpler to just raise taxes on the rich individuals. Things get more complicated when you try to tax an abstraction (a corporation).
jbaudanza··on San Francisco Is Losing Its Great, Inexpensive Restaurants
Cafe Zitouna on Sutter and Polk falls into this category. It's a family owned Tunisian/Moroccan restaurant. It's inexpensive and the food is top notch. It's been in the neighborhood forever. Go check it out and order a Breakfast Falafel Wrap, before it turns into a condo building.

https://www.yelp.com/biz/cafe-zitouna-san-francisco

jbaudanza··on Show HN: Remix my face
If anyone is interested, the code is up on https://github.com/jbaudanza/vlogotron. It's built with React, RxJs and WebAudio.
jbaudanza··on Show HN: Subnetchat – Web based chatroom for your local subnet
I see. So you'd rather have something that says, "You are now chatting with everyone in 192.168.1.*". That's good feedback. Thank you!
jbaudanza··on Show HN: Subnetchat – Web based chatroom for your local subnet
Thanks! The chatroom is based on the external IP that is visible to subnetchat.com. So everybody on your LAN should be in the same chat room.
jbaudanza··on Show HN: Subnetchat – Web based chatroom for your local subnet
This is sort of the same idea!
← PreviousPage 3 of 7Next →