HN user

combatentropy

3,647 karma

combat@combatentropy.com

Posts20
Comments884
View on HN
developer.mozilla.org 3y ago

Web APIs

combatentropy
1pts0
www.combatentropy.com 3y ago

Show HN: Cobblestone – Reactive template that tracks the DOM with HTML comments

combatentropy
1pts0
www.theatlantic.com 3y ago

The End of Manual Transmission

combatentropy
9pts5
www.youtube.com 4y ago

Lawmakers urge probe of breathing system on F-35 fighter jet [video]

combatentropy
1pts0
www.developer.com 6y ago

It's Not About Lines of Code

combatentropy
1pts0
journal.stuffwithstuff.com 6y ago

Naming Things in Code (2009)

combatentropy
3pts0
news.ycombinator.com 6y ago

Ask HN: Which is more fundamental: the table or the file?

combatentropy
1pts2
who-t.blogspot.com 6y ago

Libinput's bus factor is 1

combatentropy
3pts0
www.youtube.com 6y ago

Unix [1989]

combatentropy
3pts0
dis.unal.edu.co 7y ago

What Can You Do with the Web in Your Pocket? (1998) [pdf]

combatentropy
3pts0
www.youtube.com 8y ago

How can you tell a good drummer and a bad drummer apart? [video]

combatentropy
1pts0
medium.com 8y ago

3 Reasons I Hate Booleans in Databases

combatentropy
3pts0
developers.google.com 8y ago

Google Developer Documentation Style Guide

combatentropy
2pts0
www.pcworld.com 9y ago

How Thunderbolt 3 won the port wars

combatentropy
3pts0
blog.2ndquadrant.com 9y ago

PostgreSQL anti-patterns: Unnecessary json/hstore dynamic columns (2015)

combatentropy
3pts0
arstechnica.com 9y ago

Google's reCAPTCHA will separate bots from people without challenges

combatentropy
1pts0
sivers.org 9y ago

Ideas are just a multiplier of execution (2005)

combatentropy
2pts0
www.reuters.com 9y ago

Apple seeks design perfection at new “spaceship” campus

combatentropy
1pts0
youtube.googleblog.com 9y ago

True colors: adding support for HDR videos on YouTube

combatentropy
4pts2
blog.chromium.org 9y ago

Chrome 55 Beta: async/await, CSS hyphenation

combatentropy
2pts0

I was wondering what anybody thought of a library I wrote a few years ago: https://www.combatentropy.com/tools/cobblestone/

Many sites could be built on the stack espoused by Alex Petros, "The Hundred-Year Web Service", <https://www.youtube.com/watch?v=lASLZ9TgXyc>: SQLite, Express.js, Nunjucks, and HTMX.

But if your app needs islands of interactivity, my library does it in a way that I haven't seen elsewhere.

How I estimate work 6 months ago

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.

Unconditional Love 3 years ago

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.

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'."

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.)

I'm pretty sure nifty-fiftys have been top recommendation always for people wanting to explore beyond the kit zoom.

His article isn't addressed to "people wanting to explore beyond the kit zoom". It's addressed to people who just finished unwrapping "that new 35mm camera kit you bought to document your child’s early years", who accepted the default lens and have only a foggy awareness of the pros and cons of different lenses. His article is meant to turn these people into "people wanting to explore beyond the kit zoom".

I came here to say the same thing and was glad to see someone else already did. So I simply upvoted you.

I might add that also he was looking for two more things that some times also are rejuvenating:

(c) physical exercise

(d) a relief from decision fatigue: "I did not want to be asked to make a lot of decisions everyday. . . . I wanted literally to be told what to do every day and I wanted that structure to be rigorous." This can get old after a while too, but routine can be a nice change for a while, if every day you at your old job you had to be a creative or always solve new problems, like if you were a designer, director, etc.

Yes, in fact it's two metaphors in a row.

"Once more, with feeling," is a cliche that a conductor might say to an orchestra during rehearsal. Presumably professional orchestras usually play with feeling, even on the first attempt. So the conductor means, somewhat condescendingly, more feeling. It has been said so many times by so many conductors that it has become a running joke. If you were doing a comedic impression of a conductor, you might insert that phrase.

Four-part harmony is the performance of a song by four singers (or four groups of singers): soprano, alto, tenor, bass. You could have just one person sing a song, but if you have a whole chorus sing it, it will sound fuller (though not always better).

It was a funny way to say that the bank not only will require the money from the person who began the transaction but also will impose severe fees.

I'm intrigued by his replacement, the language E. Even though it arose in 1997, I was unfamiliar with it. I like what I have seen so far, http://erights.org/elang/

I'm relieved that Crockford suggests a substantial alternative, and wasn't just bashing JavaScript. In fact I was surprised by the headline, given his history of defending the language. Instead of just suggesting another popular language like Python or Ruby, he is more specific: "It needs to be a minimal capability-based actor language that is designed specifically for secure distributed programming. Nothing less should be considered."

"Ampersand" is like "could of", and yet is not like it.

Ampersand is a change in sounds, for the sake of easier pronunciation:

   and per se and  # original
   andperseand     # remove spaces
   andpers'and     # drop extra vowel, for slightly faster speech
   an'pers'and     # drop extra consonant, for same reason
   anpersand       # drop apostrophes
   ampersand       # transform "n" to its neighbor, "m", because it's easier to say before "p"
These are all merely changes in sounds, the consonants and the vowels, the "phonemes" as linguists call them. The course from "am not" to "ain't" follows a similar pattern.

"Could of", on the other hand, is not phonological but morphological --- a change in meaning, because "of" doesn't mean "have". Or maybe it is merely typographic, because what they could have written is "could've", which sounds the same as "could of" --- and it's probably what they meant but simply made the same mistake as when you accidentally write "there" instead of "their".

And I don't believe your repulsion is "irrational", as you say. There is value in preserving the current state of language, of slowing down its changes, simply for the sake of intelligibility, for now and for posterity. A single instance of one person correcting someone else's "could of" is a like throwing an ice cube atop a melting glacier, but like voting in a general election, but it is no reason to just give up. (Of course the stakes are low, so we must say it only if it will be well received.)

Now there is a class of "corrections" that are misguided, I think, like the rule that you cannot end a sentence with a preposition. That arose from lovers of Latin, which doesn't end sentences in prepositions because it is impossible, and they were trying to make English more like Latin.

spacemanmatt, you joined Hacker News 9 years ago, and you have a lot of upvotes, which means not only that you have been helpful but that you have been here thousands of times.

So I am mystified by your comments. On the first page of Hacker News right now are seven submissions with a year at the end. It is standard practice to tag a submission with the year if it isn't this year. This is regardless of relevance. If it is on Hacker News, it is assumed to be relevant in some way. Else why would someone post it? If someone posted an article from 1888, they must think it relevant in some way.

Putting the year at the end has absolutely zero bearing on whether we think it is relevant. To me it is just another piece of metadata, like tagging videos, PDFs, polls, etc.

The headline uses the words "top" and "talent" in unconventional ways.

When the writer examined Rick's code, it is revealed as messy, buggy, and long-winded --- "a lot of copy pasta", laden with "thousands of hours of technical debt", "bells and whistles", and speculative programming for requirements needed in "five years".

Rick was not a good programmer with a bad personality. He was a bad programmer with a bad personality.

More specifically it sounds like Narcissistic Personality Disorder, with certain telltale signs like gaslighting, the inability to accept fault, and dependency injection of the self into the lives of everyone else. The writer says, "I don’t believe Rick started out this way." I think he's wrong. Narcissistic Personality Disorder starts in childhood. So Rick was like this when he entered the business. In fact it is probably how he became "universally recognized on the team as the top talent" --- not because he was, but because he bullied his way up to that with his own self-aggrandizement, and his coworkers were too timid or inept to suggest that he was never actually a good programmer.

Using email wrong 4 years ago

You just made me realize that email would look better if it grouped messages by sender instead of just by subject.

It was a huge step forward for me when I switched from Outlook to GMail. Outlook originally did not group emails at all. Each message was a line item on its own, sorted by date sent. So even individual replies back and forth were scattered across my Inbox. Then GMail grouped all replies into a single line item, as a "thread" or "conversation", which I could then expand. Eventually Outlook followed suit, although at first imperfectly. It grouped by Subject instead of the more accurate email header, Message-ID. (Actually I believe this technique predates GMail, at least in one text-based email reader, Mutt.)

I think email should take this one step further, and group messages first of all by sender, then by thread.

  sender (or recipient group for emails with more than one recipient, like SMS clients do)
  |- thread
     |- message
This would help with companies that send you many messages, whether it's spam or just receipts and other notices. But it would still not be bad for emails from individuals too. Even though someone may write you many emails about many different things, each with their own Subject, it still makes sense to group them. That mimics real life, where a real person's many conversations that they have with you are still visually grouped into one person, one organic body, in your mind.

Facebook would also be better this way. Collapse posts by poster, so that people who post 5 times a day don't take up more of your news feed than those who post just once every now and then.

Open Web Advocacy 4 years ago

I would agree that permission dialogs are not what we want, on page load, as so many websites do.

A web app should wait until it needs Geolocation or whatever, before prompting you. It should always follow a user interaction. When you click to use some feature, then it prompts you for the permission.

Or an app could have some kind of introductory page where it lists the permissions that it will need, and you click each one that you want to give. Again you do this at your leisure, not upon page load.

