HNHacker News
TopNewBestAskShowJobs

tomkwong

143 karma · joined January 7, 2018

submissionscomments
tomkwong··on Julia 1.4
It's quite possible that certain area of the Julia ecosystem are not not mature enough. The situation continues to improve quickly as far as I can tell.

Rather than rewriting code in Python, we took an approach of using PyCall. It turns out that the overhead of calling Python is very small... at least not to an extent that I had to worry about. For my production system, we used this strategy to access Oracle and Apache Kafka. The code still looks very clean as the calls to the Python packages are just like normal Julia function calls.

tomkwong··on Julia 1.4
That's fair... although I generally found bad code that are not just bad syntax but rather bad design. Bad syntax or even project structure is easy to fix. Bad design is not.

BTW, this kind of discussion is healthy. The Julia core developers are already taking notes and I'm certain they will continue improving the language or ecosystem.

tomkwong··on Julia 1.4
What's the issue about global dependencies that you're trying to solve? For my production system, we manage version changes by way of Manifest.toml so that we don't get any surprises.

I agree that an opinionated file system structure is nice. Julia already wants you to put source code inside `src` but then underneath you are free to do whatever you want. We generally manage this via coding convention since people can never agree on a standard.

tomkwong··on Julia 1.4
I'm empathetic about your experience but I have been using Julia in production (financial services use case) for over 2 years and it's absolutely working great for us - developer productivity, performance, etc. We are not stopping and writing more Julia code at the moment.

To be honest, you can incur technical debt with any language. Software must be designed and maintained properly if you need a long-lasting solution. Research projects are also different than production code. Proper training and involvement with the developer community could help a lot.

My suggestion to everyone reading this thread - if you are new to Julia programming and need to work on a production project, do talk to Julia Computing folks. Their consultants can lead you to the right track. In addition, join the Julia Slack and Discourse community. You can almost get instant answers to anything you ask there.

Lastly, here's a selfish plug to my book: Hands-on Design Patterns and Best Practices with Julia https://www.amazon.com/Hands-Design-Patterns-Julia-comprehen...

tomkwong··on JuliaLang: The Ingredients for a Composable Programming Language
I would avoid the two language problem so option B is out of the way. If you choose option A, then you run into a risk of having to optimize some part of the code in C/C++. So you end up with the two language problem again. If you care about performance, then option C is not a bad place to be. Learning Julia is not a big deal. It would not take a seasoned developer too much time to get up to speed with it. What I found is that the Julia community is so vibrant that you can get a lot of help to move along quickly. My two cents.
tomkwong··on Algebraic Structures: Things I wish someone had explained about FP
Imagine that the size of the intermediate array is half of your computer's memory. It matters because by composition it reduces the memory footprint from 2x to 1x.
tomkwong··on The Essential Tool for Hong Kong Protesters? An Umbrella
> an extradition bill by the government which allows anyone in Hong Kong deemed guilty by the Chinese government (note: HK is not China yet) to be extradited to China for trial, even foreigners.

AFAIK, China is just one of the countries that was included in the bill. Hong Kong has become "fugitives' paradise" because it is unable to legally send criminals to the original country for trial.

> Chinese judicial system is a total joke

Don't disagree with you :-)

> the government didn't give in and sent the police and triads to beat up citizens instead

Fake news here. The government sent police to control riots. The people that got beaten up were criminals. Some media called them protesters. Bloomberg called them demonstrators. The ones in the front are criminals. They wear masks for the same reason that bank robbers wear masks. It is illegal to carry guns in Hong Kong so an umbrella is not a bad weapon. When these criminals charged forward, the police had no option but to control the situation using force.

> police brutality, misconduct, and collusion with triads and the Communist regime

Just compare to any Western country. If the same kind of violence were to happen in the US, someone would have been killed by the police. I'm not sure about collusion with triad. As for collusion with the communist party, we have to remember that Hong Kong is a Special Administrative Region of China. The Hong Kong government must work with China for any activity that may deem to be anti-government or challenge One-Country-Two-Systems. Collusion is the wrong choice of word here.

As for the 5 demands:

1. The extradition bill has been officially withdrawn.

2. This is impossible -- maybe it was possible in June but it's too late now given the violence.

3. This is impossible. It is also unreasonable because it would be a total dis-justice without going through the formal legal system.

4. There is already a system that citizen can make complaints against specific police behavior. It is also the wrong time to start any independent commission because the events are still unrolling.

5. It will take a long time to discuss again what made the "umbrella revolution" few years ago. The government seems open for discussions but if these so-called pro-democratic people cannot give in and resort to violent behavior then a "deal" can never been reached.

These recent events proved that some people in Hong Kong are indeed anti-government and their sole purpose is to tear down the One-Country-Two-Systems concept and make Hong Kong an independent country. By bad-mouthing the government and police, they are painting a picture that there is no other way but to separate itself from China. It includes certain media that is known to be biased -- Apple Daily News, The Stand News, and sometimes Radio Television Hong Kong (ironically, a government sponsored entity). They produce fake news by taking events out of context and fool everyone. IMO, these media and certain reporters are very unprofessional.

My 2 cents.

tomkwong··on The Mathematical Hacker (2012)
That’s true. And that’s the artifact of the difference between software engineering and computer science. One can be a successful software engineer, consistently delivering useful code that just works. Does it have to be the best design and best code ever. Maybe, maybe not. Does it really matter? Maybe, maybe not. Real computer scientists would be more concerned over design and efficiency. Any important software development project would benefit from both types of professionals.
tomkwong··on Matlab–Python–Julia Cheatsheet
Startup feels instant to me. Perhaps you are talking about precompilation. In that case, it’s insignificant for most computationally intensive applications.
tomkwong··on Surprising Bash Variables
Nowadays, people just skip the manual and go to stack overflow. The best way to learn something is still RTFM.
tomkwong··on Supporting employees engaged in open source
I agree. A policy is in place just to make sure that the company does not get into trouble. To encourage employees do do open source work does not really require a policy.
tomkwong··on Julia v1.1 Release Notes
Looks like an experimental package exists https://github.com/tshort/ExportWebAssembly.jl

It's also one of the Google Summer of Code projects https://julialang.org/soc/projects/general.html

tomkwong··on Ask HN: Is there a better way to document complex software architectures?
Looks interesting. Anyone used it before and can share the experience?

It seems to fill a gap nicely. When there are more than a few apps up in AWS it’s easy to lose track.

tomkwong··on Julia 1.0
Congrats to the Julia dev team for making it happen!

Julia v0.6 was already very functional/usable release but having 1.0 allow me to write code and have confidence that it will continue working in the same, solid foundation in the years ahead.

I started my coding career over 25 years ago and I had done much work in C, Java, JavaScript, and PHP. Julia is the best language that I have worked with so far. Fast, dynamic, and highly productive!

I'll be moving to 1.0 release when my dependent packages are upgraded to support 1.0.

tomkwong··on Http status 418 at overstock.com
It's still happening and it's unrelated to cookie... Looks like a problem at the overstock.com side.
tomkwong··on Http status 418 at overstock.com
Clearing cookie 2nd time was OK... it's so weird.
tomkwong··on Do We Need Distributed Stream Processing?
These posts are more than 3 years old though. The latest spark/graphx should perform much better. I wonder if there's an updated study is available...
tomkwong··on Competitive Programmer's Handbook (2017) [pdf]
Nice! Reading through this doc is like going back to Computer Science classes again.
tomkwong··on Swift for TensorFlow Design Overview
What does unreliable community even mean? As far as I know the Julia community is strong and healthy. Just check out their discourse site or slack overflow tag julia-lang.
tomkwong··on My account is sending spam emails
https://support.google.com/mail/answer/50200?hl=en
← PreviousPage 2 of 2