What Math Do You Need for Physics? - <AUTHOR> https://www.math.columbia.edu/~woit/wordpress/?p=8940 <comment><USER2> Check out this short tutorial on mechanics with calculus that I've written. It would make a good first introduction to physics[1]. There is another one for linear algebra[2].

In general I think programmers shouldn't fear the math and physics: yes it's hard to understand at first, but you can pick up things pretty fast. The ratio of "knowledge buzz" to effort is very good when you're learning physics. A symbolic computer algebra system like SymPy can be very helpful for "playing" with math expressions—here is a third tutorial on that[3].

_____

[1] [https://minireference.com/static/tutorials/mech_in_7_pages.p...](https://minireference.com/static/tutorials/mech_in_7_pages.pdf)

[2] [https://minireference.com/static/tutorials/linear_algebra_in...](https://minireference.com/static/tutorials/linear_algebra_in_4_pages.pdf)

[3] [https://minireference.com/static/tutorials/sympy_tutorial.pd...](https://minireference.com/static/tutorials/sympy_tutorial.pdf)

<comment><USER3> From the fist paper: _If you want to learn more university-level math and physics, I invite you to check out my book, the No bullshit guide to math and physics_

I just wanted to pop in and say this book has been excellent. These papers are brief and therefore a bit cryptic, but the book is eminently readable. [https://www.amazon.com/No-bullshit-guide-math- physics/dp/099...](https://www.amazon.com/No-bullshit-guide-math- physics/dp/0992001005)

<comment><USER4> Is there any way to get it in electronic form?

<comment><USER2> Yep, [https://gum.co/noBSmath](https://gum.co/noBSmath) More info and preview of book on the website [https://minireference.com/](https://minireference.com/)

</comment></comment></comment></comment><comment><USER5> I did math in the wrong order. I first was "exposed to it" as an engineer undergrad - didn't care at all (just wanted to code) and barely passed eng. math.

After working for two years, went back and did undergrad physics courses (including math for phys) and started to "get it".

Then went on to a PhD in general relativity - which is a LOT of math. I went back to software and most of it leaked away.

I am now trying to get it back (20 years later) - as I resurrect a Maple package for GR, grtensor, which I co-wrote as part of my PhD. Curved space is a beautiful thing.

Penrose's recent book reminded me of his wonderful "The Road to Reality: - which is a great tour of math leading into physics.

<comment><USER6> What's your path to getting back into math after 20 years?

<comment><USER7> And if I may add, how often did you think about math ? daily ? monthly ?

</comment></comment></comment><comment><USER8> In my experience, it's a moving goal post. Physicists usually start off with the goal of explaining certain natural phenomena. Over the decades the specific parts of math this entails has evolved rapidly, as new phenomena become novel.

One might naively think that only "some" parts of math are useful for physics, but over the last 2-3 decades, many connections between physics and math have been discovered, that has brought the communities closer together, reversing the trend in the middle of the 20th century. For a very interesting take on the interplay between physics and math, by one of the masters of math/physics, see [1].

[1]: [http://pauli.uni-muenster.de/~munsteg/arnold.html](http://pauli.uni- muenster.de/~munsteg/arnold.html)

To quote an excerpt from Arnold's talk: " Mathematics is a part of physics. Physics is an experimental science, a part of natural science. Mathematics is the part of physics where experiments are cheap. "

<comment><USER9> > _Mathematics is a part of physics_

Somehow I have a strong feeling it's the other way around. When trying to _really_ understand the ways of Nature, you end up having to do a lot of calculations. Then you get quickly drawn into the depths of very complicated mathematics. Finally, you realize that there is nothing in (theoretical) physics that is not mathematics. Historically, much of mathematics evolved in connection with physics, but this fact does not change anything.

<comment><USER10> The way I look at it is this: mathematics is just formalized perfect reasoning. Its job is to get you from a thing you assume to be true, through steps of formal inference, to a new thing that you can be sure is true if the original assumption holds. You then keep on chaining this, so from a small set assumptions you enumerate all the facts that follow from them.

Physics is a field of study that does experiments to identify what things are fact in our universe, and then tries to pick such a subset of math that best fits the observed data. If further experimental results deviate from what the chosen mathematical model predicts, physicists will pick a different model, up until the maths align perfectly with what they see. The reason physicists use math is thus simply because alternative to math is hand-waving and guessing, and physics is a _serious_ field.

</comment></comment></comment><comment><USER11> I studied physics in undergrad, and took a few grad courses. I also minored in math. The reason I dropped the math major to a minor was because of the amount of time mathematicians spent proving obvious things. Physics uses math, the way that a car mechanic uses a wrench without worrying about its atomic structure.

At the beginning of one particular interesting class on quantum mechanics, the professor wrote down a few shortcuts on the board: how a sum of a certain series collapses, which parameters can be ignored at low or high velocity, etc. It was glorious.

Also my big takeaway from this was that physicists really don't like non- linearity. If something cannot be described as linear, it will be described as a harmonic oscillator 99% of the time. The exception to this is statistical and simulation physics where you can do whatever you want and just look for emergent behavior.

<comment><USER12> > The reason I dropped the math major to a minor was because of the amount of > time mathematicians spent proving obvious things.

I think this is a poor reason to drop a math major. The point of a majoring in math isn't learning "obvious things." Rather, the point is learning how to prove things—it shows you how to get from point A to point B when the path isn't immediately obvious.

<comment><USER13> Also there are many things a lot of people may call obvious, but is not quite so obvious.

I actually went the reverse direction, from theoretical physics to mathematics, because I was disappointed with the lack of mathematical rigor, and that the workd of mathematics is a lot more interesting once you get to proofs.

</comment></comment></comment><comment><USER14> The bullet points this article (and the one by Chad Orzel it links to) mentions are the common most used things day-to-day by basically anybody doing physics. However, I think stopping at that level of mathematical background would make reading a lot of the existing literature hard. Woit mentions complex analysis, but at least that usually comes up in mathematical methods classes, at least at the level needed to understand the arguments where it is used. Some math that I often found myself wanting more of includes differential geometry (I find physics introductions to tensor manipulation to be very heavy on mechanics and terrible on intuition for what you're actually doing) and functional analysis.

Both articles leave out numerical analysis or scientific computing, which I think is a huge gap. I certainly felt like my education left the impression that these things were way more straightforward than they actually are.

</comment><comment><USER15> Those bullet points are the absolute baseline necessities that you need to have a shot at ever getting anywhere in physics.

On top of those, you will have to study a lot of other subject specific stuff or you will struggle. Physics education is way too light on math.

</comment><comment><USER16> I would make a strong case for numerical methods as well (putting statistics to work on the computer).

<comment><USER17> Agreed. I am a huge believer that you can get to answers quickly with a Monte- Carlo analysis. But I'd take it a step further and include how to solve differential equations numerically as well. You'd be amazed at how far you can get with Crank-Nichols, Lax-Friderichs, and even simple central differences methods.

Additionally a lot of stuff people use in machine learning today had its start in solving physics or communications problems numerically. Stuff like maximum likelihood detection, gradient descent, etc...

I also believe that implementing code to solve physical problems really can deepen ones understanding of physics. Once you have something you can really play with it and see where things break etc...

</comment></comment><comment><USER18> I did a double major in math and physics, many years ago. At the time, I didn't know if I was more interested in one than the other. I loved proofs. But I also loved the lab. So I just took all of the courses that were offered in both departments.

A few other people have mentioned that computation is missing from the list, and I agree. I was lucky that while studying my school subjects, I was also actively pursuing electronics and programming as hobbies, which drastically influenced my graduate studies in physics, and my subsequent career. But I didn't get that from my coursework.

I think that computation should be incorporated wherever possible in all of the coursework, all the way back to kindergarten. My rationale is simply that it expands the range of ideas that can be explored, and it's fun.

</comment><comment><USER19> I was two years studying EE before I quit and transfer to CS program. I do bot regret it at all, but man am i grateful for hard math course and electromagnetics on EE. It was pretty painful, in terms of working hours and doing homeworks, but since then my brain just worked in terms of 2D/3D vision of geometry and space coordination in my head. Differential calculus, linear algebra, everything was piece of cake when I got to CS.

</comment><comment><USER20> You need the math required to understand the language in which the current best physical theories are written. It's unknown as yet which mathematical objects will be required for their successors.

</comment><comment><USER21> Interesting to see differential geometry omitted -- it is useful even in classical contexts.

</comment><comment><USER22> Feynman gave a whole lecture on this subject - the second or third lecture of the Messenger Lectures ( _much_ better timepass than night time TV show, second only to the Wizards Lectures and the five three seasons of The X-Files).

It seems that this is an ideal case for the Less Is More principle.

<comment><USER23> If anyone else is wondering what "The Wizards' Lectures" are, they are a set of MIT video lectures from 1986 by Abelson and Sussman on "Structure and Interpretation of Computer Programs"

Here's the link: [https://groups.csail.mit.edu/mac/classes/6.001/abelson- sussm...](https://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman- lectures/)

<comment><USER22> Thanks! I was too enthusiastic to emphasize that the Abelson and Sussman lectures are out of the context of Physics. Nevertheless these are no less classic than Feynman's.</comment></comment></comment>


Show HN: Lingvist – learn a language in 200 hours - <AUTHOR> http://www.lingvist.io <comment><USER2> "Lingvist was founded by people who helped discover the Higgs boson at CERN as well as the people who built the core technology at Skype"

Neither of which are skills that have anything to do with language. Not a single word about scientific testing of this audacious claim that you can learn a language in 200 hours.

At least Duolingo actually tested people against a regular college course and came out on top, so you have that to go on as a user.

They do specify what learn means - learn 3000 words. Is that recall? Recognition? Use in sentence? Actually understand in a sentence? In 200 hours?

I call bullshit.

If you look at the features page (how it works) you'll see that they claim to be the first electronic spaced repetition system ever in the entire world ever.

What about SuperMemo, Anki, Duolingo, Memrise, and hundreds of other SRS services and software?

Save your money, build an Anki deck or get in on Duolingo. Talk with a native speaker. Work your ass of. This is no silver bullet.

<comment><USER3> Duolingo sucks though. So does Memrise. And you can build an anki deck, sure — but not all decks are created equal. If you don't make a frequency list from a large corpus, your Anki deck sucks too.

Duolingo and Memrise seem to have the philosophy, "There are many words in the language you're learning. Here are some of them." This is really bad.

Because word frequencies follow a Zipfian distribution, if you learn the top 1,000 words in a language you're a long way forward. If you learn an arbitrary 1,000 sample of words in a 40,000 word vocabulary, you're much further back.

These guys seem to have this as their specific value proposation. I was going to do exactly this myself. I'm a computational linguist who's recently moved to Germany. I got about 2/3 of the way through the Duolingo course, but it's basically a waste of time. They taught me the words for "duck" and "ceiling" and "handyman" as part of the first 1,000 words in the course.

<comment><USER2> Interesting point. As I noted elsewhere, I do agree that there is room for improvements in this space. I admit that my post is mostly fuelled by being annoyed with their marketing copy.

I think you need to be more careful about what are useful words. I remember my Japanese text book introduced the word for alien fairly early, and I thought it was stupid. Once I came to Japan, I realised if I had learned that word, I could say more funny things in my very limited conversations.

When I was studying in China, we were introduced to the word for diarrhea and how to describe the texture of our stool within the first 2 months. Hardly top 1.000 words, but if you've ever lived in China, you realise it can come quite in handy!

Frequency lists are often heavily influenced by newspapers and that is probably not representative of the things you will need in daily life or conversations. I have wondered if subtitles are more representative of normal conversations, and there are some research into building corpus from that, but I'm not really sure how you test the utility of your corpus.

<comment><USER3> Newspapers are likely a bad choice, yes. I've thought about this a bit. Subtitles seem good, and there are corpora of casual speech.

I plan to heavily bias towards verbs. Nouns are much more long-tailed, and their frequency is "bursty" \--- if the noun is relevant to the situation, it'll be used a lot. So you can get them when you need them. Otherwise you can always use a pronoun, or be vaguer.

</comment></comment></comment></comment><comment><USER4> If it had Norwegian I'd sign up and pay real money.

<comment><USER5> Suppose you saw they had Swedish coming soon. Lots of mutual intelligibility there. Or is Norwegian a hard requirement?

I say this as an English speaker who learned Swedish and now does OK with Norwegian after a little tuning.

<comment><USER4> Thanks for the reply ...

Norwegian is a hard requirement, and as it happens, quite difficult to satisfy. I'm doing the best I can with an odd mixture of techniques, and the time-line is short. Had Norsk been there it might have tipped the scales as to whether I succeed or not, hence my comment.

And I say this as someone who had rudimentary conversational Danish many years ago, and about 1000 words of Swedish about 10 years ago.

<comment><USER5> Now I'm curious! Although really just any chance to have a quick language discussion...

If that's the case it sounds like a good grammar book or two, plenty of daily audio exposure and flashcards ought to get you somewhere approaching what this service offers. I'd imagine you're well up on decent resources by now, though[0].

And I can only guess as to what your end goal is. Presenting to a tough crowd in Norwegian is all I can come up with.

A northern-Norwegian friend let on a little about the massive regional variations there, too, which makes it fun when someone from a 'non-standard' region replies in their own special, often ancient, brand of Norwegian.

\--

[0] - If you're stuck for new material, you can always try Lars Monsen's shows on nrk.no - a tough but kind outdoorsman - with the subs on.

<comment><USER4> Long story. It's inessential, but I'd really like to have enough for a particular event. Details by email if you are interested.

I have references with grammar, and I have some vocab, but the problem is getting simple enough language in sufficiently good audio, given my time constraints. It's complicated.

</comment></comment></comment></comment></comment><comment><USER6> This is great. I keep telling myself that I'll learn Spanish. Something rapid fire like this but for Spanish would be so damned useful.</comment>


Crabs: The bitmap terror (1985) [pdf] - <AUTHOR> http://lucacardelli.name/Papers/Crabs.pdf <comment><USER2> Crabs was probably the first graphical prank program—most assuredly the first well-documented one: there are a _lot_ of scattered anecdotes about it around. Here's an amazing talk by Rob Pike where it's casually mentioned, for example:

[https://www.youtube.com/watch?v=_2NI6t2r_Hs](https://www.youtube.com/watch?v=_2NI6t2r_Hs)

It's not something you see very often anymore, partially because modern windowing systems (and systems in general, really) were built with different security models in mind (you can probably remember a few similar programs released into the wild for real mode operating systems, they were especially common then), but also because windowing systems have moved away from how simple UNIX's windowing system was at the time.

It's actually kind of relevant to something that was on the front-page recently: the displays they were using (JERQ/Blit bitmap displays) depended on a routine that Larry Tesler co-invented (the bit blit, hence the name "Blit").

[http://doc.cat-v.org/bell_labs/blit/](http://doc.cat-v.org/bell_labs/blit/)

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

If you want to give it a try, I think 9front ships with a Blit emulator these days; load up v8 and you should have a nice few hours poking around.

[http://9front.org/](http://9front.org/)

<comment><USER3> The Blit (begat of Jerq, productized as the DMD 5620) was an interesting system: The thing could be a normal text terminal, but the magic came when the host sent it software to run locally. In short, if the IBM block-mode terminals were the equivalent of filling out HTML forms, the Blit was closer to WASM.

[https://loomcom.com/blog/0115_emulating_the_dmd5620.html](https://loomcom.com/blog/0115_emulating_the_dmd5620.html)

</comment></comment><comment><USER4> I am reminded of the xcrab x11 program, where a crab would scuttle across the screen and abscond with the mouse pointer. That was late 80s. Not to be confused with xroach, where disgusting roaches would scatter when the window covering them was moved. Good times.

<comment><USER5> There is now an application for Windows that does this with the goose from Untitled Goose Game. I think it is delightful at the very least.

</comment></comment><comment><USER6> Don't miss the man page on the last page of the paper. It's a hilarious little "trap" for anyone who happened to be browsing the manual!

</comment><comment><USER7> Doom process manager: hold my rocket launcher

Free drink holder program: yo boys, watch this. _ejects CD-ROM tray_

Xeyes: Am I a joke program to you?

Excel 95: Goto B95, select row 95, Help > About > ctrl-alt-shift + [tech support] (I'm an easter egg, which is a joke program in a program. They don't make me anymore. :'( And you're welcome.)

Applesoft BASIC:

        10 INPUT "Press any key to continue...";A$
        20 GOTO 10

^ Tech support gets a flood of calls about "no 'any' key" s/any key/<ENTER>/

Or

        00 REM   Which OS are we using again? ;)
        10 PRINT
        20 PRINT "Not ready reading drive A"
        30 INPUT "Abort, Ignore, Retry, Fail?";A$
        40 PRINT
        50 FOR X = 1 TO 20000
        60 NEXT X
        70 GOTO 10

EDIT: how many people will admit to writing a phony "FORMAT.COM" command in C || Pascal || assembly that hit the drive with pointless reads to make the hard drive light appear solid and realistic delays between % updates?

</comment><comment><USER8> This is awesome, and from the timing and some Wikipedia sleuthing, it sounds like they inadvertently created the first ever screensaver?

</comment><comment><USER9> My father-in-law, who passed away a few years ago, was at Bell Labs then. I really wish I knew about this when I could have talked to him about it.</comment>


The Future Isn't What It Used to Be ... So Change It - <AUTHOR> http://www.linkedin.com/today/post/article/20140204211441-2293140-the-future-isn-t-what-it-used-to-be-so-change-it

<comment><USER2> Good article</comment>


Dietary Carbohydrates Impair Healthspan and Promote Mortality - <AUTHOR> http://www.cell.com/cell-metabolism/fulltext/S1550-4131%2817%2930562-4 <comment><USER2> This has already been submitted and discussed here:

[https://news.ycombinator.com/item?id=15464778](https://news.ycombinator.com/item?id=15464778)</comment>


Why Groupon is Evil and Unsustainable - <AUTHOR> http://blog.grubwithus.com/post/25464954204/why-groupon-is-evil-and-unsustainable

<comment><USER2> So, to summarize:

"Groupon is evil and unsustainable because we think restaurant businesses don't have much to gain from using groupon". \-- Grubwithus, competitor to Groupon, claiming to offer a better service for restaurant businesses.

</comment><comment><USER3> The people who are upset with Groupon don't research what they are doing or don't ask the questions that they should ask. Owners need to hold themselves responsible for not doing their research.

If a business wants to create value from Groupon they should limit the number of groups, increase the time to redeem coupons, provide first-class service to Groupon customers, and take the 75% marketing expense instead of 100%. Think of it as paying less than 100% for a marketing task.

</comment><comment><USER4> "Evil" is overstating it I think. Murder is evil. Cutting into a business's margins for promotional reasons is just business. And it is totally voluntary for the restaurants-- no one forces them to promote with groupon.

This is link bait intended for all of the "I hate groupon" sites, so that grub with us gets some attention from restaurant owners.

</comment><comment><USER5> The market will decide what's evil, not you.</comment>


Ask HN: How can I print 1 business/membership card at a time? - <AUTHOR> Working on membership software that scans QR codes on phone or card. Ideally I would be able to offer a printer that prints 1 membership card at a time, with custom QR code, name, membership level, and company logo.
Those cool Avery perforated sheets are just too cumbersome to work with in a production environment; trying to do a one-off is slow and error prone.
What I'm looking for is something that can essentially print 1 business card at a time, sort of like a label printer. Can anyone point me to such a printer? <comment><USER2> Hi! I've worked on software that printed nametags for conferences as one-offs, and would dispute that perforated sheets "are just too cumbersome to work with in a production environment" if you haven't actually used them. If you're just _imagining_ that it would be cumbersome, I would recommend you try it out, not just once, but hundreds of times in a row, video taping yourself and timing each part of the process.

If you only printed on one card on a perforated sheet, it would still be worth the cost (250 cards in a package, 10 per sheet, 25 sheets per package, $12.50 package cost, so fifty cents per card to throw the other nine away) to use stock sheets and stock inkjet/laser printers. You can afford fifty cents as part of your per-user acquisition cost.

The suggestion by steanne to use plain card stock with a business card cutter is also a good one.

But, if you still want a dedicated device, you should decide if you want a paper-ish card, or a plastic one, like a credit card.

I would recommend getting a thermal receipt printer[1], which will let you print directly onto a small slip of paper, and then using a self-sealing laminating pouch[2] ( _not_ a thermal/heat-sealing laminating pouch). You print a slip of paper, slide it into the plastic pouch, it sticks together and there's your card.

For plastic cards, ID card printing machines are well-established for company ID cards[3].

[1]: Like this, but not DIY, they make normal USB and serial ones, too: [http://www.instructables.com/id/Simple-and-Impressive- Busine...](http://www.instructables.com/id/Simple-and-Impressive-Business- Card-Printer/)

[2]: Obviously a heat-sealing pouch would turn your thermal label black, rendering it useless: [http://www.walmart.com/ip/Scotch-Self-Sealing- Laminating-Pou...](http://www.walmart.com/ip/Scotch-Self-Sealing-Laminating- Pouches-Business-Card-Size-25pk/14915979)

[3]: [https://www.google.com/webhp?q=id+card+printer&tbm=shop#q=id...](https://www.google.com/webhp?q=id+card+printer&tbm=shop#q=id+card+printer&tbm=shop)

<comment><AUTHOR> I'm a complete idiot. You're right--it's well worth printing a single card at position 1 (or 0 ;-) and throwing away the rest of the sheet. Doh!

Also, thank you for giving me the search term "id card printer". I didn't even come close with my fumbling attempts at things like "print business cards 1 at a time" and so forth.

<comment><USER3> If your printer was capable of handling the sheet, you could in theory print one card (in position 0), and then at some future point flip the stack of card sheets over and print a new one in the opposite corner (just rotate the sheet so "position 0" is a card and the cutout is position "max"). Cheap. :)

</comment></comment></comment><comment><USER4> You can purchase 8.5x11 sheets with integrated cards. The cards can be plain paper, laminated or plastic. They can be printed using standard ink jet or laser printers. Usually the card is at the bottom center of the page leaving the rest of the page to print a welcome message etc.

A Google search brought up [http://www.blanksusa.com/products/integrated- cards](http://www.blanksusa.com/products/integrated-cards)

<comment><AUTHOR> I also did not know about integrated cards, aka integrated forms. These are almost certainly my best bet on further consideration. Thank you.

</comment></comment><comment><USER5> I would contact the folks at lob.com and see what they can do. They do one off postcards via API. They don't offer membership cards right now, but might have some ideas of who does.

<comment><AUTHOR> Done and done. Thank you.

</comment></comment><comment><USER6> buy a business card cutter and print on unperforated card stock.

<comment><AUTHOR> Thanks. I didn't know these existed either. I'm learning a lot today.

<comment><USER6> actually, i didn't either. you posed an interesting puzzle.</comment></comment></comment>


Ask HN: Career path for founder of a failed venture backed startup? - <AUTHOR> Hi guys, this is anonymous for obvious reasons.
Say I'm the founder and CTO of a venture backed startup. We had a good run but, for a variety of reasons, the company fizzles after a few years (and series A and B).
Now I'm a 26 year old college drop out (from a top tier school), with some pretty cool experience (I've written huge software from the ground up, ran a company, hired/trained a dev team, etc).
So, what are my job options? I have the contacts/team/etc to start another company, but I don't have an idea that really excites me and I feel like I need a few years without the huge ups and downs of a startup. (I have offers to go be 'director of engineering' or something similar at a few other startups, but I'd like something a little slower paced for a while ...)
Without a college degree can I go to the big guys (Microsoft, Google, etc?). Can I go become an associate at a VC firm (it actually seems pretty fun, and I think I could do a better job than a lot of the associates I interacted with ...)? Any other career ideas? <comment><USER2> Have you considered going back to finish your degree? If you think you might want to finish it at some point, the sooner the better, because it will only become more difficult to go back to an academic environment. Also, school could give you a chance to step back and "relax" while you figure out your next play.

<comment><USER3> I've been thinking about my prospects in 5 years and finishing up school is on my radar. What exactly is the process for this? Do I roll into Stanford with burnt VC cash in hand, looking for a degree?

</comment></comment><comment><USER4> I've known a few people in this situation. If you're feeling completely burned out, you might want to chill out and travel around for a few weeks (or whatever) to clear your head. After that:

\- If you want, go back and get your degree (it only gets harder as you get older)

\- Do an entrepreneur-in-residence gig (instead of an associate.) From what I've seen, EIRs do anything from hanging out and shooting the shit all day (i.e. very little) to reviewing investments/networking/helping portfolio companies to actively incubating their next idea (or a bunch of ideas simultaneously)

\- Join a growing startup that is past the ramen-fueled-fight-for-survival frenzy, which might be a good balance of upside vs expected value. A lot of former YC founders do this if their companies don't work out. As a current venture-backed founder/CEO, I can say with certainty that your startup experience would be highly valued.

\- Join Google, Microsoft, or Facebook, check your dreams at the door, and ride out comfortably into a middle-aged sunset (I kid, I kid.)

Feel free to email me at drew at dropbox[dot]com if you want stories or intros to people who have been through this.

</comment><comment><USER5> I had a similar experience. I'm also 26. Are you in the Bay Area? It doesn't matter, though I'd love to meet in person.

Drop me an email at firstname.lastname@example.com and let's talk.

<comment><USER6> Maybe you guys could get together and start a new company!

</comment></comment><comment><USER6> Go back to school and finish what you started. It will be harder later, and you don't want to spend your life justifying why you don't have a degree.

</comment><comment><USER7> Not sure on Google, but I know first hand that Microsoft will hire without a college degree. All depends on what your skill set is and how well you can sell yourself to them.

On the other hand, I would recommend going back to finish your degree if you can afford to. While getting a technology job without a degree is not all that difficult, the degree will only help you in the long run and can be the make or break difference between two candidates with some companies. It is also can be seen as a sign that you follow through and complete tasks at hand.

Trust me though, going from a startup environment to "corporate" America can be a bit daunting. While you say you want a slower pace, when confronted with that slower pace you will probably start to pull your hair out. I would recommend going to a startup, if you are not in a founder/cofounder role you will find it to be a lot slower while at the same time the enjoyable fast pace of a startup environment.

My best recommendation would be to complete your degree part-time while working for a startup.

</comment><comment><USER8> Google will value your startup experience. As long as you can prove your problem-solving and programming skills in the job interview, you will get a job offer as a Google software engineer.

<comment><USER9> If you're considering Google, you should also check out software engineering and business development jobs at Palantir Technologies. We have similar perks and compensation, top-notch engineers, and lots of interesting problems to solve.

<http://www.palantirtech.com/careers/positions>

</comment></comment><comment><USER10> Contact me. email@example.com

I have an idea for you

</comment><comment><USER11> What do you want to do? You can definitely go to one of the bigger companies - which is a great way to network till your next startup idea hits, and there's also the EIR gig that's been talked about here a little bit slightly better than being an associate.

</comment><comment><USER12> You have plenty of options right now (the market is hot). Some thoughts:

\- Take a 2-3 week vacation somewhere else far away from the valley

\- Come back and see how you feel afterwards

\- <http://founderdating.com> (not quite what it sounds like)

Don't do the EIR thing. Better to go moonlight for free for a week at companies that seem interesting to you. It's amazing how spending time around a healthy/functional startup will cause you to recover from burnout.

And yes, without a college degree you can work for some of the big guys. As long as you have relevant experience on the resume to fill in the time gap, you'll be fine.

</comment><comment><USER13> > ...can I go to the big guys (Microsoft, Google, etc?). Can I go become an > associate at a VC firm?

If you're interested in these kind of jobs then why not try and get one. If you want to work at Google, apply to Google. If you want to work at a VC company, get in contact with some of them and discuss it with them.

In my experience (of both being an interviewee and an interviewer) a degree helps get you in the door, but it's your ability and experience that decides whether you get the job or not.

Good luck!

<comment><AUTHOR> Thanks!

For what it's worth, I'm still winding down the startup (and will be for a while ...). I've just started to think about what to do next.

When I know a little more about when I'm leaving, etc, I'm sure I'll start pushing more aggressively on things I'm interested in. I just don't really know what's available/feasible since I don't have many precedents to work off of.

</comment></comment><comment><USER14> I did a three year stint as an associate at a venture firm. Drop a line: firstname.lastname@example.com if you'd like perspective.

</comment><comment><USER15> I have an idea and ongoing project that I'd love to run by you in case you're interested. Drop me an email at email@example.com

</comment><comment><USER16> Once you've failed at one VC-backed startup, it's usually fairly easy to get funding for an infinite string of other failed VC-backed startups. I have quite a few friends with no less than 1/2 dozen startups under their belts over the past 12 years which never profited, and often never brought in revenue. Think of Venture Capital as upper middle-class welfare.

<comment><USER17> In Europe we don't have this high tolerance for failure. As far as I know, blowing someone's investments here makes you an "investment corpse". If you're in the US, you're real lucky then.

<comment><USER16> Ironically I know a handful of Europeans & Australians who are working on tanking their 2nd & 3rd US-based VC-backed startups. I wonder if that's because they're un-fundable back home now.

</comment></comment></comment><comment><USER18> You _will_ be doing another startup.

My experience is that once you have worked for yourself/equity the mere thought of being employed by other people becomes impossible to bear.</comment>


Japan Using Exercise Bikes and VR Porn to Generate Electricity - sahin-boydas https://vrscout.com/news/exercise-bikes-vr-porn-electricity/ <comment><AUTHOR> Japanese advertising is in its own dimension, there's always an intriguing mix of cuteness and awkwardness.</comment>


Redditor explains why commercial property sits vacant instead of reducing rent - <AUTHOR> https://old.reddit.com/r/nyc/comments/innhah/nearly_twothirds_of_new_york_restaurants_may_have/g49g4c5/ <comment><USER2> I think this market has been headed for collapse since well before coronavirus. [https://www.propublica.org/article/whistleblower-wall- street...](https://www.propublica.org/article/whistleblower-wall-street-has- engaged-in-widespread-manipulation-of-mortgage-funds)

The industry is reading off the exact same script as 2008 but with all sorts of increasingly silly financial instruments based off commercial real estate. Because of course commercial real estate is different.

This is crazy and has been going on for a while. I fear this is every bit as big as 2008. A lot of wealth is about to evaporate. A lot of it from the middle class. I notice that the market is UP and Americans are killing one another in the streets. What is this going to look like when unemployment hits 30%? Our whole economy runs on credit. At some point the banks are going to get squeezed by this. Nobody is going to sign a lease on commercial property in 2020. Businesses need to borrow money. The fed is trying to print money fast enough to shrink the problem, but I do not think there is any way for them to stay ahead.

Totally unrelated question. That guy Jared Kushner: does anyone remember what industry he's in?

<comment><USER3> Where was the lesson in 'if only we screw up bad enough we will be showered perpetually in lavish bailout wealth'?

<comment><USER2> Yeah, I think the lesson was indeed pretty well learned. My initial comment was off though--I said that the banks hold a lot of this debt. I reread and saw that reddit poster claimed that the banks hold very little and pass it down the line to funds. Maybe they hold little enough that they will be fine. Maybe they hold enough that they will need a bailout. Either way they win. I agree with you. Their success with mortgage backed securities last time appears to have inspired a sequel.

</comment></comment></comment><comment><USER4> Ok, forget re-writing old loans. Why do banks continue to write new loan with terms that incentivize their debtors to turn down free money? That must hurt the default rate.

<comment><USER5> The problem might be recursive. If the shortfall is tacked onto the back end of the loan (plus interest), so long as the tenant is solvent it isn't problematic for the bank. If the client takes a write-down, though, the _bank_ takes a write-down, and they may need to think about reserve ratios and regulation.

I suppose the bank isn't primarily interested in the loan being paid on time, they just want it paid _some_ time. (Not sure, a delay might even be good for their business model?)

The bank is definitely interested in problems of solvency, and the tenant is interested in minimising cost, but kicking the can down the road might be the easiest option for them. Maybe a competitive creditor could break that impasse though. Threat of insolvency certainly would.

<comment><USER6> Probably at a high level the bank really only cares about being able to somewhat accurately asses the risk of the loan so they can attach the proper interest rate and then sell the debt..

</comment></comment></comment><comment><USER7> but .. this has been going on for years in NY. Rossmann video checking out commercial spaces he was considering full year ago [https://www.youtube.com/watch?v=Fk5o6cbq_Qs](https://www.youtube.com/watch?v=Fk5o6cbq_Qs) all but one are still vacant. He sometimes shows stores he tried renting 7 years ago, and they are still empty.

<comment><USER8> I believe this is why the renewed interest (last paragraph):

> That said, Covid is changing everything. I can honestly say I've seen 10x > more modifications in the last 3mo than I saw my entire career including the > great financial crisis. There is a HUGE flurry of activity happing in the > commercial finance sector that nobody outside of the industry is talking > about.

</comment></comment><comment><USER9> Add a vacancy tax into the mix and see what happens.

Also, seems as though the structural issues need to be updated on the 'owners' of said mortages.

<comment><USER10> Vacancy tax won't solve the problem, will just escalate the inevitable crash

<comment><USER11> Wouldn't stopping the very suboptimal behavior earlier be a net good if the crash is inevitable? It sucks to be caught in it of course but returning to remotely rational of renting it to /someone/ when there is demand should help the whole long term.

The "pray and delay" logic also seems to reflect inverted causation fallacies where they think a lower rent business will neccessarily drive away other higher rent ones and "devalue" it instead of it being a reflection of the fact they can't sustain the higher rents required to pay for it.

<comment><USER10> That's hell of a question you've made here. Irrelevant to the answer (if it even exists), humans tend to accumulate debt, it's just human nature, we are incredibly shortsighted.

And under debt I mean not just financial - if you look at every organisation you will see huge technical debt, which is often less observed and accounted compared to financial debt.

So going back to your question, it may or may not be suboptimal to do so, there is no way of knowing at timespan long enough to answer the question with substantial evidence.

And if we honestly ask ourselves if we want the vast crisis proliferating at every level of our society to happen during our lifespan or being delayed to some time after we die - the answer may not be the one we'd expect.

And even if you and me are ready to jump into it in order to save coming generations some normal life - most of guys behind us have different opinion on it.

</comment></comment></comment></comment><comment><USER12> > I've seen 10x more modifications in the last 3mo than I saw my entire career > including the great financial crisis.

So what's economic outcome of all this? It looks like more commercial properties should get rented out and the rents should also fall?

<comment><USER13> In theory down cycles are healthy to clear unprofitable businesses out of the economy and replace them with new ones. But it's always complicated. I'm sure some analysts are earning their salaries this year figuring it out.</comment></comment>


California's chronic water overuse leads to sinking towns, arsenic pollution - <AUTHOR> https://www.cbc.ca/news/world/california-water-sinking-1.5286248 <comment><USER2> The obvious solution is to build more housing.</comment>


How responsive your website is, pixel by pixel? - <AUTHOR> http://sergiolopes.github.com/responsive-play/

<comment><USER2> And if you are looking for the source code: <https://github.com/sergiolopes/responsive-play>

</comment><comment><USER3> One of the best ones to put in: <http://arleym.com/></comment>


Glassdoor has been acquired by Recruit Holdings for $1.2B - <AUTHOR> https://www.recode.net/2018/5/8/17333912/glassdoor-acquisiton-recruit-holdings-1-2-billion <comment><USER2> Surprised no one has mention it yet, but Recruit Holdings is the parent company of Indeed.

So the combination of Indeed's set of basically every job listing and Glassdoor's set of reviews seems like a strong synergy to fight against Google and Facebook's move into the space.

Indeed/Recruit has made several big acquisitions in the past year including SimplyHired and Workopolis.

Note: I founded/work at a startup in the same space.

<comment><USER3> > Surprised no one has mention it yet, but Recruit Holdings is the parent > company of Indeed.

As of right now (2018-05-09T14:33Z), the article reads 'Recruit Holdings, a large Japanese human resources company that owns other job sites like Indeed' …

<comment><USER4> > 2018-05-09T14:33Z

You seem to be missing a value for Z

<comment><USER5> No, that's valid. "Z is the zone designator for the zero UTC offset."

</comment></comment></comment></comment><comment><USER6> My gut reaction to seeing this headline was shock at the sticker price. I did some more research and found some more interesting numbers for this company.

They raised 204.5 Million dollars over 9 venture financing rounds. They have approximately 800 current employees. Does any of this seem wild to anyone else?

<comment><USER7> I don't get shocked anymore after learning Microsoft paid 2 billion for Minecraft.

<comment><USER8> GTA V made $7B. Minecraft was worth it.

<comment><USER9> > GTA V made $7B.

According to Google, Minecraft made $23M up to 2011.

> Minecraft was worth it.

To Notch it sure did.

<comment><USER10> Sure, and its revenue in 2012 was $128 million, and 2013 was $326 million.

Suddenly paying $2.5 Billion in late 2014 starts to make some sense.

<comment><USER9> > Suddenly paying $2.5 Billion in late 2014 starts to make some sense.

You mean expecting that a game that's already a half a dozen years old will keep increasing its revenue for a decade straight?

Does that make any sense whatsoever?

<comment><USER10> No, I mean expecting that a game of this type that has more than doubled in revenue for the past two years to continue to be profitable makes sense. As it turns out, this was an excellent bet, as their next quarters saw revenue increases in the hundreds of millions.

Two years later, they continued to increase sales of the game, selling about 20 million copies in 2016.

It worked.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Glassdoor is really useful for researching companies. Usually I go straight to the reviews and sort in descending order by date. I look for: -Distribution between good and bad reviews -common themes among bad reviews -lots of good reviews on same day or around same time (usually means HR planted reviews)

I'm still trying to figure out what it means when a company has very few total reviews given the size and history of the company from a "is this a good or bad or neutral sign." For example, I'm really surprised Stripe only has 59 reviews since I thought they had over 1000 employees at this point and has been around for 8 years or so. (Airbnb has 700+ and Pinterest has 200+ for comparison)

<comment><USER12> Some companies actively encourage people to review them on glassdoor. While I have not seen example of the opposite, I suspect that there may be companies that warn otherwise <s> due to fear of leaking their proprietary hiring process </s>.

<comment><USER13> Our company encouraged us to leave reviews... What a bad idea. Every new review was absolutely terrible, as expected.

</comment></comment></comment><comment><USER14> Seems HN readership doesn't have much job hunting experience! Glassdoor, although often wildly inaccurate and empty of data, is still one of the most useful resources out there for job hunting and conducting due diligence on companies. I do wish their data was better though ...

<comment><USER15> How do they make money off of this?

<comment><USER16> ads

</comment></comment></comment><comment><USER17> Glassdoor was valued at ~7X revenue [1], and was growing ~30% YoY [2].

This means they were doing ~$170M top-line, up from $130M in the year prior.

[1] [https://www.bloomberg.com/news/articles/2018-05-09/japan- s-r...](https://www.bloomberg.com/news/articles/2018-05-09/japan-s-recruit- buying-jobs-website-glassdoor-for-1-2-billion)

[2] [https://www.bloomberg.com/news/articles/2018-02-26/jobs- webs...](https://www.bloomberg.com/news/articles/2018-02-26/jobs-website- glassdoor-is-said-to-interview-banks-for-2018-ipo)

<comment><USER18> where did you get the 7x revenue? I don't see that line in the article?

<comment><USER17> "Looking for jobs through employer reviews is becoming more popular, so buying Glassdoor not only grabs more users but also strengthens Recruit's existing HR platform," said Yushi Kawamoto, analyst at Haitong International Japaninvest KK. "Recruit is paying about seven times sales, which isn't high. This will boost their competitiveness. So overall this is positive for Recruit."

</comment></comment></comment><comment><USER19> I've never heard of Recruit Holdings before, but when I do some digging, I was surprised on how big the money is with Staffing/Recruiting companies.

Not that Glassdoor is currently unbiased, but a staffing company owning Glassdoor would be like telling all other companies either you recruit through us or there'll be a bunch of negative reviews in a month.

<comment><USER20> Yelp for HR.

</comment></comment><comment><USER21> Everything about Glassdoor is a bit bizarre to me.

I'm really surprised that it took 800 people and $200m to build.

I'm even more amazed that someone's willing to part with $1.2B for what is effectively a digital BBB clone with less reliable reviews...

Particularly in what seems like a bad time to be buying anything consumer facing with a major European presence W/ GDPR around the corner. It looks like they paid a premium though.

I wonder if their monetization strategy will follow the same path, squeeze companies for cash (likely to remove reviews)?

<comment><USER22> Acquirer is paying for the community, not the easy to replicate tech. There were lots of image sharing apps, but only one Instagram.

<comment><USER21> What community though? There are three groups that use the site - employers, employees who want to vent and job seekers.

The first are captive, the second only allowed to post once per year, and the third is ideally a very temporary situation.

It's hardly comparable to a social network, or even other review sites (which can cater for enthusiasts)

<comment><USER23> There is gold in what you just wrote. These groups had a need to connect socially, anonymously, and in a way that is urgent and temporary.

</comment></comment></comment></comment><comment><USER24> Wow... On surface seems a heck of price for business where the data is totally unvalidated. I do use them time to time to mine what my competitors might be upto... Has thrown out a few gems over the years....but takes a lot of human filtering.

</comment><comment><USER25> Glassdoor has always been a valuable tool in a job hunt, so the price isn't so surprising.

</comment><comment><USER26> As many others, I'm surprised at the price tag. Does anyone know more information of their revenue / top drivers of revenue? I work on a website in this space (leveling / salary information) and surprised to see how lucrative it is. We've monetized ([https://www.Levels.fyi](https://www.Levels.fyi)) with Ads so far and done very well with SEO relatively but 1B is a different league entirely.

<comment><USER27> I don't know how they evaluated GlassDoor, but I would've bet the price is high as GlassDoor is basically an untapped gold mine for sales people.

<comment><USER26> Sales people = recruiters? Or simply their display advertising? There's several channels to do the latter. The former there are also several channels though I agree they have a very targeted audience.

<comment><USER27> No, not recruiters.

If you'll take a look at those reviews, people bitch and moan about real problems they are having at work.

E.g. one immediate signal would be "cramped office space". Other problems that come to mind are communication or management issues.

You can also take the pulse of a company by how happy or disgruntled the employees are. You can basically predict upscaling or downscaling of a company by such signals.

</comment></comment></comment></comment><comment><USER28> a few years back i learned that glassdoor was co-founded by Rich Barton who founded both Zillow and Expedia (another interesting fact I didn't know until then: Expedia was a MS spin-off, Rich Barton built in-house at MS and then Gates and Ballmer gave the blessing to go on their own) - he's also a partner at Benchmark.

Never loved glassdoor but find it useful on a regular basis when hiring (esp. as one data point for comp comparisons when hiring in tech) and seems to fill a need that isn't served elsewhere (essentially yelp for HR, serving both sides), but it's not-very-sexy design made a lot more sense when I thought of it in the lineage of the majorly successful but also not-very-sexily-designed expedia/zillow. in any case, impressive for Barton to have so many successful businesses/exits and still be relatively under-the-radar compared to other comparable founders (maybe because he's based in SEA), definitely someone to follow for those who like to keep track of serial entrepreneurs.

</comment><comment><USER29> So, who else wonders what they could do if Glassdoor conveniently logged the IP of the reporters combined with the salaries? Little evil me would sell that data to recruiters so they can use it to figure out the least amount of money that will dislodge a particular person from their current job.

</comment><comment><USER30> "A man looking for a job in real life, not on Glassdoor." This caption on the picture seems odd to me. Is Glassdoor not a real job hunting platform?

<comment><USER31> "Real life" means "not on a computer". See also "IRL".

<comment><USER32> I find this distinction increasingly odd as time goes on. Or, at the very least, the use of the phrase "real life", as if interactions over the Internet are somehow cleanly separated from the rest of one's interactions.

<comment><USER31> According to the Wiki, some people in the past also objected and preferred the term AFK, but nowadays with smartphones and tablets, that seems increasingly obsolete as well :)

</comment></comment></comment></comment><comment><USER33> I thought this Glassdoor was like someones pet project that aggregated job spots reviews. How they ever made any money?? What was their business model?

<comment><USER34> I saw my reviews on the interview process for IBM and couple of other companies disappear without trace. So my guess is their business model is trying to get companies to pay to remove bad reviews.

<comment><USER35> Glassdoor is hopelessly spammed by HR departments, "Advice to management: none, they are wonderful!" and so on.

<comment><USER36> My old company did that. PR sent an email to all staff saying "please leave us a good review on Glassdoor". I checked and the week before four new reviews had come up, all using the same writing style, all incredibly positive. Stuff like "negatives: you have to do lots of hours, but you're paid well so I don't mind" (spoiler alert: only half of that sentence was truthful).

I reported all of them to Glassdoor and sent them the PR email, the reviews are still up months later.

edit: just checked again and everyone left fairly truthful 1* reviews in a short period of time a few weeks after I left, I'm guessing they did another round of "please leave positive reviews" and it backfired.

<comment><USER37> And for some reason these are the one that are displayed by the default "relevant" filter and the upvoted (more nuanced or critical) one are hidden.

<comment><USER36> Just checked and yup, all the planted five star reviews are at the top despite having no more than one "helpful" reports. Negative reviews with up to ten "helpful" reports are on at least page two. This is while sorting by "popular".

Seems to have taken the opposite strategy of Yelp, which bumps one star reviews to the top and makes companies pay to hide them. Or my ex-company is already paying, it's hard to tell.

<comment><USER38> Are they an "engaged employer" in the top right corner? If they are, my theory is that translates to "paying customer" hence the weighting given to the positive reviews.

<comment><USER36> Yes, they are. That theory makes a lot of sense tbh</comment></comment></comment></comment></comment></comment></comment></comment>


'Facebook is completely undreamt of even by the worst spying nation' - <AUTHOR> http://www.theregister.co.uk/2012/12/07/quotw_ending_december_7/ <comment><AUTHOR> Given the choice between following or friending Mark Zuckerberg or Julian Assange, I sure as hell know which I'd pick.</comment>


13 of my domain names no longer in use and for sale - <AUTHOR>

Here are some domain names I registered and do not use anymore.
If you want to grab one just email me. They will each go at the prices below (in British pounds) as well as any transfer fees.
matthewkempster at gmail dot com
£15 - ause.co.uk - registered to use as 'bec.ause'
£5 - hyltt.co.uk
£20 - slowdance.co.uk
£10 - obj9.com
£25 - tumbtastic.com
£25 - aniceidea.com
£15 - betterthings.be
£10 - ilovewp.info
£15 - morethanpixels.co.uk
£25 - ninesixty.co.uk
£5 - postinsp.com
£20 - unlouder.com
£5 - jkz.in <comment><USER2> Maybe ebay or some domain auction would get you some traction. Also, not to put too fine a point on it I don't think they're very strong names, the only exceptions are slowdance.co.uk, and jkz.in, that has to be worth something more than 5 pounds to someone in India.

Did you have any specific project / reason in mind when registering these ? If so maybe you should add that so that the name can be placed in some context, like you did with the 'bec.ause'.

</comment><comment><USER3> I've got a collection of some decent domain names in case anyone's looking. Also interested to hear from anyone else who's got some premium domains in exchange for cash/equity. Here goes:

\- techlayer.com \- marketglue.com \- mailcake.com \- morewhite.com \- loventure.com \- extrau.com \- worxo.com \- yotso.com \- unetiq.com \- iludi.com \- identicli.com \- valuemypad.com

</comment><comment><AUTHOR> Thanks @jacquesm. You're very right on both occasions.

@akrymski - I might be interested in the first of those. Got any contact details?</comment>


Is Newtonian physics Newton's physics? (2016) - <AUTHOR> https://thonyc.wordpress.com/2016/12/25/christmas-trilogy-2016-part-1-is-newtonian-physics-newtons-physics/ <comment><USER2> I can't help noticing that this article, questioning Newton's role, was posted by a user named Hooke.

</comment><comment><USER3> TL;DR: Yes.

The article is actually is rather short; it points out the differences in the mathematical notation used in the development of (then new) calculus, which is an interesting topic in itself since it has been a source of some confusion up to this day.

For example, using the dot to denote the (time) derivative is extremely confusing for many beginning students of analytical mechanics due to the casual mixing it with the other notation adopted in most of the literature. A first attempt to parse an expression containing the time derivative of the partial derivative of a function (the Lagrangian) _by the "time derivative"_ of a generalized coordinate, the latter derivative being denoted by the dot, may be quite challenging.

My advice is to see the dot, at least in such contexts, merely as some kind of diacritic which is used to denote another _independent_ variable - with the reminder that this new variable will, in some other appropriate context, be taken to be the time derivative of the other one (i.e. the one without the dot).

<comment><USER4> > to denote another independent variable [which] will ... be taken to be the > time derivative of [another variable]

That makes no sense to me. If one variable is a function of another then _by definition_ it is not an independent variable.

And I don't see why the dot notation should be any more confusing than any of the other myriad arbitrary squiggles, spatial relationships, fontifications, and punctualizations which are assigned semantic meaning in mathematics. The whole enterprise is a freakin' mess (referring to the notation, not mathematics in general).

<comment><USER3> I knew that would be confusing! Let me give you an example of the context where the dot should be seen just as a "reminder" rather than a differentiation symbol. When talking about a Lagrangian (let's say, in one dimension), which is a function of _three independent variables_ , these variables are customarily denoted as _t_ , _q_ , and _q-dot_ , thus obscuring the fact of their being independent variables, which would be much clearer conveyed by using, say, _a_ , _b_ , _c_ instead. The even more confusing part comes later when they _differentiate_ by _q-dot_ , and it is this wrong impression of "differentiating by a derivative" that also could have been easily avoided by seeing the dot as just some kind of diacritic.

<comment><USER4> I've never seen the overdot in a presentation of Lagrangian mechanics mean anything other than a time derivative (i.e. a dependent variable). Can you point me to an example where it denotes an independent variable? Because that would be really weird.

<comment><USER3> Sure: what I was referring to in the example that I gave was the _q-dot_ that appears in the denominator of the expression of the _partial_ derivative of the Lagrangian.

<comment><USER4> Ah. I think I get it now. I misinterpreted what you meant by the word "see" (in "My advice is to see the dot..."). I thought you meant, "understand that in fact q-dot is an independent variable" when in fact you meant (AFAICT) "pretend that q-dot is an independent variable even though in fact it is not."

</comment></comment></comment></comment></comment></comment><comment><USER5> Is Newtonian physics nondeterministic?

[http://personal.lse.ac.uk/robert49/teaching/methodologies/pd...](http://personal.lse.ac.uk/robert49/teaching/methodologies/pdf/Norton.pdf)

<comment><USER6> No, it is not. I can not exactly pin down where the mistake in the linked paper is after looking at it for five minutes but I am pretty sure it is related to his choice of r(t) in equation 4 as a piecewise polynomial so that a t = T there is a discontinuity in the 4th derivative which is non-physical, i.e. without a force tangential to the dome at the apex the object would never move away from the apex of the dome. If you only look at lower order derivatives like velocity and acceleration, then there is no discontinuity and everything seem superficially fine.

<comment><USER7> I agree, this is likely a joke paper.

I find it fairly hilarious since at it looks like the standard Divide by Zero algebra problem, but then error after error compounds the result.

The first error appears to be in an un-numbered equation:

sin(theta)=dh/dr which is equal to 0 at r=0!!

which is then substituted into the differential equation:

F=g dh/dr = sqrt(r) = d^2r/dt^2 again equal to ZERO at r=0

Of course this is also an abuse of Leibniz notation (mathematicians squirm whenever physicists do this sort of "algebra" on differentials) which is then integrated twice and then differentiated twice (ignoring constants of integration) to get the equations for r(t) and a(t).

The second key is the square root, which allows for multiple solutions of the differential equation (one of which is the normal r=a=0), but that's just part of the side show. Physics has all sorts of "non-physical" results from integrations, DiffEq, etc. A classic being a negative time solution to parabolic trajectories.

I would add the use the statistics of continuos probability distributions to say that there is in fact ZERO probability that any ball is at r=0 just to complete the silliness. Perhaps he's willing to co-author a follow up?</comment></comment></comment>


Instagram accidentally exposed user passwords through its data download tool - <AUTHOR> https://www.theverge.com/2018/11/17/18100235/instagram-security-bug-exposed-user-passwords-data-download-tool <comment><USER2> "According to Instagram, some users who used that feature had their passwords included in a URL in their web browser, and that the passwords were stored on Facebook's servers, Instagram's parent company. A security researcher told The Information that this would only be possible if Instagram stores its passwords in plain text, which could be a larger and concerning security issue for the company. An Instagram spokesperson disputed this, saying that the company hashes and salts its stored passwords. "

Uh-huh.

<comment><USER3> > An Instagram spokesperson disputed this, saying that the company hashes and > salts its stored passwords.

If that's the case, how did they extract the plaintext password from the stored password to embed in the URL?

Possible scenarios are

1\. They are lying and stored plaintext passwords.

2\. They do hash/salt to store the password in the db but they also use the plaintext password provided from the client side for other things as well.

3\. Or they have secretly developed technology to reverse the hash/salt.

I'm feeling nice so my guess is #2. They do hash/salt in the db and use that for password matching but they also do stuff with the plaintext. It's hard to imagine #1 being true for a major tech company like FB and even harder for #3 being true.

</comment></comment><comment><AUTHOR> Shockingly, this means they've been storing them in clear text. Just wow if that turns out to be true.</comment>


If Twitter Had Its Own Primary, Ron Paul Would Be Winning - <AUTHOR> http://techcrunch.com/2012/01/11/if-twitter-had-its-own-primary-ron-paul-would-be-winning/

<comment><USER2> digg:2008::twitter:2012

The Great State of Twitterbraska is not on the Republican primary schedule, though.</comment>


Silicon Valley Sharknado - <AUTHOR> http://www.nytimes.com/2014/07/09/opinion/maureen-dowd-silicon-valley-sharknado.html?emc=edit_th_20140709&nl=todaysheadlines&nlid=59761154&_r=0

<comment><AUTHOR> The first few paragraphs are silly, but the rest of the article is good.</comment>


My Correlation Between Results in a Startup and Results on a Basketball Court - <AUTHOR> http://dontrepreneur.com/2012/03/04/my-correlation-between-results-in-a-startup-and-results-on-a-basketball-court/

<comment><USER2> You NAILED it! Having been raised with a similar "effort only" attitude, its been a revelation to realize the importance of results. As an avid pickup player, I have been learning exactly what you described. Its actually way more rewarding when you play for results, because respect is earned, and therefore means something. Also, its totally unambiguous- you feel good if you win and bad if you lose, no A for effort. Another plus- you can't bullshit yourself. Thank you for an incredible article.</comment>


Ask HN: Best resources on becoming a better mentor? - <AUTHOR> I'd like to become a better mentor, not just from a technical perspective but also for career and even financial or life advice. I have a reasonably long career history and have risen to a level in my company that's pretty well respected. A lot of people come to me for questions that I'm able to answer, but I can't help but feel that I could be providing more to people who are looking to up-level their careers.<p>Are there any resources that have helped you become a better mentor, such as blogs or books? <comment><USER2> While mentoring is only a chapter in this book, I strongly recommend Soft Skills: A software developer's life manual [1][2]. I think you'll find the mentoring chapter really useful, but the rest of the book is a must have if you're a software engineer. I'd say even if you're fairly high up already.

[1]: [https://www.tridentbookscafe.com/book/9781617292392](https://www.tridentbookscafe.com/book/9781617292392)

[2]: [https://www.amazon.com/dp/1617292397/ref=cm_sw_r_cp_api_i_gG...](https://www.amazon.com/dp/1617292397/ref=cm_sw_r_cp_api_i_gGRyDbQE82BEZ)</comment>


Pandora One: New Air App, Streams 192 kpbs Premium Audio - <AUTHOR> http://www.techcrunch.com/2009/05/19/pandora-gives-the-freemium-model-a-thumbs-up-with-pandora-one/

<comment><USER2> I've been looking for something like this. I wonder if it will allow me to get through my work firewall so I can actually use pandora at work.</comment>


Gangnam Style no longer YouTube's most-watched video - <AUTHOR> http://www.smh.com.au/entertainment/music/gangnam-style-no-longer-youtubes-mostwatched-video-20170711-gx8t4q.html <comment> m-p-3 > The official clip for Wiz Khalifa and Charlie Puth's See You Again has > overtaken Gangnam Style to become the most popular video on YouTube.</comment>


What's the digital equivalent of sticky notes? - <AUTHOR> https://julian.digital/2020/09/04/a-meta-layer-for-notes/ <comment><USER2> Email to self</comment>


Students: Your Startup School Europe experience - <AUTHOR> http://blog.hackcampus.io/your-yc-startup-school-experience/

<comment><AUTHOR> I thoroughly enjoyed Startup School Europe! We'd love to compile experiences that other students had at the event as well. Looking forward to hearing your thoughts!</comment>


Show HN: Bi-weekly newsletter that helps you stay safe online - <AUTHOR> https://unethical.marketing/ <comment><USER2> Pretty interesting, but how do you plan on getting more content?

<comment><AUTHOR> We know friend who used to do some unethical marketing stuff, and some of our content are from him, but we also plan to get stories from our subscriber if they found any</comment></comment>


How Lisp-family languages facilitate building bioinformatics applications - <AUTHOR> http://bib.oxfordjournals.org/content/early/2016/12/31/bib.bbw130.full <comment> torrent-of-ions When I started working in bioinformatics I was excited to use Lisp for my work. I wrote a considerable amount of library code and programs at first. But I always found resistance when it came to other people using my programs and even more if the program was to be published and released for general use.

There is a large amount of really, really bad Perl code still in use in biology. Trust me when I say to those outside of the field, I've seen things you people wouldn't believe. I try to discourage Perl use between it makes it so easy for biologists to write terrible code.

I've found a compromise in Python. People will happily use it because it's trendy and ubiquitous. And I think it makes it easier to write OK code. But I miss using Lisp. The style of programming when you have a REPL is perfect for this kind of thing. The ability to quickly write prototypes which can later be improved is an advantage which cannot be stressed enough. C is fantastic when you have a good idea of the algorithms and data structures you want to implement and are concerned with implementing them efficiently. But that's rarely the case when writing bioinformatics code. I need to know if the damn thing _works_ first before I spend time making it work fast. And why would you not use a language where both things are equally easy?

I'm happy to see this paper because it means that I have a way to justify my usage of Lisp in the future. Big thanks to the authors.

<comment><USER2> Building a community around lisp is tricky. While there are many criticisms to this article [1], there are some elements of the "Lisp Curse" which is true - each programmer tends to rewrite his/her own libraries and so a collaborative framework seldom emerges even while many programmers may work in the same domain. This can be a disadvantage in a domain like the natural sciences where deep collaborations are necessary.

Furthermore, the disconnect with traditional mathematical syntax has also turned off many users. There was a predecessor to R called Lisp-Stat [2] which never achieved the acceptance that S/R did, and the Lisp-based syntax of Lisp- Stat was cited as one of the reasons.

Following the example of a high-profile Lisp supporter like Peter Norvig who accepted Python as a "Lispy" alternative early on, I think there are a lot of us who have come to accept Python as a necessary compromise. While Python is not homoiconic, functional programming is encouraged through its libraries rather than its core language definition, and the power of macros are missing, the inherent popularity and all the benefits that come with it is tough to beat.

[1] [http://winestockwebdesign.com/Essays/Lisp_Curse.html](http://winestockwebdesign.com/Essays/Lisp_Curse.html)

[2] [http://homepage.divms.uiowa.edu/~luke/xls/xlsinfo/xlsinfo.ht...](http://homepage.divms.uiowa.edu/~luke/xls/xlsinfo/xlsinfo.html)

<comment><USER3> > each programmer tends to rewrite his/her own libraries and so a > collaborative framework seldom emerges even while many programmers may work > in the same domain

So, exactly like bioinformatics, then. Trivial tasks are supported by packages of libraries like BioPerl, but all the original research is _sui generis_ , with the attitude in general being that each problem is unique and only results get published, so who cares if the code is a write-only mess as long as it does the one job after which no one will care about it anyway. In such an environment, the "Lisp Curse" already exists anyway, so why not get the benefit of a more powerful and expressive language when you're already paying its cost?

(Granted, Lisp for bioinformatics is never going to become a generally accepted thing. But if you're not releasing code anyway, no one cares what language you write it in...)

<comment><USER2> What about Bioconductor and Openbabel/Pybel?

<comment><USER3> R and especially Python didn't see a lot of use where I was; the former was regarded mainly as a chart generator, while the latter had one diehard fan (an engineer like me, not an investigator) and no further uptake. It has been a few years since I was there, though, and I haven't kept closely in touch, so perhaps things have changed in the interim.

</comment></comment></comment></comment></comment><comment><USER4> Ira Kalet (RIP, 1944-2015) wrote a book using Lisp for the examples:

Principles of Biomedical Informatics, Second Edition, 2013 [https://www.amazon.com/Principles-Biomedical-Informatics- Sec...](https://www.amazon.com/Principles-Biomedical-Informatics-Second- Kalet/dp/0124160190/)

</comment><comment><USER5> Surprised that Racket didn't get a mention in the paper, especially given the authors' interest in building DSLs

EDIT: (I consider Racket separate from Scheme)

</comment><comment><USER6> What an awesome paper! It was during my time as a sysadmin at a DNA lab I became really enamoured with lisp (and emacs), and functional, homoiconic languages as a whole, for many of the reasons listed. Great to read them all and more articulated so well.

BioLisp would be a great project.

</comment><comment><USER7> I asked Bioinformatics MOOC teachers about non python/java language in the field, naming common lisp or haskell. I got a large NOPE from them, saying it was mostly for performance reason. I specifically asked about the paradigm too, because the MOOC spent a large amount of time talking about control flags and temporary variables, that to me obscured the overall logic.. but alas.

</comment><comment><USER8> Using lisp always seems attractive.

However, in Bioinformatics, the reality is that many users are still using Perl. It would be get to have them migrate to, modestly more readable languages.

Outside of scripting, alignment and other performance sensitive code is usually written in C (or C++). As with many academic projects, the code quality unfortunately is quite low.

<comment><USER9> I've been in the field since 2001. I have seen exactly two perl files in that time

<comment><USER10> It really depends on the subfield. Sequence-based genomics is _very_ highly Perl-dependent even today. BioPerl is pretty much the standard library for that even though BioPython, etc. are beginning to take over. Other subfields such as differential sequence abundance which are more about the statistics rather than the raw sequence tend to be R-centered thanks to Bioconductor.

<comment><USER9> I think by your definitions there are sub-subfields then ;) In my neck of the woods sequence based stuff has java & c doing a lot of the heavy lifting.

</comment></comment></comment></comment><comment><USER11> Usability matters.

Functional versus procedural programming is first and foremost a usability problem for developers. The two are interchangeable as far as being Turing complete.

I just spent a week at a Jakolb Nielson's education course on usability. I asked the executive vice-president at the company if they had branched into software development itself, sadly the answer is still no.

Functional programming for the majority of developers is not usable. The article mentions they are are targeting DSL, domain specific languages. Which is fine. For example, Haskell has seems to have found a boutique community in async, MQ world. But, from a usability perspective one is severely limiting ones pool of developers choosing a functional language.

It is fascinating from a human nature perspective that people who think in functional programming are brains are wired differently from the procedural programmer. There is very visceral reaction when either camp is asked to program in the manner they find least usable.

Ultimately I think compilers will get to a development stage where independent of functional programming or procedural programming approaches the same optimized code gets implemented under the hood.

Postgres was originally written in LISP. Ultimately Stonebraker had to make the call that if Postgres was going to get adopted widely, LISP had to go and it was rewritten in C/C++ before being open sourced. As a point of research you all might want to look into the Postgres experience.

<comment><USER12> The original paper is here: [http://db.cs.berkeley.edu/papers/ERL-M90-34.pdf](http://db.cs.berkeley.edu/papers/ERL-M90-34.pdf)

There are other cases where an original Lisp implementation has been rewritten: ViaWeb and Reddit. I think the reason is that the teams which took over the projects were unfamiliar with Lisp.

My experience is different, though I should mention that I'm a sole developer. I'm roughly equally experienced in C and Lisp, but find I'm far more productive in Lisp. My first language was FORTRAN. Unlike C, Lisp is memory safe and you don't have to manage the memory yourself, interactive, strongly typed, you never need to write a parser, the built in symbol and list types are incredibly useful, and there are fewer "gotchas".

Lisp is multi-paradigm rather than purely functional, so like the Algol derivatives it has loops and destructive assignment.

</comment></comment><comment><USER13> Not try to be negative.

But Perl is still used more widely than Lisp in bioinformatics. or lisp can be neglected in bioinformatics compared to Perl.

Check the status of BioPython, BioPerl. BioLisp? not even exists.

<comment><USER12> It does exist. It's now called BioBIKE.

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

[http://biobike.csbc.vcu.edu](http://biobike.csbc.vcu.edu)

</comment></comment><comment><USER14> This is obviously an opinion piece disguised as a scholarly article. I'm not sure what the hidden agenda is, and the HN comments don't clarify matters much.

For example, this nonsense statement reveals the author's bias: "Clojure is a rising star language in the modern software development community." Huh?

<comment><USER13> in my opinion, better to publish as a blog post.

</comment></comment><comment><USER15> "Gat [3] compared the run times, development times and memory usage of 16 programs written by 14 programmers in Lisp, C/C ++ and Java. Development times for the Lisp programs ranged from 2 to 8.5 h, compared with 2 to 25 h for C/C ++ and 4 to 63 h for Java (programmer experience alone does not account for the differences). The Lisp programs were also significantly shorter than the other programs."

Could selection bias be skewing these results?

Proficient Lisp programmers can certainly create shorter and faster programs with Lisp. Who would ever contest that? Average programmers, on the other hand, can probably develop in a similar amount of time and write faster programs with C++ (given the amount of libraries and information available - in comparison to Lisp - and the ubiquity of tooling).

</comment><comment><USER16> How about Hy? It's a Lisp that runs on the Python interpreter, and interoperates with Python. It's not extremely mature yet, but it is really cool!

<comment><USER17> It's pretty wild using numpy or pandas in Lisp. Hy is definitely cool.

</comment></comment><comment><USER18>
       on average, the Lisp programs ran significantly faster
       than the C/C++ programs and much faster than the Java
       programs (mean runtimes were 41 s for Lisp versus 165 s
       for C/C++).

The only thing I can say is that their C/C++ code has serious problems.

<comment><USER19> Perhaps they didn't optimize.

</comment></comment><comment><USER20> As a Lisp fan myself, I wish they would show an example of how WITH-GENES or MAP-GENES encouraged encapsulation vs. objects or passing closures.

<comment><AUTHOR> The section of the paper where this is mentioned offers a novel (at least to me) argument in support of homoiconicity, to wit, that you build DSLs directly into the base language, which (it is asserted) makes the DSL development process more flexible (or something), and that this is important for 'living' domains, where you're trying to work out the domain semantics, like biology. So, you're not really so much building a specialized language for X, as slowly turning (almost in the sense of wood turning, as on a lathe) Lisp into X-Lang.

<comment><USER21> A concrete example.</comment></comment></comment>


Bootstrapping: Building an Application Framework using Twitter Bootstrap 2.0 - <AUTHOR> http://appframework.bigbangtechnology.com/

<comment><AUTHOR> Hey folks, Cameron from Big Bang Technology here. A little background:

We're fed up with Flash/Flex on the Front End and we're working on redesigning our flagship application Woople (<http://www.woople.com>) to use a responsive mobile friendly design. We have a lot of friends in the Toronto area who stop in by our office and see what's happening and when they saw the process that we were using they got excited and really wanted us to share with them how exactly we were doing the conversion.

So we figured other people would be interested as well. Here are some things you'll learn:

* Performing a component inventory on your existing application * Editing and sorting the component inventory * Creating a set of categories for your design framework * Building your framework website to help communicate with your stakeholders * Customizing Bootstrap 2.0 * Building your framework as re-usable Rails Engine / ruby gem so all your applications can leverage it. * Working with your development team to upgrade and version each component so you can smoothly roll out upgrades.

Plus a lot more...

Any feedback would be greatly appreciated. Obviously there isn't a lot to see yet but I expect the first episode to be released soon as well as an introduction video.</comment>


Python 101: Free Interactive course to learn Python 3 - <AUTHOR> https://www.educative.io/collection/5663684521099264/5707702298738688 <comment><AUTHOR> Author also has Python 201 at 50% off.

[https://www.blog.pythonlibrary.org/2017/03/20/python-101-onl...](https://www.blog.pythonlibrary.org/2017/03/20/python-101-online- course-is-free-for-48-hours/)</comment>


Networks, Crowds, and Markets (free book) - <AUTHOR> http://www.cs.cornell.edu/home/kleinber/networks-book/networks-book.pdf

<comment><USER2> This covers quite a bit very thoroughly. Good to have in your collection.</comment>


Moving Beyond the OOP Obsession - <AUTHOR> http://prog21.dadgum.com/218.html <comment><USER2> I don't disagree with the author's sentiment about inheritance (or OOP in general), being used and taught wrongly, but I still think it's a necessary tool to have available.

Without inheritance, as soon as you want to cast mixer to something else, you're either relying on binary wizardry by the compiler (reinterpret_cast. ie, undefined behaviour), or you need to break encapsulation to copy the fields over from one object to another.

Of course we could use an opaque pointer to our objects instead, but if your solution is to cast anything to (void*), where could that possibly go wrong?

OOP inheritance is pretty much doing that, but in a constrained, statically enforced way, which prevents programmers from making elementary mistakes or trying to make assumptions about the way hardware works.

Of course, the last example of the singleton works, but it also doesn't help to explain why we might use singletons in OOP. If we assume we have both a hardware mixer and a soft mixer which both have the set volume method, we wan't polymorphism so we can treat them equally. In the author's solution, we must treat each specially at the call site, which also violates our open/closed principle - we want to add new mixers without hacking (and breaking) the existing code.

Still, I pretty much agree that we should rethink the way these are taught. Perhaps every student should write his own OOP language before being let loose with it.

<comment><USER3> > Without inheritance, as soon as you want to cast mixer to something else, > you're either relying on binary wizardry by the compiler

Why would you want to _cast_ mixer to something else? What real-life task does it solve?

> If we assume we have both a hardware mixer and a soft mixer which both have > the set volume method, we wan't polymorphism so we can treat them equally.

Polymorphism isn't OOP feature. You can have overloaded `mixer_set(struct, int)` without any OOP wizardry involved.

<comment><USER4> > Why would you want to cast mixer to something else?

Did you ever heard about interfaces? You can have a IMixer interface, a Mixer baseclass and some concrete mixer classes depending on your task. Like null- mixer for mocking, software mixer for legacy computers, hardware mixer with GPU support, etc. Use your imagination, Luke!

<comment><USER5> Or you could just have data. The behavior of mixing is not going to change because of those things.

</comment></comment></comment></comment><comment><USER6> We actually used to write "OO" C code like this - lots of it - back in the Xt Toolkit Intrinsics days. It sucked. Writing GUI systems in C++ was a massive improvement. Sometimes syntax matters.

</comment><comment><USER7> I've encountered this code a lot in C, and every time I thought that this style of

> stuff_do_something(stuff, some_parameter)

_is_ OOP and identical to

> stuff.do_something(some_parameter)

, although in language without support for OOP (of course, you can hack OOP on top of C with preprocessors and stuff, but let's pretend we forgot about that embarrassing abominations). And every time I saw that I wished that I could type the second one instead, just because of how more natural it feels.

<comment><USER8> Exactly. OOP is: a) A code naming/organisational issue b) Some formalisation of structure, so that developers can specify what is/isn't allowed in their code.

Both of thise have advantages and disadvantages, and the structure can be over-formalised and made too complex. But this doesn't make OOP bad. It makes bad design bad.

<comment><USER9> Well yes, when you redefine "OOP" to mean "well-organized code," then all well-organized code is object-oriented. That's not what people mean when they refer to OOP though -- they're talking about data+behavior encapsulation, inheritance, message-passing, etc.

<comment><USER10> OOP is not "well-organized code". It is a specific kind of code organization that derives a good part of its value from being universal.

</comment></comment></comment></comment><comment><USER11> What baffles me about OOP is that massive aspects of how to use it have changed, and that change happened _after_ it gained popularity as a good technique. How could it have become popular when people were doing it wrong? The article mentions inheritance, but there's also heavy vs light classes. When I was taught OOP, an object knew how to do all the things to itself. It could draw itself on the screen, modify itself, save itself to a file, etc. Now that's turned on its head and is bad practice.

So if OOP was great with inheritance and heavy classes, how can it now be bad with inheritance and heavy classes? Were the original OOP evangelists doing it wrong and promoting something they hadn't actually tried enough to discover its problems (ie hype)? Was it just misunderstood and inheritance has always been known to be something to avoid and light (single public method) classes always been a good idea but computer science professors didn't understand it?

<comment><USER12> "Was it just misunderstood and inheritance has always been known to be something to avoid and light (single public method) classes always been a good idea but computer science professors didn't understand it?"

Could be. Or it could be that it's possible to write working programs with many different methodologies and 90% of what developers argue about is fashion not substance...

</comment></comment><comment><USER13> If you need an interface to your data, use structs/classes.

If you need genericness when the size of the data doesn't change, use templates.

If you need genericness when the size of the data does change, use inheritance.

If you need genericness with respect to part of an algorithm, use lambdas.

<comment><USER14> Thank you for succinctly putting this to words.

</comment></comment><comment><USER15> The author seems to genuinely not know that this is the original motivation for C++ -- to provide syntactic sugar and additional type safety to the very techniques he describes, which were (and still are) widely used in C. It is as if I am reading a "Software The Onion". Hmm...checks date...

</comment><comment><USER16> >Now here's what this would look like in C++ without using objects:

        mixer_set_volume(m, 0.8);

What is m, if not an object?

<comment><USER17> The point is not a lack of objects but a lack of OOP. Yes, there are "objects" but there is also a separation between objects and methods etc..

The issue with m->set_volume(.08) is it becomes difficult to tell what happens inside set_volume() because in the method scope you have access to the internals of the "m" object, not just the interface.

With mixer_set_volume(m, .08) you have ".08" and "m" but only the interface "m" exposes anywhere else. Thus it becomes easier to reason about effects.

<comment><USER18> Can you expand on this? I'm not sure I follow, but maybe there's something particular to C++ here that I don't get as I'm not well-versed in it.

>> The issue with m->set_volume(.08) is it becomes difficult to tell what happens inside set_volume()

Isn't that the point? That you shouldn't have to care what happens inside set_volume? If mixer was designed and implemented well, then set_volume (along with the rest of its interface methods) should consistently and correctly handle its internal state.

<comment><USER17> Whether you are dealing with OOP, functional, or some other pattern it is always the point to create abstractions which you and others can forget about how they work.

Thus m->set_volume(.08) and set_volume(m, .08) should not require you to understand what happens internally as the user of either.

More generally in programming that is the point.

My only point is that of scope and essentially search space -- set_volume(m, .08) can only access the public interface of "m". While, m->set_volume(.08) could do almost anything to m. In a perfect world, with perfect programmers thinking the same way about what "set_volume" means or should do the separation of state and action would be less valuable.

This not to say OOP is > Functional or vice-versa. I think there is a place for both but that is a MUCH larger and more nuanced conversation :)

</comment></comment></comment></comment><comment><USER19> You could generalize the described approach even further and have a single global function called 'message', so that your entire app consists entirely of statements like:

        message(receiver, msg)

Sure, it's encapsulated, but it's hardly modular. The author knew not to do this because he's undoubtedly already had a lot of experience with OOP. So writing OOP-like functions comes easy to him. I'm not sure that would be the case for a beginner, who could also go to the other extreme and have a different function for everything, even if two methods differ only in their arguments:

        add_one_to(number)

        add two_to(number)

        etc.

The point of OOP is that it provides some guidance in navigating between the two extremes, and tools to manage modularity and redundancy (like inheritance and composition). Encapsulation isn't the sole benefit.

</comment><comment><USER20> I agree with this post, and especially the main focus of the post, which seems to be: teach the basics before bogging students down in the crazy terminology- heavy industry we live in.

<comment><USER21> Yes absolutely. I learned OO with programming in the early 90s, around the birth of the OO religion. So it's definitely in my mental toolbox if needed... But in practice I'd say I rarely, if ever, need it. The only time it's come up in the last 5 years was during a job interview, when I mentally did an eye roll and thought "oh god OOP stuff again" Granted, I do more glue programming and scripting, vs full-fledged app development. I'm sure if I was doing Android apps I'd be using ActiveWindowAppAdapterFactoryConstructor (q.v., programming in the kingdom of nouns) but thankfully that's not something I have to do (yet).

</comment></comment><comment><USER22> Personally, think object oriented programming gets a fair amount "right". That isn't to say there aren't problems.

Specifically, classes as a mechanism of packaging data together with all the functions that act on that data is a good idea. Additionally, I think classes are more intuitive and generally tend to be syntactically clearer than their functional equivalent, namespace factories (though less semantically explicit). Fluent style chaining of method invokation is also a lot easier to read than nested function calls in most languages.

The biggest issue I have with classes is the concept of constructors and destructors. These are semantically unclear and basically break multiple inheritance. Aside from that, in dynamic languages classes also encourage people to write code that checks class type, which is both brittle and potentially limiting, depending on the context.

</comment><comment><USER23> I've been saying this for years. Historically, yes, OOP has its own roots. But for all effects and purposes, C++ with headers controlling visibility is the grandfather of OOP. If you got that, then you've got OOP basics. (And, as the author points out, 90% of what you'll ever need)

There's another way of "going beyond OOP" that bears some thought, and that's growing a program by incrementally adding functions, then grouping the functions into modules.

This is actually the same point as the author is making, but looking at it from the other way. It occurs to me that if we started with writing code using pure functions, over time those functions would naturally accumulate into cohesive modules. A methodology that taught this could well end up being the TDD of the next generation of coders.

<comment><USER24> This is how Node js development tends to be done.

</comment></comment><comment><USER13> No one technique scales on its own. Assembly, macro assembly, expressions, functions, classes, inheritance, templates, closures, data flow, and even message passing if you want performance.

Everyone keeps looking for the silver bullet, but ends up with answers that are simple, easy, and wrong.

If there is a bullet at all I think it is accepting that software architecture is made up of all these things + tools that give lots of extra information easily + interactivity and small iteration times.

I think when most people are being overwhelmed with complexity they want a silver bullet so badly they will believe that there is one against all evidence to the contrary.

</comment><comment><USER4> Okaaaaaaay, so if we left _everything_ what OOP gived us (properties^1, generics, lot of good patterns^2, lot of abstractions for generic things, like interface^3, events, higher level datastructures, delegates, namespaces, modules^4 etc.) then we get C? Omg, thank you Captian Obvious! Learn OOP first.

What a bullshit article.

1) C++ for OO example? Seriously, why??? Grab a modern language who have properties at least. Even Delphi had it!

2) IMHO without OO patterns OOP worth nothing

3) I know, you can do interfaces in C++ with pure virtual classes, but you miss the abstraction behind that.

4) Java JAR, .NET assemblies, no matter what they called.

<comment><USER25> Modules, namespaces, interfaces, many other things on your list, also have nothing to do with OOP.

</comment></comment><comment><USER26> I could take that text more seriously if it at least discussed the limitations of the most powerful embodiments of OOP that we have today and not the accidental limitations of languages that for one reason or the other ended up not as good as they could have and force you to jump through hoops, as evidenced by the very mentions of classes, constructors, private methods etc., none of which are fundamental to OOP but all of which were made fundamental to certain languages.

<comment><USER27> I agree, but OTH you can be a Platonist and refute every criticism with this argument. In the end the OOP you have is the OOP that has been implemented, so judging the implementations we have to work on is more down to earth.

<comment><USER26> True. But when it comes to learning the basics of programming, you can always pick better languages. There doesn't appear to a shortage of pedagogically useful ones.

</comment></comment></comment><comment><USER28> Not sure I understand the point of this article, especially in the context of C++ where encapsulation with classes helps avoiding things like memory leaks, dangling pointers and co. If you feel you need to code C style, use C, with all the problem it might incur.

</comment><comment><USER29> Another good article expressing a similar opinion which some might not have seen [http://blog.codinghorror.com/your-code-oop-or- poo/](http://blog.codinghorror.com/your-code-oop-or-poo/)

<comment><USER30> "Object Oriented Programming" in Portuguese is "Programação Orientada a Objetos". So for me the two categories are one and the same :P

</comment></comment><comment><USER31> There's a lot of non-OOP C++ outside of the classroom ;)

Procedural C++ is big in systems (and that's not just plain C compiled with a C++ compiler). Templates, strings, built-in containers and smart pointers are very popular and useful.

</comment><comment><USER32> Classes are among the worst ways of implementing modularity. Compare them to, say, SML modules.

</comment><comment><USER32> A value, with a type. Nothing else. Stop highjacking everything into your OO religion. If you take everything of a value that originated elsewhere, there will be nothing left in the OOD.

<comment><USER33> > Stop highjacking everything into your OO religion.

The parent to your post seemed to have a legitimate question, and you're being snarky. You could have left out everything after the first sentence or even explained what that means in practice.

<comment><USER32> It was a bad argument disguised as a "question". I rarely tolerate this sort of a discourse.</comment></comment></comment>