HNHacker News
TopNewBestAskShowJobs

edwinnathaniel

1,391 karma · joined February 25, 2012

I build software and I like to have fun. Drop me a line if you have any question about me :)

twitter: @enathaniel http://www.edwinnathaniel.com

submissionscomments
edwinnathaniel··on Giving up on test-first development
> though that doesn't seem to be a big deal in practice

Gotta be careful there chief. In practice is usually refers to "your experience" (but might not be mine).

My experience is on the flip side: end-to-end tests are super slow due various reasons...

edwinnathaniel··on Microsoft Joins the Eclipse Foundation
When the other choice is bad (as you eluded that they chose the good option) then they got not much of a choice isn't it?

Treat the non .net platform as a second class citizen and their potential customers will smell that from far away...

edwinnathaniel··on Microsoft Joins the Eclipse Foundation
They got no choice. They realized that if they don't do these moves their platform is dying.

But let's scope the discussion just around this announcement.

Majority of the topics here are around azure for non-.net market. There's TFS but only because this is how IDE works: provide plugins for a source control systems to reduce task switching.

edwinnathaniel··on Reports Coming in of Big IBM Layoffs Underway in the U.S.
I can't believe they did this kind of thing in 1999 - 2002 for WebSphere. That is the era where Enterprise Java, XML, and SOAP took off and App Server was selling pretty hot.

Having said that, the 1999/2000 dotcom bust is different than if it was to happen today. In 1999/2000, open source wasn't as mature/diverse/strong as today so companies will buy commercial technology provided by SUN, Microsoft, IBM, Oracle.

These days, majority of the VC backed companies are using FOSS software with minimum Oracle/Microsoft software (probably the ERP/Finance/HR modules).

edwinnathaniel··on Visual Studio Code for Go
I'm using a very old Macbook White (MB 5,2 model) running Ubuntu 14.04 natively with no OSX in it [0]. Everything runs great but need to install the driver for iSight (easy to do).

I'm very happy with the setup.

Something worth to consider :)

[0] http://bit.ly/1Quv2uY

edwinnathaniel··on Building Large Flask Apps in the Real World
This type of development style (http://martinfowler.com/eaaCatalog/serviceLayer.html) is quite well-known in the Java world yet unfortunately people always think that the technique is overkill (in reality, it's really really not overkill, it's only overkill if you force it to be).
edwinnathaniel··on AWS Java documentation is fucked
... 12 years ago ...
edwinnathaniel··on Without affordable housing, Vancouver risks becoming an economic ghost town
But we're talking about local issue so currency matters less for this topic.
edwinnathaniel··on Moving on from Picasa
Anyone knows a good desktop app to organize photo like Picasa that works for Windows/Linux/OSX?

Specifically there are a few things I like from Picasa:

1. Import files to folder based on picture dates

e.g.: c:\pictures\2016-02-12\P0221314.jpg

2. Import videos from mobile devices and display in the right orientation

for example: I have mobile devices and I take movies in different orientation: vertical or horizontal, while the actual file's metadata is left unchanged, Picasa knows the _right_ orientation and will adjust the playback accordingly.

3. Handles upload from different devices

I have a Lumix GF1 and iPod. Importing pictures to Picasa is super easy without any 3rd-party integration/interruption (e.g.: doesn't have to copy from device to a temporary folder first but instead import directly from the device to the dated folder).

edwinnathaniel··on Without affordable housing, Vancouver risks becoming an economic ghost town
> 2. Nobody in vancouver makes an income over six figures unless you're in the standard professions that make that much, such as doctors, high level managers and successful business owners

Intermediate Software Developers these days made that much for a select few companies (thankfully large ones that hire more and more people).

edwinnathaniel··on Without affordable housing, Vancouver risks becoming an economic ghost town
I know a company that pays fresh-grad $70k-$75k base salary with 10-15% bonus almost guaranteed base on company performance (there's a calculation behind it but the bonus amount is part of your package).

Microsoft, Amazon, starting salary was 85-90k to 100k+ 2-3 years ago for 2 years - 5/7 years of experience.

Salesforce Intermediate/borderline Senior SDET (SDET typically make less than SDE) starts from 100k base with a bunch of plus plus that can boost their income to 120k-140k.

OpenDNS lurking well above $100k as well for intermediate developer.

Mogo.ca pays their front-end dev $100k base and this is a small-medium size company.

It's not the norm but thanks to US-based companies, salary is moving up and up.

edwinnathaniel··on Without affordable housing, Vancouver risks becoming an economic ghost town
That's a lifestyle issue.

No fresh grad ($60k) should live in "trendy" Yaletown district with 2 BR + 2 Bath.

edwinnathaniel··on I’m a web developer and can't make anymore the simplest web app
It's not that simple I think.

For example, in the framework front, you guys argued that React is way better than Angular. I don't even know what's going on with Ember.js, Vue.js (fine, I'll give that this one is very new and untested), Backbone+Marionette.

I don't see that kind of argument in the other communities.

Your build: why are you omitting Grunt? What about broccoli and bower? what about Yeoman? Bower is kind of a big deal for front-end dev.

There's no "majority" in the JS world unlike the other ecosystems.

Cuba? I heard Cuba _once_ in HN. Brooklyn and the rest? never heard.

There are bajillion newer Java "microservice" frameworks but the usage is just rounding error.

Also keep in mind that in other ecosystems, the major players are already established while in JS ecosystems, all of them are considered new/young. There is no _established_ players for each tool segment (except unit-testing where I think Mocha is better than Jasmine, unfortunately due to lack of exposure and whatnot, Jasmine is still lurking around)

edwinnathaniel··on I’m a web developer and can't make anymore the simplest web app
> Yes, there are lots of options... just like development on any other platform or in any other language.

Errr, not really.

Let's pick a platform/language: Java

Build => maven (majority)

Unit-Test => JUnit (majority), Mockito (helper) Version => don't care, anything from Java 5 and above are good enough

Framework => Spring Framework or JEE (all batteries included)

Keep in mind either Spring Framework or JEE do component libraries so one does not have to use everything in there and they can mix-and-match.

spring-tests component provides stub objects for a few important JEE/Spring objects in case if you need them.

Ok, let's try one more time with: Ruby

Build => gems + rake + bundler

Unit-Test => Test::Unit or Rspec

Version => 1.8.7 or above, not a big issue, (having said that Rails do influence the version uptake)

Framework => Rails, Sinatra

I like what I'm seeing from these two ecosystems: high-quality tools that help me be more productive without spending too much time in either selecting or setting things up.

edwinnathaniel··on Tableau stock down almost 50%
New Relic also down by 25%, crazy day for Silicon Valley.
edwinnathaniel··on Why I'm Choosing C++
I don't mean to hijack this thread but I've been wanting to learn C++ for desktop-app and game related side hobby. I'm wondering if I could get some suggestions on where to start given my background as a Java and JavaScript developer (I do mainly web-application/back-end development) by day and had done C for the majority of my university courses (I take a few system-programming type of courses: OS courses, Computer Network courses, Dist. Syst, and DB). I did a bit of C++ for algorithms/data structure courses and am familiar with basic C++ (new/delete, OOP in C++ to some extend, STL).

I'm afraid Java spoiled me with GC, cross-platform libraries (especially the concurrency API, Joda-Time, Joda-Money, etc), JUnit, SCM (build, dependency management by Maven), great cross-platform IDEs that I'm really having hard time dragging my feet to C++.

Should I start with C++14 and skipped anything before that?

Any tips in how to deal with dependency-management and build in general?

What about unit-testing framework and some best practices?

edwinnathaniel··on Currency War: U.S. Hedge Funds Mount New Attacks on China's Yuan
> On the bright side, this is going to help cool off London, Toronto, Vancouver, SF/LA, Miami, and central Texas property markets (where a lot of Chinese money was flowing into).

I really really really really really hope so but man... I don't know... the Mainlanders have waayy too much money and the existing owners of multiple properties won't let the properties go anyway so we may have a stagnant period (good) for a while until either China gets better or... well, I hope the market goes down a bit :D.

edwinnathaniel··on Is It Time for Swift?
> Syntax Doesn’t Move the Needle; It’s All About Tradeoffs

That section is gold.

edwinnathaniel··on The World’s Favorite New Tax Haven Is the United States
Try show up as interested buyer and see what the real estate agents tell you :D
edwinnathaniel··on Angular 2 First App Post-Mortem
Those are definitely the issues that drove me nuts too.

Although if the community grew to the level of Spring Framework, I doubt integrating with 3rd party would be such a big issue.

edwinnathaniel··on Angular 2 First App Post-Mortem
Not too long ago Google use GWT for INBOX which brings familar face back to the community, notably Cromwell. Maybe that's the reason behind some contribution from Google.
edwinnathaniel··on Trello clone with Phoenix and React – 5-part tutorial
Looks really cool except Part 2 where the ceremonious setup for the front-end part really point out the issue with JS right now. Other than that, great work!
edwinnathaniel··on Angular 2 First App Post-Mortem
> When I think deeply about it though, I'm not sure that any of it is better than what I experienced on a pretty big GWT project back in 2010. Yes, everyone was horrified that I was compiling Java to JavaScript. But everything just worked.

I used GWT in 2008 - 2010 and I would 1000% agree with you.

I'm currently working in a large team (100 ish Devs) for a large project written in 95% JS so I have something legit to compare with my previous experience.

GWT goes like this: Maven + MVP + EventBus + minimum DI + JUnit trumps the fiasco I'm dealing with JavaScript ecosystems nowadays.

It's sad that GWT didn't win mindshare due to a few reasons:

- Bad Rap: Java in 2006-2010 was getting a lot of heat from Rais, Google Wave was a flop (it was the most-talked GWT project)

- Back-end Dev rarely wants to touch Front-End development and Java developers are largely Back-end Dev

- Front-end Dev hates "enterprisey" so they refused Java and its ecosystems

- In general, front-end community didn't have a solid grasp of good software practices hence perhaps they don't quite understand the benefits of GWT (feels like I'm throwing blanketed statement but bear with me).

GWT was ahead (and probably still!) of everything:

- Dealing with Sprites and Resources a LOT easier than anything in front-end stuff we have to deal these days

- i18n framework built-in (have you ever seen a JS solution for i18n? doubtful)

- Pruning dead code!

- Static Analysis via Java

- Good Solid unit-testing framework again via Java (no QUnit vs Jasmine vs Mocha)

- That debugger .... very sexy!

- SASS? LESS? Nah... GWT has a good solution for that...(ClientBundle)

- Sane and Stable Date and Number formatter

Hm.... I'm re-thinking of using GWT again for my side project....

edwinnathaniel··on Why I quit my dream job at Ubisoft
Yeah for sure. Nothing is constant/static.

As they grow up, they will want to do things their way, explore things on their own. It'll be tough since I care of them so much but it's part of life: it's natural that your kids will leave you eventually (especially boys).

My interest in the field (hi-tech) is still sky-high. I'm blogging when my kids are asleep. I dislike NodeJS/JavaScript but I still learn it on the side (yeah, it's a weird relationship...). But when kids are awake, hi-tech is far from my mind.

There was an article about valuing Time because you can't purchase Time. When I'm old, I probably won't remember anything about Java or Rails or Tomcat v5.0 or Linux Mandrake but I'm pretty sure I will remember the time I spent with my kids when they were toddlers. I probably won't spend much time with them as soon as they have their own partners/family.

So I suppose I've come to realize that my time with my kids are even more limited up until they're 12-15 years old, become sparse up until they hit college, and becomes very limited once they have their own family.

PS: my kids are almost 4 y.o. and 16 mo's. They're constantly asking for attention and all I can give them right now is just that: attention. They're not asking for toys or gadgets (yet...).

edwinnathaniel··on Why I quit my dream job at Ubisoft
I'm on the same boat: perspective changes as one age and as the circumstances change.

I still do stuff on the side but only when kids are asleep. When they're awake: 100% kids activity only.

edwinnathaniel··on Why we choose Java instead of a polyglot stack
This startup: https://www.kashoo.com/home was built by a husband doing all the tech, and a wife doing the non-tech part. The app was written using Java and GWT. Can the husband roll faster if it was using Rails? probably but not significantly.

Another anecdotes: I was part of a team of 3-4 developers delivering a portal solution for British Columbia compensation board (WorksafeBC, http://bit.ly/1QhUH8L NOTE: it's a few pages of PDF to show the size of the app).

The thought of Java is slow, not agile, and probably overkill for small team, small project, small this and that is probably not warranted.

I've mentioned this in another thread: choose Java and you'll set for at least 5-7 years with minimum problem, focus on solving business problems and less on infrastructure, upgrades of software/libraries, choices of latest du jour). Those open source libraries are damn solid and I very rarely need to worry much whenever I upgrade those libraries. Open the pom.xml, bump up the version number, sit back and enjoy the latest version.

Do you want to write a mobile app? 1/2 of the popular platform is already covered with Java so you just have to worry about the other one.

I'm having a very very hard time justifying the use of Go for "Web Application". I just can't see the benefit over Java (I'm scoping this to just those 2 platforms).

PS: My experience might not reflect other people.

edwinnathaniel··on Why we choose Java instead of a polyglot stack
> I think Javascript is also a pretty good choice for the backend as well.

Definitely not for me and for a few of my buddies who happened to use NodeJS already. NodeJS is a good "glue" appserver for gateway to other microservices I give kudos that far but not more.

edwinnathaniel··on Why we choose Java instead of a polyglot stack
Keep in mind Sails has stagnated and there's a fork called TrailJS now.

The NodeJS 3rd-party ecosystem is really really fragile at the moment.

edwinnathaniel··on Why we choose Java instead of a polyglot stack
Sorry but I don't feel that way. I've been using Java since 2008 and have worked with other engineers. Nobody would want to write more code than it has to be.

I also don't see tutorials or books that create too many layers for a while (especially post EJB2/EJB3.0 days).

edwinnathaniel··on The State of Meteor Part 1: What Went Wrong
I see BigCo who uses NodeJS only use it for their front-end appserver that farms the actual work to microservices _that are not written in NodeJS_ behind the scene.

I've had a conversation with someone where I asked "how do you deal with Money in NodeJS" where the response was to farm it out to a services written in either C# or Java. No Money processing is done in JS (maybe because JS lack BigDecimal? or no standard Money library that deals with ISO-level currency?).

LinkedIN used NodeJS for their mobile app back-end if I recalled. I would assume that NodeJS is just a front-end appserver talking to myriad back-end microservices written in other languages.

So this is where I stand given the lack of good stable solid libraries provided by NodeJS: its place is just sitting as a gateway front-end appserver that pass processed request to a bunch of services in the back-end and get response back from those services, do minimum massaging, and spits JSON back to the front-end. This is why I kind of labelled NodeJS as a niche. Sure, Trello uses NodeJS all the way left and right but I suppose you can write web-app back-end using Go or C++ too. Painful but works.

My faith in JS for back-end is definitely pretty low given that working with either callback or promise isn't fun but that's personal preference more than anything else.

Anyhow... I'd love to see real production level NodeJS code that deals with complex business logic (as opposed to super-high-level presentations without insight to the actual code) before I feel comfortable choosing NodeJS in general.

← PreviousPage 3 of 29Next →