
In the Blink of an Eye: A Perspective on Film Editing, 2nd Edition
Walter Murch and Francis Ford Coppola
4.6 on Amazon
7 HN comments

Show Your Work!: 10 Ways to Share Your Creativity and Get Discovered (Austin Kleon)
Austin Kleon
4.7 on Amazon
7 HN comments

Architecture: Form, Space, & Order
Francis D. K. Ching
4.7 on Amazon
7 HN comments

Musicophilia: Tales of Music and the Brain, Revised and Expanded Edition
Oliver Sacks
4.6 on Amazon
6 HN comments

Harmonic Experience: Tonal Harmony from Its Natural Origins to Its Modern Expression
W. A. Mathieu
4.8 on Amazon
5 HN comments

Hamilton: The Revolution
Lin-Manuel Miranda and Jeremy McCarter
4.9 on Amazon
4 HN comments

The Americans
Robert Frank and Jack Kerouac
4.7 on Amazon
4 HN comments

At Home: Evocative & Art-Forward Interiors
Brian Paquette
4.3 on Amazon
4 HN comments

How to Draw: 53 Step-by-Step Drawing Projects (Beginner Drawing Guides)
Alisa Calder
4.5 on Amazon
4 HN comments

How To Draw Comics The Marvel Way
Stan Lee and John Buscema
4.7 on Amazon
3 HN comments

Pimp: The Story of My Life
Iceberg Slim
4.7 on Amazon
3 HN comments

Timeless: Classic American Architecture for Contemporary Living (ORO)
Patrick Ahearn
4.7 on Amazon
3 HN comments

The Jazz Piano Book
Mark Levine
4.7 on Amazon
3 HN comments

The Story of Art
E.H. Gombrich
4.7 on Amazon
3 HN comments

Escaping the Build Trap: How Effective Product Management Creates Real Value
Melissa Perri
4.7 on Amazon
3 HN comments
mastazionOct 11, 2016
CalChrisonAug 10, 2020
However, PDFs on the Paperwhite don't make for easy reading. I could and have converted papers to EPUB which is much easier for reading but less good for studying, and the purpose of these PDFs is studying. Yeah, I can grouse about PDFs but it's a tool which I use.
By comparison, I check EPUBs out from the library and they are surprisingly pleasant to read on the Paperwhite.
Yeah, the article is about the web and I'm answering about the Paperwhite. Maybe they have a point about browsing on the web. But for content meant to be read, for academic content, PDFs are pretty good.
BTW, on my MacBook I use Skim which is much better than Reader.
troughwayonFeb 9, 2020
Architecture with a big A is something that is often looked down upon in this community, because it has the bad rap of being over-engineered, not scalable, "done by contractors who don't know anything/are trying to pad billable hours", et cetera.
I can see this in the kind of schlock being peddled as the next great front-end/web solution; usually done by people who would do very well to revisit the last 30-40 years in thinking about the Design of software. Thinking that testing and TDD are replacements for and/or better than static typing is Pretty Fucking Stupid™.
Design Patterns as given by GoF, Fowler, etc are more often than not questionable, but design patterns extracted from your code base are worth their weight in gold.
We have a beefy .NET codebase composed of some 80+ projects (used to be more then we trimmed it down) integrating with 25+ external data sources/APIs and we have leveraged every single fucking thing out there to make sense of it and not let it overwhelm our systems.
Type-level invariants along with a layered validation system is definitely something that we made a bet early on and it paid off. It's very hard to mess it up once it is in place, and not that difficult to understand.
Some of the things we applied are discussed in Enterprise Architecture by Fowler, the Domain Driven Design book also discusses it a bit. Your own application of these principles is what matters, and that's where things get hairy.
.NET/C# is nice because it provides enough facilities through Reflection and Attributes to be able to "pattern"-ize some of the things that come up, and there are other languages that do it better still. I really like Ruby's method_missing and I wish that C# provided an equivalent, but to my knowledge most of the approaches within C# to do something like that are kludges at best.
systemvoltageonOct 19, 2020
> The idea that beautiful forms can come from purely functional design without needing to cover things up with baroque decoration is really a central theme.
Huh? These two are contradictory statements. I recommend giving this a read, Architecture is where brutalism first sprung up: https://www.nytimes.com/2016/10/06/t-magazine/design/brutali...
fredrklemonDec 26, 2018
There is so much noise in the space of Software Architecture. And I think is something natural: building software is not architecture, nor engineering, nor mathematics... still it is all that at the same time. It also has strong social, linguistic and design components. Maybe it is just too new a discipline to define it clearly.
Personally I find these resources more convincing than the booklet or the references mentioned inside it:
For the technical/organizational (Dev teams) part
Architecture without Architects: https://www.youtube.com/watch?v=qVyt3qQ_7TA
Clean Architecture: https://www.youtube.com/watch?v=Nsjsiz2A9mg
https://www.amazon.com/Things-Architect-Knows-About-Transfor...
https://www.enterpriseintegrationpatterns.com
For the Enterprise Architect part:
https://www.amazon.com/Organizational-Culture-Leadership-Edg...
https://www.amazon.com/Chess-Enterprise-Architecture-Gerben-...
https://www.youtube.com/watch?v=ScHG63YmJ2k
codefisheronNov 9, 2010
What is much harder to learn, and is largely language independent is:
1) Problem solving - the ability to break problems down into simple task that then can be trivially solved.
2) Data structures - programs are unless unless they have data to work with. Knowing how to best represent it is vital, do you use an array, linked list, tree etc.
3) Algorithms - known ways of operating on data to produce some out come. Everything from using a loop to add numbers, to sorting lists, or adding a node to a red-black tree.
4) Design Patterns - know ways to structure code, in a tried and tested fashion.
5) Architecture and Interface design - how to structure your project as a whole (what goes where) and how to set how one portion interacts with all the others.
Along with many other things. Point being the first language you learn matters little, if you learn to program that cross any language barrier. I have not touched the first language I learned for almost a year, but have learned 2 others in that time.
Having said all that, I am most at home in Python because there I know many of the language specific features.
dragonquestonApr 6, 2011
Algorithms -> Algorithms + Data Structures = Programs by Wirth (worth its weight in gold if you can get past the Pascal syntax)
OS -> Operating System Concepts by Silberschatz et al (The dinosaur book)
CS Theory -> Introduction to Automata Theory, Languages, and Computation by Hopcroft, Ullman
Programming Languages Theory -> Programming languages: design and implementation by Pratt et al
Database Theory -> Database Design by Wiederhold
Architecture -> Structured Computer Organization by Andrew S Tanenbaum