Hacker Newsnew | past | comments | ask | show | jobs | submit | dbz's commentslogin

I aim to read 30+ books a year. Do you have a list of recommendations (for any reason) or favorites?


I check back on Derick Sivers recommendations often at https://sive.rs/book

See below for some recommendations based on my 2020 reading.

Fiction recommendations:

- A Little Life by Hanya Yanagihara. This book absolutely wrecked me emotionally (in a good way) for weeks after reading it

- The Nickel Boys by Colson Whitehead. I enjoyed this even more than the Underground Railroad, which was also great. Both also won a Pulitzer for what it’s worth.

- The House of Broken Angels by Luis Alberto Urrea. This book gave me a glimpse into what it’s like for Mexicans who immigrate to the US, and the storytelling was just wonderful.

Non-fiction recommendations:

- Braiding Sweetgrass by Robin Wall Kimmerer. Mix together equal parts science, indigenous knowledge and myth, botany, and wonderful writing and you get this book. I love Kimmerer’s voice (both in terms of her writing and her performance of the audiobook) and I read Gathering Moss by her this year as well because she’s just that good.

- American Prometheus by Kai Bird and Martin J. Sherwin. In my opinion is the definitive book about the atomic bomb and Oppenheimer. I also read The Dead Hand by David E. Hoffman and I think that was a pretty good follow up about the arms race and Cold War that came after.

- Barbarian Days by William Finnegan. I knew nothing and cared little about surfing before this book. I couldn’t put it down after I picked it up though. I’ve heard the audiobook is great so I might just read it again in that format because it was that good.

Good luck with your reading!


Not OP but I crossed 100+ books last year (thanks to the Pandemic). I've highlighted some interesting books that I have suggested on Hackernews earlier.

The article is long-ish but you can skim real fast https://brajeshwar.com/2020/books-of-2020/


Is there somewhere we can view the feature roadmap for this? Will iTerm2 support ligatures at some point in the future? I'm also interested in future performance enhancements, and a comparison to terminal.


There is no official feature roadmap, but here's the current plan:

3.2.x will be focused on rendering improvements. The full change log is here: https://iterm2.com/appcasts/testing_changes3.txt

3.3, which is currently under development, is adding a Python scripting API (https://iterm2.com/python-api/) and fixing tab and window titles to make sense, plus adding a status bar.

Feature requests that are candidates for 3.4 are here: https://gitlab.com/gnachman/iterm2/milestones/8

If you have something in mind file an issue. Y'all are my PMs.

There is already support for ligatures (prefs>profiles>text>enable ligatures). The Metal renderer does not support them because that's an extra level of complexity I can't handle in the first release. It would require constructing CTLineRefs which is already the slowest part of drawing. Subpixel antialiasing also makes this really difficult, but since that's going away in Mojave I'll revisit it.

Future performance enhancements that I have in mind are: - Faster tokenization (including revisiting SIMD) - Mojave-specific optimizations (removing subpixel AA and its knock-on consequences) - Move per-frame setup work into a compute shader. This is tricky because some people have CPUs that are relatively faster than their GPUs (thanks Intel!) - Reuse the preceding frame's rendered texture when updating less than a full frame - Move work off the main thread where possible


Thanks for the infos and of course all your hard word, iTerm2 is an awesome piece of software.

Looking forward to Mojave dropping support for subpixel-antialiasing and maybe iTerm supporting Ligatures with the new drawing engine someday.


Yeah, I’m wondering about this too. I like transparent windows and font ligatures so as much excitement as I have about this, I won’t be able to use it unless these limitations can be eliminated. I’ll keep using iTerm regardless, but it would be nice to see the benefits become available for my setup as I do notice the performance issues.


I'd just disable them. Speed and lighterweight (on CPU) rendering are more important that ligatures and transparency, which are both gimmicky features.


I disagree that ligatures are gimmicky in a general sense, but they definitely don't seem necessary for a terminal window. And doubly so if they impact performance.


Ligatures are great in a terminal with the right font. For example Fira Code does some nice things with ligatures for not-equal, 0x, rockets, etc.


This is a Mac program. One of the reasons why the Mac has historically been far ahead of other platforms is because its display could leverage centuries of advances in typography, and not be confined to the a 1970s character cell display designed by illiterates. Ligatures are extremely important for the platform and for the audience.


We're talking about ligatures in console based programming editors.

Not about setting ligatures for print.

So the whole argument is kind of moot. Having ligatures in console vi is not what made the Mac "historically be far ahead of other platform". In fact for the first 15 years of its life the Mac didn't even have a console.

Even in the desktop GUI program world, where ligatures in programming IDEs and editors are a possibility, they're still an extremely fringe endeavor.


This is true, but terminals tend to be used with monospace fonts that aren't very typographically complex.

That said there may? be languages other than English where ligatures are more than decorative, and would be more useful to have in a terminal.


I'm saying, maybe the terminals of today need to be more typographically aware, now that the computers of today can more than support it.


On the list that terminals need to do, being more typographically aware is on the very bottom on my list of priorities.

They could start by not mimicking 50+ year old hardware terminals down to arcane (and performance killing) details, supporting better and more powerful autocomplete and similar interactions, inline images, full colors, and so on...


It’s important to some people but probably not a majority. Ligatures are a best effort kind of thing. Where trade offs must be made, such as drawing performance, I choose to let the user make that choice.


And it sounds like they wouldn't, and that their priorities are different than yours.


I believe in an external world, where not everything is a matter of personal "priority", but certain things are objectively more significant than others.

And I might be wrong, but in that world, ligatures and transparent terminals are not really as important as rendering speed, latency, and/or less CPU load for a terminal emulator.

In fact, even where available, ligatures are a fringe option, adopted by very few people.

(I'm always talking about programming editors. Though even in print, their main domain, they're hardly mainstream these days).


I'm never bothered by iTerm2 being too slow or using too much CPU. Using transparency for my tmux profile makes it easier to tell whether the tab I've switched to is a local or remote session. Seeing coding ligatures makes me happy.

Why is the thing I don't notice objectively more important than my convenience and happiness?


It supports them now. I use fira code.


Per the article, the Metal 2 renderer doesn't support ligatures, transparency, and a few other nice-to-haves.


The original asker asked, "Will iTerm2 support ligatures at some point in the future?", so it was indeed a helpful answer to know that it does support ligatures.


I mean, within the context of this thread, it's pretty obvious the original question is asking whether ligatures would be supported in the Metal renderer, since it's explicitly listed as something not supported in the article, and since the asker is asking for the "feature roadmap for this".


It looks like you are getting downvoted, but there is a lot of truth in what you are saying. I have lots of anecdotal evidence of my peers leaving their jobs for new ones that pay a lot more. The very senior/principal engineers have even been offered large amounts of money/stock to stay, but by that point it's too late. The best path to getting raises starting from a junior engineer is to leave for a new company. There are many benefits I can list to stay at one company (network, growth as an engineer, etc.), but promotions and pay raises aren't part of that list with few exceptions.


There's game-theory stuff too. Job market is a lot like an auction, so if the winner doesn't correct for things they'll usually end up paying for their winning overestimates of candidate value.


Former A/a grad here. The average graduating salary in SF for App Academy is 105k [1]. They charge around 20% which is 21k. They also have other revenue streams, so on average they likely make more per student on average than that.

[1] https://www.appacademy.io/


Thanks dbz thats really useful to know!


This is pretty cool. I have a chrome extension that let's you view the cached version of a web page [1]. Would I be able to use this through an API? I currently support Google Cache, WayBack Machine, and CoralCDN, but Coral doesn't work well and I'd like to replace it with something else.

[1] https://chrome.google.com/webstore/detail/cmmlgikpahieigpccl...


OP here.

Yup, API and chrome extension are next on the feature list. :)


C02 is one of the worst 'dirty' emissions (methane is worse), and C02 is the most important gas for controlling the earth's temperature - http://earthobservatory.nasa.gov/Features/CarbonCycle/page5....

"The current episode of global warming is attributed to increasing emissions of CO2 and other greenhouse gases into Earth's atmosphere. " - https://en.wikipedia.org/wiki/Carbon_dioxide_in_Earth%27s_at...

Also in the first few lines of wikipedia you will see that C02 is only 0.04% of the atmosphere. This small percentage has huge effects.


Yes they do. I'm a recent App Academy graduate and everyone gets a job. There are a lot of benefits to doing a program like this versus a classical CS education. I've been programming since 8th grade, and I was a computer science major before I dropped out of college. I remember having CS professors that couldn't code themselves out of a box, but they "taught" the material they were supposed to teach. App Academy and other bootcamps prepare you for real world jobs by teaching you how to code. They also teach you data structures and algorithms- not as much as a computer science degree might, but by learning how to code, you learn how to look things up and apply them. If you're wondering if you should do it or not, it's definitely a yes. If you have any questions I would love to answer them.


"There are a lot of benefits to doing a program like this versus a classical CS education."

That may be true, but are there also some things that you might miss doing this versus a traditional CS track? I don't mean this as a leading question, but I've been pondering it for a while in the context of things I've seen in my career and I've come to the conclusion that for the entry level "hack and get this done" job, the CS degree really doesn't matter and may even be something of a hindrance compared with a self- or bootcamp-taught developer who takes a practical-focused approach.

Later along the "career path", though, is sometimes where the value of a CS education (which is not === a CS degree) presents - in the form of fitting the more abstract goals and problems one encounters with patterns, structures and practices one learns in CS. I've seen too many "non-technical" or "technical dabbler" managers blow through too many millions of dollars on systems that were easily recognizable as "solved problems" in the CS space to completely write off the value of a good CS education. Now that I'm at the point in my career where I'm the more senior person often making those decisions and decisions about who to hire and how to screen, that is basically how I parse a CS degree - as a potential signal that the person who holds it might have a CS education that allows them to grow more easily into a role where they can provide a valuable opinion about architecture and higher-level system direction... And also, that they might be marginally more capable at sticking through the frequent sea-changes in tech because they have a base that isn't tied to PERL or whatever language they fell in love with... I'm not sure degrees work that way in any other field - where the things you learn only really come into play at the higher / more abstract / later levels of work and are of almost no (perhaps even negative?) value for Junior & Mid-level things.

(Disclaimers: 1. Yes, you can get a CS education without a CS degree, but it would be more difficult. 2. There's nothing wrong with PERL.)


You do realise that computer science is not programming? Yes, it's impossible to get a msc in computer science without some programming knowledge, but a university is not a job training centre.


Which is part of the reason why bootcamps are so valuable. Like you said, universities aren't interested in teaching you the skills that you need. So people have to go elsewhere to get them.


I'm an App Academy graduate, and I've also been programming since 8th grade. App Academy targets the shortcomings of a CS degree by teaching people HOW to code. Students are supposed to come out of App Academy with 1000 hours of coding or 1/10 of mastery. App Academy has lectures on algorithms and data structures that aren't equivalent to a CS degree, but graduates can code, and many if not most CS students can not. These programs are very rigorous, and I can tell you without a doubt they are only growing, and certainly aren't going anywhere. If the market correct's itself, it is going to be on the "School" side, because CS degree education is broken.


Does anyone know if Cache Databases are blocked? I made a chrome extension called WebCache that views the cached version of a webpage which would be helpful if Google Cache, Wayback Machine, or Coral CDN isn't blocked. Here is the source: https://github.com/Dbz/WebCache


The first two are definitely blocked (without the Greatfire mirrors). I'm not sure about Coral CDN.


I have a slight problem with the question. Math is used when programming or creating models, but both are tools. I find it hard to compare the two in the way you're asking, so I think this poll is bogus. Programming requires abstract thinking as does math at the algebra level and beyond (more so at the calculus level and beyond). Other than asking what level of math is required to program X, it's hard to ask what cognitive level quantified by mathematical ability is required because cognitive levels both aren't easily quantifiable and also don't directly correlate with mathematical ability. There are lots of ways to do the same thing.

As for me, I have taken math to the level of Differential Equations and Linear Algebra.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: