Hacker News new | comments | show | ask | jobs | submit | JoelMcCracken's comments login

I haven't tried opera on blue-ray yet, but the DVD experience always underwhelmed me.

Thanks for the recommendation of Amazon Prime! I have it, but rarely use it. This'll give me an opportunity to.

-----


Tosca was the first I saw, and it was also the most enthralling.

It may be a very common example, but its is regularly cited because it is a masterpiece of the art.

-----


I tried to sign up for one, once, and it was broken. I don't remember the circumstances, precisely. Have you actually ever gotten one?

-----


The last time I tried to use StartSSL, I kept getting an SSL failure on https://auth.startssl.com/... Go figure.

I ended up paying $10 on namecheap instead.

-----


Could save yourself $8 and add a Whoisguard thing to your cart, use promo code WHOISGUARD, and then add the ssl cert.

At least it used to work like that.

-----


Probably an issue with the client cert. I remember running into that the last time I attempted to get a cert through them.

-----


I used to use them. You have to set up an account with a client certificate, which is a pain, then be manually approved. The free certs are for personal use only so they will deny you if they think you will be using it for business of any sort.

-----


Not sure if you're aware, but things like this can be done with Emacs.

It really isn't that simple, though, and I've only used it for the most trivial of situations.

-----


Caveat Emptor: I used Vim for a long time, but switched to Emacs about 7 years ago. I still miss Vim, but would not give up Emacs for it.

Many consider Emacs' extension language, Emacs Lisp, to be significantly better than Vim's extension language, VimL. This makes it easier to develop better packages, and also to develop personal extensions/modifications.

This problem has lead to a number of attempts at fixing this:

1. "Evil" is an attempt to port Vim to Emacs, sans VimL. You should see it here: http://www.emacswiki.org/emacs/Evil. Note: there have been a number of these in the past, and Evil is the latest project successor.

2. "Spacemacs" is an Emacs "distribution" of sorts that is trying to make the entire experience with Evil better: https://github.com/syl20bnr/spacemacs

3. There are attempts to make VimL better, Neovim being the most notable: https://github.com/neovim/neovim

-----


TBQH I think most of the instances of ruby metaprogramming are bad, increasing complexity dramatically without real benefit. Ruby "rediscovered" metaprogramming without learning the lessons of the Lisp community.

Macros are great, though. It makes some things very simple that are otherwise unreasonable. They just need to be handled with care.

-----


Not that you're wrong -- you're correct -- but I want to bring up that this was likely true at the time this was written. LispyScript has been around for a while.

-----


First commit for lispy - march 5, 2012 First commit for sweet.js - August 1, 2012

im actually pretty shocked they are that close together.

-----


I bet they both started around the time CoffeeScript started to get big -- it showed there was a market for compile-to-js-but-almost-js langs.

-----


Did you intend to link to the comment threads?

-----


No, on this occasion I specifically intended not to link. If people want to they can look it up. In the past I've always provided links, and reactions have always been mixed. I'm now weaning myself off doing anything about the endless repeats, consciously taking the point of view that no one really cares, and it's not that big a problem. I've written about this at length in the past.

Do you think I ought to provide the links?

-----


I always thought the links were useful when I saw them.

-----


> I've written about this at length in the past.

Link? ;-)

-----


A sample:

https://hn.algolia.com/?query=duplicates%20ColinWright&sort=...

There are more.

-----


I think he's just trying to politely point out that this has been submitted to HN several times in the past. Bonus for providing useful URLs for people who haven't yet read it and want to catch up.

-----


Its also the kind of thing that I am completely non-expert at.

-----


This is very similar to contracts.ruby, which is cool. I'd love for more contract discussions.

https://github.com/egonSchiele/contracts.ruby

-----


Personally I don't get contracts when they aren't used for static verification.

It's much easier to use defensive coding techniques at runtime without having yet another framework in there that anyone who wants to read the code has to learn. Typing a few lines less is not really a benefit when it basically increases code complexity.

-----


The Contracts gem is very easy to use. I introduced it at work recently, and everyone got the hang of it in about 20 minutes.

A lot of languages (Java, C#, Go, etc.) have very inexpressive type systems, and that tends to make many dynamic language developers wary of them. Contracts has a very expressive type system though. It understands duck typing, adhoc union types, and a bunch of other stuff that makes it a great fit for a dynamic language.

Plus, we've disabled it in production, so we get coverage in test/development mode, but no performance penalty in prod. I look at it as an extended form of testing. Type contracts are very quick and easy to add, and they help tests catch additional errors. They're also useful in code reviews. Sometimes I'll have to search for 5 or 10 minutes to figure out what kind of thing is getting passed in, where the contract makes it perfectly clear.

The best part is that the contracts are optional. If some method takes wildly differing arguments and it's going to be a pain to give it a contract, then don't.

This is the best tool I've added to my Ruby arsenal in some time. I strongly recommend taking it for a spin.

-----


I think you misunderstood me.

What I meant was that contracts in a language like C# give me the ability to statically verify the program at compile time. It is not a "nicer way to add conditional testing logic" but a way to formally prove correctness in my programs.

-----


IIUC, contracts are specifically for creating verifications at runtime.

In some cases, sanity checking can happen up front/at compile time. In other cases, these must occur at runtime.

The Pragmatic Programmer has a whole section on contracts; it is pretty good.

-----

More

Applications are open for YC Summer 2016

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: