Rat brains provide even more evidence our brains operate near tipping point - <AUTHOR> https://arstechnica.com/science/2019/06/does-the-human-brain-teeter-on-the-edge-of-chaos-rat-brains-point-to-yes/ <comment><USER3> Ha, interesting timing! This has been my personal research topic this week, and I've been digging through the literature trying to get a sense of how thorough these experimental results are, and the theoretical underpinnings of neuronal criticality.

Here's a very nice (slightly dated, 2012) review of the subject [1]. With it's conversational tone, it's quite a breezy read, even for non-experts. For those who are jaded of power laws and criticality being bandied about willy-nilly, this article nicely digs a little deeper.

1: [https://www.frontiersin.org/articles/10.3389/fphys.2012.0016...](https://www.frontiersin.org/articles/10.3389/fphys.2012.00163/full)

</comment><comment><USER4> This seems like hooey to me. I mean power laws are everywhere, not just in phase transitions, and they seem to be struggling to identify what the "phases" are in the brain that the "power law" they claim to be observing result from. Post-hoc reasoning if ever.

</comment><comment><USER5> Makes me nostalgic when I discovered a trove of chaos/complexity books in the college library, apparently the most represented topic in the science shelves as of 2008. Knowledgeable idiot warning. I was impressed about human brains existing at the edge of chaos. It does not go over one edge, its a system that has the opposite property of the butterfly effect: its state is buffered against impressions and strong impressions may move it to another stable state. Over the other edge: a normal brain plots as chaotic brainwaves while an epileptic plots as regular phases.

</comment><comment><AUTHOR> It would seem logical that this is more of "our brains can get overloaded and must shed the extra chaos" than we operate near a specific tipping point all the time. In a system that expends energy to do its job, a well designed system would try to regulate energy usage by optimizing on-the-fly and discarding activities using too much energy or energy in an inefficient way.

</comment><comment><USER6> My vision on this: The thing is we can't say our brains operate at tipping point since we don't understand the brain fully yet. And won't for a long time. We haven't realized the full capacity of the brain yet, far from it. So, no, it most likely doesn't operate at tipping point for the majority of people.

<comment><USER7> Why should we care what you believe to be true, when you don't provide empirical backup and no scientific method? This is less than interesting - <USER2> dilutes the discussions around the matter at hand.

<comment><USER8> 1) This comment is unnecessarily mean. 2) The comment is about the limits of our understanding and how they affect our outlook, so your criticism about not providing "empirical backup and no scientific method" are a non sequitur.

<comment><USER9> It doesn't read as mean to me, it's just the truth. The OP made a claim, "So, no, it most likely doesn't operate at tipping point for the majority of people." and failed to back it up with any evidence. In fact, his premise is that this is "his vision".

Tilt_error was so logically correct in his statement, that I appreciated reading it. Clear thinking helps everyone.</comment></comment></comment></comment>


Ask HN: Recommendations for idiomatic Go (Golang) code? - <AUTHOR> Hi,
I'm very fascinated by Go and was wondering which blogs/videos/articles/project would you recommend for "idiomatic" go coding?
I really want to learn Go and I do not want to write Java/JavaScript/whatever using go syntax <comment><USER2> IMHO the term "idiomatic" is overused. Every programming language has its idioms, and I am sure you'll learn them when working through Go tutorials, books, or courses.

Important here: Empty your teacup if you want to fill in new (different) tea. Try to understand the Go language without falling back to the idioms of other languages. Drop inheritance, generics, exceptions, dot-chaining of statements, and embrace interfaces, explicit error handling, and clear, readable, and maintainable code.

As one of the go proverbs says, "Clear is better than clever."

(All probverbs here: [https://go-proverbs.github.io/](https://go- proverbs.github.io/))

</comment><comment><USER3> Learn how the language works and what all the basic pieces are.

After that, the standard library is the best source for idiomatic go code.

</comment><comment><USER4> I believe that the standard libraries are considered idiomatic code examples.</comment>


Tata hit with $940M verdict for stealing Epic Systems's software - <AUTHOR> http://www.americanbazaaronline.com/2016/04/15/tata-group-hit-940-million-trade-secrets-verdict-stealing-epic-systems-corp-s-software/ <comment><USER2> Ouch. Way back in the day I helped a small software company in LA that did Dental Practice billing port their system from a DEC RT-11 base to MS-DOS. What I found interesting was how much knowledge about how various insurers and other agencies worked was in the software but not part of the generally accepted knowledge base. Things like "you use this code for fillings if they are on kids, but this other code for fillings on adults, unless you expect them to become crowns in a couple of years, ..." That was the real crown jewel, not the database of codes and procedures.

Sounds like Tata was caught trying to appropriate that kind of information.

</comment><comment><USER3> Open APIs, open source, anyone? Epic tries to prevent anybody to integrate or upgrade their systems.</comment>


Why Apple Couldn't Go to Micro USB Charging - <AUTHOR> http://techpinions.com/why-apple-couldnt-go-to-micro-usb-charging/10212 <comment><USER2> I believe the nexus 7 had the same issue, and they devised a slightly longer version of the micro USB plug that is capable of carrying 2.1 amps of current, which is more than 10 watts of power. The socket can still accept "normal" USB plugs, and the new longer plugs can be used with "old" sockets too (these combinations will not be able to achieve the increased current rate, of course). All in all, it seems a reasonable solution.

<comment><USER3> Wait, so that means that of all of these micro-USB cables I have lying around, only one of them is actually capable of performantly charing my Nexus 7?

<comment><USER2> Precisely. It also means that if you don't have the original cable at hand, you can use any cable to charge it, albeit more slowly.

As a side note, the nexus 7 charger is also special in itself, as it is capable of outputting 2.1 amps of currents, so you also need to use that to achieve the maximum charging speed.

<comment><USER3> Huh. So, honestly: I think that was actually a horrible decision. I just found the box, and the only thing related to this in the manual is the fairly overly-typical "use only the USB charging unit that comes with your Nexus 7; using a different power adapter may damage your tablet" warning. It says nothing about the cable.

I, like many people I know, end up having multiple cables: even non-technical people I know often end up buying an extra cable, so they aren't screwed if they lose one. A lot of people who splurge for Android tablets probably also like Android enough to have an Android phone, so they will simply already have a micro-USB cable lying around anyway.

Assuming this is true for a second (and I currently have no reason to disbelieve you), I have a friend who was actually complaining just a few days ago that "my nexus 7 is really, really bad at charging". We were all discussing it, many of us commiserating that the Nexus 7 seems to be the worst of all of our devices when it comes to charging.

However, now, it could be that we are all just using "the wrong cable", because no one at Google thought it important to mention "this cable is a magic voodoo cable; the manual might claim it is micro-USB, but you cannot use a normal micro-USB cable to replace it". At least with Apple, I can look at the cable and tell if it will work for me or not.

<comment><USER4> I don't get any of this and I haven't had a bad charging experience with my Nexus 7.

I've successfully charged it with at least the included charger and its cable, with an 1A USB charger and its included cable that originally came with an older HTC Android phone, and with yet another cable that was connected straight to an USB port in a computer.

tl;dr: to my experience, Nexus 7 charges just fine anywhere like any other micro USB device does.

<comment><USER3> FWIW, I am perfectly willing to believe that the various complaints that came up among my friend group were all weirdly-correlated one-offs (like, maybe we are all likely to have done certain stupid things with our tablets in the same way), and that tiziano88 is wrong about the cable.

That said, I've found some other people talking about similar issues.

[http://forums.androidcentral.com/google-nexus-7-tablet- acces...](http://forums.androidcentral.com/google-nexus-7-tablet- accessories/191842-problems-charging-3rd-party-microusb-cables.html)

Apparently, in their version of the manual (maybe it was changed after Google I/O) there is even a statement about the cable: "use the charging unit and micro USB cable that come with your Nexus 7; other charging units and USB cables may charge more slowly or not at all".

[http://i595.photobucket.com/albums/tt35/StereoMike7/86ee9ea1...](http://i595.photobucket.com/albums/tt35/StereoMike7/86ee9ea1.png)

I then maintain that if this is true, they should have provided a bright blue cable that said "Nexus" on it, so I'd always be able to know "ok, that's the cable that came with my Nexus 7 that I should be using when I charge it", as otherwise you end up with this horrible set of folklore surrounding how the charging sucks (as, seriously: how many people read or pay heed to the fine print warnings in the manual? ;P).

</comment></comment></comment></comment></comment></comment><comment><USER5> I don't see why Apple needs Lightning AND the MagSafe adaptor. If they wanted to introduce a new cable, why didn't they invent a MagSafe version of Lightning?</comment>


Why students are throwing tons of money at a program that won't give degrees - <AUTHOR> https://www.washingtonpost.com/news/the-switch/wp/2016/03/17/why-students-are-throwing-tons-of-money-at-a-program-that-wont-give-them-a-college-degree/ <comment><USER2> To be honest 95% of large corporate software development doesn't require a computer science degree. They are usually one form of another of CRUD application. The novelty is only that they need to support more than one platform or be web based. It's not exactly rocket science. And even scaling problems are basically common sense, not advanced maths.

To me this lack of training is more concerning from a quality point of view, and in software who says quality says security. But I am not convinced a formal computer science education teaches coding best practices either (but not having done one myself it is hard to judge).

<comment><USER3> You're kind of off-base. A formal computer science education doesn't really teach _coding_ at all. You'll learn how to write code (hopefully) as a corollary to learning how computation works. At least in my program, there isn't any single course that's oriented around the act of writing code.

<comment><USER4> That may be true but it's not responsive to his real point, which is that you don't need to understand computation to build a typical line-of-business application.

Companies used to build LOB apps in Microsoft Access, and nobody believed you needed a degree to use Access (plenty of business people figured it out for themselves, just like Excel). Now nobody uses Access anymore, but the web frameworks that replaced it aren't that much harder to use, and don't really involve a lot of complexity theory or parser generators.

<comment><USER5> In some ways understanding computation actually undermines you.

Here's a true story, a few years ago I was a DBA on a large-ish Oracle database (~50T) supporting many users. One guy would run his report, and it would time out (in his client software, Business Objects I think). So he would run it again and it would time out. But on the 4th or 5th attempt, it would work! Why was this? I was curious enough to investigate and what was happening was he was gradually getting more and more of his working set into the cache, and eventually he had enough in-memory that his query could complete in time. Let me tell you for sure, that guy did not have _any_ mental model of computation that led him to discover this. He just tried it and it worked. Would a guy with a classic CS education have done this?

<comment><USER6> While his solution worked for him, it also revealed a flaw that could've been a deal breaker if sales were demoing the system. Of course what constitutes a significant problem is often up to a nontechnical department.

<comment><USER7> If sales was demoing it, they would've pre-warmed the cache by running the report until it no longer fails before the demo.

Not that I've seen sales people do such activities before...

</comment></comment></comment></comment></comment></comment><comment> lloyd-christmas Maybe I'm reading too much into these articles, but it seems like people think that the individuals taking these bootcamps are all ex-baristas. I took one, and most people had several years of high-professional work experience, many of whom had undergraduate degrees in STEM. My current boss is our lead architect with more than 20 years of programming experience. He has an undergraduate degree in neuroscience. My father is a physician/oncology researcher. He has an undergraduate degree in physics. Skills are transferable, especially within the entire STEM bubble.

> "You emerge from a bootcamp fit to do an oil change, but not design a car,"

You emerge from an undergraduate degree with a permission slip to join the professional world. Undergraduate CS degrees aren't 5 year engineering programs. They are just your average bachelors like the rest of them. Your major is a demonstration of what you were interested in during college, not whether or not you're capable of being a a contributing member of an industry. The vast majority of the fundamental career knowledge is learned within your first two years. A couple years into my career in finance, my coworkers with English Literature degrees were impossible to differentiate from those with Finance degrees (those that made it that far). The reason isn't because the Finance major was entitled or less capable. It's because the two were _equally_ capable, and the general industry knowledge plateau comes quickly before you start working towards some specialization.

<comment><USER8> "Undergraduate CS degrees aren't 5 year engineering programs."

It depends on where you go, really. Undergraduate "CS" programs are all over the place, ranging from programs that might be better called "IT", to ones that are basically just specialized math degree. A good marker, IMO, is whether the program requires a compilers course that actually requires that the student implement a compiler. Of course, I would say that, of course, since mine did. :-)

It also required enough math that I could've gotten a dual degree in math by taking (IIRC) two more courses. I was in calculus-based physics and ODE right there with the engineers, too. Where the programs diverged was when they started taking statics and dynamics (after physics), and I started taking compilers, theory of computation, and stuff of that nature.

<comment> lloyd-christmas > It also required enough math that I could've gotten a dual degree in math by > taking (IIRC) two more courses

That's my point. I did a double major in Math/Econ with a minor in Applied Statistics. I could have switched 2 courses away from my Econ major and instead received a minor in CS. There are countless boot-campers that just didn't take enough 300 level courses to put it on their resume. Looking back on my degree and my career so far, I can't say I've used the phrase "generalized autoregressive conditional heteroskedasticity" in a context other than a joke or in conversations exactly like this. That's from Stats-3xx _time series analysis_. I worked as an _equities trader_ for the first half of my career before switching to programming. It's harder to get more time-series analytical than that. Who uses that phrase? The PhD econo-quants and risk managers who spent a bit more time studying it than the 2 weeks I went over it in an alcohol filled second semester of my senior year.

I'm simply saying, undergraduate degrees aren't much more than a rubber stamp. Sure, you may have learned more about data structures than I did. We both probably took some form or another of graph theory, linear algebra, algorithm design, etc. What you learned in a semester of data structures, I'm sure I learned 95% of it in a year on the job. Similarly, if you decided to go into finance, I'm sure you could pick up all the meaningful parts of macroeconomics in a year. Because that information is USEFUL in the day-to-day. If you decided to apply to a job as an equities trader, you wouldn't be dismissed because you don't know how to implement a model you will never use.*

* unless, of course, you decide to work towards being a quant. In which case, you'll probably know more about it than I do in 2 weeks. * poof *, there goes the value of my undergraduate degree.

</comment></comment></comment><comment><USER9> I went to a bootcamp, and I think people are way too fixated on the three month thing. You have to write code to get accepted to a decent school, so the students on day 1 are definitely not "straight out of Starbucks." For me it was 2-3 months of full-time study while I applied and got the school lined up (including pre-curriculum while I waited for my cohort to start).

The program itself was three months of intense 50-60 hour weeks. Then I continued studying full time for a month until I got a job. So by the time I showed up to work, I had put in ~7 months of full time coding.

Since then, I've still been going hard, as have most of my classmates. I've been working in two languages that I didn't learn at school, and using a third one in my side projects. Nine months removed from school, I still spend a lot of my free time studying whatever looks interesting to me at frontendmasters/egghead/pluralsight. I read a lot about programming, and listen to 5-10 podcasts each week on my commute. At some point the three months I spent at a bootcamp or the four years somebody else spent in a CS program are irrelevant. How passionate are you, and how hard are you willing to work?

<comment><USER10> As with all things, YMMV.

Keen to hear if you think you're an average example of your cohort or in the top x%.

<comment><USER11> I recently finished out a stint at General Assembly's Web Development course in Atlanta. I'm definitely not an average example of my cohort, though I would like to say that prior experience I brought in really drove up the "average" for many of my peers.

Of a class size of 17 people, many of us had jobs lined up before we finished while several were / are still taking time to "get ready"; There was only one who sort of remained clueless during the cohort, but in spite of that they have worked very hard to keep up in class.

The coding required to get into GA was minimal, and the interview beforehand was not very difficult-- the person I mentioned who was generally clueless actually blew through the admissions process (better than I did, in fact).

I'm not sure where it's appropriate to set that barrier to entry, especially given that most of the early material caters to someone with very limited knowledge-- it would have been interesting to see a course targeted at someone who already has a foundation in basic web technologies.

Living in Atlanta, I've had the opportunity to speak with grads of many other bootcamps both in Atlanta and on the West coast. The biggest difference I really notice is between people who were able/willing to work those 60/70 hour weeks to gain as much as possible and those who couldn't/wouldn't.

</comment></comment></comment><comment><USER12> This will always be a divisive subject and my opinion will likely be equally divisive.

For the record, I took a bootcamp over doing a master's in CS: the clincher for such a decision came when an engineer friend at a tech unicorn said he'd take a smart bootcamper over a regular CS grad on the basis that from hiring experiences:

\- you don't use most of the stuff you learn from CS at work (when was the last time you proved root two was irrational, or used red-black trees on the job?)

\- a bootcamper will write cleaner code and is less likely to have some of the stereotypical traits engineers are prone to having (e.g. takes feedback badly/doesn't communicate well/takes feedback badly) he attributes this to the more diverse pool of people boot camps attract

To be frank, I think the aversion to bootcampers primarily stems from individuals' need to validate their own life choices thinking things like "I studied CS for four years to become a Software Engineer so how could someone come close to playing catch up in 3 months!?"

But really this style of thought is flawed - people underestimate the fundamental value of doing a degree, which teaches you way more than just knowledge. Think how much less developed you were intellectually coming out of high school than post college.

With that said, it's also probably true that there are plenty of bootcamp graduates out there with an inflated sense of worth and companies that have hired/rejected poor bootcampers and now have a set opinion about bootcamps.

To these people it's worth noting that bootcamps have only been around for a couple of years, and as is the case in any good startups, the product improves as the companies grow and mature and have time to iteratively improve it.

Graduates from a bootcamp today are probably of appreciably higher quality than they were back then.

<comment><USER13> > \- you don't use most of the stuff you learn from CS at work (when was the > last time you proved root two was irrational, or used red-black trees on the > job?)

Used them yesterday in fact. Then again, using red black trees and knowing when you need to isn't uncommon in kernel programming. I'd couch this more: you generally don't need to care about using red-black trees. Until you do need them that is. The key is knowing and realizing when that time has come.

Just thought I'd put my $0.02 in on that one as it is both my opinion and experience.

<comment><USER14> It takes a really special person who hasn't gone through a CS education to be aware that when faced with a problem that have an obvious solution, they realize that there are things they don't know and either seek out resources to learn them or identify people that can ask for help beyond a simple "I'm stuck, solve this for me!" response.

And that's why of you're a good software engineer, your job is secure. Because most people definitely aren't that and just end up making a real mess of things.

<comment><USER15> I think after a certain amount of time writing code you get a feel for that though, even without a CS degree. Anyone who's opened a terminal knows they don't know everything, but it takes a few iterations of shittily reinventing the wheel before you internalize it. After that things start to smell(?) like someone solved them and then it's a matter of finding the right chapter in a book or set of google search terms.

</comment></comment></comment></comment><comment><USER16> So... I'm biased because I did a bootcamp.

I think the comparison of bootcamp vs 4years CS degree is not very apple to apple, because well, you compare on 1 side people who almost "discovered" programming 3 months earlier to people who have been studying it for 4 years + most of the time have had internships etc.

What I can say tho, is that, for junior positions (I guess one of the points of the article) those bootcampers can be 1. very good and productive, and because of the nature of the bootcamps, 2. usually very motivated and eager to learn, get feedback etc.

So if you are willing (and have resources) for some extra mentoring, bootcamps can be a very good additional pool for hiring (since hiring engineers is very hard is most places) and can be very good long term for your company.

I joined a YC startup after my bootcamp and continued to work my ass off there for a year (during work, and after work to continue to learn CS concepts etc.) and I think I can say I was successful there. I had good mentoring despite our size (3-4 engineers at most) but I eventually became a good asset to the company.

After 1 years, the company was sold and I needed to find a new job. I did well on multiple interviews, both startups and big cos (facebook and co) and am now very successful at a top startup in the bay.

You just need to expect what is expectable - I remember when I did my bootcamp, I was never promised to get a CS degree in 3 months - I was promised to learn the basics I would need to 1. be hirable at a junior level and 2. learn how to learn, to be able to figure things myself and continue growing. That's what I got from it.

I think everything's the same - if you are motivated and driven to be successful, you'll be successful, if not, cruising through both a CS degree or a bootcamp won't do it. I've interviewed hundreds of people, from bootcamps, new grads, masters, phds, experienced people, and people from each background have done from bad to great.

<comment><USER17> Couldn't you have done it using Internet, books, video tutorials, etc.?

<comment><USER18> I did, as I'm sure many here have as well. However, not everybody has that kind of self motivitation.

Some people need that $30k expenditure to keep their wandering minds in check when the going gets tough at the beginning.

I remember my first paid experience coding...was reading/learning 6+ hours every day on top of the project itself.

</comment></comment></comment><comment><USER19> Software development is not the same as Computer Science... Even then, it's a small part of STEM, and beyond that, how much shortage is there, really? In the end, I've seen far better results from self-starters that _try_ than graduates with C.S. degrees that don't.

I think that there is a lot of arrogance in the software industry, and it tends to do far more harm than good. It bubbles certain mindsets and pushes out others. In the end, it does little for what's being worked on, and when good enough solutions that work are displaced by "best" solutions that come out months/years late and/or outright fail.

In the end, you can get a _LONG_ way with pragmatic choices... you can go even further, with consistently simpler ones. The more complex something is, the more likely it is to fail when you need it to grow the most. Time and time again, people just don't see this. I've been guilty of it myself.

You don't need a C.S. degree, or a bootcamp, and honestly, if you do, you're probably not enough of a self starter to actually be productive, help and work with a team checking your ego at the door anyway. I'm guilty of this myself at times. But the debate is pretty silly. Nobody should go six figures into debt for a job that starts out at less than six figures. And nobody should expect to master anything in much less than a couple years.

What often bugs me more than anything is institutional resistance to anything new.

Okay, going to sign off this messy rant... I just find the whole debate the article makes irritating, as it's the people more than the process that determine success.

<comment><USER20> I like to think that software can actually be perfect, and that "good enough" is the mortal enemy of excellent. I agree regarding arrogance, though... I think it's insane to imagine that the insertion sort (for example) is somehow more innovative than the plane, train, automobile, or combine.

I think that you can actually get very far in terms of educating yourself with the materials and tools that are now publicly available. I'm currently spending a lot of time doing this, so I suppose it's an axiom that I've accepted.

[https://github.com/hypoalex/machine_learning/blob/61d6729489...](https://github.com/hypoalex/machine_learning/blob/61d6729489cfa9d68bcd585bae692627304e0f1d/classes/MIT/18.01/lectures/lecture_1.ipynb)

For instance, I personally find Jupyter Notebooks many times more useful than traditional course notes. They're executable, they can be revisited and expanded upon, and they're actually used commercially... so you're killing many birds with one stone. It would be a very different world if the first thing you learned in high school was version control and Python, but it might actually be one worth living in.

<comment><USER19> Perfect is entirely subjective though... One software usage that I usually rally against is DI/IoC usage... most of the time it only adds indirection and complexity that hinder the development of an application and rarely help it. Time and again I see it used in conditions where there aren't multiple implementations of interfaces, and there isn't any testing at all. So it serves no purpose in these contexts, but is argued as "better".

That's just one piece, but one I've consistently come up against. There's also the more functional vs. classical (class oriented) approaches.

In any case you can come up with "perfect" is entirely subjective... and if it takes significantly longer, it's rarely the better option.. so long as every piece is modular enough that it can be ripped out, rewritten or replaced easily, and with that mindset in play... then it isn't even good enough.

</comment></comment></comment><comment><USER21> "He's skeptical of bootcamper applicants and is more inclined to hire four- year CS degree graduates, especially for the most in-demand positions: "full stack" developers who possess a range of coding skills. He compares the skillsets of bootcampers to performing auto repair on a car, versus the kind of large-scale, architectural skills of your standard CS degree holder, who can do everything from small repairs to making deep structural changes. "You emerge from a bootcamp fit to do an oil change, but not design a car," he said."

If employers prefer actual CS degrees, they should be pushing to make obtaining said degrees not require people to go into massive amounts of debt. The "gold rush" might be part of the issue here, but the cost of bootcamp certs vs degrees is not insignificant, as the article states.

<comment><USER22> Which mirrors, as far as I understand, the current state of affairs at US universities.

In many countries degrees are state sponsored and you don't need to debt yourself for life just to get a CS degree.

</comment></comment><comment><USER23> The best bootcamp curriculums, on paper, offer skill sets that college computer science/engineering schools would envy. I'm teaching some coding to university students now, some of who've gone through a couple quarters of the CS track, and am sometimes surprised when they have trouble with file I/O (opening text files, deserializing their contents) or lack experience with doing things like interacting with web service APIs or creating and running code outside of an IDE (if the CS track does the Java/C/C++ track). I'd be more shocked if that weren't _my_ experience as a computer engineering graduate (though web APIs and products like Github and Sublime Text were not around in my day)...I don't ever remember running code outside of Eclipse or Microsoft Studio...when I worked professionally, an intern had to show me how to use version control.

That said, 10-12 weeks of "intensive" coding is only as effective as what students bring to it. If you have a science background, and have less instinctive shock at dealing with "symbols", rigor in language, and scientific hypothesis (or rather, knowing how to recognize the difference between a system error and and error in your expectations)...you'll undoubtedly benefit from being thrown into an intense course of learning devops and software engineering best practices. If not? You may be able to know and memorize the steps of complicated processes...e.g. how to deploy a Rails app from scratch onto a production server...but you might be likely to only adopt the skillset described in the article as "the same skillset that can be easily outsourced or offshored."

10-12 weeks is a short time to learn the ropes and get all the moving pieces together...but it is almost certainly too short of time to build the right _mindset_ \-- the kind that can properly _debug_. I've noticed that top-tier bootcamps that promise 90% to 100% rates of employment at $80K+ also have stringent acceptance rates, such that the vast majority of students they're working with are STEM graduates looking to get into dev. The outcome is probably significantly different for non-STEM students looking to do the same.

<comment><USER24> That's my experience with a bootcamp as well. I had the right mindset from attending an engineering school, but no degree / not living in the SF Bay Area / not having the structure and organization to put myself out there.

The faculty was also concerned about succeeding through the acceptance filters - if they couldn't make less prepared students successful, then expanding in order to accept more students is a _really_ poor choice.

</comment></comment><comment><USER25> Bootcamps could be useful if students just use them to get their foot in the door at a truly entry level job that is basically a learning experience.

If you pay cash for a bootcamp and then work for $30,000 a year for 4 years on real projects, you would be a much more attractive job candidate than many people with an undergraduate CS degree, and you might even have some savings instead of massive debt.

The problem with "bootcamps" seems to be that some people think that they can short circuit the learning/experience process, which is just not possible. If willing to keep learning after the initial program, seems like it could be a good option.

</comment><comment><USER26> I attended a bootcamp and was fairly unimpressed by the curriculum and general quality of teaching. The absolute biggest advantage of a bootcamp was that it held my feet to the fire. For the most successful students, it was pretty clear that the bootcamp was (pedagogically at least) not responsible for their success, rather mostly providing a space and opportunity to the kind of group work that is difficult to do alone.

At the same time, people are very arrogant about their CS degrees. I was very successful as a student in a non-technical field and it's honestly amusing that a student in a giant CS department at a random public university would think that they have a competitive advantage against someone like me in the workplace simply because they have a technical degree. CS majors don't have a monopoly on smarts and 95% of enterprise software development is honestly not rocket science.

</comment><comment><USER27> The content of programming boot camps will eventually be moved to high school curriculums (I'm not sure if they currently do this in North America or not).

This will be a good thing. Students who were somewhat interested in programming (but not so much after delving into it) will have picked up some basic skills. Those who were very much interested in it will have to take less of a 'leap of faith' when it comes to a third level course.

</comment><comment><USER28> It's like anything in life. You have enthusiastic people that have this vision in their head about becoming a software developer and joining a startup.

When the realities hit and they realize that some of it is mentally taxing and boring work, they give up and quit.

I've been writing software for 20 years. I haven't gotten bored yet.

In any boring task, I can always learn something new that's interesting.

</comment><comment><USER29> What's with the assumption that you can only learn fundamental computer science in a classroom? If you go through a bootcamp and get a real job but never grow, that's not because you never got a CS degree, it's because you never took advantage of the Internet and a workplace full of practical problems and people who know more than you.

</comment><comment><USER30> It seems like something in the middle would be a good idea. Low cost, 2 year program, sufficient to cover some theory — but CS only, unlike community college associate degrees today. Do we really need to pay $10,000-30,000/year for gen. ed.?

<comment><USER31> I see little difference between this and a community college degree. Community college CS associates can teach you everything you need to keep yourself up to date on basic algorithms and enough theory to get you ready for industry. It has the added benefit of also transitioning into a 4yr degree if you need it. All for about $20k. Some of the best engineers I know took 2 years at CC and then moved to a 4 year degree.

<comment><USER32> It really depends on the quality of the CC and it's faculty. I was a Physics major attending a branch university that merged with the local community college. The Phys dept was fantastic, though a single focus. The CS department was a joke.

I learned more about software on my own and by working with some of the physicists who specialized in data analysis that I did in any of my CS classes. Many of the CS junior/senior level CS students couldn't do anything real-world. Couldn't hand-optimize code. They also couldn't get anywhere without a fancy IDE that did everything for them.

<comment><USER32> The faculty wasn't very good. Some of them may have been OK at implementing the things they taught, but most of them seemed to follow the "if you can't do, teach" philosophy.

Had an argument with one of the faculty members about the viability of Python as a useful language. They dismissed it as anything more useful than a scripting language, and likened it to an uppity BASH substitute. I argued that when used properly, it is a very dynamic language with many uses.

All in all, the faculty was all over the board. There was a particular faculty member who was fairly skilled with machine learning and NLP. Until he went on vacation, joined a cult, wiped the NLP research server, and went around campus spouting how the planets were going to align the following December and life as we know it would end.

</comment></comment></comment></comment><comment><USER33> As a former instructor at a bootcamp, there are some massive pros to the bootcamp model, but low quality programs will typically produce low quality producers.

Our program spent a considerable amount of time setting career expectations and preparing for interviews. High performing students would regularly find themselves landing mid-level software engineering jobs based on their interview performance, but we would try to maintain the expectation that an internship or a Jr dev position was really great. We saw some of our competitors get torn apart by past students who's expectations were higher than the reality of being a bootcamp grad. You can't tell someone they're going to make 100k/yr after 12 weeks of learning to code. People believe you, buy into your bullshit, and get burned.

With so many bootcamps popping up, consumers have a lot of resources and choices to find a good program. Low quality programs are slowly being edged out by the market. It's becoming more competitive, which I think is good.

Bootcamps aren't a silver bullet, but they help a lot of people get on a trajectory of a successful engineering career.

They also help with diversity, a lot of folks can't afford to get a CS degree, whether it's because they have an aversion to crippling debt, or they're a single mother who has to work full-time, or they just don't thrive in a university-style environment. I know a lot of really unique engineers that wouldn't have been able to have the careers they do without a bootcamp.

</comment><comment><USER34> I think a bootcamp is pretty useful for someone who has no experience in development and wants to obtain it in a relatively short time frame.

Teachers come to mind here. Many of them encounter a LOT of difficulty when they try to find jobs outside of education. Many, many companies completely discount their experience regardless of the length of time they've spent in the profession. This essentially means that teachers who've been in the system for a while and are becoming disillusioned with it are almost forced to restart their career; this is very painful for those that have many, many years in the game.

A bootcamp is a great way of getting the experience needed to restart their career into a well-paying industry (for now). Yeah, they don't learn Big O or discrete math, but they do learn how to write an app that will make their founders a LOT of money if it sells, and that's worth a lot.

BTW: A lot of high-falutin places (like Jane Street, which I worked at a few years ago) care much more about your experience and what you've done than where you came from (at least on the development side of the house, which pays handsomely compared to market; the trading side still heavily recruits from the Ivies). I remember them hiring a few Hacker School type devs, and if they survived our interview process, that means they HAD to be good.

</comment><comment><USER15> > They don't have the fundamentals to pick up a new set of tools and > technologies. Will they be bootcamping every 3 years?

Programming professionally requires constant learning even when your stack remains roughly the same. No one survives professionally on the strength of memorized rails g commands, and even if one did you'd have to be insane to want to.

I'm sure some people muddle through bootcamps who really don't have the desire or ability to always be learning, but, at least at quality schools, they're in the minority.

(Disclosure, I'm a bootcamp product who had previously been learning on my own)

</comment><comment><USER35> A tiny bit off topic, but I keep thinking there should be a "Software Development" degree separate from a "Computer Science" degree. Less (but some) math, more process and communication. Lots of code.

Bootstrap programs seem great as an accelerator for folks who are inclined to otherwise be self-taught (of which there are lots). Others would make great developers, want a little more time or standard academic environment, but don't want all the math.

<comment><USER36> A lot of schools have a Software Engineering degree, which is more development and process oriented. Not sure if it's exactly what you're looking for, but it's one alternative to a CS degree.

</comment></comment><comment><USER37> I went to a top 5 CS university and liked what I received(and it wasn't too expensive with instate tuition), but I honestly think my time would have been better spent with something like Pluralsight(& similar) + newsgroup of fellow learners moderated by mentors + Github.

I don't like the idea of boot camps unless there's some follow through but I think it's very important for there to be good alternatives to the 4-year CS degree path.

</comment><comment><USER38> Why wouldn't we want to train people to do the jobs that are being outsourced? Especially when the jobs that are being outsourced can be critical to a business and provide valuable experience to the workers that take them on? Gigs that I've heard are being commonly outsourced: machine learning (usually NLP), android development, QA (typically related to frontend)

</comment><comment><USER39> This isn't entirely new. When I graduated in the mid nineties a lot of friends that took non technical degrees (history, english, psychology) did temp work and got "certificate" at a university which helped them secure work. They ended up doing pretty well. Of course the tech economy was just starting to take off back then....

</comment><comment><USER40> This problem is more than a decade old [http://www.joelonsoftware.com/articles/ThePerilsofJavaSchool...](http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html) and doesn't seems the quality of those bootcamp improved meanwhile.

</comment><comment><USER41> I'd hire an enthusiastic person with an associate's degree in computer science before I hired someone from a coding bootcamp. Why not just get the AS?</comment>


"Do you wear pants": T. S. Eliot's first magazine - <AUTHOR> http://blogs.law.harvard.edu/houghton/2014/10/01/do-you-wear-pants-t-s-eliots-first-magazine/

<comment><USER2> I was hoping to be able to find them in digital form to peruse. I may have but I do not have the credentials to read them. If you are a student you might try [http://oasis.lib.harvard.edu/oasis/deliver/~hou02498](http://oasis.lib.harvard.edu/oasis/deliver/~hou02498)

<comment><USER3> [http://imgur.com/xUOT7ja](http://imgur.com/xUOT7ja)

Here are the first ten pages, I can post more if anyone wants me to.

</comment></comment><comment><USER4> Thematically related: [http://harvardmagazine.com/2012/01/tiny- brontes](http://harvardmagazine.com/2012/01/tiny-brontes)

</comment><comment><USER5> So he was an impresario before he was a poet. Unless, I suppose, there are even earlier books of verse.</comment>


Where is everyone going to live? - <AUTHOR> https://kev.inburke.com/kevin/where-is-everyone-going-to-live/?hn <comment><USER2> "Support new housing in your town. The State is adding bonuses for adding new housing units, but developers are choosing not to use them, for fear of community backlash."

Current landlords will always vote against expanding housing, b/c it will reduce their property values. High desirability of the bay area means that there's a huge incentive for them to do so.</comment>


Ask HN: How much legal work is involved to run a non-profit startup? - <AUTHOR>

I am planning on creating a web service where organizations caring for foster kids can post their specific needs
( something like, John's 7th birthday is on Sep 30 and he would like a skateboard with a product link to Amazon) and donors can pick a need and sponsor by paying the cost of the product + shipping. Once I receive payment, I will place the order on Amazon to be shipped to the kid's address and email receipt to the donor.
My questions:
What kind of a legal structure do I need for this?
Does it have to be (or better be) a non-profit?
How much legal work is involved upfront?
Once created, what other (legal and accounting work etc) is involved on an on-going basis?
Am I missing anything? <comment><USER2> Unless you're collecting donations or hiring help, defer organizational questions. Make the site a personal project; if it has legs then consider formal options -- and at that point you'll have advice from your community.

(For example, Wikipedia ran for 2 years as a side project of Jimmy Wales' for- profit company before the Wikimedia Foundation was created.)</comment>


Slashdot and Search Engine Patent - <AUTHOR> http://www.wired.com/politics/law/news/2007/06/location_patent <comment><AUTHOR> A patent company Geomas that claims to own location-based search is sewing Verizon. By the way he raised 20 million or so he claims.

This is related to search engines and is also on slashdot at <http://yro.slashdot.org/yro/07/06/12/196234.shtml>

</comment><comment><AUTHOR> By the way I'm looking for someone who is interested in a related search engine I'm developing.</comment>


jQuery Resizable Columns – a plugin for draggable table columns - <AUTHOR> http://dobtco.github.io/jquery-resizable-columns/ <comment><AUTHOR> Plugin author here -- my fault for not browser testing, but hey, that's what I'm posting it for in the first place.

Will investigate now :)

EDIT: Now fixed for all major browsers, as far as I can tell :P

<comment><USER2> Doesn't work.. Chrome on mac. Which browser did you actually tested it on? :P It doesn't look like a good idea to show it to the public before testing it on a few of the most popular browsers... It isn't so hard to do..

<comment><USER3> Don't be a dick. He was excited and posted it.

That said, the bar to creating plugins these days is much higher. It needs to be testable, and I'd implore the author to add unit tests.

Aside from that, it's quite a bit of page weight for this lil feature. I really would like to not have to add jQuery-ui and store.js to get it to work.

<comment><USER2> Well he said he posted it to find out in which browsers the plugin has issues. I just said it is a better idea to test it himself, that it isn't so hard to do. I don't see why I'm being a dick, and I spoke with respect. I'm tired of people overreacting over this kind of things, we don't need to be extremely polite all the time, it's tedious. That being said, I hope he gets it to work properly, seems like it could be a very useful plugin...

</comment></comment></comment></comment><comment><USER4> I found this online and seems to work fine (except Firefox a possible jquery- css bug)

[http://forums.devshed.com/javascript- development-115/using-j...](http://forums.devshed.com/javascript- development-115/using-javascript-to-resize-a-column-width-941177.html)

<comment><AUTHOR> Thanks for linking. There's still some features that .draggable() doesn't implement that I personally need in my plugin, but it looks like Draggable can take care of creating the handles for us. I'll investigate more later, thanks again!

</comment></comment><comment><USER5> Works fine for me, cool concept. You should think about what kind of interface affordance makes it clear that the columns are resizable. Also, I tried to resize them not using the table headers at first (just any old spot in the column) and was confused for a while.

</comment><comment><USER6> Firefox on Mac: No

Chrome and Safari on Mac: Yes

Bonus: IE8 on Win7 (I already had a VM open!): No

</comment><comment><USER7> Doesn't work in Chrome

<comment><USER8> Works for me. Are you pulling the headers?

</comment></comment><comment><USER9> Would be cool if you could double-click the column-border to have it auto-size to the contents in the column to the left of the border, comparable to excel.

</comment><comment><USER10> Works for me (Chrome 27, Windows). Only the headers's borders can be used as handle, or so it seems.

<comment><AUTHOR> Only the headers as handles seemed like the expected behavior, based on what I've seen from past plugins and such. Open to other ideas though: <https://github.com/dobtco/jquery-resizable-columns/issues>

</comment></comment><comment><USER11> I can resize columns but I cannot drag them with Chrome 28.

</comment><comment><USER12> Does not work for me on firefox, safari, chrome

<comment><USER12> Never mind works on firefox, chrome, and safari.

I thought the demo was dragging columns to reorder the layout. . .

</comment></comment><comment><USER13> Is this supposed to work on iPad (Safari)?

</comment><comment><USER14> Doesn't work in Chrome 27 on Win 7 x64.

</comment><comment><USER15> Not working ( Opera Next 15 OSX )

</comment><comment><USER16> Chrome 27 on Mac doesn't work.

</comment><comment><USER17> doesn't work for me, chrome on windows

</comment><comment><USER18> doesn't work for me, FF21.0, Windows

</comment><comment><USER19> doesnt work on safari for mac</comment>


Ask HN: How to get industry insights and meet people outside your bubble? - <AUTHOR> Ask HN: How to get industry insights? / Meet people outside your bubble?
I am very interested in the inner structure and dynamics of industries. In the last years I got to know a few industries through old friends and school buddies. Unfortunately the circle of my peers seems to narrow in on computer science from year to year and it becomes more rare to get such insights.
The industries can be as trivial as german christmas markets. For example: Are the stands organized business or individuals? How much revenue do you expect on a weekday? How much value is captured by the organizer of entire markets (probably the district/city?)? How much money is spent on marketing/advertisement?
Ultimately I am also looking for startup ideas: Where in the value chain are inefficiencies? For what reason are they there? (precursor to Peter Thiels famous "thing you know, that no one else knows/believes")
The answers to some of these questions are not publicly available. I spent the day today in the library and found that information in books on these topics is often outdated or nonexistent. This might be due to this type of information often being considered a company secret (e.g. revenue per day) or the data is never collected because of its perceived triviality (business size of christmas stands)
How do you approach these questions?
Ultimately this is a question on networking. How do you meet people from different industries outside of your cirlce? <comment><USER3> If you live in the Bay Area, hang out around Union Square in SF this week and strike up conversations with the people in suits hanging around in the hotel lobbies / coffee shops / bars. This week is the JP Morgan healthcare conference, the biggest healthcare investor conference in the world (with a strong emphasis on biopharma), and a great chance to learn more about biopharma

I personally believe that biopharma is the most interesting sector for entrepreneurs right now, and am currently writing a blog post to explain why (hope to publish it tonight or tomorrow). If interested, I can link it here once I'm finished.

One data point of interest: in the first four days of this year, biopharma startups raised a total of $1B (compare this to the $1.9B raised by AR/VR startups in all of 2016). this was across 16 companies. $673M of this was Series A rounds (in 9 companies)

<comment><USER4> I'm also interested, could you please share the link to your site?

<comment><USER3> Link is here: [http://newbio.tech/blog.html](http://newbio.tech/blog.html)

Also just submitted to HN

</comment></comment></comment><comment><USER5> I've done this for several industries now:

Get out of the library and start talking to people in that field. It will take some time and have some slow starts, but the only way you learn about an industries inefficiencies and its opportunities is by hitting the pavement.

You'll need some explanation "story" to help people understand your intentions. I am upfront and say I am interested in their space personally, and I'm looking for business opportunities - but I Don't Know What I Don't Know, and therefore I'm in listening mode.

With your example: Go to the stall owners, and ask if you can talk when they're not busy. Ask little, listen a lot. Stand there for hours and observe the different stalls. Take notes.

Map out the different players, and ask to talk to them. Eventually you'll get connected to events that they attend, and they'll also pass you along to their peers. Ask what conferences they attend and so on.

<comment><AUTHOR> What is your experience, are people willing to talk for extended time with strangers about their businesses? They will definitely know ballpark numbers about everything, that they might be willing to share.

<comment><USER5> Yes, most people are definitely willing to talk, IF you show that you value their time, and give them some context about why you're asking.

Show that you value their time by setting the space upfront, and when you're 10 minutes away, tell them "We have 10 minutes left, and I want to respect your time...". They'll decide to keep rambling or not.

Re: numbers, you can also preface with "I'm not looking to know anything confidential, but since I don't know your industry, as we talk, it would be great to have numbers with some context.

Here is my verbatim intro for learning more about cities+construction:

"Hi! I'm a technologist who left the tech world, and I'm focusing on how I can help cities. Particularly helping cities make better decisions with Data.

To prevent building something that doesn't help cities, I'm listening to key people in your space and understanding the problems they face. I'd really like to get an understanding of your role and the issues you face, particularly around the permitting process, and code compliance.

The conversation is less than an hour, and I can meet you in person, or over the phone. The questions are lightweight, no quizzes here. :)"

\- nic

</comment></comment></comment><comment><USER6> Hang around with the parents of your child's classmates. You always run into them, and they live near you. Smalltalk naturally tends towards what everyone does for a living.

<comment><USER7> That only works if your kid is in a very expensive private school, for the 1% right? Most common people have no industry insights, all they know is size of their paycheck and how to avoid getting fired.

<comment><USER8> How many "common people" do you know? In my experience, many love to complain about all the little inefficiencies at their jobs, company policies that don't make sense in the field but that are officially mandated anyways, waste where the same work has to be done multiple times, departments that are not allowed to directly talk to each other, and so on. Then there is the general awareness of things in their industry (like the size of a German Christmas market business).

Of course this knowledge is not hard to get. You just need to do their job 8 hours a day for half a year or so ... or you could have a quick chat where they get to vent about their job and you learn something new. (You don't even need to have kids for that to work.)

</comment></comment></comment><comment><USER9> Government's statistics offices - can provide lots of data. Chambers of commerce as well, obvious choice would be trend forecasting companies - <USER2> they will charge.

Two of the UK's biggest small business communities are joining forces to create the first data-led business support platform that will give small British firms access to affordable external expertise instantly. - more on the subject here -> [https://www.enterprisenation.com/blog/posts/icaew-and- enterp...](https://www.enterprisenation.com/blog/posts/icaew-and-enterprise- nation-to-build-uk-s-first-data-led-business-platform)

To individually check companies revenues per year you can access all the data for the UK companies via [https://beta.companieshouse.gov.uk/](https://beta.companieshouse.gov.uk/) (It's free, you just need to know the name of the company or the company director's name.

Hope it helps.

K

</comment><comment><USER3> if your industry of interest is technical, one way I've found to get good insights and connections is to write the authors of papers you find interesting and ask to learn more. showing appreciation and respect for their work, as well as letting your genuine interest show through, helps, as does starting a dialogue by providing some info that might be of interest to the author. influential researchers are often networking "hubs" and can often connect you with all sorts of other people in the industry

on the other side of the industry spectrum, my girlfriend made candles as a hobby for a time, and we did market research by walking into random stores and talking to the managers. Was a fun way to spend an afternoon. Interestingly, we found that smoke shop owners were among the most interested customers

</comment><comment><USER10> If you have a specific industry in mind, attend a trade show or conference about that industry. For you Christmas booth example, you could attend one of the many "gift shop" trade shows.

<comment><AUTHOR> This sounds like a good idea. What I see as a difficulty is that it might be harder to strike up a conversation or make lasting connections when you are not the normal visitor. "Hi I am here because I am curious" is probably quite unexpected. Would you pose as a potential customer buying goods, or be direct in your curiosity?

<comment><USER5> Be upfront about your curiosity, otherwise it falls apart pretty quickly if you have a deeper conversation :) What you want to focus on is learning about the space and the players, not pitching them a solution.

I tell people that I am interested in the space, and am in listening mode —> and what do they do? Tell me more....etc etc

</comment></comment></comment><comment><USER11> First, find a space experiencing accelerating growth. 3D Bioprinting is a perfect example with CAGR of 25%+. It's an earthquake. A tectonic shakeup in the way healthcare is provided. And there will be gargantuan pain points.

Second, compile a master list of all major players. Any publicly available email contacts, social media, phone. Span journalists, researchers, executives. The sector is defined by them.

Third, begin cold emailing. But it must be genuinely personal. And, the absolute key, you must bring value. Don't merely take from someone else's time, hard effort and expertise.

Providing value, while gaining from their sector wisdom, is a form of barter. You must have your own skill set to bring to the table.

For example, there is demand right now for WebGL / Unity3D / VR talent. Next gen user experiences and interfaces. Have a demo ready to show. It doesn't even have to be mind-blowing. Just enough to start the conversation.

Best of luck!

</comment><comment><USER12> I had a similar goal few years ago and decided to move countries and take up a job in a new industry.

It didn't quite work out for me in that industry at the end but I certainly did meet people outside by bubble + learn about how the industry works in a fairly detailed manner.

This is not the easiest thing to do, but I would highly recommend it if you have the chance!

</comment><comment><USER13> I use social media. Specifically Twitter. I'm doing a talk about this very same thing later this month. If you ping me on Twitter or email I'll let you know when it gets published.

<comment><USER13> I'm getting a lot of emails from people interested in the talk and can't possibly remember to let everyone know when it comes out. Please follow me on Twitter and stay posted there. Take the opportunity to create an account there if you don't have one.

Thank you for the support :-)

</comment></comment><comment><USER14> To get true industry insights, networking from outside the industry is often insufficient and can potentially lead you down a path of failure and infant mortality.

Yes, by networking you can get people to tell you things, but talk is cheap. People will tell you anything when they have no skin in the game, and you will be tempted to execute one someone's emotional rambles (or multiple persons' correlated rambles, which is even more convincing but no more correct) which they have not thought through all the way. If you're going to build a business, you need higher quality information than that.

Also without the right context in the target industry (or a similar industry), you won't really grasp the underlying nature of the inefficiencies (often a multifaceted quantity), which means there's a high probability you will falter in your execution. You're going be tempted to solve problems that people claim they have, but if you've ever worked in consulting, you will know that the key is not to solve the problem people SAY THEY HAVE, but the problem THEY ACTUALLY HAVE, which is often a different thing. This is consulting 101, and holds true for pretty much any industry.

In order to understand the real problem, you need to be in a position where you have to have had experienced the pain points somewhat first hand.

(The following applies to the more complex industries that I'm familiar with; the Christmas market industry is not as complex and not all of this may be applicable)

1) The most effective way, but not an easy way, is to work in your industry of interest for a year or two in a position that will expose you to data and people in the field. Typically this means data analyst or internal consultant. This way you will get an insider's view and gain street cred (do not underestimate how important this street cred is) if you should decide to build a product to sell to that industry.

[Too often I am approached by enterprise sales people who don't have an appreciation for my industry and try to sell me software to solve for problems they think I have but don't (e.g. anomaly detection? IoT? in my industry, we've been doing that for the past 3 decades under different guises).]

2) If you don't have that luxury, you can work for a consulting company that consults for the industry of interest. That way you will get a cross- organizational view of problems that are common in said industry. This also gains you some street cred, but not as much as (1).

3) The other option, also hard, is to either hire someone from the target industry or have someone who has a track record in said industry mentor you over a period of time. You need that repeated exposure to truly grasp the context. Elon Musk's companies, if I read his biography correctly, tend to take this approach.

If possible, make sure this person has skin in the game in your eventual organization, so this way their goals are aligned with yours. If these conditions apply, then you can apply first-principles thinking, but not before. Quality of information (experience) is paramount. I hate cliches, but be skeptical. Trust but verify.

</comment><comment><USER15> You know what all those other industries have in common? They all use IT to one degree or another. Go work in one.

<comment><AUTHOR> I already do that, but if you are in regular employment it vastly limits the number of industries you get in contact with to < 1 / year.

<comment><USER15> If you're looking for the level of insight that will enable you to arrive at a viable startup idea, you need quality not quantity. Decide on an industry you think will grow fast over the next decade and go learn it in depth. Flitting through networking events and browsing social media is how you arrive at failed startup ideas not viable ones.

</comment></comment></comment><comment><USER16> Mainman, UPS and Fedex. Are you delivering much of X?</comment>


Half Of Us May Soon Be Freelancers: 6 Compelling Reasons Why - <AUTHOR> https://www.linkedin.com/today/post/article/20130808135707-7374576-half-of-us-may-soon-be-freelancers-6-compelling-reasons-why?trk=tod-home-art-large_0 <comment><USER2> I believe it. I also believe a larger percentage of people will have their "own businesses" as opposed to having a "job" or even being a simple freelancer, although many of these "businesses" will probably single-person consulting/freelancing businesses.</comment>


The End of the Desktop? - <AUTHOR> https://www.computerworld.com/article/3384713/the-end-of-the-desktop.html <comment><USER2> I expected this to be about smartphones and tablets, not the resurgence of dumb terminals.

Microsoft Virtual Desktop Google's Stadia (both sited in the article) are both indicators of something big happening in the desktop computing market.

I suppose it makes sense. Plenty of us use elastic resources to power our web applications; why pay for a massive server when your typical use case requires much less power, and you can easily scale up with a few mouse clicks?

That concept translates to the desktop, as well. I just dropped a few thousand dollars on a new development machine, but I don't need that same power when I'm screwing around on Reddit.

Of course the sticking point will be whether or not it's actually cheaper to use a scalable remote desktop than it would be to just buy better hardware. Since the obvious goal of this is to ring out more and steadier profits, I strongly doubt this will be the case.

</comment><comment><USER3> > Well, maybe we'll still have Linux... None of the major Linux companies — > Canonical, Red Hat, SUSE — makes the desktop a priority anymore. The Linux > desktop will continue on, but it will keep going in the same way it is now: > a platform only for power-using enthusiasts.

I'm a "power-using enthusiast" because I use Gnome3? Gee, thanks... but wasn't desktop a thing despite (in spite) the so-called "Major Companies". Canonical for one made "Unity" which was about as painful as a Rubix-cube covered in shards of glass. It couldn't have died sooner. I mean that what you get when a "Major" company tries to dominate the FOSS space - layoffs and an alienated base. Red Hat was corporate from the outset, they never pretended to otherwise, which is probably why they are actually successful and not using millions of person fortune to put on a show while loosing boku bucks in the background and laying off employees.

In short, desktop is not dead. FOSS people love desktops. Microsoft doesn't dictate anything anymore.

<comment><USER4> > FOSS people love desktops

I disagree. FOSS people love webapps, machine learning, and other big- computing stuff on the whole. Hardly any work is being done towards personal "small-computing" and, frankly, hardly any ever was. I can guess at a bunch of reasons why, but it mostly comes down to the problem space just not being interesting to very many people with the skill set to do anything about it.

Big and Small computing: [https://hackernoon.com/big-and-small- computing-73dc49901b9a](https://hackernoon.com/big-and-small- computing-73dc49901b9a)

<comment><USER5> Web apps have several advantages over the desktop, but one of them is that the web browser provides an abstraction layer over the GUI crap you'd otherwise have to write and the cross-platform support you'd otherwise have to worry about. Not only does this reduce the effort required, it also means you don't have to learn a whole new ecosystem.

<comment> F-0X Several?

Besides UI programming and not requiring users to install anything, what other advantages are there?

<comment><USER5> UI programming and not requiring users to install anything are pretty big. You also get automatic syncing across devices, which is nice for things like RSS feed readers.

Don't underestimate the importance of the abstraction layer either! There's a _lot_ of crap it's removing from the equation. You don't have to worry about cross-platform support, installing prerequisites, trying to deal with the program insisting that it needs MXYZPT32.DLL and can't find it when you go to run it...

The downside is that it's feudalism. But, hey, under feudalism, you don't have to defend your own land!

There are downsides to outsourcing defense of your land to the local lord, of course. The lord can force updates and sell your likes to the Rooskies, and the profitable enterprise that enables him to defend your land is the industrial-scale farming of human eyeballs. Maybe it'd be better if 7-11 carried Snow Crash sidecar nukes - i.e. if there were decentralized, open- source platforms that could do all this stuff - but I don't think they do.

Yet. Growth mindset.</comment></comment></comment></comment></comment>


PicToBrick is a software to generate mosaics from digital pictures - <AUTHOR> http://www.pictobrick.de/en/pictobrick.shtml <comment><USER2> I made a Jupyter notebook app to create a 3d model of a brick nameplate.

I used it to learn Python, Pandas and programmatically created 3d Models. I printed nameplates for my team at work and for each of my kids.

[https://github.com/hwswfun/words_to_bricks](https://github.com/hwswfun/words_to_bricks)

</comment><comment><USER3> More like create pixel art with dithering effect from normal digital photos.

<comment><USER4> This is a tool for building LEGO mosaics.

<comment><USER3> There are no any LEGO parts on resulted output - flat 2D rectangle with 1:1 sides proportion rasterization with dithering is exactly pixel art technique.

Also, LEGO parts are 3D models (not flat 2D) & not limited to 1x1 tile or plate.</comment></comment></comment>


Show HN: CodeReview – An iPad app for reviewing, editing, merging pull requests - <AUTHOR> http://codereview.io

<comment><USER2> If this was free + IAP I would install it. Maybe the free version supports 1 repo or (following the GitHub model) unlimited public repos.

I think $20 is a great price point (honestly I think you have room to grow) but you need to give people an opportunity to experience the benefits of the product.

<comment><AUTHOR> Yeah, I actually joked about doing a version that would randomly insert _meow_ in your comments (with increasing density the more you use it) for free.

With WWDC looming there is a chance trials might get announced. If not I'll probably do something.

<comment><USER3> I think randomly added 'meow' _and other animal noises_ would be pretty funny. Might actually be a disincentive to paying for those who can laugh a little

</comment></comment></comment><comment><USER4> I don't mean to be abrasive, but landing page could not be less informative. I'm a full-time developer and a big believer in code review, but I have no interest in downloading the app based on the website -- I don't know what it is, really. I think you are going to convert a lot better by actually explaining why I should download the app, rather than just providing a link. Why is this better than current tools? Does this integrate with Github? Bitbucket?

<comment><AUTHOR> Yeah I agree. I'm going to put more effort into the site eventually. In the short term there are details on [http://blog.codereview.io](http://blog.codereview.io) and on the actual App Store page ( [http://tinyurl.com/codereview- appstore](http://tinyurl.com/codereview-appstore) ).

To directly answer your questions: it is GitHub only. I see the main benefit vs other tools is a streamlined and focused workflow for reviewing and collaborating on pull requests. Also the iPad form factor is a nice change of pace vs reviewing on your computer.

</comment></comment><comment><AUTHOR> I've always found code review to be incredibly valuable. I remember a long time ago reading that NASA studied a bunch of different development methodologies and found code review to be the most effective at reducing defects. However, we already sit in front of our computers too much, and its hard to shift mindsets from coding to editing.

The iPad seemed like a good alternative to reviewing code on your computer. You can get away from your desk, and change your mindset.

<comment><USER5> There's an interesting paper from a few years back looking at software defect incidence in Windows Vista and trying to figure out what models did best at predicting error-prone modules.

Turns out, in that case, organizational structure had better precision and recall than any of five other models (code churn, cycolmatic complexity, test coverage, etc.)

"The Influence of Organizational Structure on Software Quality: An Empirical Case Study" \-- [http://research.microsoft.com/pubs/70535/tr-2008-11.pdf](http://research.microsoft.com/pubs/70535/tr-2008-11.pdf)

<comment><AUTHOR> This is awesome. Thanks. Love this kind of stuff. If you are interested there is a book "Making Software: What Really Works, and Why We Believe It" that takes a scientific approach to evaluating software practices.

</comment></comment></comment><comment><USER6> I've been using this since the beta. The entire code of my startup is on GitHub so it really helps to be able to monitor and triage incoming changes quickly.

The app itself is still missing some things for my particular workflow: I'd like to have visibility on incoming code that's not part of pull requests. Like simple pushes to branches.

I'd also have the possibility to unsubscribe from repos directly from the app.

</comment><comment><USER7> I've been playing around with it for few minutes and it looks promising. Few things I think it would be nice for the app to have:

\- Comment preview.

\- Symbol row on top of keyboard (such as ` and Markdown symbols.)

\- Font selection for code view.

\- Some indication of which line is currently being tapped in code view.

Also, I couldn't get the app to list pull requests from a repo with Issues disabled. A bug, maybe?

<comment><AUTHOR> Thanks sirn. The top two things are on the roadmap. Especially preview.

Regarding font selection, which fonts would you like? I'll have to bundle the fonts with the app, so I'd like to hear what people are into. Right now it uses Meslo for source and Avenir everywhere else.

GitHub recently fixed the unable to fetch PR updates when issues are disabled thing. You aren't using GitHub Enterprise are you?

<comment><USER7> Source Code Pro and Inconsolata-dz would be nice. :-)

I'm definitely not using GitHub Enterprise. From what I've seen in the connection log, pull requests from repo with issues disabled are completely missing.

Also thanks for the app! I can now finally do a code review on a toilet. Yay!

<comment><AUTHOR> OK, I'll definitely look into it. They literally just enabled this a couple weeks ago, so I didn't get to test much.

If you want, feel free to email me email@example.com with any other issues or details on this one (especially if its a public repo).

</comment></comment></comment></comment><comment><USER8> I'd like to suggest a little more information about what CodeReview is.

The web page doesn't give me any real hints. The App Store listing only shows in the title that it's a GitHub-only thing.

I don't suggest overloading with unnecessary detail, but it would be nice to know something before spending $20.

</comment><comment><USER9> Perhaps double the size of the screenshot, so people can see the app features more clearly?

<comment><AUTHOR> Yeah, part of the problem is they are all retina. Lots more screenshots here: [http://tinyurl.com/codereview-appstore](http://tinyurl.com/codereview- appstore) and on the blog: [http://blog.codereview.io](http://blog.codereview.io)

<comment><USER10> Probably more important to have that on the product page, yeah? I looked at the landing page, couldn't see what was going and had a nagging animation to install the app before being given sufficient information on what it was. Not a great experience.

</comment></comment></comment><comment><USER11> > You must be at least 17 years old to download this app.

Why is a code review app rated as 17+?

<comment><AUTHOR> Basically because you can access external web content. Either that or maybe I clicked the wrong box somewhere, but I'm pretty sure all apps that let you browse the web get the 17+

<comment><USER12> Interesting. It looks like "Unrestricted Web Access" is what causes it. Chrome is in the same boat, but for some reason Facebook and Twitter don't have the same requirements even though they allow access to web content via links.

I'm not sure if this would work for your app, but maybe you could restrict access to just github.com? I'd also second a video or something more insightful on the landing page of the app's website.

</comment></comment></comment><comment><USER13> Add an about page, more screenshots, a bit about the team. Ya know, salesmanship.

</comment><comment><USER14> Does this only support GitHub? Any plans to add BitBucket?

<comment><AUTHOR> Right now its GitHub. Definitely BitBucket is something I'll look at in the future. Internally everything is abstracted away to support different backends. But I want to make sure I totally nail GitHub before taking on another provider.</comment></comment>