HNHacker News
TopNewBestAskShowJobs

erjiang

1,210 karma · joined December 13, 2011

You can email me by sending mail to erjiang at alumni iu edu
submissionscomments
erjiang··on How does Chrome decide what to highlight when you double-click Japanese text?
It turns out that's because ICU uses a combined Chinese/Japanese dictionary instead of separate dictionaries for each language. Which probably is a little more robust if you misdetect some Chinese text as Japanese and vice-versa.
erjiang··on How does Chrome decide what to highlight when you double-click Japanese text?
The library that Chrome uses seems to use a dictionary[0], since you can't determine word boundaries in Japanese just by looking at two characters.

Your first link also says:

> To handle certain situations, some line breaking implementations use techniques that cannot be expressed within the framework of the Unicode Line Breaking Algorithm. Examples include using dictionaries of words for languages that do not use spaces

[0] posted in another top-level comment: http://userguide.icu-project.org/boundaryanalysis

erjiang··on How does Chrome decide what to highlight when you double-click Japanese text?
According to your first link, BreakIterator uses a dictionary for several languages, including Japanese. So I guess the full answer is something like:

Chrome uses v8's Intl.v8BreakIterator which uses icu::BreakIterator, which, for Japanese text, uses a big long list of Japanese words to try to figure out what is a word and what isn't. I've worked on a similar segmenter for Chinese and yeah, quality isn't great but it works in enough cases to be useful.

erjiang··on Ask HN: Freelancer? Seeking freelancer? (May 2020)
SEEKING FREELANCER / Remote / US/Pacific time preferred

Looking for a front-end developer who's a React expert and is good at figuring out tricky browser interactions. Fabrica is building a no-code web-based visual editor for web apps.

Please, no recruiters or teams/firms.

Website: https://www.fabrica.dev/

Contact: eric+whoishiring@fabrica.dev

erjiang··on Ray Tracing with POV-Ray: 25 scenes in 25 days (2013)
Wow, the state of the art in 3D rendering has changed dramatically. The state of the art in open source 3D rendering has changed even more dramatically.

Compare these screenshots from 2013 (although I think POV-Ray was looking pretty dated by then) to renders that come out of Blender's Cycle renderer now.

The big change is that everyone has moved to "physically based rendering" that do path-tracing for propagating light through a scene. Old-school raytracing cannot know how light indirectly bounces off a wall, for example, leading to artificial-looking shadows and flat lighting.

Anyways, anyone interested in making neat little 3D scenes like in this GitHub should try out Blender - it's shockingly easy to make realistic renders compared to several years ago.

Edit: Blender's Cycles rendering engine seems to have been included with Blender since 2011. POV-Ray probably represents 2000s-era tech, although I think it can do more than what's demonstrated in this post.

erjiang··on Show HN: Fabrica – Create data-driven web apps without writing code
Thanks for the good idea! I'll stick that in the pricing chart.
erjiang··on Show HN: Fabrica – Create data-driven web apps without writing code
Hi HN! Excited to show what I've been working on to everyone, and happy to answer any questions here. This started as a way to scratch my itch for something that would let me skip a lot of the yak-shaving for my various ideas and projects that I wanted to get up and running quickly. Let me know what you think!
erjiang··on Show HN: Kanmail – An email client that functions like a kanban board
License scanning is a big deal for enterprise, especially the ones deeply afraid of any "GPL infection". Black Duck is one such vendor of license scanning software.[0]

[0] https://www.blackducksoftware.com/

erjiang··on Show HN: Watch YouTube videos in a 3D world with your friends
The biggest problem IME is that VR headsets are not very high resolution, since the screen needs to cover a wide FOV but your eyes look for sharp detail in the center of what you're looking at. So you'll see a slight screen-door effect or aliasing. The VR cinema feels nice and big but you won't see the same level of detail as in real life.

Motion sickness is not usually an issue with apps made for VR because they've usually implemented move-by-teleporting. I've tested VR with multiple people who get motion sick playing regular first-person games like Minecraft, but they don't get motion sick in VR.

erjiang··on Containers vs. Zones vs. Jails vs. VMs (2017)
This is true for many new waves of popular technologies.

1) A new technology or method becomes popular. 2) Developers find new advantages in using the technology. 3) Understanding of tech and original advantage is somewhat lost.

For example: containers are now widely used as part of a scriptable application build process, e.g. the Dockerfile. There are probably many developers out there who care about this and not about how containers are run and how they interact with the kernel. And for their use cases, that is probably the thing that matters most anyways.

erjiang··on America's bailed-out airlines are not 'playing fair' with customers
Let's say that AA didn't do any buybacks - instead they saved up all of the money that they would have spent on buy backs in the last few years. Would that have been enough to survive this pandemic?
erjiang··on Ask HN: What projects are you working on now?
I'm working on a tool to make web apps without writing any code, so basically a WYSIWYG that's like Airtable + Squarespace in one. If you have a need for any internal apps for your company I'd love to hear about it! https://www.fabrica.dev/
erjiang··on Ask HN: If I've already taught myself to code, should I still get my CS degree?
I went into college able to write software in multiple languages across multiple platforms. I also skipped a bunch of prereqs and got the other mandatory courses out of the way quickly.

But I learned a ton in my 4 years of CS classes, and would have kept learning a lot if I stayed for a couple extra years, I'm sure. I'll tell you that it was eye-opening to go from setting the curve in a mandatory class to struggling to keep up in a topics class.

It depends on what your school offers, but if you can cherry-pick quality classes for the remaining two years, I'd say it's worth it unless a time-sensitive career opportunity comes along (e.g. founding a company). Or do a second degree with your free time if you're not that interested in CS.

erjiang··on Perchance to Scheme (2016)
I am guilty of writing my own Scheme (R5RS) interpreter as well, and a key takeaway from the experience was that many things calling themselves Scheme interpreters are missing core parts of Scheme.

Implementing a language that resembles Scheme is quite easy. Implementing call-with-current-continuation and hygienic macros AND getting the tricky little details correct is not.[0] An analogy might be someone offering "ability to write SQL" for their fly-by-night database without stating up front that joins are not supported.

[0] Old test suite run against old Schemes: http://sisc-scheme.org/r5rs_pitfall.php

erjiang··on Migrating 1200 databases from MySQL to Postgres
Pgloader can be very powerful. Despite never having using Common Lisp, I found it easy to add in a custom column conversion functions without modifying pgloader itself. You can write additional lisp files with custom procedures and load them at runtime.
erjiang··on Ask HN: Who is hiring? (October 2016)
DoubleMap | http://www.doublemap.com/ | REMOTE | FULL-TIME

Python web application developer

Are you fascinated by the logistics behind Uber and Lyft? Join us as we bring on-demand transit to public transit agencies across the country.

We're a small, fast-moving company working on bringing technology to public transit. Our server code is all in Flask, so experience making web applications with Python is a must. Bonus points for Angular and experience.

Interested? Email your resume and a short description of what you are looking for to careers@doublemap.com

erjiang··on Universal rendering with SwiftShader, now open source
Chrome maintains a GPU blacklist of drivers and GPUs that it will not run WebGL on. According to [0], even hybrid Nvidia/Intel setups are excluded. So I wouldn't be surprised if there are many people with GPUs that "support" OpenGL ES but are buggy enough to be blacklisted.

[0] https://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists

erjiang··on Ask HN: Who is hiring? (January 2016)
DoubleMap [http://www.doublemap.com/] | Indianapolis, IN

DoubleMap creates software for public transit, including GPS tracking, reporting, and ADA features. We're a small team working on two primary products (DoubleMap and TapRide) and we're looking to grow our team and product.

Full-stack software developer | Full-time | Indianapolis (Onsite)

This person will fix bugs and create new features based on client requirements for our transit software. Our software features include scheduling, bus ETA prediction, voice announcements, on-demand ride hailing, and more. * Substantial PHP or Python experience * Experience writing web apps * Linux expertise * Knowledge of UX, HTML5, Unix

QA Tester | Part-time | Remote

We're looking for someone who has enough technical knowledge to run our software, understand it, and find bugs in it - no programming expertise required. * Good troubleshooting skills and an eye for detail * Excellent communication via email and other online tools * Understanding of web technology * Familiarity with Unix a plus * Familiarity with public transit a plus

Web designer | Part-time | Remote

We're looking for someone to help us with a visual revamp of our web platform. We have designs from a talented designer and need someone with good HTML5 skills to adapt and implement them. * Understanding of mobile and responsive design. * Understanding of HTML5 best practices. * Can show a portfolio of previous work.

If you are interested, please email careers@doublemap.com with your resume and which position you are interested in.

erjiang··on Google Wants to Make Silicon Valley as Bike-Friendly as Copenhagen
Mountain View and most of the other SV cities want to maintain their quiet suburban image, nevermind that they are home to some of the biggest tech companies in the world. Until residents start voting the other way, housing will continue to be in very short supply.
erjiang··on Google Wants to Make Silicon Valley as Bike-Friendly as Copenhagen
I used to take the trails by the bay from the Googleplex to North San Jose - most is unpaved gravel, and then you pass by a smelly waste treatment plant and get on some paved trails. Even on a hybrid, it was not the most pleasant cycling.

Those were at least dedicated bike trails, which is more than I can say about a lot of other areas in South Bay. I would never attempt to take Shoreline over 101 and compete with all the drivers trying to get on the highway on-ramp.

erjiang··on Ask HN: Who is hiring? (September 2015)
Web application developer - REMOTE

We are looking for full-time web application developers to work on PHP/CakePHP, Python/Flask, and angular or jquery web applications. Remote workers are welcome.

Please email "gunnar" at doublemap.com with your resume and/or portfolio and the pay range you are looking for. Thanks!

erjiang··on Python Is Not C
Interesting to see this - we ran into a similar problem of finding points within a certain distance from amongst thousands or millions of points. We ended up using Cython[0].

Would this numpy trick work if he still needed an accurate distance calculation? Kind of underwhelming to throw away the accuracy to get speed without adding it back later.

[0] http://doublemap.github.io/blog/2015/05/29/optimizing-python...

erjiang··on Ask HN: Who is hiring? (July 2015)
Sys admin | REMOTE welcome

We are looking for a remote sysadmin to work part-time starting with a couple hours per week doing routine maintenance but potentially increasing in the future.

Candidates world-wide are welcome, and may be preferred for late-night/early-morning tasks.

We use the following tools:

AWS: EC2, RDS Ubuntu docker apache2 nginx php-fpm cron Python

Interested candidates please see my profile for contact information! Please include your weekly availability, what hourly pay you are looking for, and an overview of what Linux/web tools you have experience with.

erjiang··on Multipath routing on a Raspberry Pi 2
I tried this[0] and successfully round-robin packets in a single stream. Problem was that the two links had different latencies and Linux has no tolerance for out of order packets. Instead, it would cause a huge number of retransmissions.

[0] https://github.com/erjiang/tuntuntun

erjiang··on EU Formally Accuses Google of Antitrust Violations
Flights. Mail. Cloud services. Office suite software. Etc.

Imagine that you search for "orlando new york flight" and the first result is rigged to be Google Flight Search. Or you look for "cloud database" and Google Cloud SQL is first.

Google is trying to get into a lot of markets, and its dominance in search could give its many other ventures an advantage.

erjiang··on Heroku Beta Pricing
Under this tentative scheme, if you want to point example.com to exampleapp.herokuapp.com then you'd need to be on the $7/month tier.

I don't know why you'd want to point your domain to an app that's only up half the time anyways, so I don't think this is a big deal.

erjiang··on Heroku Beta Pricing
I tried to post this yesterday[0] and fell off the new stories list, but such is HN.

Basically, they're nerfing their free tier by charging $7/month for a 24/7 running app. People wanting to run a free app may look at App Engine or AWS's one year free tier, or compare the price among other "cloud" and cloud-ish services.

[0] http://notes.ericjiang.com/posts/881

erjiang··on Why Baidu Has Been Hijacked to Attack GitHub
Google Translate has actually mangled the (English) text a bit by going from English to English.
erjiang··on Ever wondered how device drivers are reverse engineered?
Wow, I really wish I had read something like this when I attempted to write a program to use USB weighing scales in Linux.[0]

I learned things like needing to detach the kernel driver the hard way. And because I didn't know anything about USB (and still don't), I was stumbling my way through libusb. There I still missing features that I need to revisit once I learn how to use USB properly.

[0] https://github.com/erjiang/usbscale

erjiang··on Transitmix (YC W15) Cuts the Paper Out of Bus Route Planning
Very interesting and encouraging to see a public transit service in YC.

Article says that you all don't have prior experience in transit. Are you learning from your early adopters as you go?

How much and how often do agencies re-plan their routes?

How much of planning is driven by politics vs driven by data?

What positions you all vs the consultancies who do planning? Would you expect consultants to be your customers or competitors?

← PreviousPage 2 of 5Next →