Excel: Error when CSV file starts with "I" and "D" - <AUTHOR> https://support.microsoft.com/en-us/kb/323626 <comment><USER2> Maybe my bug? I wrote most of the original Excel text-based file import code in 1984 (including the SLYK format, which was the main way we migrated files from Multiplan to Excel).

<comment><USER3> This is one of the great things about HN, and indeed the internet at large. Someone posts a link to a little quirk of our world, and then someone is able to pipe up and say "hey that's me! I made that thing!" Even better when it's something like a software bug.

<comment><USER4> Yeah but for every superstar post like this there are thousands of equally upvoted yet ignorant comments that play on the sympathies/bias of HN readers for upvotes.

I wish we had more of the former and less of the latter. I suspect no forum is ever safe from eternal September.

<comment><USER5> What do you suggest as a means for achieving that end?

<comment><USER4> Cites from journals (not politicized websites like huffpo, guardian, etc) , credential listings, publication listings, etc.

Something like this could filter out the "random geek wanna-be with an axe to grind" type post.

<comment><USER5> Essentially a reputation system, based on publisher or specific known authors then?

How would, say, something like Thompson's "Trusting Trust" (though I suppose that _was_ published in ACM or IEEE), or a Dijkstra or Pike blog post, rate?

Comments from, say, Linus Torvalds on the LKML, or Lennert Pottering on systemd, or Bill Gates' various book recommendations, etc.?

</comment></comment></comment></comment></comment></comment><comment><USER6> I've run into this error many times for a decade, always when I make a CSV file of a table whose first column is "ID".

It seems to me that Microsoft by now could have improved its tests. If the first two letters are "ID", but if "there are no valid SYLK codes after the 'ID' characters," then maybe it was never meant to be an SYLK file. If the file's suffix is .csv, then maybe you should just treat it as a CSV file. If the file's suffix is .txt, then maybe you should treat it as a text file.

<comment><USER7> If you're a fan of this sort of thing, try the following in CMD. (It helps if you read it in the voice of a 90's rapping cartoon cat.)

echo MZ is my name my name is MZ. I'm the hippest loader bug from the sea to the sea! >foo.txt

.\foo.txt

<comment><USER8> What does this do? I don't have access to a windows machine.

<comment><USER7> For historical reasons, the MZ is interpreted as the header of a 16-bit executable. When you run something under CMD (hopefully I'm getting this right, it's been a few years) it first runs it using the CreateProcess API, which just tries to run the file as an executable, regardless of extension, then it falls back to ShellExecute if it doesn't have an MZ header, which dispatches based on extension.

Basically you get a dialog saying the text file isn't a compatible executable. If you change the MZ to anything else, it opens in notepad.

<comment><USER9> Windows 7 64 bit here - it just has the error message box, and the same text in the cmd window, it doesn't open the file though :)

"This version of foo.txt is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher."

<comment><USER10> That's because it's treating it as a 16-bit DOS executable (since it has the 'MZ' magic number but not the rest of the PE header that tells Windows that it's 32 or 64-bit). 64-bit Windows can't run 16-bit executables at all.

32-bit Windows should fail a little later in the execution process; it can run 16-bit software, but your text file is missing the rest of the MZ-format header.

</comment></comment></comment></comment></comment></comment><comment><USER11> Reminds me of a charset detection bug in some versions of notepad [1]:

1\. Open new file

2\. Type "Bush hid the facts"

3\. Save the file

4\. Open the file

5\. The content of the file have changed to "畂桳栠摩琠敨映捡獴"

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

<comment><USER12> There was a similar sentence in Brazilian Portuguese. Something about our largest TV network (Globo) lying about the existence of Acre (a state people jokingly say doesn't exist, like North Dakota in the US). I can't remember the exact sentence now though.

:)

<comment><USER13> acre vai pra globo?

<comment><USER12> Oooh, that was it. I had a completely wrong recollection of it, so my previous comment is BS now :/

</comment></comment></comment></comment><comment><USER14> So this would be another problem that could be avoided if "CSV" would actually friggin mean " _comma_ separated values" and not "whatever Windows might consider comma-equivalent depending on locale and/or phase of the moon"?

<comment><USER15> No. From the detailed description:

> A SYLK file is a text file that begins with "ID" or "ID_xxxx", where xxxx is > a text string. The first record of a SYLK file is the ID_Number record. When > Excel identifies this text at the beginning of a text file, it interprets > the file as a SYLK file. Excel tries to convert the file from the SYLK > format, but cannot do so because there are no valid SYLK codes after the > "ID" characters. Because Excel cannot convert the file, you receive the > error message.

This is usually called "magic string" or "magic number" ([https://en.m.wikipedia.org/wiki/Magic_number_(programming)](https://en.m.wikipedia.org/wiki/Magic_number_\(programming\))). It has nothing to do with the comma, and everything to do with SYLK using a pretty risky magic string (ID) and Excel not having a "try SYLK, if that fails, try as csv".

tl;dr: this is about guessing the input format and has nothing to do with the delimiter.

<comment><USER14> It's not just ID, there's also mandatory fields after that, separated by a semicolon. Thus 'ID;P' would be a valid header for SYLK and e.g. for German "CSV"s. If CSV would stick to commas (and boohoo, just escape more fields when this causes locale issues), then even such overly simple heuristics would've sufficed, wouldn't it?

Although you'd just run into other pathetic cases with such an informal format (CSV, not SYLK). But hey, I need to interchange formats with some IT guys and don't have a big IT department (ready) and they don't want to parse XLS(X), so I just use CSV. Now you have two problems.

<comment><USER16> "ID;P" is valid at the start of CSV as well. Fields are allowed to contain semicolons.

<comment><USER17> Depending on locale.

I believe in the Canadian French locale (and maybe many other locales), ";" is considered a separator (a "," equivalent).

<comment><USER16> Sure, but mhd was saying that if we stuck to CSV being actually comma- separated, "ID;P" would distinguish CSV from SYLK. I'm saying that it wouldn't.

<comment><USER18> mhd doesn't say that:

Thus 'ID;P' would be a valid header for SYLK _and e.g. for German "CSV"s._

<comment><USER16> "If CSV would stick to commas ... then even such overly simple heuristics would've sufficed, wouldn't it?"

<comment><USER18> Ah, thanks. Apparently, mhd knew and forgot :-)

The problem of discriminating between csv and SYLK files is unsolvable, as every file with only ASCII characters and no commas or quotes is a valid csv file (with one column) and there are valid SYLK files in that set.

<comment><USER19> In the general sense, yeah, but you would think it shouldn't be too hard to make a reasonable guess about which one it is and handle failures gracefully instead of assuming that it's SYLK based on a tiny amount of data and then blowing up when it turns out not to be.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> Jeez, how many SLYK files out there? I venture to guess there is an order of degrees more attempts at opening CSV files with ID as the first header than attempted opens of unconverted SLYK files in excel.

When I admire Microsoft, it's most often because despite nearly 4 decades of bloat to support, they still can ship reliable software to millions.

<comment><USER21> I kind of wish I could just use a version from a decade or 2 ago. The (4 year old) versions of word and excel that the uni site I work for use are so clunky to navigate. I loved using word in pre OSX says - I wonder how much of that is rose tinted nostalgia.

<comment><USER22> Try LibreOffice (Portable if necessary) - it has remained with the conservative UI.

</comment></comment></comment><comment><USER23> "A SYLK file is a text file that begins with "ID" or "ID_xxxx", where xxxx is a text string. The first record of a SYLK file is the ID_Number record. When Excel identifies this text at the beginning of a text file, it interprets the file as a SYLK file. Excel tries to convert the file from the SYLK format, but cannot do so because there are no valid SYLK codes after the "ID" characters. Because Excel cannot convert the file, you receive the error message. "

<comment><USER22> In other words, Excel has all the information to decide that this is _not_ a SYLK file but a CSV, but just throws an error, because fuck you. Great UX.

That's way up there with the "you can't drag stuff here, should've dragged it a few px further" from Win98.

<comment><USER24> Who's to say that it should fall back to CSV instead of giving an error? What if it was actually a malformed SYLK file where further headers were mangled in transmission?

I do think it should be giving back a more descriptive error though, possibly one informing the user that it thinks it is a SYLK file and giving them the option to interpret it differently.

<comment><USER22> That is Excel team's choice, of course. However, I would have thought that it would be based on the usefulness of the given import type _currently_ , not in 1988 (I trust there have been new import filters since)

How many SYLK files did you see recently, e.g. within the last 30 years? For me, the result is 0 (zero). As compared to innumerable swarms of CSVs of all flavors. Yet even MSO2013 prefers Yonder Hiftorical Curioufity; whence Excel's fondness and preference for obscure and rare formats, I have no idea.

And yes, giving user at least an intelligible error message would be nice (I hold no illusions that popping up a selection would be a complex feat: import logic is usually a gnarly place).

</comment></comment></comment></comment><comment><USER25> I feel like this is one of those bugs that would have taken less time to fix than it took to document.

You could even do something as trivial as "if Excel fails to open the file as SYLK, try again as CSV" and cut at least 99% of the problem away.

<comment><USER26> _I feel like this is one of those bugs that would have taken less time to fix than it took to document._

After many years, I still have to slap myself when I catch myself thinking this way. Unless you know the architecture of the software, I've learned that it's often _significantly_ harder than you imagine to fix seemingly simple and obvious bugs without breaking something else.

<comment><USER27> Fine, a slight correction then. It should be easy to fix except for terrible software architecture. Terrible software architecture is not a valid excuse when you have plenty of time and billions of dollars. So there should be little forgiveness for this bug still existing.

<comment><USER26> As a consumer _affected_ by this bug, sure, you may find it inexcusable. But the basic truth about any mature software product used by tens of millions is that there will be a laundry list of bugs competing for limited resources. So there will _always_ be bugs that you want to fix but simply isn't a high enough priority _relative_ to all the other bugs or features.

<comment><USER27> There are limited resources, but there are enough resources to improve the architecture over more than a decade. And if they decided to avoid architecture changes, there would be nothing in the way of throwing lots of siloed software engineers at bugs to get more of them fixed. They're not lacking for money with _so many_ customers. It's possible for them to set a much more inclusive cutoff.

They could have fewer bugs per feature than almost any other product after being stable and popular for so long. But they choose not to make that a goal.

</comment></comment></comment></comment></comment><comment><USER28> The lesson here is when choosing your new file format's magic bytes, don't use your initials or something clever. Have the decency to use a few actual random bytes as your format's identifier.

For plain text files, it's a little bit different, but there's no excuse for this problem happening in a binary file format.

Switching topics, I'm imagining a solution to this problem where you don't actually know which format it is, you have a streaming processor for each thing it could be, and feed it to each processor one character at a time. Whenever a processor returns an error, drop it from the list. If the last processor in the list returns and error, report that error to the user along with which format that processor was for. If multiple peocessors complete successfully, you'll have to either rank them, or ask the user what format it is.

<comment> mark-r SYLK isn't binary, it's all ASCII.

Interesting idea on passing the file to multiple parsers simultaneously, although I don't see a benefit over trying them serially.

</comment></comment><comment><USER29> I had to check this is not the 1st of April

I particularly like the step by step explaination of how to add an apostrophe at the begining of the first line with a description of which keyboard key to press...

<comment><USER30> I have three apostrophes in my (Latin America) keyboard: ` ' ´ but IIRC Excel only recognizes one of them.

</comment></comment><comment><USER31> I had to fake a csv file for testing yesterday, and started out with id, then went "ahahah", and used name.

I know that's boring but this is one of those generational pieces of knowledge like "keep your docs up to date" that we need to build into software training somehow. (Or rather, this bug is not important, but the kind of training that imparts this knowledge will be vital in building a real software profession)

But yeah, it's a real WTF

<comment><USER32> Embedded knowledge like this, is why guys like us can never retire...

</comment></comment><comment><AUTHOR> Also reminded me of [http://tburette.github.io/blog/2014/05/25/so-you-want-to- wri...](http://tburette.github.io/blog/2014/05/25/so-you-want-to-write-your- own-CSV-code/)

</comment><comment><USER33> Excel is useless with csv and utf-8. when I need to export to csv, which I regularly do, I always use Libre Office.

<comment><USER34> Excel is quite often useless with CSV, even if its contents are pure ASCII. Whether or not Excel will open a standard CSV file delimited with comma's (as per RFC 4180) properly also depends on the locale of the computer running Excel. So if you run Excel on Windows with a Dutch locale, it will by default fail to open the CSV normally and jam all its contents in one cell, because it expects a semi-colon as delimiter instead of a comma. To open standard CSV you have to import the file instead.

Someone at some point decided that the Dutch use semi-colons instead of commas to delimit tabulated data, and decided to apply this logic to CSV files as well. I would like to know the history behind such a decision! Switch your locale to English US, and it opens normally.

LibreOffice just opens the CSV and asks the user to confirm the delimiter and what not regardless of locale.

<comment><USER35> Yes, this is so horrible. As a workaround I sometimes put "sep=," on the first line of the spreadsheet. This forces Excel to use the comma as a separator, regardless of the locale. The downside of course is that every other tool on the planet shows the extra row, so it's not very useful.

<comment><USER36> I suffer from the reverse problem. I need to ingest CSV files produced by excel in various locales. Or is there some generally available alternative to excel that would produce valid RFC CSVs?

<comment><USER22> There is no such thing as a valid CSV - even the spec is borked, and nobody follows it anyway. If you have a choice, XLSX is a lesser evil.

<comment><USER34> RFC 4180¹ has been in existence since 2005 and seems perfectly straight forward. The basic syntax is two pages of very understandable text. I hold that to be the definition of valid CSV.

CSV libraries tend to adhere to it (and often support additional options encountered in the wild as well); e.g., Apache Commons CSV².

1: [https://tools.ietf.org/html/rfc4180](https://tools.ietf.org/html/rfc4180)

2: [https://commons.apache.org/proper/commons- csv/](https://commons.apache.org/proper/commons-csv/)

<comment><USER37> Is there a way to report a bug to excel asking for proper RFC 4180 support?

<comment><USER34> Probably, but what will it achieve realistically? This (both what OP reports and this locale-dependent behaviour) is likely a WONTFIX type of bug, as there are workarounds (don't double-click to open normal CSV if you are in a locale where different delimiters are used, use import; don't start your CSV files with "ID"; etc.).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> We had a big wtf moment yesterday at work.

Also see [https://en.m.wikipedia.org/wiki/SYmbolic_LinK_(SYLK)](https://en.m.wikipedia.org/wiki/SYmbolic_LinK_\(SYLK\))

</comment><comment><USER38> "Applies to Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft Office Excel 2003 "

<comment><USER39> I still get the error in Excel 2016, so I guess it's not fixed yet.

<comment><USER40> We get a warning in Excel 2016, and can open the file.

</comment></comment></comment><comment><USER41> Ok... that workaround is just terrible. Add one single-quote to the first line?!? What about a closing quote? And wouldn't the side effect of this be for the first line to be treated as one value (instead of separate values for each header)?

The workaround needs it's own workaround :)

</comment><comment><USER42> There are times when I think the source code of the Unix "file" command should be a required part of languages' standard libraries. I have never seen anything do a better job of describing contents accurately.

It's really silly to see applications have trouble understanding data. Even on macOS, where "file" is installed, the graphical interface sometimes fails to open/preview something that the command-line "file" describes perfectly (i.e. if it's really text, just show me the text).

<comment><USER22> For all its magic, even _file_ is fallible. [https://news.ycombinator.com/item?id=8171956](https://news.ycombinator.com/item?id=8171956)

</comment></comment><comment><USER43> I don't know enough about SLYK to suggest a full solution, but couldn't additional checks be performed that confirm it's a SLYK file? Other than all SLYK files starting with ID, are there any other properties that exist in all SLYK files that could be checked against?

</comment><comment><USER44> So why didn't SYLK files get their own extension? Having to parse the file to figure out what it is? Seems so error prone. But maybe Machine learning will solve this too. Isn't that why extensions were invented- to reduce cognitive load?

<comment><USER18> They got, but many systems that produced them didn't have such a thing as a filename extension. Microsoft Multiplan, for example, ran on Commodore 64, CP/M, TRS-80, etc. ([https://en.m.wikipedia.org/wiki/Multiplan](https://en.m.wikipedia.org/wiki/Multiplan))

And even if they did, chances were that transporting the file between machines (no, you couldn't move a floppy disk between machines, even if both machines had a floppy disk. Typical transport involved sending data over a serial line that only guaranteed to transfer 7 bits/byte, another reason why SYLK is ASCII) lost the extension.

</comment></comment><comment><USER45> [https://xkcd.com/1700/](https://xkcd.com/1700/)

</comment><comment><USER46> Weird, I hit this exact error 2 weeks ago

<comment><USER47> Ditto, two days ago.

</comment></comment><comment><USER48> One thing they could do is just create a new extnesion, like .CSVX and treat it as CSV file per RFC. I wish.

</comment><comment><USER49> I've been getting this error from CSV I created in Ubuntu. Glad to have learned what this was about.

</comment><comment><USER48> Could that be worked around by enclosing the field in quotes?

</comment><comment><USER50> one of those, how did they miss this?

</comment><comment><USER51> I get this error all the time.

<comment><USER52> Same</comment></comment>


Modern Android: Ditch Activities and Fragments - <AUTHOR> https://realm.io/news/sf-fabien-davos-modern-android-ditching-activities-fragments/ <comment><USER2> Is there a Release Date?</comment>


Ask HN: How hard is your problem? - <AUTHOR>

Are you solving new problems (3d scene construction from mono audio recordings), applying existing techniques to a new problem space (social network for dog walkers), or trying to one-up the competition (bill your clients online for small businesses ?)
It seems like popular programming and most startups focus the latter two problem sets.  Focus on the latter two problem sets may be a "safer bet", but is far less satisfying as an engineer.
Where is the interesting computer science work being done in the first problem set?  Are you doing it? Do you wish you were? <comment><USER3> We're doing a bit of both, with the known and quantifiable (web hosting management) supporting our pioneer efforts to be part of a new and almost entirely unsettled territory (cloud computing). I wouldn't necessarily recommend it over other tactics, but it's what fit our business and our existing codebase--we launched based on an old and well-established Open Source project and the existing code greatly directed our first couple of years in operation. But, we also know that becoming a leader in a well- established field, full of well-funded competitors, is not necessarily a trivial endeavor.

So, while we think our hosting management products will be a nice source of revenue for years to come, it's the combination of those tools with cutting edge stuff in the virtualization space that will allow us to lead rather than follow (because no matter how good your products are in an established market, you'll probably always be playing catch up in the mind of the market).

I also think you're underestimating the amount of interesting work that can be found underlying seemingly mundane tasks. I've found that data analysis and visualization can be a really interesting and fun pursuit within systems management software, and it's an area that brings tears of joy to customers (seriously, people wet themselves over graphs and charts...if you also add export to Excel or CSV, there will be fainting).

Regardless of all of that, you have to solve problems that customers want solved. If you're doing that, the harder problems are _better_ , if you are willing and able to solve them faster than your competitors.

But, if you are starting a business rather than a research project, you need to make your decisions based on what people _want_ rather than what you want to work on. You cannot start from "here's a cool technology, let's figure out a way to sell it", at least not generally. You must start from, "Here is a market that is being poorly served, and I can serve this market well." If you can fit, "by building interesting and cutting edge technologies" into that sentence without breaking it, then you've got yourself a winner.

<comment><AUTHOR> I'm looking forward to seeing the new virtualmin support xen.

I have been trying to make more interesting out of the apparently mundane; reimplementing the google charting api internally cause we needed to make charts, and even some good ol' csv exports (interestingly, csv export formats that are useful for biz people are not the formats i would prefer as a programmer.. the more you know..) further, I'm focusing on trying to learn the _best_ tools for the job -- picking up vim finally, trying to grok sed/awk, bash scripting where appropriate.. even perl is sneaking into my head.

make stuff that people want is a great mantra.

i suppose i got into programming because it was a process of discovery and a process of invention. keeping it that way seems to require intention.

<comment><USER4> _> trying to grok sed/awk, bash scripting where appropriate.. even perl is sneaking into my head_

May I suggest that you roll all that into one neat little endeavor of learning Python... :)

<comment><USER3> I've written system administration tools in both Perl and Python. Perl is the better tool for the job (Ruby might be better still, once Unicode and performance are straightened out).

My Python code always ended up being significantly longer _and_ slower than the same task written in Perl. Partly due to CPAN (if you can imagine it, there's at least three libraries for it in CPAN), and partly due to the nature of Perl. Perl is like a DSL built for system administration. Sometimes it gets a little clumsy on non-system administration related tasks, but when you're working in Perl's sweet spot of functionality, it's a very nice experience.

That said, Perl can be intimidating, because it is such a wide ranging language, and some of its features aren't quite right (references, and the way lists and arrays behave, can be confusing, and they're still a source of confusion for me after years of working with Perl). Python has its own quirks, and though I spent a couple of years working almost exclusively in Python, I didn't find it at all painful to come back to Perl.

Ruby, on the other hand, is a language that could probably steal my heart. Between deciding to shutdown my old company and starting up Virtualmin, I was undecided on what to do with myself. I learned some Ruby and tinkered with Ruby on Rails. Loved Ruby instantly. RoR, not as much.

<comment><USER4> Great info. Thanks a lot.

</comment></comment></comment></comment></comment><comment><USER5> Yeah, we're doing it. We make humanoid robots.

<http://www.anybots.com>

<comment><USER6> And the winner of "Startup most likely to accidentally eradicate human life" is...

<comment><USER7> Don't worry. I'm sure Will Smith will be there to save us.

Anybots looks super awesome, by the way. I can't imagine you'll have too hard a time recruiting a young product designer. Seems like a dream job.

</comment></comment></comment><comment><USER8> I'm solving a newish problem, posed (but not yet solved) by MS Photosynth: build an immersive, 3D-like experience from photos. But then again, I'm not a startup, but a one man nonprofit/research thing, releasing my code under the GPL. <http://openphotovr.org>

My next project is definitely gonna be a for-profit in some other area. Still deciding where exactly.

<comment><AUTHOR> Scene reconstruction is an interesting problem domain. Your manual stitching of photos is a great example of crowd-sourcing.

Kick it up a notch and get the machine to do that for you =D

</comment></comment><comment><USER9> We are. Actually I think more startups are than you're assuming. There are two reasons that this is not obvious:

\- Usually a good solution to a hard problem looks easy to users.

\- Simple problems get a lot harder when they're forced to scale. Just keeping things from flying apart at the hinges often involves significant optimization and engineering problems.

</comment><comment><USER10> I think most technical folks' occupancy of your latter two problem sets isn't so much for lack of interest in new, hairy-scary problems. It's for want of the necessary tools to do so.

On the flip side, it's my guess a lot of hackers consider themselves new- problem-solvers-in-training. A 22 year old computer guy may not be solving the clean water and efficient energy problems of the world, but could conceivably have aspirations to do so when his or her talent is matched with the right street savvy, is matched with the right entrepreneurial network, is matched with the right funding opportunities, and so on. So in a lot of cases it's a question of "when," not "whether."

And if it's people breaking new ground in computer work you're after, you've got to make sure you're in the right ballpark; Plenty of universities are doing remarkable things in CS, but again, it's usually older entrepreneurs (with money and know-how) who get their hands on new tech through the technology commercialization centers.

Which is to say that new problems _are_ being solved (in CS, too), just in different territories and in different ways than we hear about in mainstream tech news.

<comment><AUTHOR> What kind of tooling is lacking?

Your point about being in-training is an interesting one, particularly for the readers of this site.

Where do you find out about the remarkable things that people are doing in CS? Also, are you suggesting that most interesting new CS work comes out of universities? If so, does that mean "If you want to solve problems, go to grad school. if you want to make money, start a me-too business?"

<comment><USER11> Check out the ACM publications: <http://www.acm.org/publications>

The Queue has decent stuff, but the real meat is looking at conference proceedings.

</comment></comment></comment><comment><USER12> Interesting work seems to flow naturally from interesting data sets. Start by seeking the data.

<comment><USER13> Interesting work makes boring data sets appear interesting. Start by seeking interpretations.

<comment><USER14> Actually some of the most seminal work in machine learning and statistics for example was done on the most boring datasets, for example read Fishers work on classifying Iris sub-species.

<comment><USER12> I doubt Fischer found the Iris dataset boring.

</comment></comment></comment></comment><comment><USER15> I disagree with your assertion that the safer bets are less satisfying. If my users like and use my app over our competitors', that's more satisfying to me than building something challenging that no one uses or likes.

If you're working on something in a crowded market, designing your product to stand out/work better than the rest can be just as challenging (and satisfying) as writing something technologically complicated.

</comment><comment><USER16> Tipjoy is confronting a hard problem, but not in the technology space. They are trying to create a useful convenient payment mechanism without running afoul of finance laws. I don't envy them. There's a reason why all banks are the same, and basically the same as they were decades ago.

</comment><comment><USER17> For fun about a month ago I actually bought the domain letsmakepuppies.com to make a social network for dog breeders with a subtle dating aspect for humans. I thought it was a cute idea, but then I saw a sticker that read, "Please don't breed or buy when pets in the shelters die."

</comment><comment><USER18> I'm working on a hosted load testing solution. I would say it is challenging compared to many of my ideas since I have to basically build both a website, and a load testing tool, but not in the difficult-computer-science-problem category. The site is: <http://testomatix.com>

I'm getting there, but I am behind schedule. I struggle with whether I should release before I've added reporting in, or if I should wait. If folks are interested, the website has a mailing list signup.

<comment><USER19> I tried to sign up, but got an error...

 __System Error

* Oops! It looks like there was an error.

<comment><USER18> Doh! Sorry... That's down at the moment. It's the join the mailing list on the right that _does_ work or you can email me at ebeland on gmail. I should have been more clear on that, sorry.

I'm connecting the load tool to the site, currently, although more still needs to be done.

</comment></comment></comment><comment><USER20> I'm making photo sharing work the way it should have worked five years ago, using programming techniques I learned twenty years ago. I'm enjoying it immensely and wouldn't trade it.

</comment><comment><USER21> Problem toughness is not only defined by technical difficulty. Most programmers (myself included) tend to focus on that, but the toughness has many other components, such as the number of users, their fickleness, the strength of the competition, etc.

I wrote an article about this some time ago on my blog: [http://www.inter- sections.net/2008/02/11/how-tough-is-your-p...](http://www.inter- sections.net/2008/02/11/how-tough-is-your-project/)

</comment><comment><USER22> I make Flash brochureware!

...no, it is not satisfying.

<comment><USER23> You should apply to Justin.tv! We have nice hard flash problems here...

</comment></comment><comment><USER24> I agree that solving 'new' problems is a lot of fun. This can cause problem if you try to turn more mundane problems into interesting ones by making your code cover substantiatlly more general cases than is necessary. This is what has happened to me sometimes.

I guess you could consider the optimisation problem of how to finish your 'less than new' problem most effectively as a potentially interesting meta- problem.

</comment><comment><USER25> I'm wokring on local climate model. But one question that bothers me - <USER2> will i sell it?... May be i should change direction, i wonder...

</comment><comment><USER26> The title had me at a/s/l

</comment><comment><USER27> We are going to create a 21rst century patient facing medical experience.

The experience of going to a pharmacy sucks, and is obsolete. The entire medical industry is complacent in allowing 100 billion in unnecessary medical costs because of non-adherence to medications. The doctors don't consider it their job to make their patients adhere. The pharmacist maybe talks to you for a few minutes and hands you a sheet of medical and legal jargon that says, on page 3, how important it is to take medicine. The drug companies also fail to ensure adherence. Yet patients don't know enough to care.

None of these people have stepped up to the plate. So we're gonna do it, and when we solve the problem, we can start upending all the parts of the patient facing medical experience where bad decisions and stupid compromises have been calcified into the shitty experience that anyone who has had a sick family member knows all to well.

We are not exactly a web start up though. We must design some actual stuff people will use too. The computer science part of our project is that all this adherence stuff can actually reduce to a flow of information problem given a few assumptions and the right way of conceptualizing the problem from a psychological and brain science standpoint. The computer science forms the informational backbone along which we can build a medical experience that doesn't suck and isn't full of compromises that suck for the patient. From a computer science point of view, we are applying existing techniques to a new problem, but from the point of view of the medical establishment, we are solving a currently unsolved problem of huge proportions.

Information about your medication is some of the most important information you encounter, because it directly influences how long you live and how well you live. Edward Tufte is an old man now, and the pharmacies are still basically acting like it's 1952 in the way they present this vital information.

<comment><USER28> Since when do people resist taking medicine prescribed by a doctor? Why see a doctor if you aren't going to do what he says.

<comment><USER29> just to find out what's wrong. Doctor's tend to over-prescribe.

<comment><USER30> Woman: Doctor, my daughter has trouble breathing.

House: Have you been keeping up with her medication?

Woman: She doesn't use that except in emergencies. Pharmaceuticals are very risky.

House: You know what else is risky? NOT BREATHING. That has some minor side effects such as DEATH. Your doctor, after carefully weighing all the options, decided that NOT BREATHING is more dangerous than [insert minor side effect of pills].

(Paraphrased, I don't remember the exact lines.)

<comment><USER29> me: I'm sick doctor: here's some anti-biotics.

repeat for 20 years.

me: realizes doctor prescribes anti-biotics for allergies, the flu, and the common cold.

</comment></comment></comment></comment></comment><comment><USER31> That's what she said.

<comment><AUTHOR> You could have said NP-Hard if you wanted to go for the cheap thrill but remain on topic.</comment></comment>


Ask HN: How to make a social network better than Facebook? - <AUTHOR>

<comment><USER2> It's difficult to make a social network better than Facebook, it's too big to kill being just better in something, they can just fix it or buy you and continue with the monopoly. There's lots of users that don't like Facebook anymore because it's full of crap and you are friends with people you just know but you have no interest on their life. If you check the other social networks that compete in some way with Facebook they are all different and they focus in another approach to users. More than being better I would try to be different and find this new market that can start small and bring more and more people together and making these connections useful for everyone.</comment>


Securing Data in iOS  - <AUTHOR> http://blog.chariotsolutions.com/2012/04/securing-data-in-ios.html

<comment><USER2> If you're rolling your own you still need to solve the problem of key management, which is not mentioned in the article. Simply storing they key next to data will accomplish nothing. For that I would recommend one of few approaches:

1\. Using iOS keychain. The nice thing about it is that it's transparent to the user and easy to explain - "we store it he same way Mail app stores your email password".

2\. Asking the user to enter a pass phrase and use it as an encryption key. The key here is to resist the urge to hash the phrase to turn it into a key, and instead use a well known key derivation function for the same purpose.

<comment><USER3> The keychain is really great for convenience, though it is dependent on the iOS passcode. Users are free to setup their phones without one, use a weak pin, etc. It's exceedingly rare to see an iOS user with a strong multi- character passphrase. For enhanced security there is really no substitue for a suitably long/strong passphrase.

With regard to the second point, one added benefit of SQLCipher over a roll- your-own solution is that SQLCipher automatically applies PBKDF2 derivation. It handles most of the security under the hood so that the application doesn't need to worry about it.

<comment><USER4> On iOS keychain access is not dependent on the passcode. Each application has access to its own keychain and cannot access the keychain for other applications. The keychain will still be encrypted even if there is no passcode set.

<comment><USER3> Perhaps my comment wasn't clear. I agree that its not possible for one application to access another's keychain items. However, this isn't the only attack risk, and access to keychain items in general is based on the passcode. This can be a problem if weak passcodes are used and an attacker can get access to the device. There are some relevant comments in this paper: [http://sit.sit.fraunhofer.de/studies/en/sc-iphone- passwords-...](http://sit.sit.fraunhofer.de/studies/en/sc-iphone-passwords- faq.pdf)

<comment><USER4> I agree that this could be a problem but in this paper in order for the attack method to work the developer of the App would need to explicitly set the keychain attribute with the flag "kSecAttrAccessibleAlways", making the keychain data available even when the device is locked, "Otherwise the credentials of the app are not affected by the attack method."

<comment><USER3> Section 2.15 deals with the conditions under which the Keychain should be considered secure:

 _\- Items are stored with a protection class that makes them only available when the device is unlocked. (see Section 2.14) \- A strong passcode of 6 alphanumeric digits is enforced (reduces the risk of brute-force attacks)_

The second point is as relevant as the first. The paper goes on to say:

 _according to [App10b]: ... The standard simple code of 4 numeric digits would be brute-forced in less than 9 minutes. Based on the assumption that the counter for wrong tries in the iOS can be bypassed, as it is not hardware- based. [BS11b] provides a tool for passcode bruteforce attacks._

Forensic toolkits, like the one from Elcomsoft (<http://www.elcomsoft.com/eift.html>), are able to recover numeric pass codes and extract data in less than an hour, even on newer devices.

With a weak passcode, which most people use, the keychain does not offer much protection against dedicated attackers with device access.</comment></comment></comment></comment></comment></comment>


Beautiful, Slow-Motion Engineering Views of a Shuttle Launch - <AUTHOR> http://www.youtube.com/watch?v=W2VygftZSCs&feature=player_embedded

<comment><USER2> These were awesome, I hope they post the other shuttle flight stages beyond ascent.</comment>


Ask YC: How is a site/domain/idea legally tied to an incorporated company? - <AUTHOR>

What is the legal relationship between a website/idea/domain name and the company that is incorporated by its founders. Is that defined in the company bylaws explicitly? If so, which particular document does that?
Is it implicitly understood that XZY Corp owns the website and domain for XYC.com since the founders of ZXY Corp own the domain XYZ.com?
Hope this makes question makes sense. I've always wondered how the two are tied together. <comment><USER2> Founders in a startup usually sign something assigning IP related to the company to the company.

</comment><comment><USER3> It's implicitly understood that way if you all implicitly understand it that way.

Perhaps a better thing to do if you aren't defining any bylaws is to get a new, shared username at namecheap/etc. and transfer the domains there.

<comment><USER4> Some of the bigger sites also feature multiple user accts</comment></comment>


The Boldest Ideas Scientists Tested on Themselves - <AUTHOR> http://blogs.discovermagazine.com/d-brief/2017/10/31/scientists-tested-on-themselves/ <comment><USER2> A professor I know at Berkeley looked directly into the synchrotron (after calculating and installing the appropriate filters to ensure statistically one photon per second would go in). Pretty gutsy- make a math mistake and you burn a hole in your head instantly.</comment>


Software Architect: The Best Job in America - <AUTHOR> http://money.cnn.com/gallery/pf/2015/01/27/best-jobs-2015/index.html <comment><USER2> I think software architects are a company anti-pattern. It seems like such a good idea, one or two big brains putting the whole system together, then a pile of cheaper code monkeys doing the implementation.

On my experience, what you actually get is your one or two "big brains" doing little to no work. They go to lots of conferences, are in a lot of meetings, derail almost all useful conversation, and maybe occasionally produce a UML diagram. The plebes responsible for actually building the system typically throw away the architect's design immediately, because while it's a beautiful, pure design, it doesn't take into account being deployed, running and being supported in the real world. The code monkeys then build a deeply flawed system, but it ships and works.

But at least the architect is great to have beers with during the Friday happy hour.

Skip the architects, make the monkeys do the design. Have them vet it with each other, preferably in a formal setting with your entire engineering team. Everyone codes, and everyone architects.

<comment><USER3> > Everyone codes, and everyone architects.

This will result in an inconsistent mess, most likely.

If your architect is a decent programmer himself and has sufficient experience, then there is no reason why his design should be thrown away.

<comment><USER4> In my professional experience I've met architects that don't code, or even remember how. Very sad.

<comment><USER2> Even worse, in my experience I've yet to meet an architect who does know how to code.

</comment></comment></comment></comment><comment><USER5> I think we've all been somewhere that had a laughably incompetent "architect". I can think of at least 3 in my own relatively short career, at three different firms. The rest I would describe as... harmless?

And yet I can see the value of having a strong leader in this role, especially on large-scale enterprise projects and similar.

My own limited experiences and the countless anecdotal similar experiences I've read on HN, etc. over the years raises the question of how some of these people get hired. I assume it's because architects are hired by C-level executives and managers, not technical staff. Probably lots of odd coincidences where everyone used to work at the same place...

But I can promise you this: if I am ever invited to sit in on the interview for an architect, those candidates will get nothing but questions about the fundamentals of networking and development from me.

<comment><USER6> > My own limited experiences and the countless anecdotal similar experiences > I've read on HN, etc. over the years raises the question of how some of > these people get hired.

I think I clued in to part of that a couple of weeks ago: they tell management what management wants to hear in a language that management understands. This sort of rapport leads to a completely misplaced trust and the associated trainwrecks make for interesting projects from a recovery point of view.

In a nutshell: it's all people and psychology and being antagonistic will more often than not cause you to be ignored, even if you're right and so the bozos get to have their run.

</comment></comment><comment><USER7> You _always_ see this at the top of every list of this general ilk. For me, it's true. I do it and I love it. But when I look around the office at my co- workers, I honestly believe 70-80% of people would either just abhor it or be terrible at it. Even though they might complain about it, they love meetings. Love them so much. They get out of a meeting and genuinely feel like they did something productive. These people would be deeply unhappy if they were yanked out of the candyland where having meetings and opinions was what they were responsible for and suddenly were told "Now you have to do something tangible to earn a living." ... In the same way I would be deeply unhappy if I were told I had to go to meetings all day. The point is, this probably is the best job... but not for a lot of people. So it seems misplaced at the top of all these lists.

<comment><USER8> As a developer, "meetings" and "expressing opinions" is exactly how I picture a software architect's job. I'm not saying that in a diminutive way, I actually think that interpersonal communication and group work are very important in any human endeavour.

<comment><USER9> There is usually a fair bit of prototyping work involved as well. There's also a lot of listening involved, as you can't really design a good system without first talking to the people who are going to use the system and understanding their needs. In addition you'll need to listen to the folks who are going to be implementing the system as well so you get a feel for what they are good at and what they enjoy working on.

</comment></comment></comment><comment><USER10> What I thought was hilarious is that the #2 job, Video Game Designer, had a "Low Stress" rating of A.

It's almost like CNN doesn't know how much gamers hate the people that make games. I would never go back to the video game industry without protections in place to keep ragey gamers from swatting my house, sending death threats my way, or so forth.

<comment> guard-of-terra Whoa guy. I was thinking more about runaway overtime and release rush stress.

</comment></comment><comment><USER11> It is an unfashionable role right now in good software development organizations. I used to go by the title but tend not to anymore.

Nevertheless, there is still a need for that role in large organizations whether they are called that or not. A typical project or product at a large company has many people over multiple sites involved and/or significantly affected by the project.

Someone with enough technical depth needs to coordinate, make decisions, and be accountable for the overall technical cohesion.

Most developers either aren't interested in spending their time on that or aren't good at it. The ones that are end up playing the role of architect. If they don't have the authority to back it up, either by reputation or granted by title, they will get nowhere when they try to convince other groups all work towards the same vision.

<comment><USER12> Agree. It is unfashionable, but in the long run, having a unified technical vision for your product breaks down silos and makes products easy to maintain.

Here's the problems I've had with this position:

1) Not innovating. Basically you decided 10 years ago to use Java 1.4.2 and by golly it was good enough then it's good enough now. You have to rock the boat occasionally. And yes, your applications should require a rewrite every 3-5 years.

2) I've worked with too many people that were promoted into the role by time at the job, instead of skill, which is the real anti-pattern.

3) They "don't code." This is ridiculous. Eat your own dog food. If you can't code faster/better than the engineers underneath you, you need to be replaced.

</comment></comment><comment><USER13> The best architect I've worked with was previously a developer and then developer lead. He kept current with new technologies, development principles/tools and frameworks that were relevant to our stack. He helped with development occasionally and was pretty much the go-to guy for not being able to come to a solution on our own.

Without a deep understanding of the moving parts of your systems, I don't think an architect can be very useful outside of taking meeting time from the development team. They're great for handling bureaucracy in a large environment, however a lot of that role can be done by your manager or their manager.

Unfortunately handling bureaucracy isn't very high on the list of job satisfaction of someone who's role is in draught, he moved onto greener pastures shortly after I signed up.

</comment><comment><USER14> Honest questions: How to become software architect? What are the relevant qualifications/industry standards? Can any current or past architects on HN share their life experiences? Thanks.

<comment><USER15> 1) Read (a lot) and absorb quality writing on software development. For example Pragmatic Programmer, Code Complete, Designing Hard Software, SICP...

2) Create software (for about 10 years at least) for fun and profit. Assume others must read and understand your code. Write it for them. Also love the code you write. Find the beauty in solving problems elegantly and simply. You'll learn a lot.

3) Teach others how to create high-quality software, most especially focusing on "why". This keeps you thinking about what you're doing and leads to you finding ways to improve.

4) Listen and evaluate honestly when others criticize your choices. Maybe you did do it wrong or you don't have the whole picture. Have strong opinions, weakly held.

5) Repeat.

These aren't qualifications so much as guidelines for when people ask me how I got "so good." My title has been "Software Architect" for the last twelve years.

There's a lot more to it, naturally. Your biggest job as an architect is to extend the reach of the entire development team. Be it by writing libraries and frameworks for the project, mentoring developers, or creating designs and guidelines for developers to work within. Like a building architect, you are responsible for crafting and engineering the space in which people will live and work. For a software architect those people are the users, the developers, and the stakeholders. Your job is to strike the right balance between the three groups.

The reason you see so many posts in this thread deriding software architects is that as an industry we have largely forgotten what software architecture is. B-School and CIO Magazine have been selling executives on out-sourcing so that they don't have to "worry" about that kind of thing (and we're just now recovering from this). Capital "A" Agile came along and sold them another bill-of-goods that doing Scrum would fix all the issues.

For these and other reasons, the title basically came to mean "really good programmer" and was handed out as a simple promotion. But the real software architects are never just that. When doing their job properly, they become the foundation for excellent software development teams, and for excellent software.

</comment></comment><comment><USER16> Software architects are developers in a past life who don't want to do any real work anymore. They never really liked coding and they're certainly not getting their hands dirty.

<comment><USER15> No. Those are bad software architects.

That's like saying developers are people who write buggy software for job security. All they like to do is play around with the latest toys and they always make the project late. Those are bad developers.

Good software architects make the entire team more productive, the entire product (or family of products) more cohesive, and make future change easier.

</comment></comment><comment><USER17> "Benefit to society" whats that all about? Landman and Patent Agent get A's for benefiting society. From what I can see anything software related gets B or less.

</comment><comment><USER18> Top 10 something lists are far from exact. Second best job in this list is 'game designer'. Obviously this list ignores overtimes, job stability, living cost etc.

<comment><USER19> But they said it gets a 'A' for low stress! /sarcasm

</comment></comment><comment><USER20> This list is nonsense. Video game designers get a 'B' for benefit to society? The first engineering position is #37? Clickbait junk.</comment>


Show HN: TransitFeeds.com - <AUTHOR> http://transitfeeds.com

<comment><USER2> Similarly (but freer), [http://www.citybik.es/](http://www.citybik.es/) is an API for bike sharing systems around the world.

<comment><AUTHOR> Oh that's cool - might be some way of integrating that into my site in the future.

One of the core differences though is that TransitFeeds is primarily for browsing and discovering new feeds to interact directly.

The API is more of a value-add so devs can automate their own build processes, or in the case of something like GTFS-RealTime, making the data into a mobile- friendly format (a single GTFS-RealTime snapshot could be say, 2 MB big and contain information for thousands of vehicles).

</comment></comment><comment><USER3> Very useful. I run a feed for my city and this would help me enormously...

</comment><comment><USER4> Why did this not receive more upvotes?

What a great API to build off of.

<comment><AUTHOR> Thanks Jackson - there's a ton more feeds and API calls I'll be adding over the next few months. I'm currently working on building an API to serve real- time NYC subway estimates</comment></comment>


Show HN: Triggy – Open-source DSLR intervalometer for iOS - <AUTHOR> https://github.com/jnordberg/triggy <comment><AUTHOR> Hoping to get some help implementing support for other cameras, this was too much of a niche app for it to make sense for me to do it solo.

I'm planning to break the PTP/IP framework out to a separate module so it can be reused by other apps as well.</comment>


Facebook finds Declaration of Independence 'racist' - <AUTHOR> https://www.bbc.com/news/technology-44722728 <comment><USER3> Well, that is racist, isn't it? I guess the point is that the bot doesn't appreciate when something's being racist for educational and historical purposes. Reminds me of Facebook taking down important but disturbing primary source journalism.

<comment><USER4> Yes, and that's one of the problems with a zero-tolerance policy of censoring problematic speech - doing so without understanding and allowing for historical context means whitewashing history as well, because history itself is problematic in modern terms. Huckleberry Finn and Uncle Tom's Cabin have been banned from school libraries for similar reasons, missing the point entirely.

<comment><USER5> > "problematic speech"

Uh....1984, much?

<comment><USER4> >Uh....1984, much?

Uh... no? It's a simple, straightforward English phrase. Speech which is problematic, as opposed to speech which is not.

"Problematic" being defined as "constituting or presenting a problem or difficulty."

Racist speech in historical documents constitutes and presents a problem or difficulty for modern readers. That's kind of the entire premise of the posted article. There is no doublespeak or newspeak or whatever "1984" is supposed to imply, involved.

<comment><USER6> May I suggest that problematic speech is often simply what people don't like to hear?

Of course, I think it's their right to choose what they want to hear. But that does not mean I defend censorship.

How to filter the content they consume should be every individual's choice.

Now, platforms definitely should choose sensible defaults, but one should be able to easily opt out of them.

<comment><USER4> > May I suggest that ``problematic'' speech is often simply what people don't > like to hear?

To be fair, that's just a restatement of the original definition. If someone doesn't want to hear a certain kind of speech, then they find it problematic.

> Now, platforms definitely should choose sensible defaults, but one should be > able to easily opt out of them.

Also to be fair, Facebook apparently caught the error and corrected it, and it does have plenty of ways to opt out as a user.

The biggest problem here seems to be the assumption that a sensible policy can be automated.

</comment></comment></comment></comment></comment></comment><comment><USER7> More interesting to me is that this reply from the editor:

>> Editor Casey Stinnett wrote afterwards of the offending paragraph: "Perhaps had Thomas Jefferson written it as 'Native Americans at a challenging stage of cultural development' that would have been better. >>

Seems racist as well. Not from Jefferson, but from the editor. The only real "challenge" was that the colonies wanted their land and resources and were willing to do anything it took to get them.

<comment><USER8> Could you re-write it so that the bot (or HN readers in the current year) wouldn't detect it as racism?

<comment><USER7> Perhaps the point is that racism isn't just words, but also intent.

Jefferson was racist, trying to mask that with language may be hard.

The closest thing I can come to is just admitting one is racist or awareness of your own projections.

"The native Americans are a strong mirror for our own disowned savageness. For the way in which our disconnection from Self and has lead to a quest for power and resources which have blinded us to the common humanity we share with all peoples. Our inability to resolve the savageness we harbor towards our own humanity within us leaves us no choice but the futile attempt to destroy its reflection in those we project it upon."

</comment></comment></comment><comment><USER9> > At issue was a part of it that referred to "merciless Indian savages".

I mean.. not sure I disagree

<comment><USER10> When a settler's cabin was attacked, the warriors would attack everyone -- armed men plus unarmed women and children. At the end of the attack, captured women and girls would often be raped then killed. The surviving men would be scalped and tortured to death over a couple of days. The injured would be hacked to death by the Indian women and children. You can debate how often this happened, but first-hand stories are relatively common in surviving military personnel diaries from the time.

What would be our reaction today if a group of people attacked a family and did such things? We talk about the horror of mass shootings, but they don't even come close to that level of horrifying. All of this violated the rules of war and decent behavior. After seeing the remains of this horror show, what would you be inclined to do when you caught up with the perpetrators?

Mens Rea

If I sell you the Brooklyn Bridge and demand payment in Monopoly money, who's the real crook? I would be because I sold what I did not own and reaped a profit (however small) at your expense. If an Indian sold land they didn't believe they owned for what they believed to be valuable, who was the real thief?

Consider scalping. While it is generally considered a method of trophy collecting, the meaning was deeper. A scalped warrior was denied access to the eternal hunting grounds. Literally, to their minds, scalping was a way of keeping someone from going to heaven. Doing this from the motive of hatred or payment by the French/British was still the ultimate condemnation (and in the case of payment, without even the excuse of honor).

The re-writing of history to fit current politics doesn't do society any favors.

<comment><USER11> I like how we begin your story in media res with the settler's cabin already established as if ordained by the laws of nature, disrupted from its idyllic divine creation by these warriors perpetrating violence.

Who's rewriting what now?

<comment><USER10> I thought it axiomatic that squatting on someone else's property was not the same as butchering someones entire family.

That aside, you cannot claim land cannot be owned then claim ownership over it. However, if ownership can be claimed, then who is the owner, the thief or the thief who steals from the first thief?

Consider the Sioux. People think of the Sioux as the plains Indians, but they lived in the great lakes area. The Iroquois stole their land from them. In turn they fought to drive off the semi agrarian Pawnee Indians (who had good relations with the settlers -- probably because they were settling down themselves) winning a decisive victory by massacre.

If you go farther back than that, there is tribe after tribe fighting and butchering the previous one.

Going to Europe, you see the same pattern. Tribes butcher each other until they are conquered or a tribe survives long enough to settle and establish dominance. I don't hear about the land argument when discussing those indigenous peoples (and unlike the Indians, most of them believed land could be stolen).

</comment></comment></comment></comment><comment><USER12> Machine performs its jobs flawlessly, detects racism.

</comment><comment><USER7> Perhaps they could just tag content as racist, but still let it show - <USER2> give it a rating or visible highlight.

Perhaps also add a "historical" or "contemporary" tag.

People could opt out, but more importantly, we could see who is posting racist stuff vs. it being censored before hand and not allowing anyone to engage with the poster.

I'm not certain nerfing all social media is the answer.

</comment><comment><USER13> How advanced is facebook's "hate speech detector" anyway? It seems like they're just checking a blacklist of bad words and maybe doing some rudimentary NLP.

</comment><comment><USER14> Things should be taken in historical context. What's completely politically correct and progressive today will be horrific tomorrow.

A BBC exec recently criticized Monty Python for being politically incorrect (in today's terms). Of course they were on the leading edge at the time, and now they are being vilified.

Political correctness is the western equivalent of the hard-line extremists that destroy ancient art in the middle east. It's just wrong.

<comment><USER15> We should recognize that it's both politically incorrect, and historically of it's time.

Just because something is from the pages of history, doesn't mean it should be presented as perfectly fine today - that's also wrong.

<comment><USER16> I find the case of Monty Python extremely important because some of their sketches are even more poignant (and funny!) today. Many would have no chance of being created and aired. However, the painful issues behind them, such as following some dogmas with blind faith and the consequences of such actions, are still there and watching Monty Python today gives young viewers a refreshing perspective.

</comment></comment></comment><comment><USER17> In their defense, it is.

<comment><USER5> Was.

</comment></comment><comment><USER18> What is a facebook?

<comment><USER19> Best bet is to forget you ever heard of it, and don't sign up or download anything remotely related to it. Not being sarcastic here, either.

</comment></comment><comment><USER20> White Americans progressively pushed the American Indians off of their land, and in reaction, there _were_ many cases where the American Indians responded by slaughtering the families of white American settlers -- not just the men but non-combatant women and children. So one can see why many white Americans did regard the American Indians as "merciless savages", and also what caused the American Indians to behave as they did.

<comment><USER21> That's an incredibly simplified view of what actually happened, and therefore a false narrative - about what you'd expect from watching a Hollywood movie. In many cases, American Indian tribes had been fighting each other for millenia, and thought they could use the newcomers to their advantage against enemy tribes. The Sioux, for example, were newcomers to the plains, having recently driven out / exterminated other tribes that had been there for quite some time.

If you're interested in this sort of history, there are many good books. Here's one:

[https://www.goodreads.com/book/show/17571536-the-heart-of- ev...](https://www.goodreads.com/book/show/17571536-the-heart-of-everything- that-is)

<comment><USER22> Thank you for this. Balance it hard to find. The fact is that we are speaking not of a monolithic nation, but of individual tribes with unique histories. Lumping Native Americans into a single bucket, while politically useful, is ahistorical. Nations war over access to land and resources. This is just at true of the first nations as it is of the new worlders.

The atrocities committed by the US government against the first nations should not be whitewashed. Neither should the atrocities committed by one tribe against another. But few would contest the obvious truth that the former greatly exceeded the latter in terms of scope and effectiveness, particularly due to the imbalance of power.

<comment><USER20> The atrocities of the first nations against white settlers should also not be whitewashed.

<comment><USER22> I don't. But I also don't stigmatize it. They treated the white settlers just like they treated rival tribes - as competitors for land and resources. As in nearly all of human history, these conflicts are settled by war and bloodshed.</comment></comment></comment></comment></comment>


Ask HN: best way to become a "Numerati"? - <AUTHOR>

Not sure if "Numerati" is the best word. I already have a maths degree, but did little with statistics so far. I am capable of reading a book on statistics, but it is not the same as getting some practical experience.<p>I guess I could just start with randomly selected data sets, but somehow that doesn't seem to be enough motivation (like stock market data: seems unlikely to discover something new, with all the Quants already working on it). So I guess what I mean is, among other things: how to find worthwhile statistical problems for starting out? I am not into sports, so betting is kind of out. Also missed the elections, since I am not from the US. I look forward to the book by the 53something website guy, though. <comment><USER2> You need to ask a biologist, a sociologist, or an epidemiologist.

Or you could take up statistical process control. Useful skill, and applicable to many things besides semiconductor manufacturing. Here's a hilarious quote that I've remembered for years, from [http://www.pbs.org/cringely/pulpit/2003/pulpit_20030925_0004...](http://www.pbs.org/cringely/pulpit/2003/pulpit_20030925_000448.html)

 _"I taught over 300 courses for industry where we designed cars and electronic devices, but it wasn't until one day I took over my wife's kitchen and used Taguchi to perfect my recipe for vanilla wafer cookies that I realized how broadly it could be applied," Kowalick recalls. "It took 16 batches, but by the end of the afternoon I had those wafers dialed in."_

Go forth and bake some cookies.

</comment><comment><USER3> Read some good sources:

[http://www.badscience.net/2008/11/you-are-80-less-likely- to-...](http://www.badscience.net/2008/11/you-are-80-less-likely-to-die-from- a-meteor-landing-on-your-head-if-you-wear-a-bicycle-helmet-all-day/)

[http://www.google.co.uk/search?hl=en&q=the+tiger+that+is...](http://www.google.co.uk/search?hl=en&q=the+tiger+that+isn't&btnG=Google+Search&meta=)

Perhaps take some public health scares and look up the papers behind them (if they exist). Try and work out if the scares are justified or not, based on the evidence.

Perhaps do some meta-analyses of studies to see if you can determine evidence of publication bias: <http://en.wikipedia.org/wiki/Publication_bias>

Find something that interests you and Do Science To It.

</comment><comment><USER4> <http://netflixprize.com>

Statistical language processing is also cool:

<http://nltk.sourceforge.net/index.php/Main_Page>

<http://norvig.com/spell-correct.html>

</comment><comment><USER5> If numerati were a word, it'd be a plural. I'm reasonably sure the correct singular forms would be literatus (male) and literata (female).

Oh, as for your actual question? I can't think of anything.

<comment><USER6> Nitpicking here, but wouldn't it be numeratus and numerata?

<comment><USER5> Ummm, yes.

Drat.

</comment></comment></comment><comment><USER7> I would still use stocks, like you said, for starting out. I don't know if you're unlikely to find new things, but it'll probably be more interesting than sports.

</comment><comment><USER8> Look at some fun stuff like the Monty Hall problem, and Benford's law. These are delightful examples of how counterintuitive probabilities and statistics can be. If either of these things surprise you, you are in the great majority, and unlikely to perform practical statistical work without first doing a great deal of studying. Nothing to be ashamed of, not even Gauss was born knowing this stuff.

<comment><AUTHOR> Well I am familiar with these. I just never got my hands on a real world data analysis problem.

</comment></comment><comment><USER9> i think there are still plenty of fun things to find in stock market data. most quants are looking at the same problem. i play with market data a lot and you'd be amazed how uneducated the general public seems to be.

also, i second ntoshev's recommendations for netflix prize -ish applications. collaborative filtering/clustering seems to be an inadequate science at best as far as i can tell.

</comment><comment><USER10> If you're a hacker you might look for a niche in the R project and do some development.

</comment><comment><USER11> Look at graduate programs in statistics.

<comment><AUTHOR> That occured to me, too, but is it really necessary? Also, will a graduate program lead to practical applications?

<comment><USER11> It's never necessary, but it might be the easiest place to find interesting problems to work on, and the place that is most conducive to study. It's also probably the best lead-in to finding a job in the area.

You don't have to do a PhD. Look up some Master's programs, which typically take two years.

Disclosure: I'm a Computer Science PhD student.</comment></comment></comment>


AMD licences x86 tech to Chinese company - <AUTHOR> http://www.anandtech.com/show/10268/china-calling-amd-forms-joint-venture-for-x86-server-socs-in-china <comment><USER2> Without knowing any additional details of the agreement, I don't see how Intel will let this slide. The terms of their agreement are mostly likely violated at least in spirit, if not in the letter. Not only that, but it will have to get past export controls that have very recently stopped exports of Intel processors bound for China, I have no doubt they will find a joint venture to develop similar processors an easy target. If it gets past that, I would expect a lengthy lawsuit from Intel. Seems very risky from AMD's perspective.

<comment><USER3> All of their cross licensing agreements are private so everything is speculation. That being said...

In 2009 AMD divested itself of it's manufacturing arm by spinning it off into GlobalFoundries (GF) which was a joint venture with Advanced Technology Investment Company (ATIC). Intel sued AMD, GF, and ATIC for violation of the terms of AMD and Intel's prior cross licensing agreements.

Later that year Intel and AMD entered into a Settlement Agreement to halt several on going lawsuits both parties had against each other. The AMD/GF/ATIC lawsuit was one of those that was part of the settlement agreement. Under section 4 of the settlement agreement are the mutual releases each company agreed to. Section 4.2 is Intel's release and it states the following.

 _4.2 Intel Release. Except for the rights and obligations expressly created or reserved by this Agreement and by the agreements described in Section 3.7, Intel does hereby irrevocably release, acquit and forever discharge AMD, GF and ATIC from any and all Claims that Intel ever had, now has or hereafter may acquire against AMD, GF and ATIC, whether known or unknown, on account of any action, inaction, matter, thing or event, that occurred or failed to occur at any time in the past, from the beginning of time through and including the Effective Date, including, without limitation, any and all Claims based on or arising out of, in whole or in part, the Actions or the facts underlying the Actions and any claims that could have been raised in the Actions up to the Effective Date. All third parties included within the scope of the preceding release, pursuant to Section 1.4, are expressly agreed to be third-party beneficiaries of this Agreement._

It seems somewhat relevant to today's announcement as it seems to release AMD from litigation for any future joint ventures it might partake in. However I'm not a lawyer and it's entirely possible that I'm miss reading this.

<comment><USER4> > on account of any action, inaction, matter, thing or event, that occurred or > failed to occur at any time in the past, from the beginning of time _through > and including the Effective Date_

I think this is the key part here - Intel is basically agreeing to never sue about anything that happened _through and including the Effective Date_ but it doesn't say anything about things that happen _after_ the effective date. I really doubt Intel would agree to such a thing.

So unless AMD made the licensing agreement 7 years ago and kept it secret, it wouldn't be covered by that agreement. That would be an interesting fuck-you the next time one of these settlements happen, though.

<comment><USER2> For reference, here's the full text of the settlement(at least what was filed publicly with the SEC)[1]

It appears during the settlement they made a new patent cross-license agreement, which is not public of course. The new agreement is what is alleged by sources to have expired in 2015, which is what would allow AMD to license their IP to third-parties. It could also be that the patent agreement is more lenient than before, because at the very least it expanded to include at least one third party in the form of GlobalFoundries. If that is the case though, one wonders why this hasn't already happened.

1.[https://www.sec.gov/Archives/edgar/data/2488/000119312509236...](https://www.sec.gov/Archives/edgar/data/2488/000119312509236705/dex101.htm)

<comment><USER3> Thanks, I thought I'd included the link in my post but it looks like I didn't.

</comment></comment></comment></comment></comment><comment><USER5> Let THEM omit frame pointers for a decade or two, it is in the broader national interests of America.

<comment><USER6> Care to explain?

<comment><USER5> I have this dystopian Foxconn style vision of sweat shops where they force people to unwind stacks in binaries compiled without frame pointers because they're using a register starved architecture and they think that using SP as a general purpose register will make their code run faster.

Now that I think of it, I'm beginning to understand the suicide nets.

<comment><USER7> Whenever people mention the Foxconn suicide nets, I remember how nobody noted that the measured suicide rate of Foxconn workers is and was lower than the general population, and I laugh at humanity's prospect of ever rising above its animal nature.

<comment><USER8> Suicide rate or suicide attempt rate?

<comment><USER9> Even the attempt rate in Foxconn during their worst year was less bad than the suicide rate in the general population.

And the suicide rate was lower not only than the suicide rate in the China as a whole, as it was lower than in _all 50 states of the United States_.

</comment></comment></comment></comment></comment></comment><comment><USER10> I am curious if this was caused by the export restrictions on Xeon & Xeon Phi chips to the Chinese government due to the concerns about their super- computers.

If that is the cause, it could be interesting as we may end up with AMD (and the rest of us) getting the benefits of heavy research into upcoming processors, simply as they become a strategic material for the Chinese government.

The competition would benefit all of us.

</comment><comment><USER11> This will be nice if it leads to x86 implementations devoid of ME or equivalent transparent hardware backdoors.

</comment><comment><USER12> This might be our one ray of hope to keep the platform open and uncompromised:

[http://mail.fsfeurope.org/pipermail/discussion/2016-April/01...](http://mail.fsfeurope.org/pipermail/discussion/2016-April/010912.html)

</comment><comment><USER13> x86 boxes are about to get a lot cheaper since China has cheap RTL engineers, fabs, and assembly workers. Hopefully it gets as interesting as ARM SOC's and boards have in Shenizen.

<comment><USER14> Fabs ? last i heard the Chinese are struggling to build even 28nm fabs.

<comment><USER13> Wait, I found these that arent on the list and show they're making SnapDragons:

[http://www.smics.com/eng/press/press_releases_details.php?id...](http://www.smics.com/eng/press/press_releases_details.php?id=299479)

[http://www.smics.com/eng/foundry/technology/highlight_28.php](http://www.smics.com/eng/foundry/technology/highlight_28.php)

<comment><USER2> China has caught up big time in the fab game over the past few years, though SMIC doesn't have very much capacity for cutting-edge production and it is basically only manufacturing Qualcomm products for 28nm afaik. You'll also notice they didn't mention yields at all there, which are probably not very good for 28nm, but then again no one has good yields at first, they'll catch up in time.

<comment><USER13> Haha good catch on the yields. Yeah, they probably suck and are _strongly_ encouraging Design for Manufacturing flows to keep losses lower. That's always true for new fabs.

Contrary to popular beliefs, though, most design starts are still in 110-350nm range with a good chunk on 45/65nm and now interest in 28nm. China has all that covered. So, they're only missing a small chunk of market. That said, the cost of 28nm fab investments means they _really_ need more projects on 28nm.

Personally, I thought they were doing all the semiconductor stuff as anti- subversion and economic imperialism. So, they'll probably keep it and work on lower nodes going even at a loss. Just a hunch. ;)

</comment></comment></comment></comment></comment><comment><USER15> So when nVidia wanted x86 license for Tegra K1 they should have go to AMD? Probably it would backfire their probable relationship with Intel. Do they have one?

<comment><USER2> The landscape with regards to patents and licenses was a lot different then, it seems like all bets might be off at this point.

<comment><USER16> It's worth noting that a lot of 32-bit x86 is well beyond patent protections at this point... The Pentium was released over 20 years ago now. The only licensing needed is for certain innovations since 1996, of which is mostly x86-64.

</comment></comment></comment><comment><USER17> Andy Grove must be spinning in his grave!

<comment><USER18> Well, his company shouldn't have adopted X86-64 from AMD then...

<comment><USER6> And join the fate of Titanic^WItanium?

</comment></comment></comment><comment><USER19> For servers, really? I don't get it, they could just use RISC-V.

x86 has a user case: legacy software.

<comment><USER20> I'm hoping that this is really good news for Zen. Because you're right, the server market is a lot less tied to x86 than the desktop market is.

So why would they sign this deal when it would probably be easier to use RISC-V or ARM or MIPS or ...? Perhaps AMD gave them a private demo of Zen and they realized that it was better than all of their other alternatives, even including other architectures.

But if they had their hearts set on x86, unless they could get Intel to play ball (highly unlikely), AMD was their only option even if Zen sucks.

<comment><USER2> I agree and think the only way they made this deal is if AMD showed that Zen is better than any of the other alternatives. That probably isn't saying much since most of the alternatives are pretty bad, but they probably don't have another Bulldozer on their hands either.</comment></comment></comment>


A table of electric clay (2013) [video] - <AUTHOR> https://www.youtube.com/watch?v=lvtfD_rJ2hE

<comment><USER2> Here's a link to the actual project [http://tangible.media.mit.edu/project/inform/](http://tangible.media.mit.edu/project/inform/) with a link to the paper at the bottom. If you skip to the mechanical implementation, it uses 900 ALPS RSA0N11M9A07 motorized slide potentiometers which have since been discontinued, but they are still available in limited quantities at around 30 $ a piece.

I did some more searching, and it turns out the newer version can be had in quantities of 1000+ (roughly the quantity required for this project) for about 9$ a piece of AVNET (~70$ on Mouser). That means the actuators alone will set you back about 9000 USD, maybe less if you order directly from ALPS. Note that that doesn't include the controllers and fans, the kinect that they're using, proably another computer or two and a projector.

That, and the 700 W average power consumption whilst in motion (2700W theoretical peak), make it unlikely this will be in your coffee table anytime soon.</comment>


How can I foster a "hacker culture" at my university? - <AUTHOR>

I'm in my 4th year of 5 at a state university that isn't quite known for its CS program. The internet helped me to fall in love with programming- I always have a few projects going on the side, and I feel like I've taught myself more than I've learned in class.
But I'm always a little depressed to see that other students don't feel the same way. It seems like the vast majority of other CS/SE students are content to graduate not having hardly written a line of code in a language other than Java, and take some corporate IT job.
Nothing against Java or cubicles- it's just that there's so much cool stuff you can do with a computer, and few people here seem to care.
I could just continue keeping to myself and graduate, but I'd rather use some of my last 1.5 years here to get people to open their horizons, and get the few other people like me to leave their dorm rooms to encourage and inspire others.
I'm the president of the Computer Science Club, and meeting attendance is dismal, despite offering free pizza at every meeting, bombarding students with emails, posters, the usual.
Does anyone have any suggestions for how to get people to get excited, interested, and to build a culture like that of other universities and cities? <comment><USER2> In my experience it was relatively easy.

* Make friends with people who are interested in programming/security/whatever.

* Start making small parties (e.g. code small projects, create hack competitions, etc.).

* After a while you can increase your radius and invite more people

In conclusion: Be fun, offer them value and build relationships

<comment><AUTHOR> Starting small and expanding- that's a good thought. I should probably focus on that rather than attacking the entire undergrad email list. Thanks.

</comment></comment><comment><USER3> I felt the same way at times in my CS department.

Schedule and give talks about the CS topics you're teaching yourself. One approach we took was to present it as a SIG (special interest group) of our ACM chapter. Even if one person, only your friends, or only the ACM officers come, that is plenty.

I think the first few should be about why your workflow is more efficient that the typical CS student. Don't be so overt about that fact, of course. In my experience, people will start to tinker if you present it as a path to efficiency.

I think it's worth it to screencast all of your talks and put them on a website. (Résumé / Brand Bonus)

If you find one other like-minded hacker, you win. Things will change after that.

You should totally go above and beyond with all of it. This is a rare time.

</comment><comment><USER4> I agree with davorak. What you want to achieve would be a long term project. Since you are in your final 2 years, start attracting attention with projects that would stay in the campus longer after you graduate. Also, start from the freshmen ... they are the ones you pass the baton. Make use of external programming competitions, for example, Facebook Hacker Cup, to lure them into programming. For beginners, the Hacker Cup might be something intimidating. You can try smaller competitions like this one: <http://codercharts.com/contest/january-snow-fest-contest> (pardon the little self-promotion ... but our goal is actually the same as yours).

<comment><AUTHOR> We're going to start pushing the ACM ICPC competition more, also Topcoder, Spoj, etc. I hadn't heard of codercharts.com, thanks for that. We aren't quite sure how to get people involved in this area though, since freshmen and sophomores aren't confident enough in their abilities to join a competition, and juniors/seniors are too established and seem to rarely want to join a new group.

<comment><USER4> In that case, CoderCharts would be helpful since for beginners, they don't necessary have to take part in competition. We have non-contest puzzles of various levels for users to try their skills. We have plans to push out more social features to enhance the users' sense of pride in their skills, so this would help nurture freshmen's interest. I would encourage you come to our site and play around yourself, so that you have a better understanding of how to make the most out of it. :-)

</comment></comment></comment><comment><USER5> I do not have any direct experience with your type of situation.

Making cultural changes are hard and can take years. Think of your efforts as an experiment if you only end up making a small change at least you have learned how to do it better next time.

Start working on projects that effect other computer science students, the general student population, and the community in general. Preferably projects that make lasting changes, projects that will be used or remembered for years. Include these finished projects or proposed projects in your advertising.

Be warned this experiment may take years to produces results. Be happy with a small but lasting change, if it ends up being a big lasting change so much the better.

<comment><AUTHOR> Thanks for the suggestion. Good point that I can't expect this to happen overnight.

</comment></comment><comment><USER6> I've been working on something pretty similar at my school, and I think we've had some pretty good results so far.

I think the first step is to find the students who really are interested in programming/hacker culture/whatever you call it, and get close with them. If you start small, maybe just a couple of friends doing things together, it'll be a good start. Other people may then be interested in seeing what's up.

Another thing is that I'd suggest "events" vs. meetings. A couple of things we've done is start a bi-annual series of hackathons. The first one in the fall drew 40 students. The second one, which had lower prizes, ended up drawing over 100. It takes a bit of time, but I think you can snowball it into something bigger.

Another event we've found really useful is a weekly thing where we take a classroom in one of the CS buildings, and designate it for a night for people to code. We order food and stuff, usually 15-20 people show up every week.

You're not going to necessarily change the vast majority of students that don't care, but if you can join everyone else together, and maybe draw some people who are on the fringe one way or another, you can have something pretty cool.

</comment><comment><USER7> start a hackerspace or at least copy some ideas from <http://hackerspaces.org/wiki/Design_Patterns>

Try to create a space where people can "make" things, maybe having tools, doing stuff with arduinos, android apps, etc.. I'm sure that there's some people interested about that kind of stuff. Fun small geeky projects.

I'm starting a hackerspace in bilbao and finding people has been the easiest part. Just make something cool and fun and create a nice environment. Think about the lighting, most people love our projector with xbmc, visualizations and c64 music over a huge wall. We are also starting a ruby users group.

</comment><comment><USER8> yes, as @davorak said cultural changes doesn't happen overnight. also, "starting small and expanding - that's a good thought."

we started with events on occasion of global events like celebrating open source day, wiki days or other global happening, getting support from the organizing bodies. they are now performed yearly after we graduated.

don't forget to include geeks from your junior circle. since they will be the one to continue your effort after you graduate. what we will do is convey the message about the geek/community culture, collaboration culture. feeling depressed why other students don't think that way is completely waste of time, get over it.

</comment><comment><USER9> Create a club in which you will propose interesting topics like: "Learning Python", "Lisp as a better programming language", "CUDA programming", you name it ... propose what you like more and it is not covered by your CS curriculum.</comment>


Split Tunnel SMTP Exploit Explained - <AUTHOR> https://blog.securolytics.io/2017/05/split-tunnel-smtp-exploit-explained/ <comment><USER2> I'm trying to understand if there is something more to it, because here is where I'm at, he found that some organizations has mistakenly or not configure their encryption gateways (MTAs) to accept mail from any host hence by connecting to them directly lets you bypass the anti-spam/virus filtering either directly to the mail server or by using the "trust" of the encryption gateway's IP?

He found some by spending time searching for them and gave the attach a name "the split Tunnel SMTP exploit".

<comment><USER3> I think that the gateways in question are configured such that, if no encrypted message is found, the email is passed through.

IMO, you can have a publicly-IPed encryption gateway, under one condition: If inbound email is received that does not properly decrypt & verify, that message is either bounced or dropped.

<comment><USER4> That makes a lot of sense. Yet another case of insane defaults :(

Servers are like castles of old. They need to be properly defended!

</comment></comment></comment><comment><USER3> Cached page: [http://webcache.googleusercontent.com/search?q=cache:https:/...](http://webcache.googleusercontent.com/search?q=cache:https://blog.securolytics.io/2017/05/split- tunnel-smtp-exploit-explained/)</comment>


Trump is turning Elon Musk into a crony capitalist - <AUTHOR> http://www.theverge.com/2017/2/6/14520608/elon-musk-trump-tesla-business-deal-economic-advisory-team <comment><USER2> What else is new? Elon Musk's businesses have benefited from billions in federal and state government subsidies and low-interest loan programs over the years.

The American taxpayer has been backing Musk since long before the current president was on the scene.

</comment><comment><USER3> wasn't musk already to some extent a crony capitalist</comment>


How Manned Vehicles Are Much Safer Than Elon Musk and Others Admit - <AUTHOR> https://medium.com/@AsherOfLA/how-manned-vehicles-are-much-safer-than-elon-musk-and-others-admit-and-why-that-matters-42d8cc5656c8 <comment><USER2> This is a great example of how most self-driving car rhetoric abuses math to make them look safer than they are.

One of the funny things is that the case is often claimed that driver assistance systems/partial autonomy is worse/less safe than fully autonomous vehicles, but it's highly likely those partial autonomous systems, like emergency braking, likely account for much of the reasons a new car is statistically so much safer than the average.

</comment><comment><USER3> Obviously someone shaping stats to their own biases. They want to compare Tesla and Mercedes Benz crash rates because they are in a similar price range?

Mind you he has no data on automated driving crashes.

Ridiculous and short-sighted, the goal (IMO) is for all cars to be automated. And he assumes that just because lidar is expensive now, that it will be in the future, which is just naive.</comment>


How Would Einstein Use E-mail? - <AUTHOR> http://www.sciencedaily.com/releases/2009/09/090927130038.htm

<comment><USER2> I have always wondered what Operating System Einstein would prefer. :/

If you base your argument on his famous quote:

"Everything should be made as simple as possible, but not simpler."

Then I suppose some *nix variant.. maybe netbsd?</comment>


Show HN: Doing Computers (Teaching Clojure with Live-coding) - <AUTHOR> https://www.youtube.com/playlist?list=PLBImx4SScApuR1B_dJbo4fAZLqlvJI7Dh

<comment><AUTHOR> Hey folks, Doing Computers is a screencast series started at the beginning of this year to visually teach programming ideas with live-coding.

The latest release is "Clojure for Rubyists"

I'm working on new releases each week, and am still experimenting with this screencast format. Tasteful feedback on content and presentation is appreciated.

Thanks for checking it out!</comment>


3D online platform for finding new apartment - <AUTHOR> https://www.onmap.lt <comment><AUTHOR> Hi,

our startup created platform for searching new apartments in Vilnius/Europe. It works like global 3D map with indoor maps for apartments.

Any feedback would be nice. Thank You.

<comment><USER2> When I land on the page, interaction is blocked by a popup in a language I do not understand. I could click on the hyperlinks, but I don't know what I am agreeing to.

I am not suggesting that using English for the web site is a good idea. I am suggesting that if English is not used, remove the blocks to playing round with the site so that people can give you feedback.

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)

Good luck.

<comment><AUTHOR> Thank You for guidelines. In popup there is simple site usage information, so there's no need to be worried.</comment></comment></comment>