Semigroup Resonance FizzBuzz - <AUTHOR> https://blog.ploeh.dk/2019/12/30/semigroup-resonance-fizzbuzz/ <comment><USER2> Nice idea. Here is the (rough) equivalent in Python.

      from itertools import cycle
      fizz = cycle(['', '', 'Fizz'])
      buzz = cycle(['', '', '', '', 'Buzz'])
      for n in range(1, 100):
          fizzbuzz = next(fizz) + next(buzz)
          print (fizzbuzz if fizzbuzz else n)

<comment><USER3> Conditionals are so 2019.

      from itertools import cycle
      fizz = cycle([lambda x: ''] * 2 + [lambda x: 'Fizz'])
      buzz = cycle([lambda x: ''] * 4 + [lambda x: 'Buzz'])
      numb = cycle([lambda x: x] * 2 + [lambda x: '', lambda x: x, lambda x: ''])
      for n in range(1, 100):
          print(next(fizz)(n) + next(buzz)(n) + next(buzz)(n))

<comment><USER4> tbqh that's a lot less readable and a lot less intuitive

<comment><USER3> Yeah, not really going for readable. Just an exercise in eliminating the conditional.

</comment></comment></comment></comment><comment><USER5> Reminds me of the time I was trying the first problem of Project Euler, "Multiples of 3 and 5" in Joy.

[https://projecteuler.net/problem=1](https://projecteuler.net/problem=1)

> If we list all the natural numbers below 10 that are multiples of 3 or 5, we > get 3, 5, 6 and 9. The sum of these multiples is 23.

> Find the sum of all the multiples of 3 or 5 below 1000.

I tried dual iterators at first but it turned out to be more elegant to just generate the multiples directly using the sequence:

        3 2 1 3 1 2 3

It turn out that the differences between successive multiples always form a palindrome.

[http://joypy.osdn.io/notebooks/Developing.html](http://joypy.osdn.io/notebooks/Developing.html)

(In re: catamorphism et. al. see [http://joypy.osdn.io/notebooks/Recursion_Combinators.html](http://joypy.osdn.io/notebooks/Recursion_Combinators.html) Cheers!)

</comment><comment><USER6> Nice article, but I'd point out that "the maybe catamorphism" is fundamentally just an if statement in disguise. You could, if you were feeling particularly extra, use the Foldable instance...

</comment><comment><USER7> Here's an okay Clojure version.

Using (clojure.string/join "\n" coll) would be more idiomatic. And there's probably a concise way to leave the nils in the sequence alone instead of mapping str—that would change the "if" into an "or", which is closer to the original solution.

      (defn fizzbuzz [n]
       (doall (map
               #(println (if (seq %1) %1 %2))
               (map str (cycle [nil nil "fizz"])
                        (cycle [nil nil nil nil "buzz"]))
               (range 1 (inc n))))
       nil)

</comment><comment><USER8> Its kind of begging the question in a way. The only reason you can conclude this is related to Z3 and Z5 is because the original problem statement said to repeat fizz every 3 numbers, and thus its related to cycluc groups. But the only aspect of group theory used seems to be that Z3 repeats cyclicly (which was the fact we used to invoke group theory in the first place). So it seems rather circular.

</comment><comment><USER8> I guess i dont see what the fuss is. Instead of looping through the numbers, they precalculate the answers and loop through that instead. Personally this seems about equivalent of replacing all instances of 2+2 in your program with just 4, and then claiming the program doesnt use addition.

Both solutions seem to deal with group theory to basically the same extent.

<comment><USER9> They actually don't precalculate, since Haskell is lazy. This kind of construction of the infinite data structure and relying on laziness is a really typical trick in Haskell. For example:

        fib = 0 : 1 : zipWith (+) fib (tail fib)

Indeed, the way the author has written it would seem a little strange to most Haskell programmers, I think, who would just write (in this idiom):

        mapIdx f xs = map (uncurry f) $ zip [1..] xs

        fizz = ["", "", "Fizz"] ++ fizz
        buzz = ["", "", "", "", "Buzz"] ++ buzz

        fizzBuzz = mapIdx f fbs
          where f n "" = show n
              f _ v  = v
              fbs = zipWith (++) fizz buzz

        main = mapM_ putStrLn $ take 100 $ fizzBuzz

Though usually you would just write it a more typical way

        f :: Int -> String
        f x | x `mod` 3 == 0 && x `mod` 5 == 0 = "FizzBuzz"
            | x `mod` 3 == 0 = "Fizz"
            | x `mod` 5 == 0 = "Buzz"
            | otherwise = show x

        main :: IO ()
        main = mapM_ (putStrLn . f) [1..100]

But, yes, I don't find the semigroup connection particularly illuminating.

<comment><USER8> > They actually don't precalculate, since Haskell is lazy.

I mean they ditectly put into the source code that the pattern is "", "", "fizz", etc..., and repeat (in a lazy fashion), instead of having the computer calculate which integers give a fizz/buzz. So the programmer is in a sense precalculating at the time of writing the program, instead of having the computer calculate the result of the if statements at runtime.

<comment><USER10> They're only doing it once though, not for every multiple of 3 or 5. So if you didn't like the line:

        buzzes = cycle [Nothing, Nothing, Nothing, Nothing, Just "Buzz"]

You could instead write:

        buzzes = cycle $ replicate 4 Nothing <> [Just "buzz"]

It's not a big difference though. Since everything is lazily evaluated, you're not precalculating anything.

<comment><USER8> I think you misunderstand what i mean by "precalculated". I just mean the answer is embeded in the source code and not calculated at runtime. It doesnt matter how you embed it in the source code, whether that is a list literal or constructed via functions or whatever

Edit: for clarity, the reason i think this is kind of a cop out, is that in the article the author seems to call out not using if-then-else as a benefit of this solution, compared to the normal version that takes a list of integers and transforms it using if/then/else and mod operations. But i dont really think it counts as not using if/then/else if you literally do the same operation in your head and then just write down the transformed list explicitly, to save the computer the effort of transforming the list at runtime for you.

<comment><USER11> I think what you are trying to say is that it's not using the modulo operator to derive the pattern _from the integers_ , instead it is simply encoding the pattern directly in the program as a pattern (false, false, true, ...).

Your objection is confusing everyone else because these are both equally "calculations", and the meaning of the "divided evenly by three" calculation and the meaning of the FFTFFTFFT... sequence are the same, so it just two ways of expressing the same thing. Either way is just as "precalculated" as the other.

<comment><USER10> Yes, exactly. In group theory when we speak of a quotient group modulo one of its normal subgroups, we're referring to exactly this. Z3, the integers mod 3, is isomorphic to (actually equal to) Z/3Z, the integers quotiented by all the multiples of 3.

People who haven't studied abstract algebra aren't used to thinking of it this way though. To most people, the modulus operator is specifically an operator that returns the remainder of Euclidean division. To think of it as a bunch of equivalence classes that split up the integers is not something most people think of right away.

<comment><USER12> Do you have a good resource for an intro to group theory and abstract algebra? I've never had a chance to study it in a course but it pops up a lot in physics and other interesting phenomena.

<comment><USER10> The best resource I know of is the textbook I bought for the course I took on group theory and ring theory [1]. It's pretty expensive and the exercises are very challenging but if you're a self-motivated student, you can learn a TON of abstract algebra from this one book. You may want to review some linear algebra before you dive in, if you haven't done so in a while. You can find solutions to many of the exercises online though I can't vouch for their accuracy.

[1] [https://www.amazon.com/Abstract-Algebra-3rd-David- Dummit/dp/...](https://www.amazon.com/Abstract-Algebra-3rd-David- Dummit/dp/0471433349)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I love these "harder than necessary" solutions to FizzBuzz, it might be useful to take questions about your ability out of the way.

Another interesting way would be to not use any modulo operation, but only do string processing and substitution on the numbers to check their divisibility (easier for mod 5, a bit harder for mod 3 but not impossible)

<comment><USER14> Assuming you wanted to keep it in base 10 this is the simplest to follow way I could come up with:

        numberString = "1578465465464570"
        divFive = /[05]$/.test(numberString);

        // Check if the digits of the number sum up to 0, 3, 6, or 9. If so it is divisible by 3.
        while(numberString.length > 1)
        {
            total = 0;

            for (const digit of numberString) {
                total += parseInt(digit, 10);
            }

            numberString = total.toString(10);
        }

        divThree = /[0369]/.test(numberString)
        divFifteen = divThree && divFive

<comment><USER15> That doesn't satisfy the requirement "only do string processing and substitution on the numbers".

One can do this as follows ( _edit: spot the bug; this algorithm is broken, but can be easily fixed_ ):

      - Take the number as a string  : "13565172345474789047"
      - remove all 0s, 3s, 6s, and 9s: "155172454747847"
      - replace all 4s and 7s by 1s  : "155112151111811"
      - replace all 5s and 8s by 2s  : "122112121111211"
      - sort the string's characters : "111111111122222"
      - replace all '111' by ''      : "122222"
      - replace all '222' by ''      : "122"
      - replace '12' by '' repeatedly: "2"
        (you have to do this at most two times)

(proving that none of these steps changes the sum of the digits of the number (mod 3) is easy, as each step changes the sum by a multiple of 3)

⇒ that number is 2 (mod 3)

</comment></comment></comment><comment><USER16> This is so beautiful.

</comment><comment><USER17> Not sure I ever understood the haskell folks drive. Is it mathematical poetry? An extreme attempt to simplify? Is this an intellectual equivalent of trying to write poetry?

The words catamorphism, semigroup and monoid barely make sense to most programmers.

<comment> aaron-santos As a former Scala dev who dipped their toes a bit too far into Cats/Matryoshka, it came from a combination of DRY + powerful abstractions. If you have powerful abstractions then it's possible to see commonalities between parts of the codebase that others can't see. "Oh that thing that we're doing over here with lists is the same as that part with futures." That's where DRY comes in and turns that observation of duplicity into unification. Less code equals less bugs, right?

Another angle to view it is what if I told you that you could eliminate an entire class of errors by employing this abstraction? Learn Option once and then never have to deal with NPE's. What about errors due to recursion? Would it be appealing to avoid those errors forever? Concurrency, state, error handling, all things that have appealing abstractions.

If the idea of mathematical connections to seemingly unrelated things appeals to you, or you are tired of dealing with the same bugs in different forms then these abstractions seem very appealing. The problem is that it's a technical solution to a human problem. That doesn't inherently make it bad, but it does imply a different set of tradeoffs.

<comment><USER18> I think there's a bit of a leap between "Option types are useful" and "using terminology to describe simple and common patterns of computation", though.

I think it's not too far from practicality to describe the solution in OP as along the lines of "solving fizzbuzz by combining infinite streams". It's a quirky/cute solution.

I think there's a jump from "knowing these functions / structures can be useful" and "let's use terms like 'semigroup resonance' and 'catamorphism'".

<comment><USER19> The concepts really aren't that easy (though they are indeed simple). While I disliked the names too at the beginning, I realize now that they are necessary, because it's important to be precise with your words and the concepts are so general that there simply isn't a better word for it. You can try to call a functor a container since both `List a` and `Maybe a` are functors and contain an `a`. But what about `Int -> a`? It is also a functor and doesn't "contain" anything. Perhaps "producer" would be a better word? `data Phantom a = Phantom` doesn't "produce" anything and is still a functor. Eventually you may arrive at a name like "mappable" which is convention just like "functor" and arguably worse because "functor" is more precise and was there first.

Names like StateT and Reader can surely be improved but the names taken directly from mathematics are already the best we can do imo.

<comment><USER20> I don't know. `Int -> a` is definitely a container in my mind. Imagine a list. What does it contain? Well, it contains the contents of the list, of course! What is it? We don't know until we look inside. What does `Int -> a` contain? It contains an `a`. Which `a` does it contain? We don't know until we look inside (by passing it an `Int`). The only real difference is that in a list I put the value in first and look at it later. With a function, I look at the value first and put the value in later ;-) I'm being silly, but I really do find that treating it as a container makes it much, much easier for me to reason about it.

However, I completely agree that the word "functor" is useful for exactly the reason you imply. It's a kind of special container. It doesn't work exactly the way you imagine containers should work initially. So I guess it's 6 of 1 half a dozen of the other. I just wanted to speak out because I know there are others like me that find reasoning about functors as if they are containers very useful.</comment></comment></comment></comment></comment>


Military police considered using controversial heat ray against D.C. protesters - <AUTHOR> https://www.npr.org/2020/09/16/913748800/military-police-leaders-weighed-deploying-heat-ray-against-d-c-protesters <comment><USER2> >> The ADS was developed by the military some twenty years ago as a way to disperse crowds. There have been questions about whether it worked, or should be deployed in the first place. It uses millimeter wave technology to essentially heat the skin of people targeted by its invisible ray.

I remember reading about that years ago. The new name is misleading. It's not some kind of infrared beam, its microwaves. Cooking protesters doesnt sound good though.

<comment><USER3> Just imagine living in the neighborhood and watching your child's skin start turning red in the living room.

Using war crime weapons on US soil (tear gas is one) is something political leaders have no problem with.

<comment><USER4> I'm not a smart guy, but I'm pretty sure microwaves don't work like that through walls.

<comment><USER3> What about through windows? Screen doors? Front yards?

Microwaving the plants and animals in my front yard seems like a violation of personal property. But laws are abstract and regularly unenforced so who knows.

<comment><USER4> Sure, but I'm still sure microwaves don't work that way through glass and especially not at the power these "less than lethal" weapons work at.

<comment><USER5> I'm not sure how these particular devices work, "microwave" is anything from a meter to a millimeter which is a pretty broad range (300 MHz to 300 GHz.) Certainly some lengths of microwaves go through glass though, otherwise microwave ovens wouldn't have that metal mesh behind the glass window.

Also I know that microwave ovens normally don't heat glass, which suggests to me they're either very reflective or very transparent to microwaves in the low GHz range. I've cooked enough food in glassware to think it must be the later. (Interestingly if you heat a small portion of glass to red hot with a torch before microwaving it, you can melt the entire piece of glass as the oven heats and spreads the hot spot.)

<comment><USER4> So these operate around 95ghz, roughly, from what I can gather. Sure you'll get some window penetration but I still take issue with the "but the kids" tone of the OPs argument.

I don't agree with use of these weapons, having been on the receiving end of RF burns accidentally myself, but pretending it's because you care about kids is sick and seems to be a default go-to for most things.

If I'm not being charitable in my interpretation of OP, then roast me, but I get the feeling the sentiment isn't particular about caring for kids and using it as a "but... but... but..." argument.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> It seems like NPR has changed the title to "Military Police Leaders Weighed Deploying 'Heat Ray' Against D.C. Protesters"

EDIT: Also, why is this on HN? I'd understand it if the article were discussing the technology, but as it stands it's just a (valid) political piece. Sadly, the comments already resemble an ugly trainwreck.

<comment><USER7> I think possible deployment of a new weapon in a new context is tech related.

</comment></comment><comment><USER8> Let's say there was an "ideal" nonlethal weapon that could zap people and immobilize them from far away with no harmful effects.

Would that be a good thing? In a way, it sounds scarier than a gun.

<comment><USER9> Sounds perfect.

<comment><USER10> To whom?

</comment></comment></comment><comment><USER11> What happens to your buttons, zippers, belt-locks, frames of glasses, jewelry, piercings, and so on?

<comment><USER12> Not to mention any medical devices you might have on or in you.

</comment></comment><comment><AUTHOR> A bit like this[0] but bigger?

0\. [https://m.youtube.com/watch?v=FIU8WZR9DNA](https://m.youtube.com/watch?v=FIU8WZR9DNA)

</comment><comment> non-entity From what I've read a concern about using these kn larger crowds is that if it causes a panic of people feeling, it could easily turn into a stampede like event where people are knocked down, stuck only to have longer, dangerous exposure to the microwaves.</comment>


The FCC's Ajit Pai now openly mocking net neutrality protesters - <AUTHOR> https://www.avclub.com/the-fccs-ajit-pai-now-openly-mocking-net-neutrality-pro-1821278546 <comment><USER2> It's so ironic, that it hurts. They honestly know exactly what they're doing, and the impact that it could potentially have on the Internet... Yet treat it like a joke.

I actually referenced this same video in my article: [https://thosakwe.com/an- ode-to-net-neutrality/](https://thosakwe.com/an-ode-to-net-neutrality/)

</comment><comment><USER3> The video they mention in the article of Ajit Pai isn't really "mocking" in my opinion. It's more of the out of touch marketing that most companies get into. It just so unfortunate that it completely skirts every issue most people have with the word "can." You "can" still watch 'Game of Thrones', if you pay. You "can" still 'gram food, if you pay. It's just a sad attempt to swindle "internet people." The amount of tried manipulation is staggering, with the dog and the notable pop culture references.</comment>


Show HN: my new crowdfunding site for Open Source Software - <AUTHOR> http://bountyoss.com/

<comment><USER2> You're going to have to "sexify" this site by about 1000 percent to make it work IMO. I suggest you get a copywriter to help you word it better (I can recommend one if you like). Also, amp up the color on the site.

My .02</comment>


New York Governor vetoes bill that would have made electric scooters legal - <AUTHOR> https://arstechnica.com/tech-policy/2019/12/new-york-governor-vetoes-bill-that-would-have-made-electric-scooters-legal/ <comment><USER2> >By waiting until the end of the year to veto the bill, Cuomo has left the legislature without an opportunity to override this veto, meaning the whole process will have to start again next year.

That's because 96% of legislators said yes to legalization.

This is the very definition of a broken, scummy system.

Good faith actors penalized by one guy who is more powerful because of some arbitrary rules

<comment><USER3> I wouldn't call a state constitution "some arbitrary rules."

<comment><USER4> All rules are just as arbitrary as other rules. A state constitution holds more power than other rule sets but that doesn't make them non-arbitrary.</comment></comment></comment>


Northwestern University bootcamp: coding, cyber security, data science, fintech - <AUTHOR> https://bootcamp.northwestern.edu/ <comment><USER2> It's interesting how this works. The university provides a landing page, but the instructors come from Trilogy Education Services.

On the bottom of the link's page, it says, "This program is offered through the Northwestern University School of Professional Studies in collaboration with Trilogy Education Services, a 2U, Inc. brand."

Trilogy Education Services seem to supply the instructional staff, as cited here: [https://www.trilogyed.com/about/careers/](https://www.trilogyed.com/about/careers/)</comment>


Dealing with forks in a DVCS - <AUTHOR> http://ozmm.org/posts/forking_continued.html

<comment><USER2> [ Don't know if I'll write another blog post about this subject, so in the meantime, I'll answer here ]

The network graph things look like cool technology, but I am not convinced - perhaps you're looking at things from too much of a github centric view? That's easy when you live and breathe something. "The Google" is where most of us still start looking.

> It may seem strange, and perhaps even like a lot of work.

It does seem like an awful lot of work!

> In the old model, actionwebservice wouldn't have made it past 1.2.6. Welcome > to distributed version control.

That's not necessarily true. DHH or whoever could add the datanoise people as committers on the RubyForge project, where they could happily continue to work on the 'canonical' version. There are plenty of projects where that has happened, with the torch being passed, and the code moving forward.

<comment><AUTHOR> > The network graph things look like cool technology, but I am not convinced - > perhaps you're looking at things from too much of a github centric view? > That's easy when you live and breathe something. "The Google" is where most > of us still start looking.

I concede to that, and we're interested in attacking that problem, too. It's easier for us to start with GitHub though.

> That's not necessarily true. DHH or whoever could add the datanoise people > as committers on the RubyForge project, where they could happily continue to > work on the 'canonical' version. There are plenty of projects where that has > happened, with the torch being passed, and the code moving forward.

But he didn't, and that's the point.

Everyone could also maintain their projects indefinitely, reviewing and merging in all the good patches. But they don't. DVCS answers the "but they could have..." hypothetical situations in the classic model with real solutions. datanoise could have continued development without DHH's permission, and he did. Someone can, in the future, do the same to him.

</comment></comment><comment><AUTHOR> While this may come off as a GitHub ad, it's the site and DVCS I'm most qualified to discuss. The questions promiscuous forking raise are technology independent and we've been thinking about them since day one.</comment>


Ubuntu forums hacked - <AUTHOR>

From: firstname.lastname@example.com
Hello,
You are receiving this message because you have an account registered with this address on ubuntuforums.org.
The Ubuntu forums software was compromised by an external attacker. As a result, the attacker has gained access to read your username, email address and an encrypted copy of your password from the forum database.
If you have used this password and email address to authenticate at any other website, you are urged to reset the password on those accounts immediately as the attacker may be able to use the compromised personal information to access these other accounts. It is important to have a distinct password for different accounts.
The ubuntuforums.org website is currently offline and we are working to restore this service. Please take the time to change your ubuntuforums.org account password when service is restored.
We apologize for any inconvenience to the Ubuntu community, thank you for your understanding.
The Canonical Sysadmins. <comment><USER2> Welcome to last weekend? or how about using the search? [https://www.hnsearch.com/search#request/all&q=ubuntu+forums](https://www.hnsearch.com/search#request/all&q=ubuntu+forums)</comment>


Why Are Stethoscopes Still a Thing? - <AUTHOR> http://motherboard.vice.com/read/why-are-stethoscopes-still-a-thing <comment><USER2> Idiotic article.

The value of a stethoscope comes not from the low-tech, lo-fi sounds that it picks up, but from the enormous knowledge base built up over hundreds of years and billions of examinations that allows a doctor to diagnose, say, mitral valve insufficiency, or pleural effusion, instantly.

By themselves, a muffled "whoosh" at a particular point in the cardiac cycle, or a particular kind of "rub" while breathing, mean nothing whatsoever. Any modern imaging technology could outperform the glorified tube of the stethoscope easily.

However, since we have built up an enormous database of clinical experience, it gives us a powerful ability to interpret otherwise useless sounds in a way that outperforms newer technologies for speed, efficiency, accessibility, and reliability.

If you arrive in ER with a pneumothorax, for example, you had better hope that there is someone waiting for you with a stethoscope to confirm the absence of breath sounds on the affected side. Even a handheld ultrasound may not be fast enough to get you a chest tube before you are irreversibly dead.

<comment><USER3> I can't shake the feeling that modern humanity is ignoring all but its ability to see.

</comment></comment><comment><USER4> The amount a doctor can learn about the functioning of one's heart and lungs via a cheap and simple tool like a stethoscope is amazing, and certainly nothing to look down on. Ultrasound tools may well one day be as commonly used but while ultrasound and other imaging tech can provide images and details stethoscopes cannot, they in turn cannot give the doctor any information about how ones breathing sounds, and cannot provide the instant and visceral connection of hearing your heartbeat directly.

Simple tools like stethoscopes are critical to medical care precisely because they are so cheap, easy to use, flexible, reliable, portable, quick to deploy, and give a direct human connection between doctor and patient. Why would you ever want to replace it? Supplement, sure. Improve, absolutely.

<comment><USER5> Medical student here- I completely agree. Auscultation is an important component of physical examination, and most of this article's arguments _against_ it just seem silly. Ignoring the obvious etymological fallacy, it's just not cost effective to replace stethoscopes with imaging tools.

A "cheap" portable ultrasound machine is going to be in the thousands of dollars, and there's just no way that hospitals and clinics would be able to purchase enough of them so that one was available for every ongoing PE- not to mention the fact that US is billed separately, and could easily double the patient's cost for a brief office visit.

Plain film x-rays and CT scans expose the patient to ionizing radiation, so that's not a practical option either.

MRI is expensive, time-consuming, and a lot of rural hospitals might not have a machine, or if they do, it's very, very unlikely that they're going to have staff available to operate it 24 hours a day.

All of these tools, including the stethoscope, have their own separate uses and applications- they are not competitors.

<comment><USER6> MRIs also have issues if you happen to have ferrous metals in your body. Ignoring obvious things like surgical pins, plates and screws used in orthopedics, and piercings, people in certain occupations have a high likelihood of picking up things like metal filings in their eyes, which can be catastrophic for them in a MRI.

</comment></comment></comment><comment><USER7> Funny : "yet doctors cling to a tool that was invented at a time when medical practitioners still regularly used leeches as a form of treatment."

They still do "cling" to leeches for some treatments as well. Leeches are hard to beat for a few conditions. It's got a name : hirudotherapy, and sees application in skin related conditions and wound cleaning, and saves hundreds of legs and arms from amputation on a yearly basis and even sees use in cosmetic medicine. Cleaning skin and wounds the way leeches do is not impossible but takes experts hours or days and introduces risks that treatment with leeches does not.

[https://en.wikipedia.org/wiki/Hirudo_medicinalis#Today](https://en.wikipedia.org/wiki/Hirudo_medicinalis#Today)

</comment><comment><USER8> In other news, why are construction workers still using this 1000 year old tool what with all the modern advances in construction technology

[https://en.wikipedia.org/wiki/Hammer](https://en.wikipedia.org/wiki/Hammer)

<comment><USER9> There's probably a startup somewhere working on an IoT connected version. With an app to keep track of number of hits, thumbs and misses...

<comment><USER10> Error: The Samsung Naildriver™ is not compatible with this brand of wood fastening device.

</comment></comment></comment><comment><USER11> I'm only vaguely familiar with either technology, but I don't understand how a handheld ultrasound scanner can possibly substitute for a stethoscope.

I know this is a flawed analogy, but I imagine somebody walking up to an electronics tech and saying "Hey, you don't need that oscilloscope anymore because we bought this thermal camera. Don't you know that oscilloscopes are old technology from the 19th century? Why, they didn't even know what electrons were back then!".

</comment><comment><USER12> Why do doctors still use their eyes when looking at an injury.

</comment><comment><USER13> This is literally the dumbest thing I've read on vice.com. And I just read an article about a girl that drank a bottle of marijuana personal lubricant.

</comment><comment><USER14> What a strange article. It ends up damning the stethoscope with faint praise.</comment>


Ask HN: How can one create an evidence of learning? - <AUTHOR> One of the way to create an evidence is to get a degree, however, with the shooting prices it doesn't seem like an optimal solution.<p>I wanted to know what other ways are available to create learning evidence, I'm especially talking about subjects like psychology, mathematics, etc <comment><USER2> Publish an (academic) paper in a journal

"Publish" a paper (pre-print anyway) to arXiv.org

Write and publish a book

Write a white-paper

Speak on the topic at a conference, Meetup, etc.

Get featured in an interview on the topic in question

Be quoted in news article(s)

Write an op-ed or column for a magazine

Write a blog post, or series of blog posts

Get a patent

Start an OSS project related to your desired topic

Probably zillions of other things...

<comment><AUTHOR> is this possible for subjects like psychology, mathematics? This seems mostly inclined towards Computer Science eg. OSS projects

<comment><USER2> Don't over-fixate on one example. That's all these ideas are, just examples. Some may apply to what you're doing, some may not. You'll have to figure out the specifics on your own.</comment></comment></comment>


The End of Mrs. and Miss - <AUTHOR> http://codebyjeff.com/blog/2014/02/the-end-of-mrs-and-miss <comment><USER2> Here's the thing: you're talking about someone's name. If a woman always choose to go by "Mrs", that's her choice, even if you don't like it and even if you believe she was unfairly brainwashed into it.

Making it impossible for people to enter their own names the way they actually use them is anti-user. It's like refusing certain characters or artificially restricting the length.

Names most definitely don't make sense, and trying to force them to make sense in your software is the path to madness.

<comment><USER3> There should simply be a free-form field for "How do you want to be addressed?" (e.g. "Mrs. Smith", "Dr. James", "Jack", "Woof Woof", whatever) alongside any field for an "official" name.

<comment><AUTHOR> That would be perfectly acceptable IMHO. The point is to not force her into giving out this type of information, rather than restricting what she WANTS to say.

Most forms I see these days either leave it off, or make it free form. This article discusses those that don't.

In any case, this is not "part of your name" \- simply move to a country with a different language and look for the "Mrs." option.

<comment><USER4> You're missing the point. The people of a vastly different culture may not wish to be differentiated based on their gender or marital status, but people of a certain generation take it as a point of pride, being "Mrs" or "Dr." or "Rev." or "Hon." etc. It may mean nothing to you, but it is a matter of decorum for them.

And frankly I find it disgusting that people should consider it brainwashing at all. It is not. At one time, being married was a badge of honour that a woman wore with pride, and whether or not that happens to be your standard of maturity or not, it is not for you to decide what should be important in somebody else's life.

If you're worried, present the user with a short text input. Give it a placeholder "e.g. Mr, Ms". Allow it to stay blank for those who want it. But don't make a judgement call on another person's behalf. It is not your place to do so.

</comment></comment></comment></comment><comment><USER5> _" If your customer wants Mrs. & Miss, push back. Up to you to decide how far and how hard, but make an effort."_

That's ridiculous. There are many women out there who are proud of their marital status. It's a big deal in some parts of the country.

There are better places to fight your war on American traditions than your cart checkout. In fact, I would argue that the carts need more choices. For a good example, check out [http://www.bodenusa.com](http://www.bodenusa.com). They offer a big list of salutation options, including awesomeness like "Baroness", "Colonel Sir", "Lady", and "The Honorable". If I ever get a piece of junk mail addressed to "Field Marshal Lord Snell", I'll know who sold my information.

<comment><USER6> You may disagree, but it's not ridiculous. It's perfectly reasonable. In fact, by calling it ridiculous, you're sending a very strong signal that people who ask questions about whether we should keep doing this the way they've always been done will be shamed.

Is that your intention?

<comment><USER7> What? By pushing back against a customer who wishes to be addressed as Mrs, you are invalidating their own sense of identity under the guise of doing them a favor. It's paternalistic and infantilizing.

EDIT: Oh wait, "customer" here may mean "client", as wilg pointed out, ie. the person asking for the form to be built, _not_ the person filling it out. That is likely the source of this misunderstanding. I still don't see the harm in providing both Ms. and Mrs./Miss -- some surely prefer Mrs. and there is no shame in deciding you prefer "Ms."

<comment><USER6> I took this entirely as a conversation between developer and "stakeholder," be that client, employer, whomever, but not the end-user.

I've built many such forms, and all of them have included traditional forms of address. I may build another with traditional forms of address, but I certainly have no problem discussing the subject without laughing the idea off.

</comment></comment></comment></comment><comment><USER8> _So to tie this back to my original question - why are we asking women to put information on a form that has no use other than to let us know if she might be a potential mate?_

 _If you make a new form, limit salutations to Dr., Mr., Ms._

Why do you ask people what their titles are at all? Dr., Mr., Ms. Why do you need them?

 _If your customer wants Mrs. & Miss, push back. Up to you to decide how far and how hard, but make an effort._

Given that you do ask such silly questions, who are you to push back against the title someone wants? If a woman, say my mother, older than the both of us, wants to be known as Mrs., who are you to push back on that? Is your push back a step for gender equality, or you just being even more self-absorbed and clueless in your questions than before?

Would you push back against a person that wants to identify with a different pronoun? Or a different gender? Then why are you pushing back against that person's choice of a title?

Do you verify the titles? If not, what's the skin off your nose?

<comment><USER9> His point is clearly not about pushing back against how someone identifies.

There is simply _no male equivalent_ to "Miss" and "Mrs.", so asking someone to choose between titles is implicitly asking for their relationship status.

I would prefer there were no titles at all, but if you have to use them the only equitable way of doing it is to eliminate "Mrs." and "Miss".

Edit: Actually even better would be to have a text field.

<comment><USER10> > I would prefer there were no titles at all, but if you have to use them the > only equitable way of doing it is to eliminate "Mrs." and "Miss".

Or you could just be inclusive and allow Ms, Mrs, and Miss.

</comment></comment></comment><comment><USER11> "If you make a new form, limit salutations to Dr., Mr., Ms."

Why on earth is "Dr." in there? From those options it strikes me as if the form would really care about wether or not I am male or female, but if I am a doctor, then who cares if I am female or male, I have apparently made it to a higher state of being, one that transcends gender. Get rid of salutations all together. If it is important for you to know the persons gender, ask them specifically that question. If, for some unknown reason, you also need to know if the person completing the form is a medical doctor, or a doctor of another type, ask that question directly as well.

<comment><USER12> I think it is more about formality rather than gender. Mr. vs. Ms. is because the English words we use for that level of formality are different based on gender.

I think it similar to how students are told to address their teachers as Mr. X or Ms. Y, rather than by their first names.

<comment><USER13> Then there is Rev., Hon. and so on.

<comment><USER12> My guess is that Dr. is just the most popular/most insisted upon among salutations that are based on profession/education and so the others get neglected sometimes. (I doubt most people know what the full list of salutations should be.)

<comment><USER3> Nobody does. The "full list" is effectively unknowable. A truly full list would include myriad words from every language for every culture, military, religion, and organization in the known universe (and would be ever-changing). This is just another part of the whole "What is a real name?" thing.

</comment></comment></comment></comment></comment><comment><USER14> Common sense, etiquette, and those being subjected to the terms seem to have sorted this out a long time ago. Further down in the Wikipedia entry ([http://en.wikipedia.org/wiki/Ms](http://en.wikipedia.org/wiki/Ms)):

 _The American Heritage Book of English Usage states that: "Using Ms. obviates the need for the guesswork involved in figuring out whether to address someone as Mrs. or Miss: you can't go wrong with Ms. Whether the woman you are addressing is married or unmarried, has changed her name or not, Ms. is always correct." The Times (UK) states in its style guide that: "Ms is nowadays fully acceptable when a woman wants to be called thus, or when it is not known for certain if she is Mrs or Miss". The Guardian, which restricts its use of honorific titles to leading articles, states in its style guide: "use Ms for women... unless they have expressed a preference for Miss or Mrs".

In business, "Ms." is considered to be the standard default title for women until or unless an individual makes another preference known. The default use of Ms. is championed by a number of etiquette writers, including Judith Martin (a.k.a. "Miss Manners")._

Eliminating it completely solves a non-problem and takes preference away from those who would prefer either term.

</comment><comment><USER15> I kept my surname, and am frequently called Mrs by random shop assistants reading my name off my credit card and noticing my ring. No; that's my mother.

However, having experienced this weird identity/title disconnect a few times now, I know she would _also_ feel like it wasn't her, but somebody else, being addressed if she were forced to be "Ms".

Sure, there are times where you don't want to be informal and there isn't much of an alternative than Title Surname, but I'd rather see the titles removed altogether. Should we try to make "Miss" and "Mrs" obsolete? Probably, but not by removing the ability for us to choose it on forms.

</comment><comment><USER16> Simpler solution: No salutations.

I called a friend "Ms ..." once - she was quite offended, though she chided me in a humourous way. She is quite proud of being "Mrs ...".

So if you eliminate Ms, you eliminate her from your user base. And it is NOT your job to drag people kicking and screaming to your view of The Right.

I happen to prefer using Ms, for the very reasons you state. But it would be patronizing in the extreme for me to use Ms instead of Mrs when Ms offends. Or instead of Miss.

If you are not going to have a comprehensive list of all possible salutations (including Rev, Father, Your Holiness, Minister, Prime Minister, Honourable, Right Honourable, etc., as suggested by another comment, then have none).

I find it creepy when machines address me by name anyway. I shudder every time my ATM displays "Thanks, Peter". I would much prefer "TD thanks you for your custom" \- or something less archaically phrased.... :->

</comment><comment><USER17> You could just as easily argue against using salutations at all; the stance taken in the article could arbitrarily be taken from a number of different stances each with arguably similar weights.

I don't think it's right to force your own opinion on people when you can just as easily give a blank field and let them put whatever they want, including nothing at all.

</comment><comment><USER18> >If you make a new form, limit salutations to Dr., Mr., Ms.

No. You let people decide how they'd like to be addressed and leave your amateur social engineering at home.

</comment><comment><USER19> > If you make a new form, limit salutations to Dr., Mr., Ms. If your customer > wants Mrs. & Miss, push back. Up to you to decide how far and how hard, but > make an effort.

Well done man, you went all the way to explain that we should not make differences between women and men, and there you still keep a difference for DOCTORS, like OMG do you not see the gaping abyss in your argument ?

Why don't you go all the way and push back on the use of ANY honorific title, because seriously there is no rationale to put people above others just because they studied more or obtained a position of power somehow.

You destroyed the whole point of your article, just because you want to fight for women but you should be fighting for equality for ALL if you were a little bit logical.

<comment><USER9> I think you're right about "Dr." but you're kind of throwing the baby out with the bathwater here.

You can make that same point while recognizing that probably the author wasn't really trying to place doctors on a pedestal.

</comment></comment><comment><USER20> _" If you make a new form, limit salutations to Dr., Mr., Ms."_

I've never understood why people with MDs or PhDs feel the need to be addressed as "Dr." wherever they go. Distinguishing between "Dr." and "Mr." or "Dr." and "Ms." seems at least as weird as distinguishing between "Mrs." and "Ms.".

And once you concede that people with those degrees deserve to be called by their preferred salutation, why not add all the other possible honorifics, like, "Senator", "Rabbi", "The Right Honourable", etc.?

Maybe the right approach is to just provide a text box that the user can fill in with their preferred salutation, or leave blank.

It's interesting how much cultural baggage goes into creating something as simple as a data entry form.

<comment><USER21> Salutations are abbreviations, though... and you're likely asking for a salutation so that your CSRs and/or salespeople can call people by it, for "enhanced politeness."

But what happens when someone fills in a salutation your CSRs/salespeople don't recognize? Do they hazard a guess at pronouncing it? Screwing up a title seems worse than screwing up a name, in terms of how much respect you've lost with what might be a potential client. (Really, though, I'd guess that they'd just ignore it, look at your gender, and call you "Mr." or "Mrs.", depending.)

On the other hand, the true 100% solution... I'm not even sure. An autocompletion-search based chooser that knows about every salutation that exists around the world, with the abbreviated, expanded, and IPA- pronounciation forms included for each salutation?

</comment></comment><comment><USER22> I read the following Wikipedia article and wound up fascinated: [http://en.wikipedia.org/wiki/Ms](http://en.wikipedia.org/wiki/Ms).

It claims that the use of /mɪz/ (Ms. in spelling, but the S clearly pronounced as /z/) was proposed as "close parallel to the practice long universal in many bucolic regions" of slurring the pronunciation of "missus" and "miss" as a single entity. Never thought of it that way, but my first reaction to reading this article is that we already have such a title, "Ms.", with the S pronounced as Z.

</comment><comment><USER23>
      Your computer IP address 220.127.116.11 is listed at
      StopForumSpam database so your visit is blocked. You can
      unblock yourself by entering the following code:

What the hell? CAPTCHAs just to _read_ pages?

<comment><USER24> Presumably someone earlier was being malicious from that IP address. Unfortunate, but slightly reasonable from someone who was being targeted I suppose.

<comment><USER25> Except that it's using referrer IP's. (I get 184.108.40.206, both our cloudflare IP's.)

Which is ridiculous. Agent IP's, fine (although this is a really stupid way to go about it).

Referrers, okay, but only if you suffer massive abuse via a certain link, otherwise it's really, really dumb and you may ban tens of thousands of innocent bystanders.

But referrer IP's? That's just beyond idiotic.

<comment><AUTHOR> Have no idea. That's something my host is doing, for reasons they know. I've never had more than 120 hits in a day before this post, so not aware of any policies they may have with regards to this.

I doubt I'm banning "tens of thousands of innocent bystanders", however :-)

</comment></comment></comment></comment><comment><USER26> This is a nice idea but the claim that it is "not very hard to do" is incorrect. For starters there's the confusion factor which may trigger some support requests. That's more work. Moreover it may result in some consternation among customers who actually do desire the traditional salutation. That's a different kind of difficult, going against your customer.

Again, not saying it's wrong, just saying it's not easy. There's maybe even a point in there about programmer tendencies to underestimate the full impact of small code changes...

</comment><comment><USER27> Why do you feel the need to identify the gender of your users at all?

<comment><USER28> Even assuming the need, why do you feel the need to lecture your user when she wants to use the term 'Miss' or 'Mrs' to identify herself? I mean, it's one thing to provide neutral options like 'Ms' or '', sure, go ahead... but are you operating a web site or a culture war?

</comment></comment><comment><USER29> How about having the customer actually enter the title (and name on postal and other forms) they want to be addressed as?

Not everyone has a last name. Chinese people have a family/village/personal name, others have just a single name.

Cultural assumptions for the convenience of database schemas is unnecessary.

Let people choose their username. Let them choose their "name" to be addressed as, including title.

</comment><comment><USER30> >"If your customer wants Mrs. & Miss, push back. Up to you to decide how far and how hard, but make an effort.*

You just lost a customer.

</comment><comment><USER25> Seriously, is this still a thing in the Anglo-Saxon world? Being male, I was never aware of that, although I must have filled in hundreds of English language forms.

In the Netherlands, this kind of thing has been unacceptable for decades. The only reason why someone would put that in a form is as a deliberate joke.

</comment><comment><USER31> I was taught that Mz (as in Mizz) is a marriage neutral form. Of course, if someone refers to themselves as Mrs. (like most school teachers), I'd go with that, but otherwise I like Mz.

</comment><comment><AUTHOR> Just out of interest - related idea from over two years ago:

[http://www.bbc.co.uk/news/magazine-16503341](http://www.bbc.co.uk/news/magazine-16503341)

</comment><comment><USER32> I reject the notion that asking (or not asking) for marital status affects gender equality, in our industry or in society, in any meaningful way.

<comment><USER33> It's not asking for marital status that's at issue; it's _selectively_ asking for it — _only from women_.

<comment><USER32> Then ask for marital status from men as well - Master and Mister. Unfortunately, they are abbreviated the same way, and the honorific Master has fallen into obsolescence.

Or just don't ask for it at all. I find it better to let the person determine how they would like to be addressed than limiting it based on my political agenda.

</comment></comment></comment><comment><USER34> Always thought it was weird that there wasn't a male form of "Miss."

<comment><USER35> There has been, and may continue to be in some places: [https://en.wikipedia.org/wiki/Master_%28form_of_address%29](https://en.wikipedia.org/wiki/Master_%28form_of_address%29)

I recall seeing a flight reservation form on a British Airways site that had a pulldown menu for either titles or forms of address that included "Lord" and various others. To a US American it was slightly surprising, but to a native Brit it would probably seem quite natural. (Of course, what airline would pass up a chance to bring back distinctions of class?)

I see the problem that the original post describes as a "value and a half" issue - the client and programmer are trying to extrapolate values for several ranges from the variable they have jammed multiple values into: gender, marital status, title, and form of address.

Even if all your users are from one culture, you're going to have unexpected corner cases - these pages should suggest some:

[http://www.kalzumeus.com/2010/06/17/falsehoods- programmers-b...](http://www.kalzumeus.com/2010/06/17/falsehoods-programmers- believe-about-names/)

[http://www.cscyphers.com/blog/2012/06/28/falsehoods- programm...](http://www.cscyphers.com/blog/2012/06/28/falsehoods-programmers- believe-about-gender/)

</comment></comment><comment><USER36> This argument is just hilarious. Yep, there definitely are no more important problems in the entire world than whether women should have a choice in defining their own marital status or not.

<comment><USER6> So does this mean you don't write any software that doesn't save lives? That you don't come onto Hacker News and make comments?

For whatever reason you find yourself doing a task. Gardening, washing dishes, building a web form, saving a life. Whatever it is you choose to do, why not do it as well as you know how? Why denigrate something as not being worth doing well because there are more important problems in the world?

<comment><USER36> While you are trying to make it sound somewhat ironical that is the very reason I am on HN (and, partly the reason I left that comment): to find something that helps me to "write software that _does_ save lives" or to find any problem that would be important enough to try and solve it.

So what I'm stating is not that I simply "do not think of that problem as of being important enough to discuss". Actually, I don't see any problem at all. And I find that both sad and funny — maybe even horrifying — that many other people see it as a problem and even important one. Because, really, there aren't many "non-live-saving" tasks, everything that makes world a better place to live is pretty much worth doing.

That arguing on topic if you should or shouldn't leave a choice between `Ms.` or `Mrs.` doesn't make world better. Actually, I wonder if it isn't accomplishing the opposite. If you are a woman and you are presented the form that asks you how you'd like to be called in the emails or whatever, seeing both `Ms.` and `Mrs.` on that form doesn't hurt you unless you have some pretty serious psychological problems. More than that it might be even annoying to be unable to choose the honorific you personally prefer. That's why you might want to leave text input for your customer to enter whatever he wants anyway.</comment></comment></comment>


Google Moderator - <AUTHOR> http://www.google.com/moderator/ <comment><USER2> This has been around for about two years. Any context for submitting the link?

<comment><AUTHOR> It's surprisingly unheard of. For example, it hadn't been posted on HN before.

</comment></comment><comment><USER3> What the hell does it do?

<comment><USER4> The help screen explains a little more: <http://www.google.com/support/moderator/>

But it's still unclear to me how this differs from, say, a typical phpBB installation.

<comment><USER5> > But it's still unclear to me how this differs from, say, a typical phpBB > installation.

Fewer security holes?

</comment></comment></comment><comment><USER6> Uh.. Google should hire some usability people I have no idea how to use this pos.

<comment><USER7> They did. The guy who wrote moderator originally works on data center power management, so they recently hired somebody else to clean it up for public consumption.

<comment><USER8> Is this the final result after cleanup, or work still being done? It looks OK, but I think it can be much improved.

</comment></comment></comment><comment><USER9> I think its geared towards presentations. It similar to <http://eventhive.com>

</comment><comment><USER10> this seems like it would make a nice pairing with the recently submitted <http://wappr.com/>

</comment><comment><USER11> Just created a page (question/poll/topic) etc.

<http://www.google.com/moderator/#16/e=4a31>

hope this is what it was meant for, looks to be pretty useful</comment>


I knew my Airbnb would be watching me – but it still creeped me out - <AUTHOR> https://www.thestar.com/opinion/contributors/2019/10/11/airbnb-surveillance-is-unsettling-even-when-disclosed.html <comment><USER2> Warning: Paywall, turn of JS to read the article anyway ;)</comment>


Fast Supernovae Detection Using Neural Networks - <AUTHOR> https://blog.tensorflow.org/2020/09/fast-supernovae-detection-using-neural-networks.html <comment><USER2> Automated detection of "transients" (anything that changes in the sky) will become increasingly important as large surveys vacuum up ever more data.

LSST is supposed to get going in 2022, imaging the entire visible sky every few days from the Atacama desert in Chile.[1] It's supposed to take a 3.2 Gigapixel image every 30 seconds or so, pretty much non-stop for 10 years. There will be tons of interesting transients hidden in that stream of data, and the key is flagging them as quickly as possible, so that other telescopes can do targeted follow-up. LSST itself is really the discovery machine, but it doesn't give much information about the transients it discovers. It just tells you that the transients are there, and that you should take a look.

Unless we're going to have a room full of people going through 120 3.2 Gigapixel images an hour, comparing them with reference images of the same part of the sky, we need algorithms to flag interesting transients. The algorithms should give us their guess of what sort of transient we're looking at (Type Ia supernova, Type IIb supernova, microlensing event, etc.) with "this is nothing like anything I've been trained on" possibly being the most interesting answer.

One of the big worries is that LSST will discover so many transients that there won't be enough resources to follow them all up. There probably aren't enough spectrographs installed worldwide to get a good spectrum of every transient. That makes it critical to automatically ranki transients by novelty or importance.

1\. [https://en.wikipedia.org/wiki/Large_Synoptic_Survey_Telescop...](https://en.wikipedia.org/wiki/Large_Synoptic_Survey_Telescope)

</comment><comment><USER3> > astronomers use supernovae to measure distances, which is important for > cosmologists to study, for instance, the expansion of the universe and dark > energy.

AFAIK supernovae datasets are usually obtained as a survey, resulting in a statistical sample which can be used to compute cosmological observables. Here it seems that there is a new sample bias introduced by the neural network classifier. Can this bias be accurately quantified?

<comment><USER4> A perceptive question. Typically, this bias is assessed by injecting fake supernovae into the images and seeing if they are correctly recovered.

</comment></comment><comment><USER5> How many are we expecting Supernovae detection are we expecting to detect ? What percentage of these are the neural network able to successfully detect ?

</comment><comment><USER6> Calling something "fast" without any benchmarks should be a crime, punishable by ~6 months prison for the team lead

<comment><USER7> Presumably the benchmark here is waiting for a graduate student to wake up, log on to their computer, and mark the image as having a supernova or not.

</comment></comment><comment><USER8> Of course, from now on we won't detect any "that's odd" types of Supernovae ...

<comment><USER9> Who said 100% of all future Supernova detection work will only be done by algorithms?

</comment></comment><comment><USER10> All dictionaries I find online say "The plural form of supernova is supernovas or supernovae."

I think we should phase out these pseudo latin plurals from English. They're just annoying and were a bad idea when introduced in the 1700s.

<comment><USER11> "nova" is Latin though.

<comment><USER10> It _came_ from latin, but it's now an English word.

Most English words are imported from other languages, but we conjugate them according to English grammar, not the origin language. Except for pluralizing latin nouns.</comment></comment></comment>


Ruby on Rails Tutorial, 2nd edition - <AUTHOR> http://news.railstutorial.org/ruby-on-rails-tutorial-2nd-edition

<comment><USER2> Went through this recently and it's great. Bootstrap is a nice addition -- I know people complain about too many Bootstrap sites, but developing something that looks good right off the bat is highly satisfying.

The only problem I ran into is that when using spork and guard, the test environment didn't always get reloaded (not sure if I recall the exact conditions in which that happened) and so I got some unexpected errors/test failures on occasion (resolved by restarting spork/guard). There's a stack overflow entry on this, iirc.

<comment><AUTHOR> The Spork caveat is mentioned in the book ([http://ruby.railstutorial.org/chapters/static- pages#code:rsp...](http://ruby.railstutorial.org/chapters/static- pages#code:rspec_drb)):

 _One word of advice when using Spork: after changing a file included in the prefork loading (such as routes.rb), you will have to restart the Spork server to load the new Rails environment. If your tests are failing when you think they should be passing, quit the Spork server with Control-C and restart it._

That doesn't mean you won't end up on Stack Overflow, though. I end up there all the time myself, and I wrote the damn thing.

<comment><USER3> _That doesn't mean you won't end up on Stack Overflow, though. I end up there all the time myself, and I wrote the damn thing._

If that was eliminated, than spork would be an absolute no brainer.

</comment></comment></comment><comment><USER4> Beginner here, I'm a mechanical engineer with very little experience with programming. I tried to follow the book this week but found it little bit difficult to follow. Question: Should I go learn the basics of Ruby first or should I power through hoping to learn everything along the way? If you think that I should learn the basics first, would you recommend learnrubythehardway or something else? Thanks in advance!

<comment><USER5> As others have mentioned, there are plenty of good Ruby tutorials around. Personally, I thought "why's (poignant) Guide to Ruby"[1] was pretty great. It goes off topic quite a lot, but I think it's a joy to read while still learning the core concepts.

[1] <http://mislav.uniqpath.com/poignant-guide/>

<comment><USER6> yeah. This is the best textbook I've ever read, period. The tangents are actually quite helpful, because they keep you motivated to keep reading, and slow down the pace a bit. Also check out tryruby.org for an awesome interactive tutorial, which was originally written by the _poignant_ author. Good luck, and chunky bacon (you'll get it when you read the book, which you absolutely should do)!

</comment></comment></comment><comment><AUTHOR> tl;dr: The Rails Tutorial 2nd edition PDF is out; early access to the 2nd edition screencasts is open; use the code "rt2ndEd" through the end of April to get a 20% discount. Go to <http://railstutorial.org/> for more information.

By the way, I finally broke down and got an iPad (way overdue, I know), which finally motivated me to fiddle with the Rails Tutorial PDF fonts. The result (14pt for the main text and ~10pt for tables and code samples) was a bit tricky to achieve, but it looks good on a Kindle and _great_ on an iPad. Someday I may go to the trouble of making ePub and mobi formats as well, but for now the PDF is _smokin'_.

</comment><comment><USER7> Purchased and read back to back the first edition of the book. Very glad to see an updated edition, it hasn't been that long, but a lot has changed in the meantime!

Michael, I was looking through the online version of the book and I couldn't find any indication that I was reading the 2nd edition. I apologize if I simply missed it, otherwise I think it might be worthwhile mentioning in the preface that what we're looking at the 2nd ed.

<comment><AUTHOR> The Rails version number is highlighted in the right-hand margin (3.2 indicating the 2nd edition). Also, to make the choice easy, the 2nd edition is now the default.

<comment><USER8> It took me about 30 min today to figure out why when I started Chapter 5 your Application Controller had different content than mine (missing the blueprint, etc). Would you recommend the 2nd edition although I am halfway through the first edition?

<comment><AUTHOR> Yes, I recommend switching to the 2nd edition. I suggest you start with Chapter 3.

</comment></comment></comment></comment><comment><USER9> It would be nice to cover Ruby/RVM under Cygwin as well in addition to RailsInstaller. As long as the right Cygwin packages are installed (git, readline, wget, patch, make, gcc, libsqlite3-devel, libxml2-devel, libxslt- devel) RVM installs just fine and then the reader will be able to follow all the remaining examples in the book directly.

You could add something like this:

Ruby with Cygwin (Windows)

Another option on Windows is install Ruby under Cygwin. If you are already using Cygwin then installing RVM and Ruby is done the same way you would do it on Linux/OSX. If you do go the Cygwin route then throughout the rest of the book just follow the Linux/OSX examples. Here are the steps:

First, make sure you have the following Cygwin packages installed: git, readline, wget, patch, make, gcc, libsqlite3-devel, libxml2-devel, libxslt- devel.

Then install RVM: curl -L get.rvm.io | bash

Then just follow the steps listed in the next section to install Ruby.

</comment><comment><USER10> I have the first edition and it's great. You can either poke around on Stack Overflow for hours to see what the "best" approaches are - OR just get this book and bookmark heavily :)

</comment><comment><USER11> I am reading the book on safaribooksonline and commit to github. ( <https://github.com/alder101/rails-tutorial> ) The book is great. Thank you Michael.

I think that experience of reading such "Learn by example" books would be even better if:

* Each chapter or section are issues on github.

* Examples are commits, associated with the issue.

* Extensive use of labels as book index.

<comment><AUTHOR> I agree in principle, but the situation you describe would be a maintenance nightmare on my end.

</comment></comment><comment><USER12> This does look interesting. Can't quite figure out if it would suit me. I'm interested in learning Rails but I haven't done any Ruby before. I do a lot of C#, ASP.NET MVC, RavenDB, MySQL/SQL server and AppHarbor, so I understand MVC and web development environment from the .NET side.

Would you think this book and screencasts would work for my skill level or should I use another book to learn more about Ruby?

<comment><USER13> It's definitely worth reading.

Although as a person with substantial programming experience, I would recommend you to have a look at Chapter 4 first. The first few chapters deal with code examples that are not meant to be understood (at that point), but knowing the "Ruby way" will help you to figure out most of it. The book also is more holistic about Web Development; Rails, although being the main focus, isn't all that it covers. Version Control (GIT) and Deployment are explored as well. Also, the author having beginners in mind, goes through the terminal stuff a bit slower.

You might find yourself skimming few pages along the way, but the book does an extremely good job at getting you to the point where you can and know what you want to do next.

</comment></comment><comment><USER14> How are the 2nd edition screencasts going to differ from the first edition ones?

<comment><AUTHOR> From <http://ruby.railstutorial.org/#new>:

        Fully updated for Rails 3.2 and Ruby 1.9
        All-new design using Twitter's Bootstrap
        Coverage of the new asset pipeline, including Sprockets & Sass
        Behavior-driven development (BDD) with Capybara & RSpec
        Better automated testing with Guard & Spork
        Roll your own authentication with has_secure_password
        An introduction to Gherkin & Cucumber

I've also converted to a two-pane editor setup using Sublime Text 2, which is especially nice for TDD. See <http://youtu.be/REuxSzMtcJA> for a sample video.

</comment></comment><comment><USER15> I purchased the first edition, any upgrade plan?

<comment><AUTHOR> Check your email for a coupon code. As far as upgrading the app itself, so much has changed that I recommend starting from scratch. (It'll go much faster the second time around.)

<comment><USER15> My bad, just checked my e-mail. Thanks!

</comment></comment></comment><comment><USER16> Just bought the screencasts! Very excited :D

<comment><USER17> Same here. Looking forward to watching and learning a ton!</comment></comment>


Ask HN: Is there an easy way to move a file to its parent folder in OS X? - <AUTHOR>

I expect something like a simple drag and drop.<p>Cmd + up arrow key doesn't work when the drag started. <comment><USER2> sounds like a good question for/on stackoverflow.com

</comment><comment><USER3> mv file ..

MacOSX is a unix system. Work in the Terminal!</comment>


If you store WordPress code on Github think about your wp-config.php - <AUTHOR> http://tosbourn.com/2013/01/wordpress/if-you-store-wordpress-code-on-github-think-about-your-wp-config-php/ <comment><USER2> Agreed but this of course depends on if they store it on open repos vs Private repos.

We store our repos on private repos and we have a script on deploy to replace the wp-config with the actual server details on deploy.</comment>


Another static blog generator in Python, minimal blog support - <AUTHOR> https://github.com/hit9/lilac

<comment><USER2> I take it the example blog is in Chinese? 90% of the text is just that unicode block character that represents a character I can't see.

<comment><AUTHOR> Oh, sorry. Now I create a demo site, which is in English. Check this site <http://lilac.hit9.org></comment></comment>


EV company is using AI and 3D printing to add lightness - <AUTHOR> https://arstechnica.com/cars/2020/01/this-ev-company-is-using-ai-and-3d-printing-to-add-lightness/ <comment><AUTHOR> Worth a flick through the photos. The pink paint really emphasizes the biomech vibe.

If you're not familiar with the "lightness" reference, it's from Colin Chapman of Lotus - [https://www.lotuscars.com/en-JP/lotus- philosophy](https://www.lotuscars.com/en-JP/lotus-philosophy)

"I fart in your general direction," is _Graham_ Chapman.</comment>


ELIZA:  Program for the Study of Natural Language Communication (1966) [pdf] - <AUTHOR> http://web.stanford.edu/class/linguist238/p36-weizenabaum.pdf <comment><USER2> I've known of Eliza forever, it seems, and of Pygmalion nearly as long. But it was only comparatively recently that I learned the one was a reference to the other. I'm honestly surprised I never put that together on my own.

</comment><comment><USER3> [http://www.masswerk.at/elizabot/](http://www.masswerk.at/elizabot/) JS implementation for those wanting some "live" psychotherapy...

<comment><USER4> I just tested it out (I'm procrastinating writing a term paper). Eliza helped me pep myself up!

(Although it's probably a side-effect of my optimism. And the caffeine.)

</comment></comment><comment><USER5> The classic BASIC version is here: [http://www.atariarchives.org/morebasicgames/showpage.php?pag...](http://www.atariarchives.org/morebasicgames/showpage.php?page=56)

</comment><comment><USER6> Available in Emacs with `M-x doctor`

<comment><USER7> Is there a version in Scheme that is Free? I'm looking for a demo for class and we work in Scheme.

<comment><USER8> Possibly, but if there isn't, it shouldn't be too difficult to translate doctor.el from Emacs Lisp into Scheme. And here it is:

[http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/play/do...](http://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/play/doctor.el)

</comment></comment></comment><comment><USER9> I had this on a monochrome Toshiba laptop from the 80s as a kid. Thought it was so amazing.

</comment><comment><USER10> i am currently trying to implement a larger version of this in the Linux environment with better question an answering mechanisms.....although ill admit i have never gotten the memory function to work yet...hmm

<comment><USER10> i have that pdf and the scan of the original ELIZA paper somewhere

</comment></comment><comment><USER11> Anyone else remember running this from 8" floppies on an Altair?

</comment><comment><USER12> One should port it to Telegram as a bot and get $25000 from Durov. Easy money.</comment>


Ask HN: Which SaaS service will you pay for that doesn't exist yet? - <AUTHOR> <comment><USER2> I'd pay for one that aggregates SaaS ideas from HN.

</comment><comment><USER3> Honestly, I'm a bit SaaS'd out. But maybe a live music streaming service?

</comment><comment><USER4> The ability to never have to remember or update any password ever again. Kind of like Okta for the consumer I suppose.

</comment><comment><USER5> How about a SaaS that finds strong leads for my business?

</comment><comment><USER6> something that makes it easy to make anonymous transactions in Monero and get cash out with a debit card</comment>


Andy Warhol's Ruthenian Catholicism - <AUTHOR> http://www.catholicherald.co.uk/issues/february-9th-2018/andy-warhols-devotion-was-almost-surreal/#.WoBPqJiK7Bg.facebook <comment><USER2> I just happen to be in Rome this Easter weekend, when half the city pretends it's not religious and keeps the door open in the centre for the hoards of tourists, and the other half closes its doors and leaves for the seaside. I was half-expecting to have a glance of a fake Pope wandering around as a tourist trap given the amount of money pouring in from low-cost flights less days, but instead yesterday I found myself in a tiny gallery near the much- more famous Villa Borghese, with photos of Andy Warhol probably in the same year of him meeting the Pope, as illustrated here:

[https://www.americamagazine.org/arts- culture/2018/01/30/andy...](https://www.americamagazine.org/arts- culture/2018/01/30/andy-warhol-goes-vatican)

While this article (which is otherwise fairly word-for-word over the one posted here) asks "What does it say about the world of art if it fails to realize Warhol's religious vision? There is perhaps a more pressing question: What does it say about Catholics if they fail to see in Warhol's art one of their own?", I consider - maybe Andy was sceptical about his faith, seeing the amount of money changing hands over church-related goods and services, and found that his ability to obtain wealth through iconography was no less cynical. Hence, how he is perceived as cool and business-like as an artist and entrepreneur.

<comment><USER3> > I consider - maybe Andy was sceptical about his faith, seeing the amount of > money changing hands over church-related goods and services, and found that > his ability to obtain wealth through iconography was no less cynical.

It's not clear what you're trying to say. According to the article he was quite religious, attending mass nearly daily. Baseless suspicions of skepticism and cynicism seem biased. Also, what does "amount of money changing hands over church-related goods and services" and "obtaining wealth through iconography" mean? Are you claiming the Church is an cynical, money-making business?

<comment><USER4> He introduced the cynical premise in his opening paragraph

<comment><USER2> (she). Thanks - that's the summary of my point, and I appreciate your comment.

</comment></comment></comment></comment><comment><USER5> I don't like articles like this. "Oh, he never really showed much of any adherence to Catholicism in his work or his public life, but he was REALLY a crypto-Catholic who had 'hidden piety.'" Meanwhile people who actually live their beliefs and try to express them explicitly in art get ignored, because Warhol was famous and they are not.

I saw this in evangelism, too. There were many artists in the 1980s trying their best to make Christian pop music, but all you could hear was endless attempts by the intelligentsia to make Bono from U2 into some neo-Christian because he was famous and his works might be intepreted in a vaguely Christian-friendly manner. This is one of the ways Christian culture stomps on its artists, and the rather naked fame-chasing disgruntled me once I realized how pervasive it was.

<comment><USER6> Related to music and art within Christianity, earlier today my wife had some old saved K-LOVE songs on and I just had to leave the room because it was so.. _generic_. Like not even vanilla but actually unflavored ice cream. So I've been listening to Gungor's older stuff since then because it actually has creativity and originality to it and I wish Christian music could embrace that. Heck I think if I was in the mood for Christian music I would listen to Schism by Tool sooner than anything ever played on K-LOVE. It seems mainstream Christian music is designed purely to give people semi happy feelings and rake in as much money as possible, and because of that there's no real _art_ to almost any of it.

<comment><USER7> I think Hank Hill hit it on the head with his take on Christian Rock.

 _" Can't you see you're not making Christianity better, you're just making rock-n-roll worse."_

</comment></comment></comment><comment><USER8> That was quite moving and wholly unexpected - "In my Father's house are many mansions", indeed.</comment>


Show HN: TFServe – Simple and easy HTTP Server for tensorflow models - <AUTHOR> https://github.com/iitzco/tfserve <comment><USER2> I like how you made this ultra-simple. It makes it very easy to understand and use. There are times when a python+json server isn't performant enough. To help with this, my team recently built a protocol for efficient model serving called GraphPipe[1] that allows you to do serving like this. There is an example for serving from python[1]. The easiest way to get started is to use the go server in a docker container[2].

[0]: [https://oracle.github.io/graphpipe/](https://oracle.github.io/graphpipe/) [1]: [https://github.com/oracle/graphpipe-tf- py/blob/master/exampl...](https://github.com/oracle/graphpipe-tf- py/blob/master/examples/model_server.py) [2]: [https://oracle.github.io/graphpipe/#/guide/user- guide/quicks...](https://oracle.github.io/graphpipe/#/guide/user- guide/quickstart)

<comment><AUTHOR> Thanks for your comment! I've heard about graphpipe and I will definitely check it out.

My idea was to provide a simple and easy way to deploy a simple (yet limited) server to consume the models through HTTP. Mainly considering that tensorflow Serving is not that accesible for people not familiarized with tensorflow.

<comment><USER2> Yes I totally understand. In general model serving doesn't seem to be something people are thinking about at the moment. I expect it gets more attention in the next couple of years.</comment></comment></comment>