HNHacker News
TopNewBestAskShowJobs

shuzchen

1,391 karma · joined October 24, 2009

Entreprenurial minded developer, heavily invested in social good projects and current working in open source.
submissionscomments
shuzchen··on Hy – A Lisp-flavored Python
Hy actually used to have a let (but a broken one) and it was removed in a recent version. For context on this see https://github.com/hylang/hy/issues/1056
shuzchen··on Prepack helps make JavaScript code more efficient
It's not a useless line, because prepack has no idea what Date.now() does (there are no guarantees in javascript that it hasn't been replaced with another function). It might mutate some global state somewhere, so the resulting code needs to call Date.now() as often as it would've if fib(10) was called. Basically the output is the unrolled version of the recursion, which cuts down on function invocation (comparatively expensive in dynamic languages).

If you replaced the line with say: `var y = 4;` you'll notice that it has been optimized out.

shuzchen··on Ask HN: Freelancer? Seeking freelancer? (April 2017)
SEEKING WORK - REMOTE / Las Vegas area

I've been big on python testing lately. I've implemented testing for large python projects at two companies now, bring them from 0% coverage to 100% coverage. I'm well versed on mocking tools to isolate components for testing, make tests deterministic, and remove the need for networking (who wants to run tests that rely on third party things).

I've been a remote worker for about half a decade now, so I had a track record of getting things done without direct supervision. I'm also available for other work. I'm a generalist with a vast amount of experience working with web technologies. I am capable of doing system admin and orchestration (ansible is my favorite), backend code (I prefer django and tornado) and frontend UI work (who isn't using react nowadays).

contact: shu DOT chen AT freelancedreams DOT com

shuzchen··on A linguist on Arrival's alien language (2016)
What value is there in counting "one tree, two trees" given you have small trees, large trees, new trees, dead trees, and trees of different species? You can't substitute any given "two trees" with any other "two trees", much less practically substitute any individual person with another. I can easily imagine an alien culture that highly internalizes individuality and thus finds no need to apply an arbitrary value (count) to any group.
shuzchen··on A linguist on Arrival's alien language (2016)
Numbers and math are required for theoretical space travel, but not necessarily for practical space travel. Catching a ball requires solving differential equations, but children and animals are capable of performing this action with no problem.

Given that there is so much of physics that we have yet to understand (assuming what we think to be true is actually true), and given the infinite possibilities of what forms alien life could take, you can't make any assumptions about what sort of language they'd have. This was a point they briefly tried to make in the movie.

shuzchen··on Logojoy: AI-powered logo creator
Have you looked into whether this is legit on legal usage? You appear to be using noun project icons in these logos, and afaik most logos on the noun project are creative commons with attribution (and I confirmed by selecting a few logos with icons which matched this license on the noun project site).

It doesn't appear that you provide any attribution at all to the icon creators wherever you display the icon, and I have no idea what license you deliver to the end user (I haven't went through purchasing a logo - knowing that you're just sticking some text with a noun-project icon doesn't strike me as worth it, honestly). Are you in the clear to be displaying these icons with no attribution, and are the users that buy your icons clear to be putting it on websites and business cards without attribution?

I haven't even looked into whether your font usage is appropriate, can you clarify that as well?

shuzchen··on Fixing Python Performance with Rust
I disagree, I think it makes Python look really good. Being an interpreted, dynamic language where most internals are represented by a hash table, it'll never compete in terms of raw speed. The people who choose Python choose it for the ecosystem and productivity, and from that perspective it's actually to its benefit that it's easy to replace your bottleneck code with a faster implementation. The only high level language in my experience easier to drop to C/C++(and now Rust) would be Lua of the luajit flavor.
shuzchen··on Ask HN: Freelancer? Seeking freelancer? (September 2016)
SEEKING WORK - REMOTE / Las Vegas area

I've been big on python testing lately. I've implemented testing for large python projects at two companies now, bring them from 0% coverage to 100% coverage. I'm well versed on mocking tools to isolate components for testing, make tests deterministic, and remove the need for networking (who wants to run tests that rely on third party things).

I've been a remote worker for about half a decade now, so I had a track record of getting things done without direct supervision. I'm also available for other work. I'm a generalist with a vast amount of experience working with web technologies. I am capable of doing system admin and orchestration (ansible is my favorite), backend code (I prefer django and tornado) and frontend UI work (who isn't using react nowadays).

contact: shu DOT chen AT freelancedreams DOT com

shuzchen··on Ask HN: Freelancer? Seeking freelancer? (August 2016)
SEEKING WORK - REMOTE / Las Vegas area

