Recent submissions

Comment · 13 years ago
Amen. All these people who parrot, "Don't roll you own crypto" need to get out of the math/programming kitchen and go get a crypto burger from some national fast food joint.

My advice would be don't roll your own primitives, but other than that, have at it.

Comment · 13 years ago
Often times, the hack is through a web front-end. Back-end systems (such as DBs) are heavily firewalled, logged, monitored, etc. and are generally very well protected. Systems guys (OS and DB) know security pretty well and have been doing it for a long time now.

Much of the web software that powers the front-end is complex (PHP, Java, .Net, JS, CSS, SQL, includes, 3rd-party libraries from everywhere, etc). That complexity has a broad attack surface that is difficult and time consuming to test. And many devs are late to the security party (unless we're talking OpenBSD developers).

Management wants to push out new features by X date. Devs have very little time to test and are behind on security anyway. Hackers have all the time in the world to poke at the web front-end and test every possible combination of things until they finally get in.

In a nut-shell, that's the problem as I've seen it.

Comment · 13 years ago
The Cone of Silence lives.
Comment · 13 years ago
"Inelegant" is really a matter of opinion.
Comment · 13 years ago
Comment · 13 years ago
Very inspiring. I have no interest in start-ups and that sort of thing, but I do admire your intestinal fortitude. You hung in there and did it. And really that's all life is about.
Comment · 13 years ago
This is the same reason I re-wrote a lot of my Python code in C++ many years ago. Distributing one self-contained, statically linked executable just works and even the most clueless user can download and run it.

But I still use a lot of Python and I'm sure this guy still uses a lot of Ruby. Everything has its place.

Comment · 13 years ago
Very well said. There is no one perfect programming language, no one perfect algorithm and no one perfect data structure for all problems and constraints you will face as a CS practitioner.

Really, a CS education is just preparing you to pick the right solution for the problem/constraints at hand. For example, you can loop through a list. That approach works fine. However, when you begin to scale, you may find that look-ups against a tree-based data structure or perhaps a hash table are much more time efficient at the cost of more complexity, more space and more educated programmers.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton