HNHacker News
TopNewBestAskShowJobs

jasonlhy

8 karma · joined April 20, 2017

submissionscomments
jasonlhy··on Are Ghost Engineers Real?
This is more common in other fields especially in a finance domain.
jasonlhy··on Takeaways from the Vision Pro after 6 months
I have a apple Visio pro, I personally think it is a very good device, control by finger is impressive, except it is way too expensive
jasonlhy··on Experts vs. Imitators
I think the real difference is experts can tell you what he is good at and admits what he is not good at but imitators cannot
jasonlhy··on Jaq – A jq clone focused on correctness, speed, and simplicity
It have some learning curve, but it actually makes sense when you get used to it and work for other format too. It is much better than other transformation language, and you can even call Java.

I think they kind of stuck in the development, even the mule engine only have one active developer from the github commit ….

jasonlhy··on Jaq – A jq clone focused on correctness, speed, and simplicity
I think the best alternative for JQ is datawave, but it is not open source. https://dataweave.mulesoft.com/
jasonlhy··on Ask HN: What's more valuable: expert or broad knowledge in different areas?
It depends on your end goals, if your target is to find a job, implement some feature without going into too details. Not every people like to deals with the implementation details. Being a generalist is the road.

For example, many people just know how use React components, Angular components. But that’s ok in many jobs become there is no strict UI requirement on many jobs.

However, If your endpoint is to write components with design system / customise / optimise the components a little bit, you really need to understand how CSS and JS works.

The biggest pitfall I think is career development, if you are too generalist and your knowledge just stays on the surface, you just can’t solve some problems with technical complexity. It is hard to know what you don’t know … and some problems need expertise.

jasonlhy··on Why is OOP still so widely spread?
I think OOP as a way of abstraction. It make sense to abstraction something in OOP style, for example, collection such as LinkedList, Stack.

But sometime it is too verbose to use OOP, for example lambda vs anonymous listener. The biggest problem is it is easy to do wrong abstraction with OOP style, for example, store state that make no sense and put weird method inside a class

jasonlhy··on .NET Team Survey: Native AOT
I believe they tried to keep the C# version independently from the framework version, so people can use the new C# version on a old .net framework.

But things seem impossible for some new features, for example async steam just need new feature from core CLR.

So after .C#8, they decide only to support it on .NET core

jasonlhy··on Unit Testing Is Overrated
I think the value of unit test is to test the logic in software abstraction instead of relying on external dependencies, but I believe many unit test is just for the sake of unit test
jasonlhy··on It's probably time to stop recommending Clean Code
I would say many examples in the book is just for demo. In real life, it have to trade off somethings
jasonlhy··on Ask HN: What is the ideal developer experience in 2020?
They change a lot in the build system in recent years and completely confuse people
jasonlhy··on Why C# coders should shut up about Delphi (2016)
I have colleague who still write desktop application in Delphi. I sometimes work with him and to observe how he write Delphi, which is quite impressive, and the performance is remarkable. However, it is really bad at some points.

First, it is not friendly to web, we have some special web requirements, we decided to spawn a node process to do it.

Second, the tooling is so much better in Visual Studio. And the compiler is so much smart with sophisticated and syntactic analysis.

Last but not least, it really lacks 3rd party libraries so people always need to implement themself.

C# may not be the best option for any application. But it is general enough to almost support every types of application.

jasonlhy··on One-pass Compiler
I wonder if Delphi still a one pass compiler?
jasonlhy··on Ask HN: Why isn’t visual programming a bigger thing?
I used Visual Programming in my previous job. It is pretty good for waterfall logic and certain workflow. However, it is not scalable well for custom pattern, custom architecture, and Async, operation and functional programming paradigm
jasonlhy··on If You Want to Be a Senior Developer, Stop Focusing on Syntax
I think the main reason is many developer lacks the skill of systematic learning. Never attempt to read the basic manual / document and understand the basic theory behind the technology
jasonlhy··on Ask HN: I've been promoted to Architect. What do I need to learn/do to excel?
I think document is good for filling the details, but it will not solve all the problem . And I kind of hate Architect with an extreme authority from top to the bottom and just assume people know everything. From my experience, casual communication between developers is an important factor in software development.

The perfect role of architect I believe is an individual contributor. People just come to ask your idea and respect you to make the majority of design. And you need to help other to understand your idea.

jasonlhy··on The third wave of open source migration
I think framework is extremely abstract today. Sometimes I need to check the source code to understand what kind of magic is going on inside the framework.
jasonlhy··on New Grad vs. Senior Dev
Just like I asked my Team Lead to drop IE support. Even the product owner is OK with it. He is quite obsessed with IE.
jasonlhy··on Websites have evolved back to static HTML/CSS/JS files
Server side rendering is not really that slow, and SPA is not really that fast if your bundle size is huge.

More important is that most users will not able to distinguish the difference. I have asked my friends how they feel to compare Facebook to a traditional MVC web site in term of speed difference, none of them can feel the difference.

However, the transition from page to page do affect the user experience. As a user, when I want to do a task that involve many UIs and I need to click multiple pages, I will think it is a bad experience, but I do accept to switch to another page for another task. Therefore, It makes sense to have a SPA for some rich UI feature so that user can remain in the same page

jasonlhy··on Ask HN: What industries are underserved by software?
I would say the biggest challenge of this kind of field is it is so big so no one actually know everything. The rule also varies between countries. For example, the construction rule in England may be different from the rule in the US
jasonlhy··on Ask HN: What industries are underserved by software?
Absolutely agree, construction is very big field. I work for software company targeting construction, the scale of data, operation is far beyond my expectations
jasonlhy··on Why not to use (f)lex, yacc or bison
I think they are learning tools for people to start and to play around. It is hard for an application developer with no background knowledge to understand what a parser does because it is quite abstract, for example lexer, tokens and expression tree.

However, to build a realistic and comprehensive compiler, I believe to build it manually is a much better option because it is less error prone, more flexible to tweak around and favours unit testing. Perhaps parser generator is better? I am investigating these kind of tools for work because we need to make our own unique formula implementation. I did use yacc for a school project, and I know its limitation. Since I am busy at my staff so I just let my colleague to make their decision and they decide to use jison. It turns out the product owners want see a much better error message in invalidating the formula, also we need to define our own function so we have to switch to another implementation in the next phrase.

jasonlhy··on Ask HN: Low Code tools like Webflow, what's my role in the future?
It really depends on what kind of job you are targeting on. Some low end jobs can be replaced with the tool.

But there is always a room for professional developers who are attention to details and are able to identity and to fix the problems.

jasonlhy··on What's SAP?
From my experience, to integrate with SAP may not be that trivial with just calling SAP’s RFC. Companies may need to workaround SAP issues, for example, user license, slow RFC response. And also need to consider the case of error recovery, otherwise you will suffer from data inconsistent. What you end up actually are a set of “micro service” to build on top of SAP
jasonlhy··on What's SAP?
In my previous company, there is a senior worked on SAP for a long period of time. In his point of view, the UI of SAP was nice in 90s, but they are outdated now. And you can’t customise the user interface with what you want. He also thinks we should not put too much effort in learning SAP product as a developer because he thinks ERP is not not for this generation. He suggested We can learn the integration with SAP, but don’t waste most our time to learn the SAP configuration from the top to the bottom, SAP programming etc.
jasonlhy··on Ask HN: Which low-code/no-code tools don't suck?
OutSystems is probably the leader in this area. But you need to keep in mind that low code != easier development or faster time, it just means another tool to develop. You need to still understand how to use those tool to develop your systems. Everything beyond the tool expectation will need to be built with workaround and longer time development.
jasonlhy··on Is working on Outsystems platform good for developer's career?
Knowing a little bit is good, building your entire career around it is bad except you work for it as a consultant.
jasonlhy··on The Rise and Fall of Visual Basic
I think VB dead just because RAD is dead just like the article states: Careless newbies, bored company workers, and summer students trampled in, solving challenges that would have been much more difficult on any other platform, and spraying spaghetti code everywhere. In other words, because VB was easy enough to use even if you weren’t a trained coder, it was used by plenty of people who weren’t trained coders. And VB did nothing to encourage them to correct their bad habits.
jasonlhy··on Rethinking Visual Programming with Go
I have used OutSystems for almost a year, I think it is almost the best in this area. But I still don’t like it in many ways. Its normal paradigm is simple imperative programming, and usually over abstraction. Some simple logic flow just easier to be read in text.

I can conclude OutSystems is not a completed solution for general purpose development, it is just a platform which provides simple template, components, programming. For systems which are data entry (what they call digital transformation), it is ok with an crazy license. However, if you want to implement some business logic, you are better to implement them in general programming language.

The components system really show what is leaky abstraction. For some plugin I have to understand what is doing behind. For native Cordova plugin, it is crazy to debug.

In a short run, it saves time, however, in a long run, it don’t have any advantages due to two reason: Its development speed will not able to catch up with technology trend, therefore, sometimes of its advantage is no longer an advantage, for example it have components, but frontend framework also have many components. (Its component framework just copied from the open source, it is hard to find the documentation of the embedded version)

The eco-system just sucks, very few plugins because its plugins are not easy to make, and many of them are not supported by the Outsystems so most likely the plugin author will answer your question on the forum.

jasonlhy··on SwiftUI and Catalyst: Apple executes its invisible transition strategy
I absolutely agree on you, the entry level of Windows developer used to be lower than other developers. People use visual studio to drag and drop the controls, glue the code all together. You don’t need to type command, you don’t need to understand how the things work behind.

This may be ok for a junior position, and in closed environment. However, people are lazy and not all people are hard core. As a result, there are a lot .NET senior who don’t actually “know” how to code. Nowadays things become extremely complicated, all sort of API, library and framework. Even Microsoft can’t provide a completed solution, and it go back to command line approach with .NET core. I have been recently contacted by my ex-employee who want me to do some C# API communication freelance because their .NET developers just don’t know how to read the documentation and implement them in code.

Page 1 of 2Next →