I find that most people don't understand creativity. If you believe an artist or inventor is some mystic sage who creates works ex nihilo, then you misunderstand creativity and attribute to it far too much. And therefore you might grant an artist a period of copyright that is longer than is really deserved or needed.

Through much of my life, I have been accused of being "creative". In elementary school my class recognized me as the best at drawing. In fifth grade I wrote a book that was checked out so many times from the school library that it filled up the check-out card front and back. In high school, I made dozens of little movies with my friends. After college I was a graphic designer, and both of my employers expressed awe at my work.

The best explanation of creativity that I have found is a video series by Kirby Ferguson called Everything Is a Remix, https://www.youtube.com/watch?v=nJPERZDfyWc

It shows what I always knew in the back of my head: that nothing I ever made was from staring at a blank sheet of paper. It was just me ripping off all my favorite things I had seen before. Everyone tries their hand at art, and often it obviously is a copy. My secret was that I would take a little of this, a little of that, copy 5 different things and mix them all together, rather than making a straight copy of just one thing. I wasn't trying to hide anything, it was just how my mind naturally worked. I thought one thing from one movie was cool, so I took part of that. I thought something else from a drawing was cool, so I took some of that. Then I merged it all together, naturally, without really thinking about what I was doing, just trying to make something cool.

Then I saw that video and realized that is what pretty much everyone had been doing, no matter how famous. A great artist is not someone who creates stuff out of nothing. More like someone who comes up with a new recipe based on five previous recipes. I'm sure they deserve something, just not everything, foreverz!

Has anyone had any luck reasoning with the powers that be, to come up with reasonable security?

When the security department suggests another thing, to protest sounds like you want things be less safe simply because it's annoying. But some of things add only a little bit of security, or address a scenario that is highly unlikely, but you pay for it every day, day after day, with a dozen irritations that peck at you.

Security is a continuum. I could always imagine something more to add: "Lock the screen after 10 minutes? Why not 5? Why not 2?" So the security team seems to have their way until the users are almost driven crazy but not quite.

It seems to me like the ultimate solution is higher capacity. Imagine a car with a range not of 500 miles but 5,000. This is almost a round trip between New York and Los Angeles. I don't know how long a 10x advance in batteries would take. I guess they don't follow Moore's Law and we get that in the next few years, but maybe in the next few decades.

Then there is no need for network of charging stations. People just charge them overnight at home. They don't need fast charging. They just make sure they have enough for the day or, as a buffer, the next few days, which is a couple hundred miles. Most of the time the car's battery could be charged partially, like "only" a 1,000 miles of range. But before a vacation, you make sure you have it fully charged, or at least to a point where it covers your trip plus some buffer for the unexpected.

(EDIT: Sorry, you would have less need, not no need --- at least for something as pervasive as our network of gas stations. I was imagining even apartment parking lots having little outlets, but some apartments don't have parking lots and residents park in the street overnight.)

I get it out through prayer and thinking on Bible verses. Occasionally I let it out to a trusted friend or family member, but that is a precious resource that I try to use sparingly, because it's taxing on the other person to endure a rant. In the past I have also gone to a therapist to work through some deepseated childhood pain.

I think your first step might be to take a single class at a university, on whatever subject interests you.

Your question is at first straightforward. You say the "arts", which to many means the Fine Arts: painting, sculpture, music, etc. And so they advise you of the financial pitfalls. All well and good.

But upon closer inspection, your words are are little mysterious, because as examples you include sociology, history, and journalism. As others have pointed out, these are unlike trying to become a full-time novelist or guitarist. Broadly speaking, however, they do fall under the Arts, specifically the Liberal Arts, or the Humanities. If that is what you mean, the financial outlook still is dimmer than good old computer programming, finance, or business, but much brighter than trying to make a living as a painter.

As for getting into one of these Liberal Arts fields, I don't have a lot of good examples. The best advice I would have has already been given: in that you simply try to join a company that overall is in the field you are interested in. For example, if you are into journalism, try to get a job at a news company. If you are a history buff, maybe try to get a job at a textbook company or some other publisher of history books. It doesn't matter what kind of job you get. So you could exploit your expertise and try to land a job as a computer programmer there or something else technical. But once you are in there, as many have said here and elsewhere, it is far easier to slowly work your way into one of the more artistic jobs within the company. This is because of the huge importance of trust. The company now knows you, you are part of its circle, and after a couple of years of them observing that you're not a psycho, that trust goes a long way, and you actually have an advantage over a total stranger applying with a little bit stronger of a resume, because the company at this point is unsure that the stranger is trustworthy. Trust is huge. Join a company you like, make a few friends, bounce around from the inside.

But before that, you might consider just taking a college class --- the very thing you missed out on early on. This will give you a feel for what the work is like and might expose you to a few like minds, to the very beginning of social networking. Your teacher or classmates could advise you on extracurricular activities or clubs and, slowly, you could work your way further and further along.