Why Google is getting on my nerves - <AUTHOR>

<comment><AUTHOR> A monologue between me and G.

Yes I agree you do some cool stuff, and I applaude you for what you have achieved, but you really start to get on my nerves. The reason I am posting this here is: I had such high hopes for you to be a different kind of corporation. - to be able to make the transition from cool startup to cool company. - not to be evil ;-). That's not how I see you now.

First of all, how and why does a company that was started by two guys without a PhD so strongly favorise PhDs when it comes to the recruitement for all research and other "cool" positions. I am halfway through on my own PhD in CS, and honestly I just don't see your point. I mean a PhD is not a magical transformation into a creativity boasting super- hack-thing. Au contraire, I wonder how you are able to keep your engine running with so many PhDs around. There is some truth to the stereotype of the slightly mad and sometimes overly complicated CS academic person. I experience that daily. And then statements like: "We want to hire people who are smarter than those already working for us". Just hire people that have amazing skills, are cool, and enthusiastic. That's what you were built on. Please don't just look at GPA and titles.

Second and that applies not only to you but to all search engine companies, please stop giving us the impression that you know what's going on with your algorithm. Come on there are billions of documents on the Web - and you have an algorithm that ranks those according to millions of different queries. So please tell me - how do you figure out if your algorithm is doing it's job? How? It's all educated guessing. Nothing more.

Third, please G get over it with the "Do not be evil thing". AOL might have had an employee unfortunately release a dataset, but at least they allow you to delete all your personal data. While you do not, and boast about anonymizing our data after several years. And yes you censor in China, and I also remember the story about your employee who you fired for blogging that you are actually not as cool as he imagined you. Yahoo and MS do stuff like this too, but at least they don't pretend to be saints.

And fourth. Please your marketing hype about being different, being still like a startup - you overplay it. You going green, and the sudden popularity of that - a mere coincidence? And yes - sue microsoft for being monopolistic - but at the same time acquire doubleclick and argue it's ok?

Ah, dear G. it might just be that I worked too much and yes I only slept 6 hours in the last three days. Dear G. above all - just stop pretending to be something else.

<comment><USER2> Not to defend Google, but in Google's defense...

1\. The favoritism for PhD's was probably true in the past, but must certainly be less so now just because Google is growing so large. There aren't that many newly-minted PhD's each year. I know a significant number of people given Google offers right out of undergrad.

2\. There are definitely metrics for goodness of search results. Even if you doubt their validity, doing a study by having real people compare results across search engines (blind) and choosing the results they like best can tell you whether Google's preferred to Yahoo!.

3\. "Don't be evil" isn't the same thing as "don't ever, ever do anything that could be interpreted as evil by someone." I think the idea is more to try to be a good company in general. Hard decisions like censoring in China will always have to be made, though.

4\. They're pretty different in terms of their perks and company culture from your standard company. I think you're being a bit brash re: the going green stuff. That is actually part of the culture--GOOG's had measures to incent environmental stuff for a while. It's not all announced in press releases, however. As for the MSFT/DoubleClick issue, you may be drawing a bit of a false analogy.

<comment><AUTHOR> Ok I had some sleep. I agree with all of your points except the measurement issue. Yes you can compare Search Engines the way you described, but just because of the size of the underlying corpus, the web, there is no way to measure the goodness of a system over the whole corpus. And yeah my post was a bit brash, subjective opinion typed in by a guy who really lacked some sleep. :-)

</comment></comment></comment><comment><USER3> It seems you got a heartbreak.</comment>


An app that manages all your money, completely automatically - <AUTHOR> We're building an app that puts our personal finances on auto-pilot. It takes care of today's needs such as budgeting and paying bills, while making progress towards future goals - all completely automatically.
• We've done customer discovery • Created an early access email list (over 1,500 people have subscribed for early access) • Built an iOS app • Structured an exciting business model that can yield $6+/mo per user (completely free to the user)
• Have a go-to-market strategy with download cost of $1.42
Looking for team, advisors, mentors, and investors to help out in our vision.
http://www.FiMoney.app + firstname.lastname@example.com <comment><USER2> Basically, [https://www.simple.com/](https://www.simple.com/)

<comment><AUTHOR> Similar core solution (banking and budgeting together), but with two main differentiators.

1) We're not positioned as a bank. No one needs another bank. We are a layer that sits on top of your current bank account to make it smart and automated.

2) We're bringing an Instagram-style feed to the app where you can discover goals and add them in one tap (this is where we will focus our growth) - connecting with third parties such as Expedia, Pinterest, Amazon, etc.

Appreciate the reply. This is the time to apply pressure tests :)

<comment><USER2> The #1 point was not obvious to me as you mention that "Fi connects to your current checking account" below the fold and when you scroll farther you mention FDIC Insured which implied to me you where a bank.

A good expenses and banking app on top of many other banks makes sense to me.

<comment><AUTHOR> Thanks for this.</comment></comment></comment></comment>


Mac OS X SSD tweaks - <AUTHOR> http://blogs.nullvision.com/?p=275

<comment><USER2> Given that Intel SSDs are claimed to support writing 100GB of data every day for five years before losing the ability to write, and I rarely hit even 10GB written in a bus development day according to OS X's Activity Monitor, I'm uncertain if these tweaks will make all that much of a difference in the lifespan of the drive.

<comment><USER3> It's not so much the lifespan, it's performance degradation after lots of the drive has been written to. It's not a permanent problem, but I know lots of people who notice and end up formatting to regain their performance.

<comment><USER4> As far as I'm aware, TRIM takes care of the performance degradation. Not sure that OSX supports TRIM yet though.

<comment><USER5> OS X does not support TRIM.

TRIM is only enabled on the G2 Intel SSDs and newer competing models, the original G1 does not have the instruction.

<comment><USER6> And using a drive firmware that expects TRIM results in a _massive_ regression when the kernel isn't regularly telling it to trim blocks, as it disables its normal GC.

The Intel GC algorithm was great. I would have preferred it if they had simply ignored all the 'power user' fanboys that constantly harp on about how it would somehow save the day. Let them buy other drives, and leave more for the rest of us.

<comment><USER4> If G2s are shipping with TRIM firmware, couldn't you just downgrade to a pre- TRIM version if you're so concerned?

I don't understand how running Win7 makes you a 'power user fanboy' as opposed to running OSX or Linux. Next time leave the second half of your comment off, and maybe provide some evidence for your first.

</comment></comment></comment></comment></comment></comment><comment><USER7> Another way to save (the oh so precious) space on SSDs is to apply HFS+ compression to files.You can use ditto(1) or this GUI: <http://latenitesoft.com/squeeze/>

Note, however, that files are decompressed on writes, so don't try it on anything large and frequently written to.

</comment><comment><USER8> Sadly, no performance data is provided.

<comment><USER9> Here's a link to a more recent post in other blog [http://damieng.com/blog/2010/04/09/macbook-pro-upgrade-to- cr...](http://damieng.com/blog/2010/04/09/macbook-pro-upgrade-to- crucial-256gb-ssd) — Author switched original 320GB MacbookPro HDD with a Crucial 256GB SSD, it provides benchmarks and compared perfomance and an interesting points:

 _Don't go with Apple's factory-options for an SSD as they use slower Samsung drives and charge a premium for it which is unacceptable especially given how easy they are to replace._

Which I hope, if true, Apple will fix by adding high-end SSD options in the near future

<comment><USER6> Intel only sells their awesome SSDs retail, as demand far outstrips their inconsistent supply. When they get their production up and start offering them to OEMs, expect Apple to start using them.

I don't see Apple using any of the mediocre inconsistently-performing Taiwanese SSDs.

<comment><USER10> IIRC, Apple's very first SSD offerings were based on Intel SSDs. The move to Samsung came when Apple decided to go leadfree/halogenfree/eco-friendly and the Intel chips didnt have the correct qualifications.

<comment><USER6> I don't think so, I'm pretty sure the first Macbook Air was released before Intel's public efforts, the performance was pretty mediocre (not better across the board than a 2.5" laptop HD, only the terrible 1.8" iPod HD that would fit), and Apple has had multi-billion-dollar contracts with Samsung for flash memory since the iPod nano.

</comment></comment></comment></comment></comment><comment><USER11> IMO these go beyond tweaks and are more like SSD ricing.

<comment><USER12> _noatime_ is a great counterexample to your 'ricing' claim. I run this mount option on nearly every filesystem under my command. _relatime_ is also a viable option if you need things like _mutt_.

From <http://kerneltrap.org/node/14148> (which discusses _relatime_ , a less- drastic version of _noatime_ that keeps _mutt_ working)

> _Ingo Molnar stressed the significance of fixing this performance issue, "I > cannot over-emphasize how much of a deal it is in practice. Atime updates > are by far the biggest IO performance deficiency that Linux has today. > Getting rid of atime updates would give us more everyday Linux performance > than all the pagecache speedups of the past 10 years, _combined_."_

> _"It's also perhaps the most stupid Unix design idea of all times. Unix is > really nice and well done, but think about this a bit: 'For every file that > is read from the disk, lets do a ... write to the disk! And, for every file > that is already cached and which we read from the cache ... do a write to > the disk!'"_

</comment></comment><comment><USER13> For those like me who came away from this wondering what windows tweaks were available, I found a good thread here: [http://www.ocztechnologyforum.com/forum/showthread.php?47212...](http://www.ocztechnologyforum.com/forum/showthread.php?47212-Vista-32-64-SSD- Windows-Registry-tweaks)

It is a lot of the same types (ramdrives, no hibernation) of changes but for windows users.

</comment><comment><USER14> Is there really a serious issue in the way OS X handles SSDs?

I think I want to replace my MacBook's hard disk with an SSD, but I'm afraid of having to spend hours rigging out the best configuration. Do you have to play with settings if you order a Mac from Apple with an SSD pre-installed?

It seems like if I want to just plug an SSD in and get on with my life, I'll have to wait for an OS X update. Unless this is all just PC-ricer talk that's safe to ignore…

<comment><USER7> As long as you leave plenty of free space, SSDs work great out of the box. Don't ever fill them (something beyond 80% capacity), or you will crush performance. The tweaks in the article are attempts to optimize for the last 2%, but in no way necessary.

<comment><USER2> Since you're going to be reading and writing to the drive repeatedly, the drive is always going to hit the write performance crunch no matter what you do (unless you support TRIM - Windows 7 does with the correct drivers, OS X does not, not sure about Linux).

However, even degraded, write performance of a modern SSD will still make a hard drive look like yesterday's news - so honestly, I wouldn't even worry about it at all.

<comment><USER7> SSDs do degrade by around factor ten (!) in write performance when full, although not in read performance. (Tested this with an x25-m).

Sadly, recovering from a fragmented SSD on OSX right now involves opening the machine and booting linux. (I tried that, and it works: <http://forums.macrumors.com/showthread.php?t=841182>)

<comment><USER2> I'm not saying they don't degrade... just when they do, the performance is still so off-the-charts when compared to a hard drive that it's crazy to obsess over it.

And 10X sounds high to me - what sort of benchmark are you running? Most of the benchmarks I've seen put the hit at around 20 - 30% in random writes...

<comment><USER7> Back when I tried that I simply used xbench - the 4k block writes went below 10MB/s. I don't have the exact numbers, but I do remember that mac os took > 30 seconds of spinning wheel to boot, compared to 1-2 usually. BTW, filling the disk is as easy as performing "erase free space" with Disk Utility.

<comment><USER2> That doesn't seem typical - I'm using an 160GB X25-M G2 and have almost certainly filled the drive at this point (been running with less than 15% drive space free for a while, I leave hibernation on, installed and removed Boot Camp, etc.) and I'm still getting ~55 - 60MB/sec 4k sequential writes and ~60MB/sec 4KB random writes with the latest firmware in Xbench. I'd think booting would be mostly reads with a few writes here and there, too...

<comment><USER7> Although the 160GB has a slight write advantage over my 80GB G2, it appears those last 15% make quite a difference. That wouldn't be totally out of line from how regular HDs behave once they approach 100% utilized capacity. SSDs (the intel ones at least) have a buffer of cells that are inaccessible to the OS (that buffer is larger on e models), maybe that's double for the 160?</comment></comment></comment></comment></comment></comment></comment></comment>


Publishing thousands of police discipline records that New York kept secret - <AUTHOR> https://www.propublica.org/article/nypd-civilian-complaint-review-board-editors-note <comment><USER2> I have two friends that were former investigators for the CCRB, both as part of a criminal justice lawyer track.

The stories they told were horrifying, and even in the clearest cut cases of obvious police abuses absolutely nothing ever came from any case.

It was a glorified suggestion box, gutted by NYPD's union, masquerading as oversight.

<comment><USER3> No need to sugarcoat it.

Let's call a spade a space.

It's corruption, all the way up and down.

<comment><USER4> Corruption actually undersells it.

</comment></comment></comment><comment><USER5> I found this interesting:

>> The CCRB receives thousands of complaints every year, but it is only able to substantiate a tiny fraction of them. In 2018, the agency examined about 3,000 allegations of misuse of force. It substantiated 73.

>> Investigators are often not able to reach conclusions on cases, in significant part because they must rely on the NYPD to hand over evidence, such as footage from body-worn cameras. Often, the department doesn't do so, despite a legal duty to cooperate with CCRB investigations.

<comment><USER6> Why doesn't the ccrb issue foia requests to get the data, or sue the police department?

<comment><USER7> I'd imagine the (apparent) need to process, what, 12ish of these per weekday has something to do with it. How many can you manage in the "pipeline" at that rate? What's their staffing like? I bet they're staffed _as if_ the police would at least kinda cooperate, so if they don't then there aren't enough personnel to follow up on any but the most clear-cut and serious cases with a bunch of public evidence already available so they know it _might_ go somewhere if they put in the hours.

<comment><USER8> Surely if someone is violating a rule 12 times a day you shouldn't need to make separate filings for each instance, right? I would hope something like "Hey we are still waiting on 1178 out of 1195 requests from this quarter" would get a judge's attention.

</comment></comment></comment></comment><comment><USER9> Now this is progress. If we get anything useful from the Black Lives Matter movement, it will be better cop quality control. A big problem with law enforcement is that it's rare to fire cops even when they commit felonies. That may be changing.

More cops should be fired simply for being in the bottom 5-10% of cops. Camden, NJ essentially did that, except they dumped the bottom 25%. It helped.

Think HR quality control, not punishment. Not everyone who gets hired should stay on as a cop. There's less stigma associated with doing it this way. The Army has "retention control points". If you go into the Army, and don't make sergeant, you'll be out after some number of years. You still get a honorable discharge and the benefits of that number of years of service. Maybe cops need that kind of arrangement, too.

<comment><USER10> What would you propose measuring?

<comment><USER11> Number of unarmed civilians killed

<comment><USER12> Yes, bu also number of detainees raped and number of unarmed civilians mutilated.

<comment><USER13> Such a low bar for a policy on retention, and yet one routinely not met. :/

</comment></comment></comment></comment></comment><comment><USER14> One really weird thing about ProPublica publishing this, is they seem to say "this data should be public as it's for public benefit" yet their terms for accessing the data are _extremely_ restrictive:

[https://www.propublica.org/datastore/terms](https://www.propublica.org/datastore/terms)

      You can't republish the raw data in its entirety, or otherwise distribute
      the data (in whole or in part) on a stand-alone basis.

So, no spreading the data around. :(

<comment><USER15> How can this be enforceable? Aren't the records themselves public domain since they were produced by the government?

<comment><USER16> The data has obviously been filtered and wrangled (e.g. it includes only complaints to officers with at least one substantiated complaint). What's offered for download is a single CSV, it may have been derived from multiple tables, and several fields may have been cleaned/normalized to the point where the data is substantially different than the raw records.

<comment><USER17> I was under the impression that you couldn't copyright tables of data.

[https://en.wikipedia.org/wiki/Feist_Publications,_Inc.,_v._R...](https://en.wikipedia.org/wiki/Feist_Publications,_Inc.,_v._Rural_Telephone_Service_Co).

<comment><USER18> You cannot copyright facts, but you can copyright _arrangements_ of facts, as long as the arrangement has a modicum of creativity.

The litmus test for this is literally the telephone book. The White Pages cannot be copyrighted (the court case you linked). But, the Yellow Pages _can_ be copyrighted. The White Pages are nothing more than an alphabetic listing of phone numbers, but the Yellow Pages groups phone numbers by business type. This involves some editorial discretion, which involves a bare minimum of thinking, and therefore qualifies as a creative work.

</comment></comment></comment></comment></comment><comment><USER19> I sincerely hope that with all of the well documented instances of police abuse and lack of accountability in the last few months that people in the US are starting to wake up to the problem. Additional scrutiny from journalists like this is nice, but there ultimately needs to be powerful legislative changes.

</comment><comment><USER13> I wonder if some sort of community hearing where any police officer that had a complaint filed had to sit in front of the community and have the details recounted and could explain their side would be useful. If the community had the power (through some elected or random jury) to censure, or cause a week or two probation without pay, or request a more detailed investigation of possible criminal actions, if that would weed out police the community did not deem fit.

<comment><USER20> In a functional democracy, that process is called "government."

Instead, the police make us pay taxes to fund their own paychecks and openly mocks the idea that they're answerable to us. Look at the way the NYPD union threatened the mayor's own daughter.

<comment><USER21> Where do police control taxes? I never heard of this. Taxes and budgets are responsibility of governments, they then distribute the money around.

<comment><USER20> They certainly make sure taxes get paid. I'm not claiming that they set tax rates.

(But they do have a lot of influence on how big of a budget the city government gives them, using that tax revenue.)

</comment></comment></comment></comment><comment><USER22> It's hard to say if this data is telling us anything notable. It seems like 11% of the NYPD has had at least one claim against them substantiated. But isn't that to be expected? Each officer probably has on the order of a thousand interactions with citizens each year on the low end. Over a ten year period, wouldn't even a high performing nearly perfect officer violate some rule within their complex policing guidelines just because they are imperfect humans, as we all are? Many of those violations are also likely minor and not material as far as constructing an anti police narrative.

The article notes that only 303 of 36000 officers (0.8%) have 5 or more substantiated violations against them. The particulars of those should be examined more closely perhaps, but overall I'm not taking this as a sign of things being irrevocably broken. It even suggests that minor tweaks (reforms) would work, as they have elsewhere like in Seattle.

<comment><USER23> If that were true, it would be in their interests to publish and promote data that contradicted the image of a force of violent goons.

<comment><USER24> What data could contradict such an image?

Generally, data doesn't convince anyone who doesn't want to be convinced, and can usually be used to support a wide variety of contradictory interpretations.

Avoiding this is why science has to be so rigorous.

<comment><USER25> I would be more convinced by a solid trail of data of this committee getting full cooperation from the NYPD.

I'm not sure we'll get to absolute confidence. But at least knowing we have a complete data set and sound, valid process.

<comment><USER26> The absence of such cooperation is sufficient evidence of systematic disregard for the law, and q systematic disregard for the law seems like a good enough reason to wholesale replace a governmental system.

</comment></comment></comment></comment></comment><comment><USER27> 12k complaints over 35 years and 7-8M population, not sure if low or high

<comment><USER28> I think it's easy for everyone here to estimate the actual amount of malfeasance by taken the number of times they've seen police behave inappropriately (dozens) and divide it by the number of complaints they've made (zero).

I guess you would also need to go make a complaint and see what the odds of it being taken are.

<comment><USER29> > I think it's easy for everyone here to estimate the actual amount of > malfeasance by taken the number of times they've seen police behave > inappropriately (dozens) and divide it by the number of complaints they've > made (zero).

Except that this approach is NOT useful because police malfeasance is NOT distributed evenly. For example, over my lifetime I have only seen one case I can recall of police misbehavior, and I'm not sure that one even rises to the level of "malfeasance".

Perhaps if I were black and lived in New York City (where "stop and frisk" was an official policy for years) I would have a very different impression.

It is for exactly this reason that it is important to use actual statistics instead of personal anecdotes.

<comment><USER3> Statistics aside for a minute.

Every single interaction I've had with the police personally has been worthy of complaint.

He'll, I'll even complain when I see them take their side arms in to the bakery for lunch, here in Launceston Tasmania.

Who is so insecure they need a gun with their croissant.

Additionally, when the police prosecutor charged me with drug trafficking on evidence they knew was collected illegally, and 27 months later they had to drop the charges, there's no simple way to have the officers involved and the police prosecutor charged, or even reprimanded in any way, for knowingly contravening the law.

Those 27 months weren't real comfortable for me, but ok I'll wear that, I did have the drugs in my possession, my guilt is indisputable, but my privacy, in that case, is more important than the intentional malfeasance of these institutionalised bullies, and the courts here, at the time, agreed.

To summaries, anyone who can act with impunity deserves constant derision until we see real change.

The police need to be trained that escalating violence isn't the only path to working in the community, and that even when they honestly believe they caught someone in the act, they need to be treating that human being with kindness and respect.

What I'm saying is, if the police can't behave, and they presently aren't behaving, then another agency needs to be created that sends agentes out with the police to act as a public advocate, to protect the rights of everyone, and guide the police in their responsibilities.

<comment><USER30> > Who is so insecure they need a gun with their croissant.

Maybe these guys:

... four police officers of Lakewood, Washington were fatally shot at the Forza Coffee shop ...

[https://en.m.wikipedia.org/wiki/2009_Lakewood_shooting](https://en.m.wikipedia.org/wiki/2009_Lakewood_shooting)

<comment><USER31> This is an example of the whole classic theory with "I need my gun because criminals will get guns regardless" 2nd Amendment justifications: no gun will save you from someone who wants to shoot you before you have a chance to react.

Escalation is not a logical policy.

<comment><USER3> That's my question. Looks like the perp got shot once, but the cops still died, so how is that example a counter argument?</comment></comment></comment></comment></comment></comment></comment>


An Update To My Investment Policy - <AUTHOR> http://techcrunch.com/2011/04/27/an-update-to-my-investment-policy/ <comment><USER2> Note to mike:

 _"The easiest way for me to handle this is to be up front about all of these investments and disclose it in posts, which I've done and will continue to do. "_

Actually it would be better to pick one, investor or journalist, and quit the other one.

<comment><USER3> He defined the problem as: what is the "easiest way for me to handle this"? Making investments and being able to blog about them seems like the easiest way to deal with it to me!

That said: as long as he discloses when he's made an investment, I'd rather he continue to blog than to stop doing so.

<comment><USER2> Its the whole serving two masters kind of thing. It rarely works out well. I completely understand Mike's desire to keep on in a role (blogger/pundit) which gives him a lot of satisfaction, and his alternate desire to actually _be_ a mover and shaker rather than a reporter on same, however he should take the clue from some of the small things he's run into (admitting or not admitting he is an investor to a fellow blogger etc) are only going to get worse.

The low point of that road has him losing all credibility as a blogger (since people will accuse him of favoritism based on his investments) and as an investor (as founders discover that his opinions and or presence cause other groups to shun them). $29K here, $100K there, isn't a huge deal but when one of those pops and suddenly the paper value of his holding is $10M and what he says can materially change that, then he _has_ to shut up or defend himself in court.

The subtext of my suggestion was that he may not recognize just how deep the hole goes, nor how easily he can slip into it. Doesn't matter to me of course. I've seen death by conflict of interest and it isn't something I'd wish on anyone. And I recognize it's really really hard sometimes to step away from something you are pretty sure you can pull off. And I'm a huge fan of people who are willing to risk everything for something they truly believe.

But you have to take a cold hard look at the downside and be OK with that outcome. Time will tell.

</comment></comment></comment><comment><USER4> For many outlets (blogs, news websites, whatever) this policy simply wouldn't be tenable. As Michael points out at the top of his piece - he is conflicted.

However, this is TechCrunch and TechCrunch is, well, TechCrunch. It's hardly objective at the best of times.

What I would like to see, however, is confirmation of the investment/advisory/shareholder policies for other TechCrunchers.</comment>


Ranking poems in the English canon - <AUTHOR> http://michaeldalvean.com/index.php/2016/01/03/a-poison-tree-is-the-greatest-poem-in-the-english-canon/ <comment><USER2> Curious, but I'm not sure what it tells us about poetry.</comment>


Gundo: Graph your Vim undo tree in style - <AUTHOR> http://sjl.bitbucket.org/gundo.vim/?awesome

<comment><USER2> love those vim history interfaces, but can't see myself using any until they quit pathogen.

i'd love much less features and more portability. i.e. just paste a few functions on my vimrc.</comment>


Ask HN: What are the biggest pitfalls in AI adoption? - <AUTHOR> Hi everyone! I would like to know your thoughts about the common pitfalls to make startups/business AI-powered. <comment><USER2> #1 is that people don't want to do the effort to make training sets specific to their purpose.

The table stakes for a text analysis project are to annotate from 3,000 to 30,000 examples. A well caffeinated, motivated and trained annotator can annotate maybe 2,000 examples a day so this is very feasible but people would rather spend the person*days screwing around with Tensorflow, NVIDIA drivers, BERT, and whatever is the new shiny rather than do the work which is on the critical path.

<comment><AUTHOR> Great point!</comment></comment>


Ask HN: Do You Hate the New Github URLs too? - <AUTHOR>

A couple weeks ago, github started giving the urls w/ the commit id instead of "master" in all of the links on the site, basically forcing you into using them.
I hate them. They're long. They're ugly. They make it harder to see which file you're on from the url. THEY GO STALE!
Shouldn't it at least be an option?
I thought about a greasemonkey script, but I can't just always replace any commitid w/ master because sometimes I'm looking at a specific commit or something, and I need the commit id to be in the URL.
Github users, how do you feel about this? Does someone want to collaborate with me on a greasemonkey script (hosted on Github, of course) that replaces the commitid with master but knows how to differentiate and leave the commitid when it should be there?
Note: I know this reads a bit like a support ticket, but I wanted to see if other people dislike it too or if I'm just insane. <comment><USER2> It would be nice if they implemented the naming of commits as well, into their URL scheme. Of course, master would always work, but for instance - if you named a commit 'user-profile-complete' then you could use that within your URL as well.

I'm still learning Git, so sorry if "naming" isn't the appropriate term for this feature. I've only used it when following tutorials and screencasts introducing Git.

<comment><AUTHOR> It's commit message. (Hence

        commit -m

) But I knew what you meant.

<comment><USER3> Actually, I believe it's more like a "tag", git's version of which is similar to svn's (<http://svnbook.red-bean.com/en/1.5/svn.branchmerge.tags.html>)

<comment><USER2> Tagging is what I was looking for! The ability to refer to a branch as 'user- profile' rather than 8973jef8wuefijiw3rf89sd7fhdsf8d9f</comment></comment></comment></comment>


Johnny Chung Lee, original investor in Kinect hacking - <AUTHOR> http://procrastineering.blogspot.com/2011/02/windows-drivers-for-kinect.html <comment><AUTHOR> I think its pretty awesome that one of the Microsoft Kinect developers actually sponsored hacking it, even more so now that Microsoft is promoting it ([http://www.pocket-lint.com/news/38701/microsoft-kinect- sdk-o...](http://www.pocket-lint.com/news/38701/microsoft-kinect-sdk- officially-confirmed))</comment>


Letter to MIT community regarding support of students behind 'Tidbit' - <AUTHOR> http://web.mit.edu/newsoffice/2014/letter-to-mit-community-regarding-support-of-students-behind-tidbit.html <comment><USER2> Basically an opposite response to the one they provided in the Aaron Swartz case.

Sure, there are big differences between the two cases (among them, the fact that Swartz was not himself a student at MIT, and the fact that the Tidbit team faces not prosecution but a subpoena--albeit a subpoena that presages prosecution). Nevertheless, the narratives are strikingly similar: boundary- pushing, widely-respected hackers confront aggressive and ambitious prosecutors, where the right kind of support from the school can make all the difference in the world.

Is MIT being hypocritical here, or did they learn something from the Aaron Swartz tragedy? Or maybe the differences between the the cases are actually what is significant.

<comment><USER3> Oh boy, where to start?

* Swartz did not create something novel. Tidbits did.

* Swartz was not an MIT student. Tidbits authors were.

* Swartz violated policies/rules of a couple non-profits (MIT and JSTOR). Tidbits did not.

* Swartz misused MIT computer resources. Tidbits did not.

* Jurisdiction in Swartz' case made sense. It doesn't make sense in the Tidbits situation.

* Swartz' case was a federal incident. Tidbits incident is (currently) a state of NJ matter.

* Swartz was charged by the feds. Tidbits has not (yet) been charged by anyone.

Whatever opinion you hold about Swartz' case, I think you should understand that it's not very similar to this one, outside of the fact that MIT is involved in both.

<comment><USER2> I don't think you even read half my comment. If you had, you would have seen that I already pointed out that there are big differences between the two cases, and that I noted two of the more significant differences, both of which you repeat in your list. Furthermore, the last sentence of my comment already recognizes that the difference in response may be attributable to differences between the cases, rather than other factors. So what are you criticizing?

Nevertheless, I do think that the idea that these cases are completely unrelated is off the mark. The most significant PR challenge that Reif has faced in his tenure has been the Aaron Swartz case, and his response to that case has been roundly criticized in the national press (albeit most vociferously by people close to Aaron).

Regardless of what _you_ think of MIT's response in Aaron Swartz's case, you must recognize Reif would be remiss not to recognize the parallels between the two cases: parallels between the narratives, parallels in how MIT community members (and the hacker community generally) have reacted to the narratives, parallels in how the press will likely report on both cases. From a PR perspective, this story can easily become a continuation of the Aaron Swartz affair, if MIT is not careful.

This letter may not be a cynically calculated PR response meant to deflect the kind of criticism MIT suffered after the Aaron Swartz tragedy, but it can nonetheless be assessed in relation to MIT's response to Aaron's arrest. At minimum, this letter is a recognition that a university _can_ insert itself between prosecutors and students, and stand up for its community principals when they are under assault.

Supporters of Aaron Swartz have been looking for precisely that from MIT for quite some time.

<comment><USER4> Is MIT being hypocritical? Clearly not since what they are saying and and what they are doing in this case do not appear to be at odds with each other. It would by hypocritical if they, for example, both supported the students verbally, but at the same time encouraged the prosecution in some way.

I think you meant to suggest they were being inconsistent here. Or perhaps suggesting they were applying a double standard. If the former then (given the poor way they handled the Swartz affair) that is to be welcomed. If the latter then I suspect there are enough differences to suggest that a different approach is indeed warranted.

You go on to suggest that the different reaction to this case on the part of MIT is perhaps a cynical PR exercise while at the same time berating them for the poor handling of the Swartz event. Is it not perhaps an alternative that they have taken the public reaction to heart and have changed in their outlook? Indeed, now that they take a more positive reaction you criticize them for changing.

While their treatment of Swartz was appalling, that's no reason to insist they behave like that in all cases - and less reason for complaining when they improve.

<comment><USER2> Perhaps you are right that "hypocritical" was not the best choice of words.

If it was not clear, I did intend to reject the idea that this was nothing more than a cynical PR move (although it is clearly good PR). I agree with you that it appears that they have taken the public reaction to heart and have changed in their outlook, as you put it.

Nonetheless, I think all of these questions bear exploring (including the question as to whether this letter is in some manner cynical PR). An institution like MIT should be questioned skeptically, even (or perhaps especially) when it is attempting to reform itself and its practices.

</comment></comment></comment></comment></comment><comment><USER5> If like me you haven't heard of this story here is some more background: [http://tech.mit.edu/V134/N4/abelson.html](http://tech.mit.edu/V134/N4/abelson.html) . Still looking for some project information I will update the post when I find it.

EDIT: eff post: [https://www.eff.org/deeplinks/2014/02/eff-challenges-new- jer...](https://www.eff.org/deeplinks/2014/02/eff-challenges-new-jersey- subpoena-issued-mit-student-bitcoin-developers)

EDIT: hackathon page: [http://nodeknockout.com/teams/shoop- team](http://nodeknockout.com/teams/shoop-team)

EDIT: Looks like they have taken down a lot of the posts linked from nodeknockout.com

</comment><comment><USER6> Such a weird case. Tidbit doesnt even do anything interesting, it is a demo of a clone of an existing piece of software (used to steal CPU cycles from victims, which is why NJ is interested).

NJ is I guess confusing cause and effect, and suspects these MIT 'geniuses' of supplying thr 'prohibitively complex' code to the known criminals and then trying to use that same code to win honors at a hackathon?

<comment><USER7> I'm trying to understand what actual laws the students could possibly have broken.

<comment><USER8> This is the US we are talking about here, there has to be SOME law which they have broken. Considering everyone breaks the law every day without realising it.

<comment><USER9> Breaking a New Jersey law when your only connection with it was attending the funeral of a grandmother some time ago is a bit more difficult....

</comment></comment></comment></comment><comment><USER10> Was the hack-a-thon in NJ? I'm still trying to figure out how they're involved in any of this...

<comment> shawn-butler They have no jurisdiction whatsoever. Students with help of EFF have rightly directed the State of New Jersey to the nearest cliff from which to jump.

[https://www.eff.org/files/2014/02/03/rubin_v._nj_complaint.p...](https://www.eff.org/files/2014/02/03/rubin_v._nj_complaint.pdf)

I have no idea what they are smoking of late in New Jersey but the entire state government seems dysfunctional / delusional.

<comment><USER10> Oh man, I love good GFY legal documents.

<comment><USER11> Sometimes, they're the only appropriate response. This is one of those times.

</comment></comment></comment></comment><comment><USER12> I was so embarrassed at the time of Aaron Swartz that the MIT that had been so good to me, was doing so much evil. They allowed a culture of bureaucracy and rules to dominate the values of innovation and principles.

I am pleased that under Reif real changes have been made that seem to be seeing the light with cases like Tidbit. No doubt this was part PR exercise. But behind every PR campaign is also a public affirmation to stake a new path.

Let's hope MIT can continue to return to its roots and set a great example to the tech community.

</comment><comment><USER13> It just points out that our Federal computer law is somewhat imprecise and runs counter to the mission of appropriate computer usage.

Okay, I am somewhat older..if I was under the same computer laws today my actions in Purdue computer labs during the early 1990s would place me in the prosecutor cross hairs.

</comment><comment><USER14> In other news, the widely-considered-independent country of Joldova, which lies partly in Asia, partly in Europe, recently announced that the Tidbits code, which may or may not be deployed yet, and may possibly infringe on Joldovian patents, may or may not potentially affect some or no websites that may or may not be located east or west of the main highway. They are therefore preparing an International Court of Justice (or INTERPOL) requisition, which may or not be issued on paper or made available openly, via P2P file-sharing sites, and possibly copyrighted.

</comment><comment><USER15> MIT failed to support Aaron Swartz, with very dire consequences.

Do the right thing, MIT.

<comment><USER16> Do the right thing, MIT, or we'll kill ourselves!

Seriously, can we not do this every time something legally interesting happens at MIT? The two situations are, as demonstrated very aptly above, unrelated.

<comment><USER17> "Do the right thing, MIT, or we'll kill ourselves?"

I'm surprised you have the audacity to simplify what happened to Aaron Schwartz to a contrived ultimatum. And it is wholly related, given that Aaron was a member of the MIT community.

<comment><USER18> Except he wasn't a member of the MIT community. He was a Fellow at Harvard University Edmond J. Safra Center for Ethics, but not a student or faculty member at MIT.

<comment><USER17> However, as the report notes, Swartz had connections to the Institute: "He was a regular visitor to the MIT campus and interacted with MIT people and groups both on campus and off. … He was a member of MIT's Free Culture Group, a regular visitor at MIT's Student Information Processing Board (SIPB), and an active participant in the annual MIT International Puzzle Mystery Hunt Competition. Aaron Swartz's father, Robert Swartz, was (and is) a consultant at the MIT Media Lab. Aaron frequently visited his father there, and his two younger brothers had been Media Lab interns."

<comment><USER16> Aaron didn't fall under the MIT support umbrella. These folks do.

Stop making unhelpful comparisons, please.

</comment></comment></comment></comment></comment></comment><comment><USER19> we're all best buddies now, please unlearn the Aaron Swartz matter

regards, the staph</comment>


GNU Guile v2.9.2 – an embeddable REPL for scripting your GUI - <AUTHOR> https://lists.gnu.org/archive/html/guile-devel/2019-05/msg00030.html <comment><USER2> Anybody know what the high level overview of embedding guile into an application looks like?

<comment><USER3> My team tried doing it once and we decided against it after running into problems with the number of Guile dependencies. We moved to Lua (0 dependencies) soon after. Guile may have more features but Lua (and Luajit) is really the undisputed king when it comes to embedding and flexibility in terms of merging it into your codebase and molding it to your exact requirements.

<comment><USER4> What was the cumulative size of those dependencies when statically linked? I've never understood why some shy away from "number of dependencies" per-se for C projects, worst case you ship some of them with you, but perhaps the real problem was "prohibitively large object" once it was all compiled together.

<comment><USER5> Each dependency increases the cognitive load for maintenance (something goes wrong/is slow/doesn't compile in that platform or requires steps incompatible with the rest of the project/other issue, is it me or the 20839423 libraries i depend on? How does that library that has the issue work? How do i fix it? These are things C programmers tend to care about) as well as reliance on 3rd parties to stay in line with your needs (e.g. you may want to stick with C89 but a library you depend on - or a library a library you depend on depends on - decided to raise minimum requirements to C99 "because everyone has that now" or one of your dependencies stops development for whatever reason - in either case you are left with the choice of dropping the dependency - and anything that depends on it - or taking over maintenance for something you decided to use in the first place to avoid that sort of work).

<comment><USER4> Very little of what you mention would apply to the GP since they're not in the position of maintaining guile, they're a 3rd party user who'd be packaging it and its dependencies up for use in their own application.

Guile's list of mandatory dependencies is short, and consists of libraries like libgmp (also used by GCC), libiconv etc., I doubt a packager would have much issue with the stability of those. These are libraries that work on dozens of platforms across a wide range of compiler versions: [http://git.savannah.gnu.org/cgit/guile.git/tree/README#n20](http://git.savannah.gnu.org/cgit/guile.git/tree/README#n20)

More generally the trade-off with libraries cuts both ways, and I've seen other programmers underestimate the maintenance burden of rolling their own v.s. the investment in just including a well-tested third-party library. E.g. it's very common for C programs to have their own buggy and often insecure version of something like a string library, DNS resolver etc.

That's not free for you as a user of those programs either. E.g. the other day I was dealing dealing with an issue in how bitlbee resolves SRV records with its own home-grown code instead of using something like GResolver, which wouldn't have had that issue.

<comment><USER5> My comment was about the <<I've never understood why some shy away from "number of dependencies" per-se for C projects>> part, not Guile itself although it also applies to what you wrote, specifically this:

> they're not in the position of maintaining guile, they're a 3rd party user > who'd be packaging it and its dependencies up for use in their own > application.

...as it doesn't matter if they are using these other dependencies directly or indirectly, they are still dependencies of their application - if anything these are dependencies they didn't have any say over (they had say over depending on their direct dependency - like Guile - but not on their dependency's own dependencies which were decided by the programmers of that dependency) so they have less knowledge on how those are used and why they are used (knowledge they may need to gain in the case where something goes bad as i wrote above).

Basically the more dependencies you have (not necessarily the number of libraries you depend on but also how much of each library you are using), the more people you invite to have a say in how your project will work and as such the more likely to encounter friction and misaligned goals.

This is why a lot of C programmers prefer to use small single-purpose libraries (to the point where "single header libraries" have taken off significantly) and avoid huge "multitool" frameworks.

> its own home-grown code instead of using something like GResolver, which > wouldn't have had that issue.

Perhaps, but it may have had other issues you (or even the programmer who wrote that code) didn't know about.

<comment><USER4> At this point we'd be better off with the GP chiming in, what I was responding to was "after running into problems with the number of Guile dependencies".

So not the stability of the dependencies, or any specific issue with them, just the number of them.

In practice I've encountered a lot of cases where C programmers in particular tend to get what's best described as dependency vertigo resulting in badly re- inventing the wheel.

I'd be much more confident in using Guile with its 10 dependencies (or thereabouts) than some random similarly-sized C program.

Something the size of Lua or Guile isn't someone's weekend project. No matter what other people have a say in the direction of your program. I'd argue that you're generally better off structuring it in such a way as to make use of already-invented wheels, and users are better off not shying away from dependencies.

We're not talking about something like the absurd 100-line dependencies node.js has made famous, but whether a compiler like Lua needs to implement its own bignum handling (or as it at all), v.s. Guile doing the same via libgmp, and thus sharing bignum behavior with something as well-tested as GCC.

If you're a Guile core developer would you rather e.g. deal with guile's home- grown text encoding library or iconv? I know which one I'd pick both as a developer & user.</comment></comment></comment></comment></comment></comment></comment>


The death problem? - <AUTHOR> Yuval Noah Harari [1] claims that death is now treated as a "technical problem," and humanity may be able to solve it.
But Peter Hoffmann [2] argues that ageing isn't dictated just by biology, and curing all diseases won't be enough to secure our immortality. The problem of ageing is also constrained by the laws of physics, so death might be inevitable.<p>Are we going to overcome the death?<p>[1] http://www.cbc.ca/radio/ideas/when-man-becomes-god-1.3799865 [2] http://m.nautil.us/issue/36/aging/physics-makes-aging-inevitable-not-biology <comment><USER2> > _Are we going to overcome the death?_

It's a non issue, because there are 3 options:

(a) We will in our lifetime, so we will hear about it and all will be fine (b) We will, but not in our lifetime, so we'll be dead already. (c) We won't, and we will be dead at some point.

So none of those cases poses an issue for us, where we can do anything about it.

Except if we studied biology and can help get to a sooner. Either that than, we just wait and see (or not see).</comment>


The Fake News Problem - <AUTHOR> https://www.iafrikan.com/2020/04/08/fake-news-problem-communities-disinformation-misinformation-media/ <comment><USER2> Excerpt:

"Dealing with fake news will need to involve more than simply adding a piece of code in today's tech, and could require a lot of societal transformation.

The fear of giving everyone a voice

It is not the first-time disinformation is threatening civilizations.

 _Christianity faced the same crisis when the Bible was translated from Latin to other languages which any person could read and understand._

The church had resisted the move in the fear that giving everybody a Bible would result in skewed interpretations and rise of cults that would crop up everywhere.

 _That is exactly what happened._

[Side thoughts: Is the Tower Of Babel - A Metaphor For This?]

Today, cults after cult seem to spread all over the world with the educated being equally prone to the disinformation as the non-educated. It is like half of Christianity today is fake news."

Disclaimer: I'm not saying I agree with this assessment, nor disagree, but you have to admit:

Fake News Vs. The Crisis In Early Christianity:

 _That is one heck of a philosophical comparison_ , is it not?

?

<comment><AUTHOR> True, it all depends on your perspective</comment></comment>


How to get Developers and Designers to go to your Hackathon - <AUTHOR> http://jonathanjulian.com/2012/12/how-to-get-developers-and-designers-to-go-to-your-hackathon/

<comment><USER2> Thank you for writing all this out. I recently helped sponsor and put together a small local hackathon; it would've helped to have had this article handy when the organizing team first started working on it.

<comment><AUTHOR> I'm glad you found it helpful!

</comment></comment><comment><USER3> Thanks for the post, it helps us immensely planning hackathons in Hyderabad.</comment>


Writing your own LINQ provider - <AUTHOR> http://aashishkoirala.wordpress.com/2014/03/10/linq-provider-1/

<comment><AUTHOR> OP here. I wanted to comment on the discussion around ".NET vs. other things" coversation that has started brewing here. I'm not one to hate on any environment or ecosystem. I do make fun of PHP or Java at times, but it's all good-natured. Not to be too PC, but yes, every thing has its pros and cons.

Personally, however, I think C# as a language strikes the right balance in terms of power, ease-of-use, learnability and code readability. Even if you have a problem with Microsoft, I think it is wrong to let your "MS-hate" translate into "C#-hate". It is a beautiful language and the open-source community around it is growing rapidly. The progress made by platform- independent endeavors (case in point Xamarin) is admirable.

In the unlikely scenario that all of programming were to converge into one language, I would want it to be an open-source, platform-independent version of C# (with maybe just a tad more constructs borrowed from the functional programming world).

P.S. I also think it is a mistake to lump C# and Java in the same bucket. Ten or more years ago, maybe. Today, they are VERY different.

<comment><USER2> I do C# dev in my day to day and I really enjoy it, though my personal preference for a "one language" scenario would probably be F#, if it were to come from the MS camp. (I don't mean this as a comparison of languages; just casually throwing out a personal preference)

Was wondering what, in your opinion, are the largest differences between Java and C#? It's been a long time since I've done any Java, and while I can definitely name a bunch, I thought it'd be interesting to get your take on the most impactful or meaningful differences.

<comment><AUTHOR> Yes, I've heard a lot of praise around F# and its power. I've been meaning to get into it. Coming into it cold, though, I found the syntax a bit cryptic, but that's probably just me. I do plan to power through, though.

In terms of differences with Java (and limiting this to just the language and the syntax), LINQ is a good example of it :) I guess you could classify a lot of the other differences as synctatic sugar, but those little things add up and make a real difference in terms of code brevity, readability and developer productivity. To name a few (and I know that Java, especially with v8 has started adding support for some of these): Properties (and auto-properties), Delegates, Events, Lambdas/Anonymous Functions/First Class Functions, Extension methods, "using" for IDisposable (although Java 7 has something similar in AutoClosable), the lack of forced checked exceptions, the newly added async/await keywords, object and collection initializers and anonymous types, etc.

<comment><USER2> Awesome, thanks.

F# is definitely a nice language. I haven't done any large scale projects in it, but what I have done has been very nice. Check out type providers if you haven't already. They're really interesting and handy. I switched over to F# as my side/fun language from Clojure when my day-job became .NET. It's not that I'd say they're equivalent languages, but the way of thinking about most things was similar enough that it felt right. On top of that, it was nice having a fairly strong type system to back things up. It meshed more with how I think about things.

Hah, I probably should have assumed LINQ would top the list of a linq post. I remember before I knew what LINQ was about. Once I started using it, it quickly became one of my favorite parts of the language/ecosystem.

I really do feel that the things you've mentioned do make it a much cleaner and more consistent language than Java. I've got a friend who switched from full time Java to C# recently. I'll have to see what he thinks as well.

</comment></comment></comment></comment><comment><USER3> Nice post, if you plan a writing a full featured provider I recommend using the ReLINQ framework: [http://relinq.codeplex.com/](http://relinq.codeplex.com/)

I regret I didn't knew about it when I wrote my first LINQ provider.

<comment><USER4> Although it's quite a bit older than re-linq, I'll throw a recommendation in for IQToolkit: [http://blogs.msdn.com/b/mattwar/archive/2008/11/18/linq- link...](http://blogs.msdn.com/b/mattwar/archive/2008/11/18/linq-links.aspx)

I used it to build a LINQ provider for a legacy mainframe database system, abstracting away the incomprehensible table and column naming, weird date systems, EBCDIC, and other nastiness involved in querying that system using straight-up SQL.

One thing I found is that implementing a custom LINQ provider gives you a better understanding of how Entity Framework runs your queries. You get to see how queries get split up into the parts executed in the CLR versus the parts that get translated, and how expressions get rearranged and rewritten.

<comment><AUTHOR> I second the comment about getting a better understanding of how EF, etc. work after writing your own provider. Definitely.

</comment></comment></comment><comment><USER5> Awesome stuff. As a side note, anyone else see a rise in .NET/Microsoft related posts recently?

<comment><USER6> I'm actually GLAD to see this rise in .NET stuff. I feel like us enterprise developers are left out on [Y] sometimes. Not everyone rolls python / ruby / node / etc.

<comment><USER7> It's a shame that .NET is considered 'just' enterprise.

C# is a great language, and there are several libraries with fantastic design aesthetic; one that is _much_ better than most of Ruby/JS.

<comment> UK-AL Most people will admit they like c# and F#. However they won't like the microsoft tax, and the fact its tied to windows.

<comment><USER8> How are C# and F# tied to Windows? They run quite nicely on Mono, although I'll admit that even with the significant, recent improvements Mono has made it's still not as fast (generally) as the .NET CLR on Windows.

Also -- F# is completely open-source, so there's no "Microsoft tax" to be paid. In fact, a large portion of the F# community runs exclusively on non- Windows platforms (e.g., OS X, Linux, FreeBSD, Android).

<comment><USER9> They may "run" on mono, but their performance there is terrible.

<comment><USER8> I disagree. The performance on Mono is admittedly not as good as on Windows, but it's improving steadily and certainly fast enough for many use cases.

<comment><USER10> Why should anyone bother with .net if Microsoft can't make a wholehearted commitment to have it run on all platforms?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> LINQ one of the most beautiful things in C# after extension methods!

<comment><USER12> I would say that LINQ is one of the worst things to ever happen to .NET. On one team I had to make a dictum that barred LINQ from even being used, except in exceptional circumstances.

I do not mean to raise the ire of defensive .NET programmers by saying this: as with most things, used right it is a beautiful thing, and there is nothing _fundamentally_ wrong with LINQ. But what it was used for in practice was almost always grotesquely inefficient.

If someone had to make a loop to iterate objects to find a member on every function call, pretty soon they'll realize they should using a System.Collections.Generic.Dictionary for instance, or some other appropriate data structure (e.g. Need sorted data? Then use a sorted tree, for instance). When it's a simple LINQ query, though, it's one seemingly harmless little line, so it tends to get a pass.

Pretty soon profiles were just hundreds (if not thousands) of different cases where LINQ was used as a cure-all, destroying performance under any load at all.

LINQ is not magical. It is doing the same dirty work that you would be doing yourself if you needed to filter / sort / recast, but provides syntactical sugar to do so. The compiler and runtime will happily generate horrifically inefficient code if you request it, with no warning or complaints.

The tldr; is that it is a fantastic set abstraction that is more often than not grossly abused.

<comment><USER13> I would change this a little bit. LINQ creates much more readable code, which is always a good thing.

I think the real problem is Cargo Cult programming. People are using linq (especially in combination with EF) and not understanding what's actually going on. So they end up getting things like n+1 selects on collections with thousands of items. They don't understand delayed evaluation. Or how sorting effects a Where() call.

The problem is programmers who think they can take some code from stack overflow and use it without outstanding it. That problem is not unique to LINQ or .NET.

<comment><USER12> _That problem is not unique to LINQ or .NET._

It absolutely isn't unique to it -- powerful features allow programmers to shoot themselves in the feet, and this is true since we began this profession.

When dealing with larger applications and datasets it has the potential of easily imposing _enormous_ costs, of the sort that absolutely eclipse most other anti-patterns. Appending on an immutable string through recursive function calls suddenly looks like child's play.

The truth is that in most apps, these inefficiencies simply don't matter, and to all of the "just learn how to use it right!" replies, I would say that odds favor that those people aren't using it right at all. But in the end it just doesn't matter that much because small amounts of data, low demands, etc, just makes it an irrelevant cost. Most apps are running with an excess of CPU resources relative to the demands on the app, so it just doesn't matter.

Many .NET developers have never run Visual Studio's profiler. They don't even know what the costs are, but we're in a world where 1500ms to load a basic form is okay.

When you deal with very large scale financial data, as I do, however, your world is a very different world. You don't just have a scrum where you try to teach people that LINQ isn't magic (which of course we did). The risk factors become much higher.

<comment><USER14> If the milliseconds matter so much then why aren't you using code reviews or unit tests to catch the problem queries?

LINQ isn't just about hitting a database either, it enables a more declarative / functional approach to development in general, which brings huge benefits in terms of parallelisation / robustness / testability.

It seems absurd that you would block your team from using it.

Edit: Oh and btw, you're not the only person who has to deal with "large scale data". Many of us do and manage just fine with LINQ.

<comment><USER12> Who said LINQ was just about the database? Of _particular_ concern, actually, are LINQ to Objects.

And yes, those milliseconds matter. And it's very strange that I noted that after repeatedly encountering performance issues with LINQ, you say that we should have oversight. Do you understand that such _is_ oversight? That the rules and exceptions came about because the recurring issue with LINQ ( _particularly_ LINQ to Objects) being an enormous performance issue?

It doesn't matter to you, probably because you don't even know what the cost is [and that isn't meant to be at all a slam. For most software the cost simply doesn't matter]. And that's fine. But save the continual exclamatives (which you always add right after defensively down-arrowing).

Though I have to chuckle at the notion that LINQ helps with testability, or robustness for that matter.

<comment><USER14> > That the rules and exceptions came about because the recurring issue with > LINQ (particularly LINQ to Objects) being an enormous performance issue?

No, you're exaggerating your position to try and justify it. There is zero substance in what you're saying. All I see is someone who appears to have made an irrational decision about a technology because he personally doesn't like it. There's no fundamental reason why LINQ to Objects should be any slower than say a foreach over a set. You can get is a mess with either approach. If you're not prepared to mentor your team, or do code reviews to check for problematic usage then it's a fault of yours, not the technology.

> It doesn't matter to you, probably because you don't even know what the cost > is [and that isn't meant to be at all a slam. For most software the cost > simply doesn't matter].

Of course it's meant to be a slam, you have no knowledge of my experience of optimisation or my deeper understanding of how frameworks like LINQ works, so instead you assert that I "don't even know what the cost is". I have spent a large part of my career doing 'to the metal' optimisation, so I will ignore that comment.

> Though I have to chuckle at the notion that LINQ helps with testability, or > robustness for that matter.

If you don't understand why imperative and functional code are different then you won't understand why LINQ is inherently more robust and testable.

<comment><USER12> _There 's no fundamental reason why LINQ to Objects should be any slower than say a foreach over a set._

There's no fundamental reason why LINQ to Objects should be any _faster_ than a foreach over a set. Which is _precisely the point_. LINQ has an amazing way of hiding details in a manner that allows for massively inefficient code to look completely innocuous. For throw-away, one-off "command line utility to convert A to B" type code, it is absolutely golden. For long-term use code that may be called millions of times, it can be disastrous.

You have no interest in a reasoned discussion, and your argument style is best described as defensive. That is all. Have a nice day.

<comment><USER14> This is quite incredible. Maybe have a read through the various arguments you're having on this entire topic and see who's being defensive. If you really cared about performance you wouldn't use C#, you'd use C or C++. Anything where you could absolutely control every aspect of memory allocation, memory access, bounds checking, IO, etc.

I'm out of this thread, it's not adding to the discussion.

<comment><USER12> _If you really cared about performance you wouldn 't use C#, you'd use C or C++_

This, in a nutshell, is your argument. And it's an incredibly poor, out of place argument that is founded on ignorance, and does absolutely no service to .NET.

Performance in most modern applications is achieved through proper algorithms and data structures. LINQ is often a hasty short-cut around those, but it offers the illusion of elegance such that many people (such as, apparently, you. It's all functional-like and such, so it has to be good, right?), are blissfully unaware.

Again, a lot of the time that's perfectly fine and causes no real harm -- similar to the way regular expressions might be a costly but powerful catch all -- but in other cases it is not good. That is the case with large scale financial software. If you have a different experience, good for, but simply saying "incredible!" over and over again does absolutely nothing to make your case.

<comment><USER9> Taking a line out of DHH's playbook, perhaps it would be better to discuss a concrete code sample. E.g [https://news.ycombinator.com/item?id=7335211](https://news.ycombinator.com/item?id=7335211)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> You can get away with providing your own classes and extension methods. I did that, my colleagues did that (floowing my attempt). We needed a LINQ access to a non-SQL (hypergraph) database, so basic LINQ wouldn't do it.

You need to know how to parse function bodies and I strongly suggest algebraic types approach, e.g., using SpecificType v = genericTypedVar as SpecificType and checking if v != null. You have to write your own parametrized type supporting Where, Select, etc.

And you're good to go.

It took me three days to write first LINQ-like thing.

<comment><AUTHOR> That is true as well, especially if you need to support operations not part of out-of-the-box LINQ. The real meat there is in the Expressions API. The actual LINQ methods, if you look at them, don't do much except provide a way to delegate to the underlying IQueryProvider.

That said, I think for stuff that is supported, better to stay within the "standard approach".

But I get your point.

</comment></comment><comment><AUTHOR> And just as we were talking about .NET in other environments and Mono and Xamarin, we hear the news about Microsoft in talks to acquire Xamarin. Interesting.

</comment><comment><USER16> LINQ makes moving from CFML to .NET a lot easier. in CFML you're mostly working with queries and using LINQ makes you feel right at home.</comment>


Understanding Recursion: The five-cent tour of Advanced Programming - <AUTHOR> http://www6.uniovi.es/cscene/CS7/CS7-03.html

<comment><USER2> I was shocked when I took CS papers at the number of people who just could not grasp recursion.

My first job out of Uni I pretty much got the interview because the sample code I sent in had recursion in it.

I occasionally think I should recommend lisp to people who don't get it, but I'm not sure it wouldn't just break them.

</comment><comment><USER3> Recursion is advanced?

<comment><USER4> Recursion is best taught in _C_?</comment></comment>


The Jargon File - <AUTHOR> http://www.catb.org/jargon/

<comment><USER2> Ah yes, the yearly posting of the Jargon File.

</comment><comment><USER3>
      ed@e:~$ aptitude search jargon | grep Lexicon
      i   dict-jargon       - dict package for The Jargon Lexicon

Essential.

</comment><comment><USER4> An oldie but a goodie!

</comment><comment><USER5> The Jargon File is a relic. Not only that, it's in some cases overly influenced by ESR's views, see for example that hacker politics are "more recently moderate-to-neoconservative" (as well as the anti-idiotarianism entry).

We should start a NEW new hacker's dictionary.</comment>


Retrospective on Undertale's Popularity - <AUTHOR> http://undertale.tumblr.com/post/150397346860/retrospective-on-undertales-popularity <comment><USER2> Undertale is a good game. It's not a really great game. Comparing it to EarthBound is ludicrous.

Some grievances:

The combat system works great on the first playthrough, but once you've figured out how to beat an enemy, the challenge is gone. The fun part is figuring out the puzzle of how to beat an enemy without attacking. For a game that emphasizes multiple playthroughs, it's quite weird that this wasn't expanded upon. If there's a sequel (I expect one, lots of money there) then that will definitely be improved.

The characters are one-dimensional, with one or two exceptions (and fantastic exceptions at that, credit where credit is due).

The writing isn't that good for a game that places so much emphasis on the story. It has its moments, and great references (Final Fantasy VI opera scene, anyone?) but others are cringey (Anime is [Not] Real).

(Biggest one for me) The only way to get the good ending is to "spare" or pacify enemies. But they're attacking you. Seriously, I would have no moral qualms with killing an obviously hostile monster in self-defense. I know that's the point of a pacifist ending, but there's a difference between being a pacifist and having a death wish. The player character in a pacifist run is the latter. There's a serious cognitive dissonance here... it's okay for them to attack you, but not vice versa. No one bats an eye.

Despite this, the game is a treat, at least on the first playthrough. Also, the music. Jesus the music is amazing.

<comment><USER3> I like how even the author doesn't try to call it a great game. It is just what it is, and nothing more; a lovely anti-RPG with some unusual humor, and very hit or miss gameplay. I personally really enjoyed it, but a lot of the criticisms of it are perfectly valid.

I think the music really makes the game work. Especially in the early areas, if it weren't for the positively cheerful atmosphere (which the music completely sells) the moral conflict of fighting the enemies wouldn't have worked nearly as well. Plus, you really only get to pull off the amazing ending (which I will not spoil) on the first playthrough. It's just completely out of left field.

I'd love to see a sequel, or at least more games from Toby in a similar style, but I also feel like Undertale, despite its few flaws, exists as a complete experience and requires no further commentary. I would be totally cool with him riding its popularity to move his gaming career in a different direction.

<comment><USER2> To be honest, I think the ending is pretty bad.

(spoilers)

It just had to take the "oh so meta" route. It just felt so way out of left field... not in a good way (a good way would be called a "twist ending" I think). Definitely killed my sense of immersion and suspension of disbelief. And no, it's not the first game to do the "closes itself" shtick.

</comment></comment></comment><comment><USER4> I didn't like the characters of Undertale, but I loved the main plotline. It's disturbing that Toby Fox loves to mention the characters and humor but not the 'plot' (basically, the game mechanics of multiple endings and the final ending, vaguely written to not be a spoiler).

And it's quite sad that Toby was so so so so disturbed by his 'duty' to protect the people who haven't played from spoilers and such--it seemed like it really has consumed him so much (just look at all the things he's done, in social media and inside the game files). In one way I can say that he's dedicated but on the other hand it seems too self destructive to say that it's a good thing.

</comment><comment><USER5> Fans of Undertale should absolutely get into Homestuck if they haven't already; if you like very weird, highly intertextual, genre-defying and mood- smashing works of new media with interesting writing, fantastic music, and terrible art, it's for you. I'm a little disappointed that more stories on Undertale didn't touch on Homestuck, which was clearly a large influence (Toby Fox has been making music for Homestuck for a long time, and wrote a lot of Undertale in the creator's basement.)

On the other hand, if you find Undertale's fanbase off-putting and juvenile, well... it's also got that and more so. I mean, if you didn't like anything about Undertale, you should probably just stay away at all costs.

<comment><USER2> I would have to disagree with you there. There's just so much filler that it's impossible for anyone without _tons_ of free time to read it (starting from scratch). Which probably isn't most people on HN.</comment></comment>


Show HN: Simple split testing with WordPress - <AUTHOR> https://github.com/scotchfield/ab-see <comment><USER2> This looks really cool. We're going to try it at the day job soon.

<comment><AUTHOR> That makes me really happy, thanks! Please let me know how it goes!</comment></comment>


Ask HN: How do I cope with being a young diabetic? - <AUTHOR> I am in early twenties, I had difficulties with choosing a major (my mother forced me to choose a major) this lead to three years wasted at college without advancing and needing to change major to Compsci and by then I discovered that I can't change my major anymore and my only solution (at the moment) was to go to private school and I couldn't afford that.My mother explained that she forced to choose that major so I can be near (a very dump explanation) this lead to fights with her and a lot of stress and this led to me getting diabetes type 2 (and because of bad diet too).I am in a very position now: I can't handle stress the way a healthy person does.I can't do any high stress stuff (starting a startup, handle corporate culture).I tried freelancing but clients are very cheap. How can I cope with this (feeling of being disadvantaged)? For HNers with medical conditions that can't tolerate stress: how do you handle it? <comment><USER2> With a family full of type II's, here's the first step:

Get your health in order by no longer eating garbage. Your body is riding the insulin roller coaster and it's giving out. Eat meat, dairy, and vegetables only. The conventional wisdom, the USDA, and the farm lobby insist on carbs being a big part of your diet, but they're not the ones with diabetes (they're the ones who gave it to you).

Steer clear of all carbonated beverages from Diet Coke to Perrier. The CO2-punch to the gut from sodas stimulates ghrelin, which'll make you hungry in 2 hours, and aggravate your diabetes in a half-dozen ways.

This won't solve all your problems, but it's remarkable how much easier life feels when you're not going through it sick.

</comment><comment><USER3> Hey, I'm sorry to hear about your situation - to be honest it sounds stress- inducing on its own.

Your question is vague considering the type of advice you're looking for. What is your living situation like? Do you have any immediate concerns? Besides just general "stress", what bothers you the most? If you're willing to share, how recent is your diagnosis?

One overall suggestion I have for you is to not psych yourself out. If you convince yourself that you have a low stress tolerance, you will. Having a medical condition that is exacerbated by stress is legitimate, but if you avoid all stress and never develop coping mechanisms then you will be worse off. If you notice yourself stressing about stress itself, just take a deep breath (I mean physically stop what you're doing and breathe in and out over the course of several seconds) and find out what's really bothering you.

In terms of your health, you should find a good endocrinologist if you weren't referred to one already. This isn't meant to be medical advice, but type 2 diabetes is curable. It tends to be easier to cure if you take care of it sooner rather than later though, and after 6-7 years it is effectively permanent. A young person with the condition should be able to gradually lower his insulin resistance and become healthy again if he treats it as a priority.

My background is in healthcare and computers - if you are in the United States and need help with health insurance or Medicare I can look into it: sam (at) mangane.se

</comment><comment><USER4> First, you need to stop blaming your mother, cheap clients, and other people generally. You need to decide what you want and do what it takes to make that happen. Instead of fighting with people, just make your own decisions. If they are going to have a cow about it, start moving them out of your life.

If you are living with controlling parents or other controlling people, you need to very quietly start laying the groundwork for getting out of that situation (without signalling to them that you are moving on -- that only gives them the chance to sabotage your efforts). Don't keep people close to you and give them control over your life who don't genuinely respect you and have your best interests at heart.

Second, you need to prioritize taking care of your health.

Third, you need to stop focusing so much on what you can't do and start focusing more on what you can do.

<comment><USER5> Best advice ever.

I come from a relationship with my family like the one you described. Now my mother is dead, my father married another woman and all the advice and control they gave me is gone and they barely remember these expectations which some of them I fulfilled but actually at some point I left my home and worked in another city without having money to pay even my lunch. That made me make a lot of money, move from a third world country and meet the love of my life. I didn't have diabetes so maybe for you it might be different, but unless you take control of your life and start to have frequently moments which you are 100% responsible for, you will never truly live.

I always felt weak and had my fair amount of health imperfections, but I once thought that if I'm a bird with an undeveloped wing and I need to do my first flight, I would rather crash my face to the ground and die than to live a shitty life being abused by everybody.

Maybe you can fix your disadvantage with your brain and become a bird that makes other birds fly for yourself.

Also take out this disadvantage mindset. You should make your strong points stronger. You have gone through some crazy shit that those perfect rich white males probably never went. So at least at something you can excell.

Please also take my opinion with a grain of salt, you know your life better than me. Cheers

</comment></comment><comment><USER6> I developed anxiety (not diagnosed) earlier this year - even just laying it all out to a psychologist helped A LOT. Since my anxiety is in check I can focus on my diet a lot more, starting to get results with weight and feeling better now. Next step is exercising more.

Once I sort all of this out and some personal finances, THEN I can worry about "high stress stuff". In the meantime I'll work my loss stress job and play WoW.

</comment><comment><USER7> For most of us, it is tough to accept when a family member callus choices lead us to disadvantage in life. But the problem of being diabetic, as I have learned from my experience is that it makes it more than twice as hard. Dwelling in the past only feeds into the bad health situation. I have observed the days I kept past the family situation, my sugar levels fared better to the extent that I did not rely on the medicine. Avoid binge eating, try more exercise.

You can only steer life with what you can influence, try to gain influence of your own life, you don't have to be rude. Rome wasn't built in a day, life is like sailing you have to steer slowly and steadily. Hopefully you will do better than me, for I learnt this wisdom have an estranded relationship with my mother for 2 decades to the extent that I did not attend her funeral. Have take hypnosis therapy to move past life decisions that I had no control over. All I can share is my sugar is in much better control.

</comment><comment><USER8> My doctor told me to quit, and I have, but that was after working in potentially stressful jobs 49 years as a type 1.

My advice is (1) decide that your health always comes first, and (2) your glucometer is your guardian angel.

If you follow (1) by promising yourself and all relevant others that you will never let the demands of work put your health at risk and simply follow that rule all the time, that may remove much of the stress, because you have much less to fear, and because the relevant others all are on notice that whatever good you do for them is contingent on you being able to do it.

The glucometer thing is what makes the strategy reality based for all concerned. If you feel that work-related stress is messing with your glucose levels, take a test, and if you are out of the range you want to live in, take a break from work, adjust your food or meds as indicated, keep testing, and do not work until you have controlled the glucose problem.

If you use the glucometer frequently enough and react accordingly to what it tells you, you can probably have pretty decent control of your glucose levels. I remember reading somewhere that pretty decent control means about 2/3 reduction in complications from what you will get with typical control. Deaths from diabetic complications are now pretty typically delayed until the late 70's with such measures. That's not a cure, but it will give you a good chance of living until one shows up.

Caveats: (1) I'm type 1, so I don't know enough about type 2 to tell you how often you should be testing. For a type 1, I would suggest that 5 or 6 tests per day is a good idea. Maybe, if you take insulin, something around the same would work out. The rule I try to follow is that whenever I think I might need to test, I better test. (2) Diabetes can cause psychological problems. Give your MD an idea about any problems you have with stress, self-control and compliance with the prescribed regimen, and if the MD thinks you need any help with that, comply.

</comment><comment><USER9> Are you 100% sure you're type 2? I was wrongly diagnosed as type 2 in my early 30s. Went through a lot of problems before finally getting correctly diagnosed as Type 1 and starting insulin injections.

Diabetes makes me hate my life, no question about it, but at least having some control over it makes some days bearable at least.

</comment><comment><USER10> try keto

<comment><USER11> See reddit.com/r/keto to start.</comment></comment>


Yale University was named in honor of slave trader Elihu Yale - <AUTHOR> https://en.wikipedia.org/wiki/Elihu_Yale <comment><USER2> Please don't rewrite titles to editorialize. That breaks the HN guidelines: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html).

</comment><comment><USER3> You bring up stuff like this and the left is going to call for the institution to be renamed in favor of their feelings.</comment>


Things That Men Can Do to Be Real Allies for Women in Computing - <AUTHOR> http://cacm.acm.org/blogs/blog-cacm/190333-things-that-men-can-do-to-be-real-allies-for-women-in-computing/fulltext

<comment><USER3> I often wonder how helpful messaging like this is. Although it's probably true that large-scale change is necessary, I suspect that there are a lot of potential allies out there that this kind of post turns away.

Specifically, I think that if you tell a random man in computing that he needs to "help build a movement" (point #2 from the OP) to be considered an ally to women, then there's a decent chance he'll just say "welp I guess I'm not an ally" and close the tab.

I've seen similar arguments both ways within LGBT+ groups. Is someone an ally if they verbally support your cause, vote for supportive politicians, etc--but don't organize rallies with you?

</comment><comment><USER4> Link is to the mobile version, which is difficult to read on desktop. Non- mobile version: [http://cacm.acm.org/blogs/blog-cacm/190333-things-that- men-c...](http://cacm.acm.org/blogs/blog-cacm/190333-things-that-men-can-do- to-be-real-allies-for-women-in-computing/fulltext)

<comment><USER5> The link isn't to the mobile version. The site must have auto-detected your browser as "mobile" and redirected you (as it did to me). You need to visit [http://cacm.acm.org/?mobile=false](http://cacm.acm.org/?mobile=false) which seems to set a cookie that lets you visit the original URL without redirecting.

</comment></comment><comment><USER6> So we're supposed to spend our time, effort, and professional credibility for your cause, but we shouldn't expect even a thank you. Nope.

<comment><USER7> You only do what is right, if you get praised for it? interesting.

</comment></comment><comment><USER8> Sorry, I don't want to be an "ally for women", that to me sounds like needless victimisation. What I do support is focusing on technology and being excellent to each other.

Politics are boring. I don't care how many women are on computing. Why would I? I don't. If they want to collaborate and join, they should be welcome but not given special treatment.

<comment><USER9> But we all need role models to model ourselves after and sadly, there is a lack of women role models in computing. I'm not saying they don't exist - <USER2> it is an predominantly male profession.

Think back to why you got interested in computers, wasn't it because you had someone to look up to? Perhaps some family member or a computing legend?

Women also need women role models and those usually just don't randomly appear - there is a certain critical mass that might have to be created with other methods, perhaps with encouragement from the so called "allies" the article mentions, although that might not be the best way to put it.

Young women have to look at it as a viable career option to work in computing, and for that to happen they need someone to pave the way.

<comment><USER8> > But we all need role models to model ourselves after and sadly, there is a > lack of women role models in computing. I'm not saying they don't exist - > but it is an predominantly male profession.

We can dispute that.

>Think back to why you got interested in computers, wasn't it because you had someone to look up to? Perhaps some family member or a computing legend?

It was because I saw someone playing videogames in the computer at my mom's job. He was a man, but in no way he was a role model. He could've been an alien and I still would only be fascinated about the computer. I didn't care for the guy at all.

>Women also need women role models and those usually just don't randomly appear - there is a certain critical mass that might have to be created with other methods, perhaps with encouragement from the so called "allies" the article mentions, although that might not be the best way to put it.

I fail to see why should I care.

>Young women have to look at it as a viable career option to work in computing, and for that to happen they need someone to pave the way.

The road to hell is paved with good intentions. This is what you say. What you really want is special treatment for women in computing e.g. quotas, grants and internships.

I do not care for any of that. The way I see those things do more harm than good.</comment></comment></comment>


How Do We Know When a Hunk of Rock Is Actually a Stone Tool? - <AUTHOR> http://fivethirtyeight.com/features/how-do-we-know-when-a-hunk-of-rock-is-actually-a-stone-tool/ <comment><USER2> We know that a seemingly useless piece of rock is actually a tool when it carries the markings indicating certification by IEEE POSIX and The Open Group.

<comment><USER3> I was about to say "is this china made in China?", but yours is much better

</comment></comment><comment><USER4> Well, it depends on whether or not the archaeologists were caught knapping...

</comment><comment> awinter-py see also manuport [https://en.wikipedia.org/wiki/Manuport](https://en.wikipedia.org/wiki/Manuport), an object moved or carried without being worked.

<comment><USER5> Flying Spaghetti Monster, is some future archaeologist is going to have a field day with the piles and piles of manuports I picked out of my dad's garden and hauled off into the woods.

</comment></comment><comment><USER6> When research money is running out and you haven't come up with anything of substance yet? Jk, it's an interesting article thank you for sharing.

<comment><USER7> Laughs aside, clearly there's a conflict of interest here. While I'm sure the vast majority of archeologists are ethical, it must still add some amount of unconscious bias to a question that already depends so heavily on interpretation.

<comment><USER8> Similarly, think about all the academic careers built on 'disproving' that Shakespeare authored his plays--which is especially troubling because so many academics put so much importance on their own college degrees they just have to chip away at the reputation of someone who didn't have one...

</comment></comment></comment><comment><USER9> tl;dr not enough pictures of rocks, very disappoint</comment>


How do you Create a Complex Isolationist Nation-State like North Korea? - <AUTHOR>

Hi Hackers, with North Korea in the news so much, a topic of curiosity has returned to my mind...what does it take to build a relatively capable isolationist nation?
Some definition is probably in order. North Korea is of interest because the nation-state appears to be capable of complex engineering and manufacturing (if nothing else, nuclear capabilities are a good milestone), to the point of being worth international concern. By contrast, I'm sure there are some effectively isolated island or African nation-states that cannot achieve the same level of significance.
So for an isolationist nation-state to be able of complex sophistication, one requirement does seem to be that the people are relatively imprisoned, either through force or indoctrination, or a combination. This facilitates some type of energy/GDP transfer from the people to the central direction of the nation-state.
However, that alone is not enough - it does not mean that the surface area of the population and/or natural resources are rich enough. A total slave society in a desert won't produce as much complexity (Egypt comes to mind, but they had the Nile, hence the exception).
So some combination of (Forced Central Direction) + (Minimum Natural Resources) + (Minimum Population or Productivity) must be the formula to break out of total and immediate failure, and to get on a technology development track. I would imagine another  ingredient is external state support in N.Korea's case, but I'd like to leave that to the side at first. Maybe it turns out that's the only way an isolated nation-state can get on an advanced technology track.
Any thoughts? <comment><USER2> North Korea isn't as isolationist as people think. It has both imports and exports. I recall reading that it has a chain of eateries in china that send back revenues to it. What it keeps out is culture.

Totalitarianism is easier then you think. You need a powerful state security apparatus, and then you make people it's victims, and it's instruments. So neighbors inform on neighbors, children on parents. You purge any people who publicly disagree with the state in the name of security, and even if people privately disagree, they won't do anything.

</comment><comment> waqas- north korea in not capable of complex engineering and manufacturing. developing a nuclear weapon does not illustrate anything in that regard, what it does illustrate is that any nation with enough paranoia (or valid external threats even) and craziness can develop a nuclear weapon.

its isolation was actually an obstacle in developing the said weapon and they had to collaborate<?> with china, russia, pakistan to develop them.

</comment><comment><USER3> This is my next YC project.</comment>