| 1. | | A glimpse into a new programming language under development at Microsoft (lambda-the-ultimate.org) |
| 235 points by Garbage on Dec 28, 2013 | 224 comments |
|
| 2. | | Gfycat - Jiffier gifs through HTML5 video conversion (gfycat.com) |
| 236 points by BeTmAsTeR on Dec 28, 2013 | 72 comments |
|
| 3. | | Architect's Dream House: Less Than 200 Square Feet (npr.org) |
| 213 points by RougeFemme on Dec 28, 2013 | 150 comments |
|
| 4. | | Ask HN: What book changed your life in 2013? |
| 209 points by fraqed on Dec 28, 2013 | 177 comments |
|
| 5. | | Bitcoin and positive vs. normative economics (nytimes.com) |
| 201 points by the_economist on Dec 28, 2013 | 506 comments |
|
| 6. | | How to Make Perfect Thin and Crisp French Fries (2010) (seriouseats.com) |
| 193 points by shawndumas on Dec 28, 2013 | 73 comments |
|
| 7. | | A Soft Murmur – Ambient sounds to wash away distraction (asoftmurmur.com) |
| 190 points by gabemart on Dec 28, 2013 | 81 comments |
|
| 8. | | Rust is surprisingly expressive (steveklabnik.com) |
| 199 points by steveklabnik on Dec 28, 2013 | 146 comments |
|
| 9. | | How Blender started, twenty years ago (blender.org) |
| 184 points by unwind on Dec 28, 2013 | 40 comments |
|
| |
|
|
| 11. | | The Rust standard library no longer has any scheduling baked into it (mail.mozilla.org) |
| 180 points by steveklabnik on Dec 28, 2013 | 69 comments |
|
| 12. | | Happy new year and goodbye bzip2 (kernel.org) |
| 158 points by Morgawr on Dec 28, 2013 | 31 comments |
|
| 13. | | MAME 0.151 ROMs (archive.org) |
| 134 points by moepstar on Dec 28, 2013 | 46 comments |
|
| 14. | | Immutability, MVCC, and garbage collection (xaprb.com) |
| 135 points by mattrjacobs on Dec 28, 2013 | 46 comments |
|
| 15. | | A Patent From 2004 Describes Dual EC As Key Escrow (twitter.com/eqe) |
| 109 points by tptacek on Dec 28, 2013 | 39 comments |
|
| 16. | | XSS in Gmail through Rapportive (kotowicz.net) |
| 110 points by xSwag on Dec 28, 2013 | 13 comments |
|
| 17. | | Advanced Computer Architecture Reading List (ucf.edu) |
| 102 points by luu on Dec 28, 2013 | 5 comments |
|
| 18. | | Ask HN: Skype, but properly peer-to-peer? |
| 109 points by ColinWright on Dec 28, 2013 | 76 comments |
|
| 19. | | Help me bring Black Girls Code to Brooklyn - I'm matching the first $5K (crowdtilt.com) |
| 102 points by kn0thing on Dec 28, 2013 | 230 comments |
|
| 20. | | Google’s Chromebooks Have Hit Their Stride (techcrunch.com) |
| 94 points by kirtijthorat on Dec 28, 2013 | 129 comments |
|
| 21. | | From near-death to Silicon Valley CEO (mercurynews.com) |
| 89 points by didgeoridoo on Dec 28, 2013 | 12 comments |
|
| 22. | | Why Clipperz is moving out of the US (clipperz.com) |
| 81 points by rdl on Dec 28, 2013 | 21 comments |
|
| 23. | | How to Escape the Community College Trap (theatlantic.com) |
| 81 points by vellum on Dec 28, 2013 | 39 comments |
|
| 24. | | Guide to Leaving your Mac (gigasquidsoftware.com) |
| 76 points by gigasquid on Dec 28, 2013 | 119 comments |
|
| 25. | | Learn Sanskrit Online (learnsanskrit.org) |
| 78 points by yati on Dec 28, 2013 | 79 comments |
|
| |
|
|
| 27. | | Valproate reopens critical-period learning of absolute pitch (frontiersin.org) |
| 71 points by thelogos on Dec 28, 2013 | 14 comments |
|
| 28. | | Beat This Level, Get A Programming Job (codecombat.com) |
| 69 points by nwinter on Dec 28, 2013 | 72 comments |
|
| 29. | | Saving the Lost Art of Conversation (theatlantic.com) |
| 70 points by zt on Dec 28, 2013 | 22 comments |
|
| |
|
|
|
| More |
Python is a beautiful, clean language. But the same restrictions that make it nice and clean mean that it’s hard to write beautiful, clean libraries. Ruby, on the other hand, is a complicated, ugly language. But that complexity allows you to write really clean, nice, easy-to-use libraries.
The Ruby metaprogramming magic makes for really nice syntax, which is what made me choose it over Python all those years ago, but it complicates understanding of what's going on - as I matured as an engineer, maintained a codebase over several years, several times spend long hours debugging issues coming from metaprogramming pitfalls, I shift more and more to the Python approach of building APIs in the simplest possible way, as much as possible sticking to simple function calls and no really fancy metaprogramming just to get a cleaner syntax, e.g. compare Rails has_many :foo with Django's models.ForeignKey(Foo) and the internal implementations of those. Same thing with using "BDD" testing frameworks like RSpec vs. traditional assert stuff, what is the nice syntax worth if tricky bugs hit you where you most want to avoid it, in tests. Libraries like RSpec might be "nice", but they are certainly not "easy-to-use", and I don't think I would call them quite "clean", if I look at their source code.
In other words, while clean syntax is luring, in the long run clean and simple semantics is what I think is really important.