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

This is clever advice, to first find out what estimate is tolerable to management and then adapt your design to fit. It's sort of like what the makers of Basecamp, in their book Getting Real, say in chapter 7, "Fix Time and Budget, Flex Scope"<https://basecamp.com/gettingreal/02.4-fix-time-and-budget-fl...>.

I wonder if it was a mistake to ever call it "engineering", because that leads people to think that software engineering is akin to mechanical or civil engineering, where you hire one expensive architect to do the design, and then hand off the grunt work to lower-paid programmers to bang out the code in a repetitive and predictable timeline with no more hard thinking needed. I think that Jack Reeves was right when he said, in 1992, that every line of code is architecture. The grunt work of building it afterward is the job of the compiler and linker. Therefore every time you write code, you are still working on the blueprint. "What is Software Design?"<https://www.bleading-edge.com/Publications/C++Journal/Cpjour...>

Martin Fowler cites this in his 2005 essay about agile programming, "The New Methodology"<https://www.martinfowler.com/articles/newMethodology.html>. Jeff Atwood, also in 2005, explains why software is so different from engineering physical objects, because the laws of physics constrain houses and bridges and aircraft. "Bridges, Software Engineering, and God"<https://blog.codinghorror.com/bridges-software-engineering-a...>. All this explains not only why estimates are so hard but also why two programs can do the same thing but one is a thousand lines of code and one is a million.

I came into programming from a liberal arts background, specifically writing, not science or math. I see a lot of similarities between programming and writing. Both let you say the same thing an infinite number of ways. I think I benefitted more from Strunk and White's advice to "omit needless words" than I might have from a course in how to build city hall.


I like Basecamp’s framing of software development time as management’s “appetite” for a new feature, how much time they are willing to spend on a project, as opposed to an estimate. This helps time box development and control project scope.

https://basecamp.com/shapeup/4.5-appendix-06


Have you tried Lightworks? https://lwks.com/

It dates back to the 1990s and has used in Hollywood movies, https://en.wikipedia.org/wiki/Lightworks

There is a free version to try out with limited features, then subscriptions and also options to pay just once ($200 or $420).


Not in a long time but their pricing page says a bunch of paid features don't work on Linux such as advanced titles and other enhanced effects.

I don't know if that will apply to me since their site doesn't explain what they are in detail but it already rubs me the wrong way that they classify themselves as cross OS compatible, but a bunch of stuff doesn't work on Linux.

I would essentially be paying $200 just to export to 1080p since the free version is limited to 720p. Except I'd likely need the $420 version since the pricing page says you can't adjust the h264 bit-rate option without the pro version. I could maybe justify the cost if the paid features worked on Linux but the ones that sound interesting and related to me (title editing, effects, etc.) do not.


You're right, it's not that hard. But why would you rather do it there?


> what you're saying is you love someone for who they are as opposed to for what they are doing at any particular moment? but then what if they change? what if they become someone other than who they were when you decided to offer them "unconditional love"? (does no one question this?)

No, loving someone for what kind of person they are, would still be conditional.

> you can't expect to feel the same about someone no matter what [...]

Love is not a feeling.

Well, okay, "love" is perhaps an overloaded word. It means many different things in many different contexts. "I love pizza" means something a little different than "I love you".

Many will say that love is really an action. I love you, by feeding you or taking you to the hospital when you need to, and so on. Of course, that doesn't quite capture it either, because if your mother told you "I love you and will do anything for you, but I don't really feel anything towards you," well, that would feel cold indeed.

Many will say that love is an act of the will, but falling in love is independent of the will and sometimes even contrary to it, like when someone falls in love with someone who is already married --- even married to a friend. And so you don't act on that feeling, because the loving thing to do is to sacrifice yourself in that case.

In fact all love will eventually entail some kind of sacrifice. Else it has never been tested, and that is no sure love at all.

> what if the person you grew up with becomes a monster, with little left of their former self? how can you love someone who no longer gives you reason to love them?

You can love someone who has gone wrong. It is the hardest kind of love, because loving them in action is always doing the opposite of what they want, of what they ask you to do for them. Imagine your child becomes addicted to crack. To love them would be to not give them crack.

In sum, love is something that can start on its own through no act of the will but at times, even in happy relationships, you have to downshift into doing it out of sheer will, to keep it alive throughout the years. It more than a feeling, but also more than a cold action. Sometimes the feeling motivates the action, and sometimes the action motivates the feeling. It's weird.

