HNHacker News
TopNewBestAskShowJobs

betterunix

6,856 karma · joined October 29, 2012

submissionscomments
betterunix··on The Convergence of Modern C++ on the Lisp Programming Style
If that were true it would have been awfully difficult to write operating systems in Lisp, yet OSes were written in Lisp (and the companies that famously did so played a part in the founding of the Free Software Foundation).
betterunix··on How the Internet Is Taking Away America’s Religion
Could be the Internet, could be the phase-out of TEL...

(For the uninitiated, yes, this is trolling.)

betterunix··on Supreme Court to hear arguments on Aereo this week
"If value, then right" basically:

http://www.authorama.com/free-culture-3.html

betterunix··on The Convergence of Modern C++ on the Lisp Programming Style
My best guess about why people are still using C and C++ is this: there is a massive, valuable ecosystem of software written in these languages. It is hard to write software in one language that links with software written in other languages, especially where performance is a concern. The fact that all commonly used commercial OSes are both written in C and expose C APIs has kept C and C++ alive more than anything else.

Performance? Lisp can give you that, as can OCaml, Haskell, and other better languages. Real time system? There is a mountain of research on real-time garbage collection and on using HLLs for real-time systems. Operating system kernel? OSes were once written in Lisp, and OSes could conceivably be written in other HLLs.

Throw in a requirement to interoperate with a C library and suddenly things get ugly. Yeah, sure, you have an FFI, but debugging across a language barrier is difficult (I have had to do it, it is agony). Suddenly you need to worry about pinning objects so that the garbage collector won't move them while some C library expects them to stay still. In some cases your code basically becomes C but with the syntax of an HLL, and you start to wonder why you did not just write that routine in C to begin with (it would have made your life easier). Performance matters but your compiler needs to set up a trampoline so that your code can provide some kind of callback, and now that is a bottleneck that kills all that other optimization work. Then some joker writes some C++ code, and the rest of your week is spent writing wrapper functions because your FFI cannot deal with the name mangler.

At the end of the day there is no particular technical reason for C or C++ to remain so popular, and a big pile of technical reasons to stay away from such languages. C made a bit of sense in the 1970s when computers were small and the understanding of compilers and programming languages was less well developed. At this point C and C++ are a liability that we are all stuck with. Maybe some day the expense of sticking with C and C++ will outweigh the expense required to switch to better languages, but I am not holding my breath.

betterunix··on The Convergence of Modern C++ on the Lisp Programming Style
Now you are aware of another, Common Lisp (as implemented by SBCL):

http://www.sbcl.org/sbcl-internals/index.html

betterunix··on The Case for Formal Verification (2013)
1. O3 is way better.

2. GCC is not even the best optimizing compiler out there. Intel's C compiler puts GCC to shame for some tasks.

betterunix··on The Case for Formal Verification (2013)
Ah, you might have been thinking of techniques basic on SAT and ATPG solving. What makes software different is this:

https://en.wikipedia.org/wiki/Curry-Howard_Correspondence

Basically, checking a proof of correctness for software is equivalent to type checking (for a very fancy type system).

betterunix··on The Case for Formal Verification (2013)
On the topic of trusting compilers:

http://www.dwheeler.com/trusting-trust/

betterunix··on The Case for Formal Verification (2013)
You can do formal verification with tools like Coq using a laptop. The real issue is that writing a formal specification is hard even for small problems; writing a formal spec for something like TLS would be harder than actually implementing TLS.
betterunix··on The Case for Formal Verification (2013)
The problem with proofs is that you need to know what to prove, and that is hard. Even formalizing something as seemingly simple as sorting is tough for most programmers. If your formalization of whatever you wanted to implement is wrong, then your proof is worthless -- you have only proved that your program does something other than what it was supposed to do.

It's not that TDD is perfect, but it is a pragmatic approach to reducing bugs and it helps a lot in preventing regressions.

betterunix··on 'I have lived underwater'
I doubt that a military submarine is more comfortable than the facilities described in the article.
betterunix··on Popcorn Time Devs Drop Like Flies But No One Will Talk
Optimistic: lawyer advice

Pessimistic: Hollywood thugs

betterunix··on Ask HN: What source code is worth studying?
SBCL or CMUCL -- Lisp compilers written in Lisp.
betterunix··on AT&T Threatens Boycott if TV Airwaves Auction Rules Aren’t Changed
That's nice, the rest of the world will get on with innovating and AT&T can go the way of the dodo.
betterunix··on TurboTax Maker Intuit Funnels Millions to Lobby Against Easier Tax Returns
"I don't think there's any evidence whatsoever that the government is capable of making software to either provide a service similar to TurboTax or to correctly pre-calculate your taxes."

Yes and no. When the government wants to get quality software that solves real problems and saves taxpayer money, it manages to do so:

https://en.wikipedia.org/wiki/Dynamic_Analysis_and_Replannin...

"We saw how well that worked with healthcare.gov."

Keep in mind that healthcare.gov was overburdened with moronic, ideologically driven requirements that were still being finalized a week before it was supposed to go live. It was being set up for failure from step one.

betterunix··on TurboTax Maker Intuit Funnels Millions to Lobby Against Easier Tax Returns
That depends on how good you are at filing your tax returns. Intuit is lobbying for a complex tax code because that reduces the likelihood that you can actually do your taxes on your own without losing lots of money or getting in trouble with the IRS.
betterunix··on Were Intelligence Agencies Using Heartbleed in November 2013?
There is some public work on this:

http://bap.ece.cmu.edu/

Unfortunately, most people do not find this to be terribly exciting. Worse still, there is almost no demand for it; most programmers want to quickly hack out something cool, and by the time they begin thinking about security it is too late.

betterunix··on OpenSSL is written by monkeys (2009)
The reason we tell people not to implement their own crypto is that no matter how skilled someone is, no matter what language they program in, it is nearly certain that self-rolled crypto code will have security flaws. Cryptographic security hinges on key, subtle assumptions that are very easy to screw up. World famous cryptographers do not roll their own crypto (except for research code).

When people do implement cryptography they rely on having large numbers of other people review it. That is not a model that scales to having a large number (more than a couple dozen) of competing implementations.

betterunix··on TLS/SSL implementation in Haskell
With the downside being that things like Heartbleed become possible. Dealing with timing attacks in high-level code is not necessarily hard -- Haskell, for example, has strict evaluation.
betterunix··on TLS/SSL implementation in Haskell
Heartbleed is not exactly a "subtle weakness," it is a gaping hole -- and it is a gaping hole that is only possible in languages with simple pointers and simple pointer arithmetic. In other words, using better languages for the next generation of crypto implementations will prevent this from happening, and then we can all get back to worrying about subtle weaknesses.
betterunix··on OpenSSL is written by monkeys (2009)
I have some experience with NSS, and for simple things it is not terrible despite being a bit low level. With about an afternoon of work I was able to write a very simple TLS server using NSS -- in Lisp, using SBCL's FFI.
betterunix··on OpenSSL is written by monkeys (2009)
Today there are alternatives. Once upon a time those alternatives were either not written, not stable, or not free. Now it is just a matter of convincing an enormous number of developers to carefully rewrite large parts of their systems to use a different library instead of new features (or ironically, security fixes).
betterunix··on OpenSSL is written by monkeys (2009)
1. Other libraries do exist -- NSS, GnuTLS, etc.

2. Do you have time for a rewrite? What makes you think anyone else would?

3. The (generally correct) mindset is don't implement your own crypto. This is particularly true of something like TLS, which is complicated and has subtle requirements that are easy to screw up. Unfortunately, this means that even people who have time are discouraged from doing an OpenSSL rewrite.

betterunix··on OpenSSL is written by monkeys (2009)
OpenSSL is a mess on its own. Other libraries are better organized and better documented, so I doubt that it is the fault of TLS or x509.
betterunix··on You don't own your Kindle books, Amazon reminds customer
Perhaps, but then I am left wondering about newly written books -- why are the authors continuing to endorse DRM? Why are the authors continuing to do business with the publishers who demand it?
betterunix··on You don't own your Kindle books, Amazon reminds customer
Yeah but then you are forced to make a choice: avoid authors who fail to provide non-restricted books, or download books illegally.
betterunix··on You don't own your Kindle books, Amazon reminds customer
I have to wonder if the authors who demanded DRM from Amazon have figured out that this is the kind of behavior that drives people to download books illegally, or if they still fail to see the connection.
betterunix··on Torn and weary (on Brendan Eich and Mozilla)
Funny how the donation becomes the issue only after someone mentions thoughtcrime. Until then, the issue is what Eich believes.

"If we were talking about a CEO that was racist and had donated to the KKK would you still rush to call foul when they were forced to step down by popular opinion?"

Here are the guidelines I would use:

1. What does the organization they are CEO of do? If it is an organization devoted to providing aid to oppressed minorities, obviously KKK membership would be a conflict of interest. If on the other hand the organization makes general purpose software, I fail to see the relevance.

2. Is the CEO trying to use the organization to promote the KKK's agenda? If so, there is a problem with his professional conduct. If not, then his KKK membership is something he does on his own time; hateful, sure, but I do not want to live in a world where people are not allowed to separate their personal and professional lives.

betterunix··on Torn and weary (on Brendan Eich and Mozilla)
"Free speech has nothing to do with this, this is someone whose actions many people found incompatible with what they saw as Mozilla's values, both inside and outside of the organization, and who can blame them?"

I can blame them. Mozilla makes a web browser. Gay marriage has nothing to do with Mozilla's mission or with the political issues Mozilla has to deal with as part of its mission. I could understand the uproar if Eich had donated to a "ban free software" cause, but that is not what happened.

You're right, this is not about free speech. Eich was not punished for what he said, he was punished for what he thought. The donation is irrelevant here, other than the fact that it revealed Eich's beliefs. There would be just as much anger and vitriol if instead of a donation someone revealed that Eich had voted in favor of proposition 8.

betterunix··on Torn and weary (on Brendan Eich and Mozilla)
"he cleverly dances around the fact that he feels that homosexuals do not deserve the same rights as heterosexuals."

Yes, and obviously that is completely orthogonal to the kind of treatment he has received over his beliefs about gay marriage. It is easy to criticize people who are afraid to speak their minds when you have an army of thought police standing with you ready to punish anyone who dares to disagree.

← PreviousPage 2 of 34Next →