HNHacker News
TopNewBestAskShowJobs

nupark2

1,627 karma · joined March 28, 2011

submissionscomments
nupark2··on PHP: A fractal of bad design
It's easier for PHP developers to write it off as "a pissing contest" than to face the cold hard truth: PHP is, objectively, awful. There is literally no reason to choose it over today's alternatives other than market inertia, which is exactly what articles like this one are trying to stop.
nupark2··on PHP: A fractal of bad design
Even those of us entirely outside the PHP economy (mobile, desktop, big-iron server) occasionally stumble into a monster of a mess that some PHP idiot left behind, and have to clean it up (usually by just replacing it outright, because PHP isn't worth maintaining).

The money is nice, but after watching the ridiculous waste of PHP idiocy for the Nth time, you can't help but want to get people to stop.

nupark2··on Discovering a Major Security Hole in Facebook's Android SDK
Or, rather, simply never commit code that logs authentication credentials, in production or otherwise.
nupark2··on PHP Sucks But I Like It
> That's true, but my point is that there isn't such a visceral hatred for C and C++ even though they are widespread and notorious for memory leaks, vulnerabilities, indecipherable corporate quagmires (perhaps due to an over-engineered OO architecture or 700 line functions or opaque symbol names or dependency hell, etc).

C is enormously more consistent, better defined and specified, and well-documented than PHP.

It's a solid enough language with a very specific use case, and not even remotely competing with PHP.

PHP is a terribly inconsistent, poorly defined, poorly documented, poorly implemented, poorly designed language that can't do anything better than any of the other languages it is competing with.

The one thing PHP has going for it is inertia. That's it.

nupark2··on Facebook acquires Instagram
The money in YouTube is in professional and editorially selected content. Music videos, trailers, some guy crashing a music video audition, etc.

There's almost no room for that kind of content from a photo sharing system.

nupark2··on Why NoSQL Equals NoSecurity
> WTF? If you can't trust your network, OS, and user level access ...

You can't trust them all equally, and allow for a failure in any one of them to result in a total failure of all security. That's the M&M security model -- crunchy on the outside.

This is one (of several reasons) I wouldn't use memcached without authentication if it could lead to a privilege increase: It completely breaks defense-in-depth. Compromise of just one system can lead to total system compromise.

nupark2··on CouchDB ships 1.2.0, Windows packages, new website
> Speed, battery-life, ease of programming are 3 of the main reasons we are motivated to build a Couch-compatible storage and sync layer on the device. If you have an intelligent sync solution, you can use significantly less radio time to present the same features.

You're just moving the costs around, and likely transmitting far more data than needs be sent.

In addition, you're front-loading the transmission of data that users don't need right now.

Having built many network-facing mobile applications with exceedingly large user bases, I'm unconvinced. The maintenance complexity, the excess transmission of data, issues of data consistency over time, the lack of integration with client-side business rules without considerable investment in code that significantly replaces the sync logic.

I think that the reality of the situation is that in the rare cases you need offline, fully synchronized data, it's not particularly difficult to just download what you need as an atomic unit and save it. The majority of the time, however, on-demand request handling is more efficient, well-defined, and maintainable.

nupark2··on LibriVox hits 100 Million downloads, looking for a PHP Dev
You can't directly equate contract rates to salary rates. In terms of costs, the contractor has to cover taxes, equipment, insurance (of all types, including health).

Additionally, the contractor has to set aside sufficient profit to cover the risks involved in short-term work. Business development takes a considerable amount of time, and it can be days (or, in some cases weeks) before another contract starts. That time has to be paid for.

nupark2··on CouchDB ships 1.2.0, Windows packages, new website
The problems on mobile are so incredibly different than server, I don't see that CouchDB would be useful client-side.

The focus client-side is on speed, battery-life, ease of programming, and perhaps most of all, maintaining separation of concerns between the server-side data model and the client data model. The server must be free to evolve independently of the client, and many remote clients will run legacy versions of your software for extended periods of time.

Moreover, rarely is data distribution sufficient to model high-level interactions between client and server, which is more likely to introduce bugs, complexity, and significantly detract from the long-term maintainability of the client/server protocol.

The end result is that you don't particularly benefit from CouchDB client-side, and especially not replication -- you need a well-defined supportable network model.

nupark2··on Keeping Instagram up with over a million new users in twelve hours
Are EBS snapshots not block-level atomic? In theory you should get a PITR image without stopping anything, assuming that:

1) The file system correctly orders or journals operations (I'm not familiar with XFS, but this is the case with FFS2/FreeBSD, ZFS, ext3/4 journaling, etc).

2) The database system correctly orders or journals operations, and properly fsync(s) to disk (which postgreSQL does)