How can you love someone you don't even like? I just remembered that C. S. Lewis addressed this in one of his books (was it Mere Christianity or The Four Loves?). He said, there is one person you have been loving your whole life even when you don't like them, and that is yourself. Often we do things that we detest, and we berate ourselves over how terrible a person we are or were. Yet we keep on loving ourselves, by feeding ourselves, tending our bodies, etc.


If you're happy with your ORM (and, ahem, your users are happy with your app's speed), then you can disregard this post.

An ORM is an abstraction over what already is a huge abstraction, which is SQL. Therefore it would feel to me like driving a bus by remote control, or something like that.

SQL isn't a procedural language, like C, Fortran, Cobol, Java, JavaScript, Python, Ruby, etc. It is a "query language", I guess, where you tell it what you want, and it decides how it's actually going to find, filter, sort, etc., that data. It's also the only game in town. Is there any widespread alternative to SQL, at least for querying tabular data?

The problem with it being so abstract doesn't rear its head with simple SELECT statements. They all seem to go fast enough. It isn't until you're joining tables together, or no longer getting data row for row but instead aggregating, summing, averaging, etc. Suddenly sometimes the whole thing can slow to a crawl.

Thankfully databases like Postgres let you prepend a command called EXPLAIN to the problematic query, so that you can diagnose the slowness (if you can understand the output of EXPLAIN). But it was a long time before I got good at reading the EXPLAIN output and finding a way to get it to run faster. Even though SQL is so abstract, more just a description of what you want, there is more than one way to write it --- and the difference in speed can be hundreds or thousands of times.

I have had the luxury of working mainly with Postgres for 17 years, and toward the end of it I finally feel supremely confident working directly with it, just using the psql command-line client, and hand-typed SQL in text files, to get exactly what I want, and as fast as I want it (which usually is less than a second). Mind you, I don't work with Big Data, just a variety of CRUD apps but they often have mindbending reports requirements.

It should not have taken me years and years to master SQL (nor should it you). I think the reason is partly distraction, for those of us that are "full-stack developers", and also that there is so little education about how to master SQL. I mean, the books and posts are out there, but the attention to them from the community at large is small.

But SQL is really not harder than the other languages and techniques you know so well. If developers spent as much time on SQL as they do on the ins and outs of React, containerization, CI/CD pipelines, or the quirks of their favorite programming language, I think they would find it easier than most of those things. And it pays rich dividends, because SQL is cross-platform, you can carry that knowledge with you from job to job for the rest of your life, and your inefficient database queries are making your app use quadruple the hardware and 10 times the latency than if you truly mastered SQL.


> But SQL is really not harder than the other languages and techniques you know so well. If developers spent as much time on SQL as they do on the ins and outs of React, containerization, CI/CD pipelines, or the quirks of their favorite programming language, I think they would find it easier than most of those things. And it pays rich dividends, because SQL is cross-platform, you can carry that knowledge with you from job to job for the rest of your life, and your inefficient database queries are making your app use quadruple the hardware and 10 times the latency than if you truly mastered SQL.

Well said! Even if you use an ORM, you definitely should still learn SQL.


> This last example is a particularly hot topic for us on the intranet team. Every single week we receive requests to create a 'one-stop shop', a 'hub', a 'single front door' or a 'portal'.

I too was on an intranet team, and I too often received requests for a "portal". It took me a long time to grasp why they were so fond of that word. Was a "portal" subtly different from a "page" or "site"? After many years, I concluded that a "portal" is a page with a bunch of links on it --- a hypertextual table of contents, if you will, for the requester's department or project.

I did not work in government, just for a large company. This article is useful because highfalutin language is commonplace in any bureaucracy.


First of all, that's false. Time and again, experts who can explain complicated concepts with everyday words seem smarter, not dumber. To wit: Richard Feynman, Steven Pinker, C.S. Lewis.

Second, even if it were true, that would be all the more reason to stop it, because the reason is bad. It is selfish, at the expense of others. If you make things harder for people so that life is easier for you, then you are by definition evil.

"Short words are best, and old words are best of all." --- Winston Churchill


It reminds me of Newspeak, from Orwell's 1984. Leaders, especially of bureaucracies, perennially hope to shape belief by just renaming things.

I've been to Wal-Mart or Target or any number of places, where I have read a sign or overheard a prerecorded announcement referring to the workers as "team members", "associates", "specialists", "customer advocates", and so on. The illusion dissipates instantaneously. I immediately see it as pretentious, and the reflex is to cringe. I suspect that most employees roll their eyes at it too.

I don't believe that the executives who came up with these fancy names are fooled by them either --- and that's part of the problem, it's condescending. The executive thinks, "I see right through these words, into the real thing, but my employees and customers are stupider than me, and I believe these names can sway their thinking."

