HNHacker News
TopNewBestAskShowJobs

fredwu

2,035 karma · joined October 7, 2010

http://fredwu.me/

Have built the first website back in 1997, and started working in the IT industry since in high school.

Worked in online publishing, marketing as well as web hosting before becoming a professional web developer and designer.

Have been an active member of the open source community since then. Contributed to many projects including Ruby on Rails and Slim. For a full list of my contribution, please head over to http://fredwu.me/ and scroll to the bottom of the page.

A developer who has strong focus on code craftsmanship, business values, UI, UX and most importantly, the user.

Web development is not only my job, my career, but is also the cornerstone that defines who I am. Passionate is my keyword!

---

meet.hn/city/au-Melbourne

Socials: - github.com/fredwu - x.com/fredwu

---

[ my public key: https://keybase.io/fredwu; my proof: https://keybase.io/fredwu/sigs/D4CtTh6YYns-_2ASh90CEGaKiZb94-Py4UjQb2sRLIw ]

submissionscomments
fredwu··on Ask HN: Freelancer? Seeking freelancer? (June 2021)
SEEKING WORK | Remote / Australia

Location: Melbourne, Australia

Technologies: Elixir, Ruby, React, JavaScript/TypeScript, AWS

Résumé/CV: https://www.linkedin.com/in/wufred/

Email: ifredwu at gmail dot com

---

My name’s Fred Wu, I’m an experienced Elixir and Ruby developer who has worked on multiple commercial projects as well as released multiple Hex packages.

I work at a fintech startup in Australia as CTO, leading a small team. In the past few days I’ve decided to start moonlighting again, especially now that I’ve been working from home since Covid and has more time and flexibility. I can commit about 20-30 hours a week.

I’d been using Elixir professionally for a few years, ruby for over half a decade, lead and built multiple commercial B2B & B2C SaaS projects. Until recently I’ve always been very hands on, and have worked with multiple tech stacks in the past, including JS, React and PHP, and most recently Clojure at the startup I’m currently working at.

  - My blog and talks: https://fredwu.me/
  - My Github profile: https://github.com/fredwu
As you probably noticed I have quite a few projects on Github. Some of the more interesting ones are:

  - Crawler, a high performance web crawler built in Elixir: https://github.com/fredwu/crawler
  - Simple Bayes, a naive bayes machine learning implementation in Elixir: https://github.com/fredwu/simple_bayes
  - And a few years ago when I was heavily involved in the ruby/rails community, I had done an experimental project building a "layer 0" ORM on top of ActiveRecord and Sequel: https://github.com/fredwu/datamappify
If you think my skills and experience could add value to the project I’d love to chat more. You could reach me at ifredwu at gmail dot com. Thanks!
fredwu··on Ask HN: Who wants to be hired? (June 2021)
Location: Melbourne, Australia

Remote: Yes

Willing to relocate: No

Technologies: Elixir, Ruby, React, JavaScript/TypeScript, AWS

Résumé/CV: https://www.linkedin.com/in/wufred/

Email: ifredwu at gmail dot com

---

My name’s Fred Wu, I’m an experienced Elixir and Ruby developer who has worked on multiple commercial projects as well as released multiple Hex packages.

I work at a fintech startup in Australia as CTO, leading a small team. In the past few days I’ve decided to start moonlighting again, especially now that I’ve been working from home since Covid and has more time and flexibility. I can commit about 20-30 hours a week.

I’d been using Elixir professionally for a few years, ruby for over half a decade, lead and built multiple commercial B2B & B2C SaaS projects. Until recently I’ve always been very hands on, and have worked with multiple tech stacks in the past, including JS, React and PHP, and most recently Clojure at the startup I’m currently working at.

  - My blog and talks: https://fredwu.me/
  - My Github profile: https://github.com/fredwu
  - My LinkedIn profile: https://www.linkedin.com/in/wufred/
As you probably noticed I have quite a few projects on Github. Some of the more interesting ones are:

  - Crawler, a high performance web crawler built in Elixir: https://github.com/fredwu/crawler
  - Simple Bayes, a naive bayes machine learning implementation in Elixir: https://github.com/fredwu/simple_bayes
  - OPQ, a simple in-memory queue with worker pooling and rate limiting in Elixir: https://github.com/fredwu/opq
  - And a few years ago when I was heavily involved in the ruby/rails community, I had done an experimental project building a "layer 0" ORM on top of ActiveRecord and Sequel: https://github.com/fredwu/datamappify
If you think my skills and experience could add value to the project I’d love to chat more. You could reach me at ifredwu at gmail dot com. Thanks!
fredwu··on Lovely Week with Elixir
I wrote two blog posts before on Elixir:

The first piece is longer, on my journey learning Elixir and building machine learning libraries.

https://fredwu.me/blog/2016-07-24-i-accidentally-some-machin...

The second piece is shorter, on Elixir’s functional aspect and how doctest changes the way I code.

https://fredwu.me/blog/2017-08-07-elixir-and-doctest-help-wr...

fredwu··on Ask HN: Dear open source devs how do you sustain yourself
I've been contributing to open source projects for a decade or so, mostly in bursts - when I was still 100% hands-on, I'd work on projects that either interest me, or are used at work (e.g. Rails).

Over the past few years I've mostly been working in leadership (but still with a bit of hands-on), so I mostly work on things that interest me. For example, for a while I was obsessed with building a web scraper, and some machine learning stuff, so I built:

https://github.com/fredwu/crawler and https://github.com/fredwu/simple_bayes

Working in bursts works well for me, as I can dial the effort up and down depending on my availability and mental space.

fredwu··on Ask HN: What's your quarantine side project?
Over the past few years I've been on the hunt for a good tool to help me manage my projects. Trello, Jira, I've tried a bunch and yet still couldn't pin point why none of the tools worked well.

The quarantine forces me to think about it even more, and I think I've found the why, and how.

So I'm now building it: https://focussist.com/

fredwu··on Ask HN: What is your blog and why should I read it?
https://fredwu.me/

No particular reason, but I started building websites in the late 90s and am now heading up the engineering department in our scale-up (60+ people w/ 25+ engineers).

fredwu··on [Talk] Adaptable Human – Taking the Company and Your Career to the Next Level
Author here.

In this Leadership Master Class session, I'll be talking about the adaptability of an organisation and an individual, and how things could affect an organisation as well as one's career.

I'll cover concepts that are fundamental but easy to overlook, as well as interesting concepts that I personally observed/invented over my decade-long career.

fredwu··on I Accidentally Some Machine Learning – My Story of a Month of Learning Elixir
Author here. When I was benchmarking my library against a ruby one, I did actually try the ruby one on 2.4. Interesting findings are:

- Switching from =~ to Regex.match? did not yield significant speed improvement

- Without any changes though, 2.4.0-preview1 ran the stemming in 19s, compared to the 25s on 2.3.1.

The ruby stemmer I used is this one: https://github.com/NeilNjae/porter2stemmer

fredwu··on Show HN: Mega Boilerplate
Awesome effort! I love the folder structure, very easy to follow.

A small feedback: I just generated a React-based stack with a few Auth options - Email, Facebook, Google and Twitter.

The resulting `user.js` controller is 550 LoC.

It would be great if by default some of these logic are encapsulated in a service layer rather than littered in the controller itself. :)

fredwu··on Apple's amusingly round reuse figures
In metric countries (like Australia) Apple does publish the numbers in kg: https://www.apple.com/au/environment/resources/ :)
fredwu··on Developers, Being Treated Poorly? You Are Not Alone
Hi,

Author here. This is going to attract a few more downvotes for me, but I have to respectfully disagree. Partially because the scenario wasn't quite what had happened, but more importantly, even in situation exactly like what you have just described, I would not have just lashed out on my junior colleague - to me no matter how junior they are, they are still my colleagues and they still add value. There is no reason why I need to be aggressive to them when they made mistakes.

fredwu··on Developers, Being Treated Poorly? You Are Not Alone
Hi bsaunder, thank you so much for the advice and encouragement!

Yep I can see why the negative tone is very off-putting to many people. Had I have a chance to do over I'd definitely do what you've suggested here and tackle it from the positive / lessons-learnt point of view. :)

Many thanks! :)

fredwu··on Developers, Being Treated Poorly? You Are Not Alone
Hi,

Author here. I'm glad there are people like you who share the same view. :)

I do admit that I haven't explained things well in my blog post, but some comments here that suggest being aggressive/rude is okay and/or justifiable as long as there's another side of the story is really an eye opener for me and I'm somewhat shocked... Is being kind and decent to another fellow coworker (and a human being for that matter) too much to ask? :\

fredwu··on Developers, Being Treated Poorly? You Are Not Alone
Hi,

Author here. Indeed I was the junior dev at the time.

I now regret not making a lot of the points clearer. In this case, I know I would definitely NOT treat my junior devs this way. In my view, using either aggressive tones, or public shaming, is not the right way to resolve things. I wish that senior dev at the time would've talked to me in a way that did not make me feel like I was worthless and intentionally fuck things up - at the end of day, most people try to do good things for their organisation, right? :)

fredwu··on Developers, Being Treated Poorly? You Are Not Alone
Hi,

Author here. Unfortunately that one was from a small startup where I was responsible for evaluating my team members' performance and salary.

fredwu··on Developers, Being Treated Poorly? You Are Not Alone
Thank you, that inspired me to think about writing another "moments" piece for the kind ones. :)

In recent years I have started gathering feedback for myself from my peers, direct reports and managers. The issue I find is that only certain type of people are willing to be completely honest, for the rest it really depends on how much rapport you were able to build with them. I guess what I'm trying to say is that I try, but it's hard. :P

fredwu··on Developers, Being Treated Poorly? You Are Not Alone
I think I do, hence I put this sentence in the article: "There are a few of these moments that I still find hard to swallow, but most of them I simply chuckle whenever I think about them. ;)"

For most of these moments, it was more a reflection of my personality if anything - under the same circumstances, I know I _wouldn't_ treat others the same way I was treated back then. I much prefer to use softer tones and more positive ways to start those conversations.

fredwu··on Developers, Being Treated Poorly? You Are Not Alone
Hi,

Author here. Sorry you (and many others) felt that way... I was trying to put together these moments without rambling on too much.

To offer my perspective on the things you mentioned:

a) I absolutely agree, there's always two sides of a coin. I can only describe how I felt at the time. b) Again, I agree, and communication is a two way art. Having said that, some of those moments I feel there were very little I could do in my end to turn them around. c) I did not claim those to be stories either, my intention was to share these things that have happened to me in the past and made me felt uneasy at the time, and perhaps make more people (including myself) to be more aware of their surroundings...

fredwu··on Developers, Being Treated Poorly? You Are Not Alone
Hi,

Author here, I can see why you have these questions. I tried to keep the moments short so left out some details.

For the first one, it was the passive aggressive tone and the fact that it was posted in a public channel. This person in one other occasion, stormed out of a meeting room whilst another colleague was trying to explain something.

For the second one, later on through mutual colleagues I realised that he essentially thought very little of me because at the time I was a junior developer so I made lots of mistakes in my code base. In my defence though, I was on my own and I had to learn Rails myself.

For the third one, I put the "non-technical" part in to indicate that my manager does not have the technical capability to determine whether my findings were biased. It was more so that he had his agenda and just wanted me to confirm his approach from the technical perspective.

Hope that clears things up a little bit. :)

fredwu··on Amazon's customer service backdoor
It is rather unfortunate yet at the same time unsurprising. :(

Two years ago I found out that Amazon allows multiple accounts to be set up using the same email address with different passwords (!!!) - which means that the potential attack vector is larger for no good reason.

I don't recall how this happened but I can only assume at the time I signed up to AWS and I might have reset/changed the password somehow that resulted in the system creating another copy of my account.

So all the information (credit cards, addresses, etc) of the "old" account still existed until I deleted them. But let's say if someone who has no idea that they have more than one accounts with Amazon, they could easily leave their information intact in their "old" accounts, which if they have weak passwords can easily be compromised.

Unfortunately Amazon did not take this report seriously, and to this very day this issue still persists.

fredwu··on Happy people don’t leave jobs they love
Unless the employee leaves for a role (more senior, more pay, and/or more responsibilities) which at his/her current company simply isn't available or feasible.

I have experienced this from both ends, as the employee who outgrew my current role, and as a manager who my direct report outgrew their role. In this case, apart from trying to create a similar role (which often than not is impossible), the best you can do is to wish them the best, and be proud of the fact that you've worked with such an awesome colleague that they have now surpassed what the role could do for them. :)

fredwu··on Z – quickly cd to 'frecent' directories
There is also Fasd: https://github.com/clvv/fasd
fredwu··on UBlock Origin
The original developer explained the situation here: https://github.com/gorhill/uBlock/issues/38
fredwu··on Lotus, a web framework for Ruby
The ORM part, largely due to the repository pattern, is very similar to my earlier attempt - Datamappify - https://github.com/fredwu/datamappify

Given time, effort and popularity, I could see Lotus::Model to become the de facto alternative to ActiveRecord, overtaking the ROM (Ruby Object Mapper, previously known as DataMapper) project. :)

fredwu··on Popcorn-app no longer on GitHub
Still exists afaik: https://github.com/popcorn-time/popcorn-app
fredwu··on The Future of Computing - An Interview with Yukihiro “Matz" Matsumoto
Blog author here. I am sorry you found it difficult to read. Would you mind posting more information about your set up? (OS, Firefox version?) As I've just checked and the fonts should be Lucida Sans, Helvetica Neue or Helvetica depending on what's available in your system throughout.

In terms of the images - they were all from the original interview article (linked in my post).

P.S. I am not sure what gave the impression that the interview was about Ruby, as "Ruby" is not mentioned in the title.

fredwu··on Only external comments (on HN) allowed?
I don't think 2) and 3) are really valid reasons, as services like Disqus solve exactly these problems.

If a blog's target audience is in fact overlapping with the HN audience, then I'd say it kinda makes sense if the blog author wants to encourage the HN dicussion spirit. :)

fredwu··on Rails 3.2.13 - Performance regressions and major bugs
Actually, the performance degradation to the precompiled assets is minimal - for a typical production environment it only effects your asset compiling time as the assets are served statically from your public directory.
fredwu··on Aaron Swartz commits suicide
Perhaps he's suffered from clinical depression? http://www.aaronsw.com/weblog/verysick
fredwu··on Haxx.ly - remix any website with your own css/js to share with friends
Fun little example #trollface: http://www.haxx.ly/h/2f
← PreviousPage 3 of 4Next →