HNHacker News
TopNewBestAskShowJobs

jaeming

365 karma · joined September 28, 2014

submissionscomments
jaeming··on How it feels to learn JavaScript in 2016
oh and btw, if anyone is adverse to both jQuery and React and just wants some simple reactivity in vanilla JS, this is very easily achieved these days by just using Proxy prototype. You could build your own minimal library for simple use cases: https://codepen.io/jaeming/pen/JjybgyN?editors=1011
jaeming··on How it feels to learn JavaScript in 2016
Here's a codepen I made that briefly shows the difference: https://codepen.io/jaeming/pen/BadQvpG
jaeming··on How it feels to learn JavaScript in 2016
I was thinking about making a video tutorial on how to convert a React app to jQuery as a sort of satire piece but I was afraid the result might be good enough that it wouldn't come across as a joke in the end.
jaeming··on Atlassian fired me while I was taking care of my wife who is fighting cancer
I worked at a company that had unlimted PTO when suddenly one day they revoked the policy because they said some people were abusing it. The new policy was still very generous (6 weeks PTO per year) so no one complained. Fast forward a year later and we were hearing things from executives and managers like, "you know you don't have to use all you're PTO, right?". I'd ask, oh, it will rollover to next year? The reply: "No, it won't. But that's really the wrong way to think about it."

So it turns out people were taking much more time off now than when PTO was unlimited. They started denying request and making up trivial rules, like 2/3 of your team must be available at any time (regardless of the team size), oh, and those rules weren't in the official policy. Good luck trying to get specifics in writing.

Eventually they changed back to an unlimited policy but secretly told managers they should start denying requests after x number of days have been used. I think it was five weeks, which again is still generous but it bothers me because the intent is to hide that number in hopes that people will use less. I also get no tracking for how many days I've already taken unless I go through my requests and count the approved ones myself.

The unlimited policy is definitely a scam at many companies. Most of my team has been denied requests for reasons that don't exist in the written policy, like, "you recently had PTO already." Honestly I'd rather have a policy that only allowed 3 or 4 weeks with a minimum mandatory that each employee is required to take at least two weeks off per year.

jaeming··on Elm at Rakuten
After considering the way I phrased this comment above, I want to clarify that I never personally observed or witnessed this kind of behavior myself. My own dealings in the Elm community have been almost entirely positive. I had heard a lot of these criticisms from comments on hacker news or reddit and realize now they mostly resemble hearsay or people like myself repeating what they heard from others resulting in a sort of echo chamber. I apologize for adding to that echo chamber.
jaeming··on Elm at Rakuten
That's a good point and maybe I shouldn't have re-posted these stories in my comment as I have not personally witnessed this behavior. I just know that when I started learning Elm initially (Nice Frontend master courses btw) I ran into this sentiment a good bit on reddit and hackernews so thought there was probably something to it if it was being echoed by so many.

I'll add a reply to my comment to make it clear this is hearsay and doesn't necessarily reflect the truth.

jaeming··on Elm at Rakuten
As I understand it, there was a rift in the community over the leadership's tone in messaging and communication. Some Developers also felt like they could not contribute in a meaningful way or have constructive discussion with maintainers.

See posts like these for more details and comments:

https://news.ycombinator.com/item?id=16510267

https://news.ycombinator.com/item?id=22821447

There are also several great alternatives now. F# with Fable and Elmish for example: https://zaid-ajaj.github.io/the-elmish-book/#/

And Bucklescript TEA with Ocaml or Reason: https://github.com/OvermindDL1/bucklescript-tea

Some others have also gone on to develop new languages taking inspiration from Elm: https://www.mint-lang.com/

jaeming··on I don't want to do front-end anymore
What's funny to me is that whenever I get stuck with docker or docker-compose (or getting our various docker services talking to each other), I'm told by a certain engineer that I ask for help from, "It's really not that complicated.". Then a week later he's asking me for help setting up eslint and vscode auto-correct/format, telling me he's been trying to get it working half the day, emphasizing how terrible JS tooling is. I of course sent him on his way with a working set-up five minutes later.

I guess the difference between us is I'm in JS everyday while he's primarily backend. I've made peace with my tooling as has he. I've also made peace with the fact that my tooling is going to continue to change every few years. From Gulp to Webpack to Parcel to Snowpack and onwards.

jaeming··on Which browser do you prefer?
Firefox, for a couple of years now. I've tried switching to Brave and Vivaldi at times but it never lasted more than a week or two. I've just gotten too used to FF, especially it's Dev tools, which though similar to chrome, has subtle differences that I prefer.
jaeming··on GM sells out first year of electric Hummer production
Meanwhile Tesla just keeps taking pre-orders regardless of their production projections for next year. Tesla may be afraid to admit to the public how many pre-orders they've actually taken.

> The number is "at least 200,000." Musk made the comment during an interview with Automotive News on Sunday, and it's a significantly lower figure than the running total compiled by a crowdsourced list. Fans keeping track of their order numbers estimated that there have been approximately 727,000 reservations for the electric pickup truck.

source: https://www.cnet.com/roadshow/news/elon-musk-tesla-cybertruc...

jaeming··on Feds: IBM did discriminate against older workers in making layoffs
I basically did this. I mean I wouldn't say it's a "lie" to simply omit things from you're resume that you don't feel are relevant or may hurt your chances. I shortened my resume to a single page and left high school and my attempt at college off of it completely. No one ever brought this up at the interview.

It's also not actually legal where I live for the employer to inquire about an applicant's age. After I was hired, the manager did ask me at lunch how old I was, I just replied, "I can't remember". Yeah, he probably didn't mean anything by it and he could probably look it up with HR. But I just honestly didn't feel like it should be relevant to my role at work.

I don't feel like this was unethical, perhaps slightly paranoid at most. Speaking of which, I didn't even tell anyone I had kids until I was out of my 90 day probation period.

jaeming··on Vue.js Creator Evan You Interview
>The "Function-based Component API" proposal for Vue 3 received a massive pushback from community members.

I'm having a hard time getting on board with the Composition API. I'll admit I was one of those that pushed back against it. While it looks like a powerful API and I think it would be a great replacement for mixins for instance, I don't want to start writing all my components with it.

BTW, My main fear was not that they would deprecate the object-based syntax, like Evan points out in the interview. What I'm worried about is now walking into a Vue role where I don't know if they're using Object syntax, Class syntax, or the Composition API syntax, or a combination of all three.

My fear was partially confirmed when we had a meeting at work about the upgrade path to Vue 3 and almost all of the other engineers stand in support of writing everything with the Composition API.

Time will tell if the Composition API becomes like React Hooks in terms of popularity I guess. But I'm already using frameworks like Svelte, and a few others at home as a kind of backup plan. BTW, Some nice looking, Typescript-friendly frameworks I've also checked out are https://aurelia.io and https://stenciljs.com

jaeming··on On finally learning to program at the age of 40
And yet I find what my employer's prize are the most basic of concepts, having actually nothing to do with programming. Things like, attention to detail, admitting fault (ownership ties into this), regular updates and communication.

I also own code-bases simply because no one else was willing to or interested in doing so. Many times I've been out of my depth, but I've surrounded myself with an incredible team. I've found that in conversations where I was totally out my depth, I was able to contribute simply by asking basic questions or acting as a rubber duck.

Maybe Principle Engineer is a little but of a stretch I'll admit. But I'll still shoot for it and if I don't get it this year, it'll happen next year or the year after that. That's how I made senior after all, and probably why I find myself in roles like interim manager presently.

jaeming··on On finally learning to program at the age of 40
I started at 39. I had been looking for a new career to transition from video editing. After the third time my employer restructured my role, I took a voluntary redundancy (basically volunteering to be laid-off) and started programming full-time. I did an online bootcamp and never looked back. Five years later I'm a Senior Software Engineer, and hoping to upgrade to principle engineer by end of the year.

Sometimes I suddenly feel like a fraud, especially when I realize I'm in a meeting where everyone in the room has a CS degree or higher, but overall I feel like I bring a lot of value to what we do and most of all, I really love doing it.

I remember anonymously asking on Quora if people thought I was too old to learn how to program. The amount of support and stories that were shared with me were positively overwhelming. Probably the best answer I received was, "do you enjoy doing this thing?, if so, the answer is you should just do it."

jaeming··on Apple just kicked Fortnite off the App Store
... the developer on Thursday implemented its own in-app payment system that bypassed Apple’s standard 30 percent fee.

...1,000 V-bucks, which is roughly equivalent to $10 in-game Fortnite currency, now costs just $7.99 if you use Epic direct payment instead of the standard Apple payment processing. Normally, that amount of currency costs $9.99. Epic says, in this case, customers keep the extra savings, not the company. That cast the new arrangement as a pro-consumer move instead of a greedy power play.

My math skills aren't the best but it seems like epic is still pocketing almost an extra dollar there than previously (almost 10%), indicating that this is move motivated by financial gain (if not greed). Of course Apple stands out as the bigger case of "highway robbery".

I am somewhat curious on how much apple spends on maintaining the app store and how much of that %30 is net profit.

jaeming··on Never use a dependency that you could replace with an afternoon of programming
I once decided to write my own UI pagination component. I thought it would be fun and, why bring in a library for something so simple? Three years later, we now use this component for all our pagination. Probably four of us know it really well by now as it turns out, there have been many bugs around it. Turns out pagination was not such a trivial problem to solve when you consider all the edge-cases and crazy PM requirements.

