5,416 karma · joined January 21, 2012
meet.hn/city/us-New-York
Socials: - x.com/pradnelluru
---
It also makes it a lot easier for juniors to chuck random code at seniors for review.
* It's hard to predict how long something will take so you stress out when you take longer. Even if requirements are clear, all sorts of things can delay implementation: debugging, build issues, plugging in dependencies, bugs in underlying libraries. All these can take a limitless amount of time.
* Complexity can be overwhelming. Staring at a thousand line, convoluted class can make you shut down, just because it's too much.
* Being new and not able to produce at the same level as others. This one hopefully goes away after some time as you ramp up, but you might be new at different projects in the same team.
* Changing requirements, increasing scope.
* Priority inversion - you depend on another team for your work, but they aren't working on it, and you have to answer for that.
* Having to give an update at a status meeting when you know you haven't made as much progress as you'd like.
* Feeling bad about your productivity, so you don't take care of yourself (wasting time at night), are tired, and aren't able to be productive the next day. This whole loop can last for a long time if you can't break it.
* You can't ask for help because you feel like others will think you're stupid for asking those questions. And you can't make progress bc you really need to know those things.
Many of these things are exacerbated by life circumstance, social position, personality, previous mental health history, and management/peers. The way you can improve this stuff for yourself is by having a solid wellness routine (exercise, sleep, diet), good communication with your peers/manager (this is a chicken/egg situation), and pushing for reasonable organizational changes. Of these, only wellness is totally under your control. The others require people around you to change, which may not be possible.
It's harder to do these sort of guerrilla things when every line is code-reviewed. Or maybe you snuck it past your peer?
I had to merge a bunch of PDFs for a rental application recently and it was painful. Having to upload very sensitive docs, every site being a funnel to their paid version, etc.
Of course, a website would be better for smaller conversion jobs (in case you have browser restarts or whatnot). Desktop apps can block computer restarts to a greater degree than websites.
Many users are in environments where its not possible to download new software (schools, work places, universities).
The browser has its disadvantages, but it is the most widely-deployed sandboxed execution environment providing incredibly easy distribution of software.
There's a million terrible websites that offer file conversion services. They're ad-ridden, with god-knows-what privacy/security postures. There's little reason for users to need to upload their files to a third-party when they can do it locally. But getting them to download fiddly technical software is tough - and they're right to mistrust it.
So, there's a WASM version of ffmpeg, already working and hosted at Netlify [1]. It downloads the WASM bundle to your browser and you can run conversions/transformations as you wish, in your browser. Sandboxed and pretty performant too!
If this tool a) was updated regularly b) had a nicer, non-CLI UI for everyday users and c) was available at an easily-Googlable domain name - it would solve all the problems I mentioned above.
You have to use it properly - grind it in a mortar/pestle with some hot water, and then use the aromatic water in your cooking. This method gets much more of the flavor out.
Many cultures that grow saffron, they themselves use safflower and lower grades of saffron to add just color, if not flavor - without breaking the bank.
A tire is critical to a car's functioning, but there's plenty of brands to choose from if one tire company goes bust. Ofc, substitutability is a matter of degree - cost/time.
For most, faith and culture are intertwined as they go about their day. You fast because of course you do, not because you know the thousand-year history of that practice and the relevant scriptural phrases.
Colleges, especially large ones, do have tons of students of different faiths, but I felt contacts were still minimal. My randomly-assigned freshman year room-mate was a devout Christian and would sing in worship - super wonderful guy. But after that, not much. It's so easy to just hang out with people similar to you - at all stages of life.
Even when you meet someone of a certain faith, you're likely to experience that interaction through holiday, festival, food, dress and so on - think asking a Muslim about Ramadan or being invited to a Hanukah party - but you're not likely to ask doctrinal or theological questions.
https://en.wikipedia.org/wiki/List_of_paintings_by_Johannes_...
I tell everyone to skip the first one. The problem is that when you hear of the series, it sounds so cool. "What if humanity knew aliens were arriving in ~X hundred years?" But it takes until the end of the first book for that to premise to even arrive.
You can read a summary of the first book, and go directly to the second, which has a different set of characters on a different timeline.
All the cool stuff in the first book:
1. The alien planet is at the mercy of 2 suns, so it deals with extreme heat and cold. Predicting the trajectory of their planet (the "three-body problem" in question) is a life-or-death problem.
2. To solve this, the aliens set up computers using a lot of alien-people, each acting as a logic gate - each person passes information to the next.
3. A pro-alien group uses lasers to cut up ships at the Panama canal or whatever.
Pretty much the rest of the book is quite boring. The pro-alien society that meets in a video game is laughable.
The second book has a propulsive cadence that's super fun to read, and the third has a series of amazing conceptually-creative micro-worlds - so captivating!
A deeper form of tinkering is actually working on the code. I think an instructive example is writing your own X windowing system with xmonad. You get to see exactly how a whole windowing system works.