Every time we lift a pallet from the shipping room, the server times out (2006) - <AUTHOR> https://www.reddit.com/r/reddit.com/comments/vunp/the_case_of_the_500mile_email/cvw60/ <comment><USER3> Since we're all sharing wacky debugging stories....

I had a user of an audio streaming product who suffered from random disconnects. He could only stream for about five minutes before it quit. But, and this was the crazy part, the problem only happened when streaming rock and roll. Classical music worked fine.

After many weeks going back and forth, I tracked it down to a misconfiguration on his network interface. The MTU was set lower than the IPv6 spec allowed (or so, forgive me if I get this detail wrong) and the OS wouldn't fragment our UDP packets with this setting.

Our packets usually were under the limit, but occasionally went over and triggered an error. Why was classical music immune? The lossless codec we were using did a better job on classical than rock, so classical (or at least this guy's classical) never went over the size limit.

<comment><USER4> I'm assuming this is due to the lower average signal level of symphonic recordings? Rock music is mastered closer to 0db due to the well-publicized loudness war.

Obviously, this doesn't affect bandwidth in uncompressed audio, where every sample contains every bit, so filesize = bit-depth * sample-rate(hz) * T(seconds). But in compressed audio, average signal level can make a significant difference in filesize/bandwidth.

(Who would have thought a network would be a casualty of the loudness war... harhar)

<comment><USER3> I think rock is just less regular at a small scale. Consider a flute versus an electric guitar. The flute is at least somewhat like a pure tone which would be easy to compress, while an electric guitar is a mishmash of stuff that will look much more random on a sample by sample basis.

<comment><USER4> Cool -- I didn't even consider the shape of the waveforms (sine-like for flute, saw/square-like for anything distorted) having an effect on the data, but now that you tell me... duh!

<comment><USER3> To be clear, I surmised this from what I described, I didn't actually get down and poke at how the codec works on these different types of music. But I'm pretty sure that's what's going on.

These lossless codecs work by attempting to predict the next sample from all the previous ones, and then encoding the difference between the prediction and reality. So a more regular waveform will compress better than a crazy-looking one. It's somewhat counterintuitive since rock music tends to be _less_ complicated from a high-level human perspective.

</comment></comment></comment></comment></comment><comment><USER5> I once built a MS Excel add-in in C++ that worked perfectly when compiled by Visual Studio in debug mode but would not run when compiled in release mode. Obviously, debugging in release mode was a huge pain.

Long story short: at some point Excel stores the file path of the add-in in a string with (for some reason) a max length of 128. The file path "C:/.../Debug/addin.xll" totaled 127 characters and the path "C:/.../Release/addin.xll" was 129.

</comment><comment><USER6> Back in the late 80's I was working on an X.25 gateway. We had it installed at a Wall Street firm. It had a problem where it would accumulate thousands of CRC errors in just a few minutes.

We knew the problem was on the customer premises because we had loaded the gateway down using the same test suite. We ran them through everything. Their point was when they plugged the scope on both sides of the connection and loaded the link with a loop back test, they had no problem.

I get on a plane. We have the scopes hooked up on both sides and the guys in the data center are on the phone talking. We load up the test suite and no errors occurred. Scratching heads, we watched it not fail for a half hour. The consensus was we needed to regroup and come back at the problem from a different angle. The data center guys agreed. Then, suddenly on our scope, we got like 500 CRC errors...

I said to the DC guys "what did you just do? We're getting CRC errors" "Nothing" "You didn't touch anything?" "No we just unplugged the scope from the patch panel" "Try plugging it back in please"

And the CRC errors stopped. Faulty patch panel diagnosed.

The firm probably paid $25k in consulting fees for that diagnosis. But for me, the lesson that my tools might alter what I am observing was priceless.

</comment><comment><USER7> I used to work as a fire alarm and security system engineer, and my boss was a dodgy maverick, picking up contracts here and there. He somehow had me responsible for a shopping centre that was about 150 miles away ,and it housed the cctv for the entire town centre (cctv is big in the UK). I was on a salary, so didn't get overtime. One Saturday morning I got a call saying all the cctv system was down, and that I needed to got sort it out ASAP!

Drove for 4 hours, and got to the control room, where I was confronted with a totally dead system - all the monitors were on, but all black screens. I asked the guy what happened, mostly to stall for a bit as I'd never been on site before and there were no schematics available, and I was expecting to be there for days.

He told me that he'd gone to put the kettle on, come back and when he came back, it was all dead. I asked where the kettle was, and he looked bemused,but showed me. Instead of it being in a rest room, it was located on a shelf behind the equipment rack. I took a closer look, and saw that it was plugged into the power strip that was built into the rack, and the cable was twisted round other power cables, one of which was... The demultiplexer that carried all the cctv camera signals from round the town, and which had been pulled out (iec mains lead, easily done). Pushed it back in by 5mm, went round the front to see all the monitors on... Said "thanks for that" to the guy, got the paperwork signed and left. Spent a total of 15 minutes on site, and over 8 driving as the traffic was terrible on the way home.

</comment><comment><USER8> Stories like this always remind me of the car allergic to vanilla ice cream.

[http://www.cgl.uwaterloo.ca/smann/IceCream/humor.html](http://www.cgl.uwaterloo.ca/smann/IceCream/humor.html)

<comment><USER9> Not forgetting the classic "magic / more magic" switch:

[http://catb.org/esr/jargon/html/magic- story.html](http://catb.org/esr/jargon/html/magic-story.html)

<comment><USER10> Or the email server that couldn't send emails more than 500 miles:

[https://www.ibiblio.org/harris/500milemail.html](https://www.ibiblio.org/harris/500milemail.html)

<comment><USER11> First time hearing this story, and also just discovered `units` which I really love :)

<comment><USER12> Funny, I didn't understand what you were referring to and quickly forgot about your comment. I then read the 500-mile story, got to the end and thought "units? oh cool, new command... wait, wasn't there a comment about `units`?"

</comment></comment></comment></comment></comment><comment><USER13> Around 2000: a colleague told me about his slow PC, rattling noises, random crashes. i did what any responsible workmate would do: told him to call IT support, I'm a web-designer (well actually I was a frontend, backend developer, database guy and project manager but devision of labor in webdevelopment didn't happen yet so my job title was webdesigner, anyway...)!

5 weeks of various visits by the IT support later, including full replacement of all PC hardware and software - still random crashes.

so one day my direct boss tells me to take a look as the corporate IT support "couldn't do it". i just went over there and encounterd a desktop PC covered in refrigorater-sticky-note-magnets.....

turns out he removed them every time "so that the IT guys have better access to the computer"...

<comment><USER14> I doubt fridge magnets would have anything to do with problems in a PC, they would need to be about 100x stronger than that to have any sort of impact

<comment><USER15> Sounds like it was somehow causing a fan to stick, hence the rattling and subsequent instability.

</comment></comment></comment><comment><USER16> I had a similar thing happen to a friend of the family whose business I provided IT services for. He had 2 servers and 2 rack mounted UPS's and a handful of other devices that all fit into the same rack. One day I needed to do some maintenance that required shutting one of his servers down. This was a backup server that wasn't actually used for anything as long as the primary was up and functional.

The problem was that as soon as I shut the backup server down, his entire network stopped working. I was trying to the maintenance over a VPN, so immediately I lost access. I don't really have a clever way of telling this right now, but after a lot of frustration trying to figure out the problem remotely (and wondering if someone had pwn'd his servers and was using the backup server to MITM all his traffic) I drove out there and noticed the problem right away. The UPS that the backup server was connected to was faulty, what was happening was that once the server was no longer pulling electricity from the faulty UPS, it failed to power the other equipment that was plugged into it, one of those things being a critical switch. As soon as the server was powered back on, all the other equipment attached to it immediately powered up too.

<comment><USER17> Sounds like one of those surge protectors that control the power to other devices based on whether or not a central device is powered on. Some powerbars for home theater setups have a similar feature; if you turn off the TV, all the other stuff turns off with it, and if you turn _on_ the TV, everything turns back on.

Weird that a rackmount UPS would have that sort of feature, but hey, it's possible.

<comment><USER18> I have a rackmount UPS that was expressly intended for AV purposes that does that.

</comment></comment></comment><comment><USER19> About 10 years ago I was working for one of the Big 4 banks here in Australia, doing 3rd level support. An issue came up with, if memory serves, Siebel. Desktop issue, don't remember the details, but it was pretty serious - a team couldn't do the thing that they do.

I was on this thing for _weeks_. Hacking away in whatever that tool from sysinternals was called (Procmon?), monitoring calls at the process level, running multiple tests on multiple machines, the whole lot. It's the most complex troubleshooting I've ever done.

I found nothing.

The guys in the team were in an office a few miles away from me so one day I said, hey, I'm going to come down. I need to see this with my own eyes rather than over a remote connection.

I went down there. We started up the desktop. They launched the software. They clicked the button to do The Thing That Wasn't Working.

And it worked. It just did the thing it was meant to do.

And the problem never came back.

</comment><comment><USER20> Similar story: [http://patrickthomson.tumblr.com/post/2499755681/the-best- de...](http://patrickthomson.tumblr.com/post/2499755681/the-best-debugging- story-ive-ever-heard)

Oh, and back when Sun Microsystems said random server crashes were due to alpha particles. [http://web.archive.org/web/20020202013942/http://www.compute...](http://web.archive.org/web/20020202013942/http://www.computerworld.com/storyba/0,4125,NAV47_STO66102,00.html)

<comment><USER21> Someone recently posted a list of these.

[http://beza1e1.tuxen.de/lore/](http://beza1e1.tuxen.de/lore/)

<comment><USER17> The "Crash Cows" one is absolutely horrifying.

<comment><USER22> E

</comment></comment></comment></comment><comment><USER23> A newly hired employee had the strangest problem with his ethernet when he started.

Whenever he plugged in ethernet it would only give him 10mbps. But if he unplugged and replugged it in. It'd switch over to 1000.

What was more strange. On off. Router or hardware on off. Reboot. Nothing would switch it over to higher speed. We tested it a dozen times. But if you plug it in. Unplug then plug in a 2nd time. Viola 1gbps connection made. Always 10mbps the first time. Tried 4 wires and 3 different switches on multiple computers. Problem is his computer. Even reformatted computer and tried different hardware ethernet ports. Never fully resolved why it always need to be replugged in twice though for faster connection.

<comment><USER24> Intels' IEGBE drivers used to have a bug that would cause exactly this problem. (I know, because I found the bug and fixed it once, years ago..)

<comment><USER25> Disabling autonegotiation and forcing 1Gbps full-duplex on the NIC might solve it, too.

</comment></comment></comment><comment><USER26> In this BeOS debugging story ("A Testing Fairy Tale"), their floppy disk stress tests can run all day but fail when run overnight. The morning sunlight through the office window triggered the test machine's floppy disk write- protection mechanism, causing a write failure during the test.

[https://www.haiku-os.org/legacy- docs/benewsletter/Issue4-22....](https://www.haiku-os.org/legacy- docs/benewsletter/Issue4-22.html)

</comment><comment><USER27> This reminds me of the time when I managed to diagnose a packet storm issue after two days of methodically excluding software then hardware followed by tracing each Ethernet cable to the switch. Turned out that the re-connection of the cables caused a network loop within a dumb switch, ala packet storm !

</comment><comment><USER28> Well my best-worst debugging story concerns a friend's work based email account and Microsoft Outlook (in 2012). Occasionally it would fail to connect to send email to the server, just randomly.

Obvious troubleshooting ensued, web traffic worked, could ping the email server, could connect with telnet and read email that way; Thunderbird worked. Created a new account, that would work for a while and then fail again.

Less obvious troubleshooting, traced route to server whilst running the connection - route worked, connection failed. Outlook logs showed attempts to connect to the correct URL but the connection wasn't being made. Checked for malware. Reset router, actually I think we replaced it. Pulled out a sysinternals tool, tcpview IIRC, watched the connections being made ... hang on, what's that IP address??

Turns out Windows was querying and getting the IP address but somewhere it was reversing the dotted quad and when Outlook said it was connecting to the relay.example.com server - lets say 22.214.171.124 - it was instead attempting to connect to 18.104.22.168 ...

I didn't track whether it was MS Windows or Outlook that was in error, I just dropped the correct address in as a line in the HOSTS file on the three affected computers. Fixed.

Very satisfying to find the way the problem arose and an easy fix; but would love to have seen internally where the error was arising and exactly why. I did find one other report that sounded like the same problem IIRC. My only idea was that an automated reverse-IP hostname like some ISPs use - <USER2> "9-8-7-6.ispnet.com" \- was for some reason getting parsed in as the IP, but I wasn't about to start reverse engineering stuff to find out.

<comment><AUTHOR> Sounds like someone forgot to call this function, and maybe most of the systems were big-endian, so it didn't matter, but one was little-endian: [https://linux.die.net/man/3/ntohl](https://linux.die.net/man/3/ntohl)

<comment><USER29> Endianness was the first thing I thought of as well. Or maybe one component of the stack thought that IP addresses are char[4] while another thought they're u32_t, though you'd expect that to be caught by the typechecker.

</comment></comment></comment><comment><USER30> Is anyone else weirded out that there are posts on reddit that are ten years old?

</comment><comment><USER31> At a prior employer, we had racks of Dell servers, each with their own disk boxes attached to RAID controllers.

Sometimes, more than one of the servers at the same time would decide that their respective disk enclosures had disappeared and reappeared, and the RAID controllers would be unhappy and mark the volume as foreign until a human intervened.

Windows and Linux both did this, so it wasn't an OS problem, and it was multiple machines in multiple racks, ostensibly UPSed with line filtering.

The odder thing was when we noticed it was almost always the ones on the upper half of the racks.

The best, though, was what "resolved" the issue - the power exchange next to the building blew up one day (AIUI one of the phase lines for the three phase connected to another phase's busbar, and BOOM, the room was covered in a fine copper mist), and after all the power equipment in the exchange was (eventually) replaced, the problem went away.

</comment><comment><USER32> Wacky story, but this is very typical. They had unsecured wireless devices attached to thier network. A misconfigured device, misconfigured due to the hurricane, ended up causing internal problems. I muust ask, why was a wifi device so ready to connect to some random device? Be glad this wasnt a rogue device.

<comment><USER33> Original commenter here. Talk about a blast from the past!

It was indeed surprising and scary for me too. Hard to recall precise details from a decade ago but I think that both the devices connected because I used the same password on them and while the reset caused the test WAP to become a repeater, it still had the credentials necessary to connect to the production WAP.

I did not have enough time or resources to find the root cause because we were still getting back up, I believe after Hurricane Charley.

<comment><AUTHOR> Hey, a reunion! In case you were wondering, the reason I submitted this was that it recently came up in /r/TenYearsAgoOnReddit: [https://www.reddit.com/r/TenYearsAgoOnReddit/comments/5jo2dk...](https://www.reddit.com/r/TenYearsAgoOnReddit/comments/5jo2dk/20061223_the_case_of_the_500mile_email_redditcom/) (then ctrl-f "original post")

<comment><USER33> That's awesome. Thanks for bringing back the nostalgia :)

</comment></comment></comment></comment><comment><USER34> In college we had a similar scenario when a UPS delivery truck making it's routine stop at a fairly consistent time each day caused connectivity to degrade. If I remember correctly, the solution was discovered following a UPS strike in the late 90s.

</comment><comment><USER35> I'll try and dig my favorite debugging story up about all emails failing to send passed ~500 miles. That was pretty crazy near sorcery as well.

<comment><USER36> Do you perhaps mean [http://www.ibiblio.org/harris/500milemail.html](http://www.ibiblio.org/harris/500milemail.html)? :)

<comment><USER35> Thanks! That was one of the more kafka-esque debug stories. Going to reread it for old times sake and encourage anyone who hasn't to give it a look over.

</comment></comment></comment><comment><USER37> This reminds me of "COMPUTER-RELATED HORROR STORIES, FOLKLORE, AND ANECDOTES" which is full of this type of stories:

[http://wiretap.area.com/Gopher/Library/Techdoc/Lore/rumor.ne...](http://wiretap.area.com/Gopher/Library/Techdoc/Lore/rumor.net)

</comment><comment><USER38> haha, talk about hard code debugging.

I think this post perfectly illustrates the major difference between "theory & practice".

<comment><USER39> "in theory, there's no difference between theory and practice. "

<comment><USER40> ... but in practice, there is. - Jan van de Snepscheut

<comment><USER41> But in practice, theories are _only_ hypotheses, which at best can just be falsified ;)

</comment></comment></comment></comment><comment><USER42> I'm reminded somewhat of the PS1 cartridge saving bug: [http://www.gamasutra.com/blogs/DaveBaggett/20131031/203788/M...](http://www.gamasutra.com/blogs/DaveBaggett/20131031/203788/My_Hardest_Bug_Ever.php)

</comment><comment><USER43> This is a delicious debugging story.

</comment><comment><USER44> Clearly, the solution is software defined networks.</comment>


List of Seed Accelerator Programs and their results - <AUTHOR> http://www.seed-db.com/accelerators <comment><USER2> Most pertinent observation: there isn't much money in startups. The odds truly are horrendous.

Even from YC, the average exit is only $2M. From other accelerators, the total of all exists is well below what most founders want for their own exit.

This might explain why companies are so quick to jump on $10M aquihire deals.

Conclusion? If you want financial gain from a startup, go for sustainable revenue and building a real profitable business. Or get into YC and be one of their more successful bets.

Granted, there may be a lot more exits in the future from some of these accelerators, but it's doubtful that will change the averages by any order of magnitude.

Perhaps we should ask ourselves, why do these investors stick around?

<comment><USER3> I'm not sure why you think the average exit is $2 million. Are you getting that from the column titled "Average $?" If you mouse over that title, you'll see it refers to the average amount raised.

<comment><USER4> He may be getting that figure from the $950M "$ Exits" figure divided by 450 companies -- but that's incorrect as not all 450 companies have had exits.

I'd imagine that probably 45 companies have had exits, making the avg exit value around $20M, which sounds pretty realistic to me.

<comment><USER2> That's correct, except most of the companies that have not exited never will (many have already failed,) and it would take quite a few 100M+ exits to significantly skew that average.

Those assumptions could be wrong, but I don't think more than, say $1B in exits, can be expected from the existing YC companies, bringing the average YC exit to $4.5M - not much difference. Even an additional $5B in exits would only bring the average to $11.1M. Most of that would probably come from a few startups (think AirBNB), unfairly skewing the average further - we really should be talking about the much lower median.

Getting into YC brings the average from pitiful to poor. Note there is not a single 100M+ exit that has occurred from any other accelerator listed.

We also have to factor in founder dilution, which is usually massively higher in these big exits, and also that exits are split among the founders. The expected exit for an individual even going through YC is likely sub $1M taking those factors into account.

My point is not that startups are a bad choice. I am even an occasional angel investor. This does reinforce the frequently made observation that startups are not a guaranteed, or even likely, road to riches. Startups are for people who like startups.

<comment><USER3> It's pointless to talk about the median outcome, because it will almost certainly be zero. It would be very surprising if we had a success rate over 50%. In fact it would probably be bad; it would probably be a sign we were too conservative.

Your estimate of the total value of YC companies is currently off by about 10x.

Your belief that startups are a mediocre way to make money reflects a misunderstanding of probability. In fact they are a very good way to make money for some people, and a terrible way to make money for most people.

<comment><USER2> I don't think it's pointless to talk about median outcome. The median outcome or worse, by definition, is what most entrepreneurs will achieve, and as you say, that's likely zero even for YC companies who based on this data have an order of magnitude higher success record.

Sorry if my estimate is off - another $10B in exits would change the number significantly, and maybe the filter and assistance of YC is sufficient to change the expected outcome. That doesn't so far seem to be the case with other accelerators.

As you say, "for most people," startups are a terrible way to make money. Based on this data, "most people" is almost all people that get into almost all accelerators. I do think that's an important, though perhaps not new, deduction from this data. It's even more important for people hoping to make money by joining a startup as a non-founder, where the financial upside is so much lower.

I'm not sure what you mean about a misunderstanding of probability. Certainly there is a large amount of both luck and character that determine the outcome for an individual, and that can be summed up with probability, especially for any given startup, since as at a poker table, luck is relatively stronger short term, and character overtakes luck in the long run.

<comment><USER3> The misunderstanding of probability is analogous to believing that if 3% of the population is over 6' 2" tall, the probability that I, when measured, will be over 6' 2" is 3%. In fact it is 0%.

The overall success rates for founders come from averaging the rates of a few people for whom the chance of succeeding was quite high with a lot for for whom it was zero. Which means they have little predictive value for individuals.

<comment><USER2> Indeed probability is only useful when there is uncertainty. When there is certainty, probability is nonsensical.

While I think YC may be quite adept at choosing only people over 6'2", people in general are not very good at knowing if they are over 6'2" in entrepreneurial talent. We know people are very bad at judging their own competence, and generally vastly over-estimate it. There is no tape measure for entrepreneurial competence. Unfortunately, I'm not sure anyone, even the YC partner group, is able to reliably measure future success, though I'm sure you are much better than most investors.

Further, an enormous amount of luck is involved, as demonstrated by the large number of one-hit-wonder entrepreneurs, the vast range in outcome for similarly talented people, as well as the large number of impressive entrepreneurs who never really succeed.

So I do think it makes sense to apply probability to your chance of success, no matter who you are. Very talented entrepreneurs still have a high chance of failure, and there is also a good chance that someone is not as talented as they and others think they are. We all know people of both types.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Seed-DB founder here.

I've recently added a feature where I grant permission for users to enter/edit information on their accelerator and their accelerator startups to Seed-DB. It's a manual process, and I only give this permission to accelerator program founders or administrators. But if that's you, please get in touch. (email@example.com)

Otherwise, if you sign up for the newsletter (<http://www.seed- db.com/about/view?page=newsletter> <\- very low traffic) you'll hear about all the new stuff first.

</comment><comment><USER6> I just wanted to point out many of those programs are < 4 years old and four years after YC's founding nearly everyone was skeptical of them. It just takes a while to a) get a few winners b) get a market value on them.

If the powerlaw of startup outcomes is accurate, nearly all of these programs are too young and too small to have telling data.

</comment><comment><USER7> The median $ seems incorrect -- for Y Combinator, it seems to be the investment just from YC, and for other programs, it seems to be their entire raise from all sources.

I believe most YC companies raise external capital on top of YC; there has been START and YC VC from $80k to $150k, and according to pg, a most YC companies that need to raise capital have been successful doing so (at least for the past few years).

<comment><USER3> Yes, it's way off. It's based on Crunchbase, which is very incomplete about funding unless investors make a deliberate effort to log rounds there. The actual median up to w2012 seems to be 850k. (We don't have fundraising data from the summer batch in our system yet.)

<comment><USER5> (Seed-DB founder here)

Exactly; where the majority of startups in an accelerator don't have funding data in Crunchbase, it defaults to the funding that startups get from the accelerator itself. (This is why the list of accelerators defaults to sorting by average funding versus median funding.)

There were a few different ways I could have calculated median funding. The first is just looking at the values of startups with funding data, but this would have only identified the median funding of the "winners" of a program and thus isn't as valuable. So I calculate median by using funding data from Crunchbase for each startup, and where there's none I use the original funding from the accelerators.

If anyone has any questions, comments or feedback, my e-mail is plastered all over the site. (firstname.lastname@example.com)

<comment><USER7> Personally, I would just list the funding provided automatically to each company (complicated in the case of YC since it varies with team size). I'd almost exclude the START and YC VC notes from YC, as they're not mandatory.

A more useful stat is "able to raise follow on funding" or "still in business after a year", I think.

<comment><USER5> I'm not sure what you're looking for here.

I import each company's funding data from Crunchbase, whether that's a convertible note or an equity round. My comment above was just regarding the algorithm for calculating median funding.

I've been thinking about ways to figure out if a company is still in business, and will be implementing them over the next few months. (This is still a nights/weekends project for me.) One of the easiest ways is just to display a company's twitter/blog feeds on their Seed-DB entry. If they haven't been updated in a long time, that implies they're no longer in business.

</comment></comment></comment></comment></comment><comment><USER8> Funny table, but does not showing anything about the success of those businesses or the VCes. As far as this table shows, each of these companies may have been a total failure, which I am sure is not true.

There should be columns like "profits", "revenue", "median profits", "number of profitable companies". Such type of columns will show how successful are both the companies and the accelerators.

Also the "average lifespan" and "number of companies still operating" could be other interesting metrics that provide an insight on how sustainable are those companies.

<comment><USER5> Founder of Seed-DB here. I'd love to get numbers on revenue, profits, etc. but it's essentially impossible to do this for private companies. Even average lifespan is difficult because death is often not a single day, but a slow transition.

<comment><USER8> You are right. Its hard + I suppose some VC companies will try to prevent revealing such data, as it will not show them in the best possible light.

</comment></comment></comment><comment><USER9> I can't find Founder Institute.

<comment><USER5> I have a pretty strict definition of what constitutes a "seed accelerator": <http://www.seed-db.com/about/view?page=definition>

Since Founder Institute charges startups to be a part of the program, it's not included.

</comment></comment><comment><USER10> last time around

<http://news.ycombinator.com/item?id=4291075>

<comment><USER7> Is it still accurate for TechStars Cloud? (I'm intrigued by the concept of thematic incubators. Particularly, what happens if you pick a theme that either eats the world (cloud) or dies (TechStars Flash would not be something I'd invest in right now...)

<comment><USER11> Yes, the numbers for TechStars Cloud are accurate. If you're interested in learning more about the themed program, feel free to contact me and I'll answer any questions you have!

Source: I was a founder in TSC's first class.</comment></comment></comment>


Flipping 10 heads in a row - a small probability demonstration - <AUTHOR> http://singingbanana.tumblr.com/post/9166555322/flipping-10-heads-in-a-row-full-video-by <comment><USER2> My favorite related demonstration is to do a "tournament" where you start with 64 people and eliminate the 1/2 who don't flip heads each round. Some "amazing" flipper will get through 5 to 7 rounds and win. Something to think about when you see a mutual fund manager who beats the market 7+ years in a row.

<comment><USER3> There's a con based on this: send half your marks a prediction that the stock market will go up next week, and half a prediction it will go down. Repeat next week, restricting to whichever set received the correct prediction. After five weeks, you'll have a group of people who think you've accurately predicted stock market movements for five weeks in a row, and some of them will be prepared to pay for your next prediction.

<comment><USER4> I remember reading this anecdote to explain the anthropic principle:

[http://beust.com/weblog/2010/08/17/fun-with-the-anthropic- pr...](http://beust.com/weblog/2010/08/17/fun-with-the-anthropic-principle/)

</comment></comment></comment><comment><USER5> "Sir, you must be the greatest archer in the world - everywhere around on walls, trees and fences there are targets, each with your arrow exactly in the middle. How did you achieve such greatness?"

"I paint the targets after shooting."

</comment><comment><USER6> A quicker way to do this would be to take a container full of 1024 coins and dump them onto the ground so they're spread out. Put all the coins that landed heads up back into the jar and continue this process 10 times. However many coins you have left are the number of coins that landed heads up 10 times in a row.

</comment><comment><USER7> This is why probability is such a useful math: it turns our intuitive reasoning on its head and gives us solid descriptions of the processes at hand. Another great example of probability in action is the Monty Hall Problem (<http://en.wikipedia.org/wiki/Monty_Hall_problem>). Totally unintuitive process, but unarguable results.

<comment><USER8> I just threw together a quick simulation of the Monty Hall problem if anyone's interested: <https://github.com/Paton/Monty-Hall-Paradox-Simulation> .. really fascinating.

<comment><USER9> I also have one for Matlab/Octave that allows you to change to door count to get a better feel for what's going on: <https://gist.github.com/411593>

</comment></comment></comment><comment><USER10> So what is the world record of number of heads in a row? I fear this video could start a very time consuming coin flipping craze...

</comment><comment><USER11> It's called Ion Saliu's paradox or The Fundamental Theory of Gambling. If you have an event with probability 1/n and repeat it n times, the probability of realizing the event at least once is is about 1-1/e = 0.63 (for high enough values of n).

His calculations were correct, showing that chance of failure was 37% and success 63%.

<comment><USER12> And also interesting to note that if you repeat n times, you will get on average 1 realization of the event (Sometimes 0, rarely n).

</comment></comment><comment><USER13> The Derren Brown episode he mentions is well worth a watch if you enjoyed this - he doesn't deal so much with the mathematical side, but the idea of using misdirection to show something unlikely happening simply through consistent trial.

Edit: the show is called "The System"

</comment><comment><USER14> Ha! That's nothing. One time I got 12 yatzees in a row. One day I was playing Yatzee and got 2 in a row. That was exciting but I was impatient so I wrote a program to play for me. Eventually my program made 7 in a row but that was still taking too long. I calculated how long it would take to have a greater than 99% chance of getting twelve in a row and decided I needed to get a life more than I needed to keep the program running. Then I figured as long as it was really the computer doing it and not me it wasn't too much to imagine a Platonic universe where my program already had been run an infinitely long guaranteeing that I got 12 in a row. I don't have a video of it though so kudos to SingingBanana.

</comment><comment><USER15> I've been listening to _The Drunkard's Walk: How Randomness Rules Our Lives_ [1] by Leonard Mlodinow. It is a great introduction to how probability works, the history of randomness and probability in science, and how randomness affects so much of what we do. very interesting look at the math without getting too caught up in the math.

[1] [http://www.amazon.com/gp/product/0307275175/ref=as_li_ss_tl?...](http://www.amazon.com/gp/product/0307275175/ref=as_li_ss_tl?ie=UTF8&tag=theworlofsoft-20&linkCode=as2&camp=217145&creative=399369&creativeASIN=0307275175)

</comment><comment><USER16> Actually, if you flip a coin 1024 times, the probability of getting 10 heads at some point is about 63%.

I was actually wondering about this myself the other day ([https://plus.google.com/101522949595361604155/posts/Vhdist7x...](https://plus.google.com/101522949595361604155/posts/Vhdist7xFeV)), and so I build a little script to calculate it. Calculating the probability of a run is actually not very straight forward.

</comment><comment><USER9> It's relatively easy toss a coin and always get heads (for both biased and unbiased coins): [http://books.google.com/books?id=tTN4HuUNXjgC&pg=PA317#v...](http://books.google.com/books?id=tTN4HuUNXjgC&pg=PA317#v=onepage&q&f=false) (Jaynes's Probability Theory: The Logic of Science, Section 10.3)

<comment><USER9> If Google is filtering those pages, here's an earlier version of that chapter: <http://omega.albany.edu:8008/ETJ-PS/cc10i.ps>

</comment></comment><comment><USER17> This is interesting psychology. Eventually 10 in a row has to happen. But would you bet 50 cents to win 51? At what point is it Bayesian statistics that tells you not to make the bet? (That somehow the coin is loaded)

<comment><USER18> You can assess the fairness or bias of the coin: <http://en.wikipedia.org/wiki/Checking_whether_a_coin_is_fair>

If you wish to start with a probability distribution assuming a degree of fairness you can do that and it won't be so prone to fluctuation of the start. I don't know anything online about this offhand but check out "Data Analysis A Bayesian Tutorial" by D. S. Sivia section 2.1.1 for a worked out example.

Once you're doing that, then you need to calculate the optimum amount to bet. If the betting will continue indefinitely then a sensible thing to do would be to bet to maximise the expected logarithm of your bankroll, which you calculate with the Kelley criterion: <http://en.wikipedia.org/wiki/Kelly_criterion>

If you only get to make one bet then you may just want to maximise expected value.

EDIT: didn't explain how to translate the fairness distribution into win/loss odds because I don't know offhand, you could always simulate.

</comment></comment><comment><USER19> Amazing patience.

</comment><comment><USER20> Two thoughts on this post/submission. The first is that it's really pretty shoddy, I mean why did it need to be filmed, why not a written (or even to camera) piece that just explains the logic. Anyone who doesn't believe it after having it explained isn't going to believe it after a video of an experiment that could so easily be edited to show 1000 heads out of 1000 flips.

The second is, even if it was presented better, is this suitable for HN? Sure, the topic of probability is suitable, but this is on such a basic level that surely most, if not all, HN readers already comprehended it.

That said, here's hoping that, if people are going to insist on upvoting it, it can at least spur some interesting discussion. With that aim, here's a tangeant:

It's always interesting in gambling how, no matter how mathematically smart someone is, it's incredibly easy to let your heart make decisions for you when money is on the line. Whether it's betting red on roulette because it landed black 6 times in a row, or betting big on a blackjack hand because you've lost your last few in a row and surely it can't keep going.

Even though, as you place the bet, you're thinking "I know the last X spins don't _actually_ have any impact...", you can't help but feel the urge.

<comment><USER21> I like the philosophical implications of: if it is possible, with enough trials, it will happen.

I remember using this argument against the proposed creationism view of my religion teacher. If it is possible for life to emerge on a planet, given enough time, it is bound to happen. Likewise: given enough games of Go, one game will end with a perfectly ordered black-white spiral. This then led to the tangent of: Is it possible for God to exist in our world?

The same with the possible worlds model of modal logic. If something is possible, there is a world were such is the case. That could mean that, if time travel or travel between possible worlds is possible, there is a world out there, where they discovered this. They could travel between possible worlds and teach these other worlds how to travel too.

As soon as something that crosses the boundaries between worlds is even remotely possible, in the end it should permeate through all possible worlds.

<comment><USER22> > Is it possible for God to exist in our world?

This isn't the same kind of question, assuming the Abrahamic conception of God, because that God is logically inconsistent. So, if the Abrahamic deity exists, reality is inconsistent, so what right do we even have to consider it reality? Therefore, the Abrahamic deity cannot exist in the real world.

(Nope, no lightning bolts.)</comment></comment></comment>


Is "performant" a valid word? What's the alternative? - <AUTHOR> http://wolfrevokcats.com/is-performant-a-valid-word-whats-the-alternative.html

<comment><USER2> If a lexical item composed of alphabetical characters consists of one or more morphemes and communicates a meaning which can be comprehended from the context without reference to a dictionary, then that lexical item is more of a word than most of the words in the dictionary.

Edit: Well, 'most' is stretching it, but you know what I mean.

</comment><comment><USER3> As a back-formation from "performance" it does make some sense. On the other hand, the alternatives "fast" and "efficient" are much more common, at least in the circles I travel in.</comment>


Blazor, a framework for browser-based .NET apps using WebAssembly [video] - <AUTHOR> https://www.youtube.com/watch?v=JU-6pAxqAa4 <comment><AUTHOR> This framework is still fledgling, however it is very exciting for a .NET developer, not because it's a shiny new thing to learn, but because it's the opposite ... it's allowing you to reuse existing skills to code for the web, while seemingly allowing you to create a React-like architecture of components / state. All using a decent language C#. This is simplifying things if you are already doing a full stack and working half the time with JS/TS and the other half with C#.

I hope MS really get behind this and see it through to a production ready version.

<comment><USER2> Whenever Microsoft tried to do web frontend it was "not really good" (it was borderline catastrophic). Asp spaghetti, aspx components, viewstate handling, razor templates etc.

When I worked with .net guys (which happened quite often) 9 out of 10 had been like wow, I don't have to touch frontend, because MS will solve that for me "somehow", plus the frontend is messy and crap and javascript is a terrible language and C# rocks (but F# even rocks more) and I'm not going to learn all this sillyness (because I want to reuse my skills).

At least with new-angular they feel a bit better and they can praise typescript, because typescript is "just like C#". Let's just hope noone pulls an angular-one-to-two style rewrite/clusterfuck...

<comment><USER3> I have been jumping between native and web development, alongside backend since the late 90's.

I will take any server side rendering framework, with some sprinkle of JavaScript, over any SPA framework.

A node_modules directory with several thousand packages just for a basic CRUD app, really?

<comment><USER4> which yields better outcomes: organic growth (open source) or central planning (microsoft)?

<comment><USER3> Central planning for sure, given the lack of UI/UX focus we usually see on open source stacks.

Coding is fun, but providing a productive experience also requires doing lots of stuff that FOSS coders don't invest any resources into it.

</comment></comment></comment></comment></comment><comment><USER5> Also [https://www.youtube.com/watch?v=61qmX5eAPwI](https://www.youtube.com/watch?v=61qmX5eAPwI) which is a newer video and highlights some of the most recent Blazor 0.6 features.

I am very excited about the possibilities this brings. Current frontend/backend solutions all seem to involve duplicating contracts in JavaScript. WebAssembly frameworks like Blazor will let us get back to programming in one language but keep the SPA-style experience for the UI.

</comment><comment><USER6> Some recentish posts:

[https://news.ycombinator.com/item?id=16651709](https://news.ycombinator.com/item?id=16651709)

[https://news.ycombinator.com/item?id=16318076](https://news.ycombinator.com/item?id=16318076)

[https://news.ycombinator.com/item?id=14697520](https://news.ycombinator.com/item?id=14697520)

</comment><comment><USER7> I am desperately waiting for Blazor to graduate from the "experimental" label so I can justify investing more time into it, but whatever little I have seen so far seems amazing. For someone who used to live and breathe C#, ASP.NET and Razor, this feels like a godsend.

</comment><comment><USER8> GWT all over again..they tried to kill JS with Java and failed..good luck with C#...

<comment><USER9> WebAssembly has different objectives than Java and is backed by the 4 major Browsers.

<comment><USER8> I'm not criticizing WebAssembly but the selling points behind the framework which is a use case for WebAssembly.

GWT users cared less about how it was compiling, and at the end of the day, they were building webapps using Java and Eclipse IDE along with the rest of the ecosystem. Which is exactly the selling points being presented here.

For me this is history repeating itself.

<comment><USER10> Yes, lets see how big the runtime is and how "much" server is needed for interaction in the end...

</comment></comment></comment></comment><comment><USER11> There's a problem with Blazor, and that is that its not ready.

Which is why they're shipping _server side_ Blazor [0], which is all the stupid parts of Blazor with none of the benefits.

Don't get me wrong, the idea of running .Net in WASM is very appealing to me... but server side Blazor is a daft idea, and it's a mistake.

Here's the model:

\- Your component view state is rendered on the server.

\- A delta is sent to the front-end.

\- The frontend updates the DOM in the browser.

\- Any DOM event is sent to the server.

\- repeat.

Seems ok?

However, the problems here to understand are:

1) Every UI interaction, from mouse focus, to mouse drag, to click to button down, is sent down the wire to the server to be processed. For high latency situations, this will feel terrible.

2) Every client shares the same server cluster. As such, it scales badly; your application may perform well with 10 users, but for 100 users, you have 10x as much server work happening. Not business logic... UI logic. Will it scale? No one knows, but the money is on 'no'. The server scale-out demands will scale with people viewing the website; effectively this means the UI will lag out under load when the server is busy, the exact opposite of modern SPA applications and apps that remain superficially responsive under server load, and compounding issues generated from (1).

3) As many of the examples show, server side Blazor shows how you can execute arbitrary code on the server as part of your components (eg. fetch DB records). However, no vague consideration has been given to the authentication model for this. In fact, the stated high level goal is that razor components will 'with one click' work seamlessly on both WASM-mono and razor-components; ie. They are are naive of user roles and permission groups on the server, and expect to interact with an arbitrary backend 'service' with its own permission roles. (But that _isnt_ what the examples show).

These are not trivial problems, they are, unfortunately, _insurmountable_ architectural issues with server-side Blazor.

...and the work around is a compromise. ie. You use javascript.

Which... kind of makes it rather pointless.

This is being shipped early for business reasons, not technical reasons.

They should just wait for the WASM target to be ready; this will be a disaster, in my opinion.

[0] - [https://blogs.msdn.microsoft.com/webdev/2018/10/02/blazor-0-...](https://blogs.msdn.microsoft.com/webdev/2018/10/02/blazor-0-6-0-experimental- release-now-available/)

<comment><USER12> This is quite enlightening in that I'm very excited by the prospect of using C# in the browser without the downsides that came with Silverlight, but especially 1) seems to be a big negative! (I'm not sure I completely understand 2) and 3), does 2) only apply to server-side Blazor? Is 3) not inherent to all web development in that authentication on the client is 'disconnected' from users/ permissions on the server anyway?).

As someone who is trying to wrap his head around all this, did they go with server side Blazor because browsers do not support all required WASM features yet? What is even the point of server side rendering?

<comment><USER13> Yes, 2 only applies to server-side Blazor.

"Server-side Blazor" itself will be renamed[0] to Razor Components so as to disambiguate it with WASM-in-the-browser, which will still be called Blazor.

Razor Components seems to be a blend of different kinds of web programming models, as described by the parent poster:

\- Traditional: POST + Redirect + GET

\- Single Page App: Thick client in JS

\- Razor Components: Traditional, but instead of POST+Redirect, it uses Web Sockets to asynchronously update state.

Razor Components are being shipped because it's building off well-known, mature technologies. OTOH, Blazor (WASM in browser) is still baking. For example, there is no tree-shaking to minimize the minimize the size of components needed to run your Blazor app. (IIRC, the average size of a basic nav app is ~2MB.)

[0]: [https://blogs.msdn.microsoft.com/webdev/2018/10/02/blazor-0-...](https://blogs.msdn.microsoft.com/webdev/2018/10/02/blazor-0-6-0-experimental- release-now-available/)

</comment></comment></comment><comment><USER14> This is a theme in that all major compiled languages will have an ability to publish to wasm as WebAssembly is a standard that allows this and we'll see more frameworks like this coming up for various ones. It will be nice for all the specific language camps and allow interoperability as well between them. Big win in general whatever you think of .NET but that's not the big picture.

</comment><comment><USER15> I look forward to me getting very excited to try this with F#, only to find it requires a pile of hand-spun hacks only comprehensible to the most dyed-in- the-wool Visual Studio user, half-documented scraps of git repos that will only to get working, and will inevitably break completely upon the slightest update or change to your .NET installation.

<comment><USER16> I suggest you check out fable if you haven't already, v2 just dropped the experience was pretty smooth ([http://fable.io/](http://fable.io/))

</comment></comment><comment><USER17> Would like to see a wrapper generator around C# libraries so they could be easily be loaded into node.js

That would make all sort of integrations between legacy systems with existing C# support libraries and newer lighter node.js projects work without jumping through crazy marshaling hoops.

Seems like a very interesting direction, embedding managed languages into JS.

<comment><USER18> Do you mean something like edge.js?

[https://github.com/tjanczuk/edge](https://github.com/tjanczuk/edge)

</comment></comment><comment><USER19> Didn't watch the video, but since the project doesn't make it clear, this is the Mono .Net interpreter compiled to WASM that is interpreting IL at runtime. The AOT .Net-to-WASM compiler is not a thing yet but is actively being worked on.

</comment><comment><USER20> I'm not a big Blazor fan, but mono-wasm is cool, and if the Blazor folks would isolate their DOM/JS interop, that would be a good, lightweight starting point for folks to play around with .NET in the browser.

</comment><comment><USER21> Very, very exciting! Expecially after the download size is reduced (as planned).

</comment><comment><USER22> I worry this is close to Web Forms again.

<comment><USER23> This is inspired by Vue/Angular. If you're familiar with those and dig into the docs you'll see that it's conceptually very similar. Nothing like Web Forms.

<comment><USER24> .

<comment><USER25> No a server is not mandatory to run blazor. You can run blazor server side, where the client is routing all events to a server. But that's not the way it is designed to work by default. By default everything runs client side, you could run it from a static website.

</comment></comment></comment></comment><comment><USER26> This is really great! Excited to give it a try

</comment><comment><USER27> I really don't see how C# is decent anymore, can someone change my mind? I was all about it in the 2010-2013 days, but over time it just became more bloated and bloated. It's the new C++, where it tries to be everything for everyone.

Every time a new version comes out theres a 500 page tome of all the new features added. Did we really need all those features? I would love it if I saw a new version of a language come out and it _removes_ language features, wouldn't that be a change!

It still has all the annoyances of java (the first thing you see in any C# file is a laundry list of imports), I am not convinced the profiling tooling is better. I will preface this with I am still bitter about the initial .NET core rollout which was a crapshoot and had no parity whatsoever with .NET Framework.

<comment><USER28> You are obviously free to dislike C#, but it seems silly to say they should stop adding features or should remove features.

> Did we really need all those features?

If you don't need them, don't use them. I've found the new features to be great. nameof, string interpolation, property initializers, exception filters, static imports, null propagator. And if you haven't used the language in awhile going back to 5.0 the async await features are fantastic. 7.1 introduced async Main which we've started using in console apps. I use all of these features every day.

> I would love it if I saw a new version of a language come out and it removes > language features

Why, exactly?

<comment><USER29> 1\. Some people dislike languages with a large instruction set

2\. I will propose that programming languages are like anything else created by humans - some parts great, some parts not that great. Furthermore some parts of a language are used more than other parts, it should be hoped that the parts least used in any particular language are parts of that language that are not that great. Given these things it might be reasonable that some time you saw a new version of a language in which they said Feature X really sort of didn't make sense and anyway hardly anyone ever used it so we are removing Feature X. Adjust code accordingly. (probably there should be deprecation stage of a year or so with warnings)

<comment><USER3> Even human languages aren't not fully used.

There are multiple levels of understanding, regionalisms and specialized technical terms that few get to use.

<comment><USER27> And that works in language -- its terrible when you are trying to make computers do very specific things in specific scenarios. It leads to hiring nightmares as well. "Oh I write language X in _this_ style, not familiar with _your_ style"

</comment></comment></comment></comment></comment><comment><USER30> Yay, now all the bloat of .NET can spread into the browser too! </s>

Seriously, I'm saddened to see all this overwhelming hype and "excitement" \--- I am a developer myself, and just don't get it: I have used .NET apps before, and I could immediately tell it was such just from the speed (or lack thereof) and memory consumption --- the difference is obvious. It's the same with Java, which is not at all surprising. The absurd amount of object- oriented obfuscation I encountered in the few times I had to debug someone else's code in C# probably contributes to that too.

Taking over a second just to load an extremely simple app from _localhost_ in the demo says all I need to know about this --- "no thanks". Please consider your users' experience...

<comment><USER23> I was going to reflexively downvote this but it doesn't quite rise to the level of bad faith that I look for before I downvote.

But, I'd ask you to recheck your impressions every couple of years, especially if a technology seems to be gaining popularity as opposed to dying. Stubborn and irrational corporate loyalty and manufactured hype are not the only reasons a technology stays alive, quality does play a role sometimes.

.NET these days, especially with core, has a focus on power, performance, portability, and a sleek user experience. C# is a widely loved language that has a plethora of good stable tooling around it, and an intelligently evolving featureset that enables terse, expressive, functional-if-you-want-it coding. I think, like Kotlin, it's very well suited to writing "functional core, imperative shell" apps. You can also use it to write bloated J2EE-style lasagna-code, but no one's forcing you to do that.

As for Blazor itself, it's similar to React/Vue/etc., but in C#. Writing complex frontend apps is hard even with TS and the big frameworks, and I can't think of why a new entrant with a statically typed language (with types at runtime!) that's still web-native would be a bad thing. As for startup time, hopefully they'll improve that, but you wouldn't use Blazor for a simple app anyway.

<comment><USER30> _But, I 'd ask you to recheck your impressions every couple of years_

My most recent experience with a .NET application was within a day, and my impression has not changed since the beginning. (Although hardware has gotten faster...) Essentially every time I've had to use an annoyingly sluggish app that looks like a native one, I later discovered it was written in .NET . Despite all the claims of performance I have not once encountered an app that reflected those. It's never been "wow, .NET is so fast now?" but always "why is this so slow? ...oh, it's .NET."

 _You can also use it to write bloated J2EE-style lasagna-code, but no one 's forcing you to do that._

That's the same non-argument the Java folks give. In theory it's possible to do better, but the language and culture naturally tends toward overengineering monstrosities because it is so much easier to do so when the language makes complexity easy to create.

...which brings me to the point I'm trying to make: your users don't care what fancy language or framework or whatever else you used. They care about the speed and (implicitly, since it affects speed) resource usage of your application, and that's what they'll notice.</comment></comment></comment>


New Password Guidelines from the National Institute of Standards and Technology - <AUTHOR> https://venturebeat.com/2017/04/18/new-password-guidelines-say-everything-we-thought-about-passwords-is-wrong/ <comment><USER2> Punching through to the actual draft, I see this allowance for passwords:

"Verifiers MAY remove multiple consecutive space characters, or all space characters, prior to verification provided that the result is at least 8 characters in length."

It really stands out compared to the transparently-reasoned requirements around it, though this rationale is provided later:

"Users should also be able to include space characters to allow the use of phrases. Spaces themselves, however, add little to the complexity of passwords and may introduce usability issues (e.g., the undetected use of two spaces rather than one), so it may be beneficial to remove spaces in typed passwords prior to verification."

I still dislike that it breaks the "just hash what I enter" axiom. (normalizing unicode aside, obviously) At least it's "MAY"!

</comment><comment><USER3> Ugh with the headlines. It's a DRAFT.

This doesn't change NIST guidelines or PCI requirements or anything. (Yet.)</comment>


Ksplice launches rebootless Linux update service - $4/server/mo - <AUTHOR> http://www.ksplice.com/news/20100209-uptrack

<comment><AUTHOR> Specifically, Ubuntu is free, but Red Hat, Debian, Centos, and a few others are ~ $4 per month. Nice concept and good implementation (command line and GUI options), and looks like a small price to pay for not having to worry about kernel 0-days and other bugs. Had some issues with a custom kernel but hopefully that will get worked out.

<http://www.ksplice.com/pricing>

<comment><USER2> I've installed it on two RHEL/Centos machines so far, I'm planning to put it in some production systems in a maintenance period just to be sure of no issues (though I wouldn't be surprised if my datacenter vendor (whose name I won't reveal but it rimes with backspace) would offer this as a "free" service to the customers). It seems like just the thing for hosting vendors to buy for their customers in bulk.

I'm happy to see someone making money off free software and I hope there'll be more of it. There just isn't much software one can spend money on besides the basic like RHEL. If I want to plunk down $5000 on high-performance something it seems like commercial lisp vendors are the only ones that can give that to you. I'd like to give $5000 for a faster Python.

</comment></comment><comment><USER3> Very cool. I'd guess you still want to reboot every once in a while to clean up memory, but since you won't have any security updates pending you can schedule the reboot at your leisure.

The pessimist in me says to wait until a botched patch causes systems worldwide to crash and burn, though. It would also be interesting to find out more about Ksplice's own security as they are now in a position to create the mother of all DoS attacks.

<comment><USER4> > _wait until a botched patch causes systems worldwide to crash and burn_

I'm not following you here. Why does reboot-less updating of the kernel mean that the patches won't be tested. Also what DoS attack were you thinking of?

Lastly, clean up memory? The top uptimes on Netcraft are >1000 days, is this necessary, are there specific memory leaks you're considering?

<comment><USER3> Using Ksplice means that you're letting a private company inject custom code directly into your running kernel. The paper explains that most Linux security updates are applied without modification, but some updates require Ksplice to write custom code for the patches to work (specifically if the update changes any data structures). My pessimistic side says that sooner or later this custom-written Ksplice patch will contain a bug that causes your kernel to crash - worst case would be if that crash happens after the kernel has been running for a while.

I'm sure the people at Ksplice are much smarter than I am, but every time a security update for the kernel is released they will be stressing to release a Ksplice update to be able to provide value for their customers (the whole point of a subscription is so that you get the security update faster than planning a reboot takes).

The way Ksplice works is that it, for each update, injects all changed functions into the kernel and replaces the old functions with a jump to the new version of the same function. Even though it might not cause what you would consider a production-threatening memory leak, I would still like to clear out the old code from memory every once in a while.

<comment><USER4> Thanks for the elucidation.

So, the reboot is required because the patches cause the old code to remain but simply be long-jumped past to the injected new version of that block of instructions. Got it.

I'm not sure I'm in with you on Ksplice having to be really fast. The benefit is virtually no downtime but people are still going to test the patches on their testing servers and thus will still be testing in the wild before implementing fully.

</comment></comment></comment></comment><comment><USER5> When I used to run 10 servers or so, I might have used this service to make upgrades easier. With potentially 100s of servers in the cloud at a time now, I've already figured out how to bootstrap my image off a base install and start and stop servers on a daily basis. Upgrading an image is as simple as picking a new base image and applying my handy dandy boot scripts to it.

I don't see a huge value to IaaS customers as their infrastructures are mostly ephemeral anyway, and are serviced by the likes of RightScale and Opscode who both provide tools that help you get your cloud image booted and configured.

As for the larger own-their-datacenter customers, they'll likely have some solution based on Chef (Opscode) or Puppet, and be more tolerant to reboots.

Smaller data center users might get a kick out of it though.

</comment><comment><USER6> My first thoughts on reading this were that it was super-cool. Then I thought about customers who could benefit from it (we provide Linux consultancy to a number of medium-large enterprises), and I pretty much drew a blank.

If you're large enough for the downtime associated with a reboot to be a big issue then you've presumably already got a minimum of two machines performing the same function. That being the case, it's no problem to remove each node from the cluster in turn, upgrade the kernel, reboot, test and add it back in.

That rather makes the service more of a convenience. For example, for active/passive setups where a failover produces an undesirable amount of downtime (say 30 seconds whilst services migrate), or single server setups where uptime isn't critical, but downtime is still a pain.

Cool technology, but perhaps an example of a solution looking for a problem. I think at $4/month the convenience aspect can probably justify the cost in many cases.

<comment><USER7> Our IT department has twice weekly scheduled maintenance windows. Every month, a couple of those windows will include taking down parts of the infrastructure for kernel updates. Frequently, the services involved are clustered and involve no user downtime, that said, it still takes a team of three or four people a few hours to administrate the maintenance, monitoring to be sure everything is going smoothly and putting out any fires that might arise. 3.5 * ~$100 * 1 hour * 2 times a month = ~$700 per month $700 / $3 per server = 200 servers that could potentially be reduced to seconds of maintenance administration instead of an hour.

</comment></comment><comment><USER8> Seems similar to FreeBSD's binary updates: <http://www.freshports.org/security/freebsd-update/></comment>


Army gets prototype for cyber visualization tool - <AUTHOR> https://www.c4isrnet.com/cyber/2020/08/14/army-gets-prototype-for-cyber-visualization-tool/ <comment><USER2> 'cyber terrain' is a stupid hype-phrasing for the types of work that SIGINT has been doing for decades.</comment>


Ask HN: App for taking attendance ? - <AUTHOR>

Is there like an app for taking attendance at an event, gathering or say an office. Like you would not want anyone to cheat, Like the app ensures that anyone that is present is truly present at the office, school or event.
Thanks in advance. P.S: i have googled too <comment><USER2> Without specific hardware to it, I don't think so.

But you can always use your Wi-Fi router to detect the unique number of devices connected but that still rules out people connected through data plans.

Payrollhero has an attendance management app for office, but not for events as such.

If you don't mind using a separate hardware density[0] came out recently and looks very promising.

[0] - [http://www.density.io](http://www.density.io)

<comment><AUTHOR> but it would not be accurate, i was thinking if there was a way that the attendees could actually check it and mark themselves as present to the event or place without having to be counted by someone, all the organiser has to do is sit and watch people check in.

</comment></comment><comment><USER3> Eventbrite is kind of interesting, and it looks like its set up for free events like parties. Uses barcoded printable and gate folk use smartphones for check-in, saw it in use at Maker Faire; had an issue one year getting in I think the operator double scanned my form accidentally.</comment>


Press request: People who changed their accent to fit in - <AUTHOR> I'm looking for people who changed their accent to fit in at work (or consciously decided not to). It's for a tech blog, so a founder or techie would be perfect but doesn't have to be.
Your quotes will be used in a blog for a small startup with a backlink to an appropriate site of your choice.
It can be a light local accent or a strong foreign accent and it can be that you change it slightly when speaking in public/presenting rather than a permanent change.
If you know someone who's interested, please email firstname.lastname@example.com. Quotes needed by coming Monday! <comment><USER2> Telling people which blog might help the appeal.

Good luck.</comment>


Jiaozhou Bay Bridge, World's Longest Cross-Sea Bridge, Opens In China (VIDEO) - <AUTHOR> http://www.huffingtonpost.com/2011/06/30/jiaozhou-bay-bridge-world-longest-cross-sea-china-_n_887721.html

<comment><AUTHOR> "...took four years to build..."

Compare that to any infrastructure project here in the US.</comment>


Largest 3D map of the universe, SDSS (Sloan Digital Sky Survey) - <AUTHOR> http://www.theatlantic.com/technology/archive/2012/08/the-largest-ever-3d-map-of-the-universe/260909/#

<comment><AUTHOR> Here is a direct link to SDSS : <http://www.sdss.org/></comment>


A website for testing your app ideas - <AUTHOR> http://elevtr.io/ <comment><USER2> This website is suspiciously similar to [https://www.elevatr.com/](https://www.elevatr.com/).

<comment><USER3> And, is facebook suspiciously similar to Myspace?

<comment><USER4> I think if Facebook had launched at myspc.io people would've raised eyebrows.

</comment></comment></comment><comment><USER5> "Elevtr IO is an app for testing your minimum viable product or supporting ideas you like."

A MVP isn't a description of something that doesn't exist. An MVP is the cheapest way to get value to your users. Interesting idea for a site, but I wish they wouldn't use the phrase MVP.

</comment><comment><USER6> This could work for free or 0 price ideas, but for paid services or products you have to ask someone to give you money to find out if they really like your idea.

</comment><comment><USER7> Interesting site. I think it could be more helpful if it also had a "wouldn't use" button that also asks for specific feedback. Sometimes its good to hear peoples concerns when you are still in the idea phase.

<comment><AUTHOR> thanks for the feedback man. I'm still mulling that feature over.

</comment></comment><comment><USER8> Wouldn't an app idea need feedback from it's target market? How does this site help with that?

</comment><comment><USER9> There should be a way to suggest/tag an existing solution (to generate conversation -- why is their solution better?)

This seems like a good way to help people collaborate and not re-invent the wheel, unless there's a compelling reason / competitive advantage / unique value proposition.

</comment><comment><USER10> Great idea; I keep trying to leave a lengthy comment and I get an error. I get a 500 Error.

<comment><AUTHOR> that's so embarrassing. I'm on it. Thanks for letting me know

</comment></comment><comment><USER11> _Just ship something._

</comment><comment><USER12> Just a minor note. In the 'you are not logged in modal' it would be great if there is a link to the login/register

</comment><comment><USER13> it doesn't seem to be working. it's stuck on a "do you want to delete this idea" opened in front of a "congratulations! we wish you the best of luck" opened in front of "after you click launch..." (at this point, I stopped deleting div elements to find out what's behind dialog number 2)

</comment><comment><USER14> Interestingly, I had a similar idea some weeks ago. In addition to checking if your ideas are worth stealing it could also be used to connect people with similar ideas.

Then I tried to find a solution to the "good ideas will get stolen" issue and lost interest since I could not find a solution that would not involve a repulsive amount of cryptography.

Would love to hear other people take on this, though.

</comment><comment><USER15> Cannot register - says my email is invalid (contains a plus sign (+)).

</comment><comment><USER16> interesting concept, but I'm always worried that submitting ideas to a site like this will result in the good ones being stolen, if not by the website owner then by the users.

<comment><AUTHOR> it's a valid point. But don't you want to know if it's good enough to be stolen?

<comment><USER16> not really -- isn't that like wondering if your wallet is fat enough to get noticed and pick pocketed?</comment></comment></comment>


Using the same controller to handle a singular and a plural route - <AUTHOR>

I'm working on a rails app and using singular routes.  However the controller name for the singular resource is plural. Eg map.resource activity_report expectes the activity_reports_controller.  The explanation given in the rails 3 guide is: "... you might want to use the same controller for a singular route and a plural route..." That is a reasonable explanation, but what is the use case for using the same controller to handle a singular route and a plural route? <comment><USER2> <http://stackoverflow.com/> is a better place for questions like this, IMO.

<comment><AUTHOR> Thanks, I'll post my question there.</comment></comment>


How NPR Transcribes and Fact-Checks the Debates, Live - <AUTHOR> https://source.opennews.org/en-US/articles/how-npr-transcribes-and-fact-checks-debates-live/ <comment><USER2> Pretty neat feature and thanks for the walk-through. I enjoyed it during the first debate, but I have to say I was a little surprised at how many errors I saw in the transcription - I thought 5% or so was typical.</comment>


The delusion of Social Networks - <AUTHOR>

As an entrepreneur, who runs a logistics business, or for that matter, what you may call an 'offline business'. I have deleted my twitter/facebook/linkedin/Goolge+ accounts.
I was expecting, I am going to bankrupt or out of business. But 'surprisingly' nothing has happened.
I am not an old-fashioned guy, I am perhaps of the elite of 'early adopters' just to put emphasis. The kind of guy, who always keep OSX/iOS up to date, and would buy any App that appears here ;) just to summarize.
However to my astonishment, the old-fashioned way of getting things done and promoted is far more worthwhile than these stupid things. (social networks).
I am more able to put focus on my real job, and while still being better informed. There is no information overload. Previously even though I was following 100 blogs on twitter/facebook. But truth is, I would barely click any of the links. And I was being deluded, that since I am following all these cool websites, I will be better informed, and that information will help me somehow.
Now I have bookmarked few sites, and randomly check them 1 or 2 times a day. I get to read couple of articles too which are worth my time.
As for Social Networking, clearly Facebook is a failure, It's just a show off and you would never know if your friends are actually in good shape and conditions. Because everyone just would pretend, he is a billionaire and having the best ever time of their life. But sadly and mostly it's not true.
You can never know it, until you meet them in person or at least make a phone call, fuck skype too. I don't know but Skype does not convey true emotions for reasons unknown, Perhaps it's internet related service, and people still pretend the same way as the do on other internet services like Facebook.
Finally, I am feeling much better and relaxed and more focused on my work. end. <comment><USER2> >As for Social Networking, clearly Facebook is a failure

It is hard not to dismiss your entire post as trolling, but I'll bite because I'm particularly curious about that sentence. If you're not trolling, I'd be curious to hear your definition of success and why Facebook so clearly misses that mark. I quit Facebook more than a year ago, but I'm not myopic enough to claim that a billion monthly active users spread across the globe from different social and economic backgrounds is a failure.

<comment><USER3> He didn't say Facebook was a failure, he said it was a failure as a social network site, which is 100% true if you want social network to be a vehicle for genuine human connection (instead of superficial self-promotion).

<comment><AUTHOR> Exactly.

<comment><USER2> > genuine human connection (instead of superficial self-promotion).

You can move the goal posts with that definition all you want, because it is incredibly difficult to define "genuine human connection" I personally know friends and family that found long lost childhood friends through it, and connected. I myself have made valued, genuine connections while on using it. That's just silly.

</comment></comment></comment></comment><comment><USER4> facebook is quite good for sharing family pictures with whoever wants to look (grandparents want to see grandkids).

It's also pretty good for keeping up with your children's school, provided they have a facebook page and update it with info about activities.

As you mentioned, there are better ways to keep up with your friends+family regarding specifics, but facebook is really good at things that can be broadcasted.

</comment><comment><USER5> I work in technology, I am a geek who has worked for big companies and yet I don't use Facebook, I think is a waste of time. I realize that most people there are just self promoting, I use linked in which is more useful for me to make connections.

</comment><comment><USER6> It depends on your industry and target market. There is no one size fit all.</comment>


What Happens When We Let Tech Care for Our Aging Parents - <AUTHOR> https://www.wired.com/story/digital-puppy-seniors-nursing-homes/ <comment><USER2> Upon seeing the title I was reminded of _Rōjin Z_ , an anime I watched about 20 years ago, whose McGuffin was an AI-equipped robotic hospital bed that could assimilate any machinery it needs to tend to its elderly patient (and eventually becomes a katamari-like monstrosity of destruction). So I expected a cautionary tale about runaway tech, dehumanization, etc.

Instead I got... an early prototype of the book from _The Diamond Age_.

</comment><comment><USER3> Very movingly written - I was immediately reminded of Alex Rivera's Sleep Dealer[1] (the remote exploitation - or is it? - without the drone strikes).

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

</comment><comment><USER4> I thought it was going say "Soylent Green"</comment>


Random Jazz Chords, a practice tool powered by VanillaJS - <AUTHOR> http://randomjazzchords.com <comment><AUTHOR> It's a GH pages site, BTW: [https://github.com/bellkev/random-jazz- chords](https://github.com/bellkev/random-jazz-chords)

<comment><USER2> Nice, would be cool if clicking on the chord would play it</comment></comment>


Sobel edge detection using Java Advanced Imaging - <AUTHOR> http://asserttrue.blogspot.com/2010/01/sobel-edge-detection-using-java.html

<comment><AUTHOR> The Java Advanced Imaging API supports a number of interesting convolutions straight out of the box, and one of them is Sobel edge detection.

</comment><comment><AUTHOR> Good article</comment>


VeriFone have been gunning for Square since the start - <AUTHOR> http://www.youtube.com/watch?v=sVOzysmxhyM

<comment><AUTHOR> Note, that video is from Dec 10 2009.</comment>


Howler.js - Javascript audio library for the modern web - <AUTHOR> http://howlerjs.com

<comment><USER2> <http://jsfiddle.net/mt6Tt/1/>

Value is not of type AudioBuffer. Origin null is not allowed by Access- Control-Allow-Origin.

<comment><AUTHOR> This is not a bug in the library, it is a browsers security feature. Audio files can only be played from the same domain that you are trying to play them from because an XHR request is used to fetch the audio file.

<comment><USER2> Yeah, but it's a limitation.

Playing a file in another domain works with <http://www.schillmania.com/projects/soundmanager2/> or <http://www.jplayer.org/> (<http://jsfiddle.net/Q4LMV/18076/>)

<https://github.com/CreateJS/SoundJS/> instead respect same origin security policy (<http://jsfiddle.net/SeUD7/>) like your library.

That being said, i like your lightweight library, well done.</comment></comment></comment>


The Military is Leaving the Missing Behind - <AUTHOR> http://www.propublica.org/article/missing-in-action-us-military-slow-to-identify-service-members <comment><USER2> Can anyone please explain why it is necessary to identify the precise remains of the dead, especially those that died so long ago? It seems like a waste of time and resources, driven by a compulsive over-expression of sentiment. In the case of the article, the man died over fifty years ago, and they even have the luxury of knowing where and how he died, shouldn't that be closure enough? Should taxpayers really be funding a staff of 500 for this? I can think of many better allocations for $100,000,000.

<comment><USER3> It is part of the promise your country makes to you and your family as part of you going to war. You know if you are deployed and subsequently killed you know that your country will make every reasonable effort to return your remains to your loved ones.

Seems a minor cost compared to a life, or thousands of lives.

<comment><USER4> Actually I would imagine anyone who is not dumb or suicidally depressed would prefer their country spent that money on themselves not dying.

So to me, letting soldiers/people die because resources are instead being spent on people who passed away 50 years ago is not a minor cost.

<comment><USER5> US military budget is, what, ~$700 billion? I don't think a $100 million is going to improve anyones odds of survival if spent on equipment/research/something else, but it can have a big effect on morale if the soldiers know they wont be just abandoned and forgotten if things go badly.

</comment></comment></comment></comment><comment><USER6> """The top military official at J-PAC, Gen. Kelly McKeague, said he believed the standards for laboratory work to identify a veteran should be higher than the FBI lab's standard for a death penalty case. With what J-PAC does, he said, there's "a lot more at stake.""""

Jesus Christ.

</comment><comment><USER7> You find Luddites in every field. Not using DNA is like sorting millions with bubble sort because that's the way you learned to sort in 1st grade.

<comment><AUTHOR> Not using all of the tools at their disposal means that tens of millions of tax payer dollars are being inefficiently spent though, with few results to show for the effort

</comment></comment><comment><USER8> Unfortunately you do see this kind of thing ("fiefdoms" impeding progress) a lot in the government. Sometimes it works well (Adm. Hyman Rickover at Naval Reactors), but often you get things like this, with people (well-intentioned perhaps) hanging on to a position for so long that they become locked into what worked 15 years ago.

That's not necessarily bad for slowly-evolving fields, but it's certainly not helpful here.

</comment><comment><USER9> The "#MIA Takeaways" sidebar with pre-filled tweets for key points is an interesting feature I've never seen on a news site before.

</comment><comment><USER10> This is HN material. It's hacking a different kind of system, is all.

<comment><USER11> If you've got a good story - like this one - hacking government bureaucracy requires only one thing: getting your local elected representative involved.

Not because they're particularly dedicated to helping out constituents, although many are, but because it's great for re-election. A good congressional district staffer could take this, write up a few letters "from" the Congressperson to whoever's in charge of the person in charge of JPAC, send a release to the local cable channel, and get a pretty good local firestorm going on the issue to shame the DoD into some action. This may not get the investigation going, but it will get some progress...which will be good for the petitioner (since they got some official attention they wouldn't otherwise have), and good for the Congressperson (since they'll be able to highlight this in their newsletters and when they're running for re-election as someone who "gets results"). District staffers live for things like this; take advantage of it.

Pro tip if you have something where you're going to use this strategy: make it as easy and as obvious as possible what you'd like your representative to do. Want them to send a letter to a particular official? Attach a copy of the letter you've already sent that official. Want them to make a call? Include all the information you have about the person you tried to call, their supervisor's information, and the talking points you would have used had you been able to make it. Keep your issue morally black-and-white, and make it very easy to understand how doing X will result in something concrete and simple that the representative can consider an accomplishment. You're competing with a whole host of other interests who want some of this representative's district time, so make it very clear why what you want is easy to do, morally right (according to the morals of the majority of your district), and simple to understand & be convinced of.

</comment></comment><comment><USER12> Any way we can start sending letters to this guy to pull his head out of his ass?</comment>


Hello, I'm Mr. Null. My Name Makes Me Invisible to Computers - <AUTHOR> http://www.wired.com/2015/11/null/ <comment><USER2> I was just talking to my students yesterday about making assumptions with user data, and in this particular instance, assuming that a last name is only one word.

Years ago, when I first started using Google AdSense on my website, they had problems with my physical address. Specifically, they did not allow you to use a PO Box address as your physical address. Makes sense. Well, I lived in a rural area, so my physical address was "Route 1 Box 246" (back then there was NO other designation for the house location that I could use, now commonly known as a "911 address"). The website would not allow me to sign up because "Box" appeared in the middle of the address line. I sent them an email and they had it fixed remarkably fast, but I have used it over the years as a good example of a case for not making assumptions on input.

<comment><USER3> Somebody once set up a report for us using Microsoft controls. When processing some addresses in I forget what state, it encountered values that looked like 25E155 as scientific notation and blew up on floating point overflow. It was not hard to tweak the input once we figured out what was going on.

</comment></comment><comment><USER4> I am reminded of those systems which cannot accept that a person (perhaps of Indonesian origin) has only one name. Or that cannot accept that a last name has an apostrophe in it. Or that cannot accept a name with a space in it.

Is there a resource of every weird case in people's names, that is publicly available and of modest size, that could be used for software testing? It would be nice if people like Mr. Null could add their name to such a list, and it became generally known among software developers.

<comment><USER5> Naturally, such lists have been compiled over the years--sadly, unexplained database errors have mysteriously prevented the lists from being propagated and maintained.

</comment></comment><comment><USER6> Already posted _five times_ this week... first here:

[https://news.ycombinator.com/item?id=10512811](https://news.ycombinator.com/item?id=10512811)

</comment><comment><USER7> The name I use for all my test accounts is Null O'Reilly.</comment>


Elon Musk Reveals Solar Roof Made of Glass Tiles in L.A - <AUTHOR> https://www.bloomberg.com/news/articles/2016-10-29/musk-unveils-solar-roof-shingles-at-los-angeles-event-friday <comment><USER2> I realized that Elon Musk is very effective at selling his idea, so effective and subtle that you do not even notice he is selling. Ecology, convenience, quality... hard to say no. Sold.</comment>