I've been big on python testing lately. I've implemented testing for large python projects at two companies now, bring them from 0% coverage to 100% coverage. I'm well versed on mocking tools to isolate components for testing, make tests deterministic, and remove the need for networking (who wants to run tests that rely on third party things). I've recently grabbed onto hypothesis (think Haskell's QuickCheck, but for python), and I'm excited to put it into practice. Are you sad/scared about the state of your tests for your python project? I can fix that.

I'm also available for other work. I'm a generalist with a vast amount of experience working with web technologies. I am capable of doing system admin and orchestration (ansible is my favorite), backend code (I prefer django and tornado) and frontend UI work (who isn't using react nowadays).

contact: shu DOT chen AT freelancedreams DOT com

shuzchen··on I Was Wrong About TypeScript
I was just about to complain how TS fails totally for typechecking backbone models or immutablejs datastructures: both situations where obj.get("foo") and obj.get("bar") return a particular type but there's no way of having TS handle that except defining them as any. But it turns out string literal types in 1.8 will make that work. And this was out since February! I should reevaluate TS for my omniscient project.
shuzchen··on Ask HN: Freelancer? Seeking freelancer? (June 2016)
SEEKING WORK - REMOTE / Las Vegas area

I've been big on python testing lately. I've implemented testing for large python projects at two companies now, bring them from 0% coverage to 100% coverage. I'm well versed on mocking tools to isolate components for testing, make tests deterministic, and remove the need for networking (who wants to run tests that rely on third party things). I've recently grabbed onto hypothesis (think Haskell's QuickCheck, but for python), and I'm excited to put it into practice. Are you sad/scared about the state of your tests for your python project? I can fix that.

I'm also available for other work. I'm a generalist with a vast amount of experience working with web technologies. I am capable of doing system admin and orchestration (ansible is my favorite), backend code (I prefer django and tornado) and frontend UI work (who isn't using react nowadays).

contact: shu DOT chen AT freelancedreams DOT com

shuzchen··on Ask HN: How do you handle large Python projects?
By no means should you just use prospector as is. The defaults are pretty good, but if you have a huge project it'll make more sense to do a little configuration, and most of the tools that prospector wraps are configurable. I for one don't use the default lint configuration.

I like dodgy and I actually pull out my secret key from settings.py (I pull it from the system environment). Otherwise you can just disable dodgy by using a custom profile (http://prospector.landscape.io/en/master/profiles.html#enabl...)

shuzchen··on Ask HN: How do you handle large Python projects?
It seems you're looking for tools to manage code quality. In that case I highly recommend prospector (http://prospector.landscape.io/en/master/). It wraps a whole bunch of tools in one interface. I suggest paying close attention to any code that scores high on McCabe code complexity.
shuzchen··on T. Rowe Price Voted for the Dell Buyout by Accident
So what I imagine when we talk about a single database is just some mapping of stock shares to owner. So to keep track of who owns what share, when some shares gets transferred you just update each row accordingly. (Imagine a stock with 10 total shares and X sells to Y shares #1, #2, #3, you'd just update the table and set owner=Y where share id is in (1, 2, 3))

But for such important financial data you don't want to just update your table and throw away your history. You'd like to also keep a record of what changes occurred. Maybe you'd like to audit your database, and find out the path of ownership from which a current owner obtained their shares. Maybe you'd like to make your history immutable, so as to not have headaches later on trying to validate the current state, or to discourage tampering with the database.

So now you have a datastore where the current state relies on an ever-growing stack of immutable changesets. This sounds exactly like what we talk about when we talk about blockchains. There are people who define a blockchain more strictly (e.g, The Blockchain(TM) with decentralization and crypto), but I think the author was going for the former meaning.

That is to say, you can implement a blockchain and still be using a single well-designed and well thought-out database.

shuzchen··on Uvloop: Fast Python networking
There is already http://www.tornadoweb.org/en/stable/ which is python3 compatible and shipped in production software across lots of companies (last I heard hipmunk and quora uses it)
shuzchen··on Uvloop: Fast Python networking
Since this is a benchmark of eventloop based frameworks, it makes sense to only spawn a single eventloop and test against that. I looked through the code for the python servers and they are all configured for a single event loop, making this a comparison on equal footing.

Yes it's true you normally run multiple node processes in production, but you likewise normally run multiple asyncio/tornado/twisted processes in production as well. I don't see it as a big deal, or misleading to compare them in this sense.

shuzchen··on Ask HN: Freelancer? Seeking freelancer? (May 2016)
SEEKING WORK - REMOTE / Las Vegas area

I'm a generalist with a vast amount of experience working with web technologies. I am capable of doing system admin and orchestration (ansible is my favorite), backend code (I prefer django and tornado) and frontend UI work (who isn't using react nowadays). I also have non-professional experience doing games and mobile apps. I'm a big fan of android and I've done a lot of native and non-native (cordova, kivy, react-native, love2d) things with android. I have a lot of experience with building consumer crypto products (my current and previous full time jobs are at security product companies).

contact: shu DOT chen AT freelancedreams DOT com

shuzchen··on Docker for Mac Beta Review
Can anybody in HN provide a quickpath into the beta? I signed up when it was first announced (seems to be over 30 days ago: https://news.ycombinator.com/item?id=11352389) but haven't heard anything back yet.
shuzchen··on Ask HN: Freelancer? Seeking freelancer? (April 2016)
SEEKING WORK - REMOTE / Las Vegas area

I'm a generalist with a vast amount of experience working with web technologies. I am capable of doing system admin and orchestration (ansible is my favorite), backend code (I prefer django and tornado) and frontend UI work (who isn't using react nowadays). I also have non-professional experience doing games and mobile apps. I'm a big fan of android and I've done a lot of native and non-native (cordova, kivy, react-native, love2d) things with android.

I have a lot of experience with crypto and zero-knowledge products (my current and previous full time jobs are at security product companies).

contact: shu DOT chen AT freelancedreams DOT com

shuzchen··on A way to deal with enormous branching factors in strategy games
While the AI problem of Fire Emblem isn't easy, it's likely a magnitude smaller than the Hero Academy on.

IIRC, in Fire Emblem every character gets some small amount of actions per turn, whereas in Hero Academy you have a pool of action points that you can spend among all your characters.

I mean there's some complexity beyond that simple description in FE (which hero moves first, their positioning and abilities can affect effectiveness of subsequent moves), but fundamentally the tree you must traverse is a lot wider and deeper with Hero Academy.

shuzchen··on Docker for Mac and Windows Beta
xhyve isn't exactly production ready (and the main repo hasn't been updated for a while). Did you guys actually solve some of the major problems (e.g., https://github.com/mist64/xhyve/issues/86 - crash coming back from sleep) or is that an expected part of the beta experience?
shuzchen··on Report: Apple building its own servers to prevent snooping
That same Hypervisor.framework is also what powers https://github.com/mist64/xhyve

I was really excited about that project but it doesn't appear to be getting much attention.

shuzchen··on How to Pass a Programming Interview
I've actually been through two interviews where I wasn't expected to finish the project, and I ended up getting the jobs. I think the difference there was it wasn't set up that it's "OK if you don't finish", but that "these requirements were crafted such that we don't expect you to finish".
shuzchen··on Ask HN: What should we fund at YC Research?
research research. there are a lot of things wrong with publishing and accessing research that really shouldn't be the case: public access to research is locked into expensive journals, while we already have tons of cheap distribution methods; published research almost never includes full datasets for third party analysis (storage is cheap, and distribution again); we never see research with unexciting results; researcher tools are crappy and expensive (there needs to be a free, user friendly, cross platform SPSS). The scientific method is great but it could sure use a tooling overhaul on all levels.
shuzchen··on Angular 2 versus React
Honestly memory is such an untrustworthy thing!
shuzchen··on Angular 2 versus React
If you want just the vdom model, look at https://github.com/Matt-Esch/virtual-dom I remember at one point mithril's vdom implementation was based on virtual-dom but I can't seem to find any documentation to back this up.
shuzchen··on LÖVE 0.10 released with iOS and Android support
When I had spare time I was working on a Terraria-inspired game. Here's a sample video of how far I got: https://www.youtube.com/watch?v=clxX8QZonL4 with the code here: https://bitbucket.org/sirpengi/lua_lovestory/src/tip?at=defa...

I ended up using luajit FFI to call into C to calculate lighting. I wonder what the FFI support is on the android/ios ports.

shuzchen··on Django Awarded MOSS Grant from Mozilla
The one thing that constantly impresses me in Django is how the devs handle changes. As much as possible they follow a deprecation schedule, provide opt-in support for future changes ("load url from future" for the url template tag change was introduced in Django 1.3 for a breaking change set to be default in 1.5), and document these changes.

For the most part they've not had to make huge changes because they've made good decisions at the beginning and resisted doing silly things in the core. Contrast with Rails and their scriptaculous past, which was dumped for coffeescript, which I'm pretty sure will be dumped soon (coffeescript is fading from the js mindset now for react/jsx/angular/typescript).

shuzchen··on Spideroak Kloak: Zero-Knowlege Social Networking
(disclaimer: i used to work at spideroak, but not on the crypton project) I would chalk this up to R&D. I don't think they'll make any money off of Kloak but they do want to bring crypton (the framework on which Kloak is built: https://crypton.io/) into maturity. Another project of note associated with crypton would be the password manager Encryptr (https://spideroak.com/solutions/encryptr). I'm not sure they want to replace their backup/storage service with crypton (although their backup service could use more collaborative features, so R&D into crypton could improve that), but they probably are looking into building other privacy focused products on top of which a better/mature/battle-tested crypton would be necessary.
shuzchen··on [dead]
Actually https://www.mailgun.com/ works just fine, it's just the http version seems to be misconfigured. Also, https://mailgun.com (no www) redirects to a http version?

They really should be using HSTS anyway.

← PreviousPage 2 of 13Next →