Every once and a while some engineer who's fixing a bug on it will ask, "why in the world did we write this? Why don't we just use this bootstrap pagination instead?". I ask in return, "would it fix the bug you currently have with it?". Every single time the answer has been no. It's almost always centered around the state of how the parent component is using it. I wrote with the intention of using querystrings to store pagination state in the url, but someone else at some point decides to store their pagination data in memory and just adds a few props and now it's doing it two different ways, etc...

I think the criminal offense here was not writing pagination from scratch. It was that I didn't extract it into a library and write some basic documentation.

jaeming··on We quit our jobs to build a cabin
I used to have dreams like this. I attempted to chase these ideas every few years. I quit a very good job once and moved halfway around the world in an attempt to fulfill one of these dreams.

At some point I got married and eventually had kids after which these kinds of romanticized ad-hoc adventures became impractical. Sometimes I wish I'd been more focused when I was young. I feel like I probably wasted a lot of time pursuing ideas that had a high risk of not being sustainable for the long-term.

I find myself giving younger people advice that I would have balked at at their age. They don't listen to me of course, just like I didn't listen to more experienced adults when I was in their place. No one wants to be told, "Don't follow your dreams. Weigh the risks and the potential return on investment first". I guess part of being young is taking those risks and learning from your failures. And sometimes, chasing an impractical dream pays off. Sometimes they pay off big.

But now days when I get the wanderlust or some feeling of discontentment and find myself wondering, "there must be more to life than this?", I just try changing something small in my routine, like, "you know what? I think I'm going to start taking walks during lunch every day.", or, "I think I'll study this new language for an hour every night after the kids go to bed.", or, "I think I'll build a garden enclosure in the backyard". I often find that by changing something small in my routine, I can break out of the monotony and feel some sense of accomplishment I hadn't noticed was missing.

But even then, there is still some voice in the back of my mind that says, "someday, when the kids are old enough and out of the house, I think I'll take one last big risk and embark on some kind of unlikely adventure."

jaeming··on Del.icio.us
yeah, it was still "new Web" in my mind. Old Web is pre dot-com era.
jaeming··on Ask HN: Have you abandoned Next.js for another front end framework/library?
I set up a react project recently using parcel, typescript, reach-router, and emotion css. I was surprised how easy and painless it was. In saying that, Next provides good value to a team with it's conventions and workflow.
jaeming··on How popular media portrays the employability of older software developers
I've also heard of a lot of employers that are pushing the 20% policy for their software engineers or providing some other time allocated towards upskilling.

My employer requires us to do one hour of training per day. We are allowed to study whatever we want or work on personal projects. I personally don't think it's weird for an engineer to keep up with emerging tech and trends. I'm sure a lot of engineers outside of software do this.

jaeming··on Prisma Raises $12M Series A
I'm very excited about the work Prisma is doing. I didn't get it at first but after trying it out, it was the best ORM experience I've had in Javascript.

It introspects your DB and generates a client that provides typescript definitions for your queries. When I try to select a non-existent field or relation, I get warned via ts.

Right now it's mainly their client that is production ready but they are making great progress on their migrations tooling. For now I still write my migrations in raw SQL, but I'll probably swicth to prisma-based migrations once it's a bit more mature.

jaeming··on Do Not Follow JavaScript Trends
I am actually paid by my employer to do 5 hours of training per week. It's required and I am allowed to study anything I want, whether it's a new framework or a self-improvement book.

I usually spend that time studying something that I think may be useful or related to my job but I have been encouraged to explore. My employer is a big believer that innovation comes from exploration.

As you pointed out, it is an infinite endeavor. I'm okay with that. If I just stuck with the current technologies that were used when I first came in, we'd probably still be using jQuery and .ERB templates. Instead I personally pushed for using new technologies and my team is personally responsible for introducing Vue, Typescript, and GraphQL to our stack among other technologies.

jaeming··on Ask HN: How are you holding up?
I thought I would love working at home but it turns out the office was my primary source for social interactions and now is not a great time to go out and make new friends for obvious reasons. Before this, going to work was something I was always looked forward to and I really liked my job.

Now I just kind of roll out of bed, slump over to the computer desk in the corner of my bedroom and sit there all day, wondering why I feel so "meh". I realized I'm missing the in-office collaboration more than I thought but I also started looking at the work with a predominantly more negative outlook, thinking thoughts like, "Isn't this all kind of pointless anyway? We just churn code and go around in circles endlessly." I've also started drinking almost nightly to the point of excess. Also, the world is going to hell in a hand-basket and apparently most of my family and friends from my home-town turned out to be a lot more racists than I ever knew.

On the positive side:

- I still have a good paying job that has allowed me to work remote through out all of this and even gives me an extra $200 per month allowance for WFH costs.

- I bought a treadmill and finally started to excercise.

- When I feel a lack of motivation I often turn on some course or tutorial and I actually started learning a lot of new stuff as a result.

- I started saving a lot more money since I don't eat out and cancelled all my vacation plans.

jaeming··on Do Not Follow JavaScript Trends
Have followed the trends and I now know Ember, Angular(both legacy and new), Vue(with and without typescript), and React(both classes and hooks). I've also used Svelte, and Stencil JS in my personal projects. In addition, I've also dived headfirst into GraphQL and Typescript pretty heavily lately.

Do I regret investing time in learning any of those frameworks or technologies?

Not at all. It was fun and interesting at the time I learned something different from each of them. Perhaps the most valuable thing I learned was that it is worthwhile to evaluate new technologies and to continue learning new things.

Does it devalue me as an Engineer to learn many things as opposed to becoming an expert in a single tech stack?

Much the opposite. A lot of the underlying principles and architecture remain the same and yet, I find each framework offers something new. Whether it's questioning some convention, or approaching a problem with a different paradigm, or just being heavily opinionated, I feel like I gained some value from each of these and had fun while doing so.

jaeming··on Today’s Javascript, from an outsider’s perspective
Seems like the issue here was a lack of documentation. Almost every npm package worth their salt details the various ways to get started with something along these lines:

- In the Browser:

  - Using Parcel/Webpack/Rollup.js...etc

  - From a CDN
- In Node:

  - Using CommonJS

    - `const funcName = require('somePackage')`

  - Using Native ES Modules
    
    ...etc
jaeming··on Ask HN: Do you need more than front end and Firebase education to ship product?
I was mentoring a friend who was learning frontend and he really just wasn't enjoying it the way I did when I went through that process. We started looking at the backend and it turned out his inclination was really more towards DevOps and that's what he got excited about. It's hard to learn something in your own time if you're not feeling excited or motivated about it.

For myself, I started with HTML and CSS, and had a lot of fun with that. Then when I decided it was time to learn JS, I hit a brick wall. I almost quit then and there thinking programming was not for me. But I was also determined to do something different with my life than I was currently doing. So I switched gears and jumped into Ruby on Rails. Ruby really clicked with me in a way that JS did not, perhaps because it was somewhat more readable and less syntax getting in my way. I got into it enough that I signed up for an online bootcamp. That's a whole different story but the short of it is I learned Ruby on Rails and that enabled me to get a job at some point soonish thereafter.

And you know what? In the end I came back to Javascript and I actually enjoy working in the frontend (with typescript mostly now) more than the backend side of things. I think maybe Ruby taught me how to rewire my brain for programming and then Javascript felt a lot more friendlier than it had previously. It's a lot of the same paradigms, just re-wrapped in different syntax.

I guess, my point is, try to start somewhere, but don't be afraid of exploring. There's no right answer for all of us.

Html/CSS/JS is a good starting point. Firebase or AWS Amplify is a good augment to that although I'd try just purely static sites with maybe some serverless functions sprinkled in if needed. Netlify Functions are an easier entrypoint into that, and I believe they are just AWS Lambda's underneath: https://www.netlify.com/products/functions/

Try to find your niche and focus down on what gets you excited. I dove into some obscure frameworks and languages at times that might have seemed ill-advised to focus on during that stage in my career. Some of these paid off by becoming popular but even when they didn't, I learned a ton.

jaeming··on Saving money on international payments as a remote freelancer
I just used TransferWise for the first time last night. I was legitimately impressed with their well-designed UI/UX.

My bank doesn't even have an online interface for international wire transfers, plus, their UI looks like something developed in coldfusion by an ex-myspace engineer.

jaeming··on Why I’m Leaving Elm
I literally just started learning Elm this week and then I find there's all this drama and baggage to consider.

It's seems like 0.18 to 0.19 was a divisive upgrade for the community. I feel like a lot of good languages or frameworks go through this existential crisis at some point. There was Python 2 to 3, or Angular 1 to 2, Node vs IO, etc.. I think Vue narrowly avoided it on it way towards 3.0 (maybe remains to be seen). I remember when Rails community split when Yehuda Katz got frustrated with DHH and made Merb, and then they merged back together for Rails 3.

It seems like open source has a love/hate relationship with the benevolent dictatorship model.

jaeming··on Linux Distribution for Programmers and Web Developers
In SemiCode OS You Can Run Plenty of Apps Simulatansly
jaeming··on TRS-80 Model III emulator in Go with a web interface
Waxing nostalgic now. This was my first computer. A Radioshack employee later told me PC hobbyists joked that the TRS was short for 'trash'.
← PreviousPage 2 of 2