Hacker News new | past | comments | ask | show | jobs | submit | explainplease's comments login

You don't have to do it like that. You could do:

    (= (* x (+ y z))
       (+ (* x z) (* y z)))
Or:

    (= (* x (+ y z))
       (+ (* x z)
          (* y z)))
Or:

    (= (* x
          (+ y z))
       (+ (* x z)
          (* y z)))
Or:

    (= (+ (* x z)
          (* y z))
       (* x (+ y z)))
Or:

    (= (+ (* x z)
          (* y z))
       (* (+ y z) x))
Or:

    (= (+ (* x z)
          (* y z))
       (* (+ y z)
          x))
I think the last one makes the relationships quite clear.

Writing legible equations is an art form, as is writing sexps.

Edit: If you think lisp is ugly, compare with regexps. For bonus points, explore writing regexps with lisp, e.g. with Emacs's `rx` macro. I think you won't find a more easily maintainable way to write them.


For comparison infix notation with the same precedence for all operators:

    (x * (y + z)) eql ((x * z) + (y * z))
Or:

    (y + z * x) eql (x * z + (y * z))
With different precedence:

    x * (y + z) eql x * z + y * z
But now you have to remember precedences and mentally regroup the expression.


I assume you just copy-pasted from parent, but both of you have written `(* x z)` `(* y z)` rather than `(* x y)` `(* x z)`.


Sorry, is it

xz + yz = x(y + z)

when using operators?

That seems wrong.


I don't know any Lisp, but I would decode

    (= (* x (+ y z))
       (+ (* x z) (* y z)))
As

  x*(y + z) = x*z + y*z
e.g. (+ y z) means you add y and z with highest priority.


Which is incorrect, they aren't equal.


That is probably not a statement of equality, but a boolean test for it.


Well, technically it solves to x = z when y <> 0 and any x, z when y = 0 though I'm not sure if that's the original intention.


Some would argue that the fact that you have all of those alternative forms is part of the problem. Lisp is one of the (if not the) most individualistic programming languages around. Lisp makes it easy for a programmer to create their very own impenetrable, arcane, domain specific languages. This causes large organizations to avoid it like the plague.

Large teams don't want artists, they want replaceable parts.


The tragedy is that the "large organization" then goes on and writes multiple bad DSL to solve problem X which includes several code transpilers and a varying amount of custom syntax. In the end, they do the same thing as the Lisp folks -> they write a DSL, but because language XYZ they chose is less capable than Lisp, the solution is hacky and difficult to understand (and can't be – in comparison to Lisp – easily extended).

This is true for a lot of "frameworks" and especially true for modern fontend web frameworks (which have a compile/build step).


You have alternative line breaking in infix also. All of it sucks compared to keeping it on one line, though:

  x * (y + z) = x * z + y * z


  x * (y + z) =
  x * z + y * z


  x * (y + z)
  = x * z + y * z


   x *
   (y + 
    z)
  =
   x *
   z
      +
   y *
   z
etc.


Are you talking about macro or formatting?

If it's about formatting, given that this is what this thread is about, you can use code formatter for lisp languages exactly like for any other language, in fact they are even easier to write for lisp because of the consistency of S expressions.

If you are talking about macro, then you're in the same boat as other languages that have macros, C, Rust, ect... And remember that the first rule of macros is to not use macros, except for when you absolutely have to, and in those cases it is the most elegant solution. If you have devs inventing DSLs for everything, then lisp isn't your problem.


Some would argue that Lego and Technic are too complicated, and we should all play with Duplo.

Thankfully, Michelangelo and Leonardo were not in large teams.

Which do you aspire to be: a cog or an artist?


I think most people would prefer to be an artist, but art rarely pays the bills, hence the cliche "starving artist." My post was not meant to rip on artists, though that's how it comes off now that I read it again. The truth is that society wants more cogs but needs more artists.


If prefer it if the product of my engineering effort were maintainable and clear. I succeed if someone with no context can understand the system I built without help.


Your distinctions between shame and censure are arbitrary and meaningless. e.g.:

Censure: "You shouldn't have done that."

Shaming: "You shouldn't have done that. Shame on you."

The point is the same. If an action is deservedly shameful, then so be it.

Shame that brings positive change is not a bad thing; it is a natural social consequence. The problem is lack of forgiveness even after repentance. How can one's debt to society be paid when convicted by the court of public opinion, prosecuted by the NYT? The exile is indefinite.

One of the problems in our society now is shamelessness, i.e. the lack of social consequences for some actions encourages people to take them. Compounding that is the media, which now acts as self-appointed arbiters of who should be ashamed, when, and why, depending on a person's current favor with the politically powerful. Displease the wrong people, and words uttered a dozen years ago without complaint are suddenly cause for outrage, according to them. Meanwhile, others who said much worse things yesterday are lauded. It's all a big farce.

Democracy dies in darkness, all right--the darkness of the evil of the contemporary press.


> The point is the same. If an action is deservedly shameful, then so be it.

The point is different because censure (as we're using it here) judges the action but shaming judges the person.

Censure: "That thing that you did was bad."

Shaming: "You are a bad person for doing that thing."


No, you are arbitrarily deciding that "shaming judges the person," and that shaming means, "You are a bad person." That's what you think it means. You do not get to decide what "shaming" means to everyone, and it's not right for you to tell others what "shaming" means to them.

Besides that, even if one thinks that shaming does "judge the person," that's not necessarily bad, either, because rightful shame can lead to changed behaviors, which is good for the person and for society as a whole. However, this only works as long as forgiveness is available to those who change.

The problem our society currently has is that forgiveness is often denied, even after repentance. The judgments of the court of public opinion are essentially permanent, which is not healthy. And it's doubly bad when relatively old words and actions can be cited as a reason for judgment and outrage today.


>The problem is lack of forgiveness even after repentance

If anything, repentance leads to more and longer lasting stigma. The repentant person will most likely get excluded from the polite society - which usually means from any high-profile business and social setting.

Meanwhile standing staunchly by one's actions (or strong denial) - even better if coupled with some pushback - tends to create a counter-narrative, with its own team of supporters.

Not saying this is right or wrong, merely that showing weakness in the face of metaphorically bloodthirsty crowd tends to lead to worse results than standing up for oneself.


Yes, that's exactly my point: forgiveness is withheld, even after repentance. Admitting guilt is double-punished, and doubling-down is comparatively rewarded.


Why? My time is valuable. If they want such detailed feedback (i.e. free business advice) from me, they can compensate me for it. I would get nothing in return for spending my time explaining why I'm not going to give them any more of my money.


Presumably they'll already make you waste time talking to a human when you close your account. Might as well mention the captcha to make public the distaste for recaptcha as we are now on this forum.


Cyber war would be such a situation, after first strike.

Or before first strike, and attack from sources outside the country. In which case, seeing Russia go dark would be like an indication of cyber "missle" launch, but with probably milliseconds of early warning.

Makes me wonder if nations have or will have systems to try to detect when another nation is going offline and try to go offline themselves before damage can be done. Perhaps the best attacks will be launched from inside borders (imagine if one nation had hidden missle silos inside another nation's borders).

Then imagine if actual network problems were misinterpreted as a cyber "launch," and caused one nation to "launch" in response. Similar to ICBMs, there would be a window in which counterattacks could be launched, but it would be very, very small in comparison.


What if there are no other factors?

User A, new account, posts a single comment: "Illegal immigrants should be deported."

User B, new account, posts a single comment in reply: "You're a racist."

What does Tildes do?

It's not impossible to answer that. And the answer will tell us a lot about what Tildes wants to be.


Well, for example, the U.S. federal government was designed to cope with that problem: the Senate represents the states equally, regardless of population, and the President is elected by the electoral college, limiting the ability of large population centers to overwhelm the rest of the country. It's not a perfect system, and there will never be one, because humans are humans. But these problems are not new, and people were dealing with them a long time ago. Did the design of the EU not take them into account?


> and the President is elected by the electoral college, limiting the ability of large population centers to overwhelm the rest of the country

Instead a mere 30% of the US can vote on who is president and the rest doesn't get a say. [The electoral system for voting the president is so weighed that if you were to win the right states, getting about ~30% votes would be sufficient to become president].

The US voting system is broken at best and does not achieve what you think it does.


> Instead a mere 30% of the US can vote on who is president and the rest doesn't get a say. [The electoral system for voting the president is so weighed that if you were to win the right states, getting about ~30% votes would be sufficient to become president].

Has that ever happened?

In contrast, with a pure popular vote count, a few metropolitan areas could outvote the entire rest of the country. Would it be fair for NYC and LA to decide against the wishes of the rest of the nation? What do you think about this?

> The US voting system is broken at best and does not achieve what you think it does.

I said:

> limiting the ability of large population centers to overwhelm the rest of the country

So what is it that you think that I think it achieves which it actually does not? I feel like you're jumping to conclusions about what I think.


A few times, even in the last election, the popular vote did not match the election outcome.

>In contrast, with a pure popular vote count, a few metropolitan areas could outvote the entire rest of the country. Would it be fair for NYC and LA to decide against the wishes of the rest of the nation? What do you think about this?

I think that's totally fair, the federal government should be mainly concerned about issues both affecting those in and outside the city.

>So what is it that you think that I think it achieves which it actually does not? I feel like you're jumping to conclusions about what I think.

No but I doubt that "limiting the ability of large population centers to overwhelm the rest of the country" is something worthwhile to worry about at federal levels in a federated state.


> A few times, even in the last election, the popular vote did not match the election outcome.

That is not in dispute here. Why are you repeating that?

> I think that's totally fair, the federal government should be mainly concerned about issues both affecting those in and outside the city.

I don't understand how what you said makes sense as a response to my question. Why do you think it would be acceptable for large population centers to overrule the rest of the nation's sparser populations? To put it another way, why would it be acceptable for cities to overrule people who live very far away from them and whose concerns are very different?

> No but I doubt that "limiting the ability of large population centers to overwhelm the rest of the country" is something worthwhile to worry about at federal levels in a federated state.

Are you actually reading what I wrote? I asked:

> what is it that you think that I think it achieves which it actually does not?

And you answered:

> No

??? I asked "what?", not a yes-or-no question.

Then you said:

> I doubt that "limiting the ability of large population centers to overwhelm the rest of the country" is something worthwhile to worry about at federal levels in a federated state.

Are you being serious? That is one of the biggest concerns in a country that spans an entire continent with most of the population on opposite coasts and a significant cultural divide between urban coastal populations and less urban, landlocked populations in the center.

Besides that, even at the nation's founding, when it was concentrated on one coastline, the entire point of federalism was to prevent one population, one state, from overwhelming the rest.

Are you trolling? Or are you actually speaking out of so much ignorance?


The US Senate and the Presidential election processes are certainly not things to try to copy...

They can both lead to anti-democratic results. In fact the Presidential election process was originally designed purposely to avoid giving the people a direct and full say.

That being said, the EU already has something similar... the member countries represented equally by their governments.


Raw democracy can also lead to undesirable results. It's not true that whatever 51% of the population wants is right or good. Do you disagree?

> They can both lead to anti-democratic results. In fact the Presidential election process was originally designed purposely to avoid giving the people a direct and full say.

That is one way to characterize it. Another way is that the process was designed hundreds of years ago, before electronic communication, air travel, etc. It was not possible for every citizen to see and hear the presidential candidates before an election. So, like the rest of the representative government, citizens delegated their votes to delegates, who would gather in-person, see and hear the candidates, and select one.

So do you really think it's truthful to claim that the purpose of the presidential election process was to avoid giving citizens a full say?

I feel like you're being intellectually dishonest in this thread.


You asked for a better alternative to democracy. explainplease supplied one. You complain because it's anti-democratic. That seems somewhat unfair.


Isn't the whole point of semver that it's not complex or nuanced? A version is either backward-compatible or it's not.

The fool's errand would be expecting semver to encode all information about a version. That's not its purpose. Its purpose is to convey to users of a version some basic information about how it relates to previous versions from a user's perspective.

For more complex or nuanced information, the semver triad is not the place to look. Use git history, readme, changelog, release notes, etc.

It is tiresome to see people dismiss semver as bad because they misunderstand its purpose. "Semver is bad because it isn't what I think it should be" (then publish your own scheme), or "Semver is bad because it doesn't encode everything" (only the source itself could do that), or "Semver is bad because it would require some arbitrary numbers to increment faster than I am comfortable with" (i.e. "eww, semver has cooties").


It's quite annoying to have to enable JS for 3 different domains just to see something other than a blank page. It also prevents non-JS browsers and retrievers from seeing content.

If you were to use e.g. org-mode for the source document, you could easily export to HTML automatically when the file is saved.

You could also easily use a git hook to run e.g. pandoc to convert md to HTML automatically.

There are many ways of automatically exporting HTML when you save the md source file. Please use one.


Will look into it, thanks for info.


Thanks for being open to the idea (unlike the downvoters). HN is so tiresome.


I would also encourage the author and others to export static documents to HTML. As a user, I really appreciate it.


Regardless of how one feels about Facebook, has anyone stopped to ask why Facebook and Zuckerberg are getting such an avalanche of negative coverage from the mainstream media? Why have they suddenly united against him?


I think it’s as simple as: the general public will consume this because they’ve heard about the data breach and it’s something that will get their attention. I think it will last for a few more months and then they will find something else to write about as people will become agnostic towards anything Facebook related


It is a bit odd Facebook is getting all the negative attention, but it definitely deserves a lot of negative attention. Perhaps other companies in a similar position (MSFT, Google, Apple) are seen as contributing something of value while Facebook solely exists to broker your data to a third party.

I believe it's valuable to society that FB is revealed as the advertising giant they are, but there are other companies with their fingers in the pie that should be treated similarly - maybe our bandwidth just isn't sufficient to sustain negative coverage against multiple targets, that actually wouldn't surprise me.


Facebook has made a lot of enemies:

- Traditional online media has been looking for an online advertising giant to attack for a while, Facebook was the first to be involved in a national scandal (Google is bigger but they're "Not Evil"). They want to regain some control of their advertising income

- Democrats blame Facebook for electing Trump

- Republicans blame Facebook for moderating from the left (doesn't help Zuckerberg was courting the Clintons and actively assisting her during the election).

- Privacy advocates want a focal point for the issue of online privacy and data mining.

The real question is: who doesn't hate Facebook right now?


ad revenue


Partly Trump derangement syndrome, plus he won't crack down on speech and thought the way the free press wants him to.


The emacs-gif-screencast package does this very well. Each keystroke (technically, each command) is recorded as a frame, with timestamps used to set the appropriate duration of each frame. e.g. if you stare at the screen for 30 seconds, no additional frames are captured, and that frame lasts 30 seconds (which you can then edit the duration of later in other software).

Note that I don't know how well it would work for long sessions. Theoretically it would be fine, but the way it uses ImageMagick to convert the frames to an animation can be heavy on memory, so that could be a problem. However, the frames could be stitched together with other software that didn't present that problem...


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

Search: