How to fail... gloriously - <AUTHOR> http://entrepreneur.venturebeat.com/2009/12/11/how-to-fail…-gloriously/

<comment><USER2> You can see the full talk here: [http://ecorner.stanford.edu/authorMaterialInfo.html?author=3...](http://ecorner.stanford.edu/authorMaterialInfo.html?author=327)

<comment><USER3> In which video does he explain how to tell the difference between a brilliant startup founder and a crazy person?

<comment><USER4> You cross the brilliance threshold when you can get others to buy into your crazy version of reality.

<comment><USER5> So an entrepreneur stops being crazy the moment a co-founder or investor shows up?

Get me one of those!

<comment><USER6> An entrepreneur stops being crazy the moment somebody pays money for their product.

<comment><USER7> Have you never heard of Scientology?

</comment></comment></comment></comment></comment></comment><comment><USER8> Having wasted $65M of VC money and failed spectacularly on my first startup because I managed to execute flawlessly on a flawed business plan, I can completely related to this video. Time is different now. What I have learned from my second and successful startup is that entrepreneurs need to defy Silicon Valley VC myths. Instead of innovating, we need to "nanovate". Instead of vision, we need to have peripheral vision. Instead of thinking outside of the box, we need to think inside the box. Instead of supersizing our business with VC money, we need to sacrifice growth by making sure that our early- adopter customers are extremely happy. VC's always want us to aim high, but for bootstrapping entrepreneurs, it is best to shot low. Focus on our current customer base and make sure everyone is happy. The cost of acquiring a new customer is extremely high in a down market. A perfect defense is our only offense. We must ignore our competitors and focus exclusively on our existing customers. Don't look for the knee of the hockey stick. Instead, wait for the pivot that would get us onto a different game. No sailboat ever won a contest by staying in the dry dock. Got to stay in the game before you know what the real game is.

</comment><comment><USER9> Chip Morningstar wrote a nice piece about this idea a few years ago: [http://habitatchronicles.com/2006/12/smart-people-can- ration...](http://habitatchronicles.com/2006/12/smart-people-can-rationalize- anything/)

</comment><comment><USER10> [http://www.amazon.com/gp/product/0976470705?ie=UTF8&tag=...](http://www.amazon.com/gp/product/0976470705?ie=UTF8&tag=lessolearn01-20&link_code=as3&camp=211189&creative=373489&creativeASIN=0976470705)

Takes pg's motto: "Built something people want." and expands on it a fair bit. This seems to be a great way to succeed ... gloriously.

</comment><comment><USER11> Eric Ries also did a good blog post earlier this year based on the same experience:

[http://www.startuplessonslearned.com/2009/01/achieving- failu...](http://www.startuplessonslearned.com/2009/01/achieving-failure.html)

</comment><comment><USER12> If I follow your logic Madoff was a brillant startup founder? I.e. he convinced ppl to give him money :)</comment>


Is the JetBrains' IntelliJ the Real Android Monopoly? - <AUTHOR> https://thenewstack.io/is-the-jetbrains-intellij-the-real-android-monopoly/ <comment><USER2> One of the most shameless clickbait articles I've seen in a while.

tl;dr No. This is an article about IDE share for Android development.

Last paragraph:

> _" It doesn't matter if IntelliJ has dominant market share among mobile > developers. This does not translate into a monopoly in the sense that > regulators care about because it is not using its position to hurt > competitors."_</comment>


The Trouble with PDFs - <AUTHOR> http://www.codinghorror.com/blog/archives/001028.html <comment><USER2> I _hate_ PDFs.

Idea for the "link to out-of-browser"-problem: couldn't scribd offer a kind of hotlink to display PDF-documents from the web in their viewer? That is, instead of linking to <http://wherever.com/mystupid.pdf>, one could link to scribd.com/show?url=<http://wherever.com/mystupid.pdf>

Would something like that be legal, or would it make scribd suable for stealing content?

<comment><USER3> Scribd already has it, except show is called slurp.

<comment><USER2> I just looked it up, but it doesn't seem to be quite the same thing? At least slurp seems to involve uploading the document to Scribd, which might really be a copyright problem.

I meant a way to use scribd as a PDF reader directly. But mabye there really is no point to it, because if the publisher of a PDF would use it, they would already know about scribd, and therefore would probably be better off hosting the PDF on scribd to begin with. Perhaps it would be useful for other people who want to link to the PDF, though.</comment></comment></comment>


45,000-year-old modern human bone yields a genome - <AUTHOR> http://arstechnica.com/science/2014/10/45000-year-old-modern-human-bone-yields-a-genome/ <comment><USER2> "Overall, the Ust'-Ishim genome doesn't revolutionize our understanding of humanity's past. But it does provide some support for ideas that have been previously suggested. And it helps narrow the range of possibilities for a series of other hypotheses. So it's really a great example of the incremental progress that's typical of science."

I liked this as the closing paragraph.

</comment><comment><USER3> Here's a link to the "article preview" in _Nature_ :

[http://www.nature.com/nature/journal/v514/n7523/full/nature1...](http://www.nature.com/nature/journal/v514/n7523/full/nature13810.html)

I see the article includes an all-star cast of co-authors who have done much of the most important research on ancient human DNA. A review article on ancient human DNA from just a few weeks ago, "Towards a new history and geography of human genes informed by ancient DNA," provides a lot of good background on this topic.

[http://biorxiv.org/content/biorxiv/early/2014/03/21/003517.f...](http://biorxiv.org/content/biorxiv/early/2014/03/21/003517.full.pdf)

</comment><comment><USER4> Here comes the mammoths as well!

Strangely... I am much more excited about that.

<comment><USER5> Not really, human genome is a bit of an exaggeration "The short DNA fragments that persist in these ancient samples limit the areas of the human genome that you can match the fragments to".

And even if you could recover a genetically perfect sample, a resurrected mammoth wouldn't be raised in the same environment as an animal from the time, so all kinds of things like socialization, migration patterns, bacteria, food sources etc. won't match the era.

<comment><USER6> would be interesting if an absent bacteria radically changed the resulting hypothetical mammoth fetus.</comment></comment></comment>


Researchers Hack Air-Gapped Computer with Simple Cell Phone - <AUTHOR> http://www.wired.com/2015/07/researchers-hack-air-gapped-computer-simple-cell-phone/ <comment><USER2> 'The attack requires both the targeted computer and the mobile phone to have malware installed on them, but once this is done the attack exploits the natural capabilities of each device to exfiltrate data.'

So it needs a previous security breach. Challenging, because as the article mentions, in secure environments the pc is not connected to internet nor are USB sticks allowed.

<comment><USER3> > The attack requires both the targeted computer and the mobile phone to have > malware installed

> exploits components that are virtually guaranteed to be present on any > desktop/server and cellular phone

</comment></comment><comment><USER4> > It works with simple feature phones that often are allowed into sensitive > environments where smartphone are not, because they have only voice and > text-messaging capabilities and presumably can't be turned into listening > devices by spies.

I have no idea where they got this information from, because it is absolutely false in DOD classified environments. _Anything_ that can be used as a recording device or that can transmit information wirelessly is restricted or prohibited, and personally-owned examples are strictly prohibited. In very strict environments, even receive-only electronics may be restricted.

I am not personally aware of any policy that makes a distinction between "smartphones" and "feature phones". The only thing I have ever seen referenced is phones with cameras, and even that was only for visitors in the unclassified areas.

</comment><comment><USER5> If someone installed malware on that computer already, all bets are off. It might as well be a radio transmitter that's broadcasting every keystroke. The title is sensationalistic, because the hard part was installing malware. The "simple cellphone" part is meaningless.

</comment><comment><USER6> Won't the modulating/transmitting malware increase the system cpu load (run queue, or whatever)? This could be a detection vector for it.

I have noticed when running a program that does nothing but work the memory bus, Memtest86+, the computer gets hot and draws a lot of power.

</comment><comment><USER7> 1\. That connector size appears to be a DVI connector. How does TMDS affect data transmission via TEMPEST leakage?

2a. Would HDMI render this attack void, due to encryption on the data signal layer?

2b. Since the HDMI master keys are known, would it be possible to modify data with the now-known key and pass data using this method?

3\. What card is shown on the desktop? That looks like a rather suspicious card (GSM card?).

<comment><USER8> AFAICT the video interface is irrelevant. It exploits the data transfer between the CPU and RAM.

> When data moves between the CPU and RAM of a computer, radio waves get > emitted as a matter of course. Normally the amplitude of these waves > wouldn't be sufficient to transmit messages to a phone, but the researchers > found that by generating a continuous stream of data over the multi-channel > memory buses on a computer, they could increase the amplitude and use the > generated waves to carry binary messages to a receiver.

</comment></comment><comment><USER9> My desktop is in a metal case. Shouldn't that block any RF leaking out of it?

<comment><USER10> Edit: I've just realised I was reading the AirHopper paper, which isn't the main paper being discussed, sorry

I've only skimmed the paper but as far as I understand it, the VGA cable is emitting RF, which the mobile is receiving.

So metal casing wouldn't make much difference.

<comment><USER9> I read the article, it seemed to be saying the RF was coming from the system bus.

<comment><USER10> Edit: sorry I was looking at the airhopper paper, doh

Yeah in the paper it mentions about cable shielding, "The effective distance is the maximal distance between the transmitter and the receiver, at which the transmission quality is still acceptable. As can be seen in Figure 5, the effective distance when using the receiver antenna is significantly larger with unshielded cable (extended VGA)"

</comment></comment></comment></comment><comment><USER11> If the attacker has installed malware on the target machine and has physical access to it, literally nothing will save you.

<comment><USER12> I'm still holding out for Homomorphic Encryption.</comment></comment>


I made my own image sensor and digital camera [video] - <AUTHOR> https://www.youtube.com/watch?v=PaXweP73NT4 <comment><USER2> Using decapped DRAM chip as photo sensor looks more promising:

[https://hackaday.com/2014/04/05/taking-pictures-with-a- dram-...](https://hackaday.com/2014/04/05/taking-pictures-with-a-dram-chip/)

<comment><USER3> I wonder how good images could be with modern DRAM. A 256MB DDR3 chip would theoretically have over 2 trillion pixels. Light sensitivity should be better too due to the smaller capacitors.

<comment><USER2> Decapping and testing this wont be difficult, meaning you understand how individual transistors are located on the die to reorder raw data into planar image. I wonder if this information can be recovered using some known patterns shown to such sensor then retrieving appropriate data and analyzing.

Another interesting thing is that for training neural networks for image recognition purpose information about location of individual pixels is not necessary at all.

<comment><USER4> > Another interesting thing is that for training neural networks for image > recognition purpose information about location of individual pixels is not > necessary at all.

Convolutions use the spatial information. I'm less sure whether attention- based approaches typically use it.

</comment></comment></comment></comment><comment><USER5> Visually, I'm reminded of this project. [https://www.thisiscolossal.com/2017/02/drinking-straw- camera...](https://www.thisiscolossal.com/2017/02/drinking-straw-camera/)

I know CCDs for astrophotography have large photosites to increase the signal/noise ratio. It seems like this array would have the same qualities.

Do you know what the dynamic range is, how many stops the sensor can capture?

This is really interesting, so I'd really like to see a write-up instead of just a video.

</comment><comment><USER6> How about making a (slow) medium/large format camera with a linear sensor from a scanner?

<comment><USER7> People have done it. I've seen a couple articles about it, but the one I was able to dig up today is from Mattias Wandel (of woodgears.ca note):

[https://www.sentex.ca/~mwandel/tech/scanner.html](https://www.sentex.ca/~mwandel/tech/scanner.html)

This isn't exactly what you're looking for, but you run into some of the same limitations using a scanner as a large format back: moving objects end up distorted by the movement of the scanner "head" as it scans the image plane.

<comment><USER8> Funny to see wandel here. I binged his channel but never knew he made articles. Anyway distortion is also pretty interesting artistically.

I scavenged a dozen of heads to make a giant wall scanning bar.

</comment></comment></comment><comment><USER9> Well done. The quality of explanation and production value were good. It seems like by adding more processing power, you can double or triple the scan rate.

<comment><USER2> From what I understand scan rate depends on exposure time which is quite a bit high for such a sensor.

</comment></comment><comment><USER10> I bet by changing up the sensor pixels this would be a pretty cost effective way of making a low res FLIR camera, or really any imaging band. Using a different pin hole you might even be able to image things with xrays, neutrons, or strong 100Ghz through THz radio waves.

<comment><USER11> Fun and a great learning experience, sure. But, at least with respect to infrared, I'm not seeing the cost effective part when fully integrated solutions with ~19x greater resolution and then some can be had for $400 retail; the BOM for such a project will approach (if not exceed) this figure. Prototyping is often deceptively expensive.

<comment><USER12> Certain FLIR resolutions beyond a certain density are, let's just say, not unlike the early days of cryptography.

</comment></comment></comment><comment><USER13> Instead of a front lens element you might get better results using a lens salvaged from an old medium format folder. The whole lens and shutter assembly comes off as a single standard sized unit.

These should be a good fit for the needed image circle and give better images as well.</comment>


A Primer on Cheap Software Defined Radios - <AUTHOR> http://blog.y3xz.com/blog/2012/12/02/a-primer-on-cheap-software-defined-radios/ <comment><USER2> It's too bad the author gave up on a Mac install. If all you need is the low level fundamental C++ libraries of GNU Radio, it can be done without installing dozens of support libraries. It's when you try to get all of the Python and graphic stuff happening that it gets really complicated.

A Mac Mini with one of these $20 sticks is a decent little system for working on this stuff. It has enough horsepower, is totally quiet, doesn't take up much room, and only uses about 20 watts during ordinary receiving tasks.

I took notes on how I made this work on my Mac here: <http://rachelbythebay.com/w/2012/09/19/brute/>

</comment><comment><USER3> Feel free to ask any questions about the rtl-sdr project. I've been watching it since it started and have since gotten a handful of commits into the project.

Some key things that were not mentioned. There is the GQRX frontend and the SDR# frontend. Both are fairly straightforward to set up and use.

Also not mentioned were the hardware differences (r820t vs e4000 vs fc0013). To get decent signals you need to add a bit of filtering to the USB power supply. And of course antennas, but that topic needs an entire book.

I've been working on a very simple sdr stack (currently merged in rtlsdr as rtl_fm) that is meant to provide a sox-like experience. It is also stupidly fast, enough so that even a little RaspberryPi can easily do pager decoding or police scanning.

<comment><AUTHOR> I'd love to read more on USB filtering. Could you point me to any resources?

<comment><USER3> Ferrite clips/donuts are recommended and easy to install. Put capacitors in parallel with the power, exact values vary. If you are feeling really ambitions, add ferrites in series with the power lines or give the dongle a solid metal enclosure.

The simplest is using a usb extension cable, the computer itself generates large amounts of broadband noise.

<http://electronics.stackexchange.com/questions/25951/>

<http://electronics.stackexchange.com/questions/36040/>

</comment></comment></comment><comment><USER4> The $15 USB dongle (actually $20) is this one right? [https://dx.com/p/mini- dvb-t-digital-tv-usb-2-0-dongle-with-f...](https://dx.com/p/mini-dvb-t- digital-tv-usb-2-0-dongle-with-fm-dab-remote-controller-844092096) Or is there a recommended hackable dongle?

<comment><USER2> Check out the sidebar here: <http://www.reddit.com/r/RTLSDR/> Note "tuner compatibility list".

<comment><USER5> and be sure to check out rachelbythebay's awesome projects about logging emergency communications, very impressive.

</comment></comment></comment><comment><USER6> I actually just finished assembling a SoftRock SDR ham radio receiver. <http://imgur.com/a/K9SIg>

The kit is $21 shipped from FiveDash.com

Build notes: <http://www.wb5rvz.com/sdr/sr_lite_ii/>

Some may wince at the idea of assembling a kit (esp one with SMT parts), but if you're not scared by those factors, check them out. No ham license needed, though if you use the stock crystal for the LO, you better brush up on your Morse Code! (I suggest using the 28.59MHz xtal)

</comment><comment><USER7> Somewhar off-topic, but interesting: you can buy some really complicated- looking radio gear. For those of you out there who love stuff with a lot of switches, check out this ICOM radio.

<http://www.universal-radio.com/catalog/widerxvr/0095.html>

I have no idea what it does -- I'm assuming it's very similar to my son's ham radio -- but it sure looks cool. Hobbies this complex have always been intriguing to me.

<comment><USER8> The coolest thing about the hobby is that it scales to all sorts of different interests and spending levels. Compare this to <[http://smallwonderlabs.com/Rockmite.htm>](http://smallwonderlabs.com/Rockmite.htm>). Sure, it has no buttons at all, but you build it yourself and you can still have a wireless conversation with someone half a world away.

</comment></comment><comment><USER9> Hi everyone,

I wanted to let you know that Per Vices has an SDR for sale right now, and has a frequency range from DC - 4GHz.

Check it out: www.pervices.com</comment>


Show HN: Calculate how many masks are needed for coronavirus - <AUTHOR> https://wars-mask.surge.sh/ <comment><USER2> Masks are largely ineffective in controlling the spread of Corona so the answer is 0.

Source: [https://www.bbc.co.uk/news/health-51205344](https://www.bbc.co.uk/news/health-51205344)</comment>


Apple drops to fifth place in laptop brand survey - <AUTHOR> https://9to5mac.com/2017/04/10/apple-macbook-laptop-survey/ <comment><USER2> But what can you do? If you want unix environment (and don't want support Microsoft with their telemetry spyware bullshit), and want retina quality text?

You're stuck with Apple, because nothing else like that exists. XPS 13 is close, but the scaling on Linux just isn't good enough yet, and there's the coil whine, and there's the touchpad, etc.

Apple has created a niche - high quality laptops with unix environment and HiDPI screens, and is the only one inside that niche and can do anything it wants with people who are in it.

It's sad, but that's the way it is. Apple has developers by the balls and know is.

EDIT: and this is really, really sad - and it's probably even worse on mobile, where you get to chose between Apple (bye bye jack) and giving all you data to Google 24/7, but I digress, sorry.

<comment><USER3> The Macbook trackpad is underrated. Well, maybe that's the wrong word. I know I take it for granted until the second I go to use any other laptop. And I'm still using a 2008 Macbook Unibody.

That said, my next machine won't be a Macbook. They are just too expensive, as the alternatives are catching up. It used to be that they were priced well to similarly-spec'ed competitors, but I'm not sure that's true any more.

<comment><USER4> Is it the hardware or software that makes it better? On my Thinkpads, I disable the trackpad in Ubuntu because it's just terrible. But when I boot into Windows 10, it works rather well. The difference seems to be whether unintentional brushings are ignored and how accurately the trackpad is ignored during typing.

<comment><USER3> I think it's a combination. The physical quality certainly feels nicer than others, and I think the surface area is larger too. Then, whatever is going on with the software side is great. I know that on mine, it's nicer in OSX than Windows with Bootcamp drivers, so I'm sure software has a lot to do with it.

It is the only trackpad that I enjoy using.

<comment><USER4> It's a shame. I've grown disillusioned with Apple, and have largely switched to Ubuntu on Thinkpads. But I really miss Apple's trackpad implementation.

I disable the trackpad and only use the pencil nub, which does work very well, but months in and I'm still not completely used to it. Not to mention other people are always disappointed to find my trackpad disabled if they jump on my computer.

</comment></comment></comment></comment></comment><comment><USER5> I believe it. Last summer I switched to a Dell M5510 (dev edition) from a MacBook Pro that was under a year old. Until then I had been a die-hard Mac user basically my entire life, but the MBP and new versions of the OS just had too many bugs:

\- Time machine backups being corrupted on a monthly basis

\- Audio occasionally not working after wake from sleep

\- Laptop failing to wake from sleep altogether

\- One or two kernel panics

In contrast, the Dell has had absolutely no problems running Linux for the past 9 months other than the inability to hot-plug the ethernet dongle. It's truly been more stable than the Mac. And the physical build quality is 90% of the way there, too. Aluminum case, similar keyboard, rubberized CF palm rest, etc. No complaints.

<comment><USER6> What made you realize that your Time Machine backups were getting corrupted? I've never seen that before and am curious to know if there's some kind of user notification.

<comment><USER7> The classic notification that "Time Machine must take a new backup". Usually that translates roughly to "Time Machine lost the plot and will now start from scratch, say bye to your old versions".

<comment><USER6> I haven't seen this one -- just when the backup disk is full and Time Machine says "this backup will erase backups before date x".

<comment><USER8> I've gotten it 3 or 4 times in the last 6-8 months. It makes a new backup from scratch which takes forever. Very annoying.

I use it for the times when I mess something up and want a file system level "undo" that goes back months.

I'd be happy if it just used spare space on the drive. Which it does, but only if you are also backing up to an external drive.

</comment></comment></comment></comment></comment><comment><USER9> I love my Surface and I tend to love the MS ecosystem, but they (and others) don't get enough flak for reliability.

I have owned bunches of MS hardware, and only one device has made it through its life without needing warranty service. That includes my Zune 80, Xbox 360, Surface RT, a Nokia 920 (iirc), and a Surface 3 (which I will need to take in for service _again_ after the semester ends).

More and more professors are switching to Surface devices, and students are, too. Unfortunately, just about every one I've seen has come with a story about hardware or driver issues. On top of that, the relative abundance of bugs in Office and Windows 10 lately isn't a good look.

While macOS has gotten worse over the last few releases, they're still nowhere near as bad as the Surface hardware in terms of reliability. It makes me sad, because I really love the devices but I just can't count on them to work 100%. 95% isn't good enough for a device that I use every day for hours per day; Apple seems to get that with their MBPs, and it seems the other manufacturers (notably Dell) are catching on.

<comment><USER10> I used to replace my Windows laptops around every two years because something broke or they just got painfully slow. My MB 13 now is now almost 3 years old still going strong. Everything works, I never had to reinstall the OS and it still looks great.

So for me a Macbook is still the better option. I would agree, however, that Apple has lost interested in moving the platform forward so I am not sure what I'll do once my MBP breaks down. I would like to see a touchscreen for example. The touchbar seems pretty half assed. We have SP3 at work and they have a lot of little issues so I doubt they will last very long.

<comment><USER11> I never understand this. Why would a machine get painfully slow after a few years of use? Do you install rubbish on it? Do you not take care to ensure that everything in your process task list makes sense? Do you look to see what's gobbling up CPU, memory or startup time?

I have had Windows machines for decades and never reach a state where the machine is slow or that it slows down since installation. The only thing to cause that is running endless taskbar apps or background services.

What are you doing to make it slow?

<comment><USER10> I have to install/uninstall a lot of software during development. Maybe the uninstall isn't complete, who knows? Most people I know reinstall Windows once a year from scratch.

</comment></comment></comment></comment><comment><USER5> Link to actual ratings: [http://www.laptopmag.com/articles/laptop-brand- ratings](http://www.laptopmag.com/articles/laptop-brand-ratings)

<comment><USER12> If I'm reading this right, it seems that the results are from a survey _of the Laptop Mag editorial staff,_ which is a little disappointing. I'm much more interested in seeing some third-party consumer data – very curious to hear how Joe Public's opinion of the current lineup compares to the tech industry's.

<comment><USER13> Joe Public isn't using expensive Apple laptops. They want a $500 laptop that does the job.

In any case, the editorial staff are much more capable of comparing laptops, since they not only use a wide variety of laptops, they are also likely to be more savvy than the regular public when it comes to newer features. I'm not sure what you intend to find after asking people who only have experience across a few brands and a few models.

<comment><USER14> Joe Public doesn't even use a laptop, they use a phone now.

<comment><USER15> Apple has figured this out too. They use the phone (iPhone) for 90% of their informational access needs, but still need a laptop to do more extensive work.

Now, however, instead of having multiple PCs, Joe Public needs one, and preferably one that lasts years. Enter Apple's high-end pitch.

The high resale value is both indicative of the value ascribed as well as a nice perk for buyers.

</comment></comment></comment></comment></comment><comment><USER16> For the lazy and/or mobile... "Lenovo, Asus, Dell, and HP. Acer tied Apple for fifth place."

<comment><USER17> That's really not the same thing as the title suggests. Sheesh, thank you for the tldr

<comment><USER18> The title is pretty accurate. What GP didn't include is that Apple was #1 for the previous 4 years.

</comment></comment></comment><comment><USER19> Lenovo has the best laptops? Is spyware a good thing now?

<comment><USER20> Someone recently gifted me a ThinkPad. It is hands down the most awesomely satisfying piece of computing equipment I have ever owned.

Of course, I wouldn't dream of running this or any other real computer with a pre-installed OS.

<comment><USER21> Doesn't matter if you re-install the OS. They spyware was baked into the BIOS.

[https://www.theregister.co.uk/2015/08/12/lenovo_firmware_nas...](https://www.theregister.co.uk/2015/08/12/lenovo_firmware_nasty/)

<comment><USER20> I do not reinstall "the OS".

One charm of this ThinkPad is it works superbly with some Arch Linux on it.

<comment><USER21> >I do not reinstall "the OS".

>it works superbly with some Arch Linux on it.

These 2 statements contradict each other. Either you reinstall the OS (OK maybe you didn't technically REinstall, but most people would call installing a different OS "reinstalling the OS") or you still running the default OS.

<comment><USER20> Installing a different OS is not 'reinstalling'

The BIOS thing was specifically targeted at Windows installations, a thing I havn't bothered with since the previous millenium.

</comment></comment></comment></comment></comment></comment><comment><USER22> Is this a real survey or just a random survey by the staff of some website? If so odd this is trending on HN. Otherwise where is the actual data and the number of people who actually made this ratings, the questions they were asked to see how statistically valid the results are.

</comment><comment><USER23> Any survey where Lenovo is at #1 should be taken with a grain of salt.

Sorry, this is too generous; it must be taken with a huge _truckload_ of salt. No way in hell would I equate a company who isn't able to maintain a functioning website with any sort of competency.

</comment><comment><USER24> Now more than ever, would be the time to launch a new Unix based Operating System and hardware startup since Apple is so weak, especially with a focus on developers. Imagine a commercially supported laptop line running Linux or FreeBSD.... one can dream

<comment><USER25> The problem is that Linux and it's ecosystem are completely fragmented. Say that you deliver the laptop with your own Linux distribution. People still expect that you support dozens of other distributions, desktop environments, etc. Providing support will probably blow away the relatively thin margins that most manufacturers have to work with.

The only company well-positioned to take marketshare from macOS is Windows. They are doing extremely nice work with Windows Subsystem for Linux, which is quickly moving closer towards providing enough of Linux to be productive. At the same time, Windows provides good driver support for recent hardware, applications such as the Adobe Suit, etc.

Unfortunately Microsoft has to screw up with telemetry, etc.

<comment><USER26> [http://slimbook.es/](http://slimbook.es/)

<comment><USER24> wow that's pretty awesome actually!

</comment></comment></comment></comment><comment><USER27> Sales said different: [http://fortune.com/2016/11/09/apple-macbook-pro- sales/](http://fortune.com/2016/11/09/apple-macbook-pro-sales/)

And performance: [http://www.computerworld.com/article/3136714/data- storage/ap...](http://www.computerworld.com/article/3136714/data- storage/apples-new-macbook-pro-may-be-the-worlds-fastest-stock-laptop.html)

I have the 2016 15" MBP and it's a solid machine. The Touch Bar is also surprisingly pleasant once you get used to it and customize it a little.

</comment><comment><USER28> Dell at 3rd and HP at 4th. Pretty sure whoever they surveyed doesn't use laptops.</comment>


Ask HN: Which stocks should be scrutinized for Covid-related insider trading? - <AUTHOR> <comment><USER2> The world's largest paper products producer Koch Industries.</comment>


What I Learned Watching All 44 AppSec Cali 2019 Talks - <AUTHOR> https://tldrsec.com/blog/appsec-cali-2019/ <comment><AUTHOR> tl;dr I wrote detailed summaries of all of the OWASP AppSec Cali 2019 talks (~32 hours of video) so that you can quickly grok the key insights and pro tips and then apply them at your company.

I also calculated some stats, including bar charts for talks by company (Netflix had the most) and talk categories.

The talks spanned a variety of topics, here are just a few examples:

* Areas you'd expect, like threat modeling, web security, containers and Kubernetes security

* How to be an effective first security hire at a startup

* How to build a strong AppSec program

* How to scale security with automation, tooling, and partnerships with developers

* How to build a positive security culture and make security training fun and engaging

* Netflix's cloud security defense in depth strategy and how they protect AWS creds

* How Dropbox protects heterogeneous internal web apps

* How Slack vets Slack Bots and how Salesforce secures the AppExchange

* How Salesforce protects user accounts via browser fingerprints and how Pinterest protects * accounts whose passwords have leaked in third-party breaches

* Lessons learned running a cyber warfare exercise with UN diplomats

I'd be happy to chat about any of the talks, my process for writing all of the summaries (I got a lot better over time), or anything else security related.</comment>


Computer Engineering (A DEC View of Hardware Systems Design) - <AUTHOR> http://research.microsoft.com/en-us/um/people/gbell/Computer_Engineering/index.html <comment><USER2> Wow that is a painful way to read this excellent book.

For a long time hard copies of this book would go for $200 to $300 on Ebay, being bought by computer collectors and general computer knowledge archivists. There is so much solid information in it about computer design, the tradeoffs, the engineering that it really should be on anyone's bookshelf who is serious about systems.

<comment><USER3> and a good scan is available at [https://archive.org/details/bitsavers_decBooksBeng_37322315](https://archive.org/details/bitsavers_decBooksBeng_37322315)</comment></comment>


Yandex: self driving car on narrow streets after a snowfall - <AUTHOR> https://www.youtube.com/watch?v=Bx08yRsR9ow <comment><USER2> Is there some reason why internet search companies are so attracted to self driving cars?

<comment><USER3> Business diversification. Yandex has its own taxi service (btw they've bought Uber on territory of CIS). Yandex just like Google is an ad selling company (90%+ of their revenue is from selling ads), and tracking users' geo location is the way to sell more expensive ads. They also charge money for rides and take fees, so ad selling + fees = big money if they can scale taxi service in the future.</comment></comment>


Cazoodle - Semantic Data-aware Search - <AUTHOR> http://euwyn.com/post/92347353/cazoodle-semantic-data-aware-search

<comment><USER2> While it's a nice site, especially taking into account the percentage of research projects ever reach its level of usability/commercialization, I am not quite convinced that there is ground breaking underlying technology -- how is it fundamentally more novel than a Craigslist marshup (e.g. <http://www.housingmaps.com/>)?</comment>


Ghost ship washes ashore in Ireland after more than a year at sea - <AUTHOR> https://www.theguardian.com/world/2020/feb/17/ghost-ship-mv-alta-washes-ashore-ireland-year-sea-storm-dennis <comment><USER2> I'm reminded of this joke:

 _US Ship_ : "Please divert your course 15 degrees to the North to avoid a collision."

 _Canadians_ : "Recommend you divert YOUR course 15 degrees to the South to avoid a collision."

 _US Ship_ : "This is the captain of a US Navy ship. I say again, divert YOUR course."

 _Canadians_ : "No, I say again, you divert YOUR course."

 _US Ship_ : " _THIS IS THE AIRCRAFT CARRIER USS ABRAHAM LINCOLN, THE SECOND LARGEST SHIP IN THE UNITED STATES ' ATLANTIC FLEET. WE ARE ACCOMPANIED BY THREE DESTROYERS, THREE CRUISERS AND NUMEROUS SUPPORT VESSELS. I DEMAND THAT YOU CHANGE YOUR COURSE 15 DEGREES NORTH. THAT'S ONE-FIVE DEGREES NORTH, OR COUNTER MEASURES WILL BE UNDERTAKEN TO ENSURE THE SAFETY OF THIS SHIP._"

 _Canadians_ : "This is a lighthouse. Your call."</comment>


Microsoft Tries to Promote Windows 8 Without Hurting Windows 7 Sales - <AUTHOR> http://www.pcworld.com/article/257503/microsoft_tries_to_promote_windows_8_without_hurting_windows_7_sales.html

<comment><AUTHOR> I don't really see a problem here.

Windows 8 will be a very disruptive upgrade for enterprise users due the greatly changed Metro UI. I think enterprises will instead focus on migrating desktops from Windows XP to Windows 7.

Many pundits think that the real problem for Microsoft will be the slow sales of Windows 8 for enterprise desktops.</comment>


MIT prof's notorious talk on How to Talk - <AUTHOR> http://isites.harvard.edu/fs/html/icb.topic58703/winston1.html

<comment><USER2> [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/01-pre...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/01-prelude.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/02-int...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/02-introduction.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/03-sta...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/03-starting.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/04-big...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/04-bigfour.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/05-tim...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/05-time&place.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/06-bla...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/06-blackboard.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/07-ove...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/07-overheads.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/08-pro...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/08-props.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/09-sty...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/09-style.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/10-sto...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/10-stopping.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/11-que...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/11-questions1.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/12-que...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/12-questions2.mov) [http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/13-pos...](http://ice.fas.harvard.edu/~bok_cen/booksvid/vids/hts/13-postlude.mov)

<comment><USER3> Alternatively, if you're on a Unix-like system, you can download them all easily using wget:

wget -nd -A.mov -r -l1 -np <http://ice.fas.harvard.edu/%7Ebok_cen/booksvid/vids/hts/>

For anyone who doesn't know wget, this can be dissected to:

-nd means "no directories", so don't mirror the directory structure

-r means to visit recursively (i.e. grab relative links)

-l1 means "one level" (i.e. don't grab the links from any subpages)

-np means "no parent" (i.e. don't go to subdirectories which are parent of the current one)

-A.mov means 'accept' .mov (i.e. download movs)

<comment><USER4> Or if you are on windows, also:

<http://www.christopherlewis.com/WGet/WGetFiles.htm>

With the latest version here: <http://www.christopherlewis.com/WGet/wget-1.11b.zip>

</comment></comment></comment><comment><USER5> When I followed the article to its YouTube video, it said the video was no longer available.

Here appears to be a summary of it here: [http://video.google.com/videoplay?docid=6084221876531914922&...](http://video.google.com/videoplay?docid=6084221876531914922&q=Patrick+Winston+-+How+to+Speak&total=8&start=0&num=10&so=0&type=search&plindex=0)

And Harvard has it all in a number of separate videos: [http://isites.harvard.edu/fs/html/icb.topic58703/winston1.ht...](http://isites.harvard.edu/fs/html/icb.topic58703/winston1.html)

</comment><comment><USER6> why is this notorious?

<comment><USER7> Notorious is the wrong word. It is well-known, however, and well-reputed on MIT's campus. It's an annual standing-room-only event.

</comment></comment><comment><USER8> pretty good talk about talks. maybe an update with projectors and graphics would be good. Does Al Gore's Inconvenient truth talk or some of Steve Job's talks not contravene many of these items?</comment>


Linux and multiple Internet uplinks: a new tool - <AUTHOR> https://github.com/drsound/fault_tolerant_router

<comment><USER2> I have a couple of accounts with wireless providers. One is fast, metered, and bandwidth capped and the other is unmetered but really manipulated, oversold, and unreliable.

So this sounds like it might really work well for me.</comment>


Ask HN: What would you build with $70? - <AUTHOR> Just curious to know what you would do/build if you only had $70 in your account <comment><USER2> I would use the $70 dollars to buy 2 Tacos for .99 everyday for 70 days at Jack in The Box while I think of a better plan.

</comment><comment><USER3> If it was 1998 again, I would buy a single domain name! (for a year)

Times have sure changed.

</comment><comment><USER4> Please clarify, is this account used for things like food and rent?

<comment><AUTHOR> Yes, basically if you only had $70 left</comment></comment>


Make for hipsters - <AUTHOR> https://mattandre.ws/2016/05/make-for-hipsters/ <comment><USER2> This introduction neglects to mention that Makefile rules are primarily rules to derive files (usually from other files). Make will not re-run a rule when the target (file) generated by the rule is already up to date.

From this perspective, a well structured Makefile can be thought of as a pipeline/graph of functions, that derive values (files) from previously known values (files).

Expressing a build process in this kind of way makes it possible to support incremental / distributed build in a fairly natural / obvious way.

It is less obvious how to support incremental / distributed builds for the more general kind of imperative build script that does a bunch of side effects (e.g. the style of build script you'd get using something like ant).

<comment><USER3> For anyone who's curious: you can use a ".PHONY" target to force targets to be rebuilt (i.e. that they don't correspond to real files). All dependencies of the .PHONY pseudo-target will be rebuilt unconditionally when encountered. Typically, "all", "clean", "install", etc. will all be phony targets as the goal isn't to literally make a file called "all".

The syntax is simple:

        .PHONY: all clean install

marks "all", "clean" and "install" as phony. Even if the file "all" happens to exist, "make all" will still trigger the build.

<comment><USER4> > All dependencies of the .PHONY pseudo-target will be rebuilt unconditionally > when encountered.

To be clear, they will rebuilt only if they are not already up to date relative to their own dependencies, right?

<comment><USER5> yes.

Phony is only about making sure that 'all' is seen as target, not as file or folder

<comment><USER6> This is only an issue if you do indeed have files or folders named the same as targets, right? For example, if you do have an "all" file, you want make to ignore the file when considering the 'all' target, you'd apply .PHONY to the 'all' target.

<comment><USER7> right.

</comment></comment></comment></comment></comment></comment><comment><USER8> I prefer a help rule in the Makefile, like so:

       help:
            @grep -P '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'

Assuming that the trimmed Makefile read:

       build: ## Build the binary

       clean: ## Clean the binary and intermediate files

       distclean: clean ## Clean dependencies, intermediate files and binary

       deps: ## Install dependencies

       all: deps build ## Get dependencies and build binary

       release: distclean all ## distclean + all

Now issuing _make help_ would display:

       all                  Get dependencies and build binary
       build                Build the binary
       clean                Clean the binary and intermediate files
       deps                 Install dependencies
       distclean            Clean dependencies, intermediate files and binary
       release              distclean + all

<comment><USER9> First off I wanted to say this is amazing and I'm going to roll it into my current and future Makefiles.

Second, if you're on OS X the `-P` flag is going to have problems [1]. Works fine if you just replace `grep -P` with something like `ack`!

[1] [http://stackoverflow.com/q/16658333/169153](http://stackoverflow.com/q/16658333/169153)

</comment></comment><comment><USER10> Do so many people who go on this site not know how to make makefiles? Also why is it for hipsters? Or is the article for hipsters? Why does the author call his own published notes factually inaccurate? Why is it hacky to use a makefile? Is this all a big ruse?

<comment><USER11> Unfortunately, many developers have a mortal fear of anything from before the year 2000. They've grown up with this tribal wisdom of unix and it's various tools being a beardy wilderness of byzantine hacks and toxic waste dumps.

Meanwhile they'll merrily pile up a thousand node modules into a towering pillar of bad, just to run the equivalent of a shell one-liner, and call it a job well done.

<comment><USER12> Please show me the makefile for your _Javascript project_ that will run _perfectly_ on Linux, Windows and Mac with little to no setup.

I doubt it exists. Until then, I'll stick with my Node.js build tools, _thank you very much_.

Honestly, if anyone has an example of a makefile that can bundle my scripts, insert bundle links into my HTML which is compiled from jade and nunjucks templates, minify the JS, CSS and HTML and optimize my images...I'd love to see that.

<comment><USER13> Sure github.com/nwmcsween/asm.css/Makefile

<comment><USER12> "that will run perfectly on Linux, Windows and Mac with little to no setup"? No.

I see no reason at all to use a Makefile in that project other than it being your personal preference. It's completely non-standard for web projects and it will only serve to confuse and annoy the next developer who wants to work on your code.

Node.js, NPM, Gulp and Grunt are all orders of magnitude easier to get running on a wide variety of operating systems than your typical C/C++ build tools. Furthermore, you don't have to learn some cryptic syntax to use them. It's all Javascript and JSON.

<comment><USER13> Because gulp, grunt are not real build systems, they are glorified scripts that do whatever, there is no tracking of dependencies, nothing. Make isn't a cryptic syntax it's a quite simple language that took me about a day to understand fully.

<comment><USER12> Incorrect. Gulp and grunt can track dependencies the same way you do anything else with it...just add the right plugin.

Saying that gulp/grunt aren't real build systems because of one feature that you actually missed anyway is like saying that Javascript isn't a real programming language because it doesn't compile to assembly.

Practically nobody uses Make for JS outside of a few misguided folks. There are good reasons for that. One of them is that Make's craptic language is useless outside of that one single task. Another one is that Make sucks at cross-platform. It forces you to use OS tools that don't exist on every OS. Meanwhile, Node.js tools work everywhere.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> The single biggest piece of advice I can give for Make is to make sure your text editor uses real tabs in Makefiles. My personal preference for everything is spaces (mostly a habit learned from Python's PEP 8), but Make doesn't honour spaces for indentation - only tabs.

Despite being an obvious usability hole, this has never been fixed. Exacerbating the issue is the poor error message given upon encountering a space-indented line in Make:

        Makefile:2: *** missing separator.  Stop.

Make is ubiquitous and fairly easy to use, but it's warts like this that remind you that it is fundamentally a build system from the _far_ past.

<comment><USER14> That's an error message from GNU Make. I'm not sure what version of GNU Make you're using, because GNU Make has emitted the following since 1998:

      Makefile:2: *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.

See 2c64fb221a265f9e7fc93374906b1e7540377561:

      1998-09-04  Paul D. Smith  <firstname.lastname@example.com>

      * read.c (read_makefile): If we hit the "missing separator" error,
      check for the common case of 8 spaces instead of a TAB and give an
      extra comment to help people out.

I guess you may have indented it in the modern way with 4 spaces of "tab". Either way, there's also help to be had from your other tools, e.g., vim highlights space-indented make recipes in glaring red error bars.

<comment><USER15> You can also add a line like this to your .vimrc:

      au FileType make setlocal ts=4 sts=4 sw=4 noet

and have vim automatically use "hard" tabs when it detects that you're editing a Makefile. Of course, you can s/4/2/g or whatever your preferred tab width is.

</comment></comment></comment><comment><USER16> In case anyone's curious, I've been using Makefiles for web development for a long time. The src files of a webpage are un-minified javascript, less/sass files, and thumbnails. The dst files are the minified/built/thumbnailed output. This suits Make particularly well.

[https://gist.github.com/zx2c4/11de49b2780c787b3ed5e1ee394857...](https://gist.github.com/zx2c4/11de49b2780c787b3ed5e1ee39485747)

That's the Makefile I use on [https://www.edgesecurity.com/](https://www.edgesecurity.com/) if you're interested. It also has in it some very simple ssh/rsync deployment mechanism. Since the deployment relies on the built files, I can simply run:

        $ make deploy

And the entire webpage is built and deployed in one step.

Every webpage I manage has a variant of this, with all sorts of rules for building and managing things. It turns out to be much easier than grunt or ant or random bash scripts or vagrant or whatever else kids use these days.

</comment><comment><USER17> This tutorial is awful.

You should read the manual, which is shorter than that page!

make is NOT:

        alias:
            commands

this will bite you when you least expect. Make is:

        targetfile: inputfiles
            commands to get targetfile to exist

and you can use things like

        %.css_min: %.css
            sass stuff

        .PHONY: release
        # above is needed otherwise you won't build if there is a release/ dir
        release: release-min.css

        release-min.css: (list *.css_min files, there are helpers for it)
            cat *.css_min > release-min.css

anyway. you get the idea. work with files and why you need those files.

<comment><USER18> Yea, you can just do what he is doing using shell scripts anyway. I don't see why you'd use make for it.

</comment></comment><comment><USER19> Meanwhile, there's a perfectly good introduction in the GNU Make manual:

[https://www.gnu.org/software/make/manual/make.html#Introduct...](https://www.gnu.org/software/make/manual/make.html#Introduction)

Also available in print: [https://shop.fsf.org/books-docs/gnu-make- version-381](https://shop.fsf.org/books-docs/gnu-make-version-381)

<comment><USER15> I learned how to use make by reading OpenBSD's man page for it[1]. It's written extremely well, and is concise yet comprehensive. Of course, it's specific to BSD make, but most of the concepts are portable to GNU make with some caveats. FreeBSD and NetBSD, iirc, both have similarly high-quality manuals for their respective makes, and I've come to favor BSD make in general, using bmake[2] on Linux and Cygwin for my own projects (bmake being a portable, packaged-up version of NetBSD's make).

[1]: [http://man.openbsd.org/OpenBSD- current/man1/make.1](http://man.openbsd.org/OpenBSD-current/man1/make.1)

[2]: [http://www.crufty.net/help/sjg/bmake.htm](http://www.crufty.net/help/sjg/bmake.htm)

</comment></comment><comment><USER20> I like to use makefiles for managing docker containers / images. For my needs it's a more practical and flexible solution than other docker orchestration / management tools I've tried. A few things I've learned that might be useful:

* (cd /path/to/something && make goal)

* You can use .DEFAULT_GOAL := goal_name to set the default target run by 'make' with no target name specified.

* Adding .SILENT will suppress make entering/leaving directory messages. Probably wise to be careful with one until you're 100% sure you're not ending up in an unintended directory doing nasty things.

* You can use $(COLOR) = `tput setaf x' and $(RESET) = `tput sgr0` to add colors to your make output. For example @echo "$(RED)ERROR!$(RESET)"

* Use if ! -f conditionals to start goals that rely on external scripts/programs. Otherwise make will run until it hits the error which will leave you with a partially completed goal.

      goal:

        @if [ ! -f ./scripts/blah.sh ]; then echo "ERROR: ./scripts/blah.sh not found"; exit 1; fi

        @echo "without the if ! -f this command would run"

        @echo "and so would this one"

        @./scripts/blah.sh $(IMPORTANT_STUFFS)

        @echo "but not this one"

<comment><USER21> > You can use .DEFAULT_GOAL := goal_name to set the default target run by > 'make' with no target name specified.

I had always, perhaps erroneously, thought that the very first goal in the file was the default one.

<comment><USER20> IIRC .DEFAULT_GOAL is a relatively new feature. If it's not set goals will be processed in the normal order.

</comment></comment></comment><comment><USER22> I routinely use a Makefile for building my frontend resources, which works quite well:

[https://github.com/adewes/gitboard/blob/master/Makefile](https://github.com/adewes/gitboard/blob/master/Makefile)

Using the inotify tools it's even possible to automatically trigger a rebuild whenever a file changes.

For me, no need to use Gulp anymore, as Makefiles are easier to reason about, more composable and make use of existing infrastructure instead of reinventing the wheel over and over again.

</comment><comment><USER23> > You need to create a makefile to tell make what to do.

Nope. You can say "make hello" and have make automatically use its default rules - which can be configured - to e.g. compile hello.c into a hello executable. I use this frequently.

<comment><USER3> Make's default implicit rule set is very useful for C, C++, Fortran, Pascal, and basically nothing else.

Out of curiousity: how do you configure the implicit ruleset? I wasn't able to find documentation on that (the closest I found was [https://ftp.gnu.org/old- gnu/Manuals/make-3.79.1/html_chapter...](https://ftp.gnu.org/old- gnu/Manuals/make-3.79.1/html_chapter/make_10.html#SEC95), which explicitly documents the Make implicit rules but says nothing about changing/augmenting them).

<comment><USER24> Many implicit rules make use of variables, which you can change as you see fit. For example, creating an object file from a C file will do something like "$(CC) $(CFLAGS) $< -o $@". You can change CC to change the compiler used, and add stuff to CFLAGS to add compiler options, all without touching the rule itself.

Other than that there's not much configuration, but the predefined rules are usually quite simple, so it's pretty easy to just write your own implicit rules if the predefined ones don't suit your needs.

</comment></comment></comment><comment><USER25> A better title would have been 'Make 101'. Its an absolute beginners tutorial.

<comment><USER26> A _more precise_ title would have been 'Make 101'. I also wouldn't have read an article by that title, although (not knowing any make) I'm glad that I did read this one.

</comment></comment><comment><USER27> Something unmentioned so far is when you start getting "advanced" the make scene is much like the shell scene and its fairly easy to write something that only runs on GNU make or only on BSD make and there is plenty of opportunity for argument about that being a bug or feature etc.

So there's that. Make being such a good idea and a popular standard, there's no shortage of people implementing not quite compatible make-like-systems.

Another fun tip is make your makefile executable and try the first line like

#!/usr/bin/env gmake

or whatever seems appropriate. Or perhaps GNU make is installed as "make" on your OS or you use an "alternatives" link farm or whatever. Some people will flip out if you put arguments on that command line, others will pat you on the back and high-five. So there's that "fun".

</comment><comment><USER28> One really neat thing about make: If you include other makefiles then before including them make checks if there are prerequisites of these files and rebuilds them as needed. One can use this to automatically generate header dependencies of translation units for C/C++ projects. Some of the relevant lines in one of my Makefiles:

         include ${DEPENDS}

         ${DEPDIR}/%.d: ${SRCDIR}/%.${SRCEXT}
         	@mkdir -p ${shell dirname $@} ; \
         	$(CC) -MM ${INCLUDE} -mmcu='${AVRTARGET}' $< >> $@

If any file in the "include" line needs updating then it is generated by gcc and included in the same make run. I didn't find a good documentation about this feature and I discovered this with make's pretty verbose -d option. Previously I did something like this using multiple makefiles and recursively calling make which is generally frowned upon (for valid reasons).

<comment><USER29> I think these days you're better off using -MMD to generate header dependencies at the same time as compiling, rather than doing it in a separate rule.

        %.o: %.c
                $(CC) $(CFLAGS) -MMD -c $<
        -include $(OBJECTS:.o=.d)

<comment><USER28> Is this always correct? The %.d files don't depend explicitly on the %.c files so they aren't rebuilt every time at the beginning of the make run, so old dependencies are included after a change in header dependencies. I'm still trying to construct an example where such a makefile breaks though.

<comment><USER29> The only case it becomes problematic is if you delete a header file, as make won't know how to remake it and won't recompile the C file (removing the dependency) until it has done so. There are two options to resolve this:

Also specify -MP on the GCC command line, which causes GCC to emit an empty rule for all the header files, like this:

        foo.o: foo.c foo.h bar.h
        foo.h:
        bar.h:

Alternatively, you can write a generic empty header creation rule:

        %.h:

Which has the same effect.

<comment><USER30> Neither make nor any of its alternatives or improvements get header files completely right. This is because compilers simply _do not emit_ all of the information. A build tool not only has to know about the header files found, to monitor them for changes, but also has to know about the places where header files were _not_ found, to monitor for files suddenly appearing there. I wrote a C++ preprocessor that would spit out both sets of information, for use with redo, but I've never published it. Without this information things can end up not being re-built correctly in a number of cases that one can encounter in practice.

<comment><USER28> > A build tool not only has to know about the header files found, to monitor > them for changes, but also has to know about the places where header files > were not found, to monitor for files suddenly appearing there.

I wonder how my makefile fails here.

</comment></comment></comment></comment></comment></comment><comment><USER31> I don't see what this has to do with hipsters. The fonts are not very cool.

<comment><USER32> Abuse of a top-level domain which occurs at the end of the author's name - that gets about a 7/10 on my hipsterometer.

<comment><USER33> I own forhipsters.com, what does that score?

<comment><USER34> 5/10 but only because it's not forhipste.rs

</comment></comment></comment></comment><comment><USER35> Here's a more in-depth and easy to read guide for beginners: [http://www.computerhope.com/unix/umake.htm](http://www.computerhope.com/unix/umake.htm)

If you want to see some interesting/convoluted Makefiles, get a very complex, large piece of software (something from Gnome, possibly) and use autoconf & automake to generate the Makefiles, then pour through them to see how they tick.

<comment><USER3> For the target audience (total Make beginners) poring through autogenerated makefiles might not be such good advice. It's functionally equivalent to telling people to learn Bash by studying a `configure` script, or learning JavaScript by studying EmScripten output.

If you're decent with Make and want to learn advanced tricks, then by all means go right ahead, but 95% of Make users will never need to delve into such details.

</comment></comment><comment><USER36> I feel like the author just structured their build dependencies wrong. I used to work on a project that had a _16,000_ line Makefile, where almost the entire file was actively in use. So you can abuse any build system.

</comment><comment><USER37> Another way is using npm-install-changed for the "npm install" problem and fix everything else with other npm scripts like npm-run-all. Use make if you like it but if everything else is npm you can solve most problems using "npm run" and npm scripts.

[https://github.com/oNaiPs/npm-install-changed](https://github.com/oNaiPs/npm- install-changed)

[http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build- tool...](http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/)

[edit: formatting]

<comment><USER38> Supplying even a trivial Makefile is advantageous if your target audience knows it. They'll see a Makefile and just do `make && make check && make install` without needing to browse your README.

For example, Debian's packaging process is heavily optimized towards Makefiles that supply the standard targets, and you can reduce a lot of friction for packagers if you supply a wellbehaving Makefile with your program. (Even if developers would usually `go build` or whatever instead of `make`.)

<comment><USER37> yes it is good to adapt to your target audience. If that is linux users a makefile might be the best. For a lot of other users like javascript web developers npm might be better. For end users on windows an msi or exe installation file is probably best. Makefiles are unusual on windows which makes them a somewhat bad solution even for developers on windows machines. If you want to create system that works on multiple platforms there are probably better ways. At least make sure to not use some *nix-only syntax in the makefile or calling grep or awk.

<comment><USER30> Makefiles are only considered unusual on Windows if one ignores decades of .MAK files. (-:

</comment></comment></comment></comment><comment><USER39> I use make to manage JS and container builds. Couldn't imagine using anything else right now.

</comment><comment><USER40> Answer me this, does anyone have a good cross-platform method of writing Make files? I guess with Windows now having bash, I can actually just target bash scripts?

<comment><USER41> Take a look at makefiles from various suckless projects. For example: [http://git.suckless.org/dwm/tree/Makefile](http://git.suckless.org/dwm/tree/Makefile)

Their makefiles work with GNU Make and BSD Make, don't know about nmake (AFAIR Windows).

</comment></comment><comment><USER42> Pop make quiz: what is the difference between these two Makefiles?

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----

foo: bar

bar:

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----

.PHONY: foo

foo:

<comment><USER43> if bar happens to already exist no rules will execute for the first.

</comment></comment><comment><USER44> Making Make Make Sense from @izs is great:

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

</comment><comment><USER45> Make is old and crufty, but it's still the best at what it does.

What I'd really love right now is a program which can look at a Go source tree and write make rules such that I don't have to run go build or go install unless dependencies have actually changed. It's really annoying to be pushing new images when nothing has actually changed.

<comment><USER46> > but it's still the best at what it does.

If "what it does" means "build complex software projects" I think your claim is rather debatable.

GHC is currently switching away from make after having already overhauled its make-based build system two times:

[http://research.microsoft.com/en- us/um/people/simonpj/papers...](http://research.microsoft.com/en- us/um/people/simonpj/papers/ghc-shake/ghc-shake.pdf)

</comment></comment><comment><USER13> The problem with $buildtool is that 99.99% of the time the people implemting it had no idea how make worked and invented something easier to use in the particular domain (grunt, gulp, webpack and many more). Make creates a DAG of files and resolves targets, the examples given in this article also fail to understand how make works.

</comment><comment><USER47> The depressing thing is that after decades of trying, there still does doesn't seem to be anything better than Make.

And Make is _terrible_.

At least if want have to deal with more than one directory.

</comment><comment><USER48> Make is a great tool for automating simple things, but if you use a programming language you should probably use native automation tools for common tasks. If you have any non-trivial logic or want to enable code-reuse make doesn't seem like the right choice either.

<comment><USER49> I hate this. Every programming language that bolts on its own build environment. Make is language agnostic and that's a huge benefit, it means you have to learn about just _one_ build tool and its peculiarities and that will allow you to build many different projects in different languages.

All these languages with their half-baked build tools that won't accept that they may have to play nice with other languages and _their_ build tools are not helping.

Of course it is great when you write a language to also throw in a build tool, but in the end if the build tool re-implements 30% or so of make in a broken way I don't see the point.

Make does have its limitations, but most ordinary projects get nowhere close to reaching those.

<comment><USER50> > Of course it is great when you write a language to also throw in a build > tool, but in the end if the build tool re-implements 30% or so of make in a > broken way I don't see the point.

Well, other build tools sometimes also do a lot _more_ than make ever did. (And in some areas, perhaps less.)

Example: Cabal/cabal-install (for Haskell) can automatically fetch all your project's dependencies and automatically compile them for you.

> Make does have its limitations, but most ordinary projects get nowhere close > to reaching those.

I suppose it depends on what you mean by "ordinary", but IME this Makefiles by virtue of being purely file-based is useless for most of _my_ projects. There are a many langauges (e.g. Java/Scala, Haskell) where it just doesn't fit for normal development. As an example: Tracking intra-file dependencies for proper recompilation is _really_ difficult to for Scala code without reimplementing a huge chunk of a Scala compiler. (I'd venture to suggest that you'd be foolish to even try doing this in Make.)

<comment><USER38> > Tracking intra-file dependencies for proper recompilation is really > difficult to for Scala code without reimplementing a huge chunk of a Scala > compiler.

tup ([http://gittup.org/tup](http://gittup.org/tup)) has a really nice way of handling interdependencies. They set up some filesystem magic to figure out which files were read while compiling a certain target, and record these files as dependencies for the target.

Another instance of a hard problem ("reimplementing [...] a Scala compiler") that turns into a very easy problem once you look at it from the right angle.

<comment><USER51> I love tup so much. It's a "functional reactive" build tool that practically nobody's heard of, so I'd argue that it's even more "hipster" than make (whatever that means).

When I decided I needed a single build system to replace a hodgepodge of stuff, I looked at make because that was apparently the go-to thing.

It took me about 2 minutes to decide that I wanted no part of make. I'd assumed it was basically what Tup is. I'm lucky that I learned about Tup from a thread on this site, because it's made me so happy (especially once the initial pain was over... and yeah, you have to change).

So whenever I see these posts, I make sure that someone is mentioning Tup as a clean alternative.

edit: to be explicit, Tup is obsessed with speed and correctness, and handles incremental builds optimally (see Mike Shal's whitepaper on this). The "price" is that you can't _modify_ files during a build. A file is either "regular" (not touched by build) or "generated" (produced wholly from one build rule). You have to describe the complete DAG up front. Because of all this, Tup will actually _remove_ build targets when they're not needed, which I believe no other build system does. I could never go back.

<comment><USER38> The only practical problem with tup is that it's not make, which creates friction for packagers. And since I'm doing some packaging work myself, I'm heavily optimizing for packager happiness.

</comment></comment></comment></comment></comment></comment><comment><USER52> make is not used in this post. He wrote shell scripts with a single tab indentation.

</comment><comment><USER53> I guess make could be for hipsters in the same way that vinyl is for hipsters, i.e. obsolete technology that should have gone away by the end of the 80s.</comment>


"Data Science Machine" finds patterns more effectively than most humans - <AUTHOR> http://www.csail.mit.edu/data_science_machine <comment><USER2> Original paper: [https://groups.csail.mit.edu/EVO- DesignOpt/groupWebSite/uplo...](https://groups.csail.mit.edu/EVO- DesignOpt/groupWebSite/uploads/Site/DSAA_DSM_2015.pdf)

Basically how the "Data Science Machine" works: 1) "Feature synthesis": features related to the target are discovered by following foreign keyed relationships in a relational database, automatically generating "deep" queries involving many joins. Aggregates like MIN, MAX, AVG, and STD are automatically calculated to be used as additional features. 2) "Dimensionality Reduction": Truncated SVD reduces feature length 3) "Modeling": Remaining features are clustered and then modeled by Random Forest decision trees with learned hyper parameters.

There's a ton more optimizations, but that's the gist.

The machine can't be evaluated as a stand-alone product, though, because the researchers also mention manually generating features on the problems they tested, without reporting the effect of their own tampering.

They do conclude the system is more of a time-saving device than the general pattern-recognition one that our journalists seem to think it is.

Edited: formatting

</comment><comment><USER3> Is this related to BayesDB (also from MIT's CSAIL)?

[http://probcomp.csail.mit.edu/bayesdb/](http://probcomp.csail.mit.edu/bayesdb/)

</comment><comment><USER4> Url changed from [http://phys.org/news/2015-10-human-intuition-algorithms- outp...](http://phys.org/news/2015-10-human-intuition-algorithms-outperforms- teams.html), which copies this.

</comment><comment><USER5> What a crap article. No examples of "predictive patterns in unfamiliar data sets" are given, no explanation of the competition, nothing of value. For all we know the humans could be toddlers.</comment>


The Dark Side of Techno-Utopianism - <AUTHOR> https://www.newyorker.com/magazine/2019/09/30/the-dark-side-of-techno-utopianism <comment><USER2> To blame all the $#!+ that's going on Facebook et al is really either missing the point or willful misdirection.

I'd argue that fear not Facebook brings out the worse in people - fear about income or place in society.

In my view, the real cause of the recent rise tribalism is rising social inequality and corrupt politics doing nothing about it.

You could argue then why hasn't democracy acted?

I'd argue that it's paid for content - whether it's ads or partisan coverage, lobbyists, paid shills, or astroturfed pressure groups all managed by professional manipulators ( ad people ) - that's the problem, not the medium ( Facebook or TV/radio or whatever).

Why haven't politicians acted decisively on climate change? I don't think it's the Internets fault.

<comment><USER3> > rising social inequality and corrupt politics doing nothing about it.

People keep saying inequality but I'm still searching for a convincing argument as to why my neighbour's life getting better should make me unhappy. I really don't see it.

The problem is more likely to be that employee productivity has been completely delinked from compensation. That means that a lot of economic measurements showing good times are irrelevant. Eg, to a typical worker productivity growth prior to ~1971 meant better living conditions. Productivity growth after 1971 means nothing. Recipe for political disaster, because now the workforce has no particular incentive to make things better. Technological improvements just mean layoffs or expenses reeducating.

I can easily see why I should be unhappy about that. If I go from being responsible for 1% of a companies output to 2%, why isn't there a mechanism for me to get more money? I dream for a world where workers automatically own a significant share of the company.

> You could argue then why hasn't democracy acted?

Everyone agrees on symptoms, there is plausible deniability about the problems because there is just enough disagreement on the root cause.

<comment><USER2> We are seeing the first generation where large numbers of children are worse off than their parents. ie there isn't a sense of general progress.

Parents are working, but children can't find a well paying job or put down a deposit for a house. The trend in life expectancy is even reversing.

The concept of justice and fairness comes in to play as well - it's not just about whether people feel they have enough, it's about whether they feel they are getting a fair share.

If you went to work and got paid the living wage ( just enough to get by ) and somebody else doing the same job got paid more - most people would feel it was unfair and be unhappy.

<comment><USER4> Yes, excellent points. On top of that, people are clearly (as a group) less well off than their parents, with hardly any pensions, not enough money from a single income (think about how elizabeth warren's mom supported the family and a house with just a min. wage job in the 50s).

It's only people who are in special job categories today (like say programmers) who have so much opportunity. And nothing lasts forever.

</comment></comment></comment></comment><comment><USER5> This article compares the internet with the invention of the printing press and lays out the pros and cons before coming down solidly on the con side. However, we generally agree that the printing press was very good for society in the long run and the author fails to address the question as to why it's different this time around.

<comment><USER6> The longer version is the author noting that the printing press, with publishers, ultimately had curators that hand picked which content to publish. Social media tends to the opposite extreme. That is the context of the author's "con" position, and why it is different this time around.

Of course, the techno-utopian view would probably hold that some new version of curation can/will arise to address the issue, so that's one possible counter argument to the author's pessimism. In fact we seem to be in the early stages with platforms trying (albeit very, very, very imperfectly) to filter out false, misleading, or harmful content.

<comment><USER7> It's true, would-be intermediaries often mourn the loss of their status. They rarely consider that they might not win it back in the future they wish for.

A cynical view would be that this author wants a pulpit from which to preach The Truth unchallenged, and resents the diversity of viewpoints that come from the internet.

<comment><USER8> > diversity of viewpoints that come from the internet

I subscribe the idea that the internet produces diverse echo chambers, but not necessarily a plurality of opinions engaged in healthy debate.

Maybe I'm an idealist, but I think the biggest issue with today's media stems from the revocation of the Fairness Doctrine with no adequate replacement (media-ownership rules, increased public broadcasting, etc.)

<comment><USER7> I subscrbe to the idea that the Fairness Doctrine era media ecosystem produced a diversity of voices, not necessarily opinions engaged in healthy debate.

Not to put too fine a point on it, but I'm not sure it is the business of government to be deciding what is or isn't healthy debate or trying to encourage it. It's far too easy to decide that healthy is things that agree with you, and unhealthy is everything else. This is routine in a number of places in the world that I would rather not live in.

This is quite aside from the practical questions of how a person might square the constitutional questions around the Fairness Doctrine with the internet. The considerations that allowed it to apply to radio and TV don't work in an internet context.

Call me an idealist, but I don't see why we need to structure things around deciding for the public what speech they are and aren't allowed to be exposed to. We're mostly talking about adults generally capable of making their own decisions, aren't we?

<comment><USER8> > Not to put too fine a point on it, but I'm not sure it is the business of > government to be deciding what is or isn't healthy debate or trying to > encourage it.

I think it's the business of government to encourage debate, as that's really the same as encouraging education. The government wasn't providing agendas on what ought to be discussed when the Fairness Doctrine was in place, just forcing people to debate a little more

<comment><USER7> The core of the Fairness Doctrine was that the FCC's opinions of what "honest, equitable, and balanced" meant were legally binding. Whether or not that could ever be anything other than forcing people to debate a little more depends, in my opinion, a great deal on a person's faith in the immunity to corrupting influence of executive bodies with political oversight.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> All these articles are saying the same few things in different words now. I am a little burnt out on this topic at this point. I've felt this and said this for almost a decade now.

Technology amplifies our nature. It is a neutral force. Being mindful and having empathy are not just good habits but foundational to being healthy and happy in the 21st century.

<comment><USER10> Yeah, this is one tired trope. I'm especially bored of the "Facebook causes the rise of nationalism/fascism" rhetoric - I think it's pretty convenient to scapegoat the Zuck (who is an asshole, oblivious, naive, etc.) with something so complex and fueled by so many factors outside of the internet. "Russians made us do it because Facebook" is such a wonderful cop out because it means we can't really _do_ anything to fix it, and it's totally _not_ our fault. And we're addicted to such messages - that the terrorists hate our freedom, that poor people are just jealous losers, that scientists are moralizing assholes for telling us not to eat steak every day - and we even prefer these messages because they let us be the victim of the cruel outside world, rather than understanding how our own complacency, ignorance, or greed has worsened situations.

None of these articles place as much emphasis on the selling-off of our regulatory systems, the dismantling of election law, the homogenization of American thought in the televisual era, or the truly rampant epidemics of complacency, addiction, hedonism, and consumerism as possible catalysts behind a nation rapidly declining into total social schism.

<comment><USER11> Exactly. Facebook is a convenient scapegoat because people can't simultaneously hold in their head the two concepts "My grandfather is loving and kind and good to his family" and "My grandfather hates Mexicans and gay people". An easy way to resolve this is "Zuckerberg deceived him!".

<comment><USER12> I think this misses that it's easy to type some of the nastiest things you can imagine into a comment prompt, but it is substantially harder to set up a box on a college campus and shout them through a megaphone, particularly when you start getting nasty looks, jeered at, or harrassed.

Facebook is the perfect outlet for every dingus who thinks themselves transgressive for having a cruel opinion or two but who can't handle the the cost of social ostracism.

This outlet reinforces and radicalizes beliefs gradually because there is no obvious "cost" or "censure" for saying horrible things about your fellow man except, perhaps, being unfollowed. The most unwell in our society use sites like facebook and 4chan and particularly their say-anything mechanism as incubators for their paranoia and rage and then go kill people. There's an obvious cause and effect here, even if the person was unwell prior to engaging with the site.

So, no, it's not Facebook's fault that people think and say this stuff, but it has created a mechanism to amplify it. And the design of the system, driven by "engagement" (aka addiction), creates a negative feedback loop. The more awful something is, the angrier we get, the more we engage, comment, argue, and the higher it climbs in the feed.

They are _definitely_ responsible for this algorithm, at the very least.

</comment></comment></comment></comment><comment><USER13> The internet is still being invented. There is work to be done.

<comment><USER14> We're at the walled garden stage. Who knows what's next?

<comment><USER15> > Who knows what's next?

More walls.

<comment><USER14> And then? What comes after the walls? Toppling them? A period of perceived freefom and disruption followed by more walls?

</comment></comment></comment></comment><comment><USER16> "his claim that the post-Facebook world 'is better,' as he put it in his note in November, is arguable, at best"

A horrible statement in an otherwise decent article. There's a lot of work to be done in keeping these platforms safe, I agree. The article does a really good job of highlighting the uncontrollable growth these communities experienced and the founders' inability to control it.

But to state that an interconnected world is "at best" arguably better? The author comes off as a luddite who disregards the largest human network in history, just because of their anger towards Zuckerberg or Facebook as a corporation. Things need to change, but let's not downplay what we're dealing with here. There has been so much commercial, personal, and community growth thanks to Facebook's network effects. This isn't about the wealth of a single individual anymore.

<comment><USER17> Yes, I think it's ok to put the idea out that maybe Facebook hasn't had a net beneficial effect on humanity.

Maybe it has, maybe it hasn't. Certainly the interconnectedness in general is moving us forward.

But Facebook in particular is amazing at capturing your attention and manipulating your emotions to get you to spend more time in Facebook. It is a responsive actor that learns what you respond to, and it's interests are not aligned with yours.

Without Facebook, would we have settled on something less malicious?

That's impossible to say.

<comment><USER18> "Certainly the interconnectedness in general is moving us forward."

It is undeniably moving us. I can't imagine the argument that it's not moving us. But I'd submit unless you mean "forward" in the trivial temporal sense, I am unconvinced it's "forward" in the general sense.

I blame as the root cause the mismatch of incentives between Facebook making money via advertising vs. the user's desires and goals. Advertising gives Facebook billions of dollars worth of incentives to invade privacy, hook people to ways of giving up their personal info, manipulating them in ways to ever up "engagement" with the ads specifically (not just the service in general). That's a big negative in my book, possibly as large as "break the political system" large.

On the positive side, we can't credit Facebook with everything thats happens on their service. At best they get the difference of the good social interactions that happen today minus the ones that were already happening without them (and can still happen without them), e.g., school and family reunions and parties happened before Facebook.

Until we do something to remove these incentives created as a second-order effect of trying to build services on top of advertising alone, anything is going to be toxic, whether or not it's called "Facebook".

The Internet is now primarily a tool for serving eyeballs to advertisers at any and all costs, rather than a tool for serving people. How can any other outcome occur until that is fixed?

</comment></comment></comment><comment><USER19> Jaron Lanier made a pretty good argument that the dedication and belief of freedom of information in the 80's is what pushed businesses to adopt the advertisement/surveillance capitalism model

</comment><comment><USER19> "These are Gothic High-Tech figures, people who position themselves in the narrative rather than building any permanent infrastructure"

</comment><comment><USER20> Is there a light side to it?

<comment><USER21> I don't know about you, but I sure do like indoor pluming.

</comment></comment><comment><USER22> blah blah . why should i read the rest of this. it contains jewels like this:

> had Hillary Clinton been elected, as __most people expected __, it's > unlikely that social-media founders would now have as much reason to reckon > with what they've wrought

who's most people? It's sad to see people die on hills but sometimes they bring it upon themselves.

<comment><AUTHOR> There is absolutely no doubt that most expected HRC to win. They obviously erred, but that doesn't change the truth of the statement.

<comment><USER22> Who is 'most'?

<comment><USER23> Almost everyone making election predictions with a decent-sized platform, as I recall.

<comment><USER22> that's not "most people" though</comment></comment></comment></comment></comment>


Ask HN: Any data that show startups with solo founders less likely to succeed? - <AUTHOR> Data from YC or other large funds, angel groups etc.<p>Or even market survey from a third party into this? <comment><USER2> Among other results, they found that solo founders were 55 percent less likely to dissolve their businesses than teams of three, and that for-profit ventures founded by lone entrepreneurs were about 2.5 times more likely to survive than team-founded ones. Studies have found that 23% of new ventures failed because the team wasn't right. So, they are hiring dedicated development teams to win the business. Here's why dedicated development teams work best for the startups - [https://nuvento.com/blog/why-dedicated-it-teams-work-best- fo...](https://nuvento.com/blog/why-dedicated-it-teams-work-best-for- startups/)

</comment><comment><USER3> yes

[https://mitsloan.mit.edu/ideas-made-to-matter/2-founders- are...](https://mitsloan.mit.edu/ideas-made-to-matter/2-founders-are-not- always-better-1)

<comment><USER4> Interestingly this study shows the opposite. "In their recent working paper 'Sole Survivors: Solo Ventures Versus Founding Teams,' Greenberg and Mollick show that 'companies started by solo founders survive longer than those started by teams.'"</comment></comment>