Of course, there's no harm to an abundance of caution with something like this.

nupark2··on Our Culture of Exclusion (or, why I'm not at JSConf this year)
I don't know about the OP, but I have a chip on my shoulder about professionalism in the industry, of which the alcohol and brogrammer culture is just a part.

We're on a long, slow slide away from CS and towards hacking out yet-another poorly designed programming language/web framework/whatever, patting ourselves on the back for re-inventing the wheel, and then grabbing some beers.

I'm studiously unimpressed with the quality of candidates, technology, and culture that I've been seeing in recent years.

nupark2··on Poll: Do you have a CS degree?
"or equivalent experience" is now a pretty standard addendum to the CS degree requirement.
nupark2··on It's time for an App Store 2.0
Confirmation doesn't necessarily require password input.
nupark2··on An entire Mobile OS built using HTML, CSS and JS - by Mozilla
Your comment should be sitting higher. Dalvik is unlikely to be more expensive than a similarly complex JS VM.
nupark2··on Please stay classy and stop copying BirchBox
Multiple successful low-cost copies demonstrate the barrier to entry is low, and in doing so, improve the efficiency of the market.

Unsuccessful copies may demonstrate that the barrier to entry is high (for whatever reason), and may in doing so still improve the efficiency of the market. Likewise, a failed clone may simply demonstrate the copying entity's inability to compete.

Regardless, I don't see how attempts to copy (and improve?) are a bad thing for the market.

nupark2··on Vector based UI design tool that generates ObjC
Prior art (also mentioned elsewhere in the comments): http://likethought.com/opacity/
nupark2··on New: Apply to Y Combinator without an Idea
Suits are generally overbearing and a seeming affectation if you wear one in what others assume to be a casual environment.
nupark2··on Show HN: Airgram - Send iOS/Android notifications, without building an app
How is ChromeOS doing?
nupark2··on Show HN: Airgram - Send iOS/Android notifications, without building an app
This approach is exactly the opposite of what users want on mobile devices.
nupark2··on Show HN: Airgram - Send iOS/Android notifications, without building an app
> Developing native apps for various platforms is not easy, and frankly, unnecessary for most services [emphasis mine]

I think the fact that you've developed a native app here provides sufficient falsifying evidence for this declaration.

When looking for the optimal (for the user) solution, the decision as between a web site or a native application should be made on the basis of user requirements, and the solutions that best meet those requirements, not based on the technologies that you, personally, are comfortable with.

If you ignore an organization's existing investments in web engineering and web-focused infrastructure, webapps aren't empirically and objectively easier or cheaper. Rather, they're a mechanism by which an organization can leverage money they have already invested in building a web-centric team.

I see this as a temporary state, initially caused by the rapid adoption of the web, and will ultimately disappear as more broad, less web-centric development experience and infrastructure investment becomes the norm.

nupark2··on Becoming an iOS Developer
I very strongly disagree. ARC still reveals the underlying nuts and bolts, necessitating a basic understanding of reference counting systems.

It doesn't solve retain cycles, thus requiring the judicious use of __weak in cases where a retain cycle may emerge. Determining where such a cycle may occur requires understanding reference counting. This significantly impacts your expression of algorithms where the simplest/best implementation may involve cyclic object graphs.

Additionally, ARC does not handle mixing CoreFoundation and Foundation code directly, requiring one to manually express bridging rules based on an understanding of reference counting.

It may be that ARC gradually smooths out its rough edges, and we find ourselves in a situation similar to GC, where developers need only understand the difference between weak and strong references, and the opportunities that exist there for leaks caused by maintaining strong live references.

However, we're still a bit far from that point, and newcomers should remain well-aware of retain/release and the vagaries of reference counting systems.

nupark2··on Mozilla to Certificate Authorities: no subordinate CAs for traffic interception
I think you either misread, or I was unclear -- we're in agreement.

Company network with company devices: sniffing traffic is fine, insofar as it's done by configuring the devices with a private CA.

Company network with personal devices (including visitor's devices): silently MITMing SSL using forged certificates and a real CA is not fine. They can either forbid the use of personal devices, or request that I install their internal CA.

nupark2··on Mozilla to Certificate Authorities: no subordinate CAs for traffic interception
> Installing organization-specific self-signed roots in all company devices is more than just 'a pain'; it's fundamentally impractical for any organization that wants to let employee-owned or public devices onto its network. So just don't do that?

Yes, just don't do that. There are sufficient mechanisms to distribute security policy configuration to company devices.

Silently sniffing traffic from external, personal devices is unequivocally unacceptable. I would be livid to know that a company was silent pretending to be my bank, my e-mail provider, or even just Amazon without my prior consent. Having to explicitly trust their internal CA is exactly how that consent is supposed to be provided.

The CA system's trustworthiness is fundamentally broken. I am austounded that Mozilla did not immediately remove the CA certificate from the trusted set.

nupark2··on Hijack - iPhone Sensors Thru Audio Jack
Harvesting power is a bit questionable, but in terms of an input mechanism, Square built their reader on the idea.

As far as it being a hack for a closed platform, I'm not sure why that matters if your goal is to interface with the primary mobile phone platforms. This solution works, and if you need something more professional, working with the dock connector itself isn't an burden any more insurmountable than dealing with injection molding or other product design and manufacturing concerns.

nupark2··on Square Releases Open Source WebSocket Client for Objective-C
Only reason I can think of is to traverse firewalls that block outbound sockets but don't block HTTP+WebSocket.

That aside, it seems a bit ridiculous, given that we already have sockets, to bolt on a protocol that exists almost solely to work around security issues involved in a browser opening a socket.

nupark2··on Khan Academy: It’s Different This Time
I believe toyg already covered the split between humanities and science/engineering, but I'd also like to cover the Continuing Education departments themselves.

The course offerings are generally constrained, and the courses themselves are often lightweight versions of the university course -- assuming that the subject you want is covered at all. The facilities for continuing education courses are also often less robust.

Take CCA in San Francisco. This is a highly considered arts college, and they offer a small number of introductory extension classes:

http://www.cca.edu/academics/extension/courses

Compare to their full course offering:

http://www.cca.edu/academics/undergraduate

You'll have to drill down on individual categories to explore the full breadth and depth.

Continuing Education offerings are rarely a substitute for the quality of courses they offer to a matriculating student.

Given how often educational institutions have raised their tuition in recent years, I'd love to see them institute a program where they charge a (possibly large) fee to allow non-matriculating adults to audit a course, without limitation or requirement, and use those fees to subsidize enrolled student tuition.

However, this may be a shift too far in the "trade school" direction for their comfort.

nupark2··on Khan Academy: It’s Different This Time
This is something I wish universities would provide: open enrollment for adults without the cookie-cutter bureaucratic undergraduate track and the 18-year-old-focused high-bar on-rails admissions process.

The "continuing education" programs that do exist are generally stunted and poor.

Would it be so terrible if I spent 10 years gradually taking classes in engineering and sciences, perhaps never earning a degree? Why is college something you do only once, when you're arguably too young to genuinely appreciate it or even know what you want?

This is why I find Khan Academy to be so fascinating.

nupark2··on Khan Academy: It’s Different This Time
Khan Academy provides a low-overhead, on-demand learning environment. The format is good, but it's not novel, and the format isn't the point.

Khan Academy allows me, with no overhead whatsoever, to pick (or refresh a skill), whenever I want. If my math skills aren't up to snuff for a hobby project I'm working on, Khan Academy is there. If I can't remember how a transistor works ... Khan Academy has me covered.

Compare this with the incredibly high overhead of high school and 4 year degree programs. If I just want to take a refresher engineering class at the local University or Community College, I have to go through the full admissions process, provide a full academic history, justify my reason for being there, and then work at a preset pace and on someone else's schedule. If I'm stuck at the undergraduate level, I have to take a slew of general ed courses totally unrelated to what I actually want to do.

Contrast this with frictionless learn on-demand education.

There are, obviously, downsides:

- Not all topics are covered.

- The depth of coverage is not on par with a university education.

- No access to very expensive university equipment

- No one-on-one access to a professor

- No student discounts on expensive software

Despite those downsides, the format has worked great for me.

In my ideal world, formal K-12 and college education would be comprised of:

1) Elective projects that rely on a broad swath of skills.

2) Courses to be taken in concert with the projects to provide requisite skills, as those skills become necessary.

nupark2··on Why do self-respecting hackers use Gmail & Co?
This is a much smaller attack surface than a centralized data store holding static e-mail archives and accounts for a large number of users, open to at-will offline browsing.

DNSSEC and SSL further reduce this attack surface.

nupark2··on Why do self-respecting hackers use Gmail & Co?
If you ISP provides SMTP for their e-mail (almost all do), then barring outbound From address filters, you can set up your SMTP server to treat the customer facing mail server as a smarthost.

The ISP doesn't need to do anything specific to support it.

← PreviousPage 3 of 14Next →