Another problem is that it is just like inflation, in that it doesn't stop spiraling upward. I believe that the word "employee" was once a fancy replacement for something plainer, like "worker". But H.R. told me, when I was making an app for them, that it's a dirty word: We don't "employ" people. That makes it sound like we are using them. (Well, you are, but they know you are, and after all you are paying them. It was all agreed upon at the outset. Also it's not so bad. Everyone wants, in the end, to be "useful".) But no, now they are called "associates". It won't end. There is even a chance that it will go in circles. I would not be surprised if some years later, a new executive arrives, says "associate" is too loose: "They aren't merely associated with us in some tangential way. We need them and employ them for our success. Let us call them 'employees'."


I don't think the intent is to deceive anyone. The actual intent is that calling employees a team or even family subtly tries to add some strings to the job. It might be okay to leave a job for slightly better pay, but you would not leave your family. A team would not let the store close on the weekend because they are low on personnel, you are "in this together", after all. Sure, it's a quite obvious ploy if you look at it, but using that kind of language does affect people.


George Carlin on “soft language”:

https://youtu.be/o25I2fzFGoY


I've noticed this a few months ago where I live (Romania), namely, that we've used to go to the "Dentist", which is an actual Romanian word, but now the town where I live is full of "Dental Spas" and "Dental Studios". Yes, we're using English terminology, even though that's not the official language here.


I think "sandwich artist" for Subway is one that is condescending.

That being said I think most people still probably prefer this to the alternative. Being called a "associate" instead of "cashier" is still slightly more respectable to tell your friends/families. It also probably stresses to employees that their job is to represent the entire store - not just do a a task without regard for the customer experience.


> Being called a "associate" instead of "cashier" is still slightly more respectable to tell your friends/families.

Not if they have any sense and see it as a pathetic and condescending brainwashing technique it is...


Ok. I honestly dont think most people see it that way. Everyone knows they aren't on the board of directors but its still a nice courtesy.

I dont mind being called a gym "member" or hotel "guest" instead of "customer" or whatever. Its polite and fine.


Welcome on board, VP of Customer Greeting for Store #3348


Why is there no comment saying that someone is "conflating" something or that a something is "orthogonal"?


This article was actually published more than 20 years ago, https://web.archive.org/web/20020603153119/http://vothphoto....

Some of its advice is timeless, but its context is back when your phone did not take great pictures. Instead, most people carried around no camera at all, and events went undocumented. Then, among people who decided they wanted to take pictures of wherever they were going, they bought point-and-shoots, which did not let you change the lens. Then, for those wanted to get serious, there were entry-level DSLRs, which often were sold with a bag and a kit lens, and for the vast majority of these owners, the thought of buying another lens seldom crossed their minds.

In short, this article is meant to expose the problem to people who did not even know they had a problem, and to offer a solution that was last thing they would have guessed.

(I don't think the author meant to mislead us about the original date of publication. It looks like he recently moved everything to Wordpress and may not be savvy enough to fix the date.)


Arguably your phone still doesn’t take great pictures in the situation the author is describing: indoors, medium to low light. In this situation the advice is still timeless, a camera with a 50mm ~f1.4 can create a truly great photo (skills outstanding), while the best phone will still produce a “good” photo.


I have an iPhone 13 Mini and in those conditions it will never take even a good photo. To make anything even half-decent excellent light is needed. When I look online at those articles-ads about phones being great at photography now they use a combination of great light and a boatload of RAW editing.

Plus you need to mind that it’s the standard problem of people saying they don’t hear the fans of their computer, don’t see the tearing in X, and finally don’t see the loads of noise and loss of sharpness in phone photos. Discussing those things is basically futile.

As a side note, a touch screen is never going to be able to compete with the comfort of physical buttons on my DSLR.


I have the same phone and your standards for “good” must be much higher than mine. This phone takes excellent snapshots in low light. They would look horrible if printed 8x10. They don’t look great when zoomed on a phone. But on a phone screen showing the whole photo, they look fine.

My point of comparison is my old point-and-shoot. In low light those things always resorted to flash and the results were terrible. Without flash I needed a tripod.

It’s not as good as a good SLR, of course not. But it’s good enough, a fraction of the size, and does iCloud photos automatically. I haven’t used my SLR in over a decade and should have sold it when I could have gotten a decent price for it.


The biggest difference is that most phone cameras are still far too wide, they are just terrible for portraits. A few cameras have 50mm equivalent zoom lenses but most seems to go wide+ultrawide.


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

Search: