What do black people like me have to lose if Trump wins? Everything - <AUTHOR> http://www.vox.com/2016/8/30/12690332/donald-trump-black-voters <comment><USER2> "It is a future in which my loved ones and all of those who reared and mentored me will be recognized as first-class citizens deserving of the very best America has to offer, not as restive black and brown folk pathologically inclined to violence who should be pacified with low-paying jobs or beaten into docility by more "law and order" policing."

Why do they have low-paying jobs?

[https://en.wikipedia.org/wiki/African- American_family_struct...](https://en.wikipedia.org/wiki/African- American_family_structure)

68% of African-American babies were born to un-wed mothers. This alone makes it extremely difficult to actually get an education and make a living beyond minimum wage.

"recognized as first-class citizens deserving of the very best America has to offer"

Is this a joke? We have an African-American president. You can't get much more 'first-class' than that.

"beaten into docility by more "law and order" policing."

Yes, I would like more law and order and less violence. I don't want to raise my children in a society where they have to worry about getting beat up or robbed because our political correctness wouldn't allow us to arrest criminals.

"Gone would be any chance of sending my and my wife's children to fully integrated and well-funded public schools without being forced into complicity with the structure of grossly unequal educational opportunities that wears the mask of "school choice.""

At some point, you need to stop blaming the system and start blaming personal choice. I read an article on CNN the other day that explained why the police stop African Americans more often than other races. They make up the majority of people that drive on suspended licenses and/or with unpaid tickets. The police will automatically stop you for this, regardless of the color of your skin.

What we really need to do is find out why this happens. But the truth often times doesn't fit the narrative.

What's sad about this article is that it doesn't account for personal choices and personal responsibility in the black community. There will always be racist people, but to say that the US has anything close to having systemic racism is ridiculous.

This article will only continue the ongoing racial divide in this country...but what more can I expect from VOX??

Want to see systemic racism? Live in Malaysia for a few years.</comment>


After 2 Months, FOBO (YC S11) Has Hit a Million-Dollar Run Rate - <AUTHOR> http://techcrunch.com/2014/03/16/fobo-video/ <comment><USER2> For those of you wondering what were they doing in the huge gap from S11 to two months before. Here are some info:

1) The startup they applied to YC is called Yardsale, and it's still alive: [https://www.getyardsale.com](https://www.getyardsale.com). "Yardsale, a mobile app to help folks sell goods to local buyers."

2) FOBO is founded by Yardsale, Inc. FOBO received $1.6M in Seed funding. (10/18/13)

3) More stories here: [http://josephwalla.com/how-to-hustle-and-launch- in-3-weeks-t...](http://josephwalla.com/how-to-hustle-and-launch-in-3-weeks- the-fobo-backstory)

</comment><comment><USER3> Have to call bullshit on this one. "Run rate" for a business with single-digit gross margins (marketplaces) are a pretty different animal than "run rate" for a pure software/SaaS company.

<comment><USER4> That's a fair distinction - but that's something you deal with by filtering through context - not calling "bullshit"

<comment><USER5> dude, in just two months.. still amazing.

<comment><USER6> It's mostly irrelevant, honestly, except as good marketing. If I buy $1000 worth of candy and sell it for $1000 every month, do I have a "$12,000 run rate?"

I'm not poo-pooing FOBO, only saying that "$X run rate" is meaningless without understanding the underlying economics. It's a vanity metric.

So, it's awesome they got ink based on that story, but let's not kid ourselves that this says something about the business in and of itself. :)

<comment><USER7> > If I buy $1000 worth of candy and sell it for $1000 every month, do I have a > "$12,000 run rate?"

Yes. As far as I know, "run rate" refers to taking data from a shorter time period and extrapolating it to a year, and the obvious implication is that revenue is the data point being extrapolated.

<comment><USER6> You're either being deliberately pedantic or missing my point, which was to illustrate how silly "run rate" can be as financial metric unless it's backed up by fundamentals. The $1000/month candy business is a _bad business_ and in fact the more revenue it "makes" the more money the business actually loses.

<comment><USER7> No one is disputing that this one figure doesn't give a complete representation of the health or success of a company. That doesn't mean that run rate can't be a useful metric. You just asked if you were correct about the definition of run rate, and I just responded that you were.

<comment><USER6> Deliberately pedantic. Got it.

<comment><USER7> No, not pedantic. It's the standard and widely-accepted definition of the term "run rate."

<comment><USER6> Yes, I know what it means. Thanks for your help.

<comment><USER7> I feel the need to inform you what the word "pedantic" means, but that would run the risk of again being accused of pedantry.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> The biggest question for me remains unanswered, having been bitten pretty hard by an eBay scammer who claimed the camera I shipped "wasn't as advertised". How will they verify that an exchange has taken place, and how will they solve disputes?

<comment><USER9> I thought this was all local stuff. At the top of my FOBO screen it says "FOBO SF." so my assumption is they just handle the payments and you deal with picking up your stuff. Am I wrong?

<comment><USER8> Looks like they still rely on the buyer "confirming" that the exchange happened, which seems like a red flag to me.

<comment><USER10> So when your giving it over to them to look at they see its all okay and then pull out their phone and confirm it before you let them leave with it.

<comment><USER11> Won't stop them from doing a chargeback with the bank.

<comment><USER7> But that applies to literally every credit card transaction.

<comment><USER11> Sure, but most credit card transactions have other methods of at least somewhat verifying the charge. Receipts, security camera footage, IP addresses, shipment records, established businesses unlikely to randomly pick people to screw, etc.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Does this mean their revenue was $1 Million / 12 ~$83k last month (the normal definition of run rate), or the sales they processed was $83k last month?

<comment><USER13> It is almost certainly the latter. Their fees are 15%, so the revenue run-rate would actually be closer to $150k.

That being said, my guess is the service partially operates as an eBay proxy, thus they are buying some of the stuff. If that is the case, then the revenue run-rate could be close to the processing amount, as they would be the merchant of record for anything sold on eBay.

<comment><USER14> For the purposes of TC (and most likely FOBO's PR), the run-rate _does_ make this a "million dollar business in 2 months" \- yes that's what most people will think after reading this.

For anyone curious about some of the terminology here:

1) A run-rate is typically determined by using some financial figure and extrapolating it over a year. Typically this is used in seasonal businesses, where a Q4 might be strong (take Apple for example) and you can thereby project what the revenues will be for the next 4 quarters. Trying to establish a run-rate after 2 months of business is not only extremely rare, it's deceptive and almost downright lying. No respected financial person would ever use this terminology in this context.

2) It's not clear (purposefully so) what figure is being measured to calculate a run-rate. Gross sales? Revenue? Profit? Most likely it's gross sales. Again, an extremely rare case for using the term run-rate, as it's mostly used for the annualized revenue amount.

Lastly, awesome job by FOBO and can't wait to see how a whole year pans out for them! Unfortunately this is a case of appalling journalism by TC (no surprise). Subsequently it means we'll have a whole lot less educated entrepreneurs who think they can fumble around with telling investors that their app that is doing $5,000 in revenue in it's first month, is now all of a sudden the next million dollar success. (EDIT - I'm not saying that FOBO is one of them, in fact quite the opposite)

</comment></comment></comment><comment><USER15> I am unfortunately addicted to FOBO. It has made me use my iPad quite a bit more, but I wish they'd make an Android version too. I think they'll see more penetration once they add some social media sharing; I think they would do well with something like Twitter where feeds go by fast.

I have made 4 purchases on FOBO, all exceptionally good deals, and I picked up from the seller right away. Zero problems. I even ran into one of the guys running FOBO on my first pickup; nice guy.

</comment><comment><USER16> _By now you probably know that Craigslist sucks as a way to sell stuff._

Uh, no it doesn't. I never got a single spam, and I've sold about 10 things (mostly electronic) over the last year. Not one of hte people flaked on me or tried to haggle once I met them. Yeah, they haggled before (on the phone or via email), but once I met them, everyone was nice and kept to the agreed upon price.

<comment><USER17> I've had enough flakers and hagglers that I now post warnings in all ads:

1 - I refuse to hold anything (first person to show up _with cash_ takes it)

2 - no haggling on the spot; I'll turn you down on principle

It's a fucking hassle. I buy a new macbook every 12-18 months and craigslist the old one (and the same with phones). I take good care of my hardware and carefully point out any scratches or nicks in the craigslist listing. People still try to knock you down 10% or 20% when they come.

<comment><USER18> Use craigslist experience to become better at negotiating.

Problem with this app is there is a limited amount of users while cl has 90% of the market. So you will probably still get a better deal on cl.

</comment></comment></comment><comment><USER19> The universe of unwanted, _valuable_ consumer electronics is probably quite small. The universe of unwanted goods whose resale value is less than the cost of disposal is pretty huge.

Add to that the huge risk of tying up capital in worthless electronics and I see this one as pretty risky.

But it might just be how ebay will have to go - small seperate communities.

<comment><USER20> > The universe of unwanted, valuable consumer electronics is probably quite > small.

Spend some time exploring Ebay and Craigslist and you'll see that it's bigger than you might assume. People are exchanging a lot of consumer electronics, and for nontrivial dollar amounts. And not only the newest stuff.

As for worrying about disposal costs, I think that's unrealistic for any device that isn't actually broken. Show my any working computer or phone and I can guarantee you there's a non-negative price at which somebody will take it off your hands.

This is a case of tech-world myopia. Lots of people either don't care about or can't afford the hottest tech. An 18-month-old smart phone or two-year-old laptop still affords quite a lot of value. Which is why you'll see hundreds of them changing hands in the various marketplaces.

</comment></comment><comment><USER21> My math may be a little rusty but how is "2 months" equal to 3 years for YC s11 company? Can someone please enlighten me.

<comment><USER7> As far as I can tell, the FOBO app and service is a rebranding and minor pivot from their original (and surviving) Yardsale app. I have used Yardsale a few times over the past 2 years, so I suspect that was their primary effort after going through YC.

</comment></comment><comment><USER22> Congratulations to FOBO ! I am curious about their pivots and paths taken so far. Wasn't YCS11 a long while ago ?

</comment><comment><USER18> Not good enough to switch from craigslist. Craigslist is better exposure and this app does not really solve any real problems. A perfect example of starting a business for the sake of starting a business.

</comment><comment><USER23> YC S11... after two months? Huh?

<comment><USER2> "It's been just about two months since FOBO launched its local marketplace app for consumer electronics."

So they were probably making the app before launching.

</comment></comment><comment><USER24> Die Craigslist, Die!

<comment><USER25> For any competitor to even make a dent in Craigslist they'd need to expand well beyond SF. Almost three years, and what markets is FOBO in? When you install the app, you get a modal that says "Available Only in San Francisco". It apparently uses geolocation: I can't even look at the app if I'm not in SF.

Also, they need to expand well beyond consumer electronics: on CL I've bought furniture, cars, found freelance work, searched for office space, searched for a home to lease, and more.

FOBO could "win" 100% of personal consumer electronics sales in SF and it's probably would have no effect on CL.

<comment><USER26> If I'm remembering well, craigslist started as very very local. And then expanded city by city.

<comment><USER24> I mean, it's time. Right?! I am tempted to lock myself in a room for 3 months and just invent a half decent UI for them as a gift to humanity. Their interface says F off humanity. I'm not even good at UI design, not even a little... but I could still do them a service. Or they could just keep suing people?! Why don't they just provide an API and charge for it? They'd make billions and I wouldn't have to feel like my eyeballs got raped every time I need to post/view something.</comment></comment></comment></comment>


RethinkDB is hiring C/C++ engineers with irrational desire for world domination - <AUTHOR> http://rethinkdb.com/jobs/

<comment><USER2> So from the open req page:

 _You know C/C++ like the back of your hand._

So are they looking for C _OR_ C++ programmers, either may apply? or are they looking for strong understanding of the nuances of both C and C++?

I encounter a lot of "C/C++" on resumes and after interviewing a lot of folks, I've grown a distaste for this joined tag. The problem is that when I see "C/C++", I never know until I interview a candidate whether the intent is that "C/C++" is...

1) Shorthand for I program C and I program C++ (I know both well)

2) I program C with classes. I don't really know OOP, but I fake it with big class buckets.

3) I program in C++ and know OOP well, but I would get lost in the strict procedural world of C.

If you don't get where I'm coming from, I've programmed in both for many years, and I will simply say that "C and C++ are two paradigms separated by a common language."

<comment><AUTHOR> This is a great point. In this case, we mean C or C++, as long as you know your language of choice well.

<comment><USER3> ... is your software written in both? Or you just figure if you can do one you can learn the other?

<comment><USER4> I won't speak for Slava, but I think generally the idea is that knowing either one _well enough_ implies a certain amount of knowledge about computer guts, which in turn implies that it shouldn't be too hard for you to learn the other.

Technically it's in C++, though, if that helps.

<comment><USER5> Plus it's not entirely unheard of to do the core of the application in C, and offer a C++ API to users. There is a good reason to have both expertise inhouse.

<comment><USER4> Well, the MySQL API is C++...so....

<comment><USER5> It says "C API" in their own manual:

<http://dev.mysql.com/doc/refman/5.0/en/c.html>

Or did you mean rethinkdb's mysql API?

<comment><USER4> The plugin engine API is C++. They export a C client API, along with many other client APIs.

EDIT: I just reread the above, and should mention that I didn't mean it to be snarky at all. Sorry.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> I am impressed by the inclusion of the salary chart right there in the job posting, as an engineer who dislikes the salary negotiation game (I am inevitably at a strategic disadvantage, playing against managers who have far more experience at the game than I). At least this way, the engineer knows where he/she stands.

<comment><USER7> I thought it was even more interesting they put stock options right there too.

<comment><USER8> Not only that, they cut straight to the chase and put the value in % of the company.

In fact, has anyone ever seen a job post like this? I know I haven't; I'd remember. It's highly unusual in its straightforwardness. I'd guess that's pretty appealing to the kind of hacker they're looking for.

<comment><AUTHOR> There aren't any others that I know of. Most people are incredibly secretive about their stock options - to the point that they give you a vague absolute number (that will likely split or merge at exit) without disclosing a percentage. It's mathematically impossible to evaluate offers like that. "Ten thousand shares" sounds better than 0.001%, though.

There are some very good arguments for keeping the information closed, but we thought we'd try it. So far we've had very positive reaction, but the real test is internal dynamics as the company grows.

<comment><USER8> Just out of curiosity, what are the arguments that you considered for keeping the information closed?

A somewhat related anecdote... I recall with chagrin the first startup I joined. The CEO was a friend of mine. I kept asking him how much equity he was offering as a percentage. He kept responding evasively by snowing me with all sorts of dealy jargon that I didn't understand. In retrospect, of course, he was concealing the fact that the percentage was negligible. At the time, though, insecure in my knowledge of business, I walked away thinking that I was a pathetic noob for having the idea that percentage was a meaningful metric. (This guy was good at what he did, which was deceive smart but gullible people.) That experience is one reason I like your job post. I totally agree with the commenter who said that they hate the jockeying of the negotiation process and would find it a relief to just know up front.

Anyway, I find your post to be an interesting experiment and I think many of us would like to see a follow-up report on it someday.

<comment><AUTHOR> Suppose you pay your top guys $100k, and a candidate comes along with about the same level of skill and experience that you really want to hire. But he won't join for less than $120k. At this point you either have to pass, or you have to bump everyone else's salary. If you have ten guys, instead of paying extra $20k, you suddenly have to pay extra $220k - a massive difference. Same goes for stock options.

I haven't heard a good argument in favor of hiding stock option percentages - I can't think of any other than concealing the fact that your share is negligible.

<comment><USER9> why would you have to bump everyone else's salary? its a market, not some kind of government job

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I wouldn't want to apply there. My desires for world domination are entirely rational.

</comment><comment><USER11> "Introduction to Algorithms by Cormen and Leiserson is your trusty friend."

I have this in my bookshelf. Every time I walk by, I can feel it gloating at me with a smug expression. The rare times I make eye-contact with it, it seems to say "Want some more? Come on back, I've got more, I'll teach you another lesson!"

<comment><AUTHOR> This book is like toothpaste - no matter how long you use it for, you can always squeeze more out of it. There should be a theorem of some kind about that.

</comment></comment><comment><USER12> I think I might be somewhat representative of the target audience for interns (maybe), so here's my two cents

      - Really cool stuff.  Anything heavily concurrent in C is just cool.
        Highlighting that even more is going to get you more of the right
        kinds of candidates IMHO.
      - Call for interns in the fall.  Offers start going out for
        internships in the late fall and early winter.
      - The world domination stuff is hokey.  Every company is feeding
        us this stuff.
      - Do interns get free housing?  What are the perks?
      - Your pay for interns is very standard (which is a good thing).

But seriously, very cool ad.

<comment><AUTHOR> Thanks for your feedback, we'll incorporate it into the jobs page. To answer some points here, we do not arrange housing for the interns (you can probably crash our place until you find a sublet, and we can put interns in contact with each other so they can self-organize). We didn't completely define the perks yet, but it'll be pretty standard stuff.

I agree that the world domination stuff is hokey, but it's catchy and it grabs people's attention, so it serves its purpose pretty well.

If in doubt, apply! We're pretty flexible when it comes to the details.

</comment></comment><comment><USER13> This is the kind of job description that I wish someone in India would advertise. The job boards hereabouts are full of the outsourced "maintain legacy enterprise systems" crap jobs.

No I am not looking for a job [1], but this ad crystallized what I miss in the Indian sw/startup ecosystem. Too many people building db backed websites - clones of successful western products. Not much hardcore tech.

Devs in the USA are lucky to a degree they aren't aware of.

(Mildly) depressed.

And as for jobs with upfront info about salaries/equity, we can only dream.

[1] I am working on a cutting edge (non startup) project that involves a lot of Machine Learning and algorithmic complexity. If I were to advertise I could mostly cut and paste this ad - replace DB internals with Machine Learning - but this is _very_ , very rare in India and I know a lot of talented devs who would give a great deal to be able to apply for such jobs without going through visa hassles and so on.

<comment><USER14> Which job sites in india are you using?

Recently I put a cutting-edge, hardcore (low-level, C, cpu architecture, smp, concurrency type job) startup job post to Naukri and I only seem to get mediocre responses.

I believe it's a two sided issue, there aren't that many talented people or as the saying goes, those that are talented have already moved to western countries.

I really really would like to find talented people from India but it doesn't seem that easy.

<comment><USER15> would you mind providing your contact information (didn't seem to find anything in your profile). i am in india, with approx the skill-set you are looking for, and am on the fence w.r.t the job scene (our company just got bought by a large networking company)

<comment><USER14> I couldn't find any on yours either. We're not hiring right now but please contact me on email@example.com and lets keep in touch.

</comment></comment></comment></comment><comment><USER16> I'm pretty excited by the fact that in the DB scene there are also new players in the closed source side. If we want to make sure that in the end we'll have the best solutions I guess different economic and _development_ models should compete as well, not only technology. For instance if I remember correctly MySQL initially started as a closed source product.

</comment><comment><USER17> And if you know C++ and would like to beat these guys for world domination in a co-founder role, contact me. My email is in my profile.

</comment><comment><USER18> I thought there were 3 cofounders, now listing only 2. Is my memory serving me right?

<comment><USER19> Leif went back to finish his degree.

<comment><USER4> This is true.

</comment></comment></comment><comment><USER20> Who would say..

<comment><USER20> C++ is the language du jour again!

<comment><USER21> Actually I can see a future for it as energy gets more expensive (it's more efficient), and people, cheaper.</comment></comment></comment>


DIY BROADCAST: How to Build Your Own Internet TV Channel with Open-Source - <AUTHOR> http://blog.eltrovemo.com/364/diy-broadcast-how-to-build-your-own-tv-channel-with-open-source-other-goodies/ <comment><USER2> From 2011, but I think that this is a great overview!</comment>


PigHosts - <AUTHOR> https://github.com/goldfix/pigHosts <comment><USER2> It would be nice to be able to quickly add/remove lines to the host file. pighosts add 127.0.0.1 my-site.test

<comment><AUTHOR> good suggestion! I will add in the next release.</comment></comment>


Mozilla Should Move To WebKit And V8 - <AUTHOR> http://browserfame.com/311/mozilla-should-move-to-webkit-v8-engine <comment><USER2> The ONLY reason I still use Firefox is tagged bookmarks. Every time I use Chrome to test something I'm reminded how much of a turtle-pig is Firefox. Despite claimed improvements in Firefox's use of memory and processor, Chrome is noticeably better in both these areas. I still have to restart Firefox to reclaim leaked memory; after the restart, with the same tabs open, I've reclaimed gobs of memory.

I would move instantly to Chrome if the company that gave us tags in gmail would just do the same for bookmarks in Chrome.

<comment><USER3> (aside: oh, NOW it has tagging? sheesh.)

</comment></comment><comment><USER4> Good point. time to say goodbye to Gecko.</comment>


addict – the Python dict with attribute access is now in v2 - <AUTHOR> https://github.com/mewwts/addict/releases/tag/v2.0.0 <comment><USER2> If it meets the guidelines, this might make a good 'Show HN'. Show HN guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

<comment><AUTHOR> Good point which I missed. I think this upgrade is substantial enough to be a 'Show HN'.</comment></comment>


U.S. Signals Backing for Self-Driving Cars - <AUTHOR> http://www.nytimes.com/2016/09/20/technology/self-driving-cars-guidelines.html?mtrref=undefined&gwh=4078EEECC2FAD049805A8A8ADD231C84&gwt=pay <comment><USER2> One thing I find surprising is that most geeks seem to be all for Self-Driving cars, yet are heavily against government surveillance. Yet self-driving cars are not only going to offer up much more surveillance data, but also offer a potential 'kill switch' backdoor that would allow nefarious agencies to drive you into a brick wall at 80mph and make it look like an accident.

Once manual cars go away completely, you will not only loose control of your data, but also the certainty that your motor vehicle isn't going to act against you.

<comment><USER3> If the security services target you, and truly wish to kill you, current methods will more than suffice.

The Israelis like magnetic mines, the Russians polonium, the Yanks... Well to be perfectly honest I'm not sure, but it almost certainly involves some combination of clandestine airpower, special forces operations, OCO, and morbid obesity.

Right now, the chain of devices that can track and kill you is enormous, from your router to your standard ICE Jeep. You're most likely already being tracked on traffic camera, the electronic toll system, cellular towers, passing Wifi, and the endless set of embedded Linux devices that you don't even consider.

If you are targeted, there may be many obstacles to your removable from the board, including political, economic, or legal ramifications.

But technical means will not be one of them.

<comment><USER4> > the Yanks... Well to be perfectly honest I'm not sure,

I'm not sure either, but setting up a traffic accident wouldn't attract too much scrutiny today.

<comment><USER3> I fully agree. The crux of my argument is that self-driving cars aren't inherently any more hackable or trackable than existing vehicles with existing available data connections through cell, emergency communications, OTA updates, or usb if local.

One could, in theory, use the fly-by-wire steering, traction control, or ABS systems to simulate a pretty convincing crash. It would be fairly straightforward electronically through the onboard processors in existing cars, and would be practically untraceable.

<comment><USER5> Yes, I would say a car that can do anything from centrally provided instructions is inherently more hackable than a car that is disconnected from everything and can't do much more than keep its speed on the highway.

<comment><USER3> That's beside the point. The question of centrally distributed updates is orthogonal to that of self-driving cars.

<comment><USER5> I'd be surprised if any of the self-driving cars are not "online".

<comment><USER3> That's fair. But what I see is that the car fleet will head towards OTA no matter what we do.

Forgive me for my cynicism. If you've ever worked with embedded systems... Well the state of consumer security is so bad I'd be shocked if someone hadn't already been killed in this way.

The Bluetooth alone is a nightmarish enough vector already. And local installation is very possible.

After all, all cars do need servicing...

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> This is a hard problem because driving software is so complicated with many special cases. Life and safety code in general is hard.

Do you want to mandate they apply aerospace coding technology? Like the other guy said, this could set them back 20 years. Mandate a traceability culture like ISO9000? How about third party audits? Escrow the code and mandate telemetry for NTSB to examine after an incident?

Even if there are a few bugs, they'll still be safer than humans. Google's up to 1.5 million miles driven with no fatalities. The human metric to beat will be 1.2 fatalities per 100M miles.

<comment><USER7> > Google's up to 1.5 million miles driven with no fatalities.

Has the Google car driven on a Bulgarian road late at night, rain pouring down, with no road-markups, with lorries coming your way and blinding you every couple of minutes? I did that yesterday, and after those moments when I was trying to guess "what is the actual road?" I was thinking that there's no way in hell a computer program would be able to manage that unless full-AI becomes a thing.

<comment><USER8> I did that last night in the USA. Well it wasn't raining -- but an unpaved, washboarded road with no lane markings of any kind, blind hill crests and turns, and just barely wide enough for two cars to pass.

</comment></comment></comment><comment><USER9> "The instructions signaled to motorists that automated vehicles would not be a Wild West where companies can try anything without oversight, but were also vague enough that automakers and technology companies would not fear overregulation."

That ought to set back automated car evolution by twenty years. It's always fun to watch lawyers trying to write rules for industries in which the technologies change before the ink dries in the federal register.

<comment><USER10> For example?

<comment><USER11> The internet comes to mind.

<comment><USER10> Government regulation of the Internet has been sparse and technologically- neutral. The CDMA Safe Harbor comes to mind. Not to mention the fact that Congress has gone to great lengths to deregulate any part of the Internet that changes rapidly. Is there an example you're thinking of?

</comment></comment></comment></comment><comment><USER12> Maybe we will end up with the highways portrayed in tek war and other scifi, where you don't do the driving on limited access roadways but can or have to do it on side streets.

it certainly would be easier to mark visually and electronically limited access routes like interstates. that in turn would make it simpler to create safe self driving cars.

still I am not impressed as to where the tech as implemented on roads with current cars is today. they only work in ideal situations, the exact opposite of most safety equipment. its obvious they cannot rely on visual acquisition of objects, Tesla's system failed spectacularly in that area, so what will win out? RADAR? Laser? Combination of both?

</comment><comment><USER13> What are the uber self driving system based on? What are the regulations regarding their safety?

<comment><USER14> The presence of a licensed driver in the car. That the driver is not touching the wheel is a little out-of-bound in that context.</comment></comment>


Oxford:  Digital Piracy Benefits Affected Companies - <AUTHOR> http://www.physorg.com/news124984600.html

<comment><USER2> As far as business software goes: duh! If you get young people who can't afford your software hooked on it when they don't make any money, when they do, they will just buy it.

Unfortunately to my dismay math software does not follow this ideal. All the (good) math packages for students cost about $100 each. They are also pirated at an unbelievably high rate. I finally broke down and bought mathematica and I scavenged a copy of Matlab from a research group I worked under, but I wish so much that they were free. If I was a professional and used their software every day to make lots of money I wouldn't hesitate to buy their software for plenty of cash.

A lot of students will even buy the student version of Matlab and then use the pirated version which contains all the extra packages they need for their homework.

Embedded compiler software is even worse. Their normal software runs in the many thousands of dollars and their "student pricing" is sold at a heavy discount. Unfortunately, a small percentage of a really big number is still a big number for students. I had to get a student version of a compiler toolchain for a project and it was like $300. Which was an order of magnitude cheaper than the pro-edition, but $300 is a lot for a student who will just use something else they got pirated from some other student. If they had gotten me locked in I would probably go on in the future to use their software and chock up that $3000 because It was what I needed.</comment>


Ask HN: Examples of bad open-source code to learn what to avoid? - <AUTHOR> What are some of the bad examples of code that you have seen? Something you would want to avoid?<p>I'm looking for examples which fall along the lines of "fail to see the forest for the trees". <comment><USER2> I feel like this could lead to very opinionated, non-constructive comments/flame, but if were to give you an example, I'd suggest taking a look at Wordpress eco-system. While Wordpress core's codebase has improved significantly over the years, some of the plugins haven't.

The top pick goes to WooCommerce, although an open source E-commerce solution on top of Wordpress, it has some terrible decisions under the hood.

The top pick would go to mixing presentational logic with business logic. For example, to render a table, instead of exposing an array of objects to allow the developer to loop through it as he/she sees fit, WooCommerce will force you to use a PHP function that renders a table for you and there's actually no way to modify the presentation logic if you wanted to.

It's a really fundamental programming paradigm that even top open source companies fail to adhere to.

Again, I'm not saying this to attack them or the maintainers behind the code, just my opinion of why I think it's bad quality code while respecting the fact that developers still do take time and effort for us to enjoy something with freedom and zero cost.

<comment><USER3> An indirect thing you can learn from this example is that how little code quality matters when it comes to product popularity or revenue.

WordPress and its plugins are most often cited as examples of bad code and to top it off it is written in PHP - a programming language hated by a lot of programmers.

Yet when it comes down to it, WP powers 33.6% of all websites on the internet. Just think for a second how big that number is!

So if the software gets the job done and the end-user can easily understand it, it really doesn't matter if you write it in what language, using what code patterns.

<comment><USER4> > to top it off it is written in PHP - a programming language hated by a lot > of programmers.

You could say that about any language. PHP is loved by many programmers too.

<comment><USER5> Not to the degree that PHP is hated.

<comment><USER6> I'd argue PHP is so hated _because of_ WordPress and the terrible code/practices associated with its ecosystem.

<comment><USER7> Amen to that, I live/breathe for laravel projects, I contemplate slitting my wrists when working on wordpress.

<comment><USER8> Laravel projects can be just as bad of a codebase as WordPress.

<comment><USER7> yeah, I'm working on one now (picking up where Indian devs left off) ... Code is laravel 5.2, every controller injects session, requests, etc into the constructor, then injects a 'manager' which is basically a loose repository structure, laravel 5.3 > somewhere makes it so using requests/sessions in constructor you generally want to wrap that in middlware...

So upgrading is a huge nightmare. This is one reason I'm not a fan of repository pattern, more classes to inject everywhere even when they're not fully needed. When just making a fatter model would suffice.

Also lots of bad php practices...everywhere else. Bad devs can work on any code base, but laravel core code is pretty beautiful, and laravel's community encourages better code, if some bad actors write shitty code the rest of us have to clean up that's on them, but woocommerce is owned by Automattic and has bad code, you'd think they'd fix it or something being a large company.

There's also tons of great packages out there that are written way more OO and with testing and best practices than there are for wordpress. Laravel is also easier to optimize, and the data structure for wordpress can get out of hand as well.

ltdr; Yes, lots of bad laravel code -- but that's on the individual dev, core laravel and lots of laravel packages use php best practices and encourage good coding. Easier to write better code in laravel than it is a wordpress plugin.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Always a crowd-pleaser: OpenBSD true.c vs. GNU's true.c

[http://cvsweb.openbsd.org/cgi- bin/cvsweb/~checkout~/src/usr....](http://cvsweb.openbsd.org/cgi- bin/cvsweb/~checkout~/src/usr.bin/true/true.c?rev=1.1&content-type=text/plain)

[https://github.com/coreutils/coreutils/blob/master/src/true....](https://github.com/coreutils/coreutils/blob/master/src/true.c)

<comment><USER10> Simple is better imo, openbsd wins.

</comment></comment><comment><USER11> It doesn't work, energy follows thought and it makes no sense to focus it on what you want to avoid. Take or leave.

That being said, the worst I ever saw was the in-house business nonsense I was paid to deal with as a Java consultant. The worst code isn't open source from my experience, subjecting it to public scrutiny would mean suicide for the companies involved.

<comment><USER12> This matches my experience. Open source projects tend to get the worst parts fixed. It's in-house applications, usually written in VB / Delphi / Java, that have been supported and added to over the past 20 years where the true horrors lie.

As you say, I doubt many businesses would be willing to put this kind of code out there.

</comment></comment><comment><USER13> An example of bad code that always stuck with me was the flawed CDDB disc id hash algorithm.[0]

I was reminded of that short-sighted decision every time I ripped a bunch of CDs and saw how importing song titles was _not automatic_ because a dozen different discs had the same hash ids which resulted in collisions[1]. It ended up creating needless friction for millions that depended on that discid.

What's sad is I'm not even sure if one can extract any useful "lessons learned" from it! The programmer that wrote it was not an amateur script kiddie; he had a computer science degree from Uni California. Apparently, he didn't realize he was writing a flawed hash algorithm as he wrote it.

One could say that hash algorithms should be "peer reviewed". Well, he got _unsolicited_ peer review that pointed how his homegrown hashing computation was flawed but he _ignored_ the suggestion to improve it.

[0] _> Ti Kan wanted to use a hash. He could have chosen something like CRC32, which would have given him a 32 bit number, yielding 4 billion unique IDs. Instead he wrote his own hash. [...] Ti Kan was made aware (not by me) of this problem back in 1994, and given a script to convert this format into a CRC32-based format, but he rejected it because the deployed base was too big. At that point it was probably in the high dozens._ \-- excerpt from [http://quimby.gnus.org/circus/notes/cddb.html](http://quimby.gnus.org/circus/notes/cddb.html)

[1] [https://forums.macrumors.com/attachments/multiple-matches- jp...](https://forums.macrumors.com/attachments/multiple-matches-jpg.17857/)

[2] wiki: [https://en.wikipedia.org/wiki/CDDB#How_CDDB_works](https://en.wikipedia.org/wiki/CDDB#How_CDDB_works)

<comment><USER14> That advice is wrong too, a 32bit number would have been insufficient due to the birthday problem.

<comment><USER15> Exactly. Assuming 10 songs per CD, you should see your first collision after around 6500 CDs. If he did CRC64, it would be after 400 million CDs.

</comment></comment></comment><comment><USER16> Here you go [https://github.com/progwml6/Natura/blob/1.7.10/src/main/java...](https://github.com/progwml6/Natura/blob/1.7.10/src/main/java/mods/natura/common/NContent.java)

Tip: If you ever end up in a situation where you have to copy-paste code with minor changes then there is something that you are doing wrong. In this case using arrays and loops would be a much better solution.

<comment><USER17> That looks nasty, but surprisingly hard to fix with loops because everything is of different types. If I were fixing it I'd look to some kind of code generation solution, even if just a hacky python script parsing a CSV.

(addShapedRecipe is just _begging_ to have ASCII art as its canonical form)

<comment><USER16> Most of them are of the types button and item though.

</comment></comment></comment><comment><USER18> How about examples of open source code to learn whats really, really good, together with why it was designed that way? Seems like that would be way more useful.

Or examples of projects that did things one way, but later refactored, and why they refactored.

<comment><USER19> i dont think you really get very deep into it by reading code without working with it. sure, there are surface syntactic niceties one can bikeshed.

the real meat of the matter comes when you are trying to make a change. is the structure robust? is there convenient tooling that helps you do what you need to do? does the system require extensive boilerplate to do simple things? does the system come crashing down in some unrelated area when you are trying to make simple changes?

it may be surprising, but large old codebases usually have huge hunks that serve no real purpose whatsoever except to glue together two pieces that would be much happier talking directly to one another.

I really wish as a community we could abandon the 70s business notion that software is a concrete artifact that one invests in and sells. its a really poor model. software is a process. code that is not being maintained is largely just dead. as developers we should be evaluating software as a living thing that responds to its environment...not as a shrink wrapped item we unbox and review on youtube.

</comment></comment><comment><USER20> That's a really bad idea. You need to have a good counterexample, otherwise it's just wasting time at the best case. A lot of people learn from really bad codebases and picking up the same style which is terrible. You should look at GOOD codebases instead!

<comment><AUTHOR> I did some work on html2text when I started off and while the little parts did make sense, the whole library was confusing for me. I couldn't change anything without breaking tests.

On the other hand I've been tinkering with curio for a while now and it's a fresh breath compared to that.

My trouble is that I still don't understand what makes the html2text thing "bad". What particular thing there caused me to not like working with it? I'm trying to understand that.

I've been book hunting + figuring out if it's something that I did not know which would have made the code a lot easier to work with (stuff got a lot easier after I cleaned up my set theory understanding)

\- [https://github.com/dabeaz/curio](https://github.com/dabeaz/curio) \- [https://github.com/Alir3z4/html2text](https://github.com/Alir3z4/html2text)

</comment></comment><comment><USER21> If you're interested in a case of unnecessary optimization and effort, the infamous left-pad npm library has been refactored to only add to the string O(log(n)) times. It is short but not sweet.

[https://github.com/left-pad/left-pad#readme](https://github.com/left- pad/left-pad#readme)

<comment><USER22> I think it needs more // comments. Hilarious.

</comment></comment><comment><USER23> Here's some old code of mine:

[https://github.com/vatt849/LibMinecraft/blob/master/LibMinec...](https://github.com/vatt849/LibMinecraft/blob/master/LibMinecraft/Client/MultiplayerClient.cs)

The whole library is a trip if you want to read a bunch of bad C#. Highlights:

\- Generated documentation

\- Giant switch/case instead of a more organized dispatch map

\- Large swaths of commented code instead of using version control

\- try...catch statements that just eat the errors

\- Inconsistent code style

\- This thing:

[https://github.com/vatt849/LibMinecraft/blob/master/LibMinec...](https://github.com/vatt849/LibMinecraft/blob/master/LibMinecraft/Client/MultiplayerClient.cs#L603-L621)

I've written something similar from scratch since, which I'm still not entirely satisfied with, but is much better for reference:

[https://github.com/ddevault/TrueCraft](https://github.com/ddevault/TrueCraft)

The client-side networking code lives here:

[https://github.com/ddevault/TrueCraft/blob/master/TrueCraft....](https://github.com/ddevault/TrueCraft/blob/master/TrueCraft.Core/Networking/PacketReader.cs)

[https://github.com/ddevault/TrueCraft/blob/master/TrueCraft....](https://github.com/ddevault/TrueCraft/blob/master/TrueCraft.Client/MultiplayerClient.cs)

[https://github.com/ddevault/TrueCraft/tree/master/TrueCraft....](https://github.com/ddevault/TrueCraft/tree/master/TrueCraft.Client/Handlers)

Notable improvements:

\- Handwritten docs only where necessary

\- Uses a stream implementation for decoding this particular wire format

\- Has a different and better abstraction for reading packets out

Still has bad error handling though.

</comment><comment><USER24> See Syobon Action it's source code as bad as the game itself.

[https://github.com/angelXwind/OpenSyobonAction/blob/master/m...](https://github.com/angelXwind/OpenSyobonAction/blob/master/main.cpp)

</comment><comment><USER25> The source for Terraria is notoriously terrible.

[https://github.com/TheVamp/Terraria-Source- Code](https://github.com/TheVamp/Terraria-Source-Code)

It is another example of how even inelegant code full of hardcoded values can be successful.

<comment><USER26> (Note that this is _decompiled_ source – the original probably at least has comments here and there)

</comment></comment><comment><USER27> Libraries can be useful despite imperfections, and poor design decisions can occur in overall good libraries. So we can't judge too harshly.

Having said that:

1) iText PDF library used to have some fairly poor & duplicated code. Column layout was a highlight. Also strange ideas overemphasizing subclasses, eg. for paragraph styles. (Correct approach: use values rather than types.)

2) Tomcat webserver back around 2007 used to have some amazing 'clustering' code to deploy your webapp across multiple servers. But it lacked proper knowledge & hence control of what it was doing. IIRC there was no clear master, and a server couldn't tell what had been started on it versus what had been replicated since a peer was seen to be running it. Effect: replication would be additive only, contexts would just replicate everywhere uncontrolled, and there was no good way to stop/ undeploy an app across the cluster.

</comment><comment><USER28> OpenSSL (before HeartBleed) springs to mind.

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

<comment><USER29> OpenSSL code and docs are still a huge mess.

</comment></comment><comment><USER30> "How to Make Mistakes in Python" \- [https://www.oreilly.com/library/view/how- to-make/97814920482...](https://www.oreilly.com/library/view/how-to- make/9781492048275/)

</comment><comment><USER29> Drupal 6/7 would be an example for "widely used [at the time] but pretty bad". I don't know how many of the issues across all layers were addressed in later versions.

OpenSSL is still an excellent example for very messy code where even maintainers / frequent contributors regularly get lost. Also a good example for designing many bad APIs and poor docs. libsodium is a good counterexample, although the internal structuring of the code base is a bit atypical, it is logical and consistent. (It does have some API idiosyncrasies which cater specifically to dynamic bindings, like providing a constant always as a #define/macro but also as an exported function; and it has a bit of an issue where you have both legacy APIs and newer APIs, but the docs are pretty clear on which is which).

BorgBackup is an example of how you don't want to mix C and Python code, and also contains various bits that only 1-2 people on the planet really bothered to understand, besides demonstrating other issues of organically grown code bases.

</comment><comment><USER31> There are an infinite variety of things that you don't want. If you focus all your energy on those things, then you won't have anything left to do the positive things you do want.

You have to turn that equation around. Even if all you know right now is the negative thing you don't want, you have to figure out how to reframe that into the positive thing you do want. On,y then can you make positive progress towards that thing you want — and by the way, you will naturally avoid the things you don't want by focusing on the things you do want.

Sure, examples of bad stuff can be instructive, but only so far as it helps you further clarify the good stuff you're actually trying to achieve.

</comment><comment><USER32> I've always found Calibre to be a huge mess.

</comment><comment><USER33> While usually focusing on smaller snippets, thedailywtf.com is a site about (mostly) code wtfs. A fair number of management wtfs too, though.

</comment><comment><USER17> > fall along the lines of "fail to see the forest for the trees"

I think I'm going to need an example to understand this?

Having said that, one of the most informative programming books I've ever read was _C Traps And Pitfalls_. Flags common easily-made errors and explains them, which in turn fixes misconceptions about the language. I feel most languages could do with one.

</comment><comment><USER22> Here is something atrocious I wrote in Lisp. You actually _can_ make Lisp ugly! Who knew?

[https://github.com/ksaj/Capitalize.Lisp](https://github.com/ksaj/Capitalize.Lisp)

</comment><comment><USER34> Just a side note-- this is the beauty of Open Source. If there is some bad code (we all write it), it can be improved with a little help from Open Source "friends".

All of us are stronger than any one of us. Long live Open Source!

</comment><comment><USER35> Many JavaScript libraries like Fastify (Node.js) for example. You always get a nice & clean API but if you look under the hood you would be amazed at how much spaghetti code can be written in a project.

</comment><comment><USER36> Praat: [https://github.com/praat/praat](https://github.com/praat/praat) I'm not sure that this is a good way to learn anything, however.

</comment><comment><USER37> Jgit is amazingly bad for a piece of software built on top of well thought out data structures if git. Some if its flaws could be attributed to Java IO design, though.

</comment><comment><USER38> Anything related to OpenStack, but particularly jenkins-job-builder is rather horrible.

</comment><comment><USER39> Many, if not most OSS packages which are released by academics or universities.

</comment><comment><USER40> [https://github.com/mholt/caddy](https://github.com/mholt/caddy) not only a mediocre code, but the guy behind it received lots of money from Mozilla as an innocent promising open source project author, then he made it as a paid product.</comment>


AT&T Says It May Soon Charge You Extra for Privacy - <AUTHOR> http://www.dslreports.com/shownews/ATT-Says-It-May-Soon-Charge-You-Extra-For-Privacy-139840 <comment><USER3> Cable & Mobile Business Plan

\---

\- Use taxpayer money to build network

\- demand to be a monopoly

\- make gov. also install infrastructure on all public projects

\- underinvest in infrastructure and simply degrade service as needed

\- create extremely complex billing and cost structure

\- (if cable company) also sell advertising and charge networks

\- aggregate customer data. Ignore above point, if not cable company inject tracking directly. Make huge profit, pay slightly >1 million as a joke after caught.

\- destroy net neutrality and charge on both sides of equation

\- spy on your customers and leverage the data for profit directly and sell it on open market

\- if user is privacy centric, do same as above but charge more

So in summary, charge 4 different entities for the same single service and include extra fees to everyone for the service you already sold them. It would be like if you were a fruit salesman.

\- government subsidizes farm

\- charge farmer to sell fruit

\- eliminate all competing fruit stands

\- sell fruit for profit

\- charge extra for providing 4 bananas to someone who bought 4 bananas

\- charge extra for unspoiled fruit without insects

</comment><comment><USER4> Why isn't this a violation of 18 U.S. Code § 2511 - Interception and disclosure of wire, oral, or electronic communications prohibited

[https://www.law.cornell.edu/uscode/text/18/2511](https://www.law.cornell.edu/uscode/text/18/2511)

"except that a provider of wire communication service to the public shall not utilize service observing or random monitoring except for mechanical or service quality control checks."

</comment><comment><USER5> It's not "AT&T" doing this. It's their executives and shareholders - <USER2> with names and addresses. Don't pressure AT&T to change, you will never succeed - pressure it's key people. Do not let them hide behind their corporation.

<comment><USER6> does anyone really believe that companies, their boards and their institutional shareholders in general apply a higher moral standard than maximizing returns? or that they could be shamed into doing so?

regulation

<comment><USER5> If they were booed and egged any time they showed their faces in public, perhaps. But regulation and breakup of (near) monopolies should definitely also be applied, yes.

</comment></comment></comment><comment><USER7> I suppose all bets are off with the FCC now, but wasn't 'pay for privacy' explicitly forbidden a while back?</comment>


IBM creating pocket-sized Watson in $16 billion sales push - <AUTHOR> http://www.kurzweilai.net/ibm-creating-pocket-sized-watson-in-16-billion-sales-push

<comment><USER2> _It also takes a while for Watson to do the "machine learning" necessary to become a reliable assistant in an area._

This could make a great pay-per-package product. Matlab and Mathematica do this, for instance, by making easy-to-use statistical or signal processing packages by subfield.

To expand on the example in the article, taking this into an easier to use interface for people like medical professionals would be awesome. A friend of mine who worked in an ER told me Wikipedia is actually used quite frequently. A program that could intelligently parse medical documents could be a great next step. It doesn't need to make actual diagnoses, but to jog the memory, an intelligent "these symptoms are consistent with pneumonia, bronchitis, or whooping cough" would probably be well-used.

Or for double-checking contraindications at pharmacies. Or for advising lawyers about applicable case-law. Or for reminding me about relevant studies as I do literature searches. Cool.

Edit: I imagine this will draw some comparisons to Siri, or its factual backend, wolfram Alpha. While wolfram Alpha is pretty sweet, I imagine context-specific question-parsing and machine learning would be much more powerful here (although I suppose wolfram Alpha/Mathematica could get into that game, too).

<comment><USER3> "A friend of mine who worked in an ER told me Wikipedia is actually used quite frequently"

God help us, God help us all

<comment><USER4> Yes, surely a random internet commenter is in a better position to understand what is useful than _someone who actually works in ER._

<comment><USER3> It wasn't a comment on the ER doctor's ability to extract value out of wikipedia. It was a comment on the fact that Wikipedia is the wild west. Far as I can tell, most erroneous edits on popular subjects are quickly caught. But I wonder how vigilant those wikipedia editors are on obscure medical topics that require an expensive medical education to truly understand.

I'd feel better about it if Wikipedia was innovating above and beyond the implementation of a wiki ... even if the solution is still crowdsourced. For example I would love to see the application of machine learning to the process of moderation, not unlike what Stackexchange is working on these days ([http://blog.stackoverflow.com/2012/08/stack-exchange- machine...](http://blog.stackoverflow.com/2012/08/stack-exchange-machine- learning-contest/)).

Circling back to the topic at hand, I would actually love it if "Watson" eventually has all of the data currently available in wikipedia. But with each fact cross-checked for validity against everything else he already knows.

<comment><USER5> You mean like Cyc? Its not an easy project as facts are not as tidy as you might hope <http://en.wikipedia.org/wiki/Cyc>

</comment></comment></comment></comment></comment><comment><USER6> _Watson's nerve center is 10 racks of IBM Power750 servers running in Yorktown Heights, New York, that have the same processing power as 6,000 desktop computers. Even though most of the computations occur at the data center, a Watson smartphone application would still consume too much power for it to be practical today._

So not actually a pocket-sized Watson, but a smartphone app that will connect to Watson. As long as you've got reliable internet access.

<comment><USER7> That was also the conclusion I drew, but it makes me wonder why that would take too much power to be practical on a smartphone as the article suggests. It seems like it would only need to capture the text of the question and push it over the network to IBM's servers.

<comment><USER8> I think what they mean is, the datacenters actually running Watson would consume too much power. A mobile app with millions of users would require many many instances of Watson running, so 10 racks of servers per instance doesn't sound feasible.

<comment> alok-g While I agree with this interpretation, here's an explicit quote from the OP:

"Even though most of the computations occur at the data center, a Watson smartphone application would still consume too much power for it to be practical today."

<comment><USER9> Its called lousy writing.

They need to optimize Watson server side for it to become commercially.

p.s.: I for one welcome our new Blue Overlord.

</comment></comment></comment></comment></comment><comment><USER10> Did anyone else think that if they did this their version would answer with a question?

A: Watson, the best hamburger I've ever eaten. Q: Where is St. John's bar and grill?

It would be the RPN of voice activated assistants.

I got a bit annoyed when the article kept conflating 'power' with 'number of cpu cycles running in parallel to get an answer.' I can tell you that we are no where near having the compute pipeline of 10 racks of Power750 servers in a co-processor in a smartphone.

<comment><USER11> Love me some St. John's.

</comment></comment><comment><USER12> Please tell me Apple isn't going to sue IBM for putting a voice-activated assistant on smartphones...

<comment><USER13> I'd wager IBM is the absolute last person anyone would want to tick off on patents.

<comment><USER14> Incidentally, Nuance, the company behind the speech recognition tech in Siri, licenses several patents from IBM.

I doubt if there exists any technology today that doesn't infringe on any IBM patent.

<comment><USER15> I thought nuance was just a mac based GUI over IBM's dragon speech recognition engine. (IBM bought dragon naturally speaking a few years ago)

<comment><USER16> Scansoft bought Dragon before merging with Nuance.

</comment></comment></comment></comment></comment><comment><USER17> I've been waiting on this. I've come to the conclusion that half of Tony Stark's JARVIS is essentially Watson.

</comment><comment><USER18> Watson in your pocket or a UI on your phone to a Watson in the cloud? Given the number of servers they used for the Jeopardy Watson I'm sure it's more like the latter.

<comment><USER19> For Jeopardy, they had to beat 2 champions in 3 seconds on a wide range of subjects. For a more specific topic or "good enough" answers, you would not need so much hardware. For example, they kept the whole database in 16TB of RAM!

</comment></comment><comment><USER20> It'll be a while before I'll take medical advice from a machine that "thought" Toronto is in the US.

<comment><USER21> Because human doctors never make mistakes?

Run the numbers: who makes more mistakes in aggregate: machines like Watson or human doctors? I'll take whichever is less.

<comment><USER22> This would (possibly) be true if all mistakes were weighted equally. As soon as some mistakes have more weight (like maybe the machine killed you on accident because it thought your spleen was in your ear), then looking at aggregate numbers doesn't cut it. You'd need to look at both the frequency of errors, as well as severity of errors. I'll take the guy who messes up 50% of the time, but at worst will give me a paper cut over the hypothetical machine who only makes mistakes 1% of the time, but they're always fatal.

</comment></comment></comment><comment><USER23> Does Watson 'learn'?</comment>


Disappointing Unsealing Decision in Aaron Swartz Case - <AUTHOR> https://www.eff.org/deeplinks/2013/05/disappointing-unsealing-decision-aaron-swartz-case

<comment><USER2> Another perspective: <http://tech.mit.edu/V133/N26/swartz.html> Swartz's lawyers initially sought complete release of information with no redaction of identifying information (including SSNs and Birthdates see: Pre-motion statements and the actions regarding maintenance of certain records they were obligated to destroy at the end of the prosecution). Clearly balance is needed and the employees of the victims in a criminal prosecution (JSTOR, MIT) deserve reasonable protection.

edit: Minor increase in clarity, re:reply

<comment><USER3> After the Boston bombings it's pretty apparent that the Reddit community alone will jump to some dangerous conclusions without the full story - and in this case specifically that would be a major concern of mine. So where do we actually find the middle line and balance here?

<comment><USER4> Middle line and balance? If it would have become public record at trial, it should become so now. How can one argue that Aaron's death should cause less detail of the prosecution to be made available?

<comment><USER5> Because it's no longer going to trial.

Lots of details of your life would be made public if you were brought to trial, but since you're presumably not going to trial, they aren't.

Just because something would happen if something else did happen doesn't mean that that something should happen regardless.</comment></comment></comment></comment>


Packrati.us = Twitter + Delicious + Instapaper + etc. - <AUTHOR> http://packrati.us/ <comment><USER2> HIDEOUS.

The 'Get Started' image is not a link.

There are no screenshots, or any succinct descriptions of what it does.

Additionally, due to this, and using the name PackRati.us -- leads me to the same disorganized clutter of IRL packrats.

I dont see this being a light in the tunnel helping me organize these streams - I cant discernibly find how this helps.

Please enlighten me.

</comment><comment><USER3> The UI could have been far better :)</comment>


What makes entrepreneurs entrepreneurial [pdf] - <AUTHOR> http://www.khoslaventures.com/presentations/What_makes_entrepreneurs_entrepreneurial.pdf

<comment><USER2> No self promotion, but after reading this paper 2 years ago, I started a series called "What Makes Them Entrepreneurial" on my blog - [http://www.adeologue.com/adeologue/what_makes_them_entrepren...](http://www.adeologue.com/adeologue/what_makes_them_entrepreneurial/)

You'll find approx. 34 traits of entrepreneurs that made them entrepreneurial that I've collected from different papers/blogs/books I read. The series is still ongoing - so if you find some more inputs, then let me know. I'll try to write about it.

<comment><USER3> Hey adityakothadiya, nice articles.

Time to pony up the attribution of the photo you use in your article ~ [http://www.adeologue.com/adeologue/2008/09/thoughts-on- start...](http://www.adeologue.com/adeologue/2008/09/thoughts-on-startup- ideas-and-team.html) Username and link back to my original image of my flickr photo would be nice :) ~ <http://flickr.com/photos/bootload/sets/72157602184871362/>

<comment><USER2> I'm extremely sorry. It wasn't intentional. I wud update the blog entry and will give you due credit. Once again, I apologize for missing that out.

<comment><USER3> _"... Once again, I apologize for missing that out ..."_

Hey adityakothadiya , thank mate - one of the good guys :)

</comment></comment></comment></comment><comment><USER4> Being unemployable.

</comment><comment><USER5> This is an outstanding analysis. There is a non-scanned version of the PDF (but alas minus the humorous comments) here <http://www.effectuation.org/ftp/effectua.pdf>

</comment><comment><USER6> I like the guy's comments in the margin. "Typical MBA horseshit"</comment>


Should Developers Be Allowed to Talk to Customers? - <AUTHOR> http://itmanagement.earthweb.com/features/article.php/3916821/Should-Developers-Be-Allowed-to-Talk-to-Customers.htm

<comment><USER2> It depends on the developer.

Some are social and know how to talk to the customer. Others, like the one in this article, are anti-social and shouldn't be anywhere near the customers.

I also don't like the idea of developers talking to customers because many companies decide they can cut costs and hire one person to do both.</comment>


Rendezwho an app connecting two strangers - <AUTHOR> http://www.rendezwho.com <comment><USER2> Sounds very interesting! Can't wait to try it

</comment><comment><USER3> What's different about this app is that you get just one match- ever.</comment>


The Fremen Mirage, Part I: War at the Dawn of Civilization - <AUTHOR> https://acoup.blog/2020/01/17/collections-the-fremen-mirage-part-i-war-at-the-dawn-of-civilization/ <comment><AUTHOR> HN forbids me from editorializing the title, so I will add a small editorial here:

"Hard times create strong men. Strong men create good times. Good times create weak men. And weak men create hard times". Or do they? This is an interesting deconstruction of the origin of this memetic expansion of the "noble savage" myth.</comment>


How Pulse Oximeters Work (2015) - <AUTHOR> https://www.howequipmentworks.com/pulse_oximeter/ <comment><USER2> Here is the WBM archive of it: [https://web.archive.org/web/20200708064647/https://www.howeq...](https://web.archive.org/web/20200708064647/https://www.howequipmentworks.com/pulse_oximeter/)

(for those who can't access the original site due to it being hugged to death)

</comment><comment><USER3> The Royal Melbourne hospital in Australia is using pulse oximeters to manage COVID positive patients in their own homes. The program was setup in March this year to manage a large number of patients remotely (cost/safety).

The patients take their own measurements with a pulse oximeter and digital thermometer (both off the shelf consumer items). The person is prompted via SMS and submit their vitals via website. A software system orchestrates all of this and alerts patients and clinicians to anyone with worrying numbers.

This keeps beds free at the hospital, but still gets the small percentage of patients back to hospital that get really sick.

It also does all the other boring monitoring and administrative work needed when you're checking up on lots of real people.

Full disclosure. I worked on this project. A version has been open sourced and if you're a hospital or other medical service you're welcome to use our work. We're publishing improvements as we go. [https://github.com/rmhcovid/txtmon](https://github.com/rmhcovid/txtmon)

[https://www.thermh.org.au/news/royal-melbourne-hospital- impl...](https://www.thermh.org.au/news/royal-melbourne-hospital-implements- virtual-monitoring)

Using simple standalone devices and a low-coding platform already in use by hospitals (REDCap) the whole project was crash-built in a couple of weeks and is saving lives. That platform has many shortcomings (messier even than Excel), but there's various medical/privacy rules that make more traditional development unattractive for quickly prototyping. It's been a rewarding project to work on despite many frustrations.

<comment><USER4> Thank you for sharing this. In the program guide it says a temperature reading of > 42 degrees or an oxygen saturation of < 90 are the thresholds for a MET call. Is there a basis for these specific values or are they general approximations?

<comment><USER5> Temperature higher than 42 (e.g. 43) is described on Wikipedia[1] as:

> Normally death, or there may be serious brain damage, continuous convulsions > and shock. Cardio-respiratory collapse will likely occur.

It seems that that's a little bit late to consider calling the hospital?

[1]: [https://en.wikipedia.org/wiki/Human_body_temperature#Fever](https://en.wikipedia.org/wiki/Human_body_temperature#Fever)

<comment><USER6> 42C is 107F, it is way too high it seems.

</comment></comment></comment></comment><comment><USER7> Off-topic, but an inventor of the Pulse Oximeter recently passed away [1]:

"Takuo Aoyagi, a Japanese engineer whose pioneering work in the 1970s led to the modern pulse oximeter, a lifesaving device that clips on a finger and shows the level of oxygen in the blood and that has become a critical tool in the fight against the novel coronavirus, died on April 18 in Tokyo. He was 84."

[1] [https://www.nytimes.com/2020/05/01/science/takuo-aoyagi- an-i...](https://www.nytimes.com/2020/05/01/science/takuo-aoyagi-an-inventor- of-the-pulse-oximeter-dies-at-84.html)

</comment><comment><USER8> Technology Connections [0] also has a great video about these awesome devices, although not that much in-depth in comparison to this website.

[0]: [https://www.youtube.com/watch?v=4pZZ5AEEmek](https://www.youtube.com/watch?v=4pZZ5AEEmek)

<comment><USER9> Such a great channel and good explanation.

</comment></comment><comment><USER10> I measured myself at home in Mexico City and got 93%. I got kind of worried, knowing people sick with COVID-19 can have very low saturation levels without realising it. Then I remembered I was standing at about 2200 m above sea level. Lots of unexpected weirdness happens at high altutude

<comment> Engineering-MD I'll be honest, a lot if the portable oxygen saturation monitors seem to report slightly out of range readings. It often picks up after a few minutes, I suspect they are calibrated poorly tbh. 94-98% is the desired range.

<comment><USER11> This is only true for people who live close to sea level. At higher altitudes, saturation even down into the high 80s can be normal: [https://www.thelancet.com/journals/langlo/article/PIIS2214-1...](https://www.thelancet.com/journals/langlo/article/PIIS2214-109X\(19\)30543-1/fulltext)

</comment></comment></comment><comment><USER12> Speculated to be included in the Apple Watch S6 this fall.

[https://9to5mac.com/2020/03/08/apple-watch-blood-oxygen- satu...](https://9to5mac.com/2020/03/08/apple-watch-blood-oxygen-saturation/)

At the time they reported that there were mentions of it in an iOS 14 leak, but it wasn't clear if it would be a software update to existing watches (somehow able to detect it with existing heartrate hardware) or in a watch hardware revision. Since it wasn't mentioned in the watchOS news at WWDC, looks like it'll be new hardware.

Either that or the code they found in iOS 14 was related to the health app and support for 3rd party oximiters, but that's not how the 9to5 post frames it so best I can do is take their word for it.

<comment><USER13> IIRC, Fitbit has products on the market that has them. Works both on iOS and Android.

[https://www.wearable-technologies.com/2020/01/fitbit-adds- bl...](https://www.wearable-technologies.com/2020/01/fitbit-adds-blood-oxygen- monitoring-spo2-in-its-versa-charge-and-ionic-device/)

<comment><USER14> Wow they finally did it. After the hardware being there for _years_ they managed to get around to enabling the software. I already jettisoned them for Garmin after waiting so long.

<comment><USER15> Same frustrations here! Couldn't believe when I bought their smart device based on advertising that said they had the hardware to do it.... but it wasn't enabled.

</comment></comment></comment></comment><comment><USER16> The problem with pulse oximeters is the people who need them often can't use them. Yes I know it's not meant as a medical device.

My dad has COPD and IPF but he can't use the SPO2 meter on the Samsung phone I gave him (and Samsung disabled the SPO2 function for Canada). A Garmin VivoSmart 4 can't give a decent reading on him or me and it takes forever. Part of the problem is blood flow dad's fingers are ice cold due to his condition.

My dad uses a cheap oximeter from Walmart it works better than anything else. It's the type that clips over a finger it's fast and seems to be accurate. I'd like to get a wristband or watch that has a good SPO2 meter but nothing seems to exist.

</comment><comment><USER17> The most painful thing I've experienced medically was an arterial blood draw to measure my o2 sat levels. (They numb your inner wrist with novocaine then go in with a giant needle to the artery deep in there. If it's that painful numb, I can't imagine what it'd be like otherwise.

And each time it was no more accurate than the pulse oximeter.

<comment><USER18> Most of the time we don't numb patients to be honest. I've had it done to me, we practiced on each other in Med school. It is painful, but I suspect the Novocain you got didn't work because it's the artery that's painful not the skin.

But it does give you different information than a pulse ox. For example, people can have respiratory failure from too low oxygen (captured on a pulse ox), but also from top high CO2 (not measured on pulse ox). It also gives a measure of acid-base status, which can be thrown off for a variety of reasons (usually renal or respiratory). It is used somewhat too much in my opinion but can be life saving in some situations.

</comment></comment><comment><USER19> Went to a party last weekend where the host used a pulse oximeter (and thermometer) on everyone. Blood O2 level is apparently a leading indicator of COVID-19. Pretty cool stuff. The inner workings of it are actually quite simple as well, pretty amazing that it works as well as it does.

<comment><USER20> I discovered i have a problem with one. Every one else who tried it had 98-100 all the time. I had < 94 no mater what

<comment><USER21> I thought I recall reading that 94 is not dangerous or abnormal, and 90 is when you should get checked out.

<comment><USER22> This is something that is still not quite understood by doctors.

I take my kid (Who has a respiratory condition) to hospital at 90.

In my experience if you are in hospital with oxygen because of a respiratory illness, the oxygen would probably be given once you dip below 92-93 assuming they know you have a respiratory condition. Not because that's the danger level but because they want to be able to tweak the O2 if you fall even lower. Doctors then usually instruct nurses to adjust the flow so saturation stays in the 90-95 range.

People at high altitude or in airplane cabins can be at 70% for hours without even noticing. Meanwhile someone having a dip from 90 to 80 with pneumonia might be gasping for air.

<comment><USER23> IIRC gasping for air has more to do with blood CO2 which is why hyperventilation is so dangerous - you can run out of oxygen without knowing it.

</comment></comment></comment></comment></comment><comment><USER24> It's always interesting to me how much of a hivemind the internet has and how many coincidences there are. Just last night I dug out my cheapo pulse oximeter and checked everyone in my house to get a baseline.

I then googled how they work and read pretty much the same thing.

<comment><USER25> This is more a function of how many people read HN than anything else. On a population that large in a crowd of technically inclined people there's bound to be _somebody_ who in the space of 24 hours researched how oximeters work. I read the same article a few months ago.

<comment><USER24> True

</comment></comment></comment><comment><USER26> Does anybody have any suggestions for how to check whether a pulse oximeter actually works properly?

I bought one online from a not particularly trustworthy shop. I have never seen it show any value other than 99%. How can I figure out whether it actually does anything and doesn't just show 99% no matter what?

<comment><USER27> I purchased a relatively cheap one from Amazon a couple of months ago. Less than $50, I believe.

I tried some simple stuff when it arrived. I believe I was able to get it to swing within the 94-99% range by holding my breath and by deliberate, deep breathing, over the span of just a minute or two. It definitely was not pegged at 99%. The changes were surprisingly fast. My wife was able to get the same response.

If it matters, I'm at about 500 feet above sea level (not high-altitude at all).

<comment><USER26> How long did you hold your breath for?

<comment><USER27> Perhaps 30 seconds? It was uncomfortable but not a big strain. I see someone nearby saying 2-3 minutes. For me, it was not that long!

<comment><USER28> I bought one a few days ago (weird coincidence), from Amazon for around $35 at the advice of a friend. Skeptical also, my 97% level upped to 98-99 with deep breathing, and then I held my breath as long as I could possibly do it and it dropped to about 93-94.

That's obviously not a confirmation that it's calibrated or trustworthy, but at least it shows a relative measure that seems real in both directions of oxygen saturdation. Surely if I have a drop due to illness I should notice, even if the number isn't exact.

</comment></comment></comment></comment></comment><comment><USER29> SO is an internal medicine doctor. When covid was ramping up at first and we thought there would be beds in school gyms and stuff the first thing she did was get a pulse oximeter off the internet.

</comment><comment><USER30> FWIW some Samsung phones (and probably others) have this functionality built in. I've tested mine and I consistently get readings within 1 point of my gold-standard Nonin pulse oximeter.

</comment><comment><USER31> Since the site is hugged to death, why not check out Technology Connections video instead: [https://youtu.be/4pZZ5AEEmek](https://youtu.be/4pZZ5AEEmek)

<comment><USER32> Technology Connections is such a good channel that mixes humor and in-depth looks at things people only kind know a little bit about.

<comment><USER33> It has a weird 80s-90s aesthetic that I can watch for hours. He got me back into electronics when he was talking about the NA electrical system, and bashing ring circuits

<comment><USER34> I mean, who wouldn't bash ring mains?

</comment></comment></comment></comment><comment><USER35> Does anyone know the degradation in blood oxygen levels under moderate exercise for a person who is fairly health (not athlete but slim, does regular exercise)?

I had covid, so bought one of these, and I'm now building my way back to being able to jog, after months of shortness of breath. I would like to be able to understand what level my blood oxygen %, for a normal, healthy person, would drop to when say jogging.

<comment><USER36> If I really push during my 5k run, pulse oxymeter shows around 85%. Not sure how much to trust it, as soon as I stop it climbs back up. Unclear if it's due to vibrations, or my lungs catching up.

<comment><USER35> Mine starts beeping at 93% (if I hold my breath for as long as I can it drops to around 92%). My level does rebound again after a few seconds. 85%, sounds a bit low, not totally incredulous though.

</comment></comment></comment><comment><USER37> cached: [https://webcache.googleusercontent.com/search?q=cache:Gs1gDy...](https://webcache.googleusercontent.com/search?q=cache:Gs1gDy7I1WkJ:https://www.howequipmentworks.com/pulse_oximeter/+&cd=1&hl=en&ct=clnk&gl=us)

</comment><comment><USER38> It's weird, when I have a pulse oximeter on my finger and a blood pressure cuff on and it's rather inflated I get electrical feeling shocks up my arm. The both have to be on the same arm. No idea what it is, probably a pinched nerve.

<comment><USER39> Likely ulnar nerve compression just above the elbow by the inflated blood pressure cuff. (retired M.D. here)

<comment><USER38> That makes sense thanks!

I see that you were an anesthesiologist, now I can finally asked this question that I've always wanted too! When under general anesthesia why do they put you on opioids? I read that if not people would still react to the pain? Like would the scream and cry just not know they were doing that?

<comment><USER39> Opioids are a component of so-called "balanced" general anesthesia (GA).

Over my 38 years in practice (1977-2015) and some 25,000-30,000 cases, probably 95% were GA and the remainder regional/I.V. sedation.

Of the GA's, I estimate I used IV opioids in 95%. My drug of choice was fentanyl: fast and relatively short acting, easily titrated to response.

Along with fentanyl, I routinely used diazepam or Versed (I started in 1977 and Versed didn't become available until 1985), and skeletal muscle relaxants for endotracheal intubation and skeletal immobility.

Induction of GA was with sodium thiopental (1977-1989), thereafter Propofol.

Having said that, know that by the time I retired, I was in a small minority of anesthesiologists (most older like myself) who trained when balanced anesthesia was standard.

Today an overwhelming majority of anesthesiologists use only inhalation agents for GA and do not give opioids intraop. Inhalation GA often does not require skeletal muscle relaxants (depending on the surgical site), and if a patient is "light," they will react by moving and show increases in heart rate and blood pressure.

Diff'rent strokes.

FWIW, I am one of very few anesthesiologists with extended time in practice who have never been sued.

>Like would they scream and cry, just not know they were doing that?

Awareness under anesthesia is a whole different subject of considerable importance.

<comment><USER38> Thanks for that, really appreciated!

</comment></comment></comment></comment></comment><comment><USER40> Wow! that was a fantastic, insightful read. did not know the pleth was of note.

</comment><comment><USER41> It is really grating that all the visualizations are wrong. Blue is shorter wavelength than red. Infrared is longer wavelength than red. Every single image is wrong. :(

<comment><USER42> The author explains his visualization as follows:

 _One is a red light, which has a wavelength of approximately 650 nm. The other is an infrared light, which has a wavelength of 950 nm. (Throughout our description, we will show the infrared light in light blue. In reality, infrared light is invisible to the human eye.)_

<comment><USER41> i mean this, for example: [https://web.archive.org/web/20191230203925im_/https://www.ho...](https://web.archive.org/web/20191230203925im_/https://www.howequipmentworks.com/wp- content/uploads/2015/01/wave_show.gif)

<comment><USER43> The fact that those curves don't even come close to resembling sine waves seems more wrong to me, and really helps drive home the fact that the diagram was made in MS Paint with little regard for accuracy.

</comment></comment></comment></comment><comment><USER44> Can anyone recommend an inexpensive fingertip oximeter?

<comment><USER45> Back in April, I bought this unit and sent it to my wife's family in New Jersey. I spent some time googling what to get; I found several discussions on Reddit where doctors and med students agreed that the "Zacurate" units reliably matched their hospital units.

[https://www.amazon.com/Zacurate-Fingertip-Oximeter- Saturatio...](https://www.amazon.com/Zacurate-Fingertip-Oximeter-Saturation- Batteries/dp/B01HSAG8BE)

</comment></comment><comment><USER25> What a fantastic, no nonsense and well researched article this is. I read it a couple of months ago and was very much impressed.

</comment><comment><USER46> HN is the new /.

<comment><USER47> Feel free to make a new HN that caters perfectly to you.

<comment><USER48> I think the parent was referring to the Slashdot effect of knocking small websites offline.

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

</comment></comment></comment><comment><USER49> "Error establishing a database connection"

</comment><comment><USER50> Fun fact about pulse oximeters: in California EMTs are regulated so strictly that it is illegal for them to use a pulse oximeter as it is deemed "invasive". So if anyone is experiencing a medical emergency that could successfully be delayed following the algorithm involving checking blood O2, they better hope the EMT is experienced/lucky enough to suspect low O2 or that there's a paramedic or nurse on board. It's definitely one of those laws that aren't really enforced but it's weird that in California EMTs have to break the law to do basic screening.

<comment><USER51> Citation please? Page two of LA County Health Services's "EMT Scope of Practice" document lists pulse oximetry as part of the basic diagnostic process for EMTs. This would seem curious if state regulations forbid that.

[http://file.lacounty.gov/SDSInter/dhs/206315_802.pdf](http://file.lacounty.gov/SDSInter/dhs/206315_802.pdf)

<comment><USER50> That's LA, here's California: [https://emsa.ca.gov/wp- content/uploads/sites/71/2017/10/Scop...](https://emsa.ca.gov/wp- content/uploads/sites/71/2017/10/Scope-of-Practice-Documents- Current.12.11.18.pdf)

EMTs in California are indeed allowed to use it, I must have learned something that was county specific, not state wide. My apologies.</comment></comment></comment>


CEO Who Held $150M in Crypto Died in a Region Known for Having Fake Death Mafia - <AUTHOR> https://www.newsbtc.com/2019/02/06/ceo-who-held-150m-in-crypto-died-in-a-region-known-for-having-a-fake-death-mafia/ <comment><USER2> The proof is in the (blockchain) pudding. Either the money will move (he's alive or the keys were coerced out of him before he died), or it'll stay put (he's dead).

<comment><USER3> They haven't identified a cold wallet. There may not be any cold storage of a small group of wallets.

<comment><USER4> Perhaps everyone who is affected could pool their transaction information and figure out the addresses of the cold wallets.</comment></comment></comment>