HNHacker News
TopNewBestAskShowJobs

chanon

129 karma · joined August 14, 2010

submissionscomments
chanon··on I built the same app 10 times: Evaluating frameworks for mobile performance
Never used Preact so unsure
chanon··on I built the same app 10 times: Evaluating frameworks for mobile performance
The author noted that Solid is very similar to React but with a simpler mental model. This has been my experience as well. And its faster too.
chanon··on Show HN: Deta Surf – An open source and local-first AI notebook
Looks interesting! What is the business model?
chanon··on You did this with an AI and you do not understand what you're doing here
I posted a job for freelance dev work and all replies were obviously ai generated. Some even included websites that were clearly made by other people as their 'prior work'. So I pulled the posting and probably won't post again.

Who knew. AI is costing jobs, not because it can do the jobs, but it has made hiring actual competent humans harder.

chanon··on How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
I'm starting to think these 'Github Apps' are a bad idea. Even if CodeRabbit didn't have this vulnerability, what guarantee do we have that they will always be good actors? That their internal security measures will ensure that none of their employees may do any malicious things?

Taking care of private user data in a typical SaaS is one thing, but here you have the keys to make targetted supply chain attacks that could really wreak havoc.

chanon··on How we exploited CodeRabbit: From simple PR to RCE and write access on 1M repos
Oh my god. I haven't finished reading that yet, it became too much to comprehend. Too stressful to take in the scope. The part where he could have put malware into release files of 10s of thousands (or millions?) of open source tools/libraries/software. That could have been a worldwide catastrophe. And who knows what other similar vulnerabilities might still exist elsewhere.
chanon··on What Happened to the Real Time Strategy Genre?
Loved Homeworld too. There really was nothing like it when it came out.
chanon··on Medical equipment pricing is completely broken when a sling costs $200
I live in a developing country ... Thailand.

Reading things like this, stories in this thread, and about how people are avoiding seeing the doctor because they're afraid of the bills ... makes me realize in some ways Thai people actually have a higher quality of life than many in US in this respect.

Costs are order of magnitude(s) lower. A night in the hospital is typically 5,000-10,000 baht or $166-$333. And the quality of care is at a good standard .. so much so that Thailand has become a Medical Tourism destination:

https://www.health-tourism.com/thailand-medical-tourism/

If you have some money, you can pay more for faster service and more attentive care at more expensive private hospitals.

And if you can't pay, you are still covered by Thailand's Universal Healthcare:

"What Thailand can teach the world about universal healthcare" https://www.theguardian.com/health-revolution/2016/may/24/th...

"Thailand: At the forefront of Universal Health Coverage" https://medium.com/health-for-all/thailand-at-the-forefront-...

Thailand is a relatively poor country, but we are still able to do this. In the US, I guess some people would rather die than admit needing help from the government ... or trying to clamp down on healthcare costs cause it would be too much 'regulation'?

chanon··on The preachers getting rich from poor Americans
Buddha is not his name, his name is Siddhārtha Gautama.

https://en.wikipedia.org/wiki/Buddha_(title)

chanon··on Visual Studio Code is now open source
No, it does properly support both of those and I've been happily using those features in VS Code for a while now. It might actually be the best editor for JSX.
chanon··on Vivaldi – A new browser for our friends
Why not CTRL+PGUP / CTRL+PGDN ? Requires less fingers too.

EDIT: Sadly Vivaldi doesn't seem to support CTRL+PGUP / CTRL+PGDN yet.

chanon··on Our quantum problem
With all this writing about the 'quantum problem' and quantum mechanics not making sense, I don't understand why quantum theorists don't take pilot wave theory and the oil droplet experiments more seriously.

http://www.wired.com/2014/06/the-new-quantum-reality/

Also, having people with expertise in other fields (fluid dynamics in this case) look at the problem is exactly what can create progress.

chanon··on Awesome Node.js: Curated list of delightful Node.js packages
I'd recommend adding webpack ( https://github.com/webpack/webpack ) to build tools. It's similar to browserify but has some nice extra features.
chanon··on The Hazards of Going on Autopilot
The main problem (quote from the article):

"What we’re doing is using human beings as safety nets or backups to computers, and that’s completely backward"

Made me stop and think a bit when I read this, very true.

chanon··on Uber's playbook for sabotaging Lyft
Exactly my thoughts. Once they squeeze out all the competition, then its time for the drivers and riders to get squeezed.
chanon··on Next-Gen Lighting Is Pushing the Limits of Realism
I think he said only the lightmaps were pre-rendered and that took 10mins. The actual scene runs real-time at 50-60 fps on his gtx670.

(Prerendering lightmaps is typical for games for scenes with static lighting.)

chanon··on Fotopedia is shutting down
It looks like they had/have an free iPhone App. Did they even try putting ads in it?

No ads or subscription options on the site either.

chanon··on Farewell Node.js
I actually prefer stronger typing and Typescript solves that for me for Javascript+Node.js

The bigger reason I see for sticking with Node.js for web development is being able to use Javascript for both server and client code.

Newer Javascript frameworks and templating libraries such as dust.js, Ractive.js, React.js can render both on server side and client side so on the initial requst the server can send a fully rendered page for SEO and performance, and then client side Javascript can dynamically update the page using the same code/templates.

chanon··on Farewell Node.js
Maybe try Typescript, it has optional typing and is compatible with normal Javascript. It really solves those problems you mention and will give you compile errors if you send parameters of the wrong type to functions.
chanon··on A thirteen year-old eagle huntress
The photographers blog post with first hand account and more pictures: http://www.svidensky.com/post.aspx?id=18
chanon··on Ask HN: What are you working on and why is it cool?
I'm working on Dragomancers ( http://www.facebook.com/Dragomancers ) a Facebook (and later iOS) RPG game.

It's cool because it features online player vs. player turn-based combat and it's built using Node.js on the server side.

chanon··on zBase – A high-performance, elastic, distributed key-value store
From what I've read zBase is a fork of Membase. So zBase is a direct competitor to Couchbase which is what Membase became.

One of the main advantage of zBase / Membase / Couchbase compared to many other NoSQL data stores is their strict consistency model (compared to eventual consistency in Riak for example).

This means that with a zBase/Membase/Couchbase cluster, if client A writes a new value to a key in the cluster and client B reads from the same key immediately afterwards, client B is guaranteed to (immediately) see what client A wrote.

While in eventual consistency models, client B might see the old value in that case (could be because the change might not have propagated to all servers in the cluster yet). If client B tried to read again a few minutes later he might then see the new value from A.

Strict consistency is required in a lot of applications such as game servers (which is why Zynga needs it).

For use cases that are more read-heavy, like holding the contents of a news website, eventual consistency is good enough.

chanon··on Working on TypeScript 0.9: Generics, Overload on Constants and Performance
> You don't actually care that it's a Dog BTW, just that it has a method called Bark(), if that's what you call on it.

This is exactly where TypeScript helps.

With the way TypeScript interfaces work, you can define an interface

  interface Barker {
      Bark();
  }
And have an array of Barkers where each object's class doesn't have to explicitly say that it implements Barker. Ex.

  class Dog {
      Bark() {console.log('woof');}
  }

  class Cat {
      Meow() {console.log('meow');}
  }
  var barkers: Barker[];  // array of Barkers

  barkers.push(new Dog()); // compiles
  barkers.push(new Cat()); // won't compile
Here Dog doesn't have to explicitly declare that it implements Barker. The TypeScript compiler automatically verifies that it does by the fact that it has a Bark() method.

In TypeScript, Arrays already support this level of type checking. With generics, the static type checking will be able to cover a lot more code so that you don't have to depend on writing tests.

chanon··on Daemon Showdown: Upstart vs. Runit vs. Systemd vs. Circus vs. God
I'm extremely happy with supervisord, but now wondering how Runit is better.
chanon··on Banned From Making Money, These YouTubers Share Their Stories
I think the fact that anyone can get anyone else's adsense account banned by clicking their ads everyday means it's not really working the way it should.

Competitors can just kill each other's revenue sources.

But, I'm guessing the really big channels will get protection from that, while the small guys would get banned.

chanon··on Ask HN: losing faith in the startup where I'm employee #1
I think it's clear that you don't need convincing that you should move on (which a lot of comments here seem to be trying to do).

Your problem as you say is you want to keep a good relationship with the founders. While others say there is no value in that because of their past performance, I think if it's not necessary to burn bridges then why do it? Who knows, they could provide a good reference for a great opportunity for you in the future.

So, my advice for you in this case (as an employer) is that:

- Give advance notice that you are thinking of leaving. 2 months would be a good amount if you can. That should give them enough time to find a replacement. It doesn't have to be 2 months though, but the earlier the better. The worst thing you can do is keep all the frustration inside until you can't take it anymore and then have to leave right then. Rather, you should talk to them about it .. just telling them that you are thinking of leaving might be the kick in their backside to get their shit together. (But I'm not saying that is the end goal for you, the end goal is to get out with relationships intact.)

- Just tell them that you want a change, want to try something else, find a new opportunity. They should understand that. They shouldn't expect you to give them X years of your life as if they owned you.

If you do this, then there is no cause for them to be angry at you.

chanon··on Goodbye, CouchDB
See http://blog.couchbase.com/how-couchbase-helped-omgpop-break-... .. not directly by a user but still a real world usage story.
chanon··on Why being broke is the best startup strategy
"There isn’t any question of motivation, because the luxury of choice is removed. There is no think, only do."

Love this. Been through it, and I agree that the focus leads to doing your best work. It naturally makes you strive to make sure of success .. not leaving anything to 'chance' - because you can't afford to.

chanon··on Adobe to charge Flash coders to use 'premium' features
More info at: http://www.adobe.com/devnet/flashplayer/articles/premium-fea...

Specifically:

Premium features licensing will only be needed when both of the following APIs are used in the same application run in Flash Player:

* ApplicationDomain.domainMemory, which provides access to domain memory

* Stage3D.request3DContext, if using hardware acceleration

--

From the article, it looks like ApplicationDomain.domainMemory is required when using the Alchemy compiler which allows compiling and running C/C++ code in Flash Player. (Hmmm.. seems like a competitor to Google's NaCl)

While Stage3D.request3DContext is required for using Stage3D which enables hardware acceleration in Flash Player. Angry Birds on Facebook already uses this.

Most games coded natively in Flash/AS3 won't require both. However, I'm not sure whether Unity's export to Flash and Unreal's export to Flash require Alchemy.

In any case, the revenue share is only required when both features are used. However, again the media aren't communicating the whole deal and again it's Adobe's fault for coming up with such weird/complex terms.

Edit:

After some quick research, it seems both Unity and Unreal's export to Flash Player feature require both Alchemy and Stage3D to work. So it looks like what Adobe are trying to do here is to generate some revenue from their 'platform' as otherwise they wouldn't receive a dime from all those Unity devs who would have easily exported their project to run on Flash Player which has a ton more penetration than Unity Web Player.

I think it is unfortunate though that they chose a 'revenue share' model.

It would have been a lot better for the end developers if Adobe just charged Unity and Epic a licensing fee for targeting Flash Player.

chanon··on "Lighten up"
One thing would be to discuss, as a startup owner, how would one prevent this kind of thing happening in their startup. How to create a culture where women aren't treated like that so that highly talented women are more likely to join and stay. Or is this something that we shouldn't hope to achieve because nerds will always be like that?

Judging by other comments here (and recent sexism issues in tech), it seems like her treatment isn't an isolated case.

Page 1 of